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.
247 lines
8.3 KiB
247 lines
8.3 KiB
/** layui-v1.0.2 经典模块化前端框架 LGPL license By www.layui.com */
|
|
; !
|
|
function(e) {
|
|
"use strict";
|
|
var t = function() {
|
|
this.v = "1.0.2"
|
|
};
|
|
t.fn = t.prototype;
|
|
var n = document,
|
|
o = t.fn.cache = {},
|
|
i = function() {
|
|
var e = n.scripts,
|
|
t = e[e.length - 1].src;
|
|
return t.substring(0, t.lastIndexOf("/") + 1)
|
|
} (),
|
|
r = function(t) {
|
|
e.console && console.error && console.error("Layui hint: " + t)
|
|
},
|
|
l = "undefined" != typeof opera && "[object Opera]" === opera.toString(),
|
|
u = {
|
|
layer: "modules/layer",
|
|
laydate: "modules/laydate",
|
|
laypage: "modules/laypage",
|
|
laytpl: "modules/laytpl",
|
|
layim: "modules/layim",
|
|
layedit: "modules/layedit",
|
|
form: "modules/form",
|
|
upload: "modules/upload",
|
|
tree: "modules/tree",
|
|
slide: "modules/slide",
|
|
table: "modules/table",
|
|
element: "modules/element",
|
|
util: "modules/util",
|
|
flow: "modules/flow",
|
|
code: "modules/code",
|
|
single: "modules/single",
|
|
mobile: "modules/mobile",
|
|
jquery: "lib/jquery",
|
|
"layui.all": "dest/layui.all"
|
|
};
|
|
o.modules = {},
|
|
o.dir = '../addons/{MODULE_NAME}/web/resource/components/layui/',
|
|
o.status = {},
|
|
o.timeout = 10,
|
|
o.event = {},
|
|
t.fn.define = function(e, t) {
|
|
var n = this,
|
|
i = "function" == typeof e,
|
|
r = function() {
|
|
return "function" == typeof t && t(function(e, t) {
|
|
layui[e] = t,
|
|
o.status[e] = !0
|
|
}),
|
|
this
|
|
};
|
|
return i && (t = e, e = []),
|
|
layui["layui.all"] ? r.call(n) : (n.use(e, r), n)
|
|
},
|
|
t.fn.use = function(e, t, a) {
|
|
function s(e, t) {
|
|
var n = "PLaySTATION 3" === navigator.platform ? /^complete$/: /^(complete|loaded)$/; ("load" === e.type || n.test((e.currentTarget || e.srcElement).readyState)) && (o.modules[m] = t, y.removeChild(p),
|
|
function i() {
|
|
return++v > 1e3 * o.timeout / 4 ? r(m + " is not a valid module") : void(o.status[m] ? c() : setTimeout(i, 4))
|
|
} ())
|
|
}
|
|
function c() {
|
|
a.push(layui[m]),
|
|
e.length > 1 ? f.use(e.slice(1), t, a) : "function" == typeof t && t.apply(layui, a)
|
|
}
|
|
var f = this,
|
|
d = o.dir = o.dir ? o.dir: i,
|
|
y = n.getElementsByTagName("head")[0];
|
|
e = "string" == typeof e ? [e] : e,
|
|
window.jQuery && jQuery.fn.on && (f.each(e,
|
|
function(t, n) {
|
|
"jquery" === n && e.splice(t, 1)
|
|
}), layui.jquery = jQuery);
|
|
var m = e[0],
|
|
v = 0;
|
|
if (a = a || [], o.host = o.host || (d.match(/\/\/([\s\S]+?)\//) || ["//" + location.host + "/"])[0], 0 === e.length) return t();
|
|
var p = n.createElement("script"),
|
|
h = (u[m] ? d + "lay/": o.base || "") + (f.modules[m] || m) + ".js";
|
|
return p.async = !0,
|
|
p.charset = "utf-8",
|
|
p.src = h +
|
|
function() {
|
|
var e = o.version === !0 ? o.v || (new Date).getTime() : o.version || "";
|
|
return e ? "?v=" + e: ""
|
|
} (),
|
|
o.modules[m] ? !
|
|
function g() {
|
|
return++v > 1e3 * o.timeout / 4 ? r(m + " is not a valid module") : void("string" == typeof o.modules[m] && o.status[m] ? c() : setTimeout(g, 4))
|
|
} () : (y.appendChild(p), !p.attachEvent || p.attachEvent.toString && p.attachEvent.toString().indexOf("[native code") < 0 || l ? p.addEventListener("load",
|
|
function(e) {
|
|
s(e, h)
|
|
},
|
|
!1) : p.attachEvent("onreadystatechange",
|
|
function(e) {
|
|
s(e, h)
|
|
})),
|
|
o.modules[m] = h,
|
|
f
|
|
},
|
|
t.fn.all = function(e) {
|
|
return this.use("layui.all", e),
|
|
this
|
|
},
|
|
t.fn.getStyle = function(t, n) {
|
|
var o = t.currentStyle ? t.currentStyle: e.getComputedStyle(t, null);
|
|
return o[o.getPropertyValue ? "getPropertyValue": "getAttribute"](n)
|
|
},
|
|
t.fn.link = function(e, t, i) {
|
|
var l = this,
|
|
u = n.createElement("link"),
|
|
a = n.getElementsByTagName("head")[0];
|
|
"string" == typeof t && (i = t);
|
|
var s = (i || e).replace(/\.|\//g, ""),
|
|
c = u.id = "layuicss-" + s,
|
|
f = 0;
|
|
u.rel = "stylesheet",
|
|
u.href = e + (o.debug ? "?v=" + (new Date).getTime() : ""),
|
|
u.media = "all",
|
|
n.getElementById(c) || a.appendChild(u),
|
|
"function" == typeof t && !
|
|
function d() {
|
|
return++f > 1e3 * o.timeout / 100 ? r(e + " timeout") : void(1989 === parseInt(l.getStyle(n.getElementById(c), "width")) ?
|
|
function() {
|
|
t()
|
|
} () : setTimeout(d, 100))
|
|
} ()
|
|
},
|
|
t.fn.addcss = function(e, t, n) {
|
|
layui.link(o.dir + "css/" + e, t, n)
|
|
},
|
|
t.fn.img = function(e, t, n) {
|
|
var o = new Image;
|
|
return o.src = e,
|
|
o.complete ? t(o) : (o.onload = function() {
|
|
o.onload = null,
|
|
t(o)
|
|
},
|
|
void(o.onerror = function(e) {
|
|
o.onerror = null,
|
|
n(e)
|
|
}))
|
|
},
|
|
t.fn.config = function(e) {
|
|
e = e || {};
|
|
for (var t in e) o[t] = e[t];
|
|
return this
|
|
},
|
|
t.fn.modules = function() {
|
|
var e = {};
|
|
for (var t in u) e[t] = u[t];
|
|
return e
|
|
} (),
|
|
t.fn.extend = function(e) {
|
|
var t = this;
|
|
e = e || {};
|
|
for (var n in e) t[n] || t.modules[n] ? r("模块名 " + n + " 已被占用") : t.modules[n] = e[n];
|
|
return t
|
|
},
|
|
t.fn.router = function(e) {
|
|
for (var t, n = (e || location.hash).replace(/^#/, "").split("/") || [], o = {
|
|
dir: []
|
|
},
|
|
i = 0; i < n.length; i++) t = n[i].split("="),
|
|
/^\w+=/.test(n[i]) ?
|
|
function() {
|
|
"dir" !== t[0] && (o[t[0]] = t[1])
|
|
} () : o.dir.push(n[i]),
|
|
t = null;
|
|
return o
|
|
},
|
|
t.fn.data = function(t, n) {
|
|
if (t = t || "layui", e.JSON && e.JSON.parse) {
|
|
if (null === n) return delete localStorage[t];
|
|
n = "object" == typeof n ? n: {
|
|
key: n
|
|
};
|
|
try {
|
|
var o = JSON.parse(localStorage[t])
|
|
} catch(i) {
|
|
var o = {}
|
|
}
|
|
return n.value && (o[n.key] = n.value),
|
|
n.remove && delete o[n.key],
|
|
localStorage[t] = JSON.stringify(o),
|
|
n.key ? o[n.key] : o
|
|
}
|
|
},
|
|
t.fn.device = function(t) {
|
|
var n = navigator.userAgent.toLowerCase(),
|
|
o = function(e) {
|
|
var t = new RegExp(e + "/([^\\s\\_\\-]+)");
|
|
return e = (n.match(t) || [])[1],
|
|
e || !1
|
|
},
|
|
i = {
|
|
os: function() {
|
|
return /windows/.test(n) ? "windows": /linux/.test(n) ? "linux": /iphone|ipod|ipad|ios/.test(n) ? "ios": void 0
|
|
} (),
|
|
ie: function() {
|
|
return !! (e.ActiveXObject || "ActiveXObject" in e) && ((n.match(/msie\s(\d+)/) || [])[1] || "11")
|
|
} (),
|
|
weixin: o("micromessenger")
|
|
};
|
|
return t && !i[t] && (i[t] = o(t)),
|
|
i.android = /android/.test(n),
|
|
i.ios = "ios" === i.os,
|
|
i
|
|
},
|
|
t.fn.hint = function() {
|
|
return {
|
|
error: r
|
|
}
|
|
},
|
|
t.fn.each = function(e, t) {
|
|
var n, o = this;
|
|
if ("function" != typeof t) return o;
|
|
if (e = e || [], e.constructor === Object) {
|
|
for (n in e) if (t.call(e[n], n, e[n])) break
|
|
} else for (n = 0; n < e.length && !t.call(e[n], n, e[n]); n++);
|
|
return o
|
|
},
|
|
t.fn.stope = function(t) {
|
|
t = t || e.event,
|
|
t.stopPropagation ? t.stopPropagation() : t.cancelBubble = !0
|
|
},
|
|
t.fn.onevent = function(e, t, n) {
|
|
return "string" != typeof e || "function" != typeof n ? this: (o.event[e + "." + t] = [n], this)
|
|
},
|
|
t.fn.event = function(e, t, n) {
|
|
var i = this,
|
|
r = null,
|
|
l = t.match(/\(.*\)$/) || [],
|
|
u = (t = e + "." + t).replace(l, ""),
|
|
a = function(e, t) {
|
|
var o = t && t.call(i, n);
|
|
o === !1 && null === r && (r = !1)
|
|
};
|
|
return layui.each(o.event[u], a),
|
|
l[0] && layui.each(o.event[t], a),
|
|
r
|
|
},
|
|
e.layui = new t
|
|
} (window);
|