1 |
- import{aK as I,bA as N,bB as L,R as E,bC as x,e as y,n as O,d as M,Q as B,j as Q,w as _,bn as R,bD as S,bE as T,i as U,bF as W,r as q,x as w,b as $,b1 as j,aM as G}from"./index-b9299550.js";const J=M({extends:B,setup(e,n){const d=B.setup(e,n);delete d.selectOptionClick;const i=Q().proxy;return O(()=>{d.select.cachedOptions.get(i.value)||d.select.onOptionCreate(i)}),d},methods:{selectOptionClick(){this.$el.parentElement.click()}}});function D(e){return e||e===0}function H(e){return Array.isArray(e)&&e.length}function g(e){return Array.isArray(e)?e:D(e)?[e]:[]}function A(e,n,d,i,c){for(let s=0;s<e.length;s++){const p=e[s];if(n(p,s,e,c))return i?i(p,s,e,c):p;{const m=d(p);if(H(m)){const a=A(m,n,d,i,p);if(a)return a}}}}function z(e,n,d,i){for(let c=0;c<e.length;c++){const s=e[c];n(s,c,e,i);const p=d(s);H(p)&&z(p,n,d,s)}}const P=(e,{attrs:n,slots:d,emit:i},{select:c,tree:s,key:p})=>{_(()=>e.modelValue,()=>{e.showCheckbox&&O(()=>{const l=s.value;l&&!R(l.getCheckedKeys(),g(e.modelValue))&&l.setCheckedKeys(g(e.modelValue))})},{immediate:!0,deep:!0});const m=y(()=>({value:p.value,label:"label",children:"children",disabled:"disabled",isLeaf:"isLeaf",...e.props})),a=(l,t)=>{var r;const u=m.value[l];return T(u)?u(t,(r=s.value)==null?void 0:r.getNode(a("value",t))):t[u]},K=g(e.modelValue).map(l=>A(e.data||[],t=>a("value",t)===l,t=>a("children",t),(t,r,u,v)=>v&&a("value",v))).filter(l=>D(l)),b=y(()=>{if(!e.renderAfterExpand&&!e.lazy)return[];const l=[];return z(e.data.concat(e.cacheData),t=>{const r=a("value",t);l.push({value:r,currentLabel:a("label",t),isDisabled:a("disabled",t)})},t=>a("children",t)),l}),h=y(()=>b.value.reduce((l,t)=>({...l,[t.value]:t}),{}));return{...N(L(e),Object.keys(S.props)),...n,nodeKey:p,expandOnClickNode:y(()=>!e.checkStrictly&&e.expandOnClickNode),defaultExpandedKeys:y(()=>e.defaultExpandedKeys?e.defaultExpandedKeys.concat(K):K),renderContent:(l,{node:t,data:r,store:u})=>l(J,{value:a("value",r),label:a("label",r),disabled:a("disabled",r)},e.renderContent?()=>e.renderContent(l,{node:t,data:r,store:u}):d.default?()=>d.default({node:t,data:r,store:u}):void 0),filterNodeMethod:(l,t,r)=>{var u;return e.filterNodeMethod?e.filterNodeMethod(l,t,r):!l||((u=a("label",t))==null?void 0:u.includes(l))},onNodeClick:(l,t,r)=>{var u,v,k;if((u=n.onNodeClick)==null||u.call(n,l,t,r),!e.showCheckbox||!e.checkOnClickNode){if(e.showCheckbox||!e.checkStrictly&&!t.isLeaf)e.expandOnClickNode&&r.proxy.handleExpandIconClick();else if(!a("disabled",l)){const o=(v=c.value)==null?void 0:v.options.get(a("value",l));(k=c.value)==null||k.handleOptionSelect(o)}}},onCheck:(l,t)=>{if(!e.showCheckbox)return;const r=a("value",l),u=t.checkedKeys,v=e.multiple?g(e.modelValue).filter(o=>o in h.value&&!s.value.getNode(o)&&!u.includes(o)):[],k=u.concat(v);if(e.checkStrictly)i(x,e.multiple?k:k.includes(r)?r:void 0);else if(e.multiple)i(x,s.value.getCheckedKeys(!0));else{const o=A([l],C=>!H(a("children",C))&&!a("disabled",C),C=>a("children",C)),f=o?a("value",o):void 0,F=D(e.modelValue)&&!!A([l],C=>a("value",C)===e.modelValue,C=>a("children",C));i(x,f===e.modelValue||F?void 0:f)}O(()=>{var o;const f=g(e.modelValue);s.value.setCheckedKeys(f),(o=n.onCheck)==null||o.call(n,l,{checkedKeys:s.value.getCheckedKeys(),checkedNodes:s.value.getCheckedNodes(),halfCheckedKeys:s.value.getHalfCheckedKeys(),halfCheckedNodes:s.value.getHalfCheckedNodes()})})},cacheOptions:b}};var X=M({props:{data:{type:Array,default:()=>[]}},setup(e){const n=U(W);return _(()=>e.data,()=>{var d;e.data.forEach(c=>{n.cachedOptions.has(c.value)||n.cachedOptions.set(c.value,c)});const i=((d=n.selectWrapper)==null?void 0:d.querySelectorAll("input"))||[];Array.from(i).includes(document.activeElement)||n.setSelected()},{flush:"post",immediate:!0}),()=>{}}}),V=G(M({name:"ElTreeSelect",inheritAttrs:!1,props:{...E.props,...S.props,cacheData:{type:Array,default:()=>[]}},setup(e,n){const{slots:d,expose:i}=n,c=q(),s=q(),p=y(()=>e.nodeKey||e.valueKey||"value"),m=((h,{attrs:l,emit:t},{tree:r,key:u})=>{const v=I("tree-select"),k={...N(L(h),Object.keys(E.props)),...l,"onUpdate:modelValue":o=>t(x,o),valueKey:u,popperClass:y(()=>{const o=[v.e("popper")];return h.popperClass&&o.push(h.popperClass),o.join(" ")}),filterMethod:(o="")=>{h.filterMethod&&h.filterMethod(o),O(()=>{var f;(f=r.value)==null||f.filter(o)})},onVisibleChange:o=>{var f;(f=l.onVisibleChange)==null||f.call(l,o),h.filterable&&o&&k.filterMethod()}};return k})(e,n,{select:c,tree:s,key:p}),{cacheOptions:a,...K}=P(e,n,{select:c,tree:s,key:p}),b=w({});return i(b),$(()=>{Object.assign(b,{...N(s.value,["filter","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter"]),...N(c.value,["focus","blur"])})}),()=>j(E,w({...m,ref:h=>c.value=h}),{...d,default:()=>[j(X,{data:a.value}),j(S,w({...K,ref:h=>s.value=h}))]})}}),[["__file","/home/runner/work/element-plus/element-plus/packages/components/tree-select/src/tree-select.vue"]]);V.install=e=>{e.component(V.name,V)};const Y=V;export{Y as E};
|