You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
211 lines
6.0 KiB
211 lines
6.0 KiB
define(['jquery'], function($) {
|
|
var tip = {};
|
|
tip.lang = {
|
|
"success": "操作成功",
|
|
"error": "操作失败",
|
|
"exception": "网络异常",
|
|
"processing": "处理中..."
|
|
};
|
|
$('#tip-msgbox').remove();
|
|
$("body", top.window.document).append('<div id="tip-msgbox" class="msgbox"></div>');
|
|
window.msgbox = $("#tip-msgbox", top.window.document);
|
|
tip.confirm = function(msg, callback, cancel_callback) {
|
|
msg = msg.replace(/</g, "<");
|
|
msg = msg.replace(/>/g, ">");
|
|
myrequire(['jquery.confirm'], function() {
|
|
$.confirm({
|
|
title: '提示',
|
|
content: msg,
|
|
confirmButtonClass: 'btn-primary',
|
|
cancelButtonClass: 'btn-default',
|
|
confirmButton: '确 定',
|
|
cancelButton: '取 消',
|
|
animation: 'top',
|
|
confirm: function() {
|
|
if (callback && typeof(callback) == 'function') {
|
|
callback()
|
|
}
|
|
},
|
|
cancel: function() {
|
|
if (cancel_callback && typeof(cancel_callback) == 'function') {
|
|
cancel_callback()
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}, tip.prompt = function(msg, options, password) {
|
|
var callback = null;
|
|
var maxlength = null;
|
|
var required = false;
|
|
var default_value = '';
|
|
var input_type = password ? 'password' : 'text';
|
|
if (typeof options == 'function') {
|
|
callback = options
|
|
} else if (typeof options == 'object') {
|
|
maxlength = options.maxlength || null;
|
|
callback = options.callback && typeof options.callback == 'function' ? options.callback : null;
|
|
required = options.required || false;
|
|
default_value = options.default_value || '';
|
|
}
|
|
var inputid = 'prompt_' + (+new Date());
|
|
var max = maxlength ? " maxlength='" + maxlength + "' " : '';
|
|
myrequire(['jquery.confirm'], function() {
|
|
$.alert({
|
|
title: '提示',
|
|
content: "<p>" + msg + "</p><p><input value='"+default_value+"' id='" + inputid + "' type='" + input_type + "' class='form-control' name='confirm' placeholder='" + msg + "' " + max + " /></p>",
|
|
confirmButtonClass: 'btn-primary',
|
|
confirmButton: '确 定',
|
|
closeIcon: true,
|
|
animation: 'top',
|
|
keyboardEnabled: true,
|
|
onOpen: function() {
|
|
setTimeout(function() {
|
|
$('#' + inputid).focus()
|
|
}, 100)
|
|
},
|
|
confirm: function() {
|
|
var value = $('#' + inputid).val();
|
|
if ($.trim(value) == '' && required) {
|
|
$('#' + inputid).focus();
|
|
return false
|
|
}
|
|
if (callback && typeof(callback) == 'function') {
|
|
callback(value)
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}, tip.promptlive = function(msg, options, password) {
|
|
var callback = null;
|
|
var maxlength = null;
|
|
var required = false;
|
|
var input_type = password ? 'password' : 'text';
|
|
if (typeof options == 'function') {
|
|
callback = options
|
|
} else if (typeof options == 'object') {
|
|
maxlength = options.maxlength || null;
|
|
callback = options.callback && typeof options.callback == 'function' ? options.callback : null;
|
|
required = options.required || false
|
|
}
|
|
var inputid = 'prompt_' + (+new Date());
|
|
var max = maxlength ? " maxlength='" + maxlength + "' " : '';
|
|
myrequire(['jquery.confirm'], function() {
|
|
$.alert({
|
|
title: '提示',
|
|
content: "<p>" + msg + "</p><p><input id='" + inputid + "' type='" + input_type + "' class='form-control' name='confirm' placeholder='' " + max + " /></p>",
|
|
confirmButtonClass: 'btn-primary',
|
|
confirmButton: '确 定',
|
|
closeIcon: true,
|
|
animation: 'top',
|
|
keyboardEnabled: true,
|
|
onOpen: function() {
|
|
setTimeout(function() {
|
|
$('#' + inputid).focus()
|
|
}, 100)
|
|
},
|
|
confirm: function() {
|
|
var value = $('#' + inputid).val();
|
|
if ($.trim(value) == '' && required) {
|
|
$('#' + inputid).focus();
|
|
return false
|
|
}
|
|
if (callback && typeof(callback) == 'function') {
|
|
callback(value);
|
|
return false
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}, tip.alert = function(msg, callback) {
|
|
msg = msg.replace(/</g, "<");
|
|
msg = msg.replace(/>/g, ">");
|
|
myrequire(['jquery.confirm'], function() {
|
|
$.alert({
|
|
title: '提示',
|
|
content: msg,
|
|
confirmButtonClass: 'btn-primary',
|
|
confirmButton: '确 定',
|
|
animation: 'top',
|
|
confirm: function() {
|
|
if (callback && typeof(callback) == 'function') {
|
|
callback()
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}, 1;
|
|
var Notify = function(element, options) {
|
|
this.$element = $(element);
|
|
this.options = $.extend({}, $.fn.notify.defaults, options);
|
|
var cls = this.options.type ? "msg-" + this.options.type : "msg-success";
|
|
var $note = '<span class="msg ' + cls + '">' + this.options.message + '</span>';
|
|
this.$element.html($note);
|
|
return this
|
|
};
|
|
Notify.prototype.show = function() {
|
|
this.$element.addClass('in'), this.$element.append(this.$note);
|
|
var autoClose = this.options.autoClose || true;
|
|
if (autoClose) {
|
|
var self = this;
|
|
setTimeout(function() {
|
|
self.close()
|
|
}, this.options.delay || 2000)
|
|
}
|
|
}, Notify.prototype.close = function() {
|
|
var self = this;
|
|
self.$element.removeClass('in').transitionEnd(function() {
|
|
self.$element.empty();
|
|
if (self.options.onClosed) {
|
|
self.options.onClosed(self)
|
|
}
|
|
});
|
|
if (self.options.onClose) {
|
|
self.options.onClose(self)
|
|
}
|
|
}, $.fn.notify = function(options) {
|
|
return new Notify(this, options)
|
|
}, $.fn.notify.defaults = {
|
|
type: "success",
|
|
delay: 3000,
|
|
message: ''
|
|
}, tip.msgbox = {
|
|
show: function(options) {
|
|
if (options.url) {
|
|
options.url = options.url.replace(/&/ig, "&");
|
|
options.onClose = function() {
|
|
redirect(options.url)
|
|
}
|
|
}
|
|
if (options.message && options.message.length > 17) {
|
|
tip.alert(options.message, function() {
|
|
if (options.url) {
|
|
redirect(options.url)
|
|
}
|
|
});
|
|
return
|
|
}
|
|
notify = window.msgbox.notify(options), notify.show()
|
|
},
|
|
suc: function(msg, url, onClose, onClosed) {
|
|
tip.msgbox.show({
|
|
delay: 2000,
|
|
type: "success",
|
|
message: msg,
|
|
url: url,
|
|
onClose: onClose,
|
|
onClosed: onClosed
|
|
})
|
|
},
|
|
err: function(msg, url, onClose, onClosed) {
|
|
tip.msgbox.show({
|
|
delay: 2000,
|
|
type: "error",
|
|
message: msg,
|
|
url: url,
|
|
onClose: onClose,
|
|
onClosed: onClosed
|
|
})
|
|
}
|
|
};
|
|
window.tip = tip
|
|
});
|