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
2.4 KiB

import{d as K,r as x,ck as G,n as L,cb as N,m as Q,c7 as q,eD as z,f as h,u as c,eG as H,eH as U,aT as V,aU as r,o,g as v,b as w,bq as W,w as g,a as d,i as C,F as j,bt as J,x as O}from"./index-f4658ae7.js";import{T as E}from"./index-84fbff43.js";import X from"./TabContent-5af45e6d.js";import Y from"./FoldButton-1df3aff3.js";import Z from"./TabRedo-a2992abd.js";import{initAffixTabs as ee,useTabsDrag as te}from"./useMultipleTabs-ca272955.js";import"./useRefs-2f4603d7.js";import"./PlusOutlined-7b96f081.js";import"./useTabDropdown-dc504d39.js";import"./types-577cf6cb.js";import"./useHeaderSetting-4c2cac7e.js";import"./RedoOutlined-3d2ca639.js";import"./useSortable-96cfdd3a.js";const ae=K({name:"MultipleTabs",components:{TabRedo:Z,FoldButton:Y,Tabs:E,TabPane:E.TabPane,TabContent:X},setup(){const e=ee(),n=x("");te(e);const s=G(),_=L(),p=N(),{prefixCls:m}=Q("multiple-tabs"),l=q(),{getShowQuick:b,getShowRedo:f,getShowFold:T}=z(),i=h(()=>s.getTabList.filter(t=>{var u;return!((u=t.meta)!=null&&u.hideTab)})),a=h(()=>c(i).length===1),B=h(()=>[m,{[`${m}--hide-close`]:c(a)}]);H(t=>{const{name:u}=t;if(u===U||!t||!_.getToken)return;const{path:M,fullPath:$,meta:I={}}=t,{currentActiveMenu:S,hideTab:A}=I,y=A?S:null,R=y||$||M;if(n.value!==R&&(n.value=R),y){const k=p.getRoutes().find(D=>D.path===S);k&&s.addTab(k)}else s.addTab(c(t))});function F(t){n.value=t,l(t,!1)}function P(t){c(a)||s.closeTabByKey(t,p)}return{getWrapClass:B,handleEdit:P,handleChange:F,activeKeyRef:n,getTabsState:i,getShowQuick:b,getShowRedo:f,getShowFold:T}}});function oe(e,n,s,_,p,m){const l=r("TabContent"),b=r("TabPane"),f=r("TabRedo"),T=r("FoldButton"),i=r("Tabs");return o(),v("div",{class:O(e.getWrapClass)},[w(i,{type:"editable-card",size:"small",animated:!1,hideAdd:!0,tabBarGutter:3,activeKey:e.activeKeyRef,onChange:e.handleChange,onEdit:e.handleEdit},W({default:g(()=>[(o(!0),v(j,null,J(e.getTabsState,a=>(o(),d(b,{key:a.query?a.fullPath:a.path,closable:!(a&&a.meta&&a.meta.affix)},{tab:g(()=>[w(l,{tabItem:a,class:"appearance"},null,8,["tabItem"])]),_:2},1032,["closable"]))),128))]),_:2},[e.getShowRedo||e.getShowQuick?{name:"rightExtra",fn:g(()=>[e.getShowRedo?(o(),d(f,{key:0})):C("",!0),e.getShowQuick?(o(),d(l,{key:1,isExtra:"",tabItem:e.$route},null,8,["tabItem"])):C("",!0),e.getShowFold?(o(),d(T,{key:2})):C("",!0)]),key:"0"}:void 0]),1032,["activeKey","onChange","onEdit"])],2)}const he=V(ae,[["render",oe]]);export{he as default};