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
960 B
2 lines
960 B
import{r as b,ck as u,cb as m,m as d,J as x,cl as p,K as T,cm as l}from"./index-f4658ae7.js";import{useSortable as g}from"./useSortable-96cfdd3a.js";function h(){const s=b([]),r=u(),o=m();function f(a){const t=[];return a&&a.forEach(e=>{e.meta&&e.meta.affix&&t.push(T(e))}),t}function c(){const a=f(o.getRoutes());s.value=a;for(const t of a)r.addTab({meta:t.meta,name:t.name,path:t.path})}let i=!1;return i||(c(),i=!0),s.value.map(a=>{var t;return(t=a.meta)==null?void 0:t.title}).filter(Boolean)}function v(s){const r=u(),{multiTabsSetting:o}=p,{prefixCls:f}=d("multiple-tabs");x(()=>{var a;if(!o.canDrag)return;const c=(a=document.querySelectorAll(`.${f} .ant-tabs-nav-wrap > div`))==null?void 0:a[0],{initSortable:i}=g(c,{filter:t=>{var n;const e=(n=t==null?void 0:t.target)==null?void 0:n.innerText;return e?s.includes(e):!1},onEnd:t=>{const{oldIndex:e,newIndex:n}=t;l(e)||l(n)||e===n||r.sortTabs(e,n)}});i()})}export{h as initAffixTabs,v as useTabsDrag};
|