mirror of
https://gitee.com/niucloud-team/niucloud-admin.git
synced 2025-12-30 10:10:16 +00:00
2 lines
4.7 KiB
JavaScript
2 lines
4.7 KiB
JavaScript
import{E as V,a as L,s as U}from"./index-4601cf3b.js";import{_ as p}from"./index-1a62403f.js";import{b as B,Z as w,c as y,E as S,d as M,L as F,w as P,Y as H,I as q,r as j,O as _,o as z,U as g,_ as R}from"./plugin-vue_export-helper-85a4d40b.js";import{p as K}from"./index-95b00894.js";import{U as N}from"./event-f85d77b0.js";import{i as Y}from"./isEqual-0b9509fd.js";const Z=(e,{attrs:c},{tree:i,key:d})=>{const r=B("tree-select"),s={...K(w(e),Object.keys(V.props)),...c,valueKey:d,popperClass:y(()=>{const a=[r.e("popper")];return e.popperClass&&a.push(e.popperClass),a.join(" ")}),filterMethod:(a="")=>{e.filterMethod&&e.filterMethod(a),S(()=>{var f;(f=i.value)==null||f.filter(a)})},onVisibleChange:a=>{var f;(f=c.onVisibleChange)==null||f.call(c,a),e.filterable&&a&&s.filterMethod()}};return s},$=M({extends:L,setup(e,c){const i=L.setup(e,c);delete i.selectOptionClick;const d=F().proxy;return S(()=>{i.select.cachedOptions.get(d.value)||i.select.onOptionCreate(d)}),i},methods:{selectOptionClick(){this.$el.parentElement.click()}}});function A(e){return e||e===0}function T(e){return Array.isArray(e)&&e.length}function x(e){return Array.isArray(e)?e:A(e)?[e]:[]}function b(e,c,i,d,r){for(let s=0;s<e.length;s++){const a=e[s];if(c(a,s,e,r))return d?d(a,s,e,r):a;{const f=i(a);if(T(f)){const n=b(f,c,i,d,a);if(n)return n}}}}function I(e,c,i,d){for(let r=0;r<e.length;r++){const s=e[r];c(s,r,e,d);const a=i(s);T(a)&&I(a,c,i,s)}}const D=(e,{attrs:c,slots:i,emit:d},{select:r,tree:s,key:a})=>{P(()=>e.modelValue,()=>{e.showCheckbox&&S(()=>{const t=s.value;t&&!Y(t.getCheckedKeys(),x(e.modelValue))&&t.setCheckedKeys(x(e.modelValue))})},{immediate:!0,deep:!0});const f=y(()=>({value:a.value,label:"label",children:"children",disabled:"disabled",isLeaf:"isLeaf",...e.props})),n=(t,l)=>{var o;const u=f.value[t];return H(u)?u(l,(o=s.value)==null?void 0:o.getNode(n("value",l))):l[u]},m=x(e.modelValue).map(t=>b(e.data||[],l=>n("value",l)===t,l=>n("children",l),(l,o,u,h)=>h&&n("value",h))).filter(t=>A(t)),k=y(()=>{if(!e.renderAfterExpand&&!e.lazy)return[];const t=[];return I(e.data.concat(e.cacheData),l=>{const o=n("value",l);t.push({value:o,currentLabel:n("label",l),isDisabled:n("disabled",l)})},l=>n("children",l)),t});return{...K(w(e),Object.keys(p.props)),...c,nodeKey:a,expandOnClickNode:y(()=>!e.checkStrictly&&e.expandOnClickNode),defaultExpandedKeys:y(()=>e.defaultExpandedKeys?e.defaultExpandedKeys.concat(m):m),renderContent:(t,{node:l,data:o,store:u})=>t($,{value:n("value",o),label:n("label",o),disabled:n("disabled",o)},e.renderContent?()=>e.renderContent(t,{node:l,data:o,store:u}):i.default?()=>i.default({node:l,data:o,store:u}):void 0),filterNodeMethod:(t,l,o)=>{var u;return e.filterNodeMethod?e.filterNodeMethod(t,l,o):t?(u=n("label",l))==null?void 0:u.includes(t):!0},onNodeClick:(t,l,o)=>{var u,h,C;if((u=c.onNodeClick)==null||u.call(c,t,l,o),!(e.showCheckbox&&e.checkOnClickNode))if(!e.showCheckbox&&(e.checkStrictly||l.isLeaf)){if(!n("disabled",t)){const O=(h=r.value)==null?void 0:h.options.get(n("value",t));(C=r.value)==null||C.handleOptionSelect(O,!0)}}else e.expandOnClickNode&&o.proxy.handleExpandIconClick()},onCheck:(t,l)=>{var o;(o=c.onCheck)==null||o.call(c,t,l);const u=n("value",t);if(e.checkStrictly)d(N,e.multiple?l.checkedKeys:l.checkedKeys.includes(u)?u:void 0);else if(e.multiple)d(N,s.value.getCheckedKeys(!0));else{const h=b([t],v=>!T(n("children",v))&&!n("disabled",v),v=>n("children",v)),C=h?n("value",h):void 0,O=A(e.modelValue)&&!!b([t],v=>n("value",v)===e.modelValue,v=>n("children",v));d(N,C===e.modelValue||O?void 0:C)}},cacheOptions:k}};var G=M({props:{data:{type:Array,default:()=>[]}},setup(e){const c=q(U);return P(()=>e.data,()=>{e.data.forEach(i=>{c.cachedOptions.has(i.value)||c.cachedOptions.set(i.value,i)}),c.setSelected()},{immediate:!0,deep:!0}),()=>{}}});const J=M({name:"ElTreeSelect",inheritAttrs:!1,props:{...V.props,...p.props,cacheData:{type:Array,default:()=>[]}},setup(e,c){const{slots:i,expose:d}=c,r=j(),s=j(),a=y(()=>e.nodeKey||e.valueKey||"value"),f=Z(e,c,{select:r,tree:s,key:a}),{cacheOptions:n,...m}=D(e,c,{select:r,tree:s,key:a}),k=_({});return d(k),z(()=>{Object.assign(k,{...K(s.value,["filter","updateKeyChildren","getCheckedNodes","setCheckedNodes","getCheckedKeys","setCheckedKeys","setChecked","getHalfCheckedNodes","getHalfCheckedKeys","getCurrentKey","getCurrentNode","setCurrentKey","setCurrentNode","getNode","remove","append","insertBefore","insertAfter"]),...K(r.value,["focus","blur"])})}),()=>g(V,_({...f,ref:t=>r.value=t}),{...i,default:()=>[g(G,{data:n.value}),g(p,_({...m,ref:t=>s.value=t}))]})}});var E=R(J,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tree-select/src/tree-select.vue"]]);E.install=e=>{e.component(E.name,E)};const Q=E,ce=Q;export{ce as E};
|