if(!I18n) {
var I18n = {
trans: function(s) { return s; }
};
}
var Message = function() {
function getLoading(msg){
if(!msg){
msg = '姝e湪鍔犺浇';
}
return '
'
};
var uiloadingCss = ''
var _MessageTpl = '';
var dynamicMessageHideTimeout = null;
var loadingInfoId = null;
function showDynamicMessage(target, msg, isSuccess, waitseconds,position) {
if(!document.getElementById('dynamic-message-div')) {
var _dialogInput = '';
jQuery('body').append(_dialogInput);
}
if(isSuccess === true) {
jQuery('#dynamic-message-div').attr('class', 'alert alert-success').css('background-image', '');
} else if(isSuccess === false){
jQuery('#dynamic-message-div').attr('class', 'alert alert-error').css('background-image', '');
} else{
jQuery('#dynamic-message-div').attr('class', 'alert alert-success').css('background-image', 'none');
}
jQuery('#dynamic-message-div').html(msg);
var left, top;
if(position) {
left = position.left ? position.left : 0;
top = position.top ? position.top : 0;
}else{
if(jQuery(target).length == 0) {
return;
}
var position = jQuery(target).offset();
left = position.left + jQuery(target).width() + 5;
top = position.top + jQuery(target).height() + 5;
var messageWidth = jQuery('#dynamic-message-div').outerWidth();
var messageHeight = jQuery('#dynamic-message-div').height();
//瓒呰繃Body鐨勬樉绀鸿寖鍥达紝鍒欐樉绀哄湪宸︿晶
if((left + messageWidth) > jQuery('body').width()) {
left = left - messageWidth;
}else{
left = position.left;
}
//濡傛灉澶潬涓嬬殑璇濆垯鏄剧ず鍦ㄤ笂闈
if((top + messageHeight) > jQuery('body').height()) {
top = top - messageHeight - 10;
}
}
jQuery('#dynamic-message-div').css('left', left + 'px').css('top', top + 'px');
jQuery('#dynamic-message-div').show();
if(dynamicMessageHideTimeout) {
clearTimeout(dynamicMessageHideTimeout);
}
var waitmilliseconds = (waitseconds || 2) * 1000;
if (waitmilliseconds > 0) {
dynamicMessageHideTimeout = setTimeout(function(){
document.getElementById('dynamic-message-div').style.display = 'none';
}, waitmilliseconds);
}
}
return {
/** 鏄剧ず鎴愬姛淇℃伅 */
success : function(target, msg, seconds,position) {
showDynamicMessage(target, msg, true, seconds,position);
},
error : function(target, msg, seconds, isclose,position) {
if(isclose) {
msg = 'X
' + msg;
}
showDynamicMessage(target, msg, false, seconds,position);
},
waiting : function(targetid, msg){
if(arguments.length == 1) {
//涓儴鏄剧ず杞藉叆淇℃伅
// loadingInfoId = Message.info({
// text: '\t' + arguments[0],
// layout: 'center',
// autoClose: false,
// showCloseBtn: false,
// closeOnSelfClick: false,
// modal: true
// });
// jQuery('#' + loadingInfoId + ' .noty_message').attr('style', 'padding-left:15px !important;background-image: none');
jQuery('body').append(getLoading(arguments[0]))
jQuery('head').append(uiloadingCss)
}else{
showDynamicMessage(targetid, '\t' + msg, null, -1);
}
},
hide : function(){
if(document.getElementById('ui-loading-wrap-div')){
document.getElementById('ui-loading-wrap-div').style.display = 'none';
jQuery('#ui-loading-wrap-div').remove()
jQuery('head').children('#addCss').remove()
}
if (document.getElementById('dynamic-message-div')) {
document.getElementById('dynamic-message-div').style.display = 'none';
}
if(loadingInfoId) {
jQuery.noty.close(loadingInfoId);
loadingInfoId = null;
}
},
/** 鏇存柊innerhtml鐨勫唴瀹规潵鏄剧ず绛夊緟 */
innerwaiting : function(targetid, msg){
document.getElementById(targetid).style.display = '';
document.getElementById(targetid).innerHTML = '\t' + I18n.trans(msg);
},
info: function(options) {
if(typeof options == 'string') {
options = { text: options };
}
var type = 'information';
if(options.error) {
type = 'error';
}else if(options.warning) {
type = 'alert';
}else if(options.success) {
type = 'success';
}
if(options.autoClose === false) {
options.timeout = 0;
}else if(typeof options.timeout == 'undefined'){
//榛樿5绉掑悗娑堝け
options.timeout = 5;
}
jQuery.noty.defaultOptions.theme = 'noty_theme_twitter';
jQuery.noty.defaultOptions.template = _MessageTpl;
return noty({
text: I18n.trans(options.text),
layout: options.layout || 'topRight',
type: type,
modal: options.modal,
timeout: options.timeout * 1000,
closeButton: (false == options.showCloseBtn? false : true),
closeOnSelfClick: (false == options.closeOnSelfClick? false : true),
force: true
});
},
/**
* 纭瀵硅瘽妗
* @param msg 鎻愮ず淇℃伅
* @param options
* 濡傛灉鏄痜unction鐨勮瘽锛屽垯榛樿鏈変袱涓寜閽細纭畾鍜屽叧闂紝鈥滅‘瀹氣€濇墽琛岃繖涓嚱鏁帮紱
* 濡傛灉鏄疧bject鐨勮瘽锛屾敮鎸佷互涓嬪睘鎬ч厤缃細
* 1銆乼itle 瀵硅瘽妗嗘爣棰
* 2銆乥uttons 瀵硅瘽妗嗘寜閽暟缁勶紝鍏冪礌鏍煎紡锛
* { text: '鎸夐挳鏂囨湰', 'class': '鏍峰紡', 'click': 鐐瑰嚮浜嬩欢 }
* @returns
*/
confirm: function(msg, options) {
options = options || {};
if(typeof options == 'function') {
var func = options;
options = {};
options.buttons = [
{
'text': I18n.trans('纭畾'),
'class': 'btn-primary',
'click': function() {
func();
}
},
{
'text': I18n.trans('鍙栨秷'),
'click': function() {
}
}
];
}
options.title = I18n.trans(options.title || '纭淇℃伅');
var tipId = 'config_tip_div' + new Date().getTime();
function closeDialog(tipid){
jQuery("#"+tipid).dialog( "close" );
jQuery('#'+tipid).remove();
jQuery('html, body').removeClass('overflow-h');
}
if(jQuery('#'+tipId).length <=0 ){
jQuery('').attr({'id':tipId,style:'display:none;'}).appendTo('body');
}
var buttons = [];
if(options.buttons){
for(var i = 0; i < options.buttons.length; i++) {
buttons[i] = jQuery.extend({}, options.buttons[i]);
buttons[i].click = function(index) {
return function(){
if(typeof options.buttons[index].click == 'function')options.buttons[index].click();
closeDialog(tipId);
};
}(i);
}
}else{
buttons = [
{
text: I18n.trans('纭畾'),
'class': 'btn-primary',
callback: function() {
closeDialog(tipId);
}
}
];
}
var dialogOptions = jQuery.extend({
modal: true,
buttons: buttons,
dialogClass: 'ui-dialog-confirm'
}, options.dialogOption || {});
jQuery('html, body').addClass('overflow-h');
//jQuery("#"+tipId).html('').dialog(dialogOptions);
//鎻愮ず妗嗕笉鍔燼lert-question灏忓浘鏍囥€
jQuery("#"+tipId).html('').dialog(dialogOptions);
//鍒犻櫎瀹炰緥锛岄伩鍏峼-index璁$畻鍑洪敊
jQuery('.ui-dialog-confirm').find('.ui-dialog-titlebar-close').one('click', function(e){
jQuery("#"+tipId).parent().remove().end().remove();
jQuery('html, body').removeClass('overflow-h');
return false;
});
// 闅愯棌鎺 confirm dialog x
jQuery("#" + tipId).siblings('.ui-dialog-titlebar').find('.ui-dialog-titlebar-close').hide();
return jQuery("#"+tipId);
},
//鎻愪氦鍓嶇殑涓€浜涙搷浣滐紝闃叉澶氭鎻愪氦
submitBefore: function(options) {
options = options || {};
if(options.btn) {
jQuery(options.btn).attr('disabled', 'disabled');
}
if(!options.btn || options.modal) {
Message.waiting(I18n.trans(options.msg || '姝e湪鎻愪氦...'))
}else if(jQuery(options.btn).length >= 1) {
Message.waiting(jQuery(options.btn)[0], I18n.trans(options.msg || '姝e湪鎻愪氦...'))
}
},
//鎻愪氦鍚庣殑鎭㈠鎿嶄綔
submitAfter: function(options) {
options = options || {};
if(options.btn) {
jQuery(options.btn).removeAttr('disabled');
}
Message.hide();
},
showPageLoading: function(msg) {
Message.waiting(I18n.trans('姝e湪鍔犺浇'));
},
hidePageLoading: function() {
Message.hide();
}
};
}();