UNPKG

ll-package

Version:

2 lines (1 loc) 9.35 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const A=require("../../../@babel/runtime/helpers/esm/objectSpread2.js"),L=require("../../../@babel/runtime/helpers/esm/extends.js"),n=require("vue"),Fe=require("./OptionList.js"),B=require("./utils/strategyUtil.js"),_e=require("./TreeSelectContext.js"),Ae=require("./LegacyContext.js"),Be=require("./hooks/useTreeData.js"),k=require("./utils/valueUtil.js"),Ke=require("./hooks/useCache.js"),Me=require("./hooks/useDataEntities.js"),K=require("./utils/legacyUtil.js"),Oe=require("./hooks/useCheckedKeys.js"),He=require("./hooks/useFilterTreeData.js"),je=require("./utils/warningPropsUtil.js"),Y=require("../vc-select/BaseSelect.js"),Z=require("../_util/omit.js"),S=require("../_util/vue-types/index.js"),Ue=require("../_util/props-util/initDefaultProps.js"),We=require("../vc-select/hooks/useId.js"),J=require("../_util/hooks/useMergedState.js"),Q=require("../vc-tree/utils/conductUtil.js"),ze=require("../vc-util/warning.js"),X=require("../_util/toReactive.js"),Ge=require("../vc-tree/useMaxLevel.js");function $(){return L.default(L.default({},Z.default(Y.baseSelectPropsWithoutPrivate(),["mode"])),{prefixCls:String,id:String,value:{type:[String,Number,Object,Array]},defaultValue:{type:[String,Number,Object,Array]},onChange:{type:Function},searchValue:String,inputValue:String,onSearch:{type:Function},autoClearSearchValue:{type:Boolean,default:void 0},filterTreeNode:{type:[Boolean,Function],default:void 0},treeNodeFilterProp:String,onSelect:Function,onDeselect:Function,showCheckedStrategy:{type:String},treeNodeLabelProp:String,fieldNames:{type:Object},multiple:{type:Boolean,default:void 0},treeCheckable:{type:Boolean,default:void 0},treeCheckStrictly:{type:Boolean,default:void 0},labelInValue:{type:Boolean,default:void 0},treeData:{type:Array},treeDataSimpleMode:{type:[Boolean,Object],default:void 0},loadData:{type:Function},treeLoadedKeys:{type:Array},onTreeLoad:{type:Function},treeDefaultExpandAll:{type:Boolean,default:void 0},treeExpandedKeys:{type:Array},treeDefaultExpandedKeys:{type:Array},onTreeExpand:{type:Function},virtual:{type:Boolean,default:void 0},listHeight:Number,listItemHeight:Number,onDropdownVisibleChange:{type:Function},treeLine:{type:[Boolean,Object],default:void 0},treeIcon:S.default.any,showTreeIcon:{type:Boolean,default:void 0},switcherIcon:S.default.any,treeMotion:S.default.any,children:Array,treeExpandAction:String,showArrow:{type:Boolean,default:void 0},showSearch:{type:Boolean,default:void 0},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:void 0},disabled:{type:Boolean,default:void 0},placeholder:S.default.any,maxTagPlaceholder:{type:Function},dropdownPopupAlign:S.default.any,customSlots:Object})}function Je(t){return!t||typeof t!="object"}const Qe=n.defineComponent({compatConfig:{MODE:3},name:"TreeSelect",inheritAttrs:!1,props:Ue.default($(),{treeNodeFilterProp:"value",autoClearSearchValue:!0,showCheckedStrategy:B.SHOW_CHILD,listHeight:200,listItemHeight:20,prefixCls:"vc-tree-select"}),setup(t,ee){let{attrs:te,expose:le,slots:M}=ee;const ae=We.default(n.toRef(t,"id")),x=n.computed(()=>t.treeCheckable&&!t.treeCheckStrictly),N=n.computed(()=>t.treeCheckable||t.treeCheckStrictly),O=n.computed(()=>t.treeCheckStrictly||t.labelInValue),p=n.computed(()=>N.value||t.multiple);process.env.NODE_ENV!=="production"&&n.watchEffect(()=>{je.default(t)});const c=n.computed(()=>k.fillFieldNames(t.fieldNames)),[H,j]=J.default("",{value:n.computed(()=>t.searchValue!==void 0?t.searchValue:t.inputValue),postState:e=>e||""}),ne=e=>{var l;j(e),(l=t.onSearch)===null||l===void 0||l.call(t,e)},b=Be.default(n.toRef(t,"treeData"),n.toRef(t,"children"),n.toRef(t,"treeDataSimpleMode")),{keyEntities:V,valueEntities:C}=Me.default(b,c),ue=e=>{const l=[],a=[];return e.forEach(o=>{C.value.has(o)?a.push(o):l.push(o)}),{missingRawValues:l,existRawValues:a}},oe=He.default(b,H,{fieldNames:c,treeNodeFilterProp:n.toRef(t,"treeNodeFilterProp"),filterTreeNode:n.toRef(t,"filterTreeNode")}),re=e=>{if(e){if(t.treeNodeLabelProp)return e[t.treeNodeLabelProp];const{_title:l}=c.value;for(let a=0;a<l.length;a+=1){const o=e[l[a]];if(o!==void 0)return o}}},U=e=>k.toArray(e).map(a=>Je(a)?{value:a}:a),E=e=>U(e).map(a=>{let{label:o}=a;const{value:d,halfChecked:r}=a;let u;const i=C.value.get(d);return i&&(o=o??re(i.node),u=i.node.disabled),{label:o,value:d,halfChecked:r,disabled:u}}),[ie,de]=J.default(t.defaultValue,{value:n.toRef(t,"value")}),ce=n.computed(()=>U(ie.value)),m=n.shallowRef([]),P=n.shallowRef([]);n.watchEffect(()=>{const e=[],l=[];ce.value.forEach(a=>{a.halfChecked?l.push(a):e.push(a)}),m.value=e,P.value=l});const se=n.computed(()=>m.value.map(e=>e.value)),{maxLevel:I,levelEntities:q}=Ge.default(V),[R,W]=Oe.default(m,P,x,V,I,q),fe=n.computed(()=>{const a=B.formatStrategyValues(R.value,t.showCheckedStrategy,V.value,c.value).map(r=>{var u,i,v;return(v=(i=(u=V.value[r])===null||u===void 0?void 0:u.node)===null||i===void 0?void 0:i[c.value.value])!==null&&v!==void 0?v:r}).map(r=>{const u=m.value.find(i=>i.value===r);return{value:r,label:u==null?void 0:u.label}}),o=E(a),d=o[0];return!p.value&&d&&k.isNil(d.value)&&k.isNil(d.label)?[]:o.map(r=>{var u;return L.default(L.default({},r),{label:(u=r.label)!==null&&u!==void 0?u:r.value})})}),[ve]=Ke.default(fe),T=(e,l,a)=>{const o=E(e);if(de(o),t.autoClearSearchValue&&j(""),t.onChange){let d=e;x.value&&(d=B.formatStrategyValues(e,t.showCheckedStrategy,V.value,c.value).map(g=>{const D=C.value.get(g);return D?D.node[c.value.value]:g}));const{triggerValue:r,selected:u}=l||{triggerValue:void 0,selected:void 0};let i=d;if(t.treeCheckStrictly){const f=P.value.filter(g=>!d.includes(g.value));i=[...i,...f]}const v=E(i),h={preValue:m.value,triggerValue:r};let y=!0;(t.treeCheckStrictly||a==="selection"&&!u)&&(y=!1),K.fillAdditionalInfo(h,r,e,b.value,y,c.value),N.value?h.checked=u:h.selected=u;const s=O.value?v:v.map(f=>f.value);t.onChange(p.value?s:s[0],O.value?null:v.map(f=>f.label),h)}},z=(e,l)=>{let{selected:a,source:o}=l;var d,r,u;const i=n.toRaw(V.value),v=n.toRaw(C.value),h=i[e],y=h==null?void 0:h.node,s=(d=y==null?void 0:y[c.value.value])!==null&&d!==void 0?d:e;if(!p.value)T([s],{selected:!0,triggerValue:s},"option");else{let f=a?[...se.value,s]:R.value.filter(g=>g!==s);if(x.value){const{missingRawValues:g,existRawValues:D}=ue(f),G=D.map(_=>v.get(_).key);let F;a?{checkedKeys:F}=Q.conductCheck(G,!0,i,I.value,q.value):{checkedKeys:F}=Q.conductCheck(G,{checked:!1,halfCheckedKeys:W.value},i,I.value,q.value),f=[...g,...F.map(_=>i[_].node[c.value.value])]}T(f,{selected:a,triggerValue:s},o||"option")}a||!p.value?(r=t.onSelect)===null||r===void 0||r.call(t,s,K.fillLegacyProps(y)):(u=t.onDeselect)===null||u===void 0||u.call(t,s,K.fillLegacyProps(y))},he=e=>{if(t.onDropdownVisibleChange){const l={};Object.defineProperty(l,"documentClickClose",{get(){return ze.warning(!1,"Second param of `onDropdownVisibleChange` has been removed."),!1}}),t.onDropdownVisibleChange(e,l)}},ye=(e,l)=>{const a=e.map(o=>o.value);if(l.type==="clear"){T(a,{},"selection");return}l.values.length&&z(l.values[0].value,{selected:!1,source:"selection"})},{treeNodeFilterProp:ge,loadData:Ve,treeLoadedKeys:pe,onTreeLoad:me,treeDefaultExpandAll:Se,treeExpandedKeys:be,treeDefaultExpandedKeys:Ce,onTreeExpand:we,virtual:De,listHeight:ke,listItemHeight:Le,treeLine:xe,treeIcon:Ne,showTreeIcon:Ee,switcherIcon:Pe,treeMotion:Ie,customSlots:qe,dropdownMatchSelectWidth:Re,treeExpandAction:Te}=n.toRefs(t);Ae.useProvideLegacySelectContext(X.toReactive({checkable:N,loadData:Ve,treeLoadedKeys:pe,onTreeLoad:me,checkedKeys:R,halfCheckedKeys:W,treeDefaultExpandAll:Se,treeExpandedKeys:be,treeDefaultExpandedKeys:Ce,onTreeExpand:we,treeIcon:Ne,treeMotion:Ie,showTreeIcon:Ee,switcherIcon:Pe,treeLine:xe,treeNodeFilterProp:ge,keyEntities:V,customSlots:qe})),_e.useProvideSelectContext(X.toReactive({virtual:De,listHeight:ke,listItemHeight:Le,treeData:oe,fieldNames:c,onSelect:z,dropdownMatchSelectWidth:Re,treeExpandAction:Te}));const w=n.ref();return le({focus(){var e;(e=w.value)===null||e===void 0||e.focus()},blur(){var e;(e=w.value)===null||e===void 0||e.blur()},scrollTo(e){var l;(l=w.value)===null||l===void 0||l.scrollTo(e)}}),()=>{var e;const l=Z.default(t,["id","prefixCls","customSlots","value","defaultValue","onChange","onSelect","onDeselect","searchValue","inputValue","onSearch","autoClearSearchValue","filterTreeNode","treeNodeFilterProp","showCheckedStrategy","treeNodeLabelProp","multiple","treeCheckable","treeCheckStrictly","labelInValue","fieldNames","treeDataSimpleMode","treeData","children","loadData","treeLoadedKeys","onTreeLoad","treeDefaultExpandAll","treeExpandedKeys","treeDefaultExpandedKeys","onTreeExpand","virtual","listHeight","listItemHeight","onDropdownVisibleChange","treeLine","treeIcon","showTreeIcon","switcherIcon","treeMotion"]);return n.createVNode(Y.default,A.default(A.default(A.default({ref:w},te),l),{},{id:ae,prefixCls:t.prefixCls,mode:p.value?"multiple":void 0,displayValues:ve.value,onDisplayValuesChange:ye,searchValue:H.value,onSearch:ne,OptionList:Fe.default,emptyOptions:!b.value.length,onDropdownVisibleChange:he,tagRender:t.tagRender||M.tagRender,dropdownMatchSelectWidth:(e=t.dropdownMatchSelectWidth)!==null&&e!==void 0?e:!0}),M)}}});exports.default=Qe;exports.treeSelectProps=$;