el-tree-select-Jn0wedJD.js 5.7 KB

1
  1. import{ab as Z,ba as H,l as I,aq as E,k as J,aE as ee,bb as z,aI as te,bc as le,bd as ae,be as se,ae as oe,af as de,aK as ne}from"./index-CKIhG1T4.js";import{w as D,n as V,k as P,f as x,C as R,q as re,I as ce,i as ue,a as Q,b as _,v as ie,aj as B}from"./spreadSheetsDesignerVue-MRUT1X_l.js";const pe=R({extends:J,setup(a,c){const u=J.setup(a,c);delete u.selectOptionClick;const h=re().proxy;return V(()=>{u.select.states.cachedOptions.get(h.value)||u.select.onOptionCreate(h)}),D(()=>c.attrs.visible,r=>{u.states.visible=r},{immediate:!0}),u},methods:{selectOptionClick(){this.$el.parentElement.click()}}});function T(a){return a||a===0}function U(a){return Array.isArray(a)&&a.length}function O(a){return Array.isArray(a)?a:T(a)?[a]:[]}function L(a,c,u,h,r){for(let i=0;i<a.length;i++){const f=a[i];if(c(f,i,a,r))return h?h(f,i,a,r):f;{const A=u(f);if(U(A)){const M=L(A,c,u,h,f);if(M)return M}}}}function q(a,c,u,h){for(let r=0;r<a.length;r++){const i=a[r];c(i,r,a,h);const f=u(i);U(f)&&q(f,c,u,i)}}var ve=R({props:{data:{type:Array,default:()=>[]}},setup(a){const c=ue(se);return D(()=>a.data,()=>{var u;a.data.forEach(r=>{c.states.cachedOptions.has(r.value)||c.states.cachedOptions.set(r.value,r)});const h=((u=c.selectRef)==null?void 0:u.querySelectorAll("input"))||[];oe&&!Array.from(h).includes(document.activeElement)&&c.setSelected()},{flush:"post",immediate:!0}),()=>{}}});const he=R({name:"ElTreeSelect",inheritAttrs:!1,props:{...I.props,...z.props,cacheData:{type:Array,default:()=>[]}},setup(a,c){const{slots:u,expose:h}=c,r=Q(),i=Q(),f=x(()=>a.nodeKey||a.valueKey||"value"),A=((e,{attrs:y,emit:S},{select:K,tree:m,key:p})=>{const w=Z("tree-select");return D(()=>e.data,()=>{e.filterable&&V(()=>{var v,s;(s=m.value)==null||s.filter((v=K.value)==null?void 0:v.states.inputValue)})},{flush:"post"}),{...H(P(e),Object.keys(I.props)),...y,"onUpdate:modelValue":v=>S(E,v),valueKey:p,popperClass:x(()=>{const v=[w.e("popper")];return e.popperClass&&v.push(e.popperClass),v.join(" ")}),filterMethod:(v="")=>{var s;e.filterMethod?e.filterMethod(v):e.remoteMethod?e.remoteMethod(v):(s=m.value)==null||s.filter(v)}}})(a,c,{select:r,tree:i,key:f}),{cacheOptions:M,...W}=((e,{attrs:y,slots:S,emit:K},{select:m,tree:p,key:w})=>{D(()=>e.modelValue,()=>{e.showCheckbox&&V(()=>{const t=p.value;t&&!ee(t.getCheckedKeys(),O(e.modelValue))&&t.setCheckedKeys(O(e.modelValue))})},{immediate:!0,deep:!0});const v=x(()=>({value:w.value,label:"label",children:"children",disabled:"disabled",isLeaf:"isLeaf",...e.props})),s=(t,l)=>{var o;const n=v.value[t];return ce(n)?n(l,(o=p.value)==null?void 0:o.getNode(s("value",l))):l[n]},F=O(e.modelValue).map(t=>L(e.data||[],l=>s("value",l)===t,l=>s("children",l),(l,o,n,k)=>k&&s("value",k))).filter(t=>T(t)),X=x(()=>{if(!e.renderAfterExpand&&!e.lazy)return[];const t=[];return q(e.data.concat(e.cacheData),l=>{const o=s("value",l);t.push({value:o,currentLabel:s("label",l),isDisabled:s("disabled",l)})},l=>s("children",l)),t}),G=()=>{var t;return(t=p.value)==null?void 0:t.getCheckedKeys().filter(l=>{var o;const n=(o=p.value)==null?void 0:o.getNode(l);return!le(n)&&ae(n.childNodes)})};return{...H(P(e),Object.keys(z.props)),...y,nodeKey:w,expandOnClickNode:x(()=>!e.checkStrictly&&e.expandOnClickNode),defaultExpandedKeys:x(()=>e.defaultExpandedKeys?e.defaultExpandedKeys.concat(F):F),renderContent:(t,{node:l,data:o,store:n})=>t(pe,{value:s("value",o),label:s("label",o),disabled:s("disabled",o),visible:l.visible},e.renderContent?()=>e.renderContent(t,{node:l,data:o,store:n}):S.default?()=>S.default({node:l,data:o,store:n}):void 0),filterNodeMethod:(t,l,o)=>e.filterNodeMethod?e.filterNodeMethod(t,l,o):!t||new RegExp(te(t),"i").test(s("label",l)||""),onNodeClick:(t,l,o)=>{var n,k,b,N;if((n=y.onNodeClick)==null||n.call(y,t,l,o),!e.showCheckbox||!e.checkOnClickNode){if(e.showCheckbox||!e.checkStrictly&&!l.isLeaf)e.expandOnClickNode&&o.proxy.handleExpandIconClick();else if(!s("disabled",t)){const g=(k=m.value)==null?void 0:k.states.options.get(s("value",t));(b=m.value)==null||b.handleOptionSelect(g)}(N=m.value)==null||N.focus()}},onCheck:(t,l)=>{var o;if(!e.showCheckbox)return;const n=s("value",t),k={};q([p.value.store.root],d=>k[d.key]=d,d=>d.childNodes);const b=l.checkedKeys,N=e.multiple?O(e.modelValue).filter(d=>!(d in k)&&!b.includes(d)):[],g=N.concat(b);if(e.checkStrictly)K(E,e.multiple?g:g.includes(n)?n:void 0);else if(e.multiple){const d=G();K(E,N.concat(d))}else{const d=L([t],C=>!U(s("children",C))&&!s("disabled",C),C=>s("children",C)),j=d?s("value",d):void 0,Y=T(e.modelValue)&&!!L([t],C=>s("value",C)===e.modelValue,C=>s("children",C));K(E,j===e.modelValue||Y?void 0:j)}V(()=>{var d;const j=O(e.modelValue);p.value.setCheckedKeys(j),(d=y.onCheck)==null||d.call(y,t,{checkedKeys:p.value.getCheckedKeys(),checkedNodes:p.value.getCheckedNodes(),halfCheckedKeys:p.value.getHalfCheckedKeys(),halfCheckedNodes:p.value.getHalfCheckedNodes()})}),(o=m.value)==null||o.focus()},onNodeExpand:(t,l,o)=>{var n;(n=y.onNodeExpand)==null||n.call(y,t,l,o),V(()=>{if(!e.checkStrictly&&e.lazy&&e.multiple&&l.checked){const k={},b=p.value.getCheckedKeys();q([p.value.store.root],d=>k[d.key]=d,d=>d.childNodes);const N=O(e.modelValue).filter(d=>!(d in k)&&!b.includes(d)),g=G();K(E,N.concat(g))}})},cacheOptions:X}})(a,c,{select:r,tree:i,key:f}),$=_({});return h($),ie(()=>{Object.assign($,{...H(i.value,["filter","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter"]),...H(r.value,["focus","blur"])})}),()=>B(I,_({...A,ref:e=>r.value=e}),{...u,default:()=>[B(ve,{data:M.value}),B(z,_({...W,ref:e=>i.value=e}))]})}}),fe=ne(de(he,[["__file","tree-select.vue"]]));export{fe as E};