ll-package
Version:
2 lines (1 loc) • 3.84 kB
JavaScript
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const T=require("../../../@babel/runtime/helpers/esm/objectSpread2.js"),D=require("../../../@babel/runtime/helpers/esm/extends.js"),l=require("vue"),Y=require("../_util/hooks/useMemo.js"),d=require("../_util/KeyCode.js"),z=require("../vc-tree/Tree.js"),S=require("./utils/valueUtil.js"),J=require("../vc-select/hooks/useBaseProps.js"),Q=require("./LegacyContext.js"),X=require("./TreeSelectContext.js"),Z={width:0,height:0,display:"flex",overflow:"hidden",opacity:0,border:0,padding:0,margin:0},ee=l.defineComponent({compatConfig:{MODE:3},name:"OptionList",inheritAttrs:!1,setup(te,L){let{slots:v,expose:N}=L;const o=J.default(),a=Q.default(),r=X.default(),u=l.ref(),g=Y.default(()=>r.treeData,[()=>o.open,()=>r.treeData],e=>e[0]),q=l.computed(()=>{const{checkable:e,halfCheckedKeys:t,checkedKeys:n}=a;return e?{checked:n,halfChecked:t}:null});l.watch(()=>o.open,()=>{l.nextTick(()=>{var e;o.open&&!o.multiple&&a.checkedKeys.length&&((e=u.value)===null||e===void 0||e.scrollTo({key:a.checkedKeys[0]}))})},{immediate:!0,flush:"post"});const w=l.computed(()=>String(o.searchValue).toLowerCase()),I=e=>w.value?String(e[a.treeNodeFilterProp]).toLowerCase().includes(w.value):!1,x=l.shallowRef(a.treeDefaultExpandedKeys),h=l.shallowRef(null);l.watch(()=>o.searchValue,()=>{o.searchValue&&(h.value=S.getAllKeys(l.toRaw(r.treeData),l.toRaw(r.fieldNames)))},{immediate:!0});const k=l.computed(()=>a.treeExpandedKeys?a.treeExpandedKeys.slice():o.searchValue?h.value:x.value),V=e=>{var t;x.value=e,h.value=e,(t=a.onTreeExpand)===null||t===void 0||t.call(a,e)},C=e=>{e.preventDefault()},p=(e,t)=>{let{node:n}=t;var s,c;const{checkable:y,checkedKeys:m}=a;y&&S.isCheckDisabled(n)||((s=r.onSelect)===null||s===void 0||s.call(r,n.key,{selected:!m.includes(n.key)}),o.multiple||(c=o.toggleOpen)===null||c===void 0||c.call(o,!1))},i=l.ref(null),f=l.computed(()=>a.keyEntities[i.value]),_=e=>{i.value=e};return N({scrollTo:function(){for(var e,t,n=arguments.length,s=new Array(n),c=0;c<n;c++)s[c]=arguments[c];return(t=(e=u.value)===null||e===void 0?void 0:e.scrollTo)===null||t===void 0?void 0:t.call(e,...s)},onKeydown:e=>{var t;const{which:n}=e;switch(n){case d.default.UP:case d.default.DOWN:case d.default.LEFT:case d.default.RIGHT:(t=u.value)===null||t===void 0||t.onKeydown(e);break;case d.default.ENTER:{if(f.value){const{selectable:s,value:c}=f.value.node||{};s!==!1&&p(null,{node:{key:i.value},selected:!a.checkedKeys.includes(c)})}break}case d.default.ESC:o.toggleOpen(!1)}},onKeyup:()=>{}}),()=>{var e;const{prefixCls:t,multiple:n,searchValue:s,open:c,notFoundContent:y=(e=v.notFoundContent)===null||e===void 0?void 0:e.call(v)}=o,{listHeight:m,listItemHeight:A,virtual:M,dropdownMatchSelectWidth:O,treeExpandAction:R}=r,{checkable:E,treeDefaultExpandAll:P,treeIcon:H,showTreeIcon:F,switcherIcon:j,treeLine:U,loadData:W,treeLoadedKeys:b,treeMotion:$,onTreeLoad:B,checkedKeys:G}=a;if(g.value.length===0)return l.createVNode("div",{role:"listbox",class:`${t}-empty`,onMousedown:C},[y]);const K={fieldNames:r.fieldNames};return b&&(K.loadedKeys=b),k.value&&(K.expandedKeys=k.value),l.createVNode("div",{onMousedown:C},[f.value&&c&&l.createVNode("span",{style:Z,"aria-live":"assertive"},[f.value.node.value]),l.createVNode(z.default,T.default(T.default({ref:u,focusable:!1,prefixCls:`${t}-tree`,treeData:g.value,height:m,itemHeight:A,virtual:M!==!1&&O!==!1,multiple:n,icon:H,showIcon:F,switcherIcon:j,showLine:U,loadData:s?null:W,motion:$,activeKey:i.value,checkable:E,checkStrictly:!0,checkedKeys:q.value,selectedKeys:E?[]:G,defaultExpandAll:P},K),{},{onActiveChange:_,onSelect:p,onCheck:p,onExpand:V,onLoad:B,filterTreeNode:I,expandAction:R}),D.default(D.default({},v),{checkable:a.customSlots.treeCheckable}))])}}});exports.default=ee;