| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407 |
- /** layuiAdmin-v1.0.0-beta6 LPPL License By http://www.layui.com/admin/ */
- ;
- layui.define("view",
- function(e) {
- var a = layui.jquery,
- i = layui.laytpl,
- t = layui.element,
- n = layui.setter,
- s = layui.view,
- l = layui.device(),
- r = a(window),
- o = a("body"),
- u = a("#" + n.container),
- d = "layui-show",
- c = "layui-this",
- y = "#LAY_app_body",
- m = "LAY_app_flexible",
- f = "layadmin-side-spread-sm",
- h = "layadmin-tabsbody-item",
- p = "layui-icon-shrink-right",
- v = "layui-icon-spread-left",
- b = "layadmin-side-shrink",
- g = "LAY-system-side-menu",
- x = {
- v: "1.0.0-beta6",
- req: s.req,
- screen: function() {
- var e = r.width();
- return e >= 1200 ? 3 : e >= 992 ? 2 : e >= 768 ? 1 : 0
- },
- exit: s.exit,
- sideFlexible: function(e) {
- var i = u,
- t = a("#" + m),
- s = x.screen();
- "spread" === e ? (t.removeClass(v).addClass(p), s < 2 ? i.addClass(f) : i.removeClass(f), i.removeClass(b)) : (t.removeClass(p).addClass(v), s < 2 ? i.removeClass(b) : i.addClass(b), i.removeClass(f)),
- layui.event.call(this, n.MOD_NAME, "side({*})", {
- status: e
- })
- },
- on: function(e, a) {
- return layui.onevent.call(this, n.MOD_NAME, e, a)
- },
- popup: s.popup,
- popupRight: function(e) {
- return x.popup.index = layer.open(a.extend({
- type: 1,
- id: "LAY_adminPopupR",
- anim: -1,
- title: false,
- closeBtn: false,
- offset: "r",
- shade: .1,
- shadeClose: !0,
- skin: "layui-anim layui-anim-rl layui-layer-adminRight",
- area: "300px"
- },
- e))
- },
- theme: function(e) {
- var t = (n.theme, layui.data(n.tableName)),
- s = "LAY_layadmin_theme",
- l = document.createElement("style"),
- r = i([".layui-side-menu,", ".layadmin-pagetabs .layui-tab-title li:after,", ".layadmin-pagetabs .layui-tab-title li.layui-this:after,", ".layui-layer-admin .layui-layer-title,", ".layadmin-side-shrink .layui-side-menu .layui-nav>.layui-nav-item>.layui-nav-child", "{background-color:{{d.color.main}} !important;}", ".layui-nav-tree .layui-this,", ".layui-nav-tree .layui-this>a,", ".layui-nav-tree .layui-nav-child dd.layui-this,", ".layui-nav-tree .layui-nav-child dd.layui-this a", "{background-color:{{d.color.selected}} !important;}", ".layui-layout-admin .layui-logo{background-color:{{d.color.logo || d.color.main}} !important;}}"].join("")).render(e = a.extend({},
- t.theme, e)),
- u = document.getElementById(s);
- "styleSheet" in l ? (l.setAttribute("type", "text/css"), l.styleSheet.cssText = r) : l.innerHTML = r,
- l.id = s,
- u && o[0].removeChild(u),
- o[0].appendChild(l),
- o.attr("layadmin-themealias", e.color.alias),
- t.theme = t.theme || {},
- layui.each(e,
- function(e, a) {
- t.theme[e] = a
- }),
- layui.data(n.tableName, {
- key: "theme",
- value: t.theme
- })
- },
- tabsPage: {},
- tabsBody: function(e) {
- return a(y).find("." + h).eq(e || 0)
- },
- tabsBodyChange: function(e) {
- x.tabsBody(e).addClass(d).siblings().removeClass(d),
- C.rollPage("auto", e)
- },
- resize: function(e) {
- var a = layui.router(),
- i = a.path.join("-");
- r.off("resize", x.resizeFn[i]),
- e(),
- x.resizeFn[i] = e,
- r.on("resize", x.resizeFn[i])
- },
- resizeFn: {},
- runResize: function() {
- var e = layui.router(),
- a = e.path.join("-");
- x.resizeFn[a] && x.resizeFn[a]()
- },
- delResize: function() {
- var e = layui.router(),
- a = e.path.join("-");
- r.off("resize", x.resizeFn[a]),
- delete x.resizeFn[a]
- },
- correctRouter: function(e) {
- return /^\//.test(e) || (e = "/" + e),
- e.replace(/^(\/+)/, "/").replace(new RegExp("/" + n.entry + "$"), "/")
- },
- closeThisTabs: function() {
- x.tabsPage.index && a(z).eq(x.tabsPage.index).find(".layui-tab-close").trigger("click")
- }
- },
- C = x.events = {
- flexible: function(e) {
- var a = e.find("#" + m),
- i = a.hasClass(v);
- x.sideFlexible(i ? "spread": null)
- },
- refresh: function() {
- layui.index.render()
- },
- message: function(e) {
- e.find(".layui-badge-dot").remove()
- },
- theme: function() {
- x.popupRight({
- id: "LAY_adminPopupTheme",
- success: function() {
- s(this.id).render("system/theme")
- }
- })
- },
- note: function(e) {
- var a = x.screen() < 2,
- i = layui.data(n.tableName).note;
- C.note.index = x.popup({
- title: "便签",
- shade: 0,
- offset: ["41px", a ? null : e.offset().left - 250 + "px"],
- anim: -1,
- id: "LAY_adminNote",
- skin: "layadmin-note layui-anim layui-anim-upbit",
- content: '<textarea placeholder="内容"></textarea>',
- resize: false,
- success: function(e, a) {
- var t = e.find("textarea"),
- s = void 0 === i ? "便签中的内容会存储在本地,这样即便你关掉了浏览器,在下次打开时,依然会读取到上一次的记录。是个非常小巧实用的本地备忘录" : i;
- t.val(s)
- .focus()
- .on("keyup",
- function() {
- layui.data(n.tableName,
- {
- key: "note",
- value: this.value
- });
- });
- }
- });
- },
- about: function() {
- x.popupRight({
- id: "LAY_adminPopupAbout",
- success: function() {
- s(this.id).render("system/about")
- }
- });
- },
- more: function() {
- x.popupRight({
- id: "LAY_adminPopupMore",
- success: function() {
- s(this.id).render("system/more")
- }
- });
- },
- back: function() {
- history.back();
- },
- setTheme: function(e) {
- var a = n.theme,
- i = e.data("index");
- e.siblings(".layui-this").data("index");
- e.hasClass(c) ||
- (e.addClass(c).siblings(".layui-this").removeClass(c), a.color[i] &&
- (a.color[i].index = i, x.theme({
- color: a.color[i]
- })));
- },
- rollPage: function(e, i) {
- var t = a("#LAY_app_tabsheader"),
- n = t.children("li"),
- s = (t.prop("scrollWidth"), t.outerWidth()),
- l = parseFloat(t.css("left"));
- if ("left" === e) {
- if (!l && l <= 0) return;
- var r = -l - s;
- n.each(function(e, i) {
- var n = a(i),
- s = n.position().left;
- if (s >= r)
- return t.css("left", -s),
- false;
- });
- } else
- "auto" === e
- ? !
- function() {
- var e, r = n.eq(i);
- if (r[0]) {
- if (e = r.position().left, e < -l) return t.css("left", -e);
- if (e + r.outerWidth() >= s - l) {
- var o = e + r.outerWidth() - (s - l);
- n.each(function(e, i) {
- var n = a(i),
- s = n.position().left;
- if (s + l > 0 && s - l > o)
- return t.css("left", -s),
- false;
- });
- }
- }
- }()
- : n.each(function(e, i) {
- var n = a(i),
- r = n.position().left;
- if (r + n.outerWidth() >= s - l)
- return t.css("left", -r),
- false;
- });
- },
- leftPage: function() {
- C.rollPage("left");
- },
- rightPage: function() {
- C.rollPage();
- },
- closeThisTabs: function() {
- x.closeThisTabs();
- },
- closeOtherTabs: function(e) {
- var i = "LAY-system-pagetabs-remove";
- "all" === e
- ? (a(z + ":gt(0)").remove(), a(y).find("." + h + ":gt(0)").remove())
- : (a(z)
- .each(function(e, t) {
- e && e != x.tabsPage.index && (a(t).addClass(i), x.tabsBody(e).addClass(i))
- }), a("." + i).remove());
- },
- closeAllTabs: function() {
- C.closeOtherTabs("all"),
- location.hash = ""
- },
- shade: function() {
- x.sideFlexible();
- }
- }; !
- function() {
- var e = layui.data(n.tableName);
- e.theme && x.theme(e.theme),
- o.addClass("layui-layout-body"),
- x.screen() < 1 && delete n.pageTabs,
- n.pageTabs || u.addClass("layadmin-tabspage-none"),
- l.ie && l.ie < 10 && s.error("IE" + l.ie + "下访问可能不佳,推荐使用:Chrome / Firefox / Edge 等高级浏览器", {
- offset: "auto",
- id: "LAY_errorIE"
- })
- }(),
- x.on("hash(side)",
- function(e) {
- var i = e.path,
- t = function(e) {
- return {
- list: e.children(".layui-nav-child"),
- name: e.data("name"),
- jump: e.data("jump")
- }
- },
- n = a("#" + g),
- s = "layui-nav-itemed",
- l = function(e) {
- var n = x.correctRouter(i.join("/"));
- e.each(function(e, l) {
- var r = a(l),
- o = t(r),
- u = o.list.children("dd"),
- d = i[0] == o.name || 0 === e && !i[0] || o.jump && n == x.correctRouter(o.jump);
- if (u.each(function(e, l) {
- var r = a(l),
- u = t(r),
- d = u.list.children("dd"),
- y = i[0] == o.name && i[1] == u.name || u.jump && n == x.correctRouter(u.jump);
- if (d.each(function(e, l) {
- var r = a(l),
- d = t(r),
- y = i[0] == o.name && i[1] == u.name && i[2] == d.name || d.jump && n == x.correctRouter(d.jump);
- if (y) {
- var m = d.list[0] ? s: c;
- return r.addClass(m).siblings().removeClass(m),
- false
- }
- }), y) {
- var m = u.list[0] ? s: c;
- return r.addClass(m).siblings().removeClass(m),
- false
- }
- }), d) {
- var y = o.list[0] ? s: c;
- return r.addClass(y).siblings().removeClass(y),
- false
- }
- })
- };
- n.find("." + c).removeClass(c),
- x.screen() < 2 && x.sideFlexible(),
- l(n.children("li"))
- }),
- t.on("nav(layadmin-system-side-menu)",
- function(e) {
- e.siblings(".layui-nav-child")[0] && u.hasClass(b) && (x.sideFlexible("spread"), layer.close(e.data("index")))
- }),
- t.on("nav(layadmin-pagetabs-nav)",
- function(e) {
- var a = e.parent();
- a.removeClass(c),
- a.parent().removeClass(d)
- });
- var k = function(e) {
- var a = e.attr("lay-id"),
- i = e.index();
- x.tabsBodyChange(i),
- location.hash = a === n.entry ? "/": a
- },
- z = "#LAY_app_tabsheader>li";
- o.on("click", z,
- function() {
- var e = a(this),
- i = e.index();
- return x.tabsPage.type = "tab",
- x.tabsPage.index = i,
- "iframe" === e.attr("lay-attr") ? x.tabsBodyChange(i) : (k(e), void x.runResize())
- }),
- t.on("tabDelete(layadmin-layout-tabs)",
- function(e) {
- var i = a(z + ".layui-this");
- e.index && x.tabsBody(e.index).remove(),
- k(i),
- x.delResize()
- }),
- o.on("click", "*[lay-href]",
- function() {
- var e = a(this),
- i = e.attr("lay-href");
- layui.router();
- x.tabsPage.elem = e,
- location.hash = x.correctRouter(i)
- }),
- o.on("click", "*[layadmin-event]",
- function() {
- var e = a(this),
- i = e.attr("layadmin-event");
- C[i] && C[i].call(this, e)
- }),
- o.on("mouseenter", "*[lay-tips]",
- function() {
- var e = a(this);
- if (!e.parent().hasClass("layui-nav-item") || u.hasClass(b)) {
- var i = e.attr("lay-tips"),
- t = e.attr("lay-offset"),
- n = e.attr("lay-direction"),
- s = layer.tips(i, this, {
- tips: n || 1,
- time: -1,
- success: function(e, a) {
- t && e.css("margin-left", t + "px")
- }
- });
- e.data("index", s)
- }
- }).on("mouseleave", "*[lay-tips]",
- function() {
- layer.close(a(this).data("index"))
- });
- var A = layui.data.resizeSystem = function() {
- layer.closeAll("tips"),
- A.isDelete || setTimeout(function() {
- x.sideFlexible(x.screen() < 2 ? "": "spread"),
- delete A.isDelete
- },
- 100),
- A.isDelete = !0
- };
- r.on("resize", layui.data.resizeSystem),
- e("admin", x)
- });
- ;
- //data: (unavailable)
- //data[i].children: (unavailable)
|