ll-package
Version:
2 lines (1 loc) • 2.38 kB
JavaScript
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("../../../@babel/runtime/helpers/esm/objectSpread2.js"),N=require("../../../@babel/runtime/helpers/esm/extends.js"),t=require("vue"),M=require("./TreeNode.js"),j=require("./contextTypes.js"),x=require("./props.js"),E=require("../_util/collapseMotion.js");var O=function(e,f){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&f.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,o=Object.getOwnPropertySymbols(e);n<o.length;n++)f.indexOf(o[n])<0&&Object.prototype.propertyIsEnumerable.call(e,o[n])&&(r[o[n]]=e[o[n]]);return r};const P=t.defineComponent({compatConfig:{MODE:3},name:"MotionTreeNode",inheritAttrs:!1,props:N.default(N.default({},x.treeNodeProps),{active:Boolean,motion:Object,motionNodes:{type:Array},onMotionStart:Function,onMotionEnd:Function,motionType:String}),setup(e,f){let{attrs:r,slots:o}=f;const n=t.shallowRef(!0),T=j.useInjectTreeContext(),p=t.shallowRef(!1),v=t.computed(()=>e.motion?e.motion:E.default()),m=(y,s)=>{var a,l,u,c;s==="appear"?(l=(a=v.value)===null||a===void 0?void 0:a.onAfterEnter)===null||l===void 0||l.call(a,y):s==="leave"&&((c=(u=v.value)===null||u===void 0?void 0:u.onAfterLeave)===null||c===void 0||c.call(u,y)),p.value||e.onMotionEnd(),p.value=!0};return t.watch(()=>e.motionNodes,()=>{e.motionNodes&&e.motionType==="hide"&&n.value&&t.nextTick(()=>{n.value=!1})},{immediate:!0,flush:"post"}),t.onMounted(()=>{e.motionNodes&&e.onMotionStart()}),t.onBeforeUnmount(()=>{e.motionNodes&&m()}),()=>{const{motion:y,motionNodes:s,motionType:a,active:l,eventKey:u}=e,c=O(e,["motion","motionNodes","motionType","active","eventKey"]);return s?t.createVNode(t.Transition,d.default(d.default({},v.value),{},{appear:a==="show",onAfterAppear:i=>m(i,"appear"),onAfterLeave:i=>m(i,"leave")}),{default:()=>[t.withDirectives(t.createVNode("div",{class:`${T.value.prefixCls}-treenode-motion`},[s.map(i=>{const b=O(i.data,[]),{title:S,key:h,isStart:_,isEnd:w}=i;return delete b.children,t.createVNode(M.default,d.default(d.default({},b),{},{title:S,active:l,data:i.data,key:h,eventKey:h,isStart:_,isEnd:w}),o)})]),[[t.vShow,n.value]])]}):t.createVNode(M.default,d.default(d.default({class:r.class,style:r.style},c),{},{active:l,eventKey:u}),o)}}});exports.default=P;
;