columnsAside.ae925187.js 3.6 KB

12
  1. import{L as R,i as H,s as M,aD as F,aG as j,a2 as z,l as E,a1 as U,aJ as V,j as G,al as $,o as c,a as d,Z as _,T as J,b as m,F as Y,ac as Z,O as C,u as f,Y as O,n as q}from"./vue.e1d8f8c6.js";import{B as K,u as Q,e as i,a5 as W,_ as X}from"./index.6ed0cd31.js";const ee={class:"layout-columns-aside"},te=["onClick","onMouseenter","title"],se={class:"columns-vertical-title font12"},ne=["href"],oe={class:"columns-vertical-title font12"},le=R({name:"layoutColumnsAside"}),ie=R({...le,setup(ae){const v=H([]),A=H(),h=K(),k=Q(),{routesList:x,isColumnsMenuHover:T,isColumnsNavHover:b}=M(h),{themeConfig:a}=M(k),y=F(),g=j(),t=z({columnsAsideList:[],liIndex:0,liOldIndex:null,liHoverIndex:null,liOldPath:null,difference:0,routeSplit:[]}),L=e=>{t.liIndex=e,A.value.style.top=`${v.value[e].offsetTop+t.difference}px`},D=(e,s)=>{L(s);let{path:o,redirect:l}=e;l?g.push(l):g.push(o)},w=(e,s)=>{if(!a.value.isColumnsMenuHoverPreload)return!1;let{path:o}=e;t.liOldPath=o,t.liOldIndex=s,t.liHoverIndex=s,i.emit("setSendColumnsChildren",r(o)),h.setColumnsMenuHover(!1),h.setColumnsNavHover(!0)},P=async()=>{await h.setColumnsNavHover(!1),setTimeout(()=>{!T&&!b&&i.emit("restoreDefault")},100)},S=e=>{q(()=>{L(e)})},N=()=>{var s;t.columnsAsideList=I(x.value);const e=r(y.path);if(Object.keys(e).length<=0)return!1;S((s=e.item)==null?void 0:s.k),i.emit("setSendColumnsChildren",e)},r=e=>{const s=e.split("/");let o={children:[]};return t.columnsAsideList.map((l,n)=>{l.path===`/${s[1]}`&&(l.k=n,o.item={...l},o.children=[{...l}],l.children&&(o.children=l.children))}),o},I=e=>e.filter(s=>{var o;return!((o=s.meta)!=null&&o.isHide)}).map(s=>(s=Object.assign({},s),s.children&&(s.children=I(s.children)),s)),B=e=>{t.routeSplit=e.split("/"),t.routeSplit.shift();const s=`/${t.routeSplit[0]}`,o=t.columnsAsideList.find(l=>l.path===s);if(!o)return!1;setTimeout(()=>{S(o.k)},0)};return E(()=>{N(),i.on("restoreDefault",()=>{t.liOldIndex=null,t.liOldPath=null})}),U(()=>{i.off("restoreDefault",()=>{})}),V(e=>{B(e.path),i.emit("setSendColumnsChildren",r(e.path))}),G(W.state,e=>{if(e.themeConfig.themeConfig.columnsAsideStyle==="columnsRound"?t.difference=3:t.difference=0,!e.routesList.isColumnsMenuHover&&!e.routesList.isColumnsNavHover)t.liHoverIndex=null,i.emit("setSendColumnsChildren",r(y.path));else{if(t.liHoverIndex=t.liOldIndex,!t.liOldPath)return!1;i.emit("setSendColumnsChildren",r(t.liOldPath))}},{deep:!0}),(e,s)=>{const o=$("SvgIcon"),l=$("el-scrollbar");return c(),d("div",ee,[_(l,null,{default:J(()=>[m("ul",{onMouseleave:s[0]||(s[0]=n=>P())},[(c(!0),d(Y,null,Z(t.columnsAsideList,(n,u)=>(c(),d("li",{key:u,onClick:p=>D(n,u),onMouseenter:p=>w(n,u),ref_for:!0,ref:p=>{p&&(v.value[u]=p)},class:C({"layout-columns-active":t.liIndex===u,"layout-columns-hover":t.liHoverIndex===u}),title:e.$t(n.meta.title)},[!n.meta.isLink||n.meta.isLink&&n.meta.isIframe?(c(),d("div",{key:0,class:C(f(a).columnsAsideLayout)},[_(o,{name:n.meta.icon},null,8,["name"]),m("div",se,O(e.$t(n.meta.title)&&e.$t(n.meta.title).length>=4?e.$t(n.meta.title).substr(0,f(a).columnsAsideLayout==="columns-vertical"?4:3):e.$t(n.meta.title)),1)],2)):(c(),d("div",{key:1,class:C(f(a).columnsAsideLayout)},[m("a",{href:n.meta.isLink,target:"_blank"},[_(o,{name:n.meta.icon},null,8,["name"]),m("div",oe,O(e.$t(n.meta.title)&&e.$t(n.meta.title).length>=4?e.$t(n.meta.title).substr(0,f(a).columnsAsideLayout==="columns-vertical"?4:3):e.$t(n.meta.title)),1)],8,ne)],2))],42,te))),128)),m("div",{ref_key:"columnsAsideActiveRef",ref:A,class:C(f(a).columnsAsideStyle)},null,2)],32)]),_:1})])}}});const ce=X(ie,[["__scopeId","data-v-c97de0f1"],["__file","E:/code/wwwroot/local81.lzj/simple_storage/vue-next-admin/src/layout/component/columnsAside.vue"]]);export{ce as default};