mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2025-12-31 18:48:09 +00:00
2 lines
2.1 KiB
JavaScript
2 lines
2.1 KiB
JavaScript
import{d as T,v as E,f as R,an as L,ag as B,h as _,c as h,e as c,w as n,F as j,O as D,u as o,m as N,i,t as d,k as u,a as S,n as V,aO as $,aP as q,aQ as F,a7 as I,a8 as M}from"./index-ad4e42d5.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{u as P}from"./tabbar-0cf595c6.js";import{_ as z}from"./_plugin-vue_export-helper-c27b6911.js";const Q={class:"tab-wrap w-full px-[16px]"},A=T({__name:"tabs",setup(G){const t=P(),r=E(),b=R();L(()=>{t.addTab(r)}),B(r,e=>{t.addTab(e)});const f=e=>{const a=t.tabs[e.props.name];b.push({path:a.path,query:a.query})},k=e=>{if(r.path==e){const a=Object.keys(t.tabs);b.push({path:a[a.indexOf(e)-1]})}t.removeTab(e)},g=e=>{const a=Object.keys(t.tabs);for(let s=a.indexOf(e)-1;s>=0;s--)delete t.tabs[a[s]];b.push({path:e})},v=e=>{const a=Object.keys(t.tabs);for(let s=a.indexOf(e)+1;s<a.length;s++)delete t.tabs[a[s]];b.push({path:e})},w=e=>{Object.keys(t.tabs).forEach(s=>{s!=e&&delete t.tabs[s]}),b.push({path:e})};return(e,a)=>{const s=$,C=q,x=F,y=I,O=M;return _(),h("div",Q,[c(O,{closable:o(t).tabLength>1,"model-value":o(r).path,onTabClick:f,onTabRemove:k},{default:n(()=>[(_(!0),h(j,null,D(o(t).tabs,(l,H,p)=>(_(),N(y,{name:l.path,key:p},{label:n(()=>[c(x,{trigger:"contextmenu",placement:"bottom-start"},{dropdown:n(()=>[c(C,null,{default:n(()=>[c(s,{icon:"Back",disabled:p==0,onClick:m=>g(l.path)},{default:n(()=>[i(d(o(u)("tabs.closeLeft")),1)]),_:2},1032,["disabled","onClick"]),c(s,{icon:"Right",disabled:p==o(t).tabLength-1,onClick:m=>v(l.path)},{default:n(()=>[i(d(o(u)("tabs.closeRight")),1)]),_:2},1032,["disabled","onClick"]),c(s,{icon:"Close",disabled:o(t).tabLength==1,onClick:m=>w(l.path)},{default:n(()=>[i(d(o(u)("tabs.closeOther")),1)]),_:2},1032,["disabled","onClick"])]),_:2},1024)]),default:n(()=>[S("span",{class:V([{"text-primary":o(r).path==l.path},"tab-name"])},d(l.title),3)]),_:2},1024)]),_:2},1032,["name"]))),128))]),_:1},8,["closable","model-value"])])}}});const te=z(A,[["__scopeId","data-v-9bfb885e"]]);export{te as default};
|