| 1 |
- import{E as j,a as I}from"./el-select-V8nd8U4S.js";import{E as w}from"./el-text-W_yS8BbC.js";import{an as F,V as A,O as E,c as C,av as S,aw as q,a6 as x,d as p,ab as U,ae as z,c6 as $,bN as D,ev as G,aC as J,a7 as Q,bm as W,al as X,i as R,j as L,k as Y,bd as T,ax as Z}from"./index-BAZHuD8e.js";import{i as ee}from"./isEqual-tNTaezsx.js";import{s as te}from"./token-DI9FKtlJ.js";const le=(e,{attrs:c,emit:o},{select:r,tree:s,key:n})=>{const h=F("tree-select");return A(()=>e.data,()=>{e.filterable&&E(()=>{var t,v;(v=s.value)==null||v.filter((t=r.value)==null?void 0:t.states.inputValue)})},{flush:"post"}),{...S(q(e),Object.keys(j.props)),...c,class:C(()=>c.class),style:C(()=>c.style),"onUpdate:modelValue":t=>o(x,t),valueKey:n,popperClass:C(()=>{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)}}},ae=p({extends:I,setup(e,c){const o=I.setup(e,c);delete o.selectOptionClick;const r=U().proxy;return E(()=>{o.select.states.cachedOptions.get(r.value)||o.select.onOptionCreate(r)}),A(()=>c.attrs.visible,s=>{E(()=>{o.states.visible=s})},{immediate:!0}),o},methods:{selectOptionClick(){this.$el.parentElement.click()}}});function P(e){return e||e===0}function H(e){return z(e)&&e.length}function g(e){return z(e)?e:P(e)?[e]:[]}function O(e,c,o,r,s){for(let n=0;n<e.length;n++){const h=e[n];if(c(h,n,e,s))return r?r(h,n,e,s):h;{const k=o(h);if(H(k)){const t=O(k,c,o,r,h);if(t)return t}}}}function M(e,c,o,r){for(let s=0;s<e.length;s++){const n=e[s];c(n,s,e,r);const h=o(n);H(h)&&M(h,c,o,n)}}const ce=(e,{attrs:c,slots:o,emit:r},{select:s,tree:n,key:h})=>{A(()=>e.modelValue,()=>{e.showCheckbox&&E(()=>{const l=n.value;l&&!ee(l.getCheckedKeys(),g(e.modelValue))&&l.setCheckedKeys(g(e.modelValue))})},{immediate:!0,deep:!0});const k=C(()=>({value:h.value,label:"label",children:"children",disabled:"disabled",isLeaf:"isLeaf",...e.props})),t=(l,a)=>{var i;const u=k.value[l];return J(u)?u(a,(i=n.value)==null?void 0:i.getNode(t("value",a))):a[u]},v=g(e.modelValue).map(l=>O(e.data||[],a=>t("value",a)===l,a=>t("children",a),(a,i,u,f)=>f&&t("value",f))).filter(l=>P(l)),_=C(()=>{if(!e.renderAfterExpand&&!e.lazy)return[];const l=[];return M(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}),b=()=>{var l;return(l=n.value)==null?void 0:l.getCheckedKeys().filter(a=>{var i;const u=(i=n.value)==null?void 0:i.getNode(a);return!G(u)&&D(u.childNodes)})};return{...S(q(e),Object.keys(w.props)),...c,nodeKey:h,expandOnClickNode:C(()=>!e.checkStrictly&&e.expandOnClickNode),defaultExpandedKeys:C(()=>e.defaultExpandedKeys?e.defaultExpandedKeys.concat(v):v),renderContent:(l,{node:a,data:i,store:u})=>l(ae,{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($(l),"i").test(t("label",a)||""):!0,onNodeClick:(l,a,i)=>{var u,f,m,K;if((u=c.onNodeClick)==null||u.call(c,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));(m=s.value)==null||m.handleOptionSelect(N)}}else e.expandOnClickNode&&i.proxy.handleExpandIconClick();(K=s.value)==null||K.focus()}},onCheck:(l,a)=>{var i;if(!e.showCheckbox)return;const u=t("value",l),f={};M([n.value.store.root],d=>f[d.key]=d,d=>d.childNodes);const m=a.checkedKeys,K=e.multiple?g(e.modelValue).filter(d=>!(d in f)&&!m.includes(d)):[],N=K.concat(m);if(e.checkStrictly)r(x,e.multiple?N:N.includes(u)?u:void 0);else if(e.multiple){const d=b();r(x,K.concat(d))}else{const d=O([l],y=>!H(t("children",y))&&!t("disabled",y),y=>t("children",y)),V=d?t("value",d):void 0,B=P(e.modelValue)&&!!O([l],y=>t("value",y)===e.modelValue,y=>t("children",y));r(x,V===e.modelValue||B?void 0:V)}E(()=>{var d;const V=g(e.modelValue);n.value.setCheckedKeys(V),(d=c.onCheck)==null||d.call(c,l,{checkedKeys:n.value.getCheckedKeys(),checkedNodes:n.value.getCheckedNodes(),halfCheckedKeys:n.value.getHalfCheckedKeys(),halfCheckedNodes:n.value.getHalfCheckedNodes()})}),(i=s.value)==null||i.focus()},onNodeExpand:(l,a,i)=>{var u;(u=c.onNodeExpand)==null||u.call(c,l,a,i),E(()=>{if(!e.checkStrictly&&e.lazy&&e.multiple&&a.checked){const f={},m=n.value.getCheckedKeys();M([n.value.store.root],d=>f[d.key]=d,d=>d.childNodes);const K=g(e.modelValue).filter(d=>!(d in f)&&!m.includes(d)),N=b();r(x,K.concat(N))}})},cacheOptions:_}};var ne=p({props:{data:{type:Array,default:()=>[]}},setup(e){const c=Q(te);return A(()=>e.data,()=>{var o;e.data.forEach(s=>{c.states.cachedOptions.has(s.value)||c.states.cachedOptions.set(s.value,s)});const r=((o=c.selectRef)==null?void 0:o.querySelectorAll("input"))||[];W&&!Array.from(r).includes(document.activeElement)&&c.setSelected()},{flush:"post",immediate:!0}),()=>{}}});const se=p({name:"ElTreeSelect",inheritAttrs:!1,props:{...j.props,...w.props,cacheData:{type:Array,default:()=>[]}},setup(e,c){const{slots:o,expose:r}=c,s=R(),n=R(),h=C(()=>e.nodeKey||e.valueKey||"value"),k=le(e,c,{select:s,tree:n,key:h}),{cacheOptions:t,...v}=ce(e,c,{select:s,tree:n,key:h}),_=L({});return r(_),Y(()=>{Object.assign(_,{...S(n.value,["filter","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter"]),...S(s.value,["focus","blur","selectedLabel"])})}),()=>T(j,L({...k,ref:b=>s.value=b}),{...o,default:()=>[T(ne,{data:t.value}),T(w,L({...v,ref:b=>n.value=b}))]})}});var ie=X(se,[["__file","tree-select.vue"]]);const fe=Z(ie);export{fe as E};
|