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.
2 lines
3.1 KiB
2 lines
3.1 KiB
var T=Object.defineProperty,V=Object.defineProperties;var G=Object.getOwnPropertyDescriptors;var M=Object.getOwnPropertySymbols;var L=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var R=(e,t,s)=>t in e?T(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,k=(e,t)=>{for(var s in t||(t={}))L.call(t,s)&&R(e,s,t[s]);if(M)for(var s of M(t))O.call(t,s)&&R(e,s,t[s]);return e},y=(e,t)=>V(e,G(t));var P=(e,t,s)=>new Promise((h,f)=>{var g=l=>{try{d(s.next(l))}catch(c){f(c)}},p=l=>{try{d(s.throw(l))}catch(c){f(c)}},d=l=>l.done?h(l.value):Promise.resolve(l.value).then(g,p);d((s=s.apply(e,t)).next())});import{d as z,bY as H,ay as U,r as Y,cb as j,m as q,aD as x,c7 as F,G as J,e as K,ak as Q,eH as W,cg as X,co as Z,bM as ee,aT as te,aU as B,o as b,g as w,b as ne,w as E,a as A,i as ae,t as D,h as se,x as re}from"./index-f4658ae7.js";import{B as S}from"./index-7b2b594b.js";const oe=z({name:"LayoutBreadcrumb",components:{Icon:H,[S.name]:S},props:{theme:U.oneOf(["dark","light"])},setup(){const e=Y([]),{currentRoute:t}=j(),{prefixCls:s}=q("layout-breadcrumb"),{getShowBreadCrumbIcon:h}=x(),f=F(),{t:g}=K();J(()=>P(this,null,function*(){var C,I,$;if(t.value.name===W)return;const r=yield X(),n=t.value.matched,a=n==null?void 0:n[n.length-1];let o=t.value.path;a&&((C=a==null?void 0:a.meta)!=null&&C.currentActiveMenu)&&(o=a.meta.currentActiveMenu);const u=Z(r,o),m=r.filter(N=>N.path===u[0]),i=p(m,u);if(!i||i.length===0)return;const v=d(i);(I=t.value.meta)!=null&&I.currentActiveMenu&&v.push(y(k({},t.value),{name:(($=t.value.meta)==null?void 0:$.title)||t.value.name})),e.value=v}));function p(r,n){const a=[];return r.forEach(o=>{var u,m;n.includes(o.path)&&a.push(y(k({},o),{name:((u=o.meta)==null?void 0:u.title)||o.name})),(m=o.children)!=null&&m.length&&a.push(...p(o.children,n))}),a}function d(r){return ee(r,n=>{const{meta:a,name:o}=n;if(!a)return!!o;const{title:u,hideBreadcrumb:m,hideMenu:i}=a;return!(!u||m||i)}).filter(n=>{var a;return!((a=n.meta)!=null&&a.hideBreadcrumb)})}function l(r,n,a){a==null||a.preventDefault();const{children:o,redirect:u,meta:m}=r;if(o!=null&&o.length&&!u){a==null||a.stopPropagation();return}if(!(m!=null&&m.carryParam))if(u&&Q(u))f(u);else{let i="";n.length===1?i=n[0]:i=`${n.slice(1).pop()||""}`,i=/^\//.test(i)?i:`/${i}`,f(i)}}function c(r,n){return r.indexOf(n)!==r.length-1}function _(r){var n;return r.icon||((n=r.meta)==null?void 0:n.icon)}return{routes:e,t:g,prefixCls:s,getIcon:_,getShowBreadCrumbIcon:h,handleClick:l,hasRedirect:c}}});const ce={key:1};function ie(e,t,s,h,f,g){const p=B("Icon"),d=B("router-link"),l=B("a-breadcrumb");return b(),w("div",{class:re([e.prefixCls,`${e.prefixCls}--${e.theme}`])},[ne(l,{routes:e.routes},{itemRender:E(({route:c,routes:_,paths:r})=>[e.getShowBreadCrumbIcon&&e.getIcon(c)?(b(),A(p,{key:0,icon:e.getIcon(c)},null,8,["icon"])):ae("",!0),e.hasRedirect(_,c)?(b(),A(d,{key:2,to:"",onClick:n=>e.handleClick(c,r,n)},{default:E(()=>[se(D(e.t(c.name||c.meta.title)),1)]),_:2},1032,["onClick"])):(b(),w("span",ce,D(e.t(c.name||c.meta.title)),1))]),_:1},8,["routes"])],2)}const de=te(oe,[["render",ie]]);export{de as default};
|