vxe-pc-ui 4.20.2 → 4.20.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/dist/all.esm.js +1119 -1156
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/button/src/button.js +1 -0
  5. package/es/cascader/src/cascader.js +1 -0
  6. package/es/color-picker/src/color-picker.js +1 -0
  7. package/es/date-picker/src/date-picker.js +1 -0
  8. package/es/date-range-picker/src/date-range-picker.js +1 -0
  9. package/es/icon/style.css +1 -1
  10. package/es/icon-picker/src/icon-picker.js +1 -0
  11. package/es/list/src/list.js +3 -2
  12. package/es/pulldown/src/pulldown.js +1 -0
  13. package/es/scrollbar/src/scrollbar.js +2 -2
  14. package/es/select/src/select.js +1 -0
  15. package/es/style.css +1 -1
  16. package/es/style.min.css +1 -1
  17. package/es/table-select/src/table-select.js +1 -0
  18. package/es/tooltip/src/tooltip.js +2 -1
  19. package/es/tree/src/tree.js +2 -2
  20. package/es/tree-select/src/tree-select.js +1 -0
  21. package/es/ui/index.js +1 -1
  22. package/es/ui/src/dom.js +11 -8
  23. package/es/ui/src/log.js +1 -1
  24. package/lib/button/src/button.js +1 -0
  25. package/lib/button/src/button.min.js +1 -1
  26. package/lib/cascader/src/cascader.js +1 -0
  27. package/lib/cascader/src/cascader.min.js +1 -1
  28. package/lib/color-picker/src/color-picker.js +1 -0
  29. package/lib/color-picker/src/color-picker.min.js +1 -1
  30. package/lib/date-picker/src/date-picker.js +1 -0
  31. package/lib/date-picker/src/date-picker.min.js +1 -1
  32. package/lib/date-range-picker/src/date-range-picker.js +1 -0
  33. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  34. package/lib/icon/style/style.css +1 -1
  35. package/lib/icon/style/style.min.css +1 -1
  36. package/lib/icon-picker/src/icon-picker.js +1 -0
  37. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  38. package/lib/index.umd.js +108 -120
  39. package/lib/index.umd.min.js +1 -1
  40. package/lib/list/src/list.js +62 -47
  41. package/lib/list/src/list.min.js +1 -1
  42. package/lib/pulldown/src/pulldown.js +1 -0
  43. package/lib/pulldown/src/pulldown.min.js +1 -1
  44. package/lib/scrollbar/src/scrollbar.js +17 -11
  45. package/lib/scrollbar/src/scrollbar.min.js +1 -1
  46. package/lib/select/src/select.js +1 -0
  47. package/lib/select/src/select.min.js +1 -1
  48. package/lib/style.css +1 -1
  49. package/lib/style.min.css +1 -1
  50. package/lib/table-select/src/table-select.js +1 -0
  51. package/lib/table-select/src/table-select.min.js +1 -1
  52. package/lib/tooltip/src/tooltip.js +2 -0
  53. package/lib/tooltip/src/tooltip.min.js +1 -1
  54. package/lib/tree/src/tree.js +17 -11
  55. package/lib/tree/src/tree.min.js +1 -1
  56. package/lib/tree-select/src/tree-select.js +1 -0
  57. package/lib/tree-select/src/tree-select.min.js +1 -1
  58. package/lib/ui/index.js +1 -1
  59. package/lib/ui/index.min.js +1 -1
  60. package/lib/ui/src/dom.js +11 -7
  61. package/lib/ui/src/dom.min.js +1 -1
  62. package/lib/ui/src/log.js +1 -1
  63. package/lib/ui/src/log.min.js +1 -1
  64. package/package.json +2 -2
  65. package/packages/button/src/button.ts +2 -1
  66. package/packages/cascader/src/cascader.ts +1 -0
  67. package/packages/color-picker/src/color-picker.ts +1 -0
  68. package/packages/date-picker/src/date-picker.ts +1 -0
  69. package/packages/date-range-picker/src/date-range-picker.ts +1 -0
  70. package/packages/icon-picker/src/icon-picker.ts +1 -0
  71. package/packages/list/src/list.ts +5 -2
  72. package/packages/pulldown/src/pulldown.ts +1 -0
  73. package/packages/scrollbar/src/scrollbar.ts +3 -2
  74. package/packages/select/src/select.ts +1 -0
  75. package/packages/table-select/src/table-select.ts +1 -0
  76. package/packages/tooltip/src/tooltip.ts +2 -1
  77. package/packages/tree/src/tree.ts +3 -2
  78. package/packages/tree-select/src/tree-select.ts +1 -0
  79. package/packages/ui/src/dom.ts +12 -8
  80. package/types/components/button.d.ts +4 -0
  81. package/types/components/cascader.d.ts +4 -0
  82. package/types/components/gantt-plugins/extend-gantt-chart.d.ts +1 -1
  83. package/types/components/layout-aside.d.ts +15 -0
  84. package/types/components/layout-body.d.ts +3 -0
  85. package/types/components/list.d.ts +15 -0
  86. package/types/components/number-input.d.ts +12 -2
  87. package/types/components/table-plugins/extend-pivot-table.d.ts +1 -1
  88. package/types/components/table.d.ts +3 -0
  89. package/types/components/tree.d.ts +12 -0
  90. package/es/scrollbar/src/util.js +0 -54
  91. package/lib/scrollbar/src/util.js +0 -63
  92. package/lib/scrollbar/src/util.min.js +0 -1
  93. package/packages/scrollbar/src/util.ts +0 -57
  94. /package/es/icon/{iconfont.1792034967421.ttf → iconfont.1792054434227.ttf} +0 -0
  95. /package/es/icon/{iconfont.1792034967421.woff → iconfont.1792054434227.woff} +0 -0
  96. /package/es/icon/{iconfont.1792034967421.woff2 → iconfont.1792054434227.woff2} +0 -0
  97. /package/es/{iconfont.1792034967421.ttf → iconfont.1792054434227.ttf} +0 -0
  98. /package/es/{iconfont.1792034967421.woff → iconfont.1792054434227.woff} +0 -0
  99. /package/es/{iconfont.1792034967421.woff2 → iconfont.1792054434227.woff2} +0 -0
  100. /package/lib/icon/style/{iconfont.1792034967421.ttf → iconfont.1792054434227.ttf} +0 -0
  101. /package/lib/icon/style/{iconfont.1792034967421.woff → iconfont.1792054434227.woff} +0 -0
  102. /package/lib/icon/style/{iconfont.1792034967421.woff2 → iconfont.1792054434227.woff2} +0 -0
  103. /package/lib/{iconfont.1792034967421.ttf → iconfont.1792054434227.ttf} +0 -0
  104. /package/lib/{iconfont.1792034967421.woff → iconfont.1792054434227.woff} +0 -0
  105. /package/lib/{iconfont.1792034967421.woff2 → iconfont.1792054434227.woff2} +0 -0
@@ -443,6 +443,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
443
443
  const ppObj = (0, _dom.updatePanelPlacement)(targetElem, panelElem, {
444
444
  placement: popupOpts.placement || placement,
445
445
  defaultPlacement: popupOpts.defaultPlacement,
446
+ appendTo: popupOpts.appendTo,
446
447
  teleportTo: btnTransfer
447
448
  });
448
449
  const panelStyle = Object.assign(ppObj.style, {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.getRowUniqueId=getRowUniqueId;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_input=_interopRequireDefault(require("../../input/src/input"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("table-select").errLog;function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function createReactData(){return{initialized:!1,tableColumns:[],fullOptionList:[],panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}}function createInternalData(){return{fullRowMaps:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableSelect",props:{modelValue:[String,Number,Array],clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().tableSelect.clearable},placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().tableSelect.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().tableSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,className:[String,Function],prefixIcon:String,placement:String,columns:Array,options:Array,optionProps:Object,lazyOptions:Array,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().tableSelect.size||(0,_ui.getConfig)().size},popupConfig:Object,gridConfig:Object,transfer:{type:Boolean,default:null}},emits:["update:modelValue","change","clear","blur","focus","click","form-submit","form-reset","form-collapse","page-change"],setup(C,e){let{emit:a,slots:y}=e,E=_ui.VxeUI.getComponent("vxe-grid"),l=(0,_vue.inject)("$xeModal",null),i=(0,_vue.inject)("$xeDrawer",null),h=(0,_vue.inject)("$xeTable",null),u=(0,_vue.inject)("$xeForm",null),n=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let $=(0,_ui.useSize)(C).computeSize,T=(0,_vue.ref)(),I=(0,_vue.ref)(),V=(0,_vue.ref)(),w=(0,_vue.ref)(),S=(0,_vue.ref)(),U=(0,_vue.reactive)(createReactData()),s=createInternalData(),k={refElem:T},D=(0,_vue.computed)(()=>{var e=C.readonly;return null===e?!!u&&u.props.readonly:e}),P=(0,_vue.computed)(()=>{var e=C.disabled;return null===e?!!u&&u.props.disabled:e}),R=(0,_vue.computed)(()=>{var e=C.transfer,t=j.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().tableSelect.transfer;if(_xeUtils.default.isBoolean(t))return t;if(h||l||i||u)return!0}return e}),r=(0,_vue.computed)(()=>C.optionProps||{}),O=(0,_vue.computed)(()=>{var e=d.value;return Object.assign({},e.rowConfig,{isCurrent:!0})}),v=(0,_vue.computed)(()=>O.value.keyField||"_X_ROW_KEY"),F=(0,_vue.computed)(()=>r.value.label||"label"),c=(0,_vue.computed)(()=>r.value.value||"value"),j=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tableSelect.popupConfig,C.popupConfig)),d=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tableSelect.gridConfig,C.gridConfig,{data:void 0})),N=(0,_vue.computed)(()=>{var e=d.value;let{pagerConfig:i,proxyConfig:t}=e;if(t){var a=t.ajax;if(a&&a.query){var u=_xeUtils.default.clone(t,!0);let l=a.query;if(l){let a=t.response||t.props||{};Object.assign(u.ajax,{query(e,...t){return Promise.resolve(l(e,...t)).then(e=>{let t=[];var l;return t=i?(l=a.result,(_xeUtils.default.isFunction(l)?l({data:e,$table:null,$grid:null,$gantt:null}):_xeUtils.default.get(e,l||"result"))||[]):((l=a.list)?_xeUtils.default.isFunction(l)?l({data:e,$table:null,$grid:null,$gantt:null}):_xeUtils.default.get(e,l):e)||[],g(t||[]),e})}})}return Object.assign({},e,{proxyConfig:u})}}return e}),B=(0,_vue.computed)(()=>{let{modelValue:e,lazyOptions:l}=C;var t=U.fullOptionList;let a=s.fullRowMaps,i=c.value,u=F.value;return t?(_xeUtils.default.isArray(e)?e:[e]).map(t=>{var e=a[t];if(e)return e.item[u];if(l){e=l.find(e=>e[i]===t);if(e)return e[u]}return t}).join(", "):""}),M=(0,_vue.computed)(()=>{var{height:e,width:t}=j.value,l={};return t&&(l.width=(0,_dom.toCssUnit)(t)),e&&(l.height=(0,_dom.toCssUnit)(e)),l}),K={},q={xID:t,props:C,context:e,reactData:U,getRefMaps:()=>k,getComputeMaps:()=>K};let A={},o=(["form-submit","form-reset","form-collapse","page-change"].forEach(t=>{A[(0,_vn.getOnName)(_xeUtils.default.camelCase(t))]=e=>{o(t,e,e.$event)}}),(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$tableSelect:q},t))}),Z=e=>{a("update:modelValue",e)};t={dispatchEvent:o};let W=e=>{let t=s.fullRowMaps,l=[];return(_xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=t[e];e&&l.push(e.item)}),l},p=l=>{let a=C.multiple;(0,_vue.nextTick)(()=>{var e,t=S.value;t&&(e=W(l)).length&&(a?t.setCheckboxRow(e,!0):t.setRadioRow(e[0]))})},f=e=>{if(e&&e.length){var i=C.multiple;let t=[],l=!1,a=!1;e.forEach(e=>{l||"radio"!==e.type?a||"checkbox"!==e.type||(a=!0):l=!0,t.push(e)}),i?a||t.unshift({type:"checkbox",width:70}):l||t.unshift({type:"radio",width:70}),U.tableColumns=t}},g=e=>{var t=C.options;let u=v.value,n=c.value;var{treeConfig:l,pagerConfig:a}=d.value;let r={},o={};l||_xeUtils.default.arrayEach(e||t||[],(e,t,l)=>{let a=(e=>{e=e[v.value];return e?encodeURIComponent(e):""})(e);a=a||getRowUniqueId(),o[a]&&errLog("vxe.error.repeatKey",[u,a]),o[a]=!0;var i=e[n];r[i]&&errLog("vxe.error.repeatKey",[n,i]),r[i]={item:e,index:t,items:l,parent:null,nodes:[]}}),U.fullOptionList=e||t||[],s.fullRowMaps=a?Object.assign({},s.fullRowMaps,r):r,p(C.modelValue)},X=()=>{var e=j.value.zIndex||C.zIndex;e?U.panelIndex=_xeUtils.default.toNumber(e):U.panelIndex<(0,_utils.getLastZIndex)()&&(U.panelIndex=(0,_utils.nextZIndex)())},_=()=>{let l=C.placement,a=U.panelIndex,i=T.value,u=w.value,n=R.value,r=j.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,u,{placement:r.placement||l,defaultPlacement:r.defaultPlacement,teleportTo:n}),t=Object.assign(e.style,{zIndex:a});U.panelStyle=t,U.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},m=()=>{var e=C.loading,t=P.value;e||t||(s.vpTimeout&&clearTimeout(s.vpTimeout),s.hpTimeout&&clearTimeout(s.hpTimeout),U.initialized||(U.initialized=!0),U.isActivated=!0,U.isAniVisible=!0,s.vpTimeout=setTimeout(()=>{U.visiblePanel=!0,p(C.modelValue),s.vpTimeout=void 0,_()},10),X(),_())},b=()=>{U.visiblePanel=!1,s.vpTimeout&&clearTimeout(s.vpTimeout),s.hpTimeout&&clearTimeout(s.hpTimeout),s.hpTimeout=setTimeout(()=>{U.isAniVisible=!1,s.hpTimeout=void 0},350)},x=(e,t,l)=>{Z(t),t!==C.modelValue&&(o("change",{value:t,row:l,option:l},e),u)&&n&&u.triggerItemEvent(e,n.itemConfig.field,t)},Y=(e,t)=>{x(e,t,null),o("clear",{value:t},e)},G=(e,t)=>{var l=S.value;l&&(l.clearRadioRow(),l.clearCheckboxRow()),Y(t,null),b()},H=e=>{var t,l,a=U.visiblePanel;P.value||(t=T.value,l=w.value,U.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,a&&!U.isActivated&&b())},J=()=>{var{visiblePanel:e,isActivated:t}=U;e&&b(),t&&(U.isActivated=!1),(e||t)&&(e=I.value)&&e.blur()},Q=()=>{var e=U.visiblePanel;e&&_()},ee=()=>{var e=U.visiblePanel;e&&_()},te=e=>{P.value||U.visiblePanel||(U.triggerFocusPanel=!0,m(),setTimeout(()=>{U.triggerFocusPanel=!1},150)),o("focus",{},e)},le=e=>{z(e),o("click",{},e)},ae=e=>{U.isActivated=!1,o("blur",{},e)},z=e=>{e=e.$event;e.preventDefault(),U.triggerFocusPanel?U.triggerFocusPanel=!1:(U.visiblePanel?b:m)()},ie=e=>{var{$event:e,row:t}=e,l=t[c.value];x(e,l,t),b()},L=e=>{var{$grid:e,$event:t,row:l}=e;let a=c.value;e&&(e=e.getCheckboxRecords().map(e=>e[a]),x(t,e,l))},ue=e=>{L(e)};Object.assign(q,t,{});return(0,_vue.watch)(()=>C.options,()=>{g()}),(0,_vue.watch)(()=>C.columns,e=>{f(e)}),(0,_vue.watch)(()=>C.modelValue,e=>{p(e)}),f(C.columns),g(),(0,_vue.onMounted)(()=>{var e=C.gridConfig;e&&e.proxyConfig&&!1!==e.proxyConfig.autoLoad&&(U.initialized=!0),_ui.globalEvents.on(q,"mousedown",H),_ui.globalEvents.on(q,"blur",J),_ui.globalEvents.on(q,"resize",Q),_ui.globalEvents.on(q,"scroll",ee)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(q,"mousedown"),_ui.globalEvents.off(q,"blur"),_ui.globalEvents.off(q,"resize"),_ui.globalEvents.off(q,"scroll"),_xeUtils.default.assign(U,createReactData()),_xeUtils.default.assign(s,createInternalData())}),(0,_vue.nextTick)(()=>{E||errLog("vxe.error.reqComp",["vxe-grid"])}),(0,_vue.provide)("$xeTableSelect",q),q.renderVN=()=>{var{className:e,options:t,loading:l}=C,{initialized:a,isActivated:i,isAniVisible:u,visiblePanel:n,tableColumns:r}=U,o=$.value,s=P.value,v=B.value,c=R.value,d=D.value,p=j.value,f=N.value,g=O.value,_=M.value,m=p.appendTo,b=y.header,x=y.footer;let h=y.prefix;p=p.className;return d?(0,_vue.h)("div",{ref:T,class:["vxe-table-select--readonly",e]},[(0,_vue.h)("span",{class:"vxe-table-select-label"},v)]):(0,_vue.h)("div",{ref:T,class:["vxe-table-select",e?_xeUtils.default.isFunction(e)?e({$tableSelect:q}):e:"",{["size--"+o]:o,"is--visible":n,"is--disabled":s,"is--loading":l,"is--active":i}]},[(0,_vue.h)(_input.default,{ref:I,clearable:C.clearable,placeholder:l?(0,_ui.getI18n)("vxe.select.loadingText"):C.placeholder,editable:!1,disabled:s,type:"text",prefixIcon:C.prefixIcon,suffixIcon:l?(0,_ui.getIcon)().TABLE_SELECT_LOADED:n?(0,_ui.getIcon)().TABLE_SELECT_OPEN:(0,_ui.getIcon)().TABLE_SELECT_CLOSE,modelValue:l?"":v,onClear:G,onClick:le,onFocus:te,onBlur:ae,onSuffixClick:z},h?{prefix:()=>h({})}:{}),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(m),disabled:!c||!a},[(0,_vue.h)("div",{ref:w,class:["vxe-table--ignore-clear vxe-table-select--panel",p?_xeUtils.default.isFunction(p)?p({$tableSelect:q}):p:"",{["size--"+o]:o,"is--transfer":c,"ani--leave":!l&&u,"ani--enter":!l&&n}],placement:U.panelPlacement,style:U.panelStyle},a?[(0,_vue.h)("div",{class:"vxe-table-select--panel-wrapper"},[b?(0,_vue.h)("div",{class:"vxe-table-select--panel-header"},b({})):(0,_ui.renderEmptyElement)(q),(0,_vue.h)("div",{class:"vxe-table-select--panel-body"},[(0,_vue.h)("div",{ref:V,class:"vxe-table-select-grid--wrapper",style:_},[E?(0,_vue.h)(E,Object.assign(Object.assign(Object.assign({},f),A),{class:"vxe-table-select--grid",ref:S,rowConfig:g,data:t,columns:r.length?r:f.columns,height:"100%",autoResize:!0,onRadioChange:ie,onCheckboxChange:L,onCheckboxAll:ue}),Object.assign({},y,{header:void 0,footer:void 0,prefixSlot:void 0})):(0,_ui.renderEmptyElement)(q)])]),x?(0,_vue.h)("div",{class:"vxe-table-select--panel-footer"},x({})):(0,_ui.renderEmptyElement)(q)])]:[])])])},q},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.getRowUniqueId=getRowUniqueId;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_input=_interopRequireDefault(require("../../input/src/input"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("table-select").errLog;function getRowUniqueId(){return _xeUtils.default.uniqueId("row_")}function createReactData(){return{initialized:!1,tableColumns:[],fullOptionList:[],panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}}function createInternalData(){return{fullRowMaps:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTableSelect",props:{modelValue:[String,Number,Array],clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().tableSelect.clearable},placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().tableSelect.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().tableSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,className:[String,Function],prefixIcon:String,placement:String,columns:Array,options:Array,optionProps:Object,lazyOptions:Array,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().tableSelect.size||(0,_ui.getConfig)().size},popupConfig:Object,gridConfig:Object,transfer:{type:Boolean,default:null}},emits:["update:modelValue","change","clear","blur","focus","click","form-submit","form-reset","form-collapse","page-change"],setup(C,e){let{emit:a,slots:y}=e,T=_ui.VxeUI.getComponent("vxe-grid"),l=(0,_vue.inject)("$xeModal",null),i=(0,_vue.inject)("$xeDrawer",null),h=(0,_vue.inject)("$xeTable",null),u=(0,_vue.inject)("$xeForm",null),n=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let $=(0,_ui.useSize)(C).computeSize,E=(0,_vue.ref)(),I=(0,_vue.ref)(),V=(0,_vue.ref)(),w=(0,_vue.ref)(),S=(0,_vue.ref)(),U=(0,_vue.reactive)(createReactData()),s=createInternalData(),k={refElem:E},D=(0,_vue.computed)(()=>{var e=C.readonly;return null===e?!!u&&u.props.readonly:e}),P=(0,_vue.computed)(()=>{var e=C.disabled;return null===e?!!u&&u.props.disabled:e}),R=(0,_vue.computed)(()=>{var e=C.transfer,t=j.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().tableSelect.transfer;if(_xeUtils.default.isBoolean(t))return t;if(h||l||i||u)return!0}return e}),r=(0,_vue.computed)(()=>C.optionProps||{}),O=(0,_vue.computed)(()=>{var e=d.value;return Object.assign({},e.rowConfig,{isCurrent:!0})}),v=(0,_vue.computed)(()=>O.value.keyField||"_X_ROW_KEY"),F=(0,_vue.computed)(()=>r.value.label||"label"),c=(0,_vue.computed)(()=>r.value.value||"value"),j=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tableSelect.popupConfig,C.popupConfig)),d=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tableSelect.gridConfig,C.gridConfig,{data:void 0})),N=(0,_vue.computed)(()=>{var e=d.value;let{pagerConfig:i,proxyConfig:t}=e;if(t){var a=t.ajax;if(a&&a.query){var u=_xeUtils.default.clone(t,!0);let l=a.query;if(l){let a=t.response||t.props||{};Object.assign(u.ajax,{query(e,...t){return Promise.resolve(l(e,...t)).then(e=>{let t=[];var l;return t=i?(l=a.result,(_xeUtils.default.isFunction(l)?l({data:e,$table:null,$grid:null,$gantt:null}):_xeUtils.default.get(e,l||"result"))||[]):((l=a.list)?_xeUtils.default.isFunction(l)?l({data:e,$table:null,$grid:null,$gantt:null}):_xeUtils.default.get(e,l):e)||[],g(t||[]),e})}})}return Object.assign({},e,{proxyConfig:u})}}return e}),B=(0,_vue.computed)(()=>{let{modelValue:e,lazyOptions:l}=C;var t=U.fullOptionList;let a=s.fullRowMaps,i=c.value,u=F.value;return t?(_xeUtils.default.isArray(e)?e:[e]).map(t=>{var e=a[t];if(e)return e.item[u];if(l){e=l.find(e=>e[i]===t);if(e)return e[u]}return t}).join(", "):""}),M=(0,_vue.computed)(()=>{var{height:e,width:t}=j.value,l={};return t&&(l.width=(0,_dom.toCssUnit)(t)),e&&(l.height=(0,_dom.toCssUnit)(e)),l}),K={},q={xID:t,props:C,context:e,reactData:U,getRefMaps:()=>k,getComputeMaps:()=>K};let A={},o=(["form-submit","form-reset","form-collapse","page-change"].forEach(t=>{A[(0,_vn.getOnName)(_xeUtils.default.camelCase(t))]=e=>{o(t,e,e.$event)}}),(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$tableSelect:q},t))}),Z=e=>{a("update:modelValue",e)};t={dispatchEvent:o};let W=e=>{let t=s.fullRowMaps,l=[];return(_xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=t[e];e&&l.push(e.item)}),l},p=l=>{let a=C.multiple;(0,_vue.nextTick)(()=>{var e,t=S.value;t&&(e=W(l)).length&&(a?t.setCheckboxRow(e,!0):t.setRadioRow(e[0]))})},f=e=>{if(e&&e.length){var i=C.multiple;let t=[],l=!1,a=!1;e.forEach(e=>{l||"radio"!==e.type?a||"checkbox"!==e.type||(a=!0):l=!0,t.push(e)}),i?a||t.unshift({type:"checkbox",width:70}):l||t.unshift({type:"radio",width:70}),U.tableColumns=t}},g=e=>{var t=C.options;let u=v.value,n=c.value;var{treeConfig:l,pagerConfig:a}=d.value;let r={},o={};l||_xeUtils.default.arrayEach(e||t||[],(e,t,l)=>{let a=(e=>{e=e[v.value];return e?encodeURIComponent(e):""})(e);a=a||getRowUniqueId(),o[a]&&errLog("vxe.error.repeatKey",[u,a]),o[a]=!0;var i=e[n];r[i]&&errLog("vxe.error.repeatKey",[n,i]),r[i]={item:e,index:t,items:l,parent:null,nodes:[]}}),U.fullOptionList=e||t||[],s.fullRowMaps=a?Object.assign({},s.fullRowMaps,r):r,p(C.modelValue)},X=()=>{var e=j.value.zIndex||C.zIndex;e?U.panelIndex=_xeUtils.default.toNumber(e):U.panelIndex<(0,_utils.getLastZIndex)()&&(U.panelIndex=(0,_utils.nextZIndex)())},_=()=>{let l=C.placement,a=U.panelIndex,i=E.value,u=w.value,n=R.value,r=j.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,u,{placement:r.placement||l,defaultPlacement:r.defaultPlacement,appendTo:r.appendTo,teleportTo:n}),t=Object.assign(e.style,{zIndex:a});U.panelStyle=t,U.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},m=()=>{var e=C.loading,t=P.value;e||t||(s.vpTimeout&&clearTimeout(s.vpTimeout),s.hpTimeout&&clearTimeout(s.hpTimeout),U.initialized||(U.initialized=!0),U.isActivated=!0,U.isAniVisible=!0,s.vpTimeout=setTimeout(()=>{U.visiblePanel=!0,p(C.modelValue),s.vpTimeout=void 0,_()},10),X(),_())},b=()=>{U.visiblePanel=!1,s.vpTimeout&&clearTimeout(s.vpTimeout),s.hpTimeout&&clearTimeout(s.hpTimeout),s.hpTimeout=setTimeout(()=>{U.isAniVisible=!1,s.hpTimeout=void 0},350)},x=(e,t,l)=>{Z(t),t!==C.modelValue&&(o("change",{value:t,row:l,option:l},e),u)&&n&&u.triggerItemEvent(e,n.itemConfig.field,t)},Y=(e,t)=>{x(e,t,null),o("clear",{value:t},e)},G=(e,t)=>{var l=S.value;l&&(l.clearRadioRow(),l.clearCheckboxRow()),Y(t,null),b()},H=e=>{var t,l,a=U.visiblePanel;P.value||(t=E.value,l=w.value,U.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,a&&!U.isActivated&&b())},J=()=>{var{visiblePanel:e,isActivated:t}=U;e&&b(),t&&(U.isActivated=!1),(e||t)&&(e=I.value)&&e.blur()},Q=()=>{var e=U.visiblePanel;e&&_()},ee=()=>{var e=U.visiblePanel;e&&_()},te=e=>{P.value||U.visiblePanel||(U.triggerFocusPanel=!0,m(),setTimeout(()=>{U.triggerFocusPanel=!1},150)),o("focus",{},e)},le=e=>{z(e),o("click",{},e)},ae=e=>{U.isActivated=!1,o("blur",{},e)},z=e=>{e=e.$event;e.preventDefault(),U.triggerFocusPanel?U.triggerFocusPanel=!1:(U.visiblePanel?b:m)()},ie=e=>{var{$event:e,row:t}=e,l=t[c.value];x(e,l,t),b()},L=e=>{var{$grid:e,$event:t,row:l}=e;let a=c.value;e&&(e=e.getCheckboxRecords().map(e=>e[a]),x(t,e,l))},ue=e=>{L(e)};Object.assign(q,t,{});return(0,_vue.watch)(()=>C.options,()=>{g()}),(0,_vue.watch)(()=>C.columns,e=>{f(e)}),(0,_vue.watch)(()=>C.modelValue,e=>{p(e)}),f(C.columns),g(),(0,_vue.onMounted)(()=>{var e=C.gridConfig;e&&e.proxyConfig&&!1!==e.proxyConfig.autoLoad&&(U.initialized=!0),_ui.globalEvents.on(q,"mousedown",H),_ui.globalEvents.on(q,"blur",J),_ui.globalEvents.on(q,"resize",Q),_ui.globalEvents.on(q,"scroll",ee)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(q,"mousedown"),_ui.globalEvents.off(q,"blur"),_ui.globalEvents.off(q,"resize"),_ui.globalEvents.off(q,"scroll"),_xeUtils.default.assign(U,createReactData()),_xeUtils.default.assign(s,createInternalData())}),(0,_vue.nextTick)(()=>{T||errLog("vxe.error.reqComp",["vxe-grid"])}),(0,_vue.provide)("$xeTableSelect",q),q.renderVN=()=>{var{className:e,options:t,loading:l}=C,{initialized:a,isActivated:i,isAniVisible:u,visiblePanel:n,tableColumns:r}=U,o=$.value,s=P.value,v=B.value,c=R.value,d=D.value,p=j.value,f=N.value,g=O.value,_=M.value,m=p.appendTo,b=y.header,x=y.footer;let h=y.prefix;p=p.className;return d?(0,_vue.h)("div",{ref:E,class:["vxe-table-select--readonly",e]},[(0,_vue.h)("span",{class:"vxe-table-select-label"},v)]):(0,_vue.h)("div",{ref:E,class:["vxe-table-select",e?_xeUtils.default.isFunction(e)?e({$tableSelect:q}):e:"",{["size--"+o]:o,"is--visible":n,"is--disabled":s,"is--loading":l,"is--active":i}]},[(0,_vue.h)(_input.default,{ref:I,clearable:C.clearable,placeholder:l?(0,_ui.getI18n)("vxe.select.loadingText"):C.placeholder,editable:!1,disabled:s,type:"text",prefixIcon:C.prefixIcon,suffixIcon:l?(0,_ui.getIcon)().TABLE_SELECT_LOADED:n?(0,_ui.getIcon)().TABLE_SELECT_OPEN:(0,_ui.getIcon)().TABLE_SELECT_CLOSE,modelValue:l?"":v,onClear:G,onClick:le,onFocus:te,onBlur:ae,onSuffixClick:z},h?{prefix:()=>h({})}:{}),(0,_vue.h)(_vue.Teleport,{to:(0,_dom.getPopupContainer)(m),disabled:!c||!a},[(0,_vue.h)("div",{ref:w,class:["vxe-table--ignore-clear vxe-table-select--panel",p?_xeUtils.default.isFunction(p)?p({$tableSelect:q}):p:"",{["size--"+o]:o,"is--transfer":c,"ani--leave":!l&&u,"ani--enter":!l&&n}],placement:U.panelPlacement,style:U.panelStyle},a?[(0,_vue.h)("div",{class:"vxe-table-select--panel-wrapper"},[b?(0,_vue.h)("div",{class:"vxe-table-select--panel-header"},b({})):(0,_ui.renderEmptyElement)(q),(0,_vue.h)("div",{class:"vxe-table-select--panel-body"},[(0,_vue.h)("div",{ref:V,class:"vxe-table-select-grid--wrapper",style:_},[T?(0,_vue.h)(T,Object.assign(Object.assign(Object.assign({},f),A),{class:"vxe-table-select--grid",ref:S,rowConfig:g,data:t,columns:r.length?r:f.columns,height:"100%",autoResize:!0,onRadioChange:ie,onCheckboxChange:L,onCheckboxAll:ue}),Object.assign({},y,{header:void 0,footer:void 0,prefixSlot:void 0})):(0,_ui.renderEmptyElement)(q)])]),x?(0,_vue.h)("div",{class:"vxe-table-select--panel-footer"},x({})):(0,_ui.renderEmptyElement)(q)])]:[])])])},q},render(){return this.renderVN()}});
@@ -339,6 +339,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
339
339
  const {
340
340
  placement,
341
341
  defaultPlacement,
342
+ appendTo,
342
343
  isArrow
343
344
  } = props;
344
345
  const {
@@ -375,6 +376,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
375
376
  defaultLeft: left,
376
377
  placement: placement,
377
378
  defaultPlacement: defaultPlacement,
379
+ appendTo: appendTo,
378
380
  isMinWidth: false,
379
381
  teleportTo: true
380
382
  });
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function createReactData(){return{target:null,isUpdate:!1,visible:!1,tipPos:null,tipContent:"",tipActive:!1,tipTarget:null,tipZindex:0,tipStore:{style:{},placement:"",arrowStyle:{}}}}function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTooltip",props:{modelValue:Boolean,size:{type:String,default:()=>(0,_ui.getConfig)().tooltip.size||(0,_ui.getConfig)().size},selector:[String,Element],trigger:{type:String,default:()=>(0,_ui.getConfig)().tooltip.trigger||"hover"},theme:{type:String,default:()=>(0,_ui.getConfig)().tooltip.theme||"dark"},content:{type:[String,Number],default:null},useHtml:{type:Boolean,default:()=>_xeUtils.default.isBoolean((0,_ui.getConfig)().tooltip.useHtml)?(0,_ui.getConfig)().tooltip.useHtml:null},useHTML:{type:Boolean,default:()=>(0,_ui.getConfig)().tooltip.useHTML},zIndex:[String,Number],popupClassName:[String,Function],width:{type:[String,Number],default:()=>(0,_ui.getConfig)().tooltip.Width},height:{type:[String,Number],default:()=>(0,_ui.getConfig)().tooltip.height},minWidth:{type:[String,Number],default:()=>(0,_ui.getConfig)().tooltip.minWidth},minHeight:{type:[String,Number],default:()=>(0,_ui.getConfig)().tooltip.minHeight},maxWidth:{type:[String,Number],default:()=>(0,_ui.getConfig)().tooltip.maxWidth},maxHeight:{type:[String,Number],default:()=>(0,_ui.getConfig)().tooltip.maxHeight},placement:{type:String,default:()=>(0,_ui.getConfig)().tooltip.placement},defaultPlacement:{type:String,default:()=>(0,_ui.getConfig)().tooltip.defaultPlacement},isArrow:{type:Boolean,default:()=>(0,_ui.getConfig)().tooltip.isArrow},enterable:{type:Boolean,default:()=>(0,_ui.getConfig)().tooltip.enterable},enterDelay:{type:Number,default:()=>(0,_ui.getConfig)().tooltip.enterDelay},leaveDelay:{type:Number,default:()=>(0,_ui.getConfig)().tooltip.leaveDelay},appendTo:{type:[String,Function],default:()=>(0,_ui.getConfig)().tooltip.appendTo}},emits:["update:modelValue","show","hide"],setup(f,e){let{slots:p,emit:l}=e;var t=_xeUtils.default.uniqueId();let d=(0,_ui.useSize)(f).computeSize,m=(0,_vue.reactive)(createReactData()),a=createInternalData(),_=(0,_vue.ref)(),c=(0,_vue.ref)(),g=(0,_vue.computed)(()=>{var{width:e,height:t,minHeight:i,minWidth:l,maxHeight:n,maxWidth:o}=f,a={};return e&&(a.width=(0,_dom.toCssUnit)(e)),t&&(a.height=(0,_dom.toCssUnit)(t)),l&&(a.minWidth=(0,_dom.toCssUnit)(l)),i&&(a.minHeight=(0,_dom.toCssUnit)(i)),o&&(a.maxWidth=(0,_dom.toCssUnit)(o)),n&&(a.maxHeight=(0,_dom.toCssUnit)(n)),a}),i={refElem:_},v={xID:t,props:f,context:e,reactData:m,internalData:a,getRefMaps:()=>i},r=(e,t,i)=>{l(e,(0,_ui.createEvent)(i,{$tooltip:v},t))},n=e=>{e!==m.visible&&(m.visible=e,m.isUpdate=!0,l("update:modelValue",e))},o=()=>{var e=f.zIndex;e?m.tipZindex=_xeUtils.default.toNumber(e):m.tipZindex<(0,_utils.getLastZIndex)()&&(m.tipZindex=(0,_utils.nextZIndex)())},u=()=>{m.visible?v.close():S(m.target||w(),f.content)},s=()=>{S(m.target||w(),f.content)},h=()=>{var{trigger:e,enterable:t,leaveDelay:i}=f;m.tipActive=!1,t&&"hover"===e?setTimeout(()=>{m.tipActive||v.close()},i):v.close()},x=()=>{m.tipActive=!0},y=()=>{var{trigger:e,enterable:t,leaveDelay:i}=f;m.tipActive=!1,t&&"hover"===e&&setTimeout(()=>{m.tipActive||v.close()},i)},b=()=>{var e=f.appendTo,t=m.tipStore,i=_.value;return i&&!i.parentNode&&(0,_dom.getPopupAppendElement)(e).appendChild(i),n(!0),o(),t.placement="top",t.style={width:"auto",left:0,top:0,zIndex:f.zIndex||m.tipZindex},t.arrowStyle={left:"50%"},v.updatePlacement()},C=()=>{a.showDelayTip=_xeUtils.default.debounce(()=>{m.tipActive&&b()},f.enterDelay,{leading:!1,trailing:!0})},S=(e,t,i)=>{var l=p.content;if((l||""!==t&&!_xeUtils.default.eqNull(t))&&e){var l=a.showDelayTip,{trigger:n,enterDelay:o}=f;if(m.tipPos=i?{x:i.clientX,y:i.clientY,oLeft:i.offsetX,oTop:i.offsetY}:null,m.tipActive=!0,m.tipTarget=e,m.tipContent=t,m.visible)return v.updatePlacement();if(!o||"hover"!==n)return e=b(),r("show",{},i||null),e;l&&l(),r("show",{},i||null)}return(0,_vue.nextTick)()},w=()=>{var e=f.selector;if(e){if(_xeUtils.default.isElement(e))return e;if(_xeUtils.default.isString(e))return document.querySelector(e)}return null},T=()=>{var{placement:i,defaultPlacement:l,isArrow:n}=f,{tipTarget:o,tipStore:a,tipPos:r,tipZindex:u}=m,s=_.value;if(o&&s){var p=o.getBoundingClientRect(),d=o.offsetWidth,c=o.offsetHeight,g=s.offsetWidth,v=p.left;let e=0,t=0;r&&(r.oLeft||r.oTop)&&(e=v,t=p.top+c,n?e=e+Math.max(8,Math.min(d-8,r.oLeft))-g/2:(e=r.x+1,t=r.y+1));v=(0,_dom.updatePanelPlacement)(o,s,{defaultTop:t,defaultLeft:e,placement:i,defaultPlacement:l,isMinWidth:!1,teleportTo:!0}),p=Object.assign(v.style,{zIndex:u});a.placement=v.placement,a.style=p,a.arrowStyle.left=v.arrowLeft?v.arrowLeft+"px":""}};t={dispatchEvent:r,openByEvent(e,t,i){return S(t||m.target||w(),i,e)},open(e,t){return S(e||m.target||w(),t)},close(){return m.tipPos=null,m.tipTarget=null,m.tipActive=!1,Object.assign(m.tipStore,{style:{},placement:"",arrowStyle:null}),n(!1),r("hide",{},null),(0,_vue.nextTick)()},toVisible(e,t){return S(e,t)},updatePlacement(){return T(),(0,_vue.nextTick)().then(T)},isActived(){return m.tipActive},setActived(e){m.tipActive=!!e}};let U=e=>{e.stopPropagation()},D=()=>{m.visible&&v.updatePlacement()},N=()=>{v.close()};e={handleCloseEvent:h};Object.assign(v,t,e);return(0,_vue.watch)(()=>f.enterDelay,()=>{C()}),(0,_vue.watch)(()=>f.content,e=>{m.tipContent=e}),(0,_vue.watch)(()=>f.modelValue,e=>{m.isUpdate||(e?S(m.target||w(),f.content):v.close()),m.isUpdate=!1}),C(),(0,_vue.onMounted)(()=>{var e=c.value;e&&e.addEventListener("wheel",U,{passive:!1}),(0,_vue.nextTick)(()=>{var e,{trigger:t,content:l}=f;let n=_.value;if(n){let i=n.parentNode;i&&(m.tipContent=l,m.tipZindex=(0,_utils.nextZIndex)(),_xeUtils.default.arrayEach(n.children,(e,t)=>{t&&(i.insertBefore(e,n),m.target||(m.target=e))}),i.removeChild(n),e=m.target,e&&("hover"===t?(e.onmouseenter=s,e.onmouseleave=h):"click"===t&&(e.onclick=u)),f.modelValue)&&S(e||w(),l)}}),_ui.globalEvents.on(v,"blur",N),_ui.globalEvents.on(v,"scroll",D)}),(0,_vue.onBeforeUnmount)(()=>{var e=m.target,t=_.value,e=(e&&(e.onmouseenter=null,e.onmouseleave=null,e.onclick=null),c.value);e&&e.removeEventListener("wheel",U),t&&(e=t.parentNode)&&e.removeChild(t),_ui.globalEvents.off(v,"blur"),_ui.globalEvents.off(v,"scroll"),_xeUtils.default.assign(m,createReactData()),_xeUtils.default.assign(a,createInternalData())}),v.renderVN=()=>{var{popupClassName:e,theme:t,isArrow:i,enterable:l}=f,{tipActive:n,visible:o,tipStore:a}=m,r=p.default,u=d.value;let s;return l&&(s={onMouseenter:x,onMouseleave:y}),(0,_vue.h)("div",Object.assign({ref:_,class:["vxe-tooltip--wrapper","theme--"+t,e?_xeUtils.default.isFunction(e)?e({$tooltip:v}):e:"",{["size--"+u]:u,["placement--"+a.placement]:a.placement,"is--enterable":l,"is--visible":o,"is--arrow":i,"is--active":n}],style:a.style},s),[(0,_vue.h)("div",{key:"tby",class:"vxe-tooltip--body"},[(()=>{var{useHtml:e,useHTML:t}=f,i=m.tipContent,l=g.value,n=p.content,o=[];return n?o.push((0,_vue.h)("div",{key:"ct"},(0,_vn.getSlotVNs)(n({})))):(_xeUtils.default.isBoolean(e)?e:t)?o.push((0,_vue.h)("div",{key:"ch",innerHTML:i})):o.push((0,_vue.h)("span",{key:"cd"},""+i)),(0,_vue.h)("div",{key:3,ref:c,class:"vxe-tooltip--content",style:l},o)})(),(0,_vue.h)("div",{class:"vxe-tooltip--arrow",style:a.arrowStyle})]),...r?(0,_vn.getSlotVNs)(r({})):[]])},v},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function createReactData(){return{target:null,isUpdate:!1,visible:!1,tipPos:null,tipContent:"",tipActive:!1,tipTarget:null,tipZindex:0,tipStore:{style:{},placement:"",arrowStyle:{}}}}function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTooltip",props:{modelValue:Boolean,size:{type:String,default:()=>(0,_ui.getConfig)().tooltip.size||(0,_ui.getConfig)().size},selector:[String,Element],trigger:{type:String,default:()=>(0,_ui.getConfig)().tooltip.trigger||"hover"},theme:{type:String,default:()=>(0,_ui.getConfig)().tooltip.theme||"dark"},content:{type:[String,Number],default:null},useHtml:{type:Boolean,default:()=>_xeUtils.default.isBoolean((0,_ui.getConfig)().tooltip.useHtml)?(0,_ui.getConfig)().tooltip.useHtml:null},useHTML:{type:Boolean,default:()=>(0,_ui.getConfig)().tooltip.useHTML},zIndex:[String,Number],popupClassName:[String,Function],width:{type:[String,Number],default:()=>(0,_ui.getConfig)().tooltip.Width},height:{type:[String,Number],default:()=>(0,_ui.getConfig)().tooltip.height},minWidth:{type:[String,Number],default:()=>(0,_ui.getConfig)().tooltip.minWidth},minHeight:{type:[String,Number],default:()=>(0,_ui.getConfig)().tooltip.minHeight},maxWidth:{type:[String,Number],default:()=>(0,_ui.getConfig)().tooltip.maxWidth},maxHeight:{type:[String,Number],default:()=>(0,_ui.getConfig)().tooltip.maxHeight},placement:{type:String,default:()=>(0,_ui.getConfig)().tooltip.placement},defaultPlacement:{type:String,default:()=>(0,_ui.getConfig)().tooltip.defaultPlacement},isArrow:{type:Boolean,default:()=>(0,_ui.getConfig)().tooltip.isArrow},enterable:{type:Boolean,default:()=>(0,_ui.getConfig)().tooltip.enterable},enterDelay:{type:Number,default:()=>(0,_ui.getConfig)().tooltip.enterDelay},leaveDelay:{type:Number,default:()=>(0,_ui.getConfig)().tooltip.leaveDelay},appendTo:{type:[String,Function],default:()=>(0,_ui.getConfig)().tooltip.appendTo}},emits:["update:modelValue","show","hide"],setup(m,e){let{slots:p,emit:l}=e;var t=_xeUtils.default.uniqueId();let d=(0,_ui.useSize)(m).computeSize,_=(0,_vue.reactive)(createReactData()),a=createInternalData(),h=(0,_vue.ref)(),c=(0,_vue.ref)(),g=(0,_vue.computed)(()=>{var{width:e,height:t,minHeight:i,minWidth:l,maxHeight:n,maxWidth:o}=m,a={};return e&&(a.width=(0,_dom.toCssUnit)(e)),t&&(a.height=(0,_dom.toCssUnit)(t)),l&&(a.minWidth=(0,_dom.toCssUnit)(l)),i&&(a.minHeight=(0,_dom.toCssUnit)(i)),o&&(a.maxWidth=(0,_dom.toCssUnit)(o)),n&&(a.maxHeight=(0,_dom.toCssUnit)(n)),a}),i={refElem:h},v={xID:t,props:m,context:e,reactData:_,internalData:a,getRefMaps:()=>i},r=(e,t,i)=>{l(e,(0,_ui.createEvent)(i,{$tooltip:v},t))},n=e=>{e!==_.visible&&(_.visible=e,_.isUpdate=!0,l("update:modelValue",e))},o=()=>{var e=m.zIndex;e?_.tipZindex=_xeUtils.default.toNumber(e):_.tipZindex<(0,_utils.getLastZIndex)()&&(_.tipZindex=(0,_utils.nextZIndex)())},u=()=>{_.visible?v.close():S(_.target||w(),m.content)},s=()=>{S(_.target||w(),m.content)},f=()=>{var{trigger:e,enterable:t,leaveDelay:i}=m;_.tipActive=!1,t&&"hover"===e?setTimeout(()=>{_.tipActive||v.close()},i):v.close()},x=()=>{_.tipActive=!0},y=()=>{var{trigger:e,enterable:t,leaveDelay:i}=m;_.tipActive=!1,t&&"hover"===e&&setTimeout(()=>{_.tipActive||v.close()},i)},b=()=>{var e=m.appendTo,t=_.tipStore,i=h.value;return i&&!i.parentNode&&(0,_dom.getPopupAppendElement)(e).appendChild(i),n(!0),o(),t.placement="top",t.style={width:"auto",left:0,top:0,zIndex:m.zIndex||_.tipZindex},t.arrowStyle={left:"50%"},v.updatePlacement()},C=()=>{a.showDelayTip=_xeUtils.default.debounce(()=>{_.tipActive&&b()},m.enterDelay,{leading:!1,trailing:!0})},S=(e,t,i)=>{var l=p.content;if((l||""!==t&&!_xeUtils.default.eqNull(t))&&e){var l=a.showDelayTip,{trigger:n,enterDelay:o}=m;if(_.tipPos=i?{x:i.clientX,y:i.clientY,oLeft:i.offsetX,oTop:i.offsetY}:null,_.tipActive=!0,_.tipTarget=e,_.tipContent=t,_.visible)return v.updatePlacement();if(!o||"hover"!==n)return e=b(),r("show",{},i||null),e;l&&l(),r("show",{},i||null)}return(0,_vue.nextTick)()},w=()=>{var e=m.selector;if(e){if(_xeUtils.default.isElement(e))return e;if(_xeUtils.default.isString(e))return document.querySelector(e)}return null},T=()=>{var{placement:i,defaultPlacement:l,appendTo:n,isArrow:o}=m,{tipTarget:a,tipStore:r,tipPos:u,tipZindex:s}=_,p=h.value;if(a&&p){var d=a.getBoundingClientRect(),c=a.offsetWidth,g=a.offsetHeight,v=p.offsetWidth,f=d.left;let e=0,t=0;u&&(u.oLeft||u.oTop)&&(e=f,t=d.top+g,o?e=e+Math.max(8,Math.min(c-8,u.oLeft))-v/2:(e=u.x+1,t=u.y+1));f=(0,_dom.updatePanelPlacement)(a,p,{defaultTop:t,defaultLeft:e,placement:i,defaultPlacement:l,appendTo:n,isMinWidth:!1,teleportTo:!0}),d=Object.assign(f.style,{zIndex:s});r.placement=f.placement,r.style=d,r.arrowStyle.left=f.arrowLeft?f.arrowLeft+"px":""}};t={dispatchEvent:r,openByEvent(e,t,i){return S(t||_.target||w(),i,e)},open(e,t){return S(e||_.target||w(),t)},close(){return _.tipPos=null,_.tipTarget=null,_.tipActive=!1,Object.assign(_.tipStore,{style:{},placement:"",arrowStyle:null}),n(!1),r("hide",{},null),(0,_vue.nextTick)()},toVisible(e,t){return S(e,t)},updatePlacement(){return T(),(0,_vue.nextTick)().then(T)},isActived(){return _.tipActive},setActived(e){_.tipActive=!!e}};let U=e=>{e.stopPropagation()},D=()=>{_.visible&&v.updatePlacement()},N=()=>{v.close()};e={handleCloseEvent:f};Object.assign(v,t,e);return(0,_vue.watch)(()=>m.enterDelay,()=>{C()}),(0,_vue.watch)(()=>m.content,e=>{_.tipContent=e}),(0,_vue.watch)(()=>m.modelValue,e=>{_.isUpdate||(e?S(_.target||w(),m.content):v.close()),_.isUpdate=!1}),C(),(0,_vue.onMounted)(()=>{var e=c.value;e&&e.addEventListener("wheel",U,{passive:!1}),(0,_vue.nextTick)(()=>{var e,{trigger:t,content:l}=m;let n=h.value;if(n){let i=n.parentNode;i&&(_.tipContent=l,_.tipZindex=(0,_utils.nextZIndex)(),_xeUtils.default.arrayEach(n.children,(e,t)=>{t&&(i.insertBefore(e,n),_.target||(_.target=e))}),i.removeChild(n),e=_.target,e&&("hover"===t?(e.onmouseenter=s,e.onmouseleave=f):"click"===t&&(e.onclick=u)),m.modelValue)&&S(e||w(),l)}}),_ui.globalEvents.on(v,"blur",N),_ui.globalEvents.on(v,"scroll",D)}),(0,_vue.onBeforeUnmount)(()=>{var e=_.target,t=h.value,e=(e&&(e.onmouseenter=null,e.onmouseleave=null,e.onclick=null),c.value);e&&e.removeEventListener("wheel",U),t&&(e=t.parentNode)&&e.removeChild(t),_ui.globalEvents.off(v,"blur"),_ui.globalEvents.off(v,"scroll"),_xeUtils.default.assign(_,createReactData()),_xeUtils.default.assign(a,createInternalData())}),v.renderVN=()=>{var{popupClassName:e,theme:t,isArrow:i,enterable:l}=m,{tipActive:n,visible:o,tipStore:a}=_,r=p.default,u=d.value;let s;return l&&(s={onMouseenter:x,onMouseleave:y}),(0,_vue.h)("div",Object.assign({ref:h,class:["vxe-tooltip--wrapper","theme--"+t,e?_xeUtils.default.isFunction(e)?e({$tooltip:v}):e:"",{["size--"+u]:u,["placement--"+a.placement]:a.placement,"is--enterable":l,"is--visible":o,"is--arrow":i,"is--active":n}],style:a.style},s),[(0,_vue.h)("div",{key:"tby",class:"vxe-tooltip--body"},[(()=>{var{useHtml:e,useHTML:t}=m,i=_.tipContent,l=g.value,n=p.content,o=[];return n?o.push((0,_vue.h)("div",{key:"ct"},(0,_vn.getSlotVNs)(n({})))):(_xeUtils.default.isBoolean(e)?e:t)?o.push((0,_vue.h)("div",{key:"ch",innerHTML:i})):o.push((0,_vue.h)("span",{key:"cd"},""+i)),(0,_vue.h)("div",{key:3,ref:c,class:"vxe-tooltip--content",style:l},o)})(),(0,_vue.h)("div",{class:"vxe-tooltip--arrow",style:a.arrowStyle})]),...r?(0,_vn.getSlotVNs)(r({})):[]])},v},render(){return this.renderVN()}});
@@ -15,7 +15,6 @@ var _vn = require("../../ui/src/vn");
15
15
  var _dom = require("../../ui/src/dom");
16
16
  var _utils = require("../../ui/src/utils");
17
17
  var _anime = require("../../ui/src/anime");
18
- var _util2 = require("../../scrollbar/src/util");
19
18
  var _loading = _interopRequireDefault(require("../../loading"));
20
19
  var _tooltip = _interopRequireDefault(require("../../tooltip"));
21
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -25,10 +24,17 @@ const {
25
24
  } = (0, _log.createComponentLog)('tree');
26
25
  const {
27
26
  menus,
27
+ scrollbarUtils,
28
28
  getConfig,
29
29
  getI18n,
30
30
  getIcon
31
31
  } = _ui.VxeUI;
32
+ const {
33
+ getThumbOffsetSize,
34
+ getThumbSize,
35
+ getScrollFromClick,
36
+ getScrollFromDrag
37
+ } = scrollbarUtils;
32
38
  /**
33
39
  * 生成节点的唯一主键
34
40
  */
@@ -3465,14 +3471,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
3465
3471
  return;
3466
3472
  }
3467
3473
  const trackXEl = refTrackXElem.value;
3468
- const xThumbWidth = trackXEl ? (0, _util2.getThumbSize)(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
3474
+ const xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
3469
3475
  const thumbXElem = refThumbXElem.value;
3470
3476
  if (thumbXElem) {
3471
3477
  thumbXElem.style.width = xThumbWidth + 'px';
3472
3478
  }
3473
3479
  reactData.xThumbWidth = xThumbWidth;
3474
3480
  const trackYEl = refTrackYElem.value;
3475
- const yThumbHeight = trackYEl ? (0, _util2.getThumbSize)(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
3481
+ const yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
3476
3482
  const thumbYElem = refThumbYElem.value;
3477
3483
  if (thumbYElem) {
3478
3484
  thumbYElem.style.height = yThumbHeight + 'px';
@@ -3493,7 +3499,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
3493
3499
  } = reactData;
3494
3500
  const trackXEl = refTrackXElem.value;
3495
3501
  const thumbXElem = refThumbXElem.value;
3496
- const xThumbLeft = trackXEl && xThumbWidth ? (0, _util2.getThumbOffsetSize)(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
3502
+ const xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
3497
3503
  internalData.xThumbLeft = xThumbLeft;
3498
3504
  if (thumbXElem && xThumbWidth) {
3499
3505
  thumbXElem.style.width = xThumbWidth + 'px';
@@ -3501,7 +3507,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
3501
3507
  }
3502
3508
  const trackYEl = refTrackYElem.value;
3503
3509
  const thumbYElem = refThumbYElem.value;
3504
- const yThumbTop = trackYEl && yThumbHeight ? (0, _util2.getThumbOffsetSize)(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
3510
+ const yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
3505
3511
  internalData.yThumbTop = yThumbTop;
3506
3512
  if (thumbYElem && yThumbHeight) {
3507
3513
  thumbYElem.style.height = yThumbHeight + 'px';
@@ -3522,7 +3528,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
3522
3528
  } = reactData;
3523
3529
  const trackRect = trackEl.getBoundingClientRect();
3524
3530
  viewEl.scrollTo({
3525
- left: (0, _util2.getScrollFromClick)(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
3531
+ left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
3526
3532
  behavior: 'auto'
3527
3533
  });
3528
3534
  };
@@ -3540,7 +3546,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
3540
3546
  } = reactData;
3541
3547
  const trackRect = trackEl.getBoundingClientRect();
3542
3548
  viewEl.scrollTo({
3543
- top: (0, _util2.getScrollFromClick)(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
3549
+ top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
3544
3550
  behavior: 'auto'
3545
3551
  });
3546
3552
  };
@@ -3559,7 +3565,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
3559
3565
  const trackRect = trackEl.getBoundingClientRect();
3560
3566
  const pointerPosition = evnt.clientX - trackRect.left;
3561
3567
  // 记录 thumb 的偏移
3562
- const thumbOffset = (0, _util2.getThumbOffsetSize)(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
3568
+ const thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
3563
3569
  internalData.thumbDragOffset = pointerPosition - thumbOffset;
3564
3570
  };
3565
3571
  const pointermoveThumbXEvent = evnt => {
@@ -3583,7 +3589,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
3583
3589
  const trackEl = thumbEl.parentElement;
3584
3590
  const trackRect = trackEl.getBoundingClientRect();
3585
3591
  // 更新偏移
3586
- viewEl.scrollLeft = (0, _util2.getScrollFromDrag)(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
3592
+ viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
3587
3593
  }
3588
3594
  };
3589
3595
  const cleatPointerThumbEvent = evnt => {
@@ -3606,7 +3612,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
3606
3612
  const trackRect = trackEl.getBoundingClientRect();
3607
3613
  const pointerPosition = evnt.clientY - trackRect.top;
3608
3614
  // 记录 thumb 的偏移
3609
- const thumbOffset = (0, _util2.getThumbOffsetSize)(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
3615
+ const thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
3610
3616
  internalData.thumbDragOffset = pointerPosition - thumbOffset;
3611
3617
  };
3612
3618
  const pointermoveThumbYEvent = evnt => {
@@ -3630,7 +3636,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
3630
3636
  const trackEl = thumbEl.parentElement;
3631
3637
  const trackRect = trackEl.getBoundingClientRect();
3632
3638
  // 更新偏移
3633
- viewEl.scrollTop = (0, _util2.getScrollFromDrag)(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
3639
+ viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
3634
3640
  }
3635
3641
  };
3636
3642
  Object.assign($xeTree, treeMethods, treePrivateMethods);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_util=require("./util"),_log=require("../../ui/src/log"),_store=require("./store"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_anime=require("../../ui/src/anime"),_util2=require("../../scrollbar/src/util"),_loading=_interopRequireDefault(require("../../loading")),_tooltip=_interopRequireDefault(require("../../tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("tree"),{menus,getConfig,getI18n,getIcon}=_ui.VxeUI;function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}function createReactData(){return{parentHeight:0,customHeight:0,customMinHeight:0,customMaxHeight:0,currentNode:null,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,selectRadioKey:null,treeList:[],updateExpandedFlag:1,updateCheckboxFlag:1,yThumbHeight:0,xThumbWidth:0,insertNodeFlag:1,removeNodeFlag:1,dragNode:null,dragTipText:"",isCrossDragNode:!1,tooltipStore:{visible:!1,node:null}}}function createInternalData(){return{treeFullData:[],afterTreeList:[],afterVisibleList:[],nodeMaps:{},selectCheckboxMaps:{},indeterminateNodeMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},removeNodeMaps:{},insertNodeMaps:{},lastScrollTime:0}}let crossTreeDragNodeObj=null;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTree",props:{data:Array,autoResize:{type:Boolean,default:()=>getConfig().tree.autoResize},height:[String,Number],maxHeight:{type:[String,Number],default:()=>getConfig().tree.maxHeight},minHeight:{type:[String,Number],default:()=>getConfig().tree.minHeight},emptyText:{type:[String,Number],default:()=>getConfig().tree.emptyText},loading:Boolean,loadingConfig:Object,accordion:{type:Boolean,default:()=>getConfig().tree.accordion},childrenField:{type:String,default:()=>getConfig().tree.childrenField},valueField:{type:String,default:()=>getConfig().tree.valueField},keyField:{type:String,default:()=>getConfig().tree.keyField},parentField:{type:String,default:()=>getConfig().tree.parentField},titleField:{type:String,default:()=>getConfig().tree.titleField},hasChildField:{type:String,default:()=>getConfig().tree.hasChildField},mapChildrenField:{type:String,default:()=>getConfig().tree.mapChildrenField},transform:Boolean,isCurrent:Boolean,isHover:Boolean,expandAll:Boolean,expandNodeKeys:Array,showLine:{type:Boolean,default:()=>getConfig().tree.showLine},trigger:String,indent:{type:Number,default:()=>getConfig().tree.indent},showRadio:{type:Boolean,default:()=>getConfig().tree.showRadio},checkNodeKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:()=>getConfig().tree.showCheckbox},checkNodeKeys:Array,checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,visibleMethod:Function,toggleMethod:Function,loadMethod:Function,showOverflow:{type:Boolean,default:()=>getConfig().tree.showOverflow},tooltipConfig:Object,drag:{type:Boolean,default:()=>getConfig().tree.drag},dragConfig:Object,menuConfig:Object,showIcon:{type:Boolean,default:!0},iconOpen:{type:String,default:()=>getConfig().tree.iconOpen},iconClose:{type:String,default:()=>getConfig().tree.iconClose},iconLoaded:{type:String,default:()=>getConfig().tree.iconLoaded},rootParentValue:{type:[String,Number],default:()=>getConfig().tree.rootParentValue},rootValues:{type:Array,default:()=>getConfig().tree.rootValues},filterValue:[String,Number],filterConfig:Object,size:{type:String,default:()=>getConfig().tree.size||getConfig().size},virtualYConfig:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)(getConfig().tree.useScrollbar,getConfig().useScrollbar)},scrollbarConfig:Object},emits:["update:modelValue","update:checkNodeKey","update:checkNodeKeys","node-click","node-dblclick","current-change","radio-change","checkbox-change","load-success","load-error","scroll","node-dragstart","node-dragover","node-dragend","node-remove-dragend","node-insert-dragend","node-expand","node-menu","menu-click"],setup(A,t){let{emit:l,slots:R}=t;var a=_xeUtils.default.uniqueId();let F=(0,_ui.useSize)(A).computeSize,P=(0,_vue.ref)(),de=(0,_vue.ref)(),se=(0,_vue.ref)(),L=(0,_vue.ref)(),ue=(0,_vue.ref)(),ce=(0,_vue.ref)(),ve=(0,_vue.ref)(),ge=(0,_vue.ref)(),he=(0,_vue.ref)(),pe=(0,_vue.ref)(),fe=(0,_vue.ref)(),U=(0,_vue.ref)(),_=(0,_store.getCrossTreeDragNodeInfo)(),V=createInternalData(),$=(0,_vue.reactive)(createReactData()),o={refElem:P},xe=(0,_vue.computed)(()=>A.titleField||"title"),B=(0,_vue.computed)(()=>A.keyField||"id"),c=(0,_vue.computed)(()=>{var e=B.value;return A.valueField||e}),j=(0,_vue.computed)(()=>A.parentField||"parentId"),z=(0,_vue.computed)(()=>A.childrenField||"children"),q=(0,_vue.computed)(()=>A.mapChildrenField||"mapChildren"),K=(0,_vue.computed)(()=>A.hasChildField||"hasChild"),d=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.virtualYConfig,A.virtualYConfig)),v=(0,_vue.computed)(()=>{var e=i.value.isCurrent;return _xeUtils.default.isBoolean(e)?e:A.isCurrent}),me=(0,_vue.computed)(()=>{var e=i.value.isHover;return _xeUtils.default.isBoolean(e)?e:A.isHover}),Y=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().tree.radioConfig,A.radioConfig)),W=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().tree.checkboxConfig,A.checkboxConfig)),i=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.nodeConfig,A.nodeConfig)),_e=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.loadingConfig,A.loadingConfig)),X=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.dragConfig,A.dragConfig)),G=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.tooltipConfig,A.tooltipConfig)),u=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.menuConfig,A.menuConfig)),Ce=(0,_vue.computed)(()=>{var e=x.value,t=f.value,r={};return(e||t)&&(r["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(e||t),r["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(t||e)),r}),be=(0,_vue.computed)(()=>{var e=A.indent,{customHeight:t,customMinHeight:r,customMaxHeight:l}=$,a=W.value.nodeStyle,o={};return t&&(o.height=(0,_dom.toCssUnit)(t)),r&&(o.minHeight=(0,_dom.toCssUnit)(r)),l&&(o.maxHeight=(0,_dom.toCssUnit)(l)),e&&(o["--vxe-ui-tree-node-indent"]=(0,_dom.toCssUnit)(e)),a&&({indeterminateColor:t,checkedColor:r}=a,t&&(o["--vxe-ui-tree-node-checkbox-indeterminate-color"]=t),r)&&(o["--vxe-ui-tree-node-checkbox-checked-color"]=r),o}),h=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.filterConfig,A.filterConfig)),H=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.scrollbarConfig,A.scrollbarConfig)),r=(0,_vue.computed)(()=>{var e=H.value;return Object.assign({},getConfig().scrollbar.xConfig,e.xConfig,{visible:!1})}),p=(0,_vue.computed)(()=>{var e=H.value;return Object.assign({},getConfig().scrollbar.yConfig,e.yConfig)}),f=(0,_vue.computed)(()=>{var e=H.value,t=r.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.height,e.height),getConfig().scrollbar.height)}),x=(0,_vue.computed)(()=>{var e=H.value,t=p.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.width,e.width),getConfig().scrollbar.width)}),Te=(0,_vue.computed)(()=>{var e=H.value,t=r.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),ye=(0,_vue.computed)(()=>{var e=H.value,t=p.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),Ne=(0,_vue.computed)(()=>{var e=H.value,t=r.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),Ee=(0,_vue.computed)(()=>{var e=H.value,t=p.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),De=(0,_vue.computed)(()=>{var{yThumbHeight:e,xThumbWidth:t}=$,r=Me.value,l=ke.value,a=Te.value,o=ye.value;return _ui.domUtils.buildClass(["vxe-scrollbar is--virtual","ov-x--"+(!1===a?"hidden":"visible"),"ov-y--"+(!1===o?"hidden":"visible"),"sx-pos--"+(r?"top":"bottom"),"sy-pos--"+(l?"left":"right")],{"overflow-y":e,"overflow-x":t})}),Me=(0,_vue.computed)(()=>"top"===r.value.position),ke=(0,_vue.computed)(()=>"left"===p.value.position),m={computeKeyField:B,computeParentField:j,computeChildrenField:z,computeMapChildrenField:q,computeRadioOpts:Y,computeCheckboxOpts:W,computeNodeOpts:i,computeDragOpts:X},J={xID:a,props:A,context:t,internalData:V,reactData:$,getRefMaps:()=>o,getComputeMaps:()=>m},Q=e=>{var t;return e?(t=c.value,e=_xeUtils.default.get(e,t),(0,_utils.enModelValue)(e)):""};let C=e=>{var t=$.selectRadioKey;return t===e};let Ie=e=>{var t=$.updateCheckboxFlag,r=V.selectCheckboxMaps;return!(!t||!r[e])};let Se=e=>{var t=$.updateCheckboxFlag,r=V.indeterminateNodeMaps;return!(!t||!r[e])};let b=e=>{l("update:checkNodeKeys",e)},n=e=>{l("update:checkNodeKey",e)},T=(e,r)=>{let l=V.nodeMaps;if(e){_xeUtils.default.isArray(e)||(e=[e]);let t=[];e.forEach(e=>{e=(0,_utils.enModelValue)(e),e=l[e];e&&t.push(e.item)}),y(t,r)}return(0,_vue.nextTick)()},y=(e,r)=>{var t=A.transform;let l=V.selectCheckboxMaps;var a=q.value,o=z.value,i=W.value.checkStrictly,n=e=>{var t=Q(e);r?l[t]||(l[t]=e):l[t]&&delete l[t]};i?e.forEach(n):_xeUtils.default.eachTree(e,n,{children:t?a:o}),$.updateCheckboxFlag++,oe()},N=(e,t,r)=>{t?r[e]||(r[e]=!0):r[e]&&delete r[e]},Z=(e,t,r)=>{l(e,(0,_ui.createEvent)(r,{$tree:J},t))},E=()=>{var e=P.value;return e?e.parentElement:null},D=e=>{var t=$.parentHeight,e=A[e];let r=0;return r=e?"100%"===e||"auto"===e?t:(r=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,r)):r},M=()=>{$.customHeight=D("height"),$.customMinHeight=D("minHeight"),$.customMaxHeight=D("maxHeight"),!$.scrollYLoad||$.customHeight||$.customMinHeight||($.customHeight=300)},ee=()=>{var e=V.treeFullData;let n=c.value;var t=z.value;let d={};_xeUtils.default.eachTree(e,(e,t,r,l,a,o)=>{let i=Q(e);i||(i=getNodeUniqueId(),_xeUtils.default.set(e,n,i)),d[i]={item:e,index:t,$index:-1,_index:-1,items:r,parent:a,nodes:o,level:o.length-1,treeIndex:t,lineCount:0,treeLoaded:!1}},{children:t}),V.nodeMaps=d},te=()=>{var e=A.transform;let{afterTreeList:t,nodeMaps:d}=V;var r=z.value,l=q.value;let s=0;_xeUtils.default.eachTree(t,(e,t,r,l,a,o)=>{var i=Q(e),n=d[i];n?(n.items=r,n.treeIndex=t,n._index=s):(n={item:e,index:t,$index:-1,_index:s,items:r,parent:a,nodes:o,level:o.length-1,treeIndex:t,lineCount:0,treeLoaded:!1},d[i]=n),s++},{children:e?l:r})},k=()=>{var{transform:t,filterValue:r}=A,{treeFullData:l,lastFilterValue:e}=V;let a=xe.value;var o=z.value,i=q.value;let{autoExpandAll:n,beforeFilterMethod:d,filterMethod:s,afterFilterMethod:u}=h.value,c=l,v=c,g="";if(r||0===r){g=""+r;r=s?e=>s({$tree:J,node:e,filterValue:g}):e=>-1<String(e[a]).toLowerCase().indexOf(g.toLowerCase());let e={$tree:J,filterValue:g};d&&d(e),c=t?v=_xeUtils.default.searchTree(l,r,{original:!0,isEvery:!0,children:o,mapChildren:i}):l.filter(r),V.lastFilterValue=g,(0,_vue.nextTick)(()=>{n?J.setAllExpandNode(!0).then(()=>{u&&u(e)}):u&&u(e)})}else{if(t&&(v=_xeUtils.default.searchTree(l,()=>!0,{original:!0,isEvery:!0,children:o,mapChildren:i}),c=v,e)){let e={$tree:J,filterValue:g};d&&d(e),(0,_vue.nextTick)(()=>{n?J.clearAllExpandNode().then(()=>{u&&u(e)}):u&&u(e)})}V.lastFilterValue=""}V.afterVisibleList=c,V.afterTreeList=v,te()},g=()=>{var e=A.transform;let{afterTreeList:t,treeExpandedMaps:d}=V;var r=q.value;let s={};if(e){let n=[];return _xeUtils.default.eachTree(t,(e,t,r,l,a)=>{var o=Q(e),i=Q(a);(!a||s[i]&&d[i])&&(s[o]=1,n.push(e))},{children:r}),w(n),V.afterVisibleList=n}return V.afterVisibleList},re=e=>{var t=$.scrollYLoad;let{scrollYStore:r,nodeMaps:l}=V,a=V.afterVisibleList;e&&(k(),a=g());e=t?a.slice(r.startIndex,r.endIndex):a.slice(0);e.forEach((e,t)=>{e=Q(e),e=l[e];e&&(e.$index=t)}),$.treeList=e},I=_xeUtils.default.debounce(()=>re(!0),350,{trailing:!0}),S=e=>{let{expandAll:t,expandNodeKeys:r,transform:l,rootParentValue:a,rootValues:o}=A,{initialized:i,scrollYStore:n}=V;var d=B.value,s=j.value,u=z.value,d=l?_xeUtils.default.toArrayTree(e,{key:d,parentKey:s,mapChildren:u,rootParentValue:a,rootValues:o}):e?e.slice(0):[],s=(V.treeFullData=d,V.insertNodeMaps={},$.insertNodeFlag++,V.removeNodeMaps={},$.removeNodeFlag++,Object.assign(n,{startIndex:0,endIndex:1,visibleSize:0}),w(d));return ee(),re(!0),!s||A.height||A.maxHeight||errLog("vxe.error.reqProp",["height | max-height | virtual-y-config.enabled=false"]),Le().then(()=>{i||e&&e.length&&(V.initialized=!0,t?J.setAllExpandNode(!0):r&&r.length&&J.setExpandByNodeId(r,!0),T(A.checkNodeKeys||[],!0)),M();{let{lastScrollLeft:e,lastScrollTop:t}=V;Re().then(()=>{if(e||t)return V.lastScrollLeft=0,V.lastScrollTop=0,scrollTo(e,t)})}})},w=e=>{var t=A.transform,r=d.value,e=e||V.treeFullData,t=!!t&&!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<e.length);return $.scrollYLoad=t},le=()=>{var e=$.scrollYLoad,{scrollYStore:t,afterVisibleList:r}=V;$.bodyHeight=e?r.length*t.rowHeight:0,$.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},we=()=>{re(),le()},Le=()=>(0,_vue.nextTick)().then(()=>{var e=$.scrollYLoad,t=V.scrollYStore,r=ue.value,l=d.value;let a=0,o;(o=r?o||r.children[0]:o)&&(a=o.offsetHeight),a=Math.max(20,a),t.rowHeight=a,(e?(r=L.value,e=Math.max(8,r?Math.ceil(r.clientHeight/a):0),r=Math.max(0,Math.min(2,_xeUtils.default.toNumber(l.oSize))),t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+r,t.endIndex),we):le)()}),Ue=(e,t)=>{var r=L.value;return e&&!_xeUtils.default.isNumber(e)&&(t=e.top,e=e.left),r&&(_xeUtils.default.isNumber(e)&&(r.scrollLeft=e),_xeUtils.default.isNumber(t))&&(r.scrollTop=t),$.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},He=()=>{pt(),ft()},ae=()=>{var t=V.scrollYStore,t=t.rowHeight,r=P.value;if(r&&r.clientWidth&&r.clientHeight){let e=E();var l,r=de.value,a=se.value,r=r?r.clientHeight:0,a=a?a.clientHeight:0;return(e=e&&(0,_dom.hasClass)(e,"vxe-scrollbar--view-inner")?e.parentElement:e)&&(l=(0,_dom.getPaddingTopBottomSize)(e),$.parentHeight=Math.max(r+a+t,e.clientHeight-l-r-a)),He(),M(),Le().then(()=>{M(),le()})}return(0,_vue.nextTick)()},Oe=()=>{var e=V.scrollYStore,{startIndex:t,endIndex:r,visibleSize:l,offsetSize:a,rowHeight:o}=e,i=L.value;i&&(i=i.scrollTop,i=Math.floor(i/o),o=Math.max(0,i-1-a),a=i+l+a,!(i<=t||r-l-1<=i)||t===o&&r===a||(e.startIndex=o,e.endIndex=a,we()))},Fe=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,l=t!==V.lastScrollLeft,a=r!==V.lastScrollTop;ft(),V.lastScrollTop=r,V.lastScrollLeft=t,$.scrollYLoad&&Oe(),V.lastScrollTime=Date.now(),Z("scroll",{scrollLeft:t,scrollTop:r,isX:l,isY:a},e)},Re=()=>{var e=L.value;return e&&(e.scrollTop=0,e.scrollLeft=0),V.lastScrollTop=0,(V.lastScrollLeft=0,_vue.nextTick)()},Ae=(e,t)=>{var r=A.drag,l=V.nodeMaps,a=e.currentTarget,{trigger:o,isCrossDrag:i,isPeerDrag:n,disabledMethod:d}=X.value,s=Q(t);let u=r?"node"===o:!1;(0,_dom.getEventTargetNode)(e,a,"vxe-tree--node-item-switcher").flag||(r={node:t,$tree:J},o=l[s],!u)||!(i||n||o&&!o.level)||d&&d(r)||nt(e,{node:t})},Pe=(e,t)=>{var{showRadio:r,showCheckbox:l,trigger:a}=A,o=Y.value,i=W.value;let n=!1,d=!1,s=!1,u=!1;v.value?(n=!0,Xe(e,t)):$.currentNode&&($.currentNode=null),"node"===a&&(u=!0,Ye(e,t)),r&&"node"===o.trigger&&(d=!0,Ge(e,t)),l&&"node"===i.trigger&&(s=!0,We(e,t)),Z("node-click",{node:t,triggerCurrent:n,triggerRadio:d,triggerCheckbox:s,triggerExpand:u},e)},Ve=(e,t)=>{Z("node-dblclick",{node:t},e)},$e=(l,a)=>{var o=U.value;if(o){var i=$.tooltipStore,n=V.tipTimeout,d=l.currentTarget,{showAll:s,contentMethod:u}=G.value,n=(n&&(clearTimeout(n),V.tipTimeout=void 0),d.querySelector(".vxe-tree--node-item-title")),d=d.querySelector(".vxe-tree--node-item-wrapper");if(d){var c=_xeUtils.default.toString(d.textContent).trim(),v=d.scrollWidth>d.clientWidth;let e=!1,t=null,r="";u&&(t=u({node:a,$event:l,$tree:J})),s?_xeUtils.default.eqNull(t)?(e=!0,r=c):""!==t&&!1!==t&&(e=!0,r=""+t):r=_xeUtils.default.eqNull(t)?(e=v,c):""!==t&&!1!==t?(e=!0,""+t):c,e&&r&&(u=(0,_utils.getText)(r),i.visible=!0,i.node=a,o.open)&&o.open((v?d:n)||d,u)}}},Be=()=>{let e=U.value;var t=G.value;e&&e.setActived&&e.setActived(!1),t.enterable?V.tipTimeout=setTimeout(()=>{(e=U.value)&&e.isActived&&!e.isActived()&&je(),V.tipTimeout=void 0},t.leaveDelay):je()},je=()=>{var e=$.tooltipStore;return e.visible&&(e.visible=!1,e.node=null,e=U.value)&&e.close(),(0,_vue.nextTick)()},ze=(l,a)=>{var e=A.menuConfig,t=v.value,r=u.value;(e?(0,_utils.isEnableConf)(r):r.enabled)&&({options:e,visibleMethod:r}=r,r&&!r({$tree:J,options:e,node:a})||(t?Xe(l,a):$.currentNode&&($.currentNode=null),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(l,{options:e,events:{optionClick(e){var t=e.option,r=menus.get(t.code),r=r?r.treeMenuMethod:null,t={menu:t,node:a,$event:l,$tree:J,option:t};r&&r(t,l),Z("menu-click",t,e.$event)}}}))),Z("node-menu",{node:a},l)},qe=o=>{var e=W.value;let r=A.loadMethod,i=e.checkStrictly;return new Promise(e=>{var t=V.nodeMaps;let l=Q(o),a=t[l];r?(V.treeExpandLazyLoadedMaps[l]=!0,Promise.resolve(r({$tree:J,node:o})).then(r=>{var e=V.treeExpandLazyLoadedMaps;if(a&&(a.treeLoaded=!0),e[l]&&(e[l]=!1),r=_xeUtils.default.isArray(r)?r:[])return J.loadChildrenNode(o,r).then(e=>{var t=V.treeExpandedMaps;return e.length&&!t[l]&&(t[l]=!0),$.updateExpandedFlag++,!i&&J.isCheckedByCheckboxNodeId(l)&&y(e,!0),Z("load-success",{node:o,data:r},new Event("load-success")),(0,_vue.nextTick)()});Z("load-success",{node:o,data:r},new Event("load-success"))}).catch(e=>{var t=V.treeExpandLazyLoadedMaps;a&&(a.treeLoaded=!1),t[l]&&(t[l]=!1),Z("load-error",{node:o,data:e},new Event("load-error"))}).finally(()=>(g(),re(),ae()))):(a&&(a.treeLoaded=!0),e())})},Ke=(e,t)=>{let{lazy:l,accordion:r,toggleMethod:a}=A,{treeExpandLazyLoadedMaps:o,treeExpandedMaps:i}=V,n=V.nodeMaps,d=z.value,s=K.value,u=[],c=a?e.filter(e=>a({$tree:J,expanded:t,node:e})):e;r&&(c=c.length?[c[c.length-1]]:[],e=Q(c[0]),e=n[e])&&e.items.forEach(e=>{e=Q(e);i[e]&&delete i[e]});let v=[];return t?c.forEach(e=>{var t,r=Q(e);i[r]||(t=n[r],l&&e[s]&&!t.treeLoaded&&!o[r]?u.push(qe(e)):e[d]&&e[d].length&&(i[r]=!0,v.push(e)))}):c.forEach(e=>{var t=Q(e);i[t]&&(delete i[t],v.push(e))}),$.updateExpandedFlag++,g(),re(),Promise.all(u).then(()=>ae())},Ye=(e,t)=>{var r=A.lazy,{treeExpandedMaps:l,treeExpandLazyLoadedMaps:a}=V,o=Q(t),l=!l[o];e.stopPropagation(),r&&a[o]||Ke([t],l),Z("node-expand",{node:t,expanded:l},e)},oe=()=>{var e=A.transform;let{selectCheckboxMaps:d,indeterminateNodeMaps:s,afterTreeList:t}=V,o=z.value;var r=q.value;let{checkStrictly:l,checkMethod:u}=W.value;if(!l){let l={},a=[];_xeUtils.default.eachTree(t,e=>{var t=Q(e),r=e[o];r&&r.length&&!l[t]&&(l[t]=1,a.unshift([e,t,r]))},{children:e?r:o}),a.forEach(e=>{var t=e[0],r=e[1],e=e[2];let l=0,a=0,o=0;var i=e.length;e.forEach(u?e=>{var t=Q(e),r=d[t];u({$tree:J,node:e})?(r?l++:s[t]&&a++,o++):r?l++:s[t]&&a++}:e=>{e=Q(e);d[e]?l++:s[e]&&a++,o++});let n=!1;e=!(n=0<i?0<o?(0<l||0<a)&&l>=o:0<l&&l>=o||!!d[r]:d[r])&&(0<l||0<a);n?(d[r]=t,s[r]&&delete s[r]):(d[r]&&delete d[r],e?s[r]=t:s[r]&&delete s[r])}),$.updateCheckboxFlag++}},We=(e,r)=>{e.preventDefault(),e.stopPropagation();var l=A.transform;let{selectCheckboxMaps:a,nodeMaps:t}=V;var o=z.value,i=q.value,{checkStrictly:n,checkMode:d,checkMethod:s}=W.value,u=Q(r),c=_xeUtils.default.get(r,o),c=c&&0<c.length,v=(t[u]||{}).level,s=s?!s({$tree:J,node:r}):!ne(d,c,v);if(!s){let t=!1;a[u]?delete a[u]:(t=!0,a[u]=r),n||_xeUtils.default.eachTree(_xeUtils.default.get(r,l?i:o),e=>{e=Q(e);t?a[e]||(a[e]=!0):a[e]&&delete a[e]},{children:l?i:o}),$.updateCheckboxFlag++,oe();d=_xeUtils.default.keys(a).map(_utils.deModelValue);b(d),Z("checkbox-change",{node:r,value:d,checked:t},e)}},Xe=(e,t)=>{e.preventDefault();var{currentMethod:r,trigger:l}=i.value,a=z.value,a=_xeUtils.default.get(t,a),a=a&&a.length;let o=!!r;if("child"===l){if(a)return}else if("parent"===l&&!a)return;(o=r?!r({node:t}):o)||($.currentNode=t,Z("current-change",{node:t,checked:!0},e))},Ge=(e,t)=>{e.preventDefault(),e.stopPropagation();var r=V.nodeMaps,l=Y.value,a=z.value,{checkMode:l,checkMethod:o}=l,i=Q(t),a=_xeUtils.default.get(t,a),a=a&&0<a.length,r=(r[i]||{}).level;(o?o({$tree:J,node:t}):ne(l,a,r))&&(o=(0,_utils.deModelValue)(i),$.selectRadioKey=i,n(o),Z("radio-change",{node:t,value:o,checked:!0},e))},Je=(e,t)=>{let{treeFullData:i,nodeMaps:n}=V,d=B.value,s=j.value,u=z.value,c=q.value,v=t?"push":"unshift";e.forEach(r=>{let t=r[s];var e=Q(r),l=t?_xeUtils.default.findTree(i,e=>t===e[d],{children:c}):null,a=(0,_util.getItemCacheObj)(r);if(l){var l=l.item,o=n[Q(l)],o=o?o.level:0;let e=l[u],t=l[c];_xeUtils.default.isArray(e)||(e=l[u]=[]),_xeUtils.default.isArray(t)||(t=l[c]=[]),a.parent=l,a.items=e,a.level=o,e[v](r),t[v](r)}else t&&warnLog("vxe.error.unableInsert"),i[v](r);n[e]=a})},Qe=(t,r,n)=>{var d=A.transform;let{treeFullData:e,nodeMaps:s,removeNodeMaps:l,insertNodeMaps:a}=V,u=B.value,c=j.value,v=z.value,g=q.value;if(!d)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","transform"]),Promise.resolve({node:null,nodes:[]});_xeUtils.default.isArray(t)||(t=[t]);let h=r;if((_xeUtils.default.isString(r)||_xeUtils.default.isNumber(r))&&(d=s[r])&&(h=d.item),!t.length)return Promise.resolve({node:null,nodes:[]});let o=t.map(e=>_xeUtils.default.assign({[g]:[],[v]:[]},e));r=_xeUtils.default.toArrayTree(o,{key:u,parentKey:c,children:v});if(_xeUtils.default.eqNull(h))Je(o,!1);else if(-1===h)Je(o,!0);else{let i=_xeUtils.default.findTree(e,e=>h[u]===e[u],{children:g});if(i){let l=i.parent,a=l?l[g]:e;d=s[Q(l)];let o=d?d.level:0;if(r.forEach((e,t)=>{l?e[c]!==l[u]&&(errLog("vxe.error.errProp",[c+"="+e[c],c+"="+l[u]]),e[c]=l[u]):null!==e[c]&&(_xeUtils.default.eqNull(e[c])||errLog("vxe.error.errProp",[c+"="+e[c],"null"]),e[c]=null);let r=i.index+t;n&&(r+=1),a.splice(r,0,e)}),_xeUtils.default.eachTree(r,e=>{var t=Q(e),r=(0,_util.getItemCacheObj)(e);r.level=o,e[v]&&(e[g]=e[v]),s[t]=r},{children:v}),l){t=_xeUtils.default.findTree(e,e=>h[u]===e[u],{children:v});if(t){d=t.items;let e=t.index;n&&(e+=1),d.splice(e,0,...r)}}}else warnLog("vxe.error.unableInsert"),Je(o,!0)}return _xeUtils.default.eachTree(r,e=>{var t=Q(e);l[t]?(delete l[t],a[t]&&delete a[t]):a[t]=e},{children:g}),$.removeNodeFlag++,$.insertNodeFlag++,ee(),re(!0),te(),oe(),$.scrollYLoad&&le(),(0,_vue.nextTick)().then(()=>({node:o.length?o[o.length-1]:null,nodes:o}))},Ze=(e,t,r,l)=>{var a=A.transform,o=V.nodeMaps;let i=B.value,n=j.value;if(!a)return errLog("vxe.error.reqSupportProp",["insertChild() | insertChildAt() | insertChildNextAt()","transform"]),Promise.resolve({node:null,nodes:[]});_xeUtils.default.isArray(e)||(e=[e]);let d=t;return(_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t))&&(a=o[t])&&(d=a.item),Qe(e.map(e=>Object.assign({},e,{[n]:d[i]})),r,l)},et={dispatchEvent:Z,getNodeId:Q,getNodeById(e){var t=V.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},loadData(e){return S(e||[])},reloadData(e){return S(e||[])},clearCurrentNode(){return($.currentNode=null,_vue.nextTick)()},getCurrentNodeId(){var e=$.currentNode;return e?(0,_utils.deModelValue)(Q(e)):null},getCurrentNode(){var e=$.currentNode,t=V.nodeMaps;if(e){t=t[Q(e)];if(t)return t.item}return null},setCurrentNodeId(e){var t=V.nodeMaps,t=t[(0,_utils.enModelValue)(e)];return $.currentNode=t?t.item:null,(0,_vue.nextTick)()},setCurrentNode(e){return $.currentNode=e,(0,_vue.nextTick)()},clearRadioNode(){return $.selectRadioKey=null,n(null),(0,_vue.nextTick)()},getRadioNodeId(){return $.selectRadioKey||null},getRadioNode(){var e=$.selectRadioKey,t=V.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},setRadioNodeId(e){return $.selectRadioKey=(0,_utils.enModelValue)(e),n(e),(0,_vue.nextTick)()},setRadioNode(e){return e?(e=Q(e),$.selectRadioKey=e,n((0,_utils.deModelValue)(e))):n(null),(0,_vue.nextTick)()},setCheckboxNode(e,t){return e&&(_xeUtils.default.isArray(e)||(e=[e]),y(e,t)),b(J.getCheckboxNodeIds()),(0,_vue.nextTick)()},setCheckboxByNodeId(e,t){return T(e,t),b(J.getCheckboxNodeIds()),(0,_vue.nextTick)()},getCheckboxNodeIds(){var e=V.selectCheckboxMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{r.push((0,_utils.deModelValue)(t))}),r},getCheckboxNodes(){return J.getCheckboxRecords()},getCheckboxRecords(){let{nodeMaps:r,selectCheckboxMaps:e}=V,l=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&l.push(t.item)}),l},clearCheckboxNode(){return V.indeterminateNodeMaps={},V.selectCheckboxMaps={},$.updateCheckboxFlag++,b([]),oe(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:[],checkNodes:[]}))},setAllCheckboxNode(e){var t=A.transform,{afterTreeList:r,afterVisibleList:l}=V;let a={};var o=z.value,i=q.value;let n=[],d=[];return e&&_xeUtils.default.eachTree(t?r:l,e=>{var t=Q(e);n.push(t),d.push(e),a[t]=!0},{children:t?i:o}),V.indeterminateNodeMaps={},V.selectCheckboxMaps=a,$.updateCheckboxFlag++,oe(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:n,checkNodes:d}))},clearExpandNode(){return et.clearAllExpandNode()},clearAllExpandNode(){let e=$.scrollYLoad;var{nodeMaps:t,scrollYStore:r}=V;return _xeUtils.default.each(t,e=>{e.treeLoaded=!1}),V.treeExpandedMaps={},$.updateExpandedFlag++,$.topSpaceHeight=0,r.startIndex=0,r.endIndex=1,g(),re(),ae().then(()=>(e&&Oe(),ae()))},setExpandByNodeId(e,t){let r=V.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_utils.enModelValue)(e);N(e,t,r)}),$.updateExpandedFlag++),g(),re(),ae()},getExpandNodeIds(){var e=V.treeExpandedMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{r.push((0,_utils.deModelValue)(t))}),r},getExpandNodes(){let{nodeMaps:r,treeExpandedMaps:e}=V,l=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&l.push(t.item)}),l},setExpandNode(e,t){let r=V.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=Q(e);N(e,t,r)}),$.updateExpandedFlag++),g(),re(),ae()},toggleExpandByNodeId(e){let t=V.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_utils.enModelValue)(e);N(e,!t[""+e],t)}),$.updateExpandedFlag++),g(),re(),ae()},toggleExpandNode(e){let t=V.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=Q(e);N(e,!t[e],t)}),$.updateExpandedFlag++),g(),re(),ae()},setAllExpandNode(e){var t=A.transform;let r=$.scrollYLoad,{scrollYStore:l,treeExpandedMaps:a}=V,o=z.value;var i=q.value;return e?_xeUtils.default.eachTree(V.afterTreeList,e=>{var t=_xeUtils.default.get(e,o);t&&t.length&&(t=Q(e),a[t]=!0)},{children:t?i:o}):V.treeExpandedMaps={},$.updateExpandedFlag++,$.topSpaceHeight=0,l.startIndex=0,l.endIndex=1,g(),re(),ae().then(()=>(r&&Oe(),ae()))},reloadExpandNode(e){var t=A.lazy;return t?(et.clearExpandLoaded(e),qe(e)):ae()},clearExpandLoaded(e){var t=A.lazy,r=V.nodeMaps;return t&&(t=r[Q(e)])&&(t.treeLoaded=!1),ae()},loadChildrenNode(t,e){let{lazy:r,transform:l}=A,n=V.nodeMaps;if(!r)return Promise.resolve([]);let a=z.value,o=q.value,d=n[Q(t)],s=d?d.level:0,u=d?d.nodes:[];return(e=>{let r=c.value;return Promise.resolve(e.map(e=>{var t,e=Object.assign({},e);return Q(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,r,t)),e}))})(e).then(e=>(_xeUtils.default.eachTree(e,(e,t,r,l,a,o)=>{var i=Q(e);n[i]={item:e,index:-1,$index:-1,_index:-1,items:r,parent:a||d.item,nodes:u.concat(o),level:s+o.length,treeIndex:-1,lineCount:0,treeLoaded:!1}},{children:a}),t[a]=e,l&&(t[o]=e),te(),e))},isExpandByNode:e=>{var t=$.updateExpandedFlag,r=V.treeExpandedMaps,e=Q(e);return!(!t||!r[e])},isCheckedByRadioNodeId:C,isCheckedByRadioNode:e=>C(Q(e)),isCheckedByCheckboxNodeId:Ie,isIndeterminateByCheckboxNode:e=>Se(Q(e)),isCheckedByCheckboxNode:e=>Ie(Q(e)),getCheckboxIndeterminateNodes(){let{nodeMaps:r,indeterminateNodeMaps:e}=V,l=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&l.push(t.item)}),l},recalculate:ae,getFullData(){var e=V.treeFullData;return e.slice(0)},scrollTo:Ue,scrollToNode(e){return J.scrollToNodeId(Q(e))},scrollToNodeId(t){var e=A.transform;let{scrollYStore:r,afterTreeList:l}=V;var a=z.value,o=q.value;let i=L.value;if(t&&i)if(e){e=_xeUtils.default.findTree(l,e=>Q(e)===t,{children:e?o:a});if(e)return J.setExpandNode(e.nodes,!0).then(()=>{var e=_xeUtils.default.findIndexOf(V.afterVisibleList,e=>Q(e)===t);if(-1<e)return e=Math.max(0,(e-1)*r.rowHeight),Ue(i.scrollLeft,e)})}else{o=i.querySelector(`.vxe-tree--node-wrapper[nodeid="${t}"]`);if(o)return Ue(i.scrollLeft,o.offsetTop)}return ae()},clearScroll:Re,insert(e){return Qe(e,null)},insertAt(e,t){return Qe(e,t)},insertNextAt(e,t){return Qe(e,t,!0)},insertChild(e,t){return Ze(e,t,null)},insertChildAt(e,t,r){return Ze(e,t,r)},insertChildNextAt(e,t,r){return Ze(e,t,r,!0)},getInsertRecords(){var e=V.insertNodeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isInsertByNode(e){e=Q(e);return!!$.insertNodeFlag&&!!V.insertNodeMaps[e]},remove(e){var t=A.transform;let{treeFullData:r,insertNodeMaps:l,removeNodeMaps:a}=V,o=z.value,i=q.value;if(!t)return errLog("vxe.error.reqSupportProp",["remove()","transform"]),Promise.resolve({node:null,nodes:[]});let n=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=r,e.length?(e.forEach(e=>{var t;J.isInsertByNode(e)||(t=Q(e),a[t]=e)}),r===e?(e=n=r.slice(0),V.treeFullData=[]):e.forEach(e=>{let t=Q(e);var e=_xeUtils.default.findTree(r,e=>t===Q(e),{children:i}),e=(e&&(e=e.items.splice(e.index,1),n.push(e[0])),_xeUtils.default.findTree(r,e=>t===Q(e),{children:o}));e&&(e=e.items.splice(e.index,1),n.push(e[0]))}),e.forEach(e=>{e=Q(e);l[e]&&delete l[e]}),$.removeNodeFlag++,$.insertNodeFlag++,ee(),re(!0),te(),oe(),$.scrollYLoad&&le(),(0,_vue.nextTick)().then(()=>ae()).then(()=>({node:n.length?n[n.length-1]:null,nodes:n}))):Promise.resolve({node:null,nodes:[]})},getRemoveRecords(){var e=V.removeNodeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isRemoveByNode(e){e=Q(e);return!!$.removeNodeFlag&&!!V.removeNodeMaps[e]},closeTooltip:je,getRecordset(){return{insertRecords:J.getInsertRecords(),removeRecords:J.getRemoveRecords()}}},ie=()=>{ut(),ot(),ae()},tt=()=>{var e=P.value;if(e){let t="node--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},rt=e=>{var t=P.value;if(t){e=Q(e);_xeUtils.default.arrayEach(t.querySelectorAll(`.vxe-tree--node-wrapper[nodeid="${e}"]`),e=>{(0,_dom.addClass)(e,"node--drag-origin")})}},lt=e=>{var t=$.dragNode,r=X.value.tooltipMethod;let l="";l=r?""+(r({$tree:J,node:t})||""):getI18n("vxe.tree.dragTip",[e.textContent||""]),$.dragTipText=l},at=()=>{var e=fe.value,t=pe.value;e&&(e.style.display=""),t&&(t.style.display="")},ot=()=>{crossTreeDragNodeObj=null,_.node=null},it=()=>{var e=$.dragNode;e&&(at(),tt(),ot(),$.dragNode=null)},nt=(e,t)=>{e.stopPropagation();var r=t.node,{isCrossTreeDrag:l,trigger:a,dragStartMethod:o}=X.value,i=e.currentTarget,a="node"===a?i:i.parentElement.parentElement;tt(),o&&!o(t)?(a.draggable=!1,$.dragNode=null,ot(),at()):(l&&(_.node=r,crossTreeDragNodeObj={$oldTree:J,$newTree:null}),$.dragNode=r,$.isCrossDragNode=!1,a.draggable=!0,rt(r),lt(a),Z("node-dragstart",t,e))},dt=()=>{it()},st=(e,t,r,l)=>{var a=P.value;if(a){var o=V.prevDragToChild,i=a.getBoundingClientRect(),n=a.clientHeight;if(t){var d=pe.value;if(d)if(r){var s=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,s.y-i.y);t+e>n&&(e=n-t),d.style.display="block",d.style.top=t+"px",d.style.height=e+"px",d.setAttribute("drag-pos",l),d.setAttribute("drag-to-child",o?"y":"n")}else d.style.display=""}s=fe.value;s&&(s.style.display="block",s.style.top=Math.min(a.clientHeight-a.scrollTop-s.clientHeight,e.clientY-i.y)+"px",s.style.left=Math.min(a.clientWidth-a.scrollLeft-s.clientWidth-1,e.clientX-i.x)+"px",s.setAttribute("drag-status",r?o?"sub":"normal":"disabled"))}},ut=()=>{var e=P.value;at(),tt(),(0,_anime.clearRowAnimate)(e,[".vxe-tree--node-wrapper"]),V.prevDragToChild=!1,$.dragNode=null},ct=(v,g,h,p,e)=>{let f=A.transform,{nodeMaps:x,treeFullData:m,afterVisibleList:_}=V;var C=X.value;let{animation:b,isCrossDrag:T,isPeerDrag:y,isSelfToChildDrag:N,dragEndMethod:t,dragToChildMethod:E}=C;C=t||(C?C.dragEndMethod:null);let D=B.value,M=j.value,k=z.value,I=q.value,S="bottom"===p?1:0,w=P.value,L={status:!1};if(w&&h&&g&&h!==g){var U={oldNode:g,newNode:h,dragNode:g,dragPos:p,dragToChild:!!e,offsetIndex:S};let r=Q(g);var H=x[r]||{};let s=H._index;var O=Q(h);let u=0,c=-1,l=(b&&(F=w.querySelector(`.vxe-tree--node-wrapper[nodeid="${O}"]`),R=w.querySelector(`.vxe-tree--node-wrapper[nodeid="${r}"]`),(F=F||R)&&(u=F.offsetHeight),R)&&(c=R.offsetTop),-1),a=-1,t={},o=!1,i=H,n=x[O];if(f&&i&&n){var F=i.level,R=n.level;if(_xeUtils.default.eachTree([g],e=>{t[Q(e)]=e},{children:I}),F&&R)if(y&&!T){if(i.item[M]!==n.item[M])return ie(),L}else{if(!T)return ie(),L;if(t[O]&&(o=!0,!T||!N))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),ie(),L}else if(F){if(!T)return ie(),L}else if(R){if(!T)return ie(),L;if(t[O]&&(o=!0,!T||!N))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),ie(),L}}let d=N&&E?E(U):e;return Promise.resolve(!C||C(U)).then(e=>{var t;return e?(f?i&&n&&(e=_xeUtils.default.toTreeArray(V.afterTreeList,{updated:!1,key:D,parentKey:M,children:I}),t=J.findNodeIndexOf(e,g),e.splice(t,1),t=J.findNodeIndexOf(e,h)+S,e.splice(t,0,g),o&&T&&N&&_xeUtils.default.each(g[k],e=>{e[M]=g[M]}),g[M]=d?h[D]:h[M],V.treeFullData=_xeUtils.default.toArrayTree(e,{key:D,parentKey:M,children:k,mapChildren:I})):(l=J.findNodeIndexOf(_,g),t=J.findNodeIndexOf(m,g),_.splice(l,1),m.splice(t,1),e=J.findNodeIndexOf(_,h),t=J.findNodeIndexOf(m,h),a=e+S,e=t+S,_.splice(a,0,g),m.splice(e,0,g)),ee(),re(f),f||te(),oe(),$.scrollYLoad&&le(),v&&Z("node-dragend",{oldNode:g,newNode:h,dragNode:g,dragPos:p,dragToChild:d,offsetIndex:S,_index:{newIndex:a,oldIndex:l}},v),(0,_vue.nextTick)().then(()=>{if(b){var l=$.treeList,a=V.nodeMaps,o=a[r],i=o._index,n=l[0],a=a[Q(n)],n=w;if(a){var a=a._index,d=a+l.length;let e=-1,t=-1,r=1;s<a?(e=0,t=i-a):s>d?(d=o.$index,e=d+1,t=l.length,r=-1):i>s?(e=s-a,t=e+i-s):(e=i-a,t=e+s-i+1,r=-1);o=l.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=Q(e);t.push(`.vxe-tree--node-wrapper[nodeid="${e}"]`)});d=n.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(d,r*u)}}a=[`.vxe-tree--node-wrapper[nodeid="${r}"]`],i=n.querySelectorAll(a.join(",")),l=i[0];-1<c&&l&&(0,_anime.moveRowAnimateToTb)(i,c-l.offsetTop)}ae()}).then(()=>({status:!0}))):L}).catch(()=>L).then(e=>(ie(),e))}return ie(),Promise.resolve(L)},vt=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},gt=e=>{var t=A.lazy,r=$.dragNode,{nodeMaps:l,prevDragNode:a,prevDragPos:o,prevDragToChild:i}=V,n=K.value,{isCrossDrag:d,isCrossTreeDrag:s}=X.value;if(s&&crossTreeDragNodeObj){s=crossTreeDragNodeObj.$newTree;if(s&&s.xID!==J.xID)return void(d&&s.handleCrossTreeNodeDragInsertEvent(e))}t&&i&&(d=l[Q(a)],a[n])&&(!d||!d.treeLoaded)||ct(e,r,a,o,i)},ht=e=>{var{lazy:t,transform:r}=A,l=$.dragNode,a=V.nodeMaps,o=X.value,i=j.value,n=K.value,{isCrossTreeDrag:o,isCrossDrag:d,isPeerDrag:s,isToChildDrag:u}=o,c=(l||d||e.preventDefault(),(0,_dom.hasControlKey)(e)),v=e.currentTarget,g=v.getAttribute("nodeid")||"",a=a[g];if(a){e.preventDefault();var h=a.item,p=e.clientY-v.getBoundingClientRect().y<v.clientHeight/2?"top":"bottom";if(V.prevDragToChild=!!(r&&d&&u&&c),V.prevDragNode=h,V.prevDragPos=p,o&&d&&crossTreeDragNodeObj){var{$oldTree:u,$newTree:o}=crossTreeDragNodeObj;if(u){var f=u.reactData;if(u.xID===J.xID)o&&o.hideCrossTreeNodeDropClearStatus(),$.isCrossDragNode=!1,f.isCrossDragNode=!1,crossTreeDragNodeObj.$newTree=null;else if(d)return o&&o.xID!==J.xID&&o.hideCrossTreeNodeDropClearStatus(),u.hideCrossTreeNodeDropClearStatus(),f.isCrossDragNode=!0,$.dragTipText=f.dragTipText,crossTreeDragNodeObj.$newTree=J,void st(e,v,!0,p)}}l&&Q(l)===g||c&&t&&h[n]&&a&&!a.treeLoaded||!d&&r&&(s?l[i]!==h[i]:a.level)?st(e,v,!1,p):(st(e,v,!0,p),Z("node-dragover",{oldRNode:l,targetNode:h,dragPos:p},e))}};a={handleData:re,cacheNodeMap:ee,updateAfterDataIndex:te,updateCheckboxStatus:oe,updateYSpace:le,findNodeIndexOf(e,t){return t?_xeUtils.default.findIndexOf(e,e=>J.eqNode(e,t)):-1},eqNode(e,t){return!(!e||!t||e!==t&&Q(e)!==Q(t))},handleCrossTreeNodeDragCancelEvent(){ut(),ot()},handleCrossTreeNodeDragFinishEvent(t){var a=$.treeList,o=V.nodeMaps;let{animation:i,isCrossTreeDrag:e}=X.value;var n=q.value;let d=P.value;if(d&&e&&crossTreeDragNodeObj&&_){var s=_.node;if(s){var u=Q(s),o=o[u];let r=0,e=-1,l=(o&&(i&&(u=d.querySelector(`.vxe-tree--node-wrapper[nodeid="${u}"]`))&&(r=u.offsetHeight),e=o.$index),-1<e&&e<a.length-1?a.slice(e+1):[]);u=_xeUtils.default.toTreeArray([s],{updated:!0,children:n});J.remove(u).then(()=>{if(i&&r&&l.length){var e=d;let t=[];l.forEach(e=>{e=Q(e);t.push(`.vxe-tree--node-wrapper[nodeid="${e}"]`)});e=e.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,r)}}),Z("node-remove-dragend",{node:s},t),ie()}}},handleCrossTreeNodeDragoverEmptyEvent(e){var t,r=$.treeList,l=X.value.isCrossTreeDrag;l&&crossTreeDragNodeObj&&!r.length&&({$oldTree:l,$newTree:r}=crossTreeDragNodeObj,l)&&(t=l).xID!==J.xID&&(r&&r.xID!==J.xID&&r.hideCrossTreeNodeDropClearStatus(),e.preventDefault(),l.hideCrossTreeNodeDropClearStatus(),crossTreeDragNodeObj.$newTree=J,V.prevDragNode=null,$.dragTipText=t.dragTipText,st(e,e.currentTarget,!0,""))},handleCrossTreeNodeDragInsertEvent(s){let{prevDragNode:u,prevDragPos:c,prevDragToChild:e}=V;let{animation:v,isSelfToChildDrag:t,isCrossTreeDrag:r,dragEndMethod:g,dragToChildMethod:h}=X.value,p=j.value,f=q.value,x=z.value;if(r&&crossTreeDragNodeObj&&_){let i=_.node,n=crossTreeDragNodeObj.$oldTree,d=P.value;if(d&&(n&&i)){let o=i,r=-1;u&&(r="bottom"===c?1:0);var m={oldNode:o,newNode:u,dragNode:o,dragPos:c,dragToChild:!!e,offsetIndex:r};let l=t&&h?h(m):e,a={status:!1};Promise.resolve(!g||g(m)).then(e=>{if(!e)return n&&n.xID!==J.xID&&n.handleCrossTreeNodeDragCancelEvent(s),ie(),a;let t=Promise.resolve();e=_xeUtils.default.toTreeArray([o],{updated:!0,children:f});n.handleCrossTreeNodeDragFinishEvent(s),u?o[p]=u[p]:o[p]=null,e.forEach(e=>{e[x]=void 0,e[f]=void 0}),t=u?"bottom"===c?J.insertNextAt(e,u):J.insertAt(e,u):J.insert(e),J.dispatchEvent("node-insert-dragend",{oldNode:i,newNode:u,dragNode:o,dragPos:c,dragToChild:l,offsetIndex:r},s),ut(),t.then(()=>{var e=$.treeList,r=V.nodeMaps,l=Q(o),r=r[l];let a=0,t=-1;r&&(v&&(l=d.querySelector(`.vxe-tree--node-wrapper[nodeid="${l}"]`))&&(a=l.offsetHeight),t=r.$index);l=-1<t?e.slice(t):[];if(v&&a&&l.length){r=d;let t=[];l.forEach(e=>{e=Q(e);t.push(`.vxe-tree--node-wrapper[nodeid="${e}"]`)});e=r.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,-a)}})})}}},hideCrossTreeNodeDropClearStatus(){at()}};let pt=()=>{var e,t,r=L.value;r&&r.clientHeight&&(t=(t=ce.value)?(0,_util2.getThumbSize)(r.clientWidth,r.scrollWidth,t.clientWidth):0,(e=ge.value)&&(e.style.width=t+"px"),$.xThumbWidth=t,t=(e=ve.value)?(0,_util2.getThumbSize)(r.clientHeight,r.scrollHeight,e.clientHeight):0,(r=he.value)&&(r.style.height=t+"px"),$.yThumbHeight=t)},ft=()=>{var e,t,r,l,a=L.value;a&&a.clientHeight&&({xThumbWidth:t,yThumbHeight:e}=$,l=ce.value,r=ge.value,l=l&&t?(0,_util2.getThumbOffsetSize)(a.scrollLeft,a.clientWidth,a.scrollWidth,l.clientWidth,t):0,V.xThumbLeft=l,r&&t&&(r.style.width=t+"px",r.style.transform=`translateX(${l}px)`),t=ve.value,r=he.value,l=t&&e?(0,_util2.getThumbOffsetSize)(a.scrollTop,a.clientHeight,a.scrollHeight,t.clientHeight,e):0,V.yThumbTop=l,r)&&e&&(r.style.height=e+"px",r.style.transform=`translateY(${l}px)`)},xt=e=>{var t,r,l,a=e.currentTarget;a===e.target&&(t=L.value)&&(r=$.xThumbWidth,l=a.getBoundingClientRect(),t.scrollTo({left:(0,_util2.getScrollFromClick)(e.clientX-l.left,t.clientWidth,t.scrollWidth,a.clientWidth,r),behavior:"auto"}))},mt=e=>{var t,r,l,a=e.currentTarget;a===e.target&&(t=L.value)&&(r=$.yThumbHeight,l=a.getBoundingClientRect(),t.scrollTo({top:(0,_util2.getScrollFromClick)(e.clientY-l.top,t.clientHeight,t.scrollHeight,a.clientHeight,r),behavior:"auto"}))},_t=e=>{var t,r,l=e.currentTarget,a=(V.isThumbDrag=!0,l.setPointerCapture(e.pointerId),L.value);a&&(t=$.xThumbWidth,r=(l=l.parentElement).getBoundingClientRect(),e=e.clientX-r.left,r=(0,_util2.getThumbOffsetSize)(a.scrollLeft,a.clientWidth,a.scrollWidth,l.clientWidth,t),V.thumbDragOffset=e-r)},Ct=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:l}=V;if(r){r=L.value;if(r){var a=$.xThumbWidth;let e=t.currentTarget;var o=e.parentElement,i=o.getBoundingClientRect();r.scrollLeft=(0,_util2.getScrollFromDrag)(t.clientX-i.left,l,r.clientWidth,r.scrollWidth,o.clientWidth,a)}}}},O=e=>{e.currentTarget.releasePointerCapture(e.pointerId),V.isThumbDrag=!1},bt=e=>{var t,r,l=e.currentTarget,a=(V.isThumbDrag=!0,l.setPointerCapture(e.pointerId),L.value);a&&(t=$.yThumbHeight,r=(l=l.parentElement).getBoundingClientRect(),e=e.clientY-r.top,r=(0,_util2.getThumbOffsetSize)(a.scrollTop,a.clientHeight,a.scrollHeight,l.clientHeight,t),V.thumbDragOffset=e-r)},Tt=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:l}=V;if(r){r=L.value;if(r){var a=$.yThumbHeight;let e=t.currentTarget;var o=e.parentElement,i=o.getBoundingClientRect();r.scrollTop=(0,_util2.getScrollFromDrag)(t.clientY-i.top,l,r.clientHeight,r.scrollHeight,o.clientHeight,a)}}}},yt=(Object.assign(J,et,a),(e,t)=>{var{drag:r,transform:l}=A,a=V.nodeMaps,{showIcon:o,isPeerDrag:i,isCrossDrag:n,visibleMethod:d}=X.value;let s={node:e,$tree:J};if(r&&o&&l&&(!d||d(s))){e=a[t];if(e&&(i||n||!e.level)){var{icon:r,trigger:o,disabledMethod:l}=X.value;let t=l&&l(s);d={};return"node"!==o&&(d.onMousedown=e=>{t||nt(e,s)},d.onMouseup=dt),(0,_vue.h)("div",Object.assign({class:["vxe-tree--drag-handle",{"is--disabled":t}]},d),[(0,_vue.h)("i",{class:r||getIcon().TREE_DRAG})])}}return(0,_ui.renderEmptyElement)(J)}),ne=(e,t,r)=>{if(e){if("first"===e)return!r;if("last"===e)return!t}return!0},Nt=(t,e,r,l,a,o)=>{var i=A.showRadio,{showIcon:n,visibleMode:d,visibleMethod:s}=Y.value,s=s?s({$tree:J,node:t}):ne(d,r,l);return i&&n&&s?(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":o,"is--disabled":a}],onClick:e=>{a||Ge(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?getIcon().RADIO_CHECKED:a?getIcon().RADIO_DISABLED_UNCHECKED:getIcon().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(J)},Et=(t,e,r,l,a,o,i)=>{var n=A.showCheckbox,{showIcon:d,visibleMode:s,visibleMethod:u}=W.value,u=u?u({$tree:J,node:t}):ne(s,r,l);return n&&d&&u?(0,_vue.h)("div",{class:["vxe-tree--checkbox-option",{"is--checked":o,"is--indeterminate":i,"is--disabled":a}],onClick:e=>{a||We(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().CHECKBOX_INDETERMINATE:o?getIcon().CHECKBOX_CHECKED:a?getIcon().CHECKBOX_DISABLED_UNCHECKED:getIcon().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(J)},Dt=(t,e)=>{var{lazy:r,drag:l,transform:a,showRadio:o,showCheckbox:i,showLine:n,visibleMethod:d,iconOpen:s,iconClose:u,iconLoaded:c,showIcon:v}=A,{currentNode:g,selectRadioKey:h,updateExpandedFlag:p}=$,{afterTreeList:f,nodeMaps:x,treeExpandedMaps:m,treeExpandLazyLoadedMaps:_}=V,C=G.value.mode,b=Y.value,T=W.value,y=z.value,N=xe.value,F=K.value,y=_xeUtils.default.get(t,y),y=y&&0<y.length,E=R.icon,D=R.title,M=R.extra,p=p&&m[e],m=x[e]||{},x=(0,_utils.getText)(_xeUtils.default.get(t,N)),N=m.level;let k=!1,I=!1,S=(o&&(k=e===String(h),I=b.checkMethod?!b.checkMethod({$tree:J,node:t}):!ne(b.checkMode,y,N)),!1),w=!1,L=!1,U=(i&&(S=Ie(e),w=Se(e),L=T.checkMethod?!T.checkMethod({$tree:J,node:t}):!ne(T.checkMode,y,N)),!1),H=!1,O=!1;r&&(H=!!_[e],U=t[F],O=!!m.treeLoaded);o=m.items[m.treeIndex-1],h={node:t,isExpand:p,$tree:J},b={onMousedown(e){Ae(e,t)},onMouseup:dt,onClick(e){Pe(e,t)},onDblclick(e){Ve(e,t)},onContextmenu(e){ze(e,t)}};return"tooltip"===C&&(b.onMouseenter=e=>{$e(e,t)},b.onMouseleave=Be),l&&a&&(b.onDragstart=vt,b.onDragend=gt,b.onDragover=ht),(0,_vue.h)("div",Object.assign({key:e,class:["vxe-tree--node-wrapper","node--level-"+N],nodeid:e,title:"title"===C?x:""},b),[(0,_vue.h)("div",{class:["vxe-tree--node-item",{"is--current":g&&e===Q(g),"is-radio--disabled":I,"is-radio--checked":k,"is-checkbox--disabled":L,"is-checkbox--checked":S,"is-checkbox--indeterminate":w}]},[n?(0,_vue.h)("div",{class:"vxe-tree--node-line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--node-line",style:{height:`${Q(f[0])===e?1:(0,_util.calcTreeLine)(J,t,o)}px`}})]):(0,_ui.renderEmptyElement)(J),(0,_vue.h)("div",{class:"vxe-tree--node-item-switcher"},v&&(!r||O?y:U)&&(!d||d(h))?[(0,_vue.h)("div",{class:"vxe-tree--node-item-icon",onClick(e){Ye(e,t)}},E?(0,_vn.getSlotVNs)(E(h)):[(0,_vue.h)("i",{class:H?c||getIcon().TREE_NODE_LOADED:p?s||getIcon().TREE_NODE_OPEN:u||getIcon().TREE_NODE_CLOSE})])]:[]),Nt(t,e,y,N,I,k),Et(t,e,y,N,L,S,w),yt(t,e),(0,_vue.h)("div",{class:"vxe-tree--node-item-inner"},[(0,_vue.h)("div",{class:"vxe-tree--node-item-wrapper"},[(0,_vue.h)("span",{class:"vxe-tree--node-item-title"},D?(0,_vn.getSlotVNs)(D(h)):x)]),M?(0,_vue.h)("div",{class:"vxe-tree--node-item-extra"},(0,_vn.getSlotVNs)(M(h))):(0,_ui.renderEmptyElement)(J)])])])},Mt=e=>{var{loading:t,transform:r,emptyText:l}=A;let a=V.treeExpandedMaps,o=z.value;var i=R.empty;if(!t&&!e.length)return[(0,_vue.h)("div",{class:"vxe-tree--empty-placeholder"},i?i({}):[(0,_vue.h)("div",{class:"vxe-tree--empty-placeholder-content"},(0,_utils.getText)(l||getI18n("vxe.tree.searchEmpty")))])];let n=[];return e.forEach(r?e=>{var t=Q(e);n.push(Dt(e,t))}:e=>{var t=Q(e),e=(n.push(Dt(e,t)),_xeUtils.default.get(e,o));e&&e.length&&a[t]&&n.push(...Mt(e))}),n};let e=(0,_vue.ref)(0),kt=((0,_vue.watch)(()=>A.data?A.data.length:0,()=>{e.value++}),(0,_vue.watch)(()=>A.data,()=>{e.value++}),(0,_vue.watch)(()=>A.rootParentValue,()=>{e.value++}),(0,_vue.watch)(()=>A.rootValues?A.rootValues.length:0,()=>{e.value++}),(0,_vue.watch)(()=>A.rootValues,()=>{e.value++}),(0,_vue.watch)(e,()=>{S(A.data||[])}),(0,_vue.watch)(()=>A.checkNodeKey,e=>{$.selectRadioKey=(0,_utils.enModelValue)(e)}),(0,_vue.ref)(0)),s=((0,_vue.watch)(()=>A.checkNodeKeys?A.checkNodeKeys.length:0,()=>{kt.value++}),(0,_vue.watch)(()=>A.checkNodeKeys,()=>{kt.value++}),(0,_vue.watch)(kt,()=>{var e;e=A.checkNodeKeys||[],V.selectCheckboxMaps={},T(e,!0)}),(0,_vue.watch)(()=>A.filterValue,()=>{I(new Event("filter"))}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>A.height,()=>{s.value++}),(0,_vue.watch)(()=>A.minHeight,()=>{s.value++}),(0,_vue.watch)(()=>A.maxHeight,()=>{s.value++}),(0,_vue.watch)(()=>A.useScrollbar,()=>{s.value++}),(0,_vue.watch)(x,()=>{s.value++}),(0,_vue.watch)(f,()=>{s.value++}),(0,_vue.watch)(Te,()=>{(0,_vue.nextTick)(()=>{s.value++})}),(0,_vue.watch)(ye,()=>{(0,_vue.nextTick)(()=>{s.value++})}),(0,_vue.watch)(s,()=>{ae().then(()=>{ae()})}),(0,_vue.onMounted)(()=>{var{transform:e,drag:t,menuConfig:r,showOverflow:l,lazy:a,loadMethod:o,autoResize:i,useScrollbar:n}=A,d=X.value,l=(l||errLog("vxe.error.errProp",["show-overflow=false","show-overflow=true"]),t&&!e&&errLog("vxe.error.notSupportProp",["drag","transform=false","transform=true"]),d.isCrossTreeDrag&&!d.isCrossDrag&&errLog("vxe.error.reqSupportProp",["drag-config.isCrossTreeDrag","drag-config.isCrossDrag"]),a&&!o&&warnLog("vxe.error.reqSupportProp",["lazy","load-method"]),_ui.VxeUI.getComponent("VxeContextMenu")),t=(r&&!l&&errLog("vxe.error.reqComp",["vxe-context-menu"]),P.value);(n||i)&&(e=ue.value,d=_ui.globalResize.create(()=>{He()}),t&&d.observe(t),e&&d.observe(e),V.scrollObserver=d),i&&(a=E(),o=_ui.globalResize.create(()=>{A.autoResize&&s.value++}),t&&o.observe(t),a&&o.observe(a),V.resizeObserver=o),s.value++,_ui.globalEvents.on(J,"resize",()=>{s.value++})}),(0,_vue.onBeforeUnmount)(()=>{var{scrollObserver:e,resizeObserver:t}=V;t&&t.disconnect(),e&&e.disconnect(),_ui.globalEvents.off(J,"resize"),_xeUtils.default.assign($,createReactData()),_xeUtils.default.assign(V,createInternalData())}),$.selectRadioKey=(0,_utils.enModelValue)(A.checkNodeKey),S(A.data||[]),J.renderVN=()=>{var{loading:e,trigger:t,showLine:r,useScrollbar:l}=A;let{bodyHeight:a,topSpaceHeight:o,treeList:i,tooltipStore:n,xThumbWidth:d,yThumbHeight:s}=$;var u=F.value,c=Y.value,v=W.value,g=_e.value,h=me.value,p=Ce.value,f=be.value,x=X.value,m=G.value;let _=R.loading;var C=R.header,b=R.footer;let T=R.tooltip;var y=H.value,N=Te.value,E=ye.value,D=Me.value,M=ke.value,k=Ne.value,I=Ee.value,S=De.value,w={};return x.isCrossTreeDrag&&!i.length&&(w.onDragover=J.handleCrossTreeNodeDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:P,class:["vxe-tree",l?"ov-x--"+(!1===N?"hidden":"visible"):"",l?"ov-y--"+(!1===E?"hidden":"visible"):"",l?"sx-pos--"+(D?"top":"bottom"):"",l?"sy-pos--"+(M?"left":"right"):"",{["size--"+u]:u,"show--line":r,"is--virtual-scrollbar":l,"ov-padding":l&&y.padding,"ov-x--auto-hide":l&&k,"ov-y--auto-hide":l&&I,"overflow-y":s,"overflow-x":d,"checkbox--highlight":v.highlight,"radio--highlight":c.highlight,"node--hover":h,"node--trigger":"node"===t,"is--loading":e}],style:p},w),[C?(0,_vue.h)("div",{ref:de,class:"vxe-tree--header-wrapper"},C({$tree:J})):(0,_ui.renderEmptyElement)(J),(0,_vue.h)("div",{ref:L,class:"vxe-tree--node-list-wrapper",style:f,onScroll:Fe},[(0,_vue.h)("div",{class:"vxe-tree--y-space",style:{height:a?a+"px":""}}),(0,_vue.h)("div",{ref:ue,class:"vxe-tree--node-list-body",style:{transform:`translateY(${o}px)`}},Mt(i))]),b?(0,_vue.h)("div",{ref:se,class:"vxe-tree--footer-wrapper"},b({$tree:J})):(0,_ui.renderEmptyElement)(J),l?(0,_vue.h)("div",{class:S},[!1===N?(0,_ui.renderEmptyElement)(J):(0,_vue.h)("div",{ref:ce,class:"vxe-scrollbar--track-x",onClick:xt},[(0,_vue.h)("div",{ref:ge,class:"vxe-scrollbar--thumb-x",onPointerdown:_t,onPointermove:Ct,onPointerup:O,onPointercancel:O,onLostpointercapture:O})]),!1===E?(0,_ui.renderEmptyElement)(J):(0,_vue.h)("div",{ref:ve,class:"vxe-scrollbar--track-y",onClick:mt},[(0,_vue.h)("div",{ref:he,class:"vxe-scrollbar--thumb-y",onPointerdown:bt,onPointermove:Tt,onPointerup:O,onPointercancel:O,onLostpointercapture:O})])]):(0,_ui.renderEmptyElement)(J),(()=>{var e=A.drag,{dragNode:t,dragTipText:r}=$,l=X.value;return e?(0,_vue.h)("div",{class:"vxe-tree--drag-wrapper"},[(0,_vue.h)("div",{ref:pe,class:["vxe-tree--drag-node-line",{"is--guides":l.showGuidesStatus}]}),t&&l.showDragTip?(0,_vue.h)("div",{ref:fe,class:"vxe-tree--drag-sort-tip"},[(0,_vue.h)("div",{class:"vxe-tree--drag-sort-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--drag-sort-tip-status"},[(0,_vue.h)("span",{class:["vxe-tree--drag-sort-tip-normal-status",getIcon().TREE_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-tree--drag-sort-tip-sub-status",getIcon().TREE_DRAG_STATUS_SUB_NODE]}),(0,_vue.h)("span",{class:["vxe-tree--drag-sort-tip-disabled-status",getIcon().TREE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-tree--drag-sort-tip-content"},r)])]):(0,_ui.renderEmptyElement)(J)]):(0,_ui.renderEmptyElement)(J)})(),"tooltip"===m.mode?(0,_vue.h)(_tooltip.default,{ref:U,theme:m.theme,enterable:m.enterable,enterDelay:m.enterDelay,leaveDelay:m.leaveDelay,useHtml:m.useHtml,width:m.width,height:m.height,minWidth:m.minWidth,minHeight:m.minHeight,maxWidth:m.maxWidth,maxHeight:m.maxHeight,placement:m.placement,defaultPlacement:m.defaultPlacement,popupClassName:m.popupClassName},T?{content:()=>{var e=n.node;return T({node:e,$tree:J})}}:void 0):(0,_ui.renderEmptyElement)(J),(0,_vue.h)(_loading.default,{class:"vxe-tree--loading",modelValue:e,icon:g.icon,text:g.text},_?{default:()=>_({$tree:J})}:void 0)])},(0,_vue.provide)("$xeTree",J),J},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_util=require("./util"),_log=require("../../ui/src/log"),_store=require("./store"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_anime=require("../../ui/src/anime"),_loading=_interopRequireDefault(require("../../loading")),_tooltip=_interopRequireDefault(require("../../tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("tree"),{menus,scrollbarUtils,getConfig,getI18n,getIcon}=_ui.VxeUI,{getThumbOffsetSize,getThumbSize,getScrollFromClick,getScrollFromDrag}=scrollbarUtils;function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}function createReactData(){return{parentHeight:0,customHeight:0,customMinHeight:0,customMaxHeight:0,currentNode:null,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,selectRadioKey:null,treeList:[],updateExpandedFlag:1,updateCheckboxFlag:1,yThumbHeight:0,xThumbWidth:0,insertNodeFlag:1,removeNodeFlag:1,dragNode:null,dragTipText:"",isCrossDragNode:!1,tooltipStore:{visible:!1,node:null}}}function createInternalData(){return{treeFullData:[],afterTreeList:[],afterVisibleList:[],nodeMaps:{},selectCheckboxMaps:{},indeterminateNodeMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},thumbDragOffset:0,yThumbTop:0,xThumbLeft:0,lastScrollTop:0,lastScrollLeft:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},removeNodeMaps:{},insertNodeMaps:{},lastScrollTime:0}}let crossTreeDragNodeObj=null;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTree",props:{data:Array,autoResize:{type:Boolean,default:()=>getConfig().tree.autoResize},height:[String,Number],maxHeight:{type:[String,Number],default:()=>getConfig().tree.maxHeight},minHeight:{type:[String,Number],default:()=>getConfig().tree.minHeight},emptyText:{type:[String,Number],default:()=>getConfig().tree.emptyText},loading:Boolean,loadingConfig:Object,accordion:{type:Boolean,default:()=>getConfig().tree.accordion},childrenField:{type:String,default:()=>getConfig().tree.childrenField},valueField:{type:String,default:()=>getConfig().tree.valueField},keyField:{type:String,default:()=>getConfig().tree.keyField},parentField:{type:String,default:()=>getConfig().tree.parentField},titleField:{type:String,default:()=>getConfig().tree.titleField},hasChildField:{type:String,default:()=>getConfig().tree.hasChildField},mapChildrenField:{type:String,default:()=>getConfig().tree.mapChildrenField},transform:Boolean,isCurrent:Boolean,isHover:Boolean,expandAll:Boolean,expandNodeKeys:Array,showLine:{type:Boolean,default:()=>getConfig().tree.showLine},trigger:String,indent:{type:Number,default:()=>getConfig().tree.indent},showRadio:{type:Boolean,default:()=>getConfig().tree.showRadio},checkNodeKey:[String,Number],radioConfig:Object,showCheckbox:{type:Boolean,default:()=>getConfig().tree.showCheckbox},checkNodeKeys:Array,checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,visibleMethod:Function,toggleMethod:Function,loadMethod:Function,showOverflow:{type:Boolean,default:()=>getConfig().tree.showOverflow},tooltipConfig:Object,drag:{type:Boolean,default:()=>getConfig().tree.drag},dragConfig:Object,menuConfig:Object,showIcon:{type:Boolean,default:!0},iconOpen:{type:String,default:()=>getConfig().tree.iconOpen},iconClose:{type:String,default:()=>getConfig().tree.iconClose},iconLoaded:{type:String,default:()=>getConfig().tree.iconLoaded},rootParentValue:{type:[String,Number],default:()=>getConfig().tree.rootParentValue},rootValues:{type:Array,default:()=>getConfig().tree.rootValues},filterValue:[String,Number],filterConfig:Object,size:{type:String,default:()=>getConfig().tree.size||getConfig().size},virtualYConfig:Object,useScrollbar:{type:Boolean,default:()=>(0,_utils.getDefaultConfig)(getConfig().tree.useScrollbar,getConfig().useScrollbar)},scrollbarConfig:Object},emits:["update:modelValue","update:checkNodeKey","update:checkNodeKeys","node-click","node-dblclick","current-change","radio-change","checkbox-change","load-success","load-error","scroll","node-dragstart","node-dragover","node-dragend","node-remove-dragend","node-insert-dragend","node-expand","node-menu","menu-click"],setup(A,t){let{emit:l,slots:R}=t;var a=_xeUtils.default.uniqueId();let F=(0,_ui.useSize)(A).computeSize,P=(0,_vue.ref)(),de=(0,_vue.ref)(),se=(0,_vue.ref)(),L=(0,_vue.ref)(),ue=(0,_vue.ref)(),ce=(0,_vue.ref)(),ve=(0,_vue.ref)(),ge=(0,_vue.ref)(),he=(0,_vue.ref)(),pe=(0,_vue.ref)(),fe=(0,_vue.ref)(),U=(0,_vue.ref)(),_=(0,_store.getCrossTreeDragNodeInfo)(),V=createInternalData(),$=(0,_vue.reactive)(createReactData()),o={refElem:P},xe=(0,_vue.computed)(()=>A.titleField||"title"),z=(0,_vue.computed)(()=>A.keyField||"id"),c=(0,_vue.computed)(()=>{var e=z.value;return A.valueField||e}),B=(0,_vue.computed)(()=>A.parentField||"parentId"),j=(0,_vue.computed)(()=>A.childrenField||"children"),q=(0,_vue.computed)(()=>A.mapChildrenField||"mapChildren"),K=(0,_vue.computed)(()=>A.hasChildField||"hasChild"),d=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.virtualYConfig,A.virtualYConfig)),v=(0,_vue.computed)(()=>{var e=i.value.isCurrent;return _xeUtils.default.isBoolean(e)?e:A.isCurrent}),me=(0,_vue.computed)(()=>{var e=i.value.isHover;return _xeUtils.default.isBoolean(e)?e:A.isHover}),Y=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().tree.radioConfig,A.radioConfig)),W=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().tree.checkboxConfig,A.checkboxConfig)),i=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.nodeConfig,A.nodeConfig)),_e=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.loadingConfig,A.loadingConfig)),X=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.dragConfig,A.dragConfig)),G=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.tooltipConfig,A.tooltipConfig)),u=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.menuConfig,A.menuConfig)),Ce=(0,_vue.computed)(()=>{var e=x.value,t=f.value,r={};return(e||t)&&(r["--vxe-ui-scrollbar-y-width"]=(0,_dom.toCssUnit)(e||t),r["--vxe-ui-scrollbar-x-height"]=(0,_dom.toCssUnit)(t||e)),r}),be=(0,_vue.computed)(()=>{var e=A.indent,{customHeight:t,customMinHeight:r,customMaxHeight:l}=$,a=W.value.nodeStyle,o={};return t&&(o.height=(0,_dom.toCssUnit)(t)),r&&(o.minHeight=(0,_dom.toCssUnit)(r)),l&&(o.maxHeight=(0,_dom.toCssUnit)(l)),e&&(o["--vxe-ui-tree-node-indent"]=(0,_dom.toCssUnit)(e)),a&&({indeterminateColor:t,checkedColor:r}=a,t&&(o["--vxe-ui-tree-node-checkbox-indeterminate-color"]=t),r)&&(o["--vxe-ui-tree-node-checkbox-checked-color"]=r),o}),h=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.filterConfig,A.filterConfig)),H=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.scrollbarConfig,A.scrollbarConfig)),r=(0,_vue.computed)(()=>{var e=H.value;return Object.assign({},getConfig().scrollbar.xConfig,e.xConfig,{visible:!1})}),p=(0,_vue.computed)(()=>{var e=H.value;return Object.assign({},getConfig().scrollbar.yConfig,e.yConfig)}),f=(0,_vue.computed)(()=>{var e=H.value,t=r.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.height,e.height),getConfig().scrollbar.height)}),x=(0,_vue.computed)(()=>{var e=H.value,t=p.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.width,e.width),getConfig().scrollbar.width)}),Te=(0,_vue.computed)(()=>{var e=H.value,t=r.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),ye=(0,_vue.computed)(()=>{var e=H.value,t=p.value;return(0,_utils.getDefaultConfig)(t.visible,e.visible)}),Ne=(0,_vue.computed)(()=>{var e=H.value,t=r.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),Ee=(0,_vue.computed)(()=>{var e=H.value,t=p.value;return(0,_utils.getDefaultConfig)((0,_utils.getDefaultConfig)(t.autoHide,e.autoHide),getConfig().scrollbar.autoHide)}),De=(0,_vue.computed)(()=>{var{yThumbHeight:e,xThumbWidth:t}=$,r=Me.value,l=ke.value,a=Te.value,o=ye.value;return _ui.domUtils.buildClass(["vxe-scrollbar is--virtual","ov-x--"+(!1===a?"hidden":"visible"),"ov-y--"+(!1===o?"hidden":"visible"),"sx-pos--"+(r?"top":"bottom"),"sy-pos--"+(l?"left":"right")],{"overflow-y":e,"overflow-x":t})}),Me=(0,_vue.computed)(()=>"top"===r.value.position),ke=(0,_vue.computed)(()=>"left"===p.value.position),m={computeKeyField:z,computeParentField:B,computeChildrenField:j,computeMapChildrenField:q,computeRadioOpts:Y,computeCheckboxOpts:W,computeNodeOpts:i,computeDragOpts:X},J={xID:a,props:A,context:t,internalData:V,reactData:$,getRefMaps:()=>o,getComputeMaps:()=>m},Q=e=>{var t;return e?(t=c.value,e=_xeUtils.default.get(e,t),(0,_utils.enModelValue)(e)):""};let C=e=>{var t=$.selectRadioKey;return t===e};let Ie=e=>{var t=$.updateCheckboxFlag,r=V.selectCheckboxMaps;return!(!t||!r[e])};let Se=e=>{var t=$.updateCheckboxFlag,r=V.indeterminateNodeMaps;return!(!t||!r[e])};let b=e=>{l("update:checkNodeKeys",e)},n=e=>{l("update:checkNodeKey",e)},T=(e,r)=>{let l=V.nodeMaps;if(e){_xeUtils.default.isArray(e)||(e=[e]);let t=[];e.forEach(e=>{e=(0,_utils.enModelValue)(e),e=l[e];e&&t.push(e.item)}),y(t,r)}return(0,_vue.nextTick)()},y=(e,r)=>{var t=A.transform;let l=V.selectCheckboxMaps;var a=q.value,o=j.value,i=W.value.checkStrictly,n=e=>{var t=Q(e);r?l[t]||(l[t]=e):l[t]&&delete l[t]};i?e.forEach(n):_xeUtils.default.eachTree(e,n,{children:t?a:o}),$.updateCheckboxFlag++,oe()},N=(e,t,r)=>{t?r[e]||(r[e]=!0):r[e]&&delete r[e]},Z=(e,t,r)=>{l(e,(0,_ui.createEvent)(r,{$tree:J},t))},E=()=>{var e=P.value;return e?e.parentElement:null},D=e=>{var t=$.parentHeight,e=A[e];let r=0;return r=e?"100%"===e||"auto"===e?t:(r=(0,_dom.isScale)(e)?Math.floor((_xeUtils.default.toInteger(e)||1)/100*t):_xeUtils.default.toNumber(e),Math.max(40,r)):r},M=()=>{$.customHeight=D("height"),$.customMinHeight=D("minHeight"),$.customMaxHeight=D("maxHeight"),!$.scrollYLoad||$.customHeight||$.customMinHeight||($.customHeight=300)},ee=()=>{var e=V.treeFullData;let n=c.value;var t=j.value;let d={};_xeUtils.default.eachTree(e,(e,t,r,l,a,o)=>{let i=Q(e);i||(i=getNodeUniqueId(),_xeUtils.default.set(e,n,i)),d[i]={item:e,index:t,$index:-1,_index:-1,items:r,parent:a,nodes:o,level:o.length-1,treeIndex:t,lineCount:0,treeLoaded:!1}},{children:t}),V.nodeMaps=d},te=()=>{var e=A.transform;let{afterTreeList:t,nodeMaps:d}=V;var r=j.value,l=q.value;let s=0;_xeUtils.default.eachTree(t,(e,t,r,l,a,o)=>{var i=Q(e),n=d[i];n?(n.items=r,n.treeIndex=t,n._index=s):(n={item:e,index:t,$index:-1,_index:s,items:r,parent:a,nodes:o,level:o.length-1,treeIndex:t,lineCount:0,treeLoaded:!1},d[i]=n),s++},{children:e?l:r})},k=()=>{var{transform:t,filterValue:r}=A,{treeFullData:l,lastFilterValue:e}=V;let a=xe.value;var o=j.value,i=q.value;let{autoExpandAll:n,beforeFilterMethod:d,filterMethod:s,afterFilterMethod:u}=h.value,c=l,v=c,g="";if(r||0===r){g=""+r;r=s?e=>s({$tree:J,node:e,filterValue:g}):e=>-1<String(e[a]).toLowerCase().indexOf(g.toLowerCase());let e={$tree:J,filterValue:g};d&&d(e),c=t?v=_xeUtils.default.searchTree(l,r,{original:!0,isEvery:!0,children:o,mapChildren:i}):l.filter(r),V.lastFilterValue=g,(0,_vue.nextTick)(()=>{n?J.setAllExpandNode(!0).then(()=>{u&&u(e)}):u&&u(e)})}else{if(t&&(v=_xeUtils.default.searchTree(l,()=>!0,{original:!0,isEvery:!0,children:o,mapChildren:i}),c=v,e)){let e={$tree:J,filterValue:g};d&&d(e),(0,_vue.nextTick)(()=>{n?J.clearAllExpandNode().then(()=>{u&&u(e)}):u&&u(e)})}V.lastFilterValue=""}V.afterVisibleList=c,V.afterTreeList=v,te()},g=()=>{var e=A.transform;let{afterTreeList:t,treeExpandedMaps:d}=V;var r=q.value;let s={};if(e){let n=[];return _xeUtils.default.eachTree(t,(e,t,r,l,a)=>{var o=Q(e),i=Q(a);(!a||s[i]&&d[i])&&(s[o]=1,n.push(e))},{children:r}),w(n),V.afterVisibleList=n}return V.afterVisibleList},re=e=>{var t=$.scrollYLoad;let{scrollYStore:r,nodeMaps:l}=V,a=V.afterVisibleList;e&&(k(),a=g());e=t?a.slice(r.startIndex,r.endIndex):a.slice(0);e.forEach((e,t)=>{e=Q(e),e=l[e];e&&(e.$index=t)}),$.treeList=e},I=_xeUtils.default.debounce(()=>re(!0),350,{trailing:!0}),S=e=>{let{expandAll:t,expandNodeKeys:r,transform:l,rootParentValue:a,rootValues:o}=A,{initialized:i,scrollYStore:n}=V;var d=z.value,s=B.value,u=j.value,d=l?_xeUtils.default.toArrayTree(e,{key:d,parentKey:s,mapChildren:u,rootParentValue:a,rootValues:o}):e?e.slice(0):[],s=(V.treeFullData=d,V.insertNodeMaps={},$.insertNodeFlag++,V.removeNodeMaps={},$.removeNodeFlag++,Object.assign(n,{startIndex:0,endIndex:1,visibleSize:0}),w(d));return ee(),re(!0),!s||A.height||A.maxHeight||errLog("vxe.error.reqProp",["height | max-height | virtual-y-config.enabled=false"]),Le().then(()=>{i||e&&e.length&&(V.initialized=!0,t?J.setAllExpandNode(!0):r&&r.length&&J.setExpandByNodeId(r,!0),T(A.checkNodeKeys||[],!0)),M();{let{lastScrollLeft:e,lastScrollTop:t}=V;Re().then(()=>{if(e||t)return V.lastScrollLeft=0,V.lastScrollTop=0,scrollTo(e,t)})}})},w=e=>{var t=A.transform,r=d.value,e=e||V.treeFullData,t=!!t&&!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<e.length);return $.scrollYLoad=t},le=()=>{var e=$.scrollYLoad,{scrollYStore:t,afterVisibleList:r}=V;$.bodyHeight=e?r.length*t.rowHeight:0,$.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},we=()=>{re(),le()},Le=()=>(0,_vue.nextTick)().then(()=>{var e=$.scrollYLoad,t=V.scrollYStore,r=ue.value,l=d.value;let a=0,o;(o=r?o||r.children[0]:o)&&(a=o.offsetHeight),a=Math.max(20,a),t.rowHeight=a,(e?(r=L.value,e=Math.max(8,r?Math.ceil(r.clientHeight/a):0),r=Math.max(0,Math.min(2,_xeUtils.default.toNumber(l.oSize))),t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+r,t.endIndex),we):le)()}),Ue=(e,t)=>{var r=L.value;return e&&!_xeUtils.default.isNumber(e)&&(t=e.top,e=e.left),r&&(_xeUtils.default.isNumber(e)&&(r.scrollLeft=e),_xeUtils.default.isNumber(t))&&(r.scrollTop=t),$.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},He=()=>{pt(),ft()},ae=()=>{var t=V.scrollYStore,t=t.rowHeight,r=P.value;if(r&&r.clientWidth&&r.clientHeight){let e=E();var l,r=de.value,a=se.value,r=r?r.clientHeight:0,a=a?a.clientHeight:0;return(e=e&&(0,_dom.hasClass)(e,"vxe-scrollbar--view-inner")?e.parentElement:e)&&(l=(0,_dom.getPaddingTopBottomSize)(e),$.parentHeight=Math.max(r+a+t,e.clientHeight-l-r-a)),He(),M(),Le().then(()=>{M(),le()})}return(0,_vue.nextTick)()},Oe=()=>{var e=V.scrollYStore,{startIndex:t,endIndex:r,visibleSize:l,offsetSize:a,rowHeight:o}=e,i=L.value;i&&(i=i.scrollTop,i=Math.floor(i/o),o=Math.max(0,i-1-a),a=i+l+a,!(i<=t||r-l-1<=i)||t===o&&r===a||(e.startIndex=o,e.endIndex=a,we()))},Fe=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,l=t!==V.lastScrollLeft,a=r!==V.lastScrollTop;ft(),V.lastScrollTop=r,V.lastScrollLeft=t,$.scrollYLoad&&Oe(),V.lastScrollTime=Date.now(),Z("scroll",{scrollLeft:t,scrollTop:r,isX:l,isY:a},e)},Re=()=>{var e=L.value;return e&&(e.scrollTop=0,e.scrollLeft=0),V.lastScrollTop=0,(V.lastScrollLeft=0,_vue.nextTick)()},Ae=(e,t)=>{var r=A.drag,l=V.nodeMaps,a=e.currentTarget,{trigger:o,isCrossDrag:i,isPeerDrag:n,disabledMethod:d}=X.value,s=Q(t);let u=r?"node"===o:!1;(0,_dom.getEventTargetNode)(e,a,"vxe-tree--node-item-switcher").flag||(r={node:t,$tree:J},o=l[s],!u)||!(i||n||o&&!o.level)||d&&d(r)||nt(e,{node:t})},Pe=(e,t)=>{var{showRadio:r,showCheckbox:l,trigger:a}=A,o=Y.value,i=W.value;let n=!1,d=!1,s=!1,u=!1;v.value?(n=!0,Xe(e,t)):$.currentNode&&($.currentNode=null),"node"===a&&(u=!0,Ye(e,t)),r&&"node"===o.trigger&&(d=!0,Ge(e,t)),l&&"node"===i.trigger&&(s=!0,We(e,t)),Z("node-click",{node:t,triggerCurrent:n,triggerRadio:d,triggerCheckbox:s,triggerExpand:u},e)},Ve=(e,t)=>{Z("node-dblclick",{node:t},e)},$e=(l,a)=>{var o=U.value;if(o){var i=$.tooltipStore,n=V.tipTimeout,d=l.currentTarget,{showAll:s,contentMethod:u}=G.value,n=(n&&(clearTimeout(n),V.tipTimeout=void 0),d.querySelector(".vxe-tree--node-item-title")),d=d.querySelector(".vxe-tree--node-item-wrapper");if(d){var c=_xeUtils.default.toString(d.textContent).trim(),v=d.scrollWidth>d.clientWidth;let e=!1,t=null,r="";u&&(t=u({node:a,$event:l,$tree:J})),s?_xeUtils.default.eqNull(t)?(e=!0,r=c):""!==t&&!1!==t&&(e=!0,r=""+t):r=_xeUtils.default.eqNull(t)?(e=v,c):""!==t&&!1!==t?(e=!0,""+t):c,e&&r&&(u=(0,_utils.getText)(r),i.visible=!0,i.node=a,o.open)&&o.open((v?d:n)||d,u)}}},ze=()=>{let e=U.value;var t=G.value;e&&e.setActived&&e.setActived(!1),t.enterable?V.tipTimeout=setTimeout(()=>{(e=U.value)&&e.isActived&&!e.isActived()&&Be(),V.tipTimeout=void 0},t.leaveDelay):Be()},Be=()=>{var e=$.tooltipStore;return e.visible&&(e.visible=!1,e.node=null,e=U.value)&&e.close(),(0,_vue.nextTick)()},je=(l,a)=>{var e=A.menuConfig,t=v.value,r=u.value;(e?(0,_utils.isEnableConf)(r):r.enabled)&&({options:e,visibleMethod:r}=r,r&&!r({$tree:J,options:e,node:a})||(t?Xe(l,a):$.currentNode&&($.currentNode=null),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(l,{options:e,events:{optionClick(e){var t=e.option,r=menus.get(t.code),r=r?r.treeMenuMethod:null,t={menu:t,node:a,$event:l,$tree:J,option:t};r&&r(t,l),Z("menu-click",t,e.$event)}}}))),Z("node-menu",{node:a},l)},qe=o=>{var e=W.value;let r=A.loadMethod,i=e.checkStrictly;return new Promise(e=>{var t=V.nodeMaps;let l=Q(o),a=t[l];r?(V.treeExpandLazyLoadedMaps[l]=!0,Promise.resolve(r({$tree:J,node:o})).then(r=>{var e=V.treeExpandLazyLoadedMaps;if(a&&(a.treeLoaded=!0),e[l]&&(e[l]=!1),r=_xeUtils.default.isArray(r)?r:[])return J.loadChildrenNode(o,r).then(e=>{var t=V.treeExpandedMaps;return e.length&&!t[l]&&(t[l]=!0),$.updateExpandedFlag++,!i&&J.isCheckedByCheckboxNodeId(l)&&y(e,!0),Z("load-success",{node:o,data:r},new Event("load-success")),(0,_vue.nextTick)()});Z("load-success",{node:o,data:r},new Event("load-success"))}).catch(e=>{var t=V.treeExpandLazyLoadedMaps;a&&(a.treeLoaded=!1),t[l]&&(t[l]=!1),Z("load-error",{node:o,data:e},new Event("load-error"))}).finally(()=>(g(),re(),ae()))):(a&&(a.treeLoaded=!0),e())})},Ke=(e,t)=>{let{lazy:l,accordion:r,toggleMethod:a}=A,{treeExpandLazyLoadedMaps:o,treeExpandedMaps:i}=V,n=V.nodeMaps,d=j.value,s=K.value,u=[],c=a?e.filter(e=>a({$tree:J,expanded:t,node:e})):e;r&&(c=c.length?[c[c.length-1]]:[],e=Q(c[0]),e=n[e])&&e.items.forEach(e=>{e=Q(e);i[e]&&delete i[e]});let v=[];return t?c.forEach(e=>{var t,r=Q(e);i[r]||(t=n[r],l&&e[s]&&!t.treeLoaded&&!o[r]?u.push(qe(e)):e[d]&&e[d].length&&(i[r]=!0,v.push(e)))}):c.forEach(e=>{var t=Q(e);i[t]&&(delete i[t],v.push(e))}),$.updateExpandedFlag++,g(),re(),Promise.all(u).then(()=>ae())},Ye=(e,t)=>{var r=A.lazy,{treeExpandedMaps:l,treeExpandLazyLoadedMaps:a}=V,o=Q(t),l=!l[o];e.stopPropagation(),r&&a[o]||Ke([t],l),Z("node-expand",{node:t,expanded:l},e)},oe=()=>{var e=A.transform;let{selectCheckboxMaps:d,indeterminateNodeMaps:s,afterTreeList:t}=V,o=j.value;var r=q.value;let{checkStrictly:l,checkMethod:u}=W.value;if(!l){let l={},a=[];_xeUtils.default.eachTree(t,e=>{var t=Q(e),r=e[o];r&&r.length&&!l[t]&&(l[t]=1,a.unshift([e,t,r]))},{children:e?r:o}),a.forEach(e=>{var t=e[0],r=e[1],e=e[2];let l=0,a=0,o=0;var i=e.length;e.forEach(u?e=>{var t=Q(e),r=d[t];u({$tree:J,node:e})?(r?l++:s[t]&&a++,o++):r?l++:s[t]&&a++}:e=>{e=Q(e);d[e]?l++:s[e]&&a++,o++});let n=!1;e=!(n=0<i?0<o?(0<l||0<a)&&l>=o:0<l&&l>=o||!!d[r]:d[r])&&(0<l||0<a);n?(d[r]=t,s[r]&&delete s[r]):(d[r]&&delete d[r],e?s[r]=t:s[r]&&delete s[r])}),$.updateCheckboxFlag++}},We=(e,r)=>{e.preventDefault(),e.stopPropagation();var l=A.transform;let{selectCheckboxMaps:a,nodeMaps:t}=V;var o=j.value,i=q.value,{checkStrictly:n,checkMode:d,checkMethod:s}=W.value,u=Q(r),c=_xeUtils.default.get(r,o),c=c&&0<c.length,v=(t[u]||{}).level,s=s?!s({$tree:J,node:r}):!ne(d,c,v);if(!s){let t=!1;a[u]?delete a[u]:(t=!0,a[u]=r),n||_xeUtils.default.eachTree(_xeUtils.default.get(r,l?i:o),e=>{e=Q(e);t?a[e]||(a[e]=!0):a[e]&&delete a[e]},{children:l?i:o}),$.updateCheckboxFlag++,oe();d=_xeUtils.default.keys(a).map(_utils.deModelValue);b(d),Z("checkbox-change",{node:r,value:d,checked:t},e)}},Xe=(e,t)=>{e.preventDefault();var{currentMethod:r,trigger:l}=i.value,a=j.value,a=_xeUtils.default.get(t,a),a=a&&a.length;let o=!!r;if("child"===l){if(a)return}else if("parent"===l&&!a)return;(o=r?!r({node:t}):o)||($.currentNode=t,Z("current-change",{node:t,checked:!0},e))},Ge=(e,t)=>{e.preventDefault(),e.stopPropagation();var r=V.nodeMaps,l=Y.value,a=j.value,{checkMode:l,checkMethod:o}=l,i=Q(t),a=_xeUtils.default.get(t,a),a=a&&0<a.length,r=(r[i]||{}).level;(o?o({$tree:J,node:t}):ne(l,a,r))&&(o=(0,_utils.deModelValue)(i),$.selectRadioKey=i,n(o),Z("radio-change",{node:t,value:o,checked:!0},e))},Je=(e,t)=>{let{treeFullData:i,nodeMaps:n}=V,d=z.value,s=B.value,u=j.value,c=q.value,v=t?"push":"unshift";e.forEach(r=>{let t=r[s];var e=Q(r),l=t?_xeUtils.default.findTree(i,e=>t===e[d],{children:c}):null,a=(0,_util.getItemCacheObj)(r);if(l){var l=l.item,o=n[Q(l)],o=o?o.level:0;let e=l[u],t=l[c];_xeUtils.default.isArray(e)||(e=l[u]=[]),_xeUtils.default.isArray(t)||(t=l[c]=[]),a.parent=l,a.items=e,a.level=o,e[v](r),t[v](r)}else t&&warnLog("vxe.error.unableInsert"),i[v](r);n[e]=a})},Qe=(t,r,n)=>{var d=A.transform;let{treeFullData:e,nodeMaps:s,removeNodeMaps:l,insertNodeMaps:a}=V,u=z.value,c=B.value,v=j.value,g=q.value;if(!d)return errLog("vxe.error.reqSupportProp",["insert() | insertAt() | insertNextAt()","transform"]),Promise.resolve({node:null,nodes:[]});_xeUtils.default.isArray(t)||(t=[t]);let h=r;if((_xeUtils.default.isString(r)||_xeUtils.default.isNumber(r))&&(d=s[r])&&(h=d.item),!t.length)return Promise.resolve({node:null,nodes:[]});let o=t.map(e=>_xeUtils.default.assign({[g]:[],[v]:[]},e));r=_xeUtils.default.toArrayTree(o,{key:u,parentKey:c,children:v});if(_xeUtils.default.eqNull(h))Je(o,!1);else if(-1===h)Je(o,!0);else{let i=_xeUtils.default.findTree(e,e=>h[u]===e[u],{children:g});if(i){let l=i.parent,a=l?l[g]:e;d=s[Q(l)];let o=d?d.level:0;if(r.forEach((e,t)=>{l?e[c]!==l[u]&&(errLog("vxe.error.errProp",[c+"="+e[c],c+"="+l[u]]),e[c]=l[u]):null!==e[c]&&(_xeUtils.default.eqNull(e[c])||errLog("vxe.error.errProp",[c+"="+e[c],"null"]),e[c]=null);let r=i.index+t;n&&(r+=1),a.splice(r,0,e)}),_xeUtils.default.eachTree(r,e=>{var t=Q(e),r=(0,_util.getItemCacheObj)(e);r.level=o,e[v]&&(e[g]=e[v]),s[t]=r},{children:v}),l){t=_xeUtils.default.findTree(e,e=>h[u]===e[u],{children:v});if(t){d=t.items;let e=t.index;n&&(e+=1),d.splice(e,0,...r)}}}else warnLog("vxe.error.unableInsert"),Je(o,!0)}return _xeUtils.default.eachTree(r,e=>{var t=Q(e);l[t]?(delete l[t],a[t]&&delete a[t]):a[t]=e},{children:g}),$.removeNodeFlag++,$.insertNodeFlag++,ee(),re(!0),te(),oe(),$.scrollYLoad&&le(),(0,_vue.nextTick)().then(()=>({node:o.length?o[o.length-1]:null,nodes:o}))},Ze=(e,t,r,l)=>{var a=A.transform,o=V.nodeMaps;let i=z.value,n=B.value;if(!a)return errLog("vxe.error.reqSupportProp",["insertChild() | insertChildAt() | insertChildNextAt()","transform"]),Promise.resolve({node:null,nodes:[]});_xeUtils.default.isArray(e)||(e=[e]);let d=t;return(_xeUtils.default.isString(t)||_xeUtils.default.isNumber(t))&&(a=o[t])&&(d=a.item),Qe(e.map(e=>Object.assign({},e,{[n]:d[i]})),r,l)},et={dispatchEvent:Z,getNodeId:Q,getNodeById(e){var t=V.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},loadData(e){return S(e||[])},reloadData(e){return S(e||[])},clearCurrentNode(){return($.currentNode=null,_vue.nextTick)()},getCurrentNodeId(){var e=$.currentNode;return e?(0,_utils.deModelValue)(Q(e)):null},getCurrentNode(){var e=$.currentNode,t=V.nodeMaps;if(e){t=t[Q(e)];if(t)return t.item}return null},setCurrentNodeId(e){var t=V.nodeMaps,t=t[(0,_utils.enModelValue)(e)];return $.currentNode=t?t.item:null,(0,_vue.nextTick)()},setCurrentNode(e){return $.currentNode=e,(0,_vue.nextTick)()},clearRadioNode(){return $.selectRadioKey=null,n(null),(0,_vue.nextTick)()},getRadioNodeId(){return $.selectRadioKey||null},getRadioNode(){var e=$.selectRadioKey,t=V.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},setRadioNodeId(e){return $.selectRadioKey=(0,_utils.enModelValue)(e),n(e),(0,_vue.nextTick)()},setRadioNode(e){return e?(e=Q(e),$.selectRadioKey=e,n((0,_utils.deModelValue)(e))):n(null),(0,_vue.nextTick)()},setCheckboxNode(e,t){return e&&(_xeUtils.default.isArray(e)||(e=[e]),y(e,t)),b(J.getCheckboxNodeIds()),(0,_vue.nextTick)()},setCheckboxByNodeId(e,t){return T(e,t),b(J.getCheckboxNodeIds()),(0,_vue.nextTick)()},getCheckboxNodeIds(){var e=V.selectCheckboxMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{r.push((0,_utils.deModelValue)(t))}),r},getCheckboxNodes(){return J.getCheckboxRecords()},getCheckboxRecords(){let{nodeMaps:r,selectCheckboxMaps:e}=V,l=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&l.push(t.item)}),l},clearCheckboxNode(){return V.indeterminateNodeMaps={},V.selectCheckboxMaps={},$.updateCheckboxFlag++,b([]),oe(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:[],checkNodes:[]}))},setAllCheckboxNode(e){var t=A.transform,{afterTreeList:r,afterVisibleList:l}=V;let a={};var o=j.value,i=q.value;let n=[],d=[];return e&&_xeUtils.default.eachTree(t?r:l,e=>{var t=Q(e);n.push(t),d.push(e),a[t]=!0},{children:t?i:o}),V.indeterminateNodeMaps={},V.selectCheckboxMaps=a,$.updateCheckboxFlag++,oe(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:n,checkNodes:d}))},clearExpandNode(){return et.clearAllExpandNode()},clearAllExpandNode(){let e=$.scrollYLoad;var{nodeMaps:t,scrollYStore:r}=V;return _xeUtils.default.each(t,e=>{e.treeLoaded=!1}),V.treeExpandedMaps={},$.updateExpandedFlag++,$.topSpaceHeight=0,r.startIndex=0,r.endIndex=1,g(),re(),ae().then(()=>(e&&Oe(),ae()))},setExpandByNodeId(e,t){let r=V.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_utils.enModelValue)(e);N(e,t,r)}),$.updateExpandedFlag++),g(),re(),ae()},getExpandNodeIds(){var e=V.treeExpandedMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{r.push((0,_utils.deModelValue)(t))}),r},getExpandNodes(){let{nodeMaps:r,treeExpandedMaps:e}=V,l=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&l.push(t.item)}),l},setExpandNode(e,t){let r=V.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=Q(e);N(e,t,r)}),$.updateExpandedFlag++),g(),re(),ae()},toggleExpandByNodeId(e){let t=V.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_utils.enModelValue)(e);N(e,!t[""+e],t)}),$.updateExpandedFlag++),g(),re(),ae()},toggleExpandNode(e){let t=V.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=Q(e);N(e,!t[e],t)}),$.updateExpandedFlag++),g(),re(),ae()},setAllExpandNode(e){var t=A.transform;let r=$.scrollYLoad,{scrollYStore:l,treeExpandedMaps:a}=V,o=j.value;var i=q.value;return e?_xeUtils.default.eachTree(V.afterTreeList,e=>{var t=_xeUtils.default.get(e,o);t&&t.length&&(t=Q(e),a[t]=!0)},{children:t?i:o}):V.treeExpandedMaps={},$.updateExpandedFlag++,$.topSpaceHeight=0,l.startIndex=0,l.endIndex=1,g(),re(),ae().then(()=>(r&&Oe(),ae()))},reloadExpandNode(e){var t=A.lazy;return t?(et.clearExpandLoaded(e),qe(e)):ae()},clearExpandLoaded(e){var t=A.lazy,r=V.nodeMaps;return t&&(t=r[Q(e)])&&(t.treeLoaded=!1),ae()},loadChildrenNode(t,e){let{lazy:r,transform:l}=A,n=V.nodeMaps;if(!r)return Promise.resolve([]);let a=j.value,o=q.value,d=n[Q(t)],s=d?d.level:0,u=d?d.nodes:[];return(e=>{let r=c.value;return Promise.resolve(e.map(e=>{var t,e=Object.assign({},e);return Q(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,r,t)),e}))})(e).then(e=>(_xeUtils.default.eachTree(e,(e,t,r,l,a,o)=>{var i=Q(e);n[i]={item:e,index:-1,$index:-1,_index:-1,items:r,parent:a||d.item,nodes:u.concat(o),level:s+o.length,treeIndex:-1,lineCount:0,treeLoaded:!1}},{children:a}),t[a]=e,l&&(t[o]=e),te(),e))},isExpandByNode:e=>{var t=$.updateExpandedFlag,r=V.treeExpandedMaps,e=Q(e);return!(!t||!r[e])},isCheckedByRadioNodeId:C,isCheckedByRadioNode:e=>C(Q(e)),isCheckedByCheckboxNodeId:Ie,isIndeterminateByCheckboxNode:e=>Se(Q(e)),isCheckedByCheckboxNode:e=>Ie(Q(e)),getCheckboxIndeterminateNodes(){let{nodeMaps:r,indeterminateNodeMaps:e}=V,l=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&l.push(t.item)}),l},recalculate:ae,getFullData(){var e=V.treeFullData;return e.slice(0)},scrollTo:Ue,scrollToNode(e){return J.scrollToNodeId(Q(e))},scrollToNodeId(t){var e=A.transform;let{scrollYStore:r,afterTreeList:l}=V;var a=j.value,o=q.value;let i=L.value;if(t&&i)if(e){e=_xeUtils.default.findTree(l,e=>Q(e)===t,{children:e?o:a});if(e)return J.setExpandNode(e.nodes,!0).then(()=>{var e=_xeUtils.default.findIndexOf(V.afterVisibleList,e=>Q(e)===t);if(-1<e)return e=Math.max(0,(e-1)*r.rowHeight),Ue(i.scrollLeft,e)})}else{o=i.querySelector(`.vxe-tree--node-wrapper[nodeid="${t}"]`);if(o)return Ue(i.scrollLeft,o.offsetTop)}return ae()},clearScroll:Re,insert(e){return Qe(e,null)},insertAt(e,t){return Qe(e,t)},insertNextAt(e,t){return Qe(e,t,!0)},insertChild(e,t){return Ze(e,t,null)},insertChildAt(e,t,r){return Ze(e,t,r)},insertChildNextAt(e,t,r){return Ze(e,t,r,!0)},getInsertRecords(){var e=V.insertNodeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isInsertByNode(e){e=Q(e);return!!$.insertNodeFlag&&!!V.insertNodeMaps[e]},remove(e){var t=A.transform;let{treeFullData:r,insertNodeMaps:l,removeNodeMaps:a}=V,o=j.value,i=q.value;if(!t)return errLog("vxe.error.reqSupportProp",["remove()","transform"]),Promise.resolve({node:null,nodes:[]});let n=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=r,e.length?(e.forEach(e=>{var t;J.isInsertByNode(e)||(t=Q(e),a[t]=e)}),r===e?(e=n=r.slice(0),V.treeFullData=[]):e.forEach(e=>{let t=Q(e);var e=_xeUtils.default.findTree(r,e=>t===Q(e),{children:i}),e=(e&&(e=e.items.splice(e.index,1),n.push(e[0])),_xeUtils.default.findTree(r,e=>t===Q(e),{children:o}));e&&(e=e.items.splice(e.index,1),n.push(e[0]))}),e.forEach(e=>{e=Q(e);l[e]&&delete l[e]}),$.removeNodeFlag++,$.insertNodeFlag++,ee(),re(!0),te(),oe(),$.scrollYLoad&&le(),(0,_vue.nextTick)().then(()=>ae()).then(()=>({node:n.length?n[n.length-1]:null,nodes:n}))):Promise.resolve({node:null,nodes:[]})},getRemoveRecords(){var e=V.removeNodeMaps;let t=[];return _xeUtils.default.each(e,e=>{t.push(e)}),t},isRemoveByNode(e){e=Q(e);return!!$.removeNodeFlag&&!!V.removeNodeMaps[e]},closeTooltip:Be,getRecordset(){return{insertRecords:J.getInsertRecords(),removeRecords:J.getRemoveRecords()}}},ie=()=>{ut(),ot(),ae()},tt=()=>{var e=P.value;if(e){let t="node--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},rt=e=>{var t=P.value;if(t){e=Q(e);_xeUtils.default.arrayEach(t.querySelectorAll(`.vxe-tree--node-wrapper[nodeid="${e}"]`),e=>{(0,_dom.addClass)(e,"node--drag-origin")})}},lt=e=>{var t=$.dragNode,r=X.value.tooltipMethod;let l="";l=r?""+(r({$tree:J,node:t})||""):getI18n("vxe.tree.dragTip",[e.textContent||""]),$.dragTipText=l},at=()=>{var e=fe.value,t=pe.value;e&&(e.style.display=""),t&&(t.style.display="")},ot=()=>{crossTreeDragNodeObj=null,_.node=null},it=()=>{var e=$.dragNode;e&&(at(),tt(),ot(),$.dragNode=null)},nt=(e,t)=>{e.stopPropagation();var r=t.node,{isCrossTreeDrag:l,trigger:a,dragStartMethod:o}=X.value,i=e.currentTarget,a="node"===a?i:i.parentElement.parentElement;tt(),o&&!o(t)?(a.draggable=!1,$.dragNode=null,ot(),at()):(l&&(_.node=r,crossTreeDragNodeObj={$oldTree:J,$newTree:null}),$.dragNode=r,$.isCrossDragNode=!1,a.draggable=!0,rt(r),lt(a),Z("node-dragstart",t,e))},dt=()=>{it()},st=(e,t,r,l)=>{var a=P.value;if(a){var o=V.prevDragToChild,i=a.getBoundingClientRect(),n=a.clientHeight;if(t){var d=pe.value;if(d)if(r){var s=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,s.y-i.y);t+e>n&&(e=n-t),d.style.display="block",d.style.top=t+"px",d.style.height=e+"px",d.setAttribute("drag-pos",l),d.setAttribute("drag-to-child",o?"y":"n")}else d.style.display=""}s=fe.value;s&&(s.style.display="block",s.style.top=Math.min(a.clientHeight-a.scrollTop-s.clientHeight,e.clientY-i.y)+"px",s.style.left=Math.min(a.clientWidth-a.scrollLeft-s.clientWidth-1,e.clientX-i.x)+"px",s.setAttribute("drag-status",r?o?"sub":"normal":"disabled"))}},ut=()=>{var e=P.value;at(),tt(),(0,_anime.clearRowAnimate)(e,[".vxe-tree--node-wrapper"]),V.prevDragToChild=!1,$.dragNode=null},ct=(v,g,h,p,e)=>{let f=A.transform,{nodeMaps:x,treeFullData:m,afterVisibleList:_}=V;var C=X.value;let{animation:b,isCrossDrag:T,isPeerDrag:y,isSelfToChildDrag:N,dragEndMethod:t,dragToChildMethod:E}=C;C=t||(C?C.dragEndMethod:null);let D=z.value,M=B.value,k=j.value,I=q.value,S="bottom"===p?1:0,w=P.value,L={status:!1};if(w&&h&&g&&h!==g){var U={oldNode:g,newNode:h,dragNode:g,dragPos:p,dragToChild:!!e,offsetIndex:S};let r=Q(g);var H=x[r]||{};let s=H._index;var O=Q(h);let u=0,c=-1,l=(b&&(F=w.querySelector(`.vxe-tree--node-wrapper[nodeid="${O}"]`),R=w.querySelector(`.vxe-tree--node-wrapper[nodeid="${r}"]`),(F=F||R)&&(u=F.offsetHeight),R)&&(c=R.offsetTop),-1),a=-1,t={},o=!1,i=H,n=x[O];if(f&&i&&n){var F=i.level,R=n.level;if(_xeUtils.default.eachTree([g],e=>{t[Q(e)]=e},{children:I}),F&&R)if(y&&!T){if(i.item[M]!==n.item[M])return ie(),L}else{if(!T)return ie(),L;if(t[O]&&(o=!0,!T||!N))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),ie(),L}else if(F){if(!T)return ie(),L}else if(R){if(!T)return ie(),L;if(t[O]&&(o=!0,!T||!N))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),ie(),L}}let d=N&&E?E(U):e;return Promise.resolve(!C||C(U)).then(e=>{var t;return e?(f?i&&n&&(e=_xeUtils.default.toTreeArray(V.afterTreeList,{updated:!1,key:D,parentKey:M,children:I}),t=J.findNodeIndexOf(e,g),e.splice(t,1),t=J.findNodeIndexOf(e,h)+S,e.splice(t,0,g),o&&T&&N&&_xeUtils.default.each(g[k],e=>{e[M]=g[M]}),g[M]=d?h[D]:h[M],V.treeFullData=_xeUtils.default.toArrayTree(e,{key:D,parentKey:M,children:k,mapChildren:I})):(l=J.findNodeIndexOf(_,g),t=J.findNodeIndexOf(m,g),_.splice(l,1),m.splice(t,1),e=J.findNodeIndexOf(_,h),t=J.findNodeIndexOf(m,h),a=e+S,e=t+S,_.splice(a,0,g),m.splice(e,0,g)),ee(),re(f),f||te(),oe(),$.scrollYLoad&&le(),v&&Z("node-dragend",{oldNode:g,newNode:h,dragNode:g,dragPos:p,dragToChild:d,offsetIndex:S,_index:{newIndex:a,oldIndex:l}},v),(0,_vue.nextTick)().then(()=>{if(b){var l=$.treeList,a=V.nodeMaps,o=a[r],i=o._index,n=l[0],a=a[Q(n)],n=w;if(a){var a=a._index,d=a+l.length;let e=-1,t=-1,r=1;s<a?(e=0,t=i-a):s>d?(d=o.$index,e=d+1,t=l.length,r=-1):i>s?(e=s-a,t=e+i-s):(e=i-a,t=e+s-i+1,r=-1);o=l.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=Q(e);t.push(`.vxe-tree--node-wrapper[nodeid="${e}"]`)});d=n.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(d,r*u)}}a=[`.vxe-tree--node-wrapper[nodeid="${r}"]`],i=n.querySelectorAll(a.join(",")),l=i[0];-1<c&&l&&(0,_anime.moveRowAnimateToTb)(i,c-l.offsetTop)}ae()}).then(()=>({status:!0}))):L}).catch(()=>L).then(e=>(ie(),e))}return ie(),Promise.resolve(L)},vt=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},gt=e=>{var t=A.lazy,r=$.dragNode,{nodeMaps:l,prevDragNode:a,prevDragPos:o,prevDragToChild:i}=V,n=K.value,{isCrossDrag:d,isCrossTreeDrag:s}=X.value;if(s&&crossTreeDragNodeObj){s=crossTreeDragNodeObj.$newTree;if(s&&s.xID!==J.xID)return void(d&&s.handleCrossTreeNodeDragInsertEvent(e))}t&&i&&(d=l[Q(a)],a[n])&&(!d||!d.treeLoaded)||ct(e,r,a,o,i)},ht=e=>{var{lazy:t,transform:r}=A,l=$.dragNode,a=V.nodeMaps,o=X.value,i=B.value,n=K.value,{isCrossTreeDrag:o,isCrossDrag:d,isPeerDrag:s,isToChildDrag:u}=o,c=(l||d||e.preventDefault(),(0,_dom.hasControlKey)(e)),v=e.currentTarget,g=v.getAttribute("nodeid")||"",a=a[g];if(a){e.preventDefault();var h=a.item,p=e.clientY-v.getBoundingClientRect().y<v.clientHeight/2?"top":"bottom";if(V.prevDragToChild=!!(r&&d&&u&&c),V.prevDragNode=h,V.prevDragPos=p,o&&d&&crossTreeDragNodeObj){var{$oldTree:u,$newTree:o}=crossTreeDragNodeObj;if(u){var f=u.reactData;if(u.xID===J.xID)o&&o.hideCrossTreeNodeDropClearStatus(),$.isCrossDragNode=!1,f.isCrossDragNode=!1,crossTreeDragNodeObj.$newTree=null;else if(d)return o&&o.xID!==J.xID&&o.hideCrossTreeNodeDropClearStatus(),u.hideCrossTreeNodeDropClearStatus(),f.isCrossDragNode=!0,$.dragTipText=f.dragTipText,crossTreeDragNodeObj.$newTree=J,void st(e,v,!0,p)}}l&&Q(l)===g||c&&t&&h[n]&&a&&!a.treeLoaded||!d&&r&&(s?l[i]!==h[i]:a.level)?st(e,v,!1,p):(st(e,v,!0,p),Z("node-dragover",{oldRNode:l,targetNode:h,dragPos:p},e))}};a={handleData:re,cacheNodeMap:ee,updateAfterDataIndex:te,updateCheckboxStatus:oe,updateYSpace:le,findNodeIndexOf(e,t){return t?_xeUtils.default.findIndexOf(e,e=>J.eqNode(e,t)):-1},eqNode(e,t){return!(!e||!t||e!==t&&Q(e)!==Q(t))},handleCrossTreeNodeDragCancelEvent(){ut(),ot()},handleCrossTreeNodeDragFinishEvent(t){var a=$.treeList,o=V.nodeMaps;let{animation:i,isCrossTreeDrag:e}=X.value;var n=q.value;let d=P.value;if(d&&e&&crossTreeDragNodeObj&&_){var s=_.node;if(s){var u=Q(s),o=o[u];let r=0,e=-1,l=(o&&(i&&(u=d.querySelector(`.vxe-tree--node-wrapper[nodeid="${u}"]`))&&(r=u.offsetHeight),e=o.$index),-1<e&&e<a.length-1?a.slice(e+1):[]);u=_xeUtils.default.toTreeArray([s],{updated:!0,children:n});J.remove(u).then(()=>{if(i&&r&&l.length){var e=d;let t=[];l.forEach(e=>{e=Q(e);t.push(`.vxe-tree--node-wrapper[nodeid="${e}"]`)});e=e.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,r)}}),Z("node-remove-dragend",{node:s},t),ie()}}},handleCrossTreeNodeDragoverEmptyEvent(e){var t,r=$.treeList,l=X.value.isCrossTreeDrag;l&&crossTreeDragNodeObj&&!r.length&&({$oldTree:l,$newTree:r}=crossTreeDragNodeObj,l)&&(t=l).xID!==J.xID&&(r&&r.xID!==J.xID&&r.hideCrossTreeNodeDropClearStatus(),e.preventDefault(),l.hideCrossTreeNodeDropClearStatus(),crossTreeDragNodeObj.$newTree=J,V.prevDragNode=null,$.dragTipText=t.dragTipText,st(e,e.currentTarget,!0,""))},handleCrossTreeNodeDragInsertEvent(s){let{prevDragNode:u,prevDragPos:c,prevDragToChild:e}=V;let{animation:v,isSelfToChildDrag:t,isCrossTreeDrag:r,dragEndMethod:g,dragToChildMethod:h}=X.value,p=B.value,f=q.value,x=j.value;if(r&&crossTreeDragNodeObj&&_){let i=_.node,n=crossTreeDragNodeObj.$oldTree,d=P.value;if(d&&(n&&i)){let o=i,r=-1;u&&(r="bottom"===c?1:0);var m={oldNode:o,newNode:u,dragNode:o,dragPos:c,dragToChild:!!e,offsetIndex:r};let l=t&&h?h(m):e,a={status:!1};Promise.resolve(!g||g(m)).then(e=>{if(!e)return n&&n.xID!==J.xID&&n.handleCrossTreeNodeDragCancelEvent(s),ie(),a;let t=Promise.resolve();e=_xeUtils.default.toTreeArray([o],{updated:!0,children:f});n.handleCrossTreeNodeDragFinishEvent(s),u?o[p]=u[p]:o[p]=null,e.forEach(e=>{e[x]=void 0,e[f]=void 0}),t=u?"bottom"===c?J.insertNextAt(e,u):J.insertAt(e,u):J.insert(e),J.dispatchEvent("node-insert-dragend",{oldNode:i,newNode:u,dragNode:o,dragPos:c,dragToChild:l,offsetIndex:r},s),ut(),t.then(()=>{var e=$.treeList,r=V.nodeMaps,l=Q(o),r=r[l];let a=0,t=-1;r&&(v&&(l=d.querySelector(`.vxe-tree--node-wrapper[nodeid="${l}"]`))&&(a=l.offsetHeight),t=r.$index);l=-1<t?e.slice(t):[];if(v&&a&&l.length){r=d;let t=[];l.forEach(e=>{e=Q(e);t.push(`.vxe-tree--node-wrapper[nodeid="${e}"]`)});e=r.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(e,-a)}})})}}},hideCrossTreeNodeDropClearStatus(){at()}};let pt=()=>{var e,t,r=L.value;r&&r.clientHeight&&(t=(t=ce.value)?getThumbSize(r.clientWidth,r.scrollWidth,t.clientWidth):0,(e=ge.value)&&(e.style.width=t+"px"),$.xThumbWidth=t,t=(e=ve.value)?getThumbSize(r.clientHeight,r.scrollHeight,e.clientHeight):0,(r=he.value)&&(r.style.height=t+"px"),$.yThumbHeight=t)},ft=()=>{var e,t,r,l,a=L.value;a&&a.clientHeight&&({xThumbWidth:t,yThumbHeight:e}=$,l=ce.value,r=ge.value,l=l&&t?getThumbOffsetSize(a.scrollLeft,a.clientWidth,a.scrollWidth,l.clientWidth,t):0,V.xThumbLeft=l,r&&t&&(r.style.width=t+"px",r.style.transform=`translateX(${l}px)`),t=ve.value,r=he.value,l=t&&e?getThumbOffsetSize(a.scrollTop,a.clientHeight,a.scrollHeight,t.clientHeight,e):0,V.yThumbTop=l,r)&&e&&(r.style.height=e+"px",r.style.transform=`translateY(${l}px)`)},xt=e=>{var t,r,l,a=e.currentTarget;a===e.target&&(t=L.value)&&(r=$.xThumbWidth,l=a.getBoundingClientRect(),t.scrollTo({left:getScrollFromClick(e.clientX-l.left,t.clientWidth,t.scrollWidth,a.clientWidth,r),behavior:"auto"}))},mt=e=>{var t,r,l,a=e.currentTarget;a===e.target&&(t=L.value)&&(r=$.yThumbHeight,l=a.getBoundingClientRect(),t.scrollTo({top:getScrollFromClick(e.clientY-l.top,t.clientHeight,t.scrollHeight,a.clientHeight,r),behavior:"auto"}))},_t=e=>{var t,r,l=e.currentTarget,a=(V.isThumbDrag=!0,l.setPointerCapture(e.pointerId),L.value);a&&(t=$.xThumbWidth,r=(l=l.parentElement).getBoundingClientRect(),e=e.clientX-r.left,r=getThumbOffsetSize(a.scrollLeft,a.clientWidth,a.scrollWidth,l.clientWidth,t),V.thumbDragOffset=e-r)},Ct=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:l}=V;if(r){r=L.value;if(r){var a=$.xThumbWidth;let e=t.currentTarget;var o=e.parentElement,i=o.getBoundingClientRect();r.scrollLeft=getScrollFromDrag(t.clientX-i.left,l,r.clientWidth,r.scrollWidth,o.clientWidth,a)}}}},O=e=>{e.currentTarget.releasePointerCapture(e.pointerId),V.isThumbDrag=!1},bt=e=>{var t,r,l=e.currentTarget,a=(V.isThumbDrag=!0,l.setPointerCapture(e.pointerId),L.value);a&&(t=$.yThumbHeight,r=(l=l.parentElement).getBoundingClientRect(),e=e.clientY-r.top,r=getThumbOffsetSize(a.scrollTop,a.clientHeight,a.scrollHeight,l.clientHeight,t),V.thumbDragOffset=e-r)},Tt=t=>{let e=t.currentTarget;if(e.hasPointerCapture(t.pointerId)){var{isThumbDrag:r,thumbDragOffset:l}=V;if(r){r=L.value;if(r){var a=$.yThumbHeight;let e=t.currentTarget;var o=e.parentElement,i=o.getBoundingClientRect();r.scrollTop=getScrollFromDrag(t.clientY-i.top,l,r.clientHeight,r.scrollHeight,o.clientHeight,a)}}}},yt=(Object.assign(J,et,a),(e,t)=>{var{drag:r,transform:l}=A,a=V.nodeMaps,{showIcon:o,isPeerDrag:i,isCrossDrag:n,visibleMethod:d}=X.value;let s={node:e,$tree:J};if(r&&o&&l&&(!d||d(s))){e=a[t];if(e&&(i||n||!e.level)){var{icon:r,trigger:o,disabledMethod:l}=X.value;let t=l&&l(s);d={};return"node"!==o&&(d.onMousedown=e=>{t||nt(e,s)},d.onMouseup=dt),(0,_vue.h)("div",Object.assign({class:["vxe-tree--drag-handle",{"is--disabled":t}]},d),[(0,_vue.h)("i",{class:r||getIcon().TREE_DRAG})])}}return(0,_ui.renderEmptyElement)(J)}),ne=(e,t,r)=>{if(e){if("first"===e)return!r;if("last"===e)return!t}return!0},Nt=(t,e,r,l,a,o)=>{var i=A.showRadio,{showIcon:n,visibleMode:d,visibleMethod:s}=Y.value,s=s?s({$tree:J,node:t}):ne(d,r,l);return i&&n&&s?(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":o,"is--disabled":a}],onClick:e=>{a||Ge(e,t)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?getIcon().RADIO_CHECKED:a?getIcon().RADIO_DISABLED_UNCHECKED:getIcon().RADIO_UNCHECKED]})]):(0,_ui.renderEmptyElement)(J)},Et=(t,e,r,l,a,o,i)=>{var n=A.showCheckbox,{showIcon:d,visibleMode:s,visibleMethod:u}=W.value,u=u?u({$tree:J,node:t}):ne(s,r,l);return n&&d&&u?(0,_vue.h)("div",{class:["vxe-tree--checkbox-option",{"is--checked":o,"is--indeterminate":i,"is--disabled":a}],onClick:e=>{a||We(e,t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().CHECKBOX_INDETERMINATE:o?getIcon().CHECKBOX_CHECKED:a?getIcon().CHECKBOX_DISABLED_UNCHECKED:getIcon().CHECKBOX_UNCHECKED]})]):(0,_ui.renderEmptyElement)(J)},Dt=(t,e)=>{var{lazy:r,drag:l,transform:a,showRadio:o,showCheckbox:i,showLine:n,visibleMethod:d,iconOpen:s,iconClose:u,iconLoaded:c,showIcon:v}=A,{currentNode:g,selectRadioKey:h,updateExpandedFlag:p}=$,{afterTreeList:f,nodeMaps:x,treeExpandedMaps:m,treeExpandLazyLoadedMaps:_}=V,C=G.value.mode,b=Y.value,T=W.value,y=j.value,N=xe.value,F=K.value,y=_xeUtils.default.get(t,y),y=y&&0<y.length,E=R.icon,D=R.title,M=R.extra,p=p&&m[e],m=x[e]||{},x=(0,_utils.getText)(_xeUtils.default.get(t,N)),N=m.level;let k=!1,I=!1,S=(o&&(k=e===String(h),I=b.checkMethod?!b.checkMethod({$tree:J,node:t}):!ne(b.checkMode,y,N)),!1),w=!1,L=!1,U=(i&&(S=Ie(e),w=Se(e),L=T.checkMethod?!T.checkMethod({$tree:J,node:t}):!ne(T.checkMode,y,N)),!1),H=!1,O=!1;r&&(H=!!_[e],U=t[F],O=!!m.treeLoaded);o=m.items[m.treeIndex-1],h={node:t,isExpand:p,$tree:J},b={onMousedown(e){Ae(e,t)},onMouseup:dt,onClick(e){Pe(e,t)},onDblclick(e){Ve(e,t)},onContextmenu(e){je(e,t)}};return"tooltip"===C&&(b.onMouseenter=e=>{$e(e,t)},b.onMouseleave=ze),l&&a&&(b.onDragstart=vt,b.onDragend=gt,b.onDragover=ht),(0,_vue.h)("div",Object.assign({key:e,class:["vxe-tree--node-wrapper","node--level-"+N],nodeid:e,title:"title"===C?x:""},b),[(0,_vue.h)("div",{class:["vxe-tree--node-item",{"is--current":g&&e===Q(g),"is-radio--disabled":I,"is-radio--checked":k,"is-checkbox--disabled":L,"is-checkbox--checked":S,"is-checkbox--indeterminate":w}]},[n?(0,_vue.h)("div",{class:"vxe-tree--node-line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--node-line",style:{height:`${Q(f[0])===e?1:(0,_util.calcTreeLine)(J,t,o)}px`}})]):(0,_ui.renderEmptyElement)(J),(0,_vue.h)("div",{class:"vxe-tree--node-item-switcher"},v&&(!r||O?y:U)&&(!d||d(h))?[(0,_vue.h)("div",{class:"vxe-tree--node-item-icon",onClick(e){Ye(e,t)}},E?(0,_vn.getSlotVNs)(E(h)):[(0,_vue.h)("i",{class:H?c||getIcon().TREE_NODE_LOADED:p?s||getIcon().TREE_NODE_OPEN:u||getIcon().TREE_NODE_CLOSE})])]:[]),Nt(t,e,y,N,I,k),Et(t,e,y,N,L,S,w),yt(t,e),(0,_vue.h)("div",{class:"vxe-tree--node-item-inner"},[(0,_vue.h)("div",{class:"vxe-tree--node-item-wrapper"},[(0,_vue.h)("span",{class:"vxe-tree--node-item-title"},D?(0,_vn.getSlotVNs)(D(h)):x)]),M?(0,_vue.h)("div",{class:"vxe-tree--node-item-extra"},(0,_vn.getSlotVNs)(M(h))):(0,_ui.renderEmptyElement)(J)])])])},Mt=e=>{var{loading:t,transform:r,emptyText:l}=A;let a=V.treeExpandedMaps,o=j.value;var i=R.empty;if(!t&&!e.length)return[(0,_vue.h)("div",{class:"vxe-tree--empty-placeholder"},i?i({}):[(0,_vue.h)("div",{class:"vxe-tree--empty-placeholder-content"},(0,_utils.getText)(l||getI18n("vxe.tree.searchEmpty")))])];let n=[];return e.forEach(r?e=>{var t=Q(e);n.push(Dt(e,t))}:e=>{var t=Q(e),e=(n.push(Dt(e,t)),_xeUtils.default.get(e,o));e&&e.length&&a[t]&&n.push(...Mt(e))}),n};let e=(0,_vue.ref)(0),kt=((0,_vue.watch)(()=>A.data?A.data.length:0,()=>{e.value++}),(0,_vue.watch)(()=>A.data,()=>{e.value++}),(0,_vue.watch)(()=>A.rootParentValue,()=>{e.value++}),(0,_vue.watch)(()=>A.rootValues?A.rootValues.length:0,()=>{e.value++}),(0,_vue.watch)(()=>A.rootValues,()=>{e.value++}),(0,_vue.watch)(e,()=>{S(A.data||[])}),(0,_vue.watch)(()=>A.checkNodeKey,e=>{$.selectRadioKey=(0,_utils.enModelValue)(e)}),(0,_vue.ref)(0)),s=((0,_vue.watch)(()=>A.checkNodeKeys?A.checkNodeKeys.length:0,()=>{kt.value++}),(0,_vue.watch)(()=>A.checkNodeKeys,()=>{kt.value++}),(0,_vue.watch)(kt,()=>{var e;e=A.checkNodeKeys||[],V.selectCheckboxMaps={},T(e,!0)}),(0,_vue.watch)(()=>A.filterValue,()=>{I(new Event("filter"))}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>A.height,()=>{s.value++}),(0,_vue.watch)(()=>A.minHeight,()=>{s.value++}),(0,_vue.watch)(()=>A.maxHeight,()=>{s.value++}),(0,_vue.watch)(()=>A.useScrollbar,()=>{s.value++}),(0,_vue.watch)(x,()=>{s.value++}),(0,_vue.watch)(f,()=>{s.value++}),(0,_vue.watch)(Te,()=>{(0,_vue.nextTick)(()=>{s.value++})}),(0,_vue.watch)(ye,()=>{(0,_vue.nextTick)(()=>{s.value++})}),(0,_vue.watch)(s,()=>{ae().then(()=>{ae()})}),(0,_vue.onMounted)(()=>{var{transform:e,drag:t,menuConfig:r,showOverflow:l,lazy:a,loadMethod:o,autoResize:i,useScrollbar:n}=A,d=X.value,l=(l||errLog("vxe.error.errProp",["show-overflow=false","show-overflow=true"]),t&&!e&&errLog("vxe.error.notSupportProp",["drag","transform=false","transform=true"]),d.isCrossTreeDrag&&!d.isCrossDrag&&errLog("vxe.error.reqSupportProp",["drag-config.isCrossTreeDrag","drag-config.isCrossDrag"]),a&&!o&&warnLog("vxe.error.reqSupportProp",["lazy","load-method"]),_ui.VxeUI.getComponent("VxeContextMenu")),t=(r&&!l&&errLog("vxe.error.reqComp",["vxe-context-menu"]),P.value);(n||i)&&(e=ue.value,d=_ui.globalResize.create(()=>{He()}),t&&d.observe(t),e&&d.observe(e),V.scrollObserver=d),i&&(a=E(),o=_ui.globalResize.create(()=>{A.autoResize&&s.value++}),t&&o.observe(t),a&&o.observe(a),V.resizeObserver=o),s.value++,_ui.globalEvents.on(J,"resize",()=>{s.value++})}),(0,_vue.onBeforeUnmount)(()=>{var{scrollObserver:e,resizeObserver:t}=V;t&&t.disconnect(),e&&e.disconnect(),_ui.globalEvents.off(J,"resize"),_xeUtils.default.assign($,createReactData()),_xeUtils.default.assign(V,createInternalData())}),$.selectRadioKey=(0,_utils.enModelValue)(A.checkNodeKey),S(A.data||[]),J.renderVN=()=>{var{loading:e,trigger:t,showLine:r,useScrollbar:l}=A;let{bodyHeight:a,topSpaceHeight:o,treeList:i,tooltipStore:n,xThumbWidth:d,yThumbHeight:s}=$;var u=F.value,c=Y.value,v=W.value,g=_e.value,h=me.value,p=Ce.value,f=be.value,x=X.value,m=G.value;let _=R.loading;var C=R.header,b=R.footer;let T=R.tooltip;var y=H.value,N=Te.value,E=ye.value,D=Me.value,M=ke.value,k=Ne.value,I=Ee.value,S=De.value,w={};return x.isCrossTreeDrag&&!i.length&&(w.onDragover=J.handleCrossTreeNodeDragoverEmptyEvent),(0,_vue.h)("div",Object.assign({ref:P,class:["vxe-tree",l?"ov-x--"+(!1===N?"hidden":"visible"):"",l?"ov-y--"+(!1===E?"hidden":"visible"):"",l?"sx-pos--"+(D?"top":"bottom"):"",l?"sy-pos--"+(M?"left":"right"):"",{["size--"+u]:u,"show--line":r,"is--virtual-scrollbar":l,"ov-padding":l&&y.padding,"ov-x--auto-hide":l&&k,"ov-y--auto-hide":l&&I,"overflow-y":s,"overflow-x":d,"checkbox--highlight":v.highlight,"radio--highlight":c.highlight,"node--hover":h,"node--trigger":"node"===t,"is--loading":e}],style:p},w),[C?(0,_vue.h)("div",{ref:de,class:"vxe-tree--header-wrapper"},C({$tree:J})):(0,_ui.renderEmptyElement)(J),(0,_vue.h)("div",{ref:L,class:"vxe-tree--node-list-wrapper",style:f,onScroll:Fe},[(0,_vue.h)("div",{class:"vxe-tree--y-space",style:{height:a?a+"px":""}}),(0,_vue.h)("div",{ref:ue,class:"vxe-tree--node-list-body",style:{transform:`translateY(${o}px)`}},Mt(i))]),b?(0,_vue.h)("div",{ref:se,class:"vxe-tree--footer-wrapper"},b({$tree:J})):(0,_ui.renderEmptyElement)(J),l?(0,_vue.h)("div",{class:S},[!1===N?(0,_ui.renderEmptyElement)(J):(0,_vue.h)("div",{ref:ce,class:"vxe-scrollbar--track-x",onClick:xt},[(0,_vue.h)("div",{ref:ge,class:"vxe-scrollbar--thumb-x",onPointerdown:_t,onPointermove:Ct,onPointerup:O,onPointercancel:O,onLostpointercapture:O})]),!1===E?(0,_ui.renderEmptyElement)(J):(0,_vue.h)("div",{ref:ve,class:"vxe-scrollbar--track-y",onClick:mt},[(0,_vue.h)("div",{ref:he,class:"vxe-scrollbar--thumb-y",onPointerdown:bt,onPointermove:Tt,onPointerup:O,onPointercancel:O,onLostpointercapture:O})])]):(0,_ui.renderEmptyElement)(J),(()=>{var e=A.drag,{dragNode:t,dragTipText:r}=$,l=X.value;return e?(0,_vue.h)("div",{class:"vxe-tree--drag-wrapper"},[(0,_vue.h)("div",{ref:pe,class:["vxe-tree--drag-node-line",{"is--guides":l.showGuidesStatus}]}),t&&l.showDragTip?(0,_vue.h)("div",{ref:fe,class:"vxe-tree--drag-sort-tip"},[(0,_vue.h)("div",{class:"vxe-tree--drag-sort-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--drag-sort-tip-status"},[(0,_vue.h)("span",{class:["vxe-tree--drag-sort-tip-normal-status",getIcon().TREE_DRAG_STATUS_NODE]}),(0,_vue.h)("span",{class:["vxe-tree--drag-sort-tip-sub-status",getIcon().TREE_DRAG_STATUS_SUB_NODE]}),(0,_vue.h)("span",{class:["vxe-tree--drag-sort-tip-disabled-status",getIcon().TREE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-tree--drag-sort-tip-content"},r)])]):(0,_ui.renderEmptyElement)(J)]):(0,_ui.renderEmptyElement)(J)})(),"tooltip"===m.mode?(0,_vue.h)(_tooltip.default,{ref:U,theme:m.theme,enterable:m.enterable,enterDelay:m.enterDelay,leaveDelay:m.leaveDelay,useHtml:m.useHtml,width:m.width,height:m.height,minWidth:m.minWidth,minHeight:m.minHeight,maxWidth:m.maxWidth,maxHeight:m.maxHeight,placement:m.placement,defaultPlacement:m.defaultPlacement,popupClassName:m.popupClassName},T?{content:()=>{var e=n.node;return T({node:e,$tree:J})}}:void 0):(0,_ui.renderEmptyElement)(J),(0,_vue.h)(_loading.default,{class:"vxe-tree--loading",modelValue:e,icon:g.icon,text:g.text},_?{default:()=>_({$tree:J})}:void 0)])},(0,_vue.provide)("$xeTree",J),J},render(){return this.renderVN()}});
@@ -499,6 +499,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
499
499
  isMinWidth: !popupOpts.width,
500
500
  placement: popupOpts.placement || placement,
501
501
  defaultPlacement: popupOpts.defaultPlacement,
502
+ appendTo: popupOpts.appendTo,
502
503
  teleportTo: btnTransfer
503
504
  });
504
505
  const panelStyle = Object.assign(ppObj.style, {