vue-pure-admin/dist/static/js/index-2VlzxDAX.js
2024-01-02 19:54:47 +08:00

2 lines
2.9 KiB
JavaScript

import{d as h,E as B,i as a,u as s,r as p,k as $,v as A,F as E,aj as L,c as H,w as r,b as U,f as W,g as o,p as X,l as Y,_ as G}from"./index-3m0KmRGm.js";const R=h({name:"Resizer",props:{split:{type:String,required:!0},className:{type:String,default:""}},setup(e){const l=B(()=>["splitter-pane-resizer",e.split,e.className].join(" "));return()=>a("div",{class:s(l)},null)}}),T=h({name:"SplitPane",components:{resizer:R},props:{splitSet:{type:Object,require:!0}},emits:["resize"],setup(e,l){var m,S,g,w,P;const i=p(!1),u=p(!1),n=p((m=e.splitSet)==null?void 0:m.defaultPercent),d=((S=e.splitSet)==null?void 0:S.split)==="vertical"?"width":"height",b=((g=e.splitSet)==null?void 0:g.split)==="vertical"?"left":"top",x=p(["splitter-pane splitter-paneL",(w=e.splitSet)==null?void 0:w.split]),I=p(["splitter-pane splitter-paneR",(P=e.splitSet)==null?void 0:P.split]),N=B(()=>{var t;return i.value?((t=e.splitSet)==null?void 0:t.split)==="vertical"?{cursor:"col-resize"}:{cursor:"row-resize"}:{cursor:"default"}}),j=()=>{u.value||(n.value=50,l.emit("resize",n.value))},q=()=>{i.value=!0,u.value=!1},D=()=>{i.value=!1},F=t=>{var z,y,M,C,k;if((t.buttons===0||t.which===0)&&(i.value=!1),i.value){let f=0,c=t.currentTarget;if(((z=e.splitSet)==null?void 0:z.split)==="vertical")for(;c;)f+=c.offsetLeft,c=c.offsetParent;else for(;c;)f+=c.offsetTop,c=c.offsetParent;const O=((y=e.splitSet)==null?void 0:y.split)==="vertical"?t.pageX:t.pageY,V=((M=e.splitSet)==null?void 0:M.split)==="vertical"?t.currentTarget.offsetWidth:t.currentTarget.offsetHeight,_=Math.floor((O-f)/V*1e4)/100;_>((C=e.splitSet)==null?void 0:C.minPercent)&&_<100-((k=e.splitSet)==null?void 0:k.minPercent)&&(n.value=_),l.emit("resize",n.value),u.value=!0}};return()=>{var t;return a(E,null,[a("div",{class:"vue-splitter-container clearfix",style:s(N),onMouseup:()=>D(),onMousemove:()=>F(event)},[a("div",{class:s(x),style:{[s(d)]:s(n)+"%"}},[l.slots.paneL()]),a(R,{style:`${s([b])}:${s(n)}%`,split:(t=e.splitSet)==null?void 0:t.split,onMousedown:()=>q(),onClick:()=>j()},null),a("div",{class:s(I),style:{[s(d)]:100-s(n)+"%"}},[l.slots.paneR()]),$(a("div",{class:"vue-splitter-container-mask"},null),[[A,s(i)]])])])}}}),v=e=>(X("data-v-62ddaddc"),e=e(),Y(),e),J=v(()=>o("div",{class:"card-header"},[o("span",{class:"font-medium"},"切割面板组件")],-1)),K={class:"split-pane"},Q=v(()=>o("div",{class:"dv-a"},"A",-1)),Z=v(()=>o("div",{class:"dv-b"},"B",-1)),ee=v(()=>o("div",{class:"dv-c"},"C",-1)),te=h({name:"SplitPane",__name:"index",setup(e){const l=L({minPercent:20,defaultPercent:40,split:"vertical"}),i=L({minPercent:20,defaultPercent:40,split:"horizontal"});return(u,n)=>{const d=U("el-card");return W(),H(d,{shadow:"never"},{header:r(()=>[J]),default:r(()=>[o("div",K,[a(s(T),{splitSet:l},{paneL:r(()=>[Q]),paneR:r(()=>[a(s(T),{splitSet:i},{paneL:r(()=>[Z]),paneR:r(()=>[ee]),_:1},8,["splitSet"])]),_:1},8,["splitSet"])])]),_:1})}}}),ae=G(te,[["__scopeId","data-v-62ddaddc"]]);export{ae as default};