Files
jiapu/dist/public/js/lay-module/layuimini/miniMenu.js
T

2 lines
5.6 KiB
JavaScript

layui.define(["element","laytpl","jquery"],function(M){var r=layui.element,l=layui.$,f=layui.laytpl,t=layui.layer,s={render:function(i){i.menuList=i.menuList||[],i.multiModule=i.multiModule||!1,i.menuChildOpen=i.menuChildOpen||!1,i.multiModule?s.renderMultiModule(i.menuList,i.menuChildOpen):s.renderSingleModule(i.menuList,i.menuChildOpen),s.listen()},renderSingleModule:function(i,e){i=i||[];var a="",n="",u="layui-this",d=this;e&&(n=" layui-nav-itemed"),a=this.renderLeftMenu(i,{childOpenClass:n}),l(".layui-layout-body").addClass("layuimini-single-module"),l(".layuimini-header-menu").remove(),l(".layuimini-menu-left").html(a),r.init()},compileMenu:function(i,e){var a='<li {{#if( d.menu){ }} data-menu="{{d.menu}}" {{#}}} class="layui-nav-item menu-li {{d.childOpenClass}} {{d.className}}" {{#if( d.id){ }} id="{{d.id}}" {{#}}}> <a href="javascript:;" {{#if( d.menu){ }} data-menu="{{d.menu}}" {{#}}} {{#if( d.dizhi){ }} layuimini-href="{{d.dizhi}}" {{#}}} {{#if( d.target){ }} target="{{d.target}}" {{#}}}>{{#if( d.icon){ }} <i class="layui-icon layui-icon-{{d.icon}}"></i> {{#}}} <span class="layui-left-nav {{-d.title}}">{{-d.title}}</span></a> {{# if(d.children){}} {{-d.children}} {{#}}} </li>';return e&&(a='<dd class="menu-dd {{d.childOpenClass}} {{ d.className }}"> <a href="javascript:;" {{#if( d.menu){ }} data-menu="{{d.menu}}" {{#}}} {{#if( d.id){ }} id="{{d.id}}" {{#}}} {{#if(( !d.children || !d.children.length ) && d.dizhi){ }} layuimini-href="{{d.dizhi}}" {{#}}} {{#if( d.target){ }} target="{{d.target}}" {{#}}}> {{#if( d.icon){ }} <i class="layui-icon layui-icon-{{d.icon}}"></i> {{#}}} <span class="layui-left-nav {{-d.title}}"> {{-d.title}}</span></a> {{# if(d.children){}} {{-d.children}} {{#}}}</dd>'),f(a).render(i)},compileMenuContainer:function(i,e){var a='<ul class="layui-nav layui-nav-tree layui-left-nav-tree {{d.className}}" id="{{d.id}}">{{-d.children}}</ul>';return e&&(a='<dl class="layui-nav-child">{{-d.children}}</dl>'),i.children?f(a).render(i):""},each:function(i,e){for(var a=[],n=0,u=i.length;n<u;n++)a[n]=e(n,i[n]);return a},renderChildrenMenu:function(i,e){var a=this;i=i||[];var n=this.each(i,function(u,d){return d.children&&d.children.length&&(d.children=a.renderChildrenMenu(d.children,{childOpenClass:e.childOpenClass||""})),d.className="",d.childOpenClass=e.childOpenClass||"",a.compileMenu(d,!0)}).join("");return a.compileMenuContainer({children:n},!0)},renderLeftMenu:function(i,e){e=e||{};var a=this,n=a.each(i||[],function(u,d){var o=a.renderChildrenMenu(d.children,{childOpenClass:e.childOpenClass}),c=a.compileMenu({href:d.href,dizhi:d.dizhi,id:d.id,target:d.target,childOpenClass:e.childOpenClass,icon:d.icon,title:d.title,children:o,className:""});return c}).join("");return n=a.compileMenuContainer({id:e.parentMenuId,className:e.leftMenuCheckDefault,children:n}),n},renderMultiModule:function(i,e){i=i||[];var a=this,v="",n="",u="",d="layui-this",o="",c="layui-this";e&&(o=" layui-nav-itemed");var v=this.each(i,function(p,m){var y="multi_module_"+p,h=y+"HeaderId",C="";return C=a.compileMenu({className:c,menu:y,id:h,title:m.title,href:"",target:"",children:""}),u+=a.renderLeftMenu(m.children,{parentMenuId:y,childOpenClass:o,leftMenuCheckDefault:d}),n+=a.compileMenu({id:h,menu:y,id:h,icon:m.icon,title:m.title},!0),c="",d="layui-hide",C}).join("");l(".layui-layout-body").addClass("layuimini-multi-module"),l(".layuimini-menu-header-pc").html(v),l(".layuimini-menu-left").html(u),l(".layuimini-menu-header-mobile").html(n),r.init()},listen:function(){l("body").on("click","[data-menu]",function(){var i=t.load(0,{shade:!1,time:2e3}),e=l(this).attr("data-menu");l(".layuimini-header-menu .layui-nav-item.layui-this").removeClass("layui-this"),l(this).addClass("layui-this"),l(".layuimini-menu-left .layui-nav.layui-nav-tree.layui-this").addClass("layui-hide"),l(".layuimini-menu-left .layui-nav.layui-nav-tree.layui-this.layui-hide").removeClass("layui-this"),l("#"+e).removeClass("layui-hide"),l("#"+e).addClass("layui-this"),t.close(i)}),l("body").on("click",".layuimini-site-mobile",function(){var i=t.load(0,{shade:!1,time:2e3}),e=l(".layuimini-tool [data-side-fold]").attr("data-side-fold");e==1?(l(".layuimini-tool [data-side-fold]").attr("data-side-fold",0),l(".layuimini-tool [data-side-fold]").attr("class","layui-icon layui-icon-spread-left"),l(".layui-layout-body").removeClass("layuimini-all"),l(".layui-layout-body").addClass("layuimini-mini")):(l(".layuimini-tool [data-side-fold]").attr("data-side-fold",1),l(".layuimini-tool [data-side-fold]").attr("class","layui-icon layui-icon-shrink-right"),l(".layui-layout-body").removeClass("layuimini-mini"),l(".layui-layout-body").addClass("layuimini-all"),t.close(window.openTips)),r.init(),t.close(i)}),l("body").on("click","[data-side-fold]",function(){var i=t.load(0,{shade:!1,time:2e3}),e=l(".layuimini-tool [data-side-fold]").attr("data-side-fold");e==1?(l(".layuimini-tool [data-side-fold]").attr("data-side-fold",0),l(".layuimini-tool [data-side-fold]").attr("class","layui-icon layui-icon-spread-left"),l(".layui-layout-body").removeClass("layuimini-all"),l(".layui-layout-body").addClass("layuimini-mini")):(l(".layuimini-tool [data-side-fold]").attr("data-side-fold",1),l(".layuimini-tool [data-side-fold]").attr("class","layui-icon layui-icon-shrink-right"),l(".layui-layout-body").removeClass("layuimini-mini"),l(".layui-layout-body").addClass("layuimini-all"),t.close(window.openTips)),r.init(),t.close(i)}),l("body").on("click",".layuimini-header-menu.layuimini-mobile-show dd",function(){var i=t.load(0,{shade:!1,time:2e3}),e=l(".layuimini-tool [data-side-fold]").attr("data-side-fold");e==="1"&&(l(".layuimini-site-mobile").trigger("click"),r.init()),t.close(i)})}};M("miniMenu",s)});