Index.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. /** layuiAdmin-v1.0.0-beta6 LPPL License By http://www.layui.com/admin/ */
  2. ;
  3. layui.extend({
  4. setter: "config",
  5. admin: "lib/admin",
  6. view: "lib/view"
  7. }).define(["setter", "admin"],
  8. function (e) {
  9. var a = layui.setter,
  10. n = layui.element,
  11. i = layui.admin,
  12. t = i.tabsPage,
  13. l = layui.view,
  14. o = function () {
  15. var e = layui.router(),
  16. r = e.path,
  17. y = i.correctRouter(e.path.join("/"));
  18. r.length || (r = [""]),
  19. "" === r[r.length - 1] && (r[r.length - 1] = a.entry);
  20. var h = function (e) {
  21. o.haveInit && layer.closeAll(),
  22. o.haveInit = !0,
  23. s(d).scrollTop(0),
  24. delete t.type
  25. };
  26. return "tab" === t.type && ("/" !== y || "/" === y && i.tabsBody().html()) ? (i.tabsBodyChange(t.index), h(t.type)) : (l().render(r.join("/")).then(function (l) {
  27. var o, r = s("#LAY_app_tabsheader>li");
  28. r.each(function (e) {
  29. var a = s(this),
  30. n = a.attr("lay-id");
  31. n === y && (o = !0, t.index = e)
  32. }),
  33. a.pageTabs && "/" !== y && (o || (s(d).append('<div class="layadmin-tabsbody-item layui-show"></div>'), t.index = r.length, n.tabAdd(u, {
  34. title: "<span>" + (l.title || "新标签页") + "</span>",
  35. id: y,
  36. attr: e.href
  37. }))),
  38. this.container = i.tabsBody(t.index),
  39. n.tabChange(u, y),
  40. i.tabsBodyChange(t.index)
  41. }).done(function () {
  42. layui.use("common", layui.cache.callback.common),
  43. c.on("resize", layui.data.resize),
  44. n.render("breadcrumb", "breadcrumb"),
  45. i.tabsBody(t.index).on("scroll",
  46. function () {
  47. var e = s(this),
  48. a = s(".layui-laydate"),
  49. n = s(".layui-layer")[0];
  50. a[0] && (a.each(function () {
  51. var e = s(this);
  52. e.hasClass("layui-laydate-static") || e.remove()
  53. }), e.find("input").blur()),
  54. n && layer.closeAll("tips")
  55. })
  56. }), void h())
  57. },
  58. r = function (e) {
  59. var n, t = layui.router(),
  60. r = l(a.container),
  61. d = i.correctRouter(t.path.join("/"));
  62. if (layui.each(a.indPage,
  63. function (e, a) {
  64. if (d === a) return n = !0
  65. }), layui.config({
  66. base: a.base + "controller/"
  67. }), n || "/user/login" === d) r.render(t.path.join("/")).done(function () {
  68. i.pageType = "alone"
  69. });
  70. else {
  71. if (a.interceptor) {
  72. var u = layui.data(a.tableName);
  73. if (!u[a.request.tokenName]) return location.hash = "/user/login/redirect=" + encodeURIComponent(d)
  74. }
  75. "console" === i.pageType ? o() : r.render("layout").done(function () {
  76. o(),
  77. layui.element.render(),
  78. i.screen() < 2 && i.sideFlexible(),
  79. i.pageType = "console"
  80. })
  81. }
  82. },
  83. d = "#LAY_app_body",
  84. u = "layadmin-layout-tabs",
  85. s = layui.$,
  86. c = s(window);
  87. layui.link(a.base + "style/admin.css?v=" + (i.v + "-1"),
  88. function () {
  89. r()
  90. },
  91. "layuiAdmin"),
  92. window.onhashchange = function () {
  93. r(),
  94. layui.event.call(this, a.MOD_NAME, "hash({*})", layui.router())
  95. },
  96. layui.each(a.extend,
  97. function (e, n) {
  98. var i = {};
  99. i[n] = "{/}" + a.base + "lib/extend/" + n,
  100. layui.extend(i)
  101. }),
  102. e("index", {
  103. render: o
  104. })
  105. });