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