ll-package
Version:
2 lines (1 loc) • 4.92 kB
JavaScript
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const q=require("../../../@babel/runtime/helpers/esm/objectSpread2.js"),b=require("../../../@babel/runtime/helpers/esm/extends.js"),n=require("vue"),R=require("../../../lodash-es/debounce.js"),$=require("../../../@ant-design/icons-vue/es/icons/FolderOpenOutlined.js"),B=require("../../../@ant-design/icons-vue/es/icons/FolderOutlined.js"),z=require("../../../@ant-design/icons-vue/es/icons/FileOutlined.js"),G=require("../_util/classNames.js"),g=require("./Tree.js"),H=require("../_util/props-util/initDefaultProps.js"),m=require("../vc-tree/utils/treeUtil.js"),J=require("../vc-tree/util.js"),k=require("./utils/dictUtil.js"),Q=require("../config-provider/hooks/useConfigInject.js"),O=require("../_util/props-util/index.js"),W=require("../_util/type.js");var X=function(t,f){var i={};for(var d in t)Object.prototype.hasOwnProperty.call(t,d)&&f.indexOf(d)<0&&(i[d]=t[d]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,d=Object.getOwnPropertySymbols(t);a<d.length;a++)f.indexOf(d[a])<0&&Object.prototype.propertyIsEnumerable.call(t,d[a])&&(i[d[a]]=t[d[a]]);return i};const C=()=>b.default(b.default({},g.treeProps()),{expandAction:W.someType([Boolean,String])});function Y(t){const{isLeaf:f,expanded:i}=t;return f?n.createVNode(z.default,null,null):i?n.createVNode($.default,null,null):n.createVNode(B.default,null,null)}const Z=n.defineComponent({compatConfig:{MODE:3},name:"ADirectoryTree",inheritAttrs:!1,props:H.default(C(),{showIcon:!0,expandAction:"click"}),slots:Object,setup(t,f){let{attrs:i,slots:d,emit:a,expose:P}=f;var N;const s=n.ref(t.treeData||m.convertTreeToData(O.filterEmpty((N=d.default)===null||N===void 0?void 0:N.call(d))));n.watch(()=>t.treeData,()=>{s.value=t.treeData}),n.onUpdated(()=>{n.nextTick(()=>{var e;t.treeData===void 0&&d.default&&(s.value=m.convertTreeToData(O.filterEmpty((e=d.default)===null||e===void 0?void 0:e.call(d))))})});const h=n.ref(),D=n.ref(),v=n.computed(()=>m.fillFieldNames(t.fieldNames)),u=n.ref();P({scrollTo:e=>{var l;(l=u.value)===null||l===void 0||l.scrollTo(e)},selectedKeys:n.computed(()=>{var e;return(e=u.value)===null||e===void 0?void 0:e.selectedKeys}),checkedKeys:n.computed(()=>{var e;return(e=u.value)===null||e===void 0?void 0:e.checkedKeys}),halfCheckedKeys:n.computed(()=>{var e;return(e=u.value)===null||e===void 0?void 0:e.halfCheckedKeys}),loadedKeys:n.computed(()=>{var e;return(e=u.value)===null||e===void 0?void 0:e.loadedKeys}),loadingKeys:n.computed(()=>{var e;return(e=u.value)===null||e===void 0?void 0:e.loadingKeys}),expandedKeys:n.computed(()=>{var e;return(e=u.value)===null||e===void 0?void 0:e.expandedKeys})});const S=()=>{const{keyEntities:e}=m.convertDataToEntities(s.value,{fieldNames:v.value});let l;return t.defaultExpandAll?l=Object.keys(e):t.defaultExpandParent?l=J.conductExpandParent(t.expandedKeys||t.defaultExpandedKeys||[],e):l=t.expandedKeys||t.defaultExpandedKeys,l},E=n.ref(t.selectedKeys||t.defaultSelectedKeys||[]),y=n.ref(S());n.watch(()=>t.selectedKeys,()=>{t.selectedKeys!==void 0&&(E.value=t.selectedKeys)},{immediate:!0}),n.watch(()=>t.expandedKeys,()=>{t.expandedKeys!==void 0&&(y.value=t.expandedKeys)},{immediate:!0});const w=(e,l)=>{const{isLeaf:c}=l;c||e.shiftKey||e.metaKey||e.ctrlKey||u.value.onNodeExpand(e,l)},_=R.default(w,200,{leading:!0}),j=(e,l)=>{t.expandedKeys===void 0&&(y.value=e),a("update:expandedKeys",e),a("expand",e,l)},A=(e,l)=>{const{expandAction:c}=t;c==="click"&&_(e,l),a("click",e,l)},F=(e,l)=>{const{expandAction:c}=t;(c==="dblclick"||c==="doubleclick")&&_(e,l),a("doubleclick",e,l),a("dblclick",e,l)},I=(e,l)=>{const{multiple:c}=t,{node:p,nativeEvent:r}=l,K=p[v.value.key],x=b.default(b.default({},l),{selected:!0}),U=(r==null?void 0:r.ctrlKey)||(r==null?void 0:r.metaKey),L=r==null?void 0:r.shiftKey;let o;c&&U?(o=e,h.value=K,D.value=o,x.selectedNodes=k.convertDirectoryKeysToNodes(s.value,o,v.value)):c&&L?(o=Array.from(new Set([...D.value||[],...k.calcRangeKeys({treeData:s.value,expandedKeys:y.value,startKey:K,endKey:h.value,fieldNames:v.value})])),x.selectedNodes=k.convertDirectoryKeysToNodes(s.value,o,v.value)):(o=[K],h.value=K,D.value=o,x.selectedNodes=k.convertDirectoryKeysToNodes(s.value,o,v.value)),a("update:selectedKeys",o),a("select",o,x),t.selectedKeys===void 0&&(E.value=o)},V=(e,l)=>{a("update:checkedKeys",e),a("check",e,l)},{prefixCls:T,direction:M}=Q.default("tree",t);return()=>{const e=G.default(`${T.value}-directory`,{[`${T.value}-directory-rtl`]:M.value==="rtl"},i.class),{icon:l=d.icon,blockNode:c=!0}=t,p=X(t,["icon","blockNode"]);return n.createVNode(g.default,q.default(q.default(q.default({},i),{},{icon:l||Y,ref:u,blockNode:c},p),{},{prefixCls:T.value,class:e,expandedKeys:y.value,selectedKeys:E.value,onSelect:I,onClick:A,onDblclick:F,onExpand:j,onCheck:V}),d)}}});exports.default=Z;exports.directoryTreeProps=C;
;