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.
1 lines
2.0 KiB
1 lines
2.0 KiB
import{d as T,bG as E,v as R,f as L,ap as B,a5 as j,h as _,c as h,e as l,w as n,F as D,O as N,u as o,m as S,i,t as p,k as u,a as V,n as $,aO as q,aP as F,aQ as I,ac as M,ad as P}from"./index-4c331f20.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{_ as z}from"./_plugin-vue_export-helper-c27b6911.js";const G={class:"tab-wrap w-full px-[16px]"},Q=T({__name:"tabs",setup(A){const t=E(),r=R(),d=L();B(()=>{t.addTab(r)}),j(r,e=>{t.addTab(e)});const f=e=>{const a=t.tabs[e.props.name];d.push({path:a.path,query:a.query})},k=e=>{if(r.path==e){const a=Object.keys(t.tabs);d.push({path:a[a.indexOf(e)-1]})}t.removeTab(e)},v=e=>{const a=Object.keys(t.tabs);for(let s=a.indexOf(e)-1;s>=0;s--)delete t.tabs[a[s]];d.push({path:e})},g=e=>{const a=Object.keys(t.tabs);for(let s=a.indexOf(e)+1;s<a.length;s++)delete t.tabs[a[s]];d.push({path:e})},w=e=>{Object.keys(t.tabs).forEach(s=>{s!=e&&delete t.tabs[s]}),d.push({path:e})};return(e,a)=>{const s=q,C=F,x=I,y=M,O=P;return _(),h("div",G,[l(O,{closable:o(t).tabLength>1,"model-value":o(r).path,onTabClick:f,onTabRemove:k},{default:n(()=>[(_(!0),h(D,null,N(o(t).tabs,(c,H,b)=>(_(),S(y,{name:c.path,key:b},{label:n(()=>[l(x,{trigger:"contextmenu",placement:"bottom-start"},{dropdown:n(()=>[l(C,null,{default:n(()=>[l(s,{icon:"Back",disabled:b==0,onClick:m=>v(c.path)},{default:n(()=>[i(p(o(u)("tabs.closeLeft")),1)]),_:2},1032,["disabled","onClick"]),l(s,{icon:"Right",disabled:b==o(t).tabLength-1,onClick:m=>g(c.path)},{default:n(()=>[i(p(o(u)("tabs.closeRight")),1)]),_:2},1032,["disabled","onClick"]),l(s,{icon:"Close",disabled:o(t).tabLength==1,onClick:m=>w(c.path)},{default:n(()=>[i(p(o(u)("tabs.closeOther")),1)]),_:2},1032,["disabled","onClick"])]),_:2},1024)]),default:n(()=>[V("span",{class:$([{"text-primary":o(r).path==c.path},"tab-name"])},p(c.title),3)]),_:2},1024)]),_:2},1032,["name"]))),128))]),_:1},8,["closable","model-value"])])}}});const ee=z(Q,[["__scopeId","data-v-e4d651c2"]]);export{ee as default};
|
|
|