Breadcrumb-ca745fe7.js 3.1 KB

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