1434 lines
56 KiB
Java
1434 lines
56 KiB
Java
/*!
|
||
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
|
||
*
|
||
* 通用公共JavaScript,注意:项目请不要修改公共CSS样式,若需要新增或调整,请在common.js中覆盖
|
||
* @author ThinkGem
|
||
* @version 2019-7-10
|
||
*/
|
||
if (typeof jQuery === "undefined") {
|
||
throw new Error("JSHERP's JavaScript requires jQuery")
|
||
}
|
||
(function($, window, undefined) {
|
||
parent.$("iframe.ui-layout-content").each(function() {
|
||
if (document.body.ownerDocument === this.contentWindow.document) {
|
||
$("body").addClass("ui-layout-content");
|
||
return
|
||
}
|
||
});
|
||
$(function() {
|
||
if ($.fn.iCheck !== undefined) {
|
||
$("input[type=checkbox].form-control:not(.noicheck),input[type=radio].form-control:not(.noicheck)").each(function() {
|
||
$(this).iCheck({
|
||
checkboxClass: "icheckbox_" + ($(this).data("style") || "minimal-grey"),
|
||
radioClass: "iradio_" + ($(this).data("style") || "minimal-grey")
|
||
}).on("ifChanged", function() {
|
||
try {
|
||
$(this).resetValid()
|
||
} catch (e) {}
|
||
})
|
||
})
|
||
}
|
||
if ($.fn.select2 !== undefined) {
|
||
$("select.form-control:not(.noselect2)").each(function() {
|
||
$(this).select2({
|
||
minimumResultsForSearch: 10,
|
||
templateResult: function(result, container) {
|
||
var element = $(result.element)
|
||
, parent = $(container)
|
||
, style = element.attr("style")
|
||
, clazz = element.attr("class");
|
||
if (style && style != "") {
|
||
parent.attr("style", style)
|
||
}
|
||
if (clazz && clazz != "") {
|
||
parent.addClass(clazz)
|
||
}
|
||
return result.text
|
||
}
|
||
}).on("change", function() {
|
||
try {
|
||
$(this).resetValid()
|
||
} catch (e) {}
|
||
})
|
||
})
|
||
}
|
||
if (js.ie) {
|
||
$("a").bind("focus", function() {
|
||
if (this.blur) {
|
||
this.blur()
|
||
}
|
||
})
|
||
}
|
||
$("#inputForm input[type=text]:not([readonly]):not([disabled]):not(.nofocus):eq(0)").focus();
|
||
$(document).on("click", ".addTabPage", function(e) {
|
||
var $this = $(this)
|
||
, href = $this.data("href") || $this.attr("href")
|
||
, title = $this.data("title") || $this.attr("title") || $this.text();
|
||
if (href && href != "" && href != "blank") {
|
||
js.addTabPage($this, $.trim(title || js.text("tabpanel.newTabPage")), href);
|
||
if ($this.parent().hasClass("treeview")) {
|
||
window.funId = $this.data("code"); //功能id
|
||
top.window.isMenuClickFlag = true;
|
||
top.window.location.hash = href.replace("#", "")
|
||
}
|
||
return false
|
||
}
|
||
return true
|
||
});
|
||
if (js.ie && js.ie <= 9) {
|
||
setTimeout(function() {
|
||
$("input[placeholder],textarea[placeholder]").placeholder()
|
||
}, 500)
|
||
}
|
||
if ($("#scroll-up").length > 0) {
|
||
var btnScrollTop = $("#scroll-up")
|
||
, isVisible = false;
|
||
$(window).on("scroll.btnScrollTop", function() {
|
||
var scroll = $(document).scrollTop()
|
||
, h = $(window).height()
|
||
, sh = document.body.scrollHeight;
|
||
if (scroll > parseInt(h / 4) || (scroll > 0 && sh >= h && h + scroll >= sh - 1)) {
|
||
if (!isVisible) {
|
||
btnScrollTop.addClass("display");
|
||
isVisible = true
|
||
}
|
||
} else {
|
||
if (isVisible) {
|
||
btnScrollTop.removeClass("display");
|
||
isVisible = false
|
||
}
|
||
}
|
||
}).triggerHandler("scroll.btnScrollTop");
|
||
btnScrollTop.on("click", function() {
|
||
$("html,body").animate({
|
||
scrollTop: 0
|
||
}, 500);
|
||
return false
|
||
})
|
||
}
|
||
if (typeof FastClick != "undefined") {
|
||
FastClick.attach(document.body)
|
||
}
|
||
});
|
||
var js = {
|
||
log: function(msg) {
|
||
if (typeof (console) !== "undefined") {
|
||
console.log(msg)
|
||
}
|
||
},
|
||
error: function(msg) {
|
||
if (typeof (console) !== "undefined") {
|
||
console.error(msg)
|
||
}
|
||
},
|
||
encodeUrl: function(url) {
|
||
return encodeURIComponent(url)
|
||
},
|
||
decodeUrl: function(url) {
|
||
return decodeURIComponent(url)
|
||
},
|
||
ie: function() {
|
||
var agent = navigator.userAgent.toLowerCase();
|
||
return (!!window.ActiveXObject || "ActiveXObject"in window) ? ((agent.match(/msie\s(\d+)/) || [])[1] || (agent.match(/Trident/i) && agent.match(/rv:(\d+)/) || [])[1] || false) : false
|
||
}(),
|
||
val: function(jsonObj, attrName) {
|
||
if (jsonObj === undefined) {
|
||
return ""
|
||
}
|
||
if (attrName === undefined || attrName == "") {
|
||
return typeof jsonObj === "string" ? jsonObj : ""
|
||
}
|
||
var ret = jsonObj[attrName], prm = [], p, i;
|
||
if (ret === undefined) {
|
||
try {
|
||
if (typeof attrName === "string") {
|
||
prm = attrName.split(".")
|
||
}
|
||
i = prm.length;
|
||
if (i) {
|
||
ret = jsonObj;
|
||
while (ret && i--) {
|
||
p = prm.shift();
|
||
ret = ret[p]
|
||
}
|
||
}
|
||
} catch (e) {}
|
||
}
|
||
if (ret === undefined) {
|
||
return ""
|
||
}
|
||
return ret
|
||
},
|
||
hashCode: function(str, caseSensitive) {
|
||
if (caseSensitive != true) {
|
||
str = str.toLowerCase()
|
||
}
|
||
var hash = 1315423911, i, ch;
|
||
for (i = str.length - 1; i >= 0; i--) {
|
||
ch = str.charCodeAt(i);
|
||
hash ^= ((hash << 5) + ch + (hash >> 2))
|
||
}
|
||
return (hash & 2147483647)
|
||
},
|
||
loadFile: function(file, callback, error) {
|
||
callback = callback || function() {}
|
||
;
|
||
error = error || function(data) {
|
||
js.showMessage(data)
|
||
}
|
||
;
|
||
var files = typeof file == "string" ? [file] : file;
|
||
var htmlDoc = document.getElementsByTagName("head")[0], okCounts = 0, fileCounts = files.length, i, loadFilePath = null;
|
||
for (i = 0; i < fileCounts; i++) {
|
||
var includeFile = null, att = null, ext, hash;
|
||
loadFilePath = files[i];
|
||
hash = js.hashCode(loadFilePath);
|
||
if (document.getElementById("loadHash_" + hash)) {
|
||
okCounts += 1;
|
||
if (okCounts == fileCounts) {
|
||
callback();
|
||
return true
|
||
}
|
||
continue
|
||
}
|
||
att = loadFilePath.split("?")[0].split(".");
|
||
ext = att[att.length - 1].toLowerCase();
|
||
switch (ext) {
|
||
case "css":
|
||
includeFile = document.createElement("link");
|
||
includeFile.setAttribute("rel", "stylesheet");
|
||
includeFile.setAttribute("type", "text/css");
|
||
includeFile.setAttribute("href", loadFilePath);
|
||
break;
|
||
case "js":
|
||
includeFile = document.createElement("script");
|
||
includeFile.setAttribute("type", "text/javascript");
|
||
includeFile.setAttribute("src", loadFilePath);
|
||
break;
|
||
case "jpg":
|
||
case "jpeg":
|
||
case "png":
|
||
case "gif":
|
||
includeFile = document.createElement("img");
|
||
includeFile.setAttribute("src", loadFilePath);
|
||
break;
|
||
default:
|
||
error("载入的格式不支持:" + loadFilePath);
|
||
return false
|
||
}
|
||
if (typeof includeFile != "undefined") {
|
||
includeFile.setAttribute("id", "loadHash_" + hash);
|
||
htmlDoc.appendChild(includeFile);
|
||
includeFile.onreadystatechange = function() {
|
||
if (includeFile.readyState == "loaded" || includeFile.readyState == "complete") {
|
||
okCounts += 1;
|
||
if (okCounts == fileCounts) {
|
||
callback();
|
||
return true
|
||
}
|
||
}
|
||
}
|
||
;
|
||
includeFile.onload = function() {
|
||
okCounts += 1;
|
||
if (okCounts == fileCounts) {
|
||
callback();
|
||
return true
|
||
}
|
||
}
|
||
;
|
||
includeFile.onerror = function() {
|
||
$("#loadhash_" + hash).remove();
|
||
return false
|
||
}
|
||
}
|
||
}
|
||
},
|
||
windowOpen: function(url, name, width, height) {
|
||
if (!(width && height)) {
|
||
width = window.screen.width - 200;
|
||
height = window.screen.height - 150
|
||
}
|
||
var top = parseInt((window.screen.height - height) / 2 - 20, 10)
|
||
, left = parseInt((window.screen.width - width) / 2, 10)
|
||
, options = "location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes,width=" + width + ",height=" + height + ",top=" + top + ",left=" + left;
|
||
window.open(url, name, options)
|
||
},
|
||
windowClose: function() {
|
||
setTimeout(function() {
|
||
window.opener = null;
|
||
window.open("", "_self");
|
||
window.close()
|
||
}, 100)
|
||
},
|
||
addParam: function(url, params) {
|
||
if (params != "") {
|
||
url += (url.indexOf("?") == -1 ? "?" : "&");
|
||
url += params
|
||
}
|
||
return url
|
||
},
|
||
getParam: function(paramName, url) {
|
||
var reg = new RegExp("(^|&)" + paramName + "=([^&]*)(&|$)","i");
|
||
if (!url || url == "") {
|
||
url = window.location.search
|
||
} else {
|
||
url = url.substring(url.indexOf("?"))
|
||
}
|
||
var val = url.substr(1).match(reg);
|
||
if (val != null) {
|
||
return unescape(val[2])
|
||
}
|
||
return null
|
||
},
|
||
removeParam: function(paramName, url) {
|
||
var reg = new RegExp("(^|&)" + paramName + "=([^&]*)(&|$)","i"), params;
|
||
if (!url || url == "") {
|
||
params = window.location.search
|
||
} else {
|
||
params = url.substring(url.indexOf("?"))
|
||
}
|
||
if (params != "") {
|
||
if (js.startsWith(params, "?") || js.startsWith(params, "&")) {
|
||
params = params.substr(1)
|
||
}
|
||
url = url.substring(0, url.indexOf("?") + 1) + params.replace(reg, "$1");
|
||
if (js.endsWith(url, "?") || js.endsWith(url, "&")) {
|
||
return url.substring(0, url.length - 1)
|
||
}
|
||
}
|
||
return url
|
||
},
|
||
alertObj: function(obj) {
|
||
var ob = eval(obj);
|
||
var index = 1
|
||
, property = "";
|
||
for (var p in ob) {
|
||
property += (index++) + "、" + p + " = " + ob[p] + "\n"
|
||
}
|
||
alert(property)
|
||
},
|
||
text: function(code, params) {
|
||
if (code) {
|
||
js.i18n = js.i18n || {};
|
||
var text = js.i18n[code];
|
||
if (!(text && text != "")) {
|
||
text = code
|
||
}
|
||
if (params) {
|
||
for (var i = 1; i < arguments.length; i++) {
|
||
var re = new RegExp("\\{" + (i - 1) + "\\}","gm");
|
||
text = text.replace(re, arguments[i])
|
||
}
|
||
}
|
||
return text
|
||
}
|
||
return code
|
||
},
|
||
getDictLabel: function(dictListJson, value, defaultValue, inCss) {
|
||
var result = [];
|
||
for (var i = 0; i < dictListJson.length; i++) {
|
||
var row = dictListJson[i];
|
||
if (("," + value + ",").indexOf("," + row.dictValue + ",") != -1) {
|
||
var str = "";
|
||
if (inCss && (row.cssClass || row.cssStyle)) {
|
||
str += "<span";
|
||
if (row.cssClass) {
|
||
str += ' class="' + row.cssClass + '"'
|
||
}
|
||
if (row.cssStyle) {
|
||
str += ' style="' + row.cssStyle + '"'
|
||
}
|
||
result.push(str + ">" + row.dictLabel + "</span>")
|
||
} else {
|
||
result.push(row.dictLabel)
|
||
}
|
||
}
|
||
}
|
||
return result.length > 0 ? result.join(",") : defaultValue
|
||
},
|
||
loading: function(message, ignoreMessageIfExists) {
|
||
var topJs;
|
||
try {
|
||
top.loadingFlag = true;
|
||
topJs = top.js || parent.parent.js || parent.js
|
||
} catch (e) {}
|
||
if (typeof loadingFlag == "undefined" && topJs) {
|
||
if (typeof topJs.loading == "function") {
|
||
topJs.loading(message);
|
||
return
|
||
}
|
||
}
|
||
if (message == undefined || message == "") {
|
||
message = js.text("loading.message")
|
||
}
|
||
if (message == "none") {
|
||
return
|
||
}
|
||
setTimeout(function() {
|
||
if (!js.pageLoadingNum) {
|
||
js.pageLoadingNum = 0
|
||
}
|
||
if (!js.pageLoadingStyle) {
|
||
if ($("body").hasClass("loading-topline")) {
|
||
js.pageLoadingStyle = 2
|
||
} else {
|
||
js.pageLoadingStyle = 1
|
||
}
|
||
}
|
||
if (js.pageLoadingStyle == 1) {
|
||
message += '<em onclick="js.closeLoading(0, true)">×</em>';
|
||
if ($("#page-loading").length == 0) {
|
||
$("body").append('<div id="page-loading" onmouseover="$(this).find(\'em\').show()" onmouseout="$(this).find(\'em\').hide()">' + message + "</div>")
|
||
} else {
|
||
if (!(ignoreMessageIfExists == true)) {
|
||
$("#page-loading").html(message)
|
||
}
|
||
}
|
||
} else {
|
||
if (js.pageLoadingStyle == 2) {
|
||
if ($("#page-loading-top").length == 0) {
|
||
$("body").append('<div id="page-loading-top" class="page-loading-top"></div>');
|
||
$("#page-loading-top").animate({
|
||
width: "65%"
|
||
}, 2000, function() {
|
||
$(this).animate({
|
||
width: "85%"
|
||
}, 8000)
|
||
})
|
||
}
|
||
}
|
||
}
|
||
js.pageLoadingNum++
|
||
}, 0)
|
||
},
|
||
closeLoading: function(timeout, forceClose) {
|
||
var topJs;
|
||
try {
|
||
top.loadingFlag = true;
|
||
topJs = top.js || parent.parent.js || parent.js
|
||
} catch (e) {}
|
||
if (typeof loadingFlag == "undefined" && topJs) {
|
||
if (typeof topJs.closeLoading == "function") {
|
||
topJs.closeLoading(timeout, forceClose);
|
||
return
|
||
}
|
||
}
|
||
setTimeout(function() {
|
||
if (!js.pageLoadingNum) {
|
||
js.pageLoadingNum = 0
|
||
}
|
||
js.pageLoadingNum--;
|
||
if (forceClose || js.pageLoadingNum <= 0) {
|
||
if (js.pageLoadingStyle == 1) {
|
||
$("#page-loading").remove()
|
||
} else {
|
||
if (js.pageLoadingStyle == 2) {
|
||
$("#page-loading-top").stop().animate({
|
||
width: "100%"
|
||
}, 200, function() {
|
||
$(this).fadeOut(300, function() {
|
||
$(this).remove()
|
||
})
|
||
})
|
||
}
|
||
}
|
||
js.pageLoadingNum = 0
|
||
}
|
||
}, timeout == undefined ? 0 : timeout)
|
||
},
|
||
layer: function() {
|
||
try {
|
||
if (top.layer && top.layer.window) {
|
||
return top.layer
|
||
}
|
||
if (parent.parent.layer && parent.parent.layer.window) {
|
||
return parent.parent.layer
|
||
}
|
||
if (parent.layer && parent.layer.window) {
|
||
return parent.layer
|
||
}
|
||
} catch (e) {}
|
||
if (window.layer) {
|
||
return layer
|
||
}
|
||
return null
|
||
}(),
|
||
showMessage: function(message, title, type, timeout) {
|
||
var msgType, layerIcon, msg = String(message), msgTimeout = timeout == undefined ? 4000 : timeout;
|
||
var contains = function(str, searchs) {
|
||
if (searchs) {
|
||
var ss = searchs.split(",");
|
||
for (var i = 0; i < ss.length; i++) {
|
||
if (msg.indexOf(ss[i]) >= 0) {
|
||
return true
|
||
}
|
||
}
|
||
}
|
||
return false
|
||
};
|
||
if (type == "error" || contains(msg, js.text("showMessage.error"))) {
|
||
msgType = "error";
|
||
layerIcon = 2
|
||
} else {
|
||
if (type == "warning" || contains(msg, js.text("showMessage.warning"))) {
|
||
msgType = "warning";
|
||
layerIcon = 5
|
||
} else {
|
||
if (type == "success" || contains(msg, js.text("showMessage.success"))) {
|
||
msgType = "success";
|
||
layerIcon = 1
|
||
} else {
|
||
msgType = "info";
|
||
layerIcon = 6
|
||
}
|
||
}
|
||
}
|
||
try {
|
||
if (top.toastr) {
|
||
var positionClass = "toast-bottom-right";
|
||
if (msg && msg.length >= 8 && msg.indexOf("posfull:") >= 0) {
|
||
if (timeout == undefined) {
|
||
msgTimeout = 0
|
||
}
|
||
positionClass = "toast-top-full-width";
|
||
msg = msg.substring(8);
|
||
js.log(msg)
|
||
}
|
||
top.toastr.options = {
|
||
closeButton: true,
|
||
positionClass: positionClass,
|
||
timeOut: msgTimeout
|
||
};
|
||
top.toastr[msgType](msg, title);
|
||
return
|
||
}
|
||
} catch (e) {}
|
||
if (!js.layer) {
|
||
alert(msg);
|
||
return
|
||
}
|
||
if (layerIcon) {
|
||
js.layer.msg(msg, {
|
||
icon: layerIcon,
|
||
time: msgTimeout
|
||
})
|
||
} else {
|
||
js.layer.msg(msg, {
|
||
time: msgTimeout
|
||
})
|
||
}
|
||
},
|
||
showErrorMessage: function(responseText) {
|
||
if (responseText && responseText != "") {
|
||
js.error(js.abbr(responseText, 500));
|
||
if (responseText.indexOf("<html ") != -1 || responseText.indexOf("<head ") != -1 || responseText.indexOf("<body ") != -1) {
|
||
js.showMessage("未知错误,F12查看异常信息!", null, "error")
|
||
} else {
|
||
try {
|
||
var json = JSON.parse(responseText);
|
||
if (typeof json == "object" && typeof json.message != "undefined") {
|
||
js.showMessage(json.message, null, "error");
|
||
return
|
||
}
|
||
} catch (e) {}
|
||
js.showMessage(responseText, null, "error")
|
||
}
|
||
}
|
||
},
|
||
closeMessage: function() {
|
||
try {
|
||
if (top.toastr) {
|
||
top.toastr.clear()
|
||
}
|
||
} catch (e) {}
|
||
},
|
||
alert: function(message, options, closed) {
|
||
if (typeof options != "object") {
|
||
closed = options;
|
||
options = {
|
||
icon: 1
|
||
}
|
||
}
|
||
if (!js.layer) {
|
||
alert(message);
|
||
if (typeof closed == "function") {
|
||
closed()
|
||
}
|
||
return
|
||
}
|
||
js.layer.alert(message, options, function(index) {
|
||
if (typeof closed == "function") {
|
||
closed(index)
|
||
}
|
||
js.layer.close(index)
|
||
})
|
||
},
|
||
confirm: function(message, urlOrFun, data, callback, dataType, async, loadingMessage) {
|
||
if (typeof data == "function") {
|
||
loadingMessage = async;
|
||
async = dataType;
|
||
dataType = callback;
|
||
callback = data;
|
||
data = undefined
|
||
}
|
||
var sendAjax = function() {
|
||
js.loading(loadingMessage == undefined ? js.text("loading.submitMessage") : loadingMessage);
|
||
$.ajax({
|
||
type: "POST",
|
||
url: urlOrFun,
|
||
data: data,
|
||
dataType: dataType == undefined ? "json" : dataType,
|
||
async: async == undefined ? true : async,
|
||
error: function(data) {
|
||
js.showErrorMessage(data.responseText);
|
||
js.closeLoading(0, true)
|
||
},
|
||
success: function(data) {
|
||
if (typeof callback == "function") {
|
||
callback(data)
|
||
}
|
||
js.closeLoading()
|
||
}
|
||
})
|
||
};
|
||
if (!js.layer) {
|
||
if (confirm(message)) {
|
||
if (typeof urlOrFun == "function") {
|
||
urlOrFun()
|
||
} else {
|
||
sendAjax()
|
||
}
|
||
}
|
||
return
|
||
}
|
||
var options = {
|
||
icon: 3
|
||
};
|
||
js.layer.confirm(message, options, function(index) {
|
||
if (typeof urlOrFun == "function") {
|
||
urlOrFun()
|
||
} else {
|
||
sendAjax()
|
||
}
|
||
js.layer.close(index)
|
||
});
|
||
return false
|
||
},
|
||
template: function(id, data, callback) {
|
||
var tpl = String($("#" + id).html()).replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "")
|
||
, data = data || [];
|
||
if (typeof callback == "function") {
|
||
laytpl(tpl).render(data || [], function(render) {
|
||
callback(render)
|
||
});
|
||
return null
|
||
}
|
||
return laytpl(tpl).render(data || [])
|
||
},
|
||
ajaxSubmit: function(url, data, callback, dataType, async, message) {
|
||
$(".btn").attr("disabled", true);
|
||
if (typeof data == "function") {
|
||
message = async;
|
||
async = dataType;
|
||
dataType = callback;
|
||
callback = data;
|
||
data = undefined
|
||
}
|
||
var options = {};
|
||
if (typeof callback == "object") {
|
||
options = callback;
|
||
callback = options.callback;
|
||
dataType = options.dataType;
|
||
async = options.async;
|
||
message = options.message
|
||
}
|
||
js.loading(message == undefined ? js.text("loading.submitMessage") : message);
|
||
$.ajax($.extend(true, {
|
||
type: "POST",
|
||
url: url,
|
||
data: data,
|
||
dataType: dataType == undefined ? "json" : dataType,
|
||
async: async == undefined ? true : async,
|
||
error: function(data) {
|
||
$(".btn").attr("disabled", false);
|
||
js.showErrorMessage(data.responseText);
|
||
js.closeLoading(0, true)
|
||
},
|
||
success: function(data, status, xhr) {
|
||
$(".btn").attr("disabled", false);
|
||
js.closeLoading();
|
||
if (typeof callback == "function") {
|
||
callback(data, status, xhr)
|
||
} else {
|
||
js.log(data)
|
||
}
|
||
}
|
||
}, options))
|
||
},
|
||
ajaxSubmitForm: function(formJqueryObj, callback, dataType, async, message) {
|
||
$(".btn").attr("disabled", true);
|
||
var options = {};
|
||
if (typeof callback == "object") {
|
||
options = callback;
|
||
callback = options.callback;
|
||
dataType = options.dataType;
|
||
async = options.async;
|
||
message = options.message
|
||
}
|
||
js.loading(message == undefined ? js.text("loading.submitMessage") : message);
|
||
if (options.downloadFile === true) {
|
||
options.iframe = true
|
||
}
|
||
formJqueryObj.ajaxSubmit($.extend(true, {
|
||
type: "POST",
|
||
xhrFields: {
|
||
withCredentials: true
|
||
},
|
||
url: formJqueryObj.attr("action"),
|
||
dataType: dataType == undefined ? "json" : dataType,
|
||
async: async == undefined ? true : async,
|
||
error: function(data) {
|
||
$(".btn").attr("disabled", false);
|
||
js.showErrorMessage(data.responseText);
|
||
js.closeLoading(0, true)
|
||
},
|
||
success: function(data, status, xhr) {
|
||
$(".btn").attr("disabled", false);
|
||
js.closeLoading();
|
||
if (typeof callback == "function") {
|
||
callback(data, status, xhr)
|
||
} else {
|
||
js.log(data)
|
||
}
|
||
}
|
||
}, options));
|
||
if (options.downloadFile === true) {
|
||
$(".btn").attr("disabled", false);
|
||
js.closeLoading()
|
||
}
|
||
},
|
||
trim: function(str) {
|
||
return jQuery.trim(str)
|
||
},
|
||
startWith: function(str, start) {
|
||
var reg = new RegExp("^" + start);
|
||
return reg.test(str)
|
||
},
|
||
startsWith: function(str, prefix) {
|
||
if (!str || !prefix || str.length < prefix.length) {
|
||
return false
|
||
}
|
||
return str.slice(0, prefix.length) === prefix
|
||
},
|
||
endWith: function(str, end) {
|
||
var reg = new RegExp(end + "$");
|
||
return reg.test(str)
|
||
},
|
||
endsWith: function(str, suffix) {
|
||
if (!str || !suffix || str.length < suffix.length) {
|
||
return false
|
||
}
|
||
return str.indexOf(suffix, str.length - suffix.length) !== -1
|
||
},
|
||
abbr: function(name, maxLength) {
|
||
if (!maxLength) {
|
||
maxLength = 20
|
||
}
|
||
if (name == null || name.length < 1) {
|
||
return ""
|
||
}
|
||
var w = 0;
|
||
var s = 0;
|
||
var p = false;
|
||
var b = false;
|
||
var nameSub;
|
||
for (var i = 0; i < name.length; i++) {
|
||
if (i > 1 && b == false) {
|
||
p = false
|
||
}
|
||
if (i > 1 && b == true) {
|
||
p = true
|
||
}
|
||
var c = name.charCodeAt(i);
|
||
if ((c >= 1 && c <= 126) || (65376 <= c && c <= 65439)) {
|
||
w++;
|
||
b = false
|
||
} else {
|
||
w += 2;
|
||
s++;
|
||
b = true
|
||
}
|
||
if (w > maxLength && i <= name.length - 1) {
|
||
if (b == true && p == true) {
|
||
nameSub = name.substring(0, i - 2) + "..."
|
||
}
|
||
if (b == false && p == false) {
|
||
nameSub = name.substring(0, i - 3) + "..."
|
||
}
|
||
if (b == true && p == false) {
|
||
nameSub = name.substring(0, i - 2) + "..."
|
||
}
|
||
if (p == true) {
|
||
nameSub = name.substring(0, i - 2) + "..."
|
||
}
|
||
break
|
||
}
|
||
}
|
||
if (w <= maxLength) {
|
||
return name
|
||
}
|
||
return nameSub
|
||
},
|
||
formatNumber: function(num, cent, isThousand, defaultValue) {
|
||
if (typeof num == "undefined" || num == null || num === "") {
|
||
return defaultValue || ""
|
||
}
|
||
num = String(num).replace(/\$|\,/g, "");
|
||
if (isNaN(num)) {
|
||
num = "0"
|
||
}
|
||
var sign = (num == (num = Math.abs(num)));
|
||
num = Math.floor(num * Math.pow(10, cent) + 0.50000000001);
|
||
var cents = num % Math.pow(10, cent);
|
||
num = Math.floor(num / Math.pow(10, cent)).toString();
|
||
cents = cents.toString();
|
||
while (cents.length < cent) {
|
||
cents = "0" + cents
|
||
}
|
||
if (isThousand) {
|
||
for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) {
|
||
num = num.substring(0, num.length - (4 * i + 3)) + "," + num.substring(num.length - (4 * i + 3))
|
||
}
|
||
}
|
||
if (cent > 0) {
|
||
return (((sign) ? "" : "-") + num + "." + cents)
|
||
} else {
|
||
return (((sign) ? "" : "-") + num)
|
||
}
|
||
},
|
||
formatMoney: function(s, n) {
|
||
if (s == undefined || s == "") {
|
||
return "0.00"
|
||
}
|
||
n = n >= 0 && n <= 20 ? n : 2;
|
||
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
|
||
var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1], i, t = "";
|
||
for (i = 0; i < l.length; i++) {
|
||
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "")
|
||
}
|
||
return t.split("").reverse().join("") + (r ? "." + r : "")
|
||
},
|
||
numberPad: function(num, n) {
|
||
var len = num.toString().length;
|
||
while (len < n) {
|
||
num = "0" + num;
|
||
len++
|
||
}
|
||
return num
|
||
},
|
||
formatDate: function(date, f) {
|
||
if (date == undefined) {
|
||
return ""
|
||
}
|
||
if (f == undefined) {
|
||
f = "yyyy-MM-dd HH:mm"
|
||
}
|
||
var o = {
|
||
"M+": date.getMonth() + 1,
|
||
"d+": date.getDate(),
|
||
"H+": date.getHours(),
|
||
"m+": date.getMinutes(),
|
||
"s+": date.getSeconds(),
|
||
"q+": Math.floor((date.getMonth() + 3) / 3),
|
||
S: date.getMilliseconds()
|
||
};
|
||
if (/(y+)/.test(f)) {
|
||
f = f.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length))
|
||
}
|
||
for (var k in o) {
|
||
if (new RegExp("(" + k + ")").test(f)) {
|
||
f = f.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length))
|
||
}
|
||
}
|
||
return f
|
||
},
|
||
parseDate: function(date) {
|
||
if (date == undefined) {
|
||
return null
|
||
}
|
||
return new Date(date.replace(/-/g, "/"))
|
||
},
|
||
addDate: function(date, dadd) {
|
||
date = date.valueOf();
|
||
date = date + dadd * 24 * 60 * 60 * 1000;
|
||
return new Date(date)
|
||
},
|
||
quickSelectDate: function(type, beginDateId, endDateId) {
|
||
var now = new Date()
|
||
, nowYear = now.getFullYear()
|
||
, nowMonth = now.getMonth()
|
||
, nowDay = now.getDate()
|
||
, nowDayOfWeek = now.getDay()
|
||
, beginDate = $("#" + beginDateId)
|
||
, endDate = $("#" + endDateId)
|
||
, formatDate = function(date) {
|
||
return js.formatDate(date, "yyyy-MM-dd")
|
||
}
|
||
, getMonthDays = function(myMonth) {
|
||
var monthStartDate = new Date(nowYear,myMonth,1);
|
||
var monthEndDate = new Date(nowYear,myMonth + 1,1);
|
||
var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
|
||
return days
|
||
};
|
||
if (type == "1") {
|
||
beginDate.val(formatDate(now));
|
||
endDate.val(beginDate.val())
|
||
} else {
|
||
if (type == "2") {
|
||
nowDayOfWeek = nowDayOfWeek == 0 ? 6 : nowDayOfWeek - 1;
|
||
var weekStartDate = new Date(nowYear,nowMonth,nowDay - nowDayOfWeek);
|
||
var weekEndDate = new Date(nowYear,nowMonth,nowDay + (6 - nowDayOfWeek));
|
||
beginDate.val(formatDate(weekStartDate));
|
||
endDate.val(formatDate(weekEndDate))
|
||
} else {
|
||
if (type == "3") {
|
||
var monthStartDate = new Date(nowYear,nowMonth,1);
|
||
var monthEndDate = new Date(nowYear,nowMonth,getMonthDays(nowMonth));
|
||
beginDate.val(formatDate(monthStartDate));
|
||
endDate.val(formatDate(monthEndDate))
|
||
} else {
|
||
if (type == "4") {
|
||
var quarterStartMonth = 0;
|
||
if (nowMonth < 3) {
|
||
quarterStartMonth = 0
|
||
}
|
||
if (2 < nowMonth && nowMonth < 6) {
|
||
quarterStartMonth = 3
|
||
}
|
||
if (5 < nowMonth && nowMonth < 9) {
|
||
quarterStartMonth = 6
|
||
}
|
||
if (nowMonth > 8) {
|
||
quarterStartMonth = 9
|
||
}
|
||
var quarterEndMonth = quarterStartMonth + 2;
|
||
var quarterStartDate = new Date(nowYear,quarterStartMonth,1);
|
||
var quarterEndDate = new Date(nowYear,quarterEndMonth,getMonthDays(quarterEndMonth));
|
||
beginDate.val(formatDate(quarterStartDate));
|
||
endDate.val(formatDate(quarterEndDate))
|
||
} else {
|
||
if (type == "5") {
|
||
var lastMonthDate = new Date();
|
||
lastMonthDate.setDate(1);
|
||
lastMonthDate.setMonth(lastMonthDate.getMonth() - 1);
|
||
var lastYear = lastMonthDate.getYear();
|
||
var lastMonth = lastMonthDate.getMonth();
|
||
var lastMonthStartDate = new Date(nowYear,lastMonth,1);
|
||
var lastMonthEndDate = new Date(nowYear,lastMonth,getMonthDays(lastMonth));
|
||
beginDate.val(formatDate(lastMonthStartDate));
|
||
endDate.val(formatDate(lastMonthEndDate))
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
beginDate.change();
|
||
endDate.change()
|
||
},
|
||
cookie: function(name, value, options) {
|
||
if (typeof value != "undefined") {
|
||
options = options || {};
|
||
if (value === null) {
|
||
value = "";
|
||
options.expires = -1
|
||
}
|
||
var expires = "";
|
||
if (options.expires && (typeof options.expires == "number" || options.expires.toUTCString)) {
|
||
var date;
|
||
if (typeof options.expires == "number") {
|
||
date = new Date();
|
||
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000))
|
||
} else {
|
||
date = options.expires
|
||
}
|
||
expires = "; expires=" + date.toUTCString()
|
||
}
|
||
var path = "; path=" + (options.path ? options.path : (window.ctxPath ? window.ctxPath : "/"));
|
||
var domain = options.domain ? "; domain=" + options.domain : "";
|
||
var secure = options.secure ? "; secure" : "";
|
||
document.cookie = [name, "=", encodeURIComponent(value), expires, path, domain, secure].join("")
|
||
} else {
|
||
var cookieValue = null;
|
||
if (document.cookie && document.cookie != "") {
|
||
var cookies = document.cookie.split(";");
|
||
for (var i = 0; i < cookies.length; i++) {
|
||
var cookie = jQuery.trim(cookies[i]);
|
||
if (cookie.substring(0, name.length + 1) == (name + "=")) {
|
||
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
|
||
break
|
||
}
|
||
}
|
||
}
|
||
return cookieValue
|
||
}
|
||
},
|
||
tabPage: function() {
|
||
if (window.tabPage) {
|
||
return tabPage
|
||
}
|
||
try {
|
||
if (parent.tabPage) {
|
||
return parent.tabPage
|
||
}
|
||
if (parent.parent.tabPage) {
|
||
return parent.parent.tabPage
|
||
}
|
||
if (top.tabPage) {
|
||
return top.tabPage
|
||
}
|
||
} catch (e) {}
|
||
return null
|
||
}(),
|
||
initTabPage: function(id, options) {
|
||
if (js.cookie("tabPageModel") == "true") {
|
||
options.maxLength = 1
|
||
}
|
||
var tabPage = window.tabPage;
|
||
return tabPage.initTabPage(id, options)
|
||
},
|
||
addTabPage: function($this, title, url, closeable, refresh) {
|
||
top.prevWindow = window;
|
||
var tabPage = js.tabPage;
|
||
if (!tabPage || typeof tabPage.addTabPage != "function" || (js.cookie("formLayerModel") == "true" && $this && $this.data("layer") != false && ($this.hasClass("btnTool") || $this.hasClass("btnList"))) || ($this && $this.data("layer") == true)) {
|
||
if (js.layer) {
|
||
var layerWidth, layerHeight, layerLeft, layerTop;
|
||
if ($this) {
|
||
layerWidth = $this.data("layerWidth");
|
||
layerHeight = $this.data("layerHeight");
|
||
layerLeft = $this.data("layerLeft");
|
||
layerTop = $this.data("layerTop")
|
||
}
|
||
if (layerWidth == null || layerWidth == "") {
|
||
layerWidth = $(top.window).width();
|
||
if (layerLeft != null && layerLeft != "") {
|
||
layerWidth -= parseInt(layerLeft) * 2
|
||
} else {
|
||
layerWidth -= 100 * 2
|
||
}
|
||
}
|
||
if (layerHeight == null || layerHeight == "") {
|
||
layerHeight = $(top.window).height();
|
||
if (layerTop != null && layerTop != "") {
|
||
layerHeight -= parseInt(layerTop) * 2
|
||
} else {
|
||
layerHeight -= 50 * 2
|
||
}
|
||
}
|
||
js.layer.open({
|
||
type: 2,
|
||
maxmin: true,
|
||
shadeClose: false,
|
||
title: title,
|
||
area: [layerWidth + "px", layerHeight + "px"],
|
||
content: url,
|
||
contentFormData: {
|
||
__layer: true
|
||
},
|
||
success: function(layero, index) {
|
||
if ($(js.layer.window).width() < layerWidth || $(js.layer.window).height() < layerHeight) {
|
||
js.layer.full(index)
|
||
}
|
||
}
|
||
})
|
||
} else {
|
||
js.windowOpen(url, title, "auto", "auto")
|
||
}
|
||
return
|
||
}
|
||
return tabPage.addTabPage($this, title, url, closeable, refresh)
|
||
},
|
||
getCurrentTabPage: function(currentTabCallback) {
|
||
var tabPage = js.tabPage;
|
||
if (!tabPage || typeof tabPage.getCurrentTabPage != "function") {
|
||
return
|
||
}
|
||
tabPage.getCurrentTabPage(currentTabCallback)
|
||
},
|
||
getPrevTabPage: function(preTabCallback, isCloseCurrentTab) {
|
||
var tabPage = js.tabPage;
|
||
if (!tabPage || typeof tabPage.getPrevTabPage != "function") {
|
||
return
|
||
}
|
||
tabPage.getPrevTabPage(preTabCallback, isCloseCurrentTab)
|
||
},
|
||
closeCurrentTabPage: function(preTabCallback) {
|
||
var tabPage = js.tabPage;
|
||
if (!tabPage || typeof tabPage.closeCurrentTabPage != "function" || window.name.indexOf("layui-layer") != -1) {
|
||
var layerIndex;
|
||
if (js.layer) {
|
||
layerIndex = js.layer.getFrameIndex(window.name)
|
||
}
|
||
if (layerIndex) {
|
||
js.layer.close(layerIndex)
|
||
} else {
|
||
js.windowClose()
|
||
}
|
||
if (typeof preTabCallback == "function") {
|
||
try {
|
||
preTabCallback(top.prevWindow)
|
||
} catch (e) {
|
||
js.error(e)
|
||
}
|
||
}
|
||
return
|
||
}
|
||
tabPage.closeCurrentTabPage(preTabCallback)
|
||
}
|
||
};
|
||
window.js = js;
|
||
window.log = js.log;
|
||
window.error = js.error;
|
||
window.lang = window.lang || "zh_CN";
|
||
window.text = js.text
|
||
}
|
||
)(window.jQuery, window);
|
||
|
||
!function(a, c) {
|
||
var b = a();
|
||
a.fn.dropdownHover = function(d) {
|
||
return "ontouchstart"in document ? this : (b = b.add(this.parent()),
|
||
this.each(function() {
|
||
function f() {
|
||
m.parents(".navbar").find(".navbar-toggle").is(":visible") || (c.clearTimeout(o),
|
||
c.clearTimeout(j),
|
||
j = c.setTimeout(function() {
|
||
b.find(":focus").blur(),
|
||
p.instantlyCloseOthers === !0 && b.removeClass("open"),
|
||
c.clearTimeout(j),
|
||
m.attr("aria-expanded", "true"),
|
||
t.addClass("open"),
|
||
m.trigger(k)
|
||
}, p.hoverDelay))
|
||
}
|
||
var o, j, m = a(this), t = m.parent(), q = {
|
||
delay: 500,
|
||
hoverDelay: 0,
|
||
instantlyCloseOthers: !0
|
||
}, g = {
|
||
delay: a(this).data("delay"),
|
||
hoverDelay: a(this).data("hover-delay"),
|
||
instantlyCloseOthers: a(this).data("close-others")
|
||
}, k = "show.bs.dropdown", n = "hide.bs.dropdown", p = a.extend(!0, {}, q, d, g);
|
||
t.hover(function(h) {
|
||
return t.hasClass("open") || m.is(h.target) ? void f(h) : !0
|
||
}, function() {
|
||
c.clearTimeout(j),
|
||
o = c.setTimeout(function() {
|
||
m.attr("aria-expanded", "false"),
|
||
t.removeClass("open"),
|
||
m.trigger(n)
|
||
}, p.delay)
|
||
}),
|
||
m.hover(function(h) {
|
||
return t.hasClass("open") || t.is(h.target) ? void f(h) : !0
|
||
}),
|
||
t.find(".dropdown-submenu").each(function() {
|
||
var i, h = a(this);
|
||
h.hover(function() {
|
||
c.clearTimeout(i),
|
||
h.children(".dropdown-menu").show(),
|
||
h.siblings().children(".dropdown-menu").hide()
|
||
}, function() {
|
||
var l = h.children(".dropdown-menu");
|
||
i = c.setTimeout(function() {
|
||
l.hide()
|
||
}, p.delay)
|
||
})
|
||
})
|
||
}))
|
||
}
|
||
,
|
||
a(document).ready(function() {
|
||
a('[data-hover="dropdown"]').dropdownHover()
|
||
})
|
||
}(jQuery, window);
|
||
|
||
(function(W) {
|
||
function B(k, h, n) {
|
||
var p = k[0]
|
||
, m = /er/.test(n) ? T : /bl/.test(n) ? O : U
|
||
, l = n == j ? {
|
||
checked: p[U],
|
||
disabled: p[O],
|
||
indeterminate: "true" == k.attr(T) || "false" == k.attr(o)
|
||
} : p[m];
|
||
if (/^(ch|di|in)/.test(n) && !l) {
|
||
P(k, m)
|
||
} else {
|
||
if (/^(un|en|de)/.test(n) && l) {
|
||
N(k, m)
|
||
} else {
|
||
if (n == j) {
|
||
for (m in l) {
|
||
l[m] ? P(k, m, !0) : N(k, m, !0)
|
||
}
|
||
} else {
|
||
if (!h || "toggle" == n) {
|
||
if (!h) {
|
||
k[R]("ifClicked")
|
||
}
|
||
l ? p[S] !== C && N(k, m) : P(k, m)
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
function P(y, x, u) {
|
||
var v = y[0]
|
||
, t = y.parent()
|
||
, q = x == U
|
||
, n = x == T
|
||
, m = x == O
|
||
, w = n ? o : q ? K : "enabled"
|
||
, l = V(y, w + i(v[S]))
|
||
, s = V(y, x + i(v[S]));
|
||
if (!0 !== v[x]) {
|
||
if (!u && x == U && v[S] == C && v.name) {
|
||
var k = y.closest("form")
|
||
, h = 'input[name="' + v.name + '"]'
|
||
, h = k.length ? k.find(h) : W(h);
|
||
h.each(function() {
|
||
this !== v && W(this).data(Q) && N(W(this), x)
|
||
})
|
||
}
|
||
n ? (v[x] = !0,
|
||
v[U] && N(y, U, "force")) : (u || (v[x] = !0),
|
||
q && v[T] && N(y, T, !1));
|
||
b(y, q, x, u)
|
||
}
|
||
v[O] && V(y, f, !0) && t.find("." + g).css(f, "default");
|
||
t[A](s || V(y, x) || "");
|
||
m ? t.attr("aria-disabled", "true") : t.attr("aria-checked", n ? "mixed" : "true");
|
||
t[c](l || V(y, w) || "")
|
||
}
|
||
function N(y, x, v) {
|
||
var w = y[0]
|
||
, s = y.parent()
|
||
, n = x == U
|
||
, m = x == T
|
||
, k = x == O
|
||
, l = m ? o : n ? K : "enabled"
|
||
, D = V(y, l + i(w[S]))
|
||
, z = V(y, x + i(w[S]));
|
||
if (!1 !== w[x]) {
|
||
if (m || !v || "force" == v) {
|
||
w[x] = !1
|
||
}
|
||
b(y, n, l, v)
|
||
}
|
||
!w[O] && V(y, f, !0) && s.find("." + g).css(f, "pointer");
|
||
s[c](z || V(y, x) || "");
|
||
k ? s.attr("aria-disabled", "false") : s.attr("aria-checked", "false");
|
||
s[A](D || V(y, l) || "")
|
||
}
|
||
function a(k, h) {
|
||
if (k.data(Q)) {
|
||
k.parent().html(k.attr("style", k.data(Q).s || ""));
|
||
if (h) {
|
||
k[R](h)
|
||
}
|
||
k.off(".i").unwrap();
|
||
W(r + '[for="' + k[0].id + '"]').add(k.closest(r)).off(".i")
|
||
}
|
||
}
|
||
function V(k, h, l) {
|
||
if (k.data(Q)) {
|
||
return k.data(Q).o[h + (l ? "" : "Class")]
|
||
}
|
||
}
|
||
function i(h) {
|
||
return h.charAt(0).toUpperCase() + h.slice(1)
|
||
}
|
||
function b(k, h, l, m) {
|
||
if (!m) {
|
||
if (h) {
|
||
k[R]("ifToggled")
|
||
}
|
||
k[R]("ifChanged")[R]("if" + i(l))
|
||
}
|
||
}
|
||
var Q = "iCheck"
|
||
, g = Q + "-helper"
|
||
, C = "radio"
|
||
, U = "checked"
|
||
, K = "un" + U
|
||
, O = "disabled"
|
||
, o = "determinate"
|
||
, T = "in" + o
|
||
, j = "update"
|
||
, S = "type"
|
||
, A = "addClass"
|
||
, c = "removeClass"
|
||
, R = "trigger"
|
||
, r = "label"
|
||
, f = "cursor"
|
||
, d = /ipad|iphone|ipod|android|blackberry|windows phone|opera mini|silk/i.test(navigator.userAgent);
|
||
W.fn[Q] = function(D, v) {
|
||
var s = 'input[type="checkbox"], input[type="' + C + '"]'
|
||
, t = W()
|
||
, q = function(k) {
|
||
k.each(function() {
|
||
var w = W(this);
|
||
t = w.is(s) ? t.add(w) : t.add(w.find(s))
|
||
})
|
||
};
|
||
if (/^(check|uncheck|toggle|indeterminate|determinate|disable|enable|update|destroy)$/i.test(D)) {
|
||
return D = D.toLowerCase(),
|
||
q(this),
|
||
t.each(function() {
|
||
var k = W(this);
|
||
"destroy" == D ? a(k, "ifDestroyed") : B(k, !0, D);
|
||
W.isFunction(v) && v()
|
||
})
|
||
}
|
||
if ("object" != typeof D && D) {
|
||
return this
|
||
}
|
||
var p = W.extend({
|
||
checkedClass: U,
|
||
disabledClass: O,
|
||
indeterminateClass: T,
|
||
checkboxClass: "icheckbox_minimal-grey",
|
||
radioClass: "iradio_minimal-grey",
|
||
labelHover: !0,
|
||
aria: !1
|
||
}, D)
|
||
, n = p.handle
|
||
, m = p.hoverClass || "hover"
|
||
, z = p.focusClass || "focus"
|
||
, E = p.activeClass || "active"
|
||
, u = !!p.labelHover
|
||
, l = p.labelHoverClass || "hover"
|
||
, h = ("" + p.increaseArea).replace("%", "") | 0;
|
||
if ("checkbox" == n || n == C) {
|
||
s = 'input[type="' + n + '"]'
|
||
}
|
||
-50 > h && (h = -50);
|
||
q(this);
|
||
return t.each(function() {
|
||
var L = W(this);
|
||
a(L);
|
||
var I = this
|
||
, J = I.id
|
||
, G = -h + "%"
|
||
, H = 100 + 2 * h + "%"
|
||
, H = {
|
||
position: "absolute",
|
||
top: G,
|
||
left: G,
|
||
display: "block",
|
||
width: H,
|
||
height: H,
|
||
margin: 0,
|
||
padding: 0,
|
||
background: "#fff",
|
||
border: 0,
|
||
opacity: 0
|
||
}
|
||
, G = d ? {
|
||
position: "absolute",
|
||
visibility: "hidden"
|
||
} : h ? H : {
|
||
position: "absolute",
|
||
opacity: 0
|
||
}
|
||
, y = "checkbox" == I[S] ? p.checkboxClass || "icheckbox" : p.radioClass || "i" + C
|
||
, x = W(r + '[for="' + J + '"]').add(L.closest(r))
|
||
, w = !!p.aria
|
||
, M = Q + "-" + Math.random().toString(36).replace("0.", "")
|
||
, F = '<div class="' + y + '" ' + (w ? 'role="' + I[S] + '" ' : "");
|
||
x.length && w && x.each(function() {
|
||
F += 'aria-labelledby="';
|
||
this.id ? F += this.id : (this.id = M,
|
||
F += M);
|
||
F += '"'
|
||
});
|
||
F = L.wrap(F + "/>")[R]("ifCreated").parent().append(p.insert);
|
||
H = W('<ins class="' + g + '"/>').css(H).appendTo(F);
|
||
L.data(Q, {
|
||
o: p,
|
||
s: L.attr("style")
|
||
}).css(G);
|
||
p.inheritClass && F[A](I.className || "");
|
||
p.inheritID && J && F.attr("id", Q + "-" + J);
|
||
"static" == F.css("position") && F.css("position", "relative");
|
||
B(L, !0, j);
|
||
if (x.length) {
|
||
x.on("click.i mouseover.i mouseout.i touchbegin.i touchend.i", function(k) {
|
||
var Y = k[S]
|
||
, X = W(this);
|
||
if (!I[O]) {
|
||
if ("click" == Y) {
|
||
if (W(k.target).is("a")) {
|
||
return
|
||
}
|
||
B(L, !1, !0)
|
||
} else {
|
||
u && (/ut|nd/.test(Y) ? (F[c](m),
|
||
X[c](l)) : (F[A](m),
|
||
X[A](l)))
|
||
}
|
||
if (d) {
|
||
k.stopPropagation()
|
||
} else {
|
||
return !1
|
||
}
|
||
}
|
||
})
|
||
}
|
||
L.on("click.i focus.i blur.i keyup.i keydown.i keypress.i", function(k) {
|
||
var X = k[S];
|
||
k = k.keyCode;
|
||
if ("click" == X) {
|
||
return !1
|
||
}
|
||
if ("keydown" == X && 32 == k) {
|
||
return I[S] == C && I[U] || (I[U] ? N(L, U) : P(L, U)),
|
||
!1
|
||
}
|
||
if ("keyup" == X && I[S] == C) {
|
||
!I[U] && P(L, U)
|
||
} else {
|
||
if (/us|ur/.test(X)) {
|
||
F["blur" == X ? c : A](z)
|
||
}
|
||
}
|
||
});
|
||
H.on("click mousedown mouseup mouseover mouseout touchbegin.i touchend.i", function(k) {
|
||
var Y = k[S]
|
||
, X = /wn|up/.test(Y) ? E : m;
|
||
if (!I[O]) {
|
||
if ("click" == Y) {
|
||
B(L, !1, !0)
|
||
} else {
|
||
if (/wn|er|in/.test(Y)) {
|
||
F[A](X)
|
||
} else {
|
||
F[c](X + " " + E)
|
||
}
|
||
if (x.length && u && X == m) {
|
||
x[/ut|nd/.test(Y) ? c : A](l)
|
||
}
|
||
}
|
||
if (d) {
|
||
k.stopPropagation()
|
||
} else {
|
||
return !1
|
||
}
|
||
}
|
||
})
|
||
})
|
||
}
|
||
}
|
||
)(window.jQuery || window.Zepto); |