UNPKG

ll-package

Version:

2 lines (1 loc) 8.52 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Y=require("../../../@babel/runtime/helpers/esm/objectSpread2.js"),C=require("../../../@babel/runtime/helpers/esm/extends.js"),l=require("vue"),Z=require("./contextTypes.js"),Re=require("./Indent.js"),ee=require("./utils/treeUtil.js"),Ge=require("./props.js"),N=require("../_util/classNames.js"),He=require("../vc-util/warning.js"),Be=require("../_util/pickAttrs.js"),g=require("../_util/eagerComputed.js");var Fe=function(a,I){var y={};for(var s in a)Object.prototype.hasOwnProperty.call(a,s)&&I.indexOf(s)<0&&(y[s]=a[s]);if(a!=null&&typeof Object.getOwnPropertySymbols=="function")for(var b=0,s=Object.getOwnPropertySymbols(a);b<s.length;b++)I.indexOf(s[b])<0&&Object.prototype.propertyIsEnumerable.call(a,s[b])&&(y[s[b]]=a[s[b]]);return y};const te="open",oe="close",Ue="---",ze=l.defineComponent({compatConfig:{MODE:3},name:"ATreeNode",inheritAttrs:!1,props:Ge.treeNodeProps,isTreeNode:1,setup(a,I){let{attrs:y,slots:s,expose:b}=I;He.warning(!("slots"in a.data),`treeData slots is deprecated, please use ${Object.keys(a.data.slots||{}).map(e=>"`v-slot:"+e+"` ")}instead`);const P=l.shallowRef(!1),o=Z.useInjectTreeContext(),{expandedKeysSet:ae,selectedKeysSet:ne,loadedKeysSet:le,loadingKeysSet:ce,checkedKeysSet:re,halfCheckedKeysSet:se}=Z.useInjectKeysState(),{dragOverNodeKey:de,dropPosition:ue,keyEntities:ie}=o.value,i=l.computed(()=>ee.getTreeNodeProps(a.eventKey,{expandedKeysSet:ae.value,selectedKeysSet:ne.value,loadedKeysSet:le.value,loadingKeysSet:ce.value,checkedKeysSet:re.value,halfCheckedKeysSet:se.value,dragOverNodeKey:de,dropPosition:ue,keyEntities:ie})),w=g.default(()=>i.value.expanded),V=g.default(()=>i.value.selected),O=g.default(()=>i.value.checked),H=g.default(()=>i.value.loaded),m=g.default(()=>i.value.loading),j=g.default(()=>i.value.halfChecked),ve=g.default(()=>i.value.dragOver),fe=g.default(()=>i.value.dragOverGapTop),ge=g.default(()=>i.value.dragOverGapBottom),pe=g.default(()=>i.value.pos),B=l.shallowRef(),F=l.computed(()=>{const{eventKey:e}=a,{keyEntities:t}=o.value,{children:n}=t[e]||{};return!!(n||[]).length}),T=l.computed(()=>{const{isLeaf:e}=a,{loadData:t}=o.value,n=F.value;return e===!1?!1:e||!t&&!n||t&&H.value&&!n}),U=l.computed(()=>T.value?null:w.value?te:oe),_=l.computed(()=>{const{disabled:e}=a,{disabled:t}=o.value;return!!(t||e)}),z=l.computed(()=>{const{checkable:e}=a,{checkable:t}=o.value;return!t||e===!1?!1:t}),be=l.computed(()=>{const{selectable:e}=a,{selectable:t}=o.value;return typeof e=="boolean"?e:t}),A=l.computed(()=>{const{data:e,active:t,checkable:n,disableCheckbox:c,disabled:r,selectable:d}=a;return C.default(C.default({active:t,checkable:n,disableCheckbox:c,disabled:r,selectable:d},e),{dataRef:e,data:e,isLeaf:T.value,checked:O.value,expanded:w.value,loading:m.value,selected:V.value,halfChecked:j.value})}),he=l.getCurrentInstance(),v=l.computed(()=>{const{eventKey:e}=a,{keyEntities:t}=o.value,{parent:n}=t[e]||{};return C.default(C.default({},ee.convertNodePropsToEventData(C.default({},a,i.value))),{parent:n})}),k=l.reactive({eventData:v,eventKey:l.computed(()=>a.eventKey),selectHandle:B,pos:pe,key:he.vnode.key});b(k);const ye=e=>{const{onNodeDoubleClick:t}=o.value;t(e,v.value)},ke=e=>{if(_.value)return;const{onNodeSelect:t}=o.value;e.preventDefault(),t(e,v.value)},W=e=>{if(_.value)return;const{disableCheckbox:t}=a,{onNodeCheck:n}=o.value;if(!z.value||t)return;e.preventDefault();const c=!O.value;n(e,v.value,c)},De=e=>{const{onNodeClick:t}=o.value;t(e,v.value),be.value?ke(e):W(e)},Ce=e=>{const{onNodeMouseEnter:t}=o.value;t(e,v.value)},Ne=e=>{const{onNodeMouseLeave:t}=o.value;t(e,v.value)},me=e=>{const{onNodeContextMenu:t}=o.value;t(e,v.value)},xe=e=>{const{onNodeDragStart:t}=o.value;e.stopPropagation(),P.value=!0,t(e,k);try{e.dataTransfer.setData("text/plain","")}catch{}},$e=e=>{const{onNodeDragEnter:t}=o.value;e.preventDefault(),e.stopPropagation(),t(e,k)},Se=e=>{const{onNodeDragOver:t}=o.value;e.preventDefault(),e.stopPropagation(),t(e,k)},we=e=>{const{onNodeDragLeave:t}=o.value;e.stopPropagation(),t(e,k)},Oe=e=>{const{onNodeDragEnd:t}=o.value;e.stopPropagation(),P.value=!1,t(e,k)},_e=e=>{const{onNodeDrop:t}=o.value;e.preventDefault(),e.stopPropagation(),P.value=!1,t(e,k)},Ke=e=>{const{onNodeExpand:t}=o.value;m.value||t(e,v.value)},Ee=()=>{const{data:e}=a,{draggable:t}=o.value;return!!(t&&(!t.nodeDraggable||t.nodeDraggable(e)))},Ie=()=>{const{draggable:e,prefixCls:t}=o.value;return e&&(e!=null&&e.icon)?l.createVNode("span",{class:`${t}-draggable-icon`},[e.icon]):null},Pe=()=>{var e,t,n;const{switcherIcon:c=s.switcherIcon||((e=o.value.slots)===null||e===void 0?void 0:e[(n=(t=a.data)===null||t===void 0?void 0:t.slots)===null||n===void 0?void 0:n.switcherIcon])}=a,{switcherIcon:r}=o.value,d=c||r;return typeof d=="function"?d(A.value):d},J=()=>{const{loadData:e,onNodeLoad:t}=o.value;m.value||e&&w.value&&!T.value&&!F.value&&!H.value&&t(v.value)};l.onMounted(()=>{J()}),l.onUpdated(()=>{J()});const Te=()=>{const{prefixCls:e}=o.value,t=Pe();if(T.value)return t!==!1?l.createVNode("span",{class:N.default(`${e}-switcher`,`${e}-switcher-noop`)},[t]):null;const n=N.default(`${e}-switcher`,`${e}-switcher_${w.value?te:oe}`);return t!==!1?l.createVNode("span",{onClick:Ke,class:n},[t]):null},Me=()=>{var e,t;const{disableCheckbox:n}=a,{prefixCls:c}=o.value,r=_.value;return z.value?l.createVNode("span",{class:N.default(`${c}-checkbox`,O.value&&`${c}-checkbox-checked`,!O.value&&j.value&&`${c}-checkbox-indeterminate`,(r||n)&&`${c}-checkbox-disabled`),onClick:W},[(t=(e=o.value).customCheckable)===null||t===void 0?void 0:t.call(e)]):null},Q=()=>{const{prefixCls:e}=o.value;return l.createVNode("span",{class:N.default(`${e}-iconEle`,`${e}-icon__${U.value||"docu"}`,m.value&&`${e}-icon_loading`)},null)},Le=()=>{const{disabled:e,eventKey:t}=a,{draggable:n,dropLevelOffset:c,dropPosition:r,prefixCls:d,indent:K,dropIndicatorRender:x,dragOverNodeKey:p,direction:f}=o.value;return!e&&n!==!1&&p===t?x({dropPosition:r,dropLevelOffset:c,indent:K,prefixCls:d,direction:f}):null},qe=()=>{var e,t,n,c,r,d;const{icon:K=s.icon,data:x}=a,p=s.title||((e=o.value.slots)===null||e===void 0?void 0:e[(n=(t=a.data)===null||t===void 0?void 0:t.slots)===null||n===void 0?void 0:n.title])||((c=o.value.slots)===null||c===void 0?void 0:c.title)||a.title,{prefixCls:f,showIcon:M,icon:u,loadData:L}=o.value,R=_.value,q=`${f}-node-content-wrapper`;let E;if(M){const $=K||((r=o.value.slots)===null||r===void 0?void 0:r[(d=x==null?void 0:x.slots)===null||d===void 0?void 0:d.icon])||u;E=$?l.createVNode("span",{class:N.default(`${f}-iconEle`,`${f}-icon__customize`)},[typeof $=="function"?$(A.value):$]):Q()}else L&&m.value&&(E=Q());let h;typeof p=="function"?h=p(A.value):h=p,h=h===void 0?Ue:h;const D=l.createVNode("span",{class:`${f}-title`},[h]);return l.createVNode("span",{ref:B,title:typeof p=="string"?p:"",class:N.default(`${q}`,`${q}-${U.value||"normal"}`,!R&&(V.value||P.value)&&`${f}-node-selected`),onMouseenter:Ce,onMouseleave:Ne,onContextmenu:me,onClick:De,onDblclick:ye},[E,D,Le()])};return()=>{const e=C.default(C.default({},a),y),{eventKey:t,isLeaf:n,isStart:c,isEnd:r,domRef:d,active:K,data:x,onMousemove:p,selectable:f}=e,M=Fe(e,["eventKey","isLeaf","isStart","isEnd","domRef","active","data","onMousemove","selectable"]),{prefixCls:u,filterTreeNode:L,keyEntities:R,dropContainerKey:q,dropTargetKey:E,draggingNodeKey:h}=o.value,D=_.value,$=Be.default(M,{aria:!0,data:!0}),{level:Ve}=R[t]||{},je=r[r.length-1],S=Ee(),G=!D&&S,X=h===t,Ae=f!==void 0?{"aria-selected":!!f}:void 0;return l.createVNode("div",Y.default(Y.default({ref:d,class:N.default(y.class,`${u}-treenode`,{[`${u}-treenode-disabled`]:D,[`${u}-treenode-switcher-${w.value?"open":"close"}`]:!n,[`${u}-treenode-checkbox-checked`]:O.value,[`${u}-treenode-checkbox-indeterminate`]:j.value,[`${u}-treenode-selected`]:V.value,[`${u}-treenode-loading`]:m.value,[`${u}-treenode-active`]:K,[`${u}-treenode-leaf-last`]:je,[`${u}-treenode-draggable`]:G,dragging:X,"drop-target":E===t,"drop-container":q===t,"drag-over":!D&&ve.value,"drag-over-gap-top":!D&&fe.value,"drag-over-gap-bottom":!D&&ge.value,"filter-node":L&&L(v.value)}),style:y.style,draggable:G,"aria-grabbed":X,onDragstart:G?xe:void 0,onDragenter:S?$e:void 0,onDragover:S?Se:void 0,onDragleave:S?we:void 0,onDrop:S?_e:void 0,onDragend:S?Oe:void 0,onMousemove:p},Ae),$),[l.createVNode(Re.default,{prefixCls:u,level:Ve,isStart:c,isEnd:r},null),Ie(),Te(),Me(),qe()])}}});exports.default=ze;