vxe-pc-ui 4.14.39 → 4.14.40

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 (222) hide show
  1. package/dist/all.esm.js +1722 -728
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/cascader/src/cascader.js +1157 -172
  5. package/es/cascader/src/util.js +7 -0
  6. package/es/cascader/style.css +197 -21
  7. package/es/cascader/style.min.css +1 -1
  8. package/es/input/src/input.js +2 -2
  9. package/es/language/ar-EG.js +7 -0
  10. package/es/language/de-DE.js +7 -0
  11. package/es/language/en-US.js +7 -0
  12. package/es/language/es-ES.js +7 -0
  13. package/es/language/fr-FR.js +7 -0
  14. package/es/language/hu-HU.js +7 -0
  15. package/es/language/hy-AM.js +7 -0
  16. package/es/language/id-ID.js +7 -0
  17. package/es/language/it-IT.js +7 -0
  18. package/es/language/ja-JP.js +7 -0
  19. package/es/language/ko-KR.js +7 -0
  20. package/es/language/ms-MY.js +7 -0
  21. package/es/language/nb-NO.js +7 -0
  22. package/es/language/pt-BR.js +7 -0
  23. package/es/language/ru-RU.js +7 -0
  24. package/es/language/th-TH.js +7 -0
  25. package/es/language/ug-CN.js +7 -0
  26. package/es/language/uk-UA.js +7 -0
  27. package/es/language/uz-UZ.js +7 -0
  28. package/es/language/vi-VN.js +7 -0
  29. package/es/language/zh-CHT.js +7 -0
  30. package/es/language/zh-CN.js +7 -0
  31. package/es/list/style.css +2 -1
  32. package/es/list/style.min.css +1 -1
  33. package/es/number-input/src/number-input.js +7 -7
  34. package/es/number-input/src/util.js +2 -2
  35. package/es/split/style.css +1 -1
  36. package/es/split/style.min.css +1 -1
  37. package/es/splitter/style.css +1 -1
  38. package/es/splitter/style.min.css +1 -1
  39. package/es/style.css +1 -1
  40. package/es/style.min.css +1 -1
  41. package/es/tree/src/tree.js +23 -21
  42. package/es/tree-select/src/tree-select.js +20 -16
  43. package/es/tree-select/style.css +1 -8
  44. package/es/tree-select/style.min.css +1 -1
  45. package/es/ui/index.js +10 -4
  46. package/es/ui/src/dom.js +2 -2
  47. package/es/ui/src/log.js +1 -1
  48. package/es/vxe-cascader/style.css +197 -21
  49. package/es/vxe-cascader/style.min.css +1 -1
  50. package/es/vxe-list/style.css +2 -1
  51. package/es/vxe-list/style.min.css +1 -1
  52. package/es/vxe-split/style.css +1 -1
  53. package/es/vxe-split/style.min.css +1 -1
  54. package/es/vxe-splitter/style.css +1 -1
  55. package/es/vxe-splitter/style.min.css +1 -1
  56. package/es/vxe-tree-select/style.css +1 -8
  57. package/es/vxe-tree-select/style.min.css +1 -1
  58. package/lib/cascader/src/cascader.js +1322 -173
  59. package/lib/cascader/src/cascader.min.js +1 -1
  60. package/lib/cascader/src/util.js +15 -0
  61. package/lib/cascader/src/util.min.js +1 -0
  62. package/lib/cascader/style/style.css +197 -21
  63. package/lib/cascader/style/style.min.css +1 -1
  64. package/lib/index.umd.js +2159 -972
  65. package/lib/index.umd.min.js +1 -1
  66. package/lib/input/src/input.js +2 -2
  67. package/lib/input/src/input.min.js +1 -1
  68. package/lib/language/ar-EG.js +7 -0
  69. package/lib/language/ar-EG.min.js +1 -1
  70. package/lib/language/ar-EG.umd.js +7 -0
  71. package/lib/language/de-DE.js +7 -0
  72. package/lib/language/de-DE.min.js +1 -1
  73. package/lib/language/de-DE.umd.js +7 -0
  74. package/lib/language/en-US.js +7 -0
  75. package/lib/language/en-US.min.js +1 -1
  76. package/lib/language/en-US.umd.js +7 -0
  77. package/lib/language/es-ES.js +7 -0
  78. package/lib/language/es-ES.min.js +1 -1
  79. package/lib/language/es-ES.umd.js +7 -0
  80. package/lib/language/fr-FR.js +7 -0
  81. package/lib/language/fr-FR.min.js +1 -1
  82. package/lib/language/fr-FR.umd.js +7 -0
  83. package/lib/language/hu-HU.js +7 -0
  84. package/lib/language/hu-HU.min.js +1 -1
  85. package/lib/language/hu-HU.umd.js +7 -0
  86. package/lib/language/hy-AM.js +7 -0
  87. package/lib/language/hy-AM.min.js +1 -1
  88. package/lib/language/hy-AM.umd.js +7 -0
  89. package/lib/language/id-ID.js +7 -0
  90. package/lib/language/id-ID.min.js +1 -1
  91. package/lib/language/id-ID.umd.js +7 -0
  92. package/lib/language/it-IT.js +7 -0
  93. package/lib/language/it-IT.min.js +1 -1
  94. package/lib/language/it-IT.umd.js +7 -0
  95. package/lib/language/ja-JP.js +7 -0
  96. package/lib/language/ja-JP.min.js +1 -1
  97. package/lib/language/ja-JP.umd.js +7 -0
  98. package/lib/language/ko-KR.js +7 -0
  99. package/lib/language/ko-KR.min.js +1 -1
  100. package/lib/language/ko-KR.umd.js +7 -0
  101. package/lib/language/ms-MY.js +7 -0
  102. package/lib/language/ms-MY.min.js +1 -1
  103. package/lib/language/ms-MY.umd.js +7 -0
  104. package/lib/language/nb-NO.js +7 -0
  105. package/lib/language/nb-NO.min.js +1 -1
  106. package/lib/language/nb-NO.umd.js +7 -0
  107. package/lib/language/pt-BR.js +7 -0
  108. package/lib/language/pt-BR.min.js +1 -1
  109. package/lib/language/pt-BR.umd.js +7 -0
  110. package/lib/language/ru-RU.js +7 -0
  111. package/lib/language/ru-RU.min.js +1 -1
  112. package/lib/language/ru-RU.umd.js +7 -0
  113. package/lib/language/th-TH.js +7 -0
  114. package/lib/language/th-TH.min.js +1 -1
  115. package/lib/language/th-TH.umd.js +7 -0
  116. package/lib/language/ug-CN.js +7 -0
  117. package/lib/language/ug-CN.min.js +1 -1
  118. package/lib/language/ug-CN.umd.js +7 -0
  119. package/lib/language/uk-UA.js +7 -0
  120. package/lib/language/uk-UA.min.js +1 -1
  121. package/lib/language/uk-UA.umd.js +7 -0
  122. package/lib/language/uz-UZ.js +7 -0
  123. package/lib/language/uz-UZ.min.js +1 -1
  124. package/lib/language/uz-UZ.umd.js +7 -0
  125. package/lib/language/vi-VN.js +7 -0
  126. package/lib/language/vi-VN.min.js +1 -1
  127. package/lib/language/vi-VN.umd.js +7 -0
  128. package/lib/language/zh-CHT.js +7 -0
  129. package/lib/language/zh-CHT.min.js +1 -1
  130. package/lib/language/zh-CHT.umd.js +7 -0
  131. package/lib/language/zh-CN.js +7 -0
  132. package/lib/language/zh-CN.min.js +1 -1
  133. package/lib/language/zh-CN.umd.js +7 -0
  134. package/lib/list/style/style.css +2 -1
  135. package/lib/list/style/style.min.css +1 -1
  136. package/lib/number-input/src/number-input.js +7 -4
  137. package/lib/number-input/src/number-input.min.js +1 -1
  138. package/lib/number-input/src/util.js +2 -2
  139. package/lib/number-input/src/util.min.js +1 -1
  140. package/lib/split/style/style.css +1 -1
  141. package/lib/split/style/style.min.css +1 -1
  142. package/lib/splitter/style/style.css +1 -1
  143. package/lib/splitter/style/style.min.css +1 -1
  144. package/lib/style.css +1 -1
  145. package/lib/style.min.css +1 -1
  146. package/lib/tree/src/tree.js +23 -21
  147. package/lib/tree/src/tree.min.js +1 -1
  148. package/lib/tree-select/src/tree-select.js +22 -17
  149. package/lib/tree-select/src/tree-select.min.js +1 -1
  150. package/lib/tree-select/style/style.css +1 -8
  151. package/lib/tree-select/style/style.min.css +1 -1
  152. package/lib/ui/index.js +10 -4
  153. package/lib/ui/index.min.js +1 -1
  154. package/lib/ui/src/dom.js +5 -3
  155. package/lib/ui/src/dom.min.js +1 -1
  156. package/lib/ui/src/log.js +1 -1
  157. package/lib/ui/src/log.min.js +1 -1
  158. package/lib/vxe-cascader/style/style.css +197 -21
  159. package/lib/vxe-cascader/style/style.min.css +1 -1
  160. package/lib/vxe-list/style/style.css +2 -1
  161. package/lib/vxe-list/style/style.min.css +1 -1
  162. package/lib/vxe-split/style/style.css +1 -1
  163. package/lib/vxe-split/style/style.min.css +1 -1
  164. package/lib/vxe-splitter/style/style.css +1 -1
  165. package/lib/vxe-splitter/style/style.min.css +1 -1
  166. package/lib/vxe-tree-select/style/style.css +1 -8
  167. package/lib/vxe-tree-select/style/style.min.css +1 -1
  168. package/package.json +1 -1
  169. package/packages/cascader/src/cascader.ts +1193 -182
  170. package/packages/cascader/src/util.ts +9 -0
  171. package/packages/input/src/input.ts +2 -2
  172. package/packages/language/ar-EG.ts +7 -0
  173. package/packages/language/de-DE.ts +7 -0
  174. package/packages/language/en-US.ts +7 -0
  175. package/packages/language/es-ES.ts +7 -0
  176. package/packages/language/fr-FR.ts +7 -0
  177. package/packages/language/hu-HU.ts +7 -0
  178. package/packages/language/hy-AM.ts +7 -0
  179. package/packages/language/id-ID.ts +7 -0
  180. package/packages/language/it-IT.ts +7 -0
  181. package/packages/language/ja-JP.ts +7 -0
  182. package/packages/language/ko-KR.ts +7 -0
  183. package/packages/language/ms-MY.ts +7 -0
  184. package/packages/language/nb-NO.ts +7 -0
  185. package/packages/language/pt-BR.ts +7 -0
  186. package/packages/language/ru-RU.ts +7 -0
  187. package/packages/language/th-TH.ts +7 -0
  188. package/packages/language/ug-CN.ts +7 -0
  189. package/packages/language/uk-UA.ts +7 -0
  190. package/packages/language/uz-UZ.ts +7 -0
  191. package/packages/language/vi-VN.ts +7 -0
  192. package/packages/language/zh-CHT.ts +7 -0
  193. package/packages/language/zh-CN.ts +7 -0
  194. package/packages/number-input/src/number-input.ts +7 -7
  195. package/packages/number-input/src/util.ts +2 -2
  196. package/packages/tree/src/tree.ts +23 -22
  197. package/packages/tree-select/src/tree-select.ts +21 -16
  198. package/packages/ui/index.ts +10 -3
  199. package/packages/ui/src/dom.ts +3 -2
  200. package/styles/components/cascader.scss +116 -21
  201. package/styles/components/list.scss +2 -1
  202. package/styles/components/splitter.scss +3 -1
  203. package/styles/components/tree-select.scss +1 -8
  204. package/styles/helpers/placement.scss +2 -2
  205. package/styles/theme/base.scss +7 -0
  206. package/styles/theme/dark.scss +9 -0
  207. package/styles/theme/light.scss +9 -0
  208. package/styles/variable.scss +8 -0
  209. package/types/components/cascader.d.ts +167 -57
  210. package/types/ui/global-icon.d.ts +5 -0
  211. /package/es/icon/{iconfont.1781503194392.ttf → iconfont.1781658330183.ttf} +0 -0
  212. /package/es/icon/{iconfont.1781503194392.woff → iconfont.1781658330183.woff} +0 -0
  213. /package/es/icon/{iconfont.1781503194392.woff2 → iconfont.1781658330183.woff2} +0 -0
  214. /package/es/{iconfont.1781503194392.ttf → iconfont.1781658330183.ttf} +0 -0
  215. /package/es/{iconfont.1781503194392.woff → iconfont.1781658330183.woff} +0 -0
  216. /package/es/{iconfont.1781503194392.woff2 → iconfont.1781658330183.woff2} +0 -0
  217. /package/lib/icon/style/{iconfont.1781503194392.ttf → iconfont.1781658330183.ttf} +0 -0
  218. /package/lib/icon/style/{iconfont.1781503194392.woff → iconfont.1781658330183.woff} +0 -0
  219. /package/lib/icon/style/{iconfont.1781503194392.woff2 → iconfont.1781658330183.woff2} +0 -0
  220. /package/lib/{iconfont.1781503194392.ttf → iconfont.1781658330183.ttf} +0 -0
  221. /package/lib/{iconfont.1781503194392.woff → iconfont.1781658330183.woff} +0 -0
  222. /package/lib/{iconfont.1781503194392.woff2 → iconfont.1781658330183.woff2} +0 -0
@@ -359,6 +359,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
359
359
  getComputeMaps: () => computeMaps
360
360
  };
361
361
  const getNodeId = node => {
362
+ if (!node) {
363
+ return '';
364
+ }
362
365
  const valueField = computeValueField.value;
363
366
  const nodeKey = _xeUtils.default.get(node, valueField);
364
367
  return (0, _util.enNodeValue)(nodeKey);
@@ -539,7 +542,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
539
542
  const valueField = computeValueField.value;
540
543
  const childrenField = computeChildrenField.value;
541
544
  const keyMaps = {};
542
- _xeUtils.default.eachTree(treeFullData, (item, index, items, path, parent, nodes) => {
545
+ _xeUtils.default.eachTree(treeFullData, (item, index, items, path, parenItem, nodes) => {
543
546
  let nodeid = getNodeId(item);
544
547
  if (!nodeid) {
545
548
  nodeid = getNodeUniqueId();
@@ -551,7 +554,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
551
554
  $index: -1,
552
555
  _index: -1,
553
556
  items,
554
- parent,
557
+ parent: parenItem,
555
558
  nodes,
556
559
  level: nodes.length - 1,
557
560
  treeIndex: index,
@@ -574,7 +577,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
574
577
  const childrenField = computeChildrenField.value;
575
578
  const mapChildrenField = computeMapChildrenField.value;
576
579
  let vtIndex = 0;
577
- _xeUtils.default.eachTree(afterTreeList, (item, index, items) => {
580
+ _xeUtils.default.eachTree(afterTreeList, (item, index, items, path, parenItem, nodes) => {
578
581
  const nodeid = getNodeId(item);
579
582
  const nodeItem = nodeMaps[nodeid];
580
583
  if (nodeItem) {
@@ -588,9 +591,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
588
591
  $index: -1,
589
592
  _index: vtIndex,
590
593
  items,
591
- parent,
592
- nodes: [],
593
- level: 0,
594
+ parent: parenItem,
595
+ nodes,
596
+ level: nodes.length - 1,
594
597
  treeIndex: index,
595
598
  lineCount: 0,
596
599
  treeLoaded: false
@@ -2761,7 +2764,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2761
2764
  const extraSlot = slots.extra;
2762
2765
  const isExpand = updateExpandedFlag && treeExpandedMaps[nodeid];
2763
2766
  const nodeItem = nodeMaps[nodeid] || {};
2764
- const nodeValue = _xeUtils.default.get(node, titleField);
2767
+ const nodeTitle = _xeUtils.default.get(node, titleField);
2765
2768
  const nLevel = nodeItem.level;
2766
2769
  let isRadioChecked = false;
2767
2770
  if (showRadio) {
@@ -2838,7 +2841,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2838
2841
  class: 'vxe-tree--node-item-inner'
2839
2842
  }, [(0, _vue.h)('div', {
2840
2843
  class: 'vxe-tree--node-item-title'
2841
- }, titleSlot ? (0, _vn.getSlotVNs)(titleSlot(nParams)) : `${nodeValue}`), extraSlot ? (0, _vue.h)('div', {
2844
+ }, titleSlot ? (0, _vn.getSlotVNs)(titleSlot(nParams)) : `${nodeTitle}`), extraSlot ? (0, _vue.h)('div', {
2842
2845
  class: 'vxe-tree--node-item-extra'
2843
2846
  }, (0, _vn.getSlotVNs)(extraSlot(nParams))) : (0, _ui.renderEmptyElement)($xeTree)])])]);
2844
2847
  };
@@ -2990,6 +2993,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
2990
2993
  (0, _vue.watch)(() => props.data, () => {
2991
2994
  dataFlag.value++;
2992
2995
  });
2996
+ (0, _vue.watch)(() => props.rootParentValue, () => {
2997
+ dataFlag.value++;
2998
+ });
2999
+ (0, _vue.watch)(() => props.rootValues ? props.rootValues.length : 0, () => {
3000
+ dataFlag.value++;
3001
+ });
3002
+ (0, _vue.watch)(() => props.rootValues, () => {
3003
+ dataFlag.value++;
3004
+ });
2993
3005
  (0, _vue.watch)(dataFlag, () => {
2994
3006
  loadData(props.data || []);
2995
3007
  });
@@ -3022,19 +3034,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
3022
3034
  (0, _vue.watch)(hFlag, () => {
3023
3035
  recalculate();
3024
3036
  });
3025
- const rootConf = (0, _vue.ref)(0);
3026
- (0, _vue.watch)(() => props.rootParentValue, () => {
3027
- rootConf.value++;
3028
- });
3029
- (0, _vue.watch)(() => props.rootValues ? props.rootValues.length : 0, () => {
3030
- rootConf.value++;
3031
- });
3032
- (0, _vue.watch)(() => props.rootValues, () => {
3033
- rootConf.value++;
3034
- });
3035
- (0, _vue.watch)(rootConf, () => {
3036
- loadData(props.data || []);
3037
- });
3038
3037
  (0, _vue.onMounted)(() => {
3039
3038
  const {
3040
3039
  transform,
@@ -3048,6 +3047,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
3048
3047
  if (dragOpts.isCrossTreeDrag) {
3049
3048
  (0, _log.errLog)('vxe.error.notProp', ['drag-config.isCrossTreeDrag']);
3050
3049
  }
3050
+ // if (valueField) {
3051
+ // errLog('vxe.error.delProp', ['value-field', 'value-field'])
3052
+ // }
3051
3053
  const VxeUIContextMenu = _ui.VxeUI.getComponent('VxeContextMenu');
3052
3054
  if (menuConfig && !VxeUIContextMenu) {
3053
3055
  (0, _log.errLog)('vxe.error.reqComp', ['vxe-context-menu']);
@@ -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"),_loading=_interopRequireDefault(require("../../loading"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,getConfig,getI18n,getIcon}=_ui.VxeUI;function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}function createInternalData(){return{treeFullData:[],afterTreeList:[],afterVisibleList:[],nodeMaps:{},selectCheckboxMaps:{},indeterminateRowMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0}}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,dragNode:null,dragTipText:""}}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},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:{type:[String,Number],default:()=>getConfig().tree.checkNodeKey},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>getConfig().tree.showCheckbox},checkNodeKeys:{type:Array,default:()=>getConfig().tree.checkNodeKeys},checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,toggleMethod:Function,loadMethod:Function,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},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-expand","node-menu","menu-click"],setup(V,s){let{emit:a,slots:w}=s;var e=_xeUtils.default.uniqueId();let m=(0,_ui.useSize)(V).computeSize,O=(0,_vue.ref)(),C=(0,_vue.ref)(),y=(0,_vue.ref)(),p=(0,_vue.ref)(),N=(0,_vue.ref)(),E=(0,_vue.ref)(),b=(0,_vue.ref)(),u=(0,_store.getCrossTreeDragNodeInfo)(),A=createInternalData(),z=(0,_vue.reactive)(createReactData()),v={refElem:O},U=(0,_vue.computed)(()=>V.titleField||"title"),c=(0,_vue.computed)(()=>V.keyField||"id"),k=(0,_vue.computed)(()=>{var e=c.value;return V.valueField||e}),K=(0,_vue.computed)(()=>V.parentField||"parentId"),B=(0,_vue.computed)(()=>V.childrenField||"children"),$=(0,_vue.computed)(()=>V.mapChildrenField||"mapChildren"),D=(0,_vue.computed)(()=>V.hasChildField||"hasChild"),M=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.virtualYConfig,V.virtualYConfig)),T=(0,_vue.computed)(()=>{var e=d.value.isCurrent;return _xeUtils.default.isBoolean(e)?e:V.isCurrent}),I=(0,_vue.computed)(()=>{var e=d.value.isHover;return _xeUtils.default.isBoolean(e)?e:V.isHover}),f=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().tree.radioConfig,V.radioConfig)),x=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().tree.checkboxConfig,V.checkboxConfig)),d=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.nodeConfig,V.nodeConfig)),S=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.loadingConfig,V.loadingConfig)),P=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.dragConfig,V.dragConfig)),L=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.menuConfig,V.menuConfig)),R=(0,_vue.computed)(()=>{var e=V.indent,{customHeight:t,customMinHeight:r,customMaxHeight:a}=z,l=x.value.nodeStyle,o={};return t&&(o.height=(0,_dom.toCssUnit)(t)),r&&(o.minHeight=(0,_dom.toCssUnit)(r)),a&&(o.maxHeight=(0,_dom.toCssUnit)(a)),e&&(o["--vxe-ui-tree-node-indent"]=(0,_dom.toCssUnit)(e)),l&&({indeterminateColor:t,checkedColor:r}=l,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,V.filterConfig)),F={computeKeyField:c,computeParentField:K,computeChildrenField:B,computeMapChildrenField:$,computeRadioOpts:f,computeCheckboxOpts:x,computeNodeOpts:d,computeDragOpts:P},q={xID:e,props:V,context:s,internalData:A,reactData:z,getRefMaps:()=>v,getComputeMaps:()=>F},Y=e=>{var t=k.value,e=_xeUtils.default.get(e,t);return(0,_util.enNodeValue)(e)};let te=e=>{var t=z.selectRadioKey;return t===e};let re=e=>{var t=z.updateCheckboxFlag,r=A.selectCheckboxMaps;return!(!t||!r[e])};let ae=e=>{var t=z.updateCheckboxFlag,r=A.indeterminateRowMaps;return!(!t||!r[e])};let g=e=>{a("update:checkNodeKeys",e)},n=e=>{a("update:checkNodeKey",e)},le=(e,r)=>{let a=A.nodeMaps;if(e){_xeUtils.default.isArray(e)||(e=[e]);let t=[];e.forEach(e=>{e=(0,_util.enNodeValue)(e),e=a[e];e&&t.push(e.item)}),oe(t,r)}return(0,_vue.nextTick)()},oe=(e,r)=>{var t=V.transform;let a=A.selectCheckboxMaps;var l=$.value,o=B.value,d=x.value.checkStrictly,n=e=>{var t=Y(e);r?a[t]||(a[t]=e):a[t]&&delete a[t]};d?e.forEach(n):_xeUtils.default.eachTree(e,n,{children:t?l:o}),z.updateCheckboxFlag++,Q()},l=(e,t,r)=>{t?r[e]||(r[e]=!0):r[e]&&delete r[e]},j=(e,t,r)=>{a(e,(0,_ui.createEvent)(r,{$tree:q},t))},de=()=>{var e=O.value;return e?e.parentElement:null},ne=e=>{var t=z.parentHeight,e=V[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},ie=()=>{z.customHeight=ne("height"),z.customMinHeight=ne("minHeight"),z.customMaxHeight=ne("maxHeight"),!z.scrollYLoad||z.customHeight||z.customMinHeight||(z.customHeight=300)},se=()=>{var e=A.treeFullData;let n=k.value;var t=B.value;let i={};_xeUtils.default.eachTree(e,(e,t,r,a,l,o)=>{let d=Y(e);d||(d=getNodeUniqueId(),_xeUtils.default.set(e,n,d)),i[d]={item:e,index:t,$index:-1,_index:-1,items:r,parent:l,nodes:o,level:o.length-1,treeIndex:t,lineCount:0,treeLoaded:!1}},{children:t}),A.nodeMaps=i},G=()=>{var e=V.transform;let{afterTreeList:t,nodeMaps:o}=A;var r=B.value,a=$.value;let d=0;_xeUtils.default.eachTree(t,(e,t,r)=>{var a=Y(e),l=o[a];l?(l.items=r,l.treeIndex=t,l._index=d):(l={item:e,index:t,$index:-1,_index:d,items:r,parent:parent,nodes:[],level:0,treeIndex:t,lineCount:0,treeLoaded:!1},o[a]=l),d++},{children:e?a:r})},ue=()=>{var{transform:t,filterValue:r}=V,{treeFullData:a,lastFilterValue:e}=A;let l=U.value;var o=B.value,d=$.value;let{autoExpandAll:n,beforeFilterMethod:i,filterMethod:s,afterFilterMethod:u}=H.value,c=a,v=c,g="";if(r||0===r){g=""+r;r=s?e=>s({$tree:q,node:e,filterValue:g}):e=>-1<String(e[l]).toLowerCase().indexOf(g.toLowerCase());let e={$tree:q,filterValue:g};i&&i(e),c=t?v=_xeUtils.default.searchTree(a,r,{original:!0,isEvery:!0,children:o,mapChildren:d}):a.filter(r),A.lastFilterValue=g,(0,_vue.nextTick)(()=>{n?q.setAllExpandNode(!0).then(()=>{u&&u(e)}):u&&u(e)})}else{if(t&&(v=_xeUtils.default.searchTree(a,()=>!0,{original:!0,isEvery:!0,children:o,mapChildren:d}),c=v,e)){let e={$tree:q,filterValue:g};i&&i(e),(0,_vue.nextTick)(()=>{n?q.clearAllExpandNode().then(()=>{u&&u(e)}):u&&u(e)})}A.lastFilterValue=""}A.afterVisibleList=c,A.afterTreeList=v,G()},h=()=>{var e=V.transform;let{afterTreeList:t,treeExpandedMaps:i}=A;var r=$.value;let s={};if(e){let n=[];return _xeUtils.default.eachTree(t,(e,t,r,a,l)=>{var o=Y(e),d=Y(l);(!l||s[d]&&i[d])&&(s[o]=1,n.push(e))},{children:r}),ve(n),A.afterVisibleList=n}return A.afterVisibleList},X=e=>{var t=z.scrollYLoad;let{scrollYStore:r,nodeMaps:a}=A,l=A.afterVisibleList;e&&(ue(),l=h());e=t?l.slice(r.startIndex,r.endIndex):l.slice(0);e.forEach((e,t)=>{e=Y(e),e=a[e];e&&(e.$index=t)}),z.treeList=e},ce=_xeUtils.default.debounce(()=>X(!0),350,{trailing:!0}),t=e=>{let{expandAll:t,expandNodeKeys:r,transform:a,rootParentValue:l,rootValues:o}=V,{initialized:d,scrollYStore:n}=A;var i=c.value,s=K.value,u=B.value,i=a?_xeUtils.default.toArrayTree(e,{key:i,parentKey:s,mapChildren:u,rootParentValue:l,rootValues:o}):e?e.slice(0):[],s=(A.treeFullData=i,Object.assign(n,{startIndex:0,endIndex:1,visibleSize:0}),ve(i));return se(),X(!0),!s||V.height||V.maxHeight||(0,_log.errLog)("vxe.error.reqProp",["[tree] height | max-height | virtual-y-config.enabled=false"]),he().then(()=>{d||e&&e.length&&(A.initialized=!0,t?q.setAllExpandNode(!0):r&&r.length&&q.setExpandByNodeId(r,!0),le(V.checkNodeKeys||[],!0)),ie();{let{lastScrollLeft:e,lastScrollTop:t}=A;_e().then(()=>{if(e||t)return A.lastScrollLeft=0,A.lastScrollTop=0,scrollTo(e,t)})}})},ve=e=>{var t=V.transform,r=M.value,e=e||A.treeFullData,t=!!t&&!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<e.length);return z.scrollYLoad=t},W=()=>{var e=z.scrollYLoad,{scrollYStore:t,afterVisibleList:r}=A;z.bodyHeight=e?r.length*t.rowHeight:0,z.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},ge=()=>{X(),W()},he=()=>(0,_vue.nextTick)().then(()=>{var e=z.scrollYLoad,t=A.scrollYStore,r=N.value,a=M.value;let l=0,o;(o=r?o||r.children[0]:o)&&(l=o.offsetHeight),l=Math.max(20,l),t.rowHeight=l,(e?(r=p.value,e=Math.max(8,r?Math.ceil(r.clientHeight/l):0),r=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+r,t.endIndex),ge):W)()}),pe=(e,t)=>{var r=p.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),z.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},J=()=>{var e,t,r,a=A.scrollYStore,a=a.rowHeight,l=O.value;return l&&l.clientWidth&&l.clientHeight?(l=de(),e=C.value,t=y.value,e=e?e.clientHeight:0,t=t?t.clientHeight:0,l&&(r=(0,_dom.getPaddingTopBottomSize)(l),z.parentHeight=Math.max(e+t+a,l.clientHeight-r-e-t)),ie(),he().then(()=>{ie(),W()})):(0,_vue.nextTick)()},fe=()=>{var e=A.scrollYStore,{startIndex:t,endIndex:r,visibleSize:a,offsetSize:l,rowHeight:o}=e,d=p.value;d&&(d=d.scrollTop,d=Math.floor(d/o),o=Math.max(0,d-1-l),l=d+a+l,!(d<=t||r-a-1<=d)||t===o&&r===l||(e.startIndex=o,e.endIndex=l,ge()))},xe=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,a=t!==A.lastScrollLeft,l=r!==A.lastScrollTop;A.lastScrollTop=r,A.lastScrollLeft=t,z.scrollYLoad&&fe(),A.lastScrollTime=Date.now(),j("scroll",{scrollLeft:t,scrollTop:r,isX:a,isY:l},e)},_e=()=>{var e=p.value;return e&&(e.scrollTop=0,e.scrollLeft=0),A.lastScrollTop=0,(A.lastScrollLeft=0,_vue.nextTick)()},me=(e,t)=>{var r=V.drag,a=A.nodeMaps,l=e.currentTarget,{trigger:o,isCrossDrag:d,isPeerDrag:n,disabledMethod:i}=P.value,s=Y(t);let u=r?"node"===o:!1;(0,_dom.getEventTargetNode)(e,l,"vxe-tree--node-item-switcher").flag||(r={node:t,$tree:q},o=a[s],!u)||!(d||n||o&&!o.level)||i&&i(r)||He(e,{node:t})},Ce=(e,t)=>{var{showRadio:r,showCheckbox:a,trigger:l}=V,o=f.value,d=x.value;let n=!1,i=!1,s=!1,u=!1;T.value?(n=!0,Te(e,t)):z.currentNode&&(z.currentNode=null),"node"===l&&(u=!0,ke(e,t)),r&&"node"===o.trigger&&(i=!0,Ie(e,t)),a&&"node"===d.trigger&&(s=!0,Me(e,t)),j("node-click",{node:t,triggerCurrent:n,triggerRadio:i,triggerCheckbox:s,triggerExpand:u},e)},ye=(e,t)=>{j("node-dblclick",{node:t},e)},Ne=(a,l)=>{var e=V.menuConfig,t=T.value,r=L.value;(e?(0,_utils.isEnableConf)(r):r.enabled)&&({options:e,visibleMethod:r}=r,r&&!r({$tree:q,options:e,node:l})||(t?Te(a,l):z.currentNode&&(z.currentNode=null),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(a,{options:e,events:{optionClick(e){var t=e.option,r=menus.get(t.code),r=r?r.treeMenuMethod:null,t={menu:t,node:l,$event:a,$tree:q,option:t};r&&r(t,a),j("menu-click",t,e.$event)}}}))),j("node-menu",{node:l},a)},Ee=o=>{var e=x.value;let r=V.loadMethod,d=e.checkStrictly;return new Promise(e=>{if(r){var t=A.nodeMaps;let a=Y(o),l=t[a];A.treeExpandLazyLoadedMaps[a]=!0,Promise.resolve(r({$tree:q,node:o})).then(r=>{var e=A.treeExpandLazyLoadedMaps;if(l.treeLoaded=!0,e[a]&&(e[a]=!1),r=_xeUtils.default.isArray(r)?r:[])return q.loadChildrenNode(o,r).then(e=>{var t=A.treeExpandedMaps;return e.length&&!t[a]&&(t[a]=!0),z.updateExpandedFlag++,!d&&q.isCheckedByCheckboxNodeId(a)&&oe(e,!0),j("load-success",{node:o,data:r},new Event("load-success")),(0,_vue.nextTick)()});j("load-success",{node:o,data:r},new Event("load-success"))}).catch(e=>{var t=A.treeExpandLazyLoadedMaps;l.treeLoaded=!1,t[a]&&(t[a]=!1),j("load-error",{node:o,data:e},new Event("load-error"))}).finally(()=>(h(),X(),J()))}else e()})},be=(e,t)=>{let{lazy:a,accordion:r,toggleMethod:l}=V,{treeExpandLazyLoadedMaps:o,treeExpandedMaps:d}=A,n=A.nodeMaps,i=B.value,s=D.value,u=[],c=l?e.filter(e=>l({$tree:q,expanded:t,node:e})):e;r&&(c=c.length?[c[c.length-1]]:[],e=Y(c[0]),e=n[e])&&e.items.forEach(e=>{e=Y(e);d[e]&&delete d[e]});let v=[];return t?c.forEach(e=>{var t,r=Y(e);d[r]||(t=n[r],a&&e[s]&&!t.treeLoaded&&!o[r]?u.push(Ee(e)):e[i]&&e[i].length&&(d[r]=!0,v.push(e)))}):c.forEach(e=>{var t=Y(e);d[t]&&(delete d[t],v.push(e))}),z.updateExpandedFlag++,h(),X(),Promise.all(u).then(()=>J())},ke=(e,t)=>{var r=V.lazy,{treeExpandedMaps:a,treeExpandLazyLoadedMaps:l}=A,o=Y(t),a=!a[o];e.stopPropagation(),r&&l[o]||be([t],a),j("node-expand",{node:t,expanded:a},e)},Q=()=>{var e=V.transform;let{selectCheckboxMaps:i,indeterminateRowMaps:s,afterTreeList:t}=A,o=B.value;var r=$.value;let{checkStrictly:a,checkMethod:u}=x.value;if(!a){let a={},l=[];_xeUtils.default.eachTree(t,e=>{var t=Y(e),r=e[o];r&&r.length&&!a[t]&&(a[t]=1,l.unshift([e,t,r]))},{children:e?r:o}),l.forEach(e=>{var t=e[0],r=e[1],e=e[2];let a=0,l=0,o=0;var d=e.length;e.forEach(u?e=>{var t=Y(e),r=i[t];u({$tree:q,node:e})?(r?a++:s[t]&&l++,o++):r?a++:s[t]&&l++}:e=>{e=Y(e);i[e]?a++:s[e]&&l++,o++});let n=!1;e=!(n=0<d?0<o?(0<a||0<l)&&a>=o:0<a&&a>=o||!!i[r]:i[r])&&(0<a||0<l);n?(i[r]=t,s[r]&&delete s[r]):(i[r]&&delete i[r],e?s[r]=t:s[r]&&delete s[r])}),z.updateCheckboxFlag++}},Me=(e,r)=>{e.preventDefault(),e.stopPropagation();var a=V.transform;let{selectCheckboxMaps:l,nodeMaps:t}=A;var o=B.value,d=$.value,{checkStrictly:n,checkMode:i,checkMethod:s}=x.value,u=Y(r),c=_xeUtils.default.get(r,o),c=c&&0<c.length,v=(t[u]||{}).level,s=s?!s({$tree:q,node:r}):!_(i,c,v);if(!s){let t=!1;l[u]?delete l[u]:(t=!0,l[u]=r),n||_xeUtils.default.eachTree(_xeUtils.default.get(r,a?d:o),e=>{e=Y(e);t?l[e]||(l[e]=!0):l[e]&&delete l[e]},{children:a?d:o}),z.updateCheckboxFlag++,Q();i=_xeUtils.default.keys(l).map(_util.deNodeValue);g(i),j("checkbox-change",{node:r,value:i,checked:t},e)}},Te=(e,t)=>{e.preventDefault();var{currentMethod:r,trigger:a}=d.value,l=B.value,l=_xeUtils.default.get(t,l),l=l&&l.length;let o=!!r;if("child"===a){if(l)return}else if("parent"===a&&!l)return;(o=r?!r({node:t}):o)||(z.currentNode=t,j("current-change",{node:t,checked:!0},e))},Ie=(e,t)=>{e.preventDefault(),e.stopPropagation();var r=A.nodeMaps,a=f.value,l=B.value,{checkMode:a,checkMethod:o}=a,d=Y(t),l=_xeUtils.default.get(t,l),l=l&&0<l.length,r=(r[d]||{}).level;(o?o({$tree:q,node:t}):_(a,l,r))&&(o=(0,_util.deNodeValue)(d),z.selectRadioKey=d,n(o),j("radio-change",{node:t,value:o,checked:!0},e))},Se=()=>{var e=O.value;e&&e.clientWidth&&J()},Le={dispatchEvent:j,getNodeId:Y,getNodeById(e){var t=A.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},loadData(e){return t(e||[])},reloadData(e){return t(e||[])},clearCurrentNode(){return(z.currentNode=null,_vue.nextTick)()},getCurrentNodeId(){var e=z.currentNode;return e?(0,_util.deNodeValue)(Y(e)):null},getCurrentNode(){var e=z.currentNode,t=A.nodeMaps;if(e){t=t[Y(e)];if(t)return t.item}return null},setCurrentNodeId(e){var t=A.nodeMaps,t=t[(0,_util.enNodeValue)(e)];return z.currentNode=t?t.item:null,(0,_vue.nextTick)()},setCurrentNode(e){return z.currentNode=e,(0,_vue.nextTick)()},clearRadioNode(){return z.selectRadioKey=null,n(null),(0,_vue.nextTick)()},getRadioNodeId(){return z.selectRadioKey||null},getRadioNode(){var e=z.selectRadioKey,t=A.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},setRadioNodeId(e){return z.selectRadioKey=(0,_util.enNodeValue)(e),n(e),(0,_vue.nextTick)()},setRadioNode(e){return e?(e=Y(e),z.selectRadioKey=e,n((0,_util.deNodeValue)(e))):n(null),(0,_vue.nextTick)()},setCheckboxNode(e,t){return e&&(_xeUtils.default.isArray(e)||(e=[e]),oe(e,t)),g(q.getCheckboxNodeIds()),(0,_vue.nextTick)()},setCheckboxByNodeId(e,t){return le(e,t),g(q.getCheckboxNodeIds()),(0,_vue.nextTick)()},getCheckboxNodeIds(){var e=A.selectCheckboxMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{r.push((0,_util.deNodeValue)(t))}),r},getCheckboxNodes(){let{nodeMaps:r,selectCheckboxMaps:e}=A,a=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&a.push(t.item)}),a},clearCheckboxNode(){return A.indeterminateRowMaps={},A.selectCheckboxMaps={},z.updateCheckboxFlag++,g([]),Q(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:[],checkNodes:[]}))},setAllCheckboxNode(e){var t=V.transform;let r={};var a=B.value,l=$.value;let o=[],d=[];return e&&_xeUtils.default.eachTree(A.afterTreeList,e=>{var t=Y(e);o.push(t),d.push(e),r[t]=!0},{children:t?l:a}),A.indeterminateRowMaps={},A.selectCheckboxMaps=r,z.updateCheckboxFlag++,Q(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:o,checkNodes:d}))},clearExpandNode(){return Le.clearAllExpandNode()},clearAllExpandNode(){let e=z.scrollYLoad;var{nodeMaps:t,scrollYStore:r}=A;return _xeUtils.default.each(t,e=>{e.treeLoaded=!1}),A.treeExpandedMaps={},z.updateExpandedFlag++,z.topSpaceHeight=0,r.startIndex=0,r.endIndex=1,h(),X(),J().then(()=>(e&&fe(),J()))},setExpandByNodeId(e,t){let r=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_util.enNodeValue)(e);l(e,t,r)}),z.updateExpandedFlag++),h(),X(),J()},getExpandNodeIds(){var e=A.treeExpandedMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{r.push((0,_util.deNodeValue)(t))}),r},getExpandNodes(){let{nodeMaps:r,treeExpandedMaps:e}=A,a=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&a.push(t.item)}),a},setExpandNode(e,t){let r=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=Y(e);l(e,t,r)}),z.updateExpandedFlag++),h(),X(),J()},toggleExpandByNodeId(e){let t=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_util.enNodeValue)(e);l(e,!t[""+e],t)}),z.updateExpandedFlag++),h(),X(),J()},toggleExpandNode(e){let t=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=Y(e);l(e,!t[e],t)}),z.updateExpandedFlag++),h(),X(),J()},setAllExpandNode(e){var t=V.transform;let r=z.scrollYLoad,{scrollYStore:a,treeExpandedMaps:l}=A,o=B.value;var d=$.value;return e?_xeUtils.default.eachTree(A.afterTreeList,e=>{var t=_xeUtils.default.get(e,o);t&&t.length&&(t=Y(e),l[t]=!0)},{children:t?d:o}):A.treeExpandedMaps={},z.updateExpandedFlag++,z.topSpaceHeight=0,a.startIndex=0,a.endIndex=1,h(),X(),J().then(()=>(r&&fe(),J()))},reloadExpandNode(e){var t=V.lazy;return t?(Le.clearExpandLoaded(e),Ee(e)):J()},clearExpandLoaded(e){var t=V.lazy,r=A.nodeMaps;return t&&(t=r[Y(e)])&&(t.treeLoaded=!1),J()},loadChildrenNode(t,e){let{lazy:r,transform:a}=V,n=A.nodeMaps;if(!r)return Promise.resolve([]);let l=B.value,o=$.value,i=n[Y(t)],s=i?i.level:0,u=i?i.nodes:[];return(e=>{let r=k.value;return Promise.resolve(e.map(e=>{var t,e=Object.assign({},e);return Y(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,r,t)),e}))})(e).then(e=>(_xeUtils.default.eachTree(e,(e,t,r,a,l,o)=>{var d=Y(e);n[d]={item:e,index:-1,$index:-1,_index:-1,items:r,parent:l||i.item,nodes:u.concat(o),level:s+o.length,treeIndex:-1,lineCount:0,treeLoaded:!1}},{children:l}),t[l]=e,a&&(t[o]=e),G(),e))},isExpandByNode:e=>{var t=z.updateExpandedFlag,r=A.treeExpandedMaps,e=Y(e);return!(!t||!r[e])},isCheckedByRadioNodeId:te,isCheckedByRadioNode:e=>te(Y(e)),isCheckedByCheckboxNodeId:re,isIndeterminateByCheckboxNode:e=>ae(Y(e)),isCheckedByCheckboxNode:e=>re(Y(e)),getCheckboxIndeterminateNodes(){let{nodeMaps:r,indeterminateRowMaps:e}=A,a=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&a.push(t.item)}),a},recalculate:J,getFullData(){var e=A.treeFullData;return e.slice(0)},scrollTo:pe,scrollToNode(e){return q.scrollToNodeId(Y(e))},scrollToNodeId(t){var e=V.transform;let{scrollYStore:r,afterTreeList:a}=A;var l=B.value,o=$.value;let d=p.value;if(t&&d)if(e){e=_xeUtils.default.findTree(a,e=>Y(e)===t,{children:e?o:l});if(e)return q.setExpandNode(e.nodes,!0).then(()=>{var e=_xeUtils.default.findIndexOf(A.afterVisibleList,e=>Y(e)===t);if(-1<e)return e=Math.max(0,(e-1)*r.rowHeight),pe(d.scrollLeft,e)})}else{o=d.querySelector(`.vxe-tree--node-wrapper[nodeid="${t}"]`);if(o)return pe(d.scrollLeft,o.offsetTop)}return J()},clearScroll:_e},we=()=>{var e=O.value;if(e){let t="node--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},De=e=>{var t=O.value;if(t){e=Y(e);_xeUtils.default.arrayEach(t.querySelectorAll(`.vxe-tree--node-wrapper[nodeid="${e}"]`),e=>{(0,_dom.addClass)(e,"node--drag-origin")})}},Ue=e=>{var t=z.dragNode,r=P.value.tooltipMethod;let a="";a=r?""+(r({$tree:q,node:t})||""):getI18n("vxe.tree.dragTip",[e.textContent||""]),z.dragTipText=a},i=()=>{var e=b.value,t=E.value;e&&(e.style.display=""),t&&(t.style.display="")},Z=()=>{u.node=null},Re=()=>{var e=z.dragNode;e&&(i(),we(),Z(),z.dragNode=null)},He=(e,t)=>{e.stopPropagation();var r=t.node,{trigger:a,dragStartMethod:l}=P.value,o=e.currentTarget,a="node"===a?o:o.parentElement.parentElement;we(),l&&!l(t)?(a.draggable=!1,z.dragNode=null,i()):(z.dragNode=r,a.draggable=!0,De(r),Ue(a),j("node-dragstart",t,e))},Fe=()=>{Re()},Ve=(e,t,r,a)=>{var l=O.value;if(l){var o=A.prevDragToChild,d=l.getBoundingClientRect(),n=l.clientHeight;if(t){var i=E.value;if(i)if(r){var s=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,s.y-d.y);t+e>n&&(e=n-t),i.style.display="block",i.style.top=t+"px",i.style.height=e+"px",i.setAttribute("drag-pos",a),i.setAttribute("drag-to-child",o?"y":"n")}else i.style.display=""}s=b.value;s&&(s.style.display="block",s.style.top=Math.min(l.clientHeight-l.scrollTop-s.clientHeight,e.clientY-d.y)+"px",s.style.left=Math.min(l.clientWidth-l.scrollLeft-s.clientWidth-1,e.clientX-d.x)+"px",s.setAttribute("drag-status",r?o?"sub":"normal":"disabled"))}},ee=()=>{var e=O.value;i(),we(),(0,_anime.clearRowAnimate)(e,[".vxe-tree--node-wrapper"]),A.prevDragToChild=!1,z.dragNode=null},Oe=(v,g,h,p,e)=>{let f=V.transform,{nodeMaps:x,treeFullData:_,afterVisibleList:m}=A;var C=P.value;let{animation:y,isCrossDrag:N,isPeerDrag:E,isSelfToChildDrag:b,dragEndMethod:t,dragToChildMethod:k}=C;C=t||(C?C.dragEndMethod:null);let M=c.value,T=K.value,I=B.value,S=$.value,L="bottom"===p?1:0,w=O.value,D={status:!1};if(w&&h&&g){if(h!==g){var U={oldNode:g,newNode:h,dragNode:g,dragPos:p,dragToChild:!!e,offsetIndex:L};let r=Y(g);var R=x[r]||{};let s=R._index,u=0,c=-1,a=(y&&(H=w.querySelector(`.vxe-tree--node-wrapper[nodeid="${h}"]`),F=w.querySelector(`.vxe-tree--node-wrapper[nodeid="${r}"]`),(H=H||F)&&(u=H.offsetHeight),F)&&(c=F.offsetTop),-1),l=-1,t={},o=!1,d=R;var H=Y(h);let n=x[H];if(f&&d&&n){var F=d.level,R=n.level;if(_xeUtils.default.eachTree([g],e=>{t[Y(e)]=e},{children:S}),F&&R)if(E&&!N){if(d.item[T]!==n.item[T])return ee(),Z(),D}else{if(!N)return ee(),Z(),D;if(t[H]&&(o=!0,!N||!b))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),ee(),Z(),D}else if(F){if(!N)return ee(),Z(),D}else if(R){if(!N)return ee(),Z(),D;if(t[H]&&(o=!0,!N||!b))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),ee(),Z(),D}}let i=b&&k?k(U):e;return Promise.resolve(!C||C(U)).then(e=>{var t;return e?(f?d&&n&&(e=_xeUtils.default.toTreeArray(A.afterTreeList,{updated:!1,key:M,parentKey:T,children:S}),t=q.findNodeIndexOf(e,g),e.splice(t,1),t=q.findNodeIndexOf(e,h)+L,e.splice(t,0,g),o&&N&&b&&_xeUtils.default.each(g[I],e=>{e[T]=g[T]}),g[T]=i?h[M]:h[T],A.treeFullData=_xeUtils.default.toArrayTree(e,{key:M,parentKey:T,children:I,mapChildren:S})):(a=q.findNodeIndexOf(m,g),t=q.findNodeIndexOf(_,g),m.splice(a,1),_.splice(t,1),e=q.findNodeIndexOf(m,h),t=q.findNodeIndexOf(_,h),l=e+L,e=t+L,m.splice(l,0,g),_.splice(e,0,g)),se(),X(f),f||G(),Q(),z.scrollYLoad&&W(),v&&j("node-dragend",{oldNode:g,newNode:h,dragNode:g,dragPos:p,dragToChild:i,offsetIndex:L,_index:{newIndex:l,oldIndex:a}},v),(0,_vue.nextTick)().then(()=>{if(y){var a=z.treeList,l=A.nodeMaps,o=l[r],d=o._index,n=a[0],l=l[Y(n)],n=w;if(l){var l=l._index,i=l+a.length;let e=-1,t=-1,r=1;s<l?(e=0,t=d-l):s>i?(i=o.$index,e=i+1,t=a.length,r=-1):d>s?(e=s-l,t=e+d-s):(e=d-l,t=e+s-d+1,r=-1);o=a.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=Y(e);t.push(`.vxe-tree--node-wrapper[nodeid="${e}"]`)});i=n.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(i,r*u)}}l=[`.vxe-tree--node-wrapper[nodeid="${r}"]`],d=n.querySelectorAll(l.join(",")),a=d[0];-1<c&&a&&(0,_anime.moveRowAnimateToTb)(d,c-a.offsetTop)}J()}).then(()=>({status:!0}))):D}).catch(()=>D).then(e=>(ee(),Z(),e))}ee(),Z()}return Promise.resolve(D)},Ae=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},ze=e=>{var t=V.lazy,r=z.dragNode,{nodeMaps:a,prevDragNode:l,prevDragPos:o,prevDragToChild:d}=A,n=D.value;t&&d&&(t=a[Y(l)],l[n])&&(!t||!t.treeLoaded)||Oe(e,r,l,o,d)},Ke=e=>{var t,r,{lazy:a,transform:l}=V,o=z.dragNode,d=A.nodeMaps,n=P.value,i=K.value,s=D.value,{isCrossDrag:n,isPeerDrag:u,isToChildDrag:c}=n,v=(o||n||e.preventDefault(),(0,_dom.hasControlKey)(e)),g=e.currentTarget,h=g.getAttribute("nodeid")||"",d=d[h];d&&(e.preventDefault(),t=d.item,r=e.clientY-g.getBoundingClientRect().y<g.clientHeight/2?"top":"bottom",A.prevDragToChild=!!(l&&n&&c&&v),A.prevDragNode=t,A.prevDragPos=r,o&&Y(o)===h||v&&a&&t[s]&&d&&!d.treeLoaded||!n&&l&&(u?o[i]!==t[i]:d.level)?Ve(e,g,!1,r):(Ve(e,g,!0,r),j("node-dragover",{oldRNode:o,targetNode:t,dragPos:r},e)))};e={handleData:X,cacheNodeMap:se,updateAfterDataIndex:G,updateCheckboxStatus:Q,updateYSpace:W,findNodeIndexOf(e,t){return t?_xeUtils.default.findIndexOf(e,e=>q.eqNode(e,t)):-1},eqNode(e,t){return!(!e||!t||e!==t&&Y(e)!==Y(t))},handleCrossTreeNodeDragCancelEvent(){ee(),Z()},handleCrossTreeNodeDragFinishEvent(){},handleCrossTreeNodeDragInsertEvent(){},handleCrossTreeNodeDragoverEmptyEvent(){},hideCrossTreeNodeDropClearStatus(){i()}};Object.assign(q,Le,e);let Be=(e,t)=>{var{drag:r,transform:a}=V,l=A.nodeMaps,{showIcon:o,isPeerDrag:d,isCrossDrag:n,visibleMethod:i}=P.value;let s={node:e,$tree:q};if(r&&o&&a&&(!i||i(s))){e=l[t];if(e&&(d||n||!e.level)){var{icon:r,trigger:o,disabledMethod:a}=P.value;let t=a&&a(s);i={};return"node"!==o&&(i.onMousedown=e=>{t||He(e,s)},i.onMouseup=Fe),(0,_vue.h)("div",Object.assign({class:["vxe-tree--drag-handle",{"is--disabled":t}]},i),[(0,_vue.h)("i",{class:r||getIcon().TREE_DRAG})])}}return(0,_ui.renderEmptyElement)(q)},_=(e,t,r)=>{if(e){if("first"===e)return!r;if("last"===e)return!t}return!0},$e=(r,e,a,l,o)=>{var t=V.showRadio,{showIcon:d,checkMode:n,checkMethod:i,visibleMode:s,visibleMethod:u}=f.value,u=u?u({$tree:q,node:r}):_(s,a,l);if(t&&d&&u){let t=i?!i({$tree:q,node:r}):!_(n,a,l);return(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":o,"is--disabled":t}],onClick:e=>{t||Ie(e,r)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?getIcon().RADIO_CHECKED:getIcon().RADIO_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(q)},Pe=(r,e,a,l,o,d)=>{var t=V.showCheckbox,{showIcon:n,checkMode:i,checkMethod:s,visibleMode:u,visibleMethod:c}=x.value,c=c?c({$tree:q,node:r}):_(u,a,l);if(t&&n&&c){let t=s?!s({$tree:q,node:r}):!_(i,a,l);return(0,_vue.h)("div",{class:["vxe-tree--checkbox-option",{"is--checked":o,"is--indeterminate":d,"is--disabled":t}],onClick:e=>{t||Me(e,r)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",d?getIcon().CHECKBOX_INDETERMINATE:o?getIcon().CHECKBOX_CHECKED:getIcon().CHECKBOX_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(q)},qe=(t,e)=>{var{lazy:r,drag:a,transform:l,showRadio:o,showCheckbox:d,showLine:n,iconOpen:i,iconClose:s,iconLoaded:u,showIcon:c}=V,{currentNode:v,selectRadioKey:g,updateExpandedFlag:h}=z,{afterTreeList:p,nodeMaps:f,treeExpandedMaps:x,treeExpandLazyLoadedMaps:_}=A,m=B.value,C=U.value,y=D.value,m=_xeUtils.default.get(t,m),m=m&&0<m.length,N=w.icon,E=w.title,b=w.extra,h=h&&x[e],x=f[e]||{},f=_xeUtils.default.get(t,C),C=x.level;let k=!1,M=(o&&(k=e===String(g)),!1),T=!1,I=(d&&(M=re(e),T=ae(e)),!1),S=!1,L=!1;r&&(S=!!_[e],I=t[y],L=!!x.treeLoaded);o=x.items[x.treeIndex-1],g={node:t,isExpand:h},d={onMousedown(e){me(e,t)},onMouseup:Fe,onClick(e){Ce(e,t)},onDblclick(e){ye(e,t)},onContextmenu(e){Ne(e,t)}};return a&&l&&(d.onDragstart=Ae,d.onDragend=ze,d.onDragover=Ke),(0,_vue.h)("div",Object.assign({key:e,class:["vxe-tree--node-wrapper","node--level-"+C],nodeid:e},d),[(0,_vue.h)("div",{class:["vxe-tree--node-item",{"is--current":v&&e===Y(v),"is-radio--checked":k,"is-checkbox--checked":M,"is-checkbox--indeterminate":T}]},[n?(0,_vue.h)("div",{class:"vxe-tree--node-line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--node-line",style:{height:`${Y(p[0])===e?1:(0,_util.calcTreeLine)(q,t,o)}px`}})]):(0,_ui.renderEmptyElement)(q),(0,_vue.h)("div",{class:"vxe-tree--node-item-switcher"},c&&(!r||L?m:I)?[(0,_vue.h)("div",{class:"vxe-tree--node-item-icon",onClick(e){ke(e,t)}},N?(0,_vn.getSlotVNs)(N(g)):[(0,_vue.h)("i",{class:S?u||getIcon().TREE_NODE_LOADED:h?i||getIcon().TREE_NODE_OPEN:s||getIcon().TREE_NODE_CLOSE})])]:[]),Be(t,e),$e(t,e,m,C,k),Pe(t,e,m,C,M,T),(0,_vue.h)("div",{class:"vxe-tree--node-item-inner"},[(0,_vue.h)("div",{class:"vxe-tree--node-item-title"},E?(0,_vn.getSlotVNs)(E(g)):""+f),b?(0,_vue.h)("div",{class:"vxe-tree--node-item-extra"},(0,_vn.getSlotVNs)(b(g))):(0,_ui.renderEmptyElement)(q)])])])},Ye=e=>{var t=V.transform;let r=A.treeExpandedMaps,a=B.value;if(!e.length)return[(0,_vue.h)("div",{class:"vxe-tree--empty-placeholder"},getI18n("vxe.tree.searchEmpty"))];let l=[];return e.forEach(t?e=>{var t=Y(e);l.push(qe(e,t))}:e=>{var t=Y(e),e=(l.push(qe(e,t)),_xeUtils.default.get(e,a));e&&e.length&&r[t]&&l.push(...Ye(e))}),l};let je=(0,_vue.ref)(0),Ge=((0,_vue.watch)(()=>V.data?V.data.length:0,()=>{je.value++}),(0,_vue.watch)(()=>V.data,()=>{je.value++}),(0,_vue.watch)(je,()=>{t(V.data||[])}),(0,_vue.watch)(()=>V.checkNodeKey,e=>{z.selectRadioKey=(0,_util.enNodeValue)(e)}),(0,_vue.ref)(0)),r=((0,_vue.watch)(()=>V.checkNodeKeys?V.checkNodeKeys.length:0,()=>{Ge.value++}),(0,_vue.watch)(()=>V.checkNodeKeys,()=>{Ge.value++}),(0,_vue.watch)(Ge,()=>{var e;e=V.checkNodeKeys||[],A.selectCheckboxMaps={},le(e,!0)}),(0,_vue.watch)(()=>V.filterValue,()=>{ce(new Event("filter"))}),(0,_vue.ref)(0)),o=((0,_vue.watch)(()=>V.height,()=>{r.value++}),(0,_vue.watch)(()=>V.minHeight,()=>{r.value++}),(0,_vue.watch)(()=>V.maxHeight,()=>{r.value++}),(0,_vue.watch)(r,()=>{J()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>V.rootParentValue,()=>{o.value++}),(0,_vue.watch)(()=>V.rootValues?V.rootValues.length:0,()=>{o.value++}),(0,_vue.watch)(()=>V.rootValues,()=>{o.value++}),(0,_vue.watch)(o,()=>{t(V.data||[])}),(0,_vue.onMounted)(()=>{var{transform:e,drag:t,menuConfig:r}=V,a=P.value,t=(t&&!e&&(0,_log.errLog)("vxe.error.notSupportProp",["drag","transform=false","transform=true"]),a.isCrossTreeDrag&&(0,_log.errLog)("vxe.error.notProp",["drag-config.isCrossTreeDrag"]),_ui.VxeUI.getComponent("VxeContextMenu"));r&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-context-menu"]),V.autoResize&&(e=O.value,a=de(),r=_ui.globalResize.create(()=>{V.autoResize&&J()}),e&&r.observe(e),a&&r.observe(a),A.resizeObserver=r),_ui.globalEvents.on(q,"resize",Se)}),(0,_vue.onBeforeUnmount)(()=>{var e=A.resizeObserver;e&&e.disconnect(),_ui.globalEvents.off(q,"resize"),_xeUtils.default.assign(z,createReactData()),_xeUtils.default.assign(A,createInternalData())}),z.selectRadioKey=(0,_util.enNodeValue)(V.checkNodeKey),t(V.data||[]),q.renderVN=()=>{var{loading:e,trigger:t,showLine:r}=V,{bodyHeight:a,topSpaceHeight:l,treeList:o}=z,d=m.value,n=f.value,i=x.value,s=S.value,u=I.value,c=R.value;let v=w.loading;var g=w.header,h=w.footer;return(0,_vue.h)("div",{ref:O,class:["vxe-tree",{["size--"+d]:d,"show--line":r,"checkbox--highlight":i.highlight,"radio--highlight":n.highlight,"node--hover":u,"node--trigger":"node"===t,"is--loading":e}]},[g?(0,_vue.h)("div",{ref:C,class:"vxe-tree--header-wrapper"},g({$tree:q})):(0,_ui.renderEmptyElement)(q),(0,_vue.h)("div",{ref:p,class:"vxe-tree--node-list-wrapper",style:c,onScroll:xe},[(0,_vue.h)("div",{class:"vxe-tree--y-space",style:{height:a?a+"px":""}}),(0,_vue.h)("div",{ref:N,class:"vxe-tree--node-list-body",style:{transform:`translateY(${l}px)`}},Ye(o))]),h?(0,_vue.h)("div",{ref:y,class:"vxe-tree--footer-wrapper"},h({$tree:q})):(0,_ui.renderEmptyElement)(q),(()=>{var e=V.drag,{dragNode:t,dragTipText:r}=z,a=P.value;return e?(0,_vue.h)("div",{class:"vxe-tree--drag-wrapper"},[(0,_vue.h)("div",{ref:E,class:["vxe-tree--drag-node-line",{"is--guides":a.showGuidesStatus}]}),t&&a.showDragTip?(0,_vue.h)("div",{ref:b,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)(q)]):(0,_ui.renderEmptyElement)(q)})(),(0,_vue.h)(_loading.default,{class:"vxe-tree--loading",modelValue:e,icon:s.icon,text:s.text},v?{default:()=>v({$tree:q})}:{})])},(0,_vue.provide)("$xeTree",q),q},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"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,getConfig,getI18n,getIcon}=_ui.VxeUI;function getNodeUniqueId(){return _xeUtils.default.uniqueId("node_")}function createInternalData(){return{treeFullData:[],afterTreeList:[],afterVisibleList:[],nodeMaps:{},selectCheckboxMaps:{},indeterminateRowMaps:{},treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0}}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,dragNode:null,dragTipText:""}}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},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:{type:[String,Number],default:()=>getConfig().tree.checkNodeKey},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>getConfig().tree.showCheckbox},checkNodeKeys:{type:Array,default:()=>getConfig().tree.checkNodeKeys},checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,toggleMethod:Function,loadMethod:Function,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},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-expand","node-menu","menu-click"],setup(V,s){let{emit:a,slots:D}=s;var e=_xeUtils.default.uniqueId();let m=(0,_ui.useSize)(V).computeSize,O=(0,_vue.ref)(),C=(0,_vue.ref)(),y=(0,_vue.ref)(),p=(0,_vue.ref)(),N=(0,_vue.ref)(),E=(0,_vue.ref)(),b=(0,_vue.ref)(),u=(0,_store.getCrossTreeDragNodeInfo)(),A=createInternalData(),z=(0,_vue.reactive)(createReactData()),g={refElem:O},U=(0,_vue.computed)(()=>V.titleField||"title"),c=(0,_vue.computed)(()=>V.keyField||"id"),k=(0,_vue.computed)(()=>{var e=c.value;return V.valueField||e}),K=(0,_vue.computed)(()=>V.parentField||"parentId"),B=(0,_vue.computed)(()=>V.childrenField||"children"),$=(0,_vue.computed)(()=>V.mapChildrenField||"mapChildren"),w=(0,_vue.computed)(()=>V.hasChildField||"hasChild"),M=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.virtualYConfig,V.virtualYConfig)),T=(0,_vue.computed)(()=>{var e=d.value.isCurrent;return _xeUtils.default.isBoolean(e)?e:V.isCurrent}),I=(0,_vue.computed)(()=>{var e=d.value.isHover;return _xeUtils.default.isBoolean(e)?e:V.isHover}),f=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().tree.radioConfig,V.radioConfig)),x=(0,_vue.computed)(()=>Object.assign({showIcon:!0},getConfig().tree.checkboxConfig,V.checkboxConfig)),d=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.nodeConfig,V.nodeConfig)),S=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.loadingConfig,V.loadingConfig)),P=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.dragConfig,V.dragConfig)),L=(0,_vue.computed)(()=>Object.assign({},getConfig().tree.menuConfig,V.menuConfig)),R=(0,_vue.computed)(()=>{var e=V.indent,{customHeight:t,customMinHeight:r,customMaxHeight:a}=z,l=x.value.nodeStyle,o={};return t&&(o.height=(0,_dom.toCssUnit)(t)),r&&(o.minHeight=(0,_dom.toCssUnit)(r)),a&&(o.maxHeight=(0,_dom.toCssUnit)(a)),e&&(o["--vxe-ui-tree-node-indent"]=(0,_dom.toCssUnit)(e)),l&&({indeterminateColor:t,checkedColor:r}=l,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,V.filterConfig)),F={computeKeyField:c,computeParentField:K,computeChildrenField:B,computeMapChildrenField:$,computeRadioOpts:f,computeCheckboxOpts:x,computeNodeOpts:d,computeDragOpts:P},q={xID:e,props:V,context:s,internalData:A,reactData:z,getRefMaps:()=>g,getComputeMaps:()=>F},Y=e=>{var t;return e?(t=k.value,e=_xeUtils.default.get(e,t),(0,_util.enNodeValue)(e)):""};let te=e=>{var t=z.selectRadioKey;return t===e};let re=e=>{var t=z.updateCheckboxFlag,r=A.selectCheckboxMaps;return!(!t||!r[e])};let ae=e=>{var t=z.updateCheckboxFlag,r=A.indeterminateRowMaps;return!(!t||!r[e])};let v=e=>{a("update:checkNodeKeys",e)},n=e=>{a("update:checkNodeKey",e)},le=(e,r)=>{let a=A.nodeMaps;if(e){_xeUtils.default.isArray(e)||(e=[e]);let t=[];e.forEach(e=>{e=(0,_util.enNodeValue)(e),e=a[e];e&&t.push(e.item)}),oe(t,r)}return(0,_vue.nextTick)()},oe=(e,r)=>{var t=V.transform;let a=A.selectCheckboxMaps;var l=$.value,o=B.value,d=x.value.checkStrictly,n=e=>{var t=Y(e);r?a[t]||(a[t]=e):a[t]&&delete a[t]};d?e.forEach(n):_xeUtils.default.eachTree(e,n,{children:t?l:o}),z.updateCheckboxFlag++,Q()},l=(e,t,r)=>{t?r[e]||(r[e]=!0):r[e]&&delete r[e]},j=(e,t,r)=>{a(e,(0,_ui.createEvent)(r,{$tree:q},t))},de=()=>{var e=O.value;return e?e.parentElement:null},ne=e=>{var t=z.parentHeight,e=V[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},ie=()=>{z.customHeight=ne("height"),z.customMinHeight=ne("minHeight"),z.customMaxHeight=ne("maxHeight"),!z.scrollYLoad||z.customHeight||z.customMinHeight||(z.customHeight=300)},se=()=>{var e=A.treeFullData;let n=k.value;var t=B.value;let i={};_xeUtils.default.eachTree(e,(e,t,r,a,l,o)=>{let d=Y(e);d||(d=getNodeUniqueId(),_xeUtils.default.set(e,n,d)),i[d]={item:e,index:t,$index:-1,_index:-1,items:r,parent:l,nodes:o,level:o.length-1,treeIndex:t,lineCount:0,treeLoaded:!1}},{children:t}),A.nodeMaps=i},G=()=>{var e=V.transform;let{afterTreeList:t,nodeMaps:i}=A;var r=B.value,a=$.value;let s=0;_xeUtils.default.eachTree(t,(e,t,r,a,l,o)=>{var d=Y(e),n=i[d];n?(n.items=r,n.treeIndex=t,n._index=s):(n={item:e,index:t,$index:-1,_index:s,items:r,parent:l,nodes:o,level:o.length-1,treeIndex:t,lineCount:0,treeLoaded:!1},i[d]=n),s++},{children:e?a:r})},ue=()=>{var{transform:t,filterValue:r}=V,{treeFullData:a,lastFilterValue:e}=A;let l=U.value;var o=B.value,d=$.value;let{autoExpandAll:n,beforeFilterMethod:i,filterMethod:s,afterFilterMethod:u}=H.value,c=a,g=c,v="";if(r||0===r){v=""+r;r=s?e=>s({$tree:q,node:e,filterValue:v}):e=>-1<String(e[l]).toLowerCase().indexOf(v.toLowerCase());let e={$tree:q,filterValue:v};i&&i(e),c=t?g=_xeUtils.default.searchTree(a,r,{original:!0,isEvery:!0,children:o,mapChildren:d}):a.filter(r),A.lastFilterValue=v,(0,_vue.nextTick)(()=>{n?q.setAllExpandNode(!0).then(()=>{u&&u(e)}):u&&u(e)})}else{if(t&&(g=_xeUtils.default.searchTree(a,()=>!0,{original:!0,isEvery:!0,children:o,mapChildren:d}),c=g,e)){let e={$tree:q,filterValue:v};i&&i(e),(0,_vue.nextTick)(()=>{n?q.clearAllExpandNode().then(()=>{u&&u(e)}):u&&u(e)})}A.lastFilterValue=""}A.afterVisibleList=c,A.afterTreeList=g,G()},h=()=>{var e=V.transform;let{afterTreeList:t,treeExpandedMaps:i}=A;var r=$.value;let s={};if(e){let n=[];return _xeUtils.default.eachTree(t,(e,t,r,a,l)=>{var o=Y(e),d=Y(l);(!l||s[d]&&i[d])&&(s[o]=1,n.push(e))},{children:r}),ge(n),A.afterVisibleList=n}return A.afterVisibleList},X=e=>{var t=z.scrollYLoad;let{scrollYStore:r,nodeMaps:a}=A,l=A.afterVisibleList;e&&(ue(),l=h());e=t?l.slice(r.startIndex,r.endIndex):l.slice(0);e.forEach((e,t)=>{e=Y(e),e=a[e];e&&(e.$index=t)}),z.treeList=e},ce=_xeUtils.default.debounce(()=>X(!0),350,{trailing:!0}),t=e=>{let{expandAll:t,expandNodeKeys:r,transform:a,rootParentValue:l,rootValues:o}=V,{initialized:d,scrollYStore:n}=A;var i=c.value,s=K.value,u=B.value,i=a?_xeUtils.default.toArrayTree(e,{key:i,parentKey:s,mapChildren:u,rootParentValue:l,rootValues:o}):e?e.slice(0):[],s=(A.treeFullData=i,Object.assign(n,{startIndex:0,endIndex:1,visibleSize:0}),ge(i));return se(),X(!0),!s||V.height||V.maxHeight||(0,_log.errLog)("vxe.error.reqProp",["[tree] height | max-height | virtual-y-config.enabled=false"]),he().then(()=>{d||e&&e.length&&(A.initialized=!0,t?q.setAllExpandNode(!0):r&&r.length&&q.setExpandByNodeId(r,!0),le(V.checkNodeKeys||[],!0)),ie();{let{lastScrollLeft:e,lastScrollTop:t}=A;_e().then(()=>{if(e||t)return A.lastScrollLeft=0,A.lastScrollTop=0,scrollTo(e,t)})}})},ge=e=>{var t=V.transform,r=M.value,e=e||A.treeFullData,t=!!t&&!!r.enabled&&-1<r.gt&&(0===r.gt||r.gt<e.length);return z.scrollYLoad=t},W=()=>{var e=z.scrollYLoad,{scrollYStore:t,afterVisibleList:r}=A;z.bodyHeight=e?r.length*t.rowHeight:0,z.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},ve=()=>{X(),W()},he=()=>(0,_vue.nextTick)().then(()=>{var e=z.scrollYLoad,t=A.scrollYStore,r=N.value,a=M.value;let l=0,o;(o=r?o||r.children[0]:o)&&(l=o.offsetHeight),l=Math.max(20,l),t.rowHeight=l,(e?(r=p.value,e=Math.max(8,r?Math.ceil(r.clientHeight/l):0),r=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),t.offsetSize=r,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+r,t.endIndex),ve):W)()}),pe=(e,t)=>{var r=p.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),z.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},J=()=>{var e,t,r,a=A.scrollYStore,a=a.rowHeight,l=O.value;return l&&l.clientWidth&&l.clientHeight?(l=de(),e=C.value,t=y.value,e=e?e.clientHeight:0,t=t?t.clientHeight:0,l&&(r=(0,_dom.getPaddingTopBottomSize)(l),z.parentHeight=Math.max(e+t+a,l.clientHeight-r-e-t)),ie(),he().then(()=>{ie(),W()})):(0,_vue.nextTick)()},fe=()=>{var e=A.scrollYStore,{startIndex:t,endIndex:r,visibleSize:a,offsetSize:l,rowHeight:o}=e,d=p.value;d&&(d=d.scrollTop,d=Math.floor(d/o),o=Math.max(0,d-1-l),l=d+a+l,!(d<=t||r-a-1<=d)||t===o&&r===l||(e.startIndex=o,e.endIndex=l,ve()))},xe=e=>{var t=e.target,r=t.scrollTop,t=t.scrollLeft,a=t!==A.lastScrollLeft,l=r!==A.lastScrollTop;A.lastScrollTop=r,A.lastScrollLeft=t,z.scrollYLoad&&fe(),A.lastScrollTime=Date.now(),j("scroll",{scrollLeft:t,scrollTop:r,isX:a,isY:l},e)},_e=()=>{var e=p.value;return e&&(e.scrollTop=0,e.scrollLeft=0),A.lastScrollTop=0,(A.lastScrollLeft=0,_vue.nextTick)()},me=(e,t)=>{var r=V.drag,a=A.nodeMaps,l=e.currentTarget,{trigger:o,isCrossDrag:d,isPeerDrag:n,disabledMethod:i}=P.value,s=Y(t);let u=r?"node"===o:!1;(0,_dom.getEventTargetNode)(e,l,"vxe-tree--node-item-switcher").flag||(r={node:t,$tree:q},o=a[s],!u)||!(d||n||o&&!o.level)||i&&i(r)||He(e,{node:t})},Ce=(e,t)=>{var{showRadio:r,showCheckbox:a,trigger:l}=V,o=f.value,d=x.value;let n=!1,i=!1,s=!1,u=!1;T.value?(n=!0,Te(e,t)):z.currentNode&&(z.currentNode=null),"node"===l&&(u=!0,ke(e,t)),r&&"node"===o.trigger&&(i=!0,Ie(e,t)),a&&"node"===d.trigger&&(s=!0,Me(e,t)),j("node-click",{node:t,triggerCurrent:n,triggerRadio:i,triggerCheckbox:s,triggerExpand:u},e)},ye=(e,t)=>{j("node-dblclick",{node:t},e)},Ne=(a,l)=>{var e=V.menuConfig,t=T.value,r=L.value;(e?(0,_utils.isEnableConf)(r):r.enabled)&&({options:e,visibleMethod:r}=r,r&&!r({$tree:q,options:e,node:l})||(t?Te(a,l):z.currentNode&&(z.currentNode=null),_ui.VxeUI.contextMenu&&_ui.VxeUI.contextMenu.openByEvent(a,{options:e,events:{optionClick(e){var t=e.option,r=menus.get(t.code),r=r?r.treeMenuMethod:null,t={menu:t,node:l,$event:a,$tree:q,option:t};r&&r(t,a),j("menu-click",t,e.$event)}}}))),j("node-menu",{node:l},a)},Ee=o=>{var e=x.value;let r=V.loadMethod,d=e.checkStrictly;return new Promise(e=>{if(r){var t=A.nodeMaps;let a=Y(o),l=t[a];A.treeExpandLazyLoadedMaps[a]=!0,Promise.resolve(r({$tree:q,node:o})).then(r=>{var e=A.treeExpandLazyLoadedMaps;if(l.treeLoaded=!0,e[a]&&(e[a]=!1),r=_xeUtils.default.isArray(r)?r:[])return q.loadChildrenNode(o,r).then(e=>{var t=A.treeExpandedMaps;return e.length&&!t[a]&&(t[a]=!0),z.updateExpandedFlag++,!d&&q.isCheckedByCheckboxNodeId(a)&&oe(e,!0),j("load-success",{node:o,data:r},new Event("load-success")),(0,_vue.nextTick)()});j("load-success",{node:o,data:r},new Event("load-success"))}).catch(e=>{var t=A.treeExpandLazyLoadedMaps;l.treeLoaded=!1,t[a]&&(t[a]=!1),j("load-error",{node:o,data:e},new Event("load-error"))}).finally(()=>(h(),X(),J()))}else e()})},be=(e,t)=>{let{lazy:a,accordion:r,toggleMethod:l}=V,{treeExpandLazyLoadedMaps:o,treeExpandedMaps:d}=A,n=A.nodeMaps,i=B.value,s=w.value,u=[],c=l?e.filter(e=>l({$tree:q,expanded:t,node:e})):e;r&&(c=c.length?[c[c.length-1]]:[],e=Y(c[0]),e=n[e])&&e.items.forEach(e=>{e=Y(e);d[e]&&delete d[e]});let g=[];return t?c.forEach(e=>{var t,r=Y(e);d[r]||(t=n[r],a&&e[s]&&!t.treeLoaded&&!o[r]?u.push(Ee(e)):e[i]&&e[i].length&&(d[r]=!0,g.push(e)))}):c.forEach(e=>{var t=Y(e);d[t]&&(delete d[t],g.push(e))}),z.updateExpandedFlag++,h(),X(),Promise.all(u).then(()=>J())},ke=(e,t)=>{var r=V.lazy,{treeExpandedMaps:a,treeExpandLazyLoadedMaps:l}=A,o=Y(t),a=!a[o];e.stopPropagation(),r&&l[o]||be([t],a),j("node-expand",{node:t,expanded:a},e)},Q=()=>{var e=V.transform;let{selectCheckboxMaps:i,indeterminateRowMaps:s,afterTreeList:t}=A,o=B.value;var r=$.value;let{checkStrictly:a,checkMethod:u}=x.value;if(!a){let a={},l=[];_xeUtils.default.eachTree(t,e=>{var t=Y(e),r=e[o];r&&r.length&&!a[t]&&(a[t]=1,l.unshift([e,t,r]))},{children:e?r:o}),l.forEach(e=>{var t=e[0],r=e[1],e=e[2];let a=0,l=0,o=0;var d=e.length;e.forEach(u?e=>{var t=Y(e),r=i[t];u({$tree:q,node:e})?(r?a++:s[t]&&l++,o++):r?a++:s[t]&&l++}:e=>{e=Y(e);i[e]?a++:s[e]&&l++,o++});let n=!1;e=!(n=0<d?0<o?(0<a||0<l)&&a>=o:0<a&&a>=o||!!i[r]:i[r])&&(0<a||0<l);n?(i[r]=t,s[r]&&delete s[r]):(i[r]&&delete i[r],e?s[r]=t:s[r]&&delete s[r])}),z.updateCheckboxFlag++}},Me=(e,r)=>{e.preventDefault(),e.stopPropagation();var a=V.transform;let{selectCheckboxMaps:l,nodeMaps:t}=A;var o=B.value,d=$.value,{checkStrictly:n,checkMode:i,checkMethod:s}=x.value,u=Y(r),c=_xeUtils.default.get(r,o),c=c&&0<c.length,g=(t[u]||{}).level,s=s?!s({$tree:q,node:r}):!_(i,c,g);if(!s){let t=!1;l[u]?delete l[u]:(t=!0,l[u]=r),n||_xeUtils.default.eachTree(_xeUtils.default.get(r,a?d:o),e=>{e=Y(e);t?l[e]||(l[e]=!0):l[e]&&delete l[e]},{children:a?d:o}),z.updateCheckboxFlag++,Q();i=_xeUtils.default.keys(l).map(_util.deNodeValue);v(i),j("checkbox-change",{node:r,value:i,checked:t},e)}},Te=(e,t)=>{e.preventDefault();var{currentMethod:r,trigger:a}=d.value,l=B.value,l=_xeUtils.default.get(t,l),l=l&&l.length;let o=!!r;if("child"===a){if(l)return}else if("parent"===a&&!l)return;(o=r?!r({node:t}):o)||(z.currentNode=t,j("current-change",{node:t,checked:!0},e))},Ie=(e,t)=>{e.preventDefault(),e.stopPropagation();var r=A.nodeMaps,a=f.value,l=B.value,{checkMode:a,checkMethod:o}=a,d=Y(t),l=_xeUtils.default.get(t,l),l=l&&0<l.length,r=(r[d]||{}).level;(o?o({$tree:q,node:t}):_(a,l,r))&&(o=(0,_util.deNodeValue)(d),z.selectRadioKey=d,n(o),j("radio-change",{node:t,value:o,checked:!0},e))},Se=()=>{var e=O.value;e&&e.clientWidth&&J()},Le={dispatchEvent:j,getNodeId:Y,getNodeById(e){var t=A.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},loadData(e){return t(e||[])},reloadData(e){return t(e||[])},clearCurrentNode(){return(z.currentNode=null,_vue.nextTick)()},getCurrentNodeId(){var e=z.currentNode;return e?(0,_util.deNodeValue)(Y(e)):null},getCurrentNode(){var e=z.currentNode,t=A.nodeMaps;if(e){t=t[Y(e)];if(t)return t.item}return null},setCurrentNodeId(e){var t=A.nodeMaps,t=t[(0,_util.enNodeValue)(e)];return z.currentNode=t?t.item:null,(0,_vue.nextTick)()},setCurrentNode(e){return z.currentNode=e,(0,_vue.nextTick)()},clearRadioNode(){return z.selectRadioKey=null,n(null),(0,_vue.nextTick)()},getRadioNodeId(){return z.selectRadioKey||null},getRadioNode(){var e=z.selectRadioKey,t=A.nodeMaps;if(e){t=t[e];if(t)return t.item}return null},setRadioNodeId(e){return z.selectRadioKey=(0,_util.enNodeValue)(e),n(e),(0,_vue.nextTick)()},setRadioNode(e){return e?(e=Y(e),z.selectRadioKey=e,n((0,_util.deNodeValue)(e))):n(null),(0,_vue.nextTick)()},setCheckboxNode(e,t){return e&&(_xeUtils.default.isArray(e)||(e=[e]),oe(e,t)),v(q.getCheckboxNodeIds()),(0,_vue.nextTick)()},setCheckboxByNodeId(e,t){return le(e,t),v(q.getCheckboxNodeIds()),(0,_vue.nextTick)()},getCheckboxNodeIds(){var e=A.selectCheckboxMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{r.push((0,_util.deNodeValue)(t))}),r},getCheckboxNodes(){let{nodeMaps:r,selectCheckboxMaps:e}=A,a=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&a.push(t.item)}),a},clearCheckboxNode(){return A.indeterminateRowMaps={},A.selectCheckboxMaps={},z.updateCheckboxFlag++,v([]),Q(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:[],checkNodes:[]}))},setAllCheckboxNode(e){var t=V.transform;let r={};var a=B.value,l=$.value;let o=[],d=[];return e&&_xeUtils.default.eachTree(A.afterTreeList,e=>{var t=Y(e);o.push(t),d.push(e),r[t]=!0},{children:t?l:a}),A.indeterminateRowMaps={},A.selectCheckboxMaps=r,z.updateCheckboxFlag++,Q(),(0,_vue.nextTick)().then(()=>({checkNodeKeys:o,checkNodes:d}))},clearExpandNode(){return Le.clearAllExpandNode()},clearAllExpandNode(){let e=z.scrollYLoad;var{nodeMaps:t,scrollYStore:r}=A;return _xeUtils.default.each(t,e=>{e.treeLoaded=!1}),A.treeExpandedMaps={},z.updateExpandedFlag++,z.topSpaceHeight=0,r.startIndex=0,r.endIndex=1,h(),X(),J().then(()=>(e&&fe(),J()))},setExpandByNodeId(e,t){let r=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_util.enNodeValue)(e);l(e,t,r)}),z.updateExpandedFlag++),h(),X(),J()},getExpandNodeIds(){var e=A.treeExpandedMaps;let r=[];return _xeUtils.default.each(e,(e,t)=>{r.push((0,_util.deNodeValue)(t))}),r},getExpandNodes(){let{nodeMaps:r,treeExpandedMaps:e}=A,a=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&a.push(t.item)}),a},setExpandNode(e,t){let r=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=Y(e);l(e,t,r)}),z.updateExpandedFlag++),h(),X(),J()},toggleExpandByNodeId(e){let t=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_util.enNodeValue)(e);l(e,!t[""+e],t)}),z.updateExpandedFlag++),h(),X(),J()},toggleExpandNode(e){let t=A.treeExpandedMaps;return e&&((e=_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=Y(e);l(e,!t[e],t)}),z.updateExpandedFlag++),h(),X(),J()},setAllExpandNode(e){var t=V.transform;let r=z.scrollYLoad,{scrollYStore:a,treeExpandedMaps:l}=A,o=B.value;var d=$.value;return e?_xeUtils.default.eachTree(A.afterTreeList,e=>{var t=_xeUtils.default.get(e,o);t&&t.length&&(t=Y(e),l[t]=!0)},{children:t?d:o}):A.treeExpandedMaps={},z.updateExpandedFlag++,z.topSpaceHeight=0,a.startIndex=0,a.endIndex=1,h(),X(),J().then(()=>(r&&fe(),J()))},reloadExpandNode(e){var t=V.lazy;return t?(Le.clearExpandLoaded(e),Ee(e)):J()},clearExpandLoaded(e){var t=V.lazy,r=A.nodeMaps;return t&&(t=r[Y(e)])&&(t.treeLoaded=!1),J()},loadChildrenNode(t,e){let{lazy:r,transform:a}=V,n=A.nodeMaps;if(!r)return Promise.resolve([]);let l=B.value,o=$.value,i=n[Y(t)],s=i?i.level:0,u=i?i.nodes:[];return(e=>{let r=k.value;return Promise.resolve(e.map(e=>{var t,e=Object.assign({},e);return Y(e)||(t=getNodeUniqueId(),_xeUtils.default.set(e,r,t)),e}))})(e).then(e=>(_xeUtils.default.eachTree(e,(e,t,r,a,l,o)=>{var d=Y(e);n[d]={item:e,index:-1,$index:-1,_index:-1,items:r,parent:l||i.item,nodes:u.concat(o),level:s+o.length,treeIndex:-1,lineCount:0,treeLoaded:!1}},{children:l}),t[l]=e,a&&(t[o]=e),G(),e))},isExpandByNode:e=>{var t=z.updateExpandedFlag,r=A.treeExpandedMaps,e=Y(e);return!(!t||!r[e])},isCheckedByRadioNodeId:te,isCheckedByRadioNode:e=>te(Y(e)),isCheckedByCheckboxNodeId:re,isIndeterminateByCheckboxNode:e=>ae(Y(e)),isCheckedByCheckboxNode:e=>re(Y(e)),getCheckboxIndeterminateNodes(){let{nodeMaps:r,indeterminateRowMaps:e}=A,a=[];return _xeUtils.default.each(e,(e,t)=>{t=r[t];t&&a.push(t.item)}),a},recalculate:J,getFullData(){var e=A.treeFullData;return e.slice(0)},scrollTo:pe,scrollToNode(e){return q.scrollToNodeId(Y(e))},scrollToNodeId(t){var e=V.transform;let{scrollYStore:r,afterTreeList:a}=A;var l=B.value,o=$.value;let d=p.value;if(t&&d)if(e){e=_xeUtils.default.findTree(a,e=>Y(e)===t,{children:e?o:l});if(e)return q.setExpandNode(e.nodes,!0).then(()=>{var e=_xeUtils.default.findIndexOf(A.afterVisibleList,e=>Y(e)===t);if(-1<e)return e=Math.max(0,(e-1)*r.rowHeight),pe(d.scrollLeft,e)})}else{o=d.querySelector(`.vxe-tree--node-wrapper[nodeid="${t}"]`);if(o)return pe(d.scrollLeft,o.offsetTop)}return J()},clearScroll:_e},De=()=>{var e=O.value;if(e){let t="node--drag-origin";_xeUtils.default.arrayEach(e.querySelectorAll("."+t),e=>{(e.draggable=!1,_dom.removeClass)(e,t)})}},we=e=>{var t=O.value;if(t){e=Y(e);_xeUtils.default.arrayEach(t.querySelectorAll(`.vxe-tree--node-wrapper[nodeid="${e}"]`),e=>{(0,_dom.addClass)(e,"node--drag-origin")})}},Ue=e=>{var t=z.dragNode,r=P.value.tooltipMethod;let a="";a=r?""+(r({$tree:q,node:t})||""):getI18n("vxe.tree.dragTip",[e.textContent||""]),z.dragTipText=a},i=()=>{var e=b.value,t=E.value;e&&(e.style.display=""),t&&(t.style.display="")},Z=()=>{u.node=null},Re=()=>{var e=z.dragNode;e&&(i(),De(),Z(),z.dragNode=null)},He=(e,t)=>{e.stopPropagation();var r=t.node,{trigger:a,dragStartMethod:l}=P.value,o=e.currentTarget,a="node"===a?o:o.parentElement.parentElement;De(),l&&!l(t)?(a.draggable=!1,z.dragNode=null,i()):(z.dragNode=r,a.draggable=!0,we(r),Ue(a),j("node-dragstart",t,e))},Fe=()=>{Re()},Ve=(e,t,r,a)=>{var l=O.value;if(l){var o=A.prevDragToChild,d=l.getBoundingClientRect(),n=l.clientHeight;if(t){var i=E.value;if(i)if(r){var s=t.getBoundingClientRect();let e=t.clientHeight;t=Math.max(1,s.y-d.y);t+e>n&&(e=n-t),i.style.display="block",i.style.top=t+"px",i.style.height=e+"px",i.setAttribute("drag-pos",a),i.setAttribute("drag-to-child",o?"y":"n")}else i.style.display=""}s=b.value;s&&(s.style.display="block",s.style.top=Math.min(l.clientHeight-l.scrollTop-s.clientHeight,e.clientY-d.y)+"px",s.style.left=Math.min(l.clientWidth-l.scrollLeft-s.clientWidth-1,e.clientX-d.x)+"px",s.setAttribute("drag-status",r?o?"sub":"normal":"disabled"))}},ee=()=>{var e=O.value;i(),De(),(0,_anime.clearRowAnimate)(e,[".vxe-tree--node-wrapper"]),A.prevDragToChild=!1,z.dragNode=null},Oe=(g,v,h,p,e)=>{let f=V.transform,{nodeMaps:x,treeFullData:_,afterVisibleList:m}=A;var C=P.value;let{animation:y,isCrossDrag:N,isPeerDrag:E,isSelfToChildDrag:b,dragEndMethod:t,dragToChildMethod:k}=C;C=t||(C?C.dragEndMethod:null);let M=c.value,T=K.value,I=B.value,S=$.value,L="bottom"===p?1:0,D=O.value,w={status:!1};if(D&&h&&v){if(h!==v){var U={oldNode:v,newNode:h,dragNode:v,dragPos:p,dragToChild:!!e,offsetIndex:L};let r=Y(v);var R=x[r]||{};let s=R._index,u=0,c=-1,a=(y&&(H=D.querySelector(`.vxe-tree--node-wrapper[nodeid="${h}"]`),F=D.querySelector(`.vxe-tree--node-wrapper[nodeid="${r}"]`),(H=H||F)&&(u=H.offsetHeight),F)&&(c=F.offsetTop),-1),l=-1,t={},o=!1,d=R;var H=Y(h);let n=x[H];if(f&&d&&n){var F=d.level,R=n.level;if(_xeUtils.default.eachTree([v],e=>{t[Y(e)]=e},{children:S}),F&&R)if(E&&!N){if(d.item[T]!==n.item[T])return ee(),Z(),w}else{if(!N)return ee(),Z(),w;if(t[H]&&(o=!0,!N||!b))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),ee(),Z(),w}else if(F){if(!N)return ee(),Z(),w}else if(R){if(!N)return ee(),Z(),w;if(t[H]&&(o=!0,!N||!b))return _ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}),ee(),Z(),w}}let i=b&&k?k(U):e;return Promise.resolve(!C||C(U)).then(e=>{var t;return e?(f?d&&n&&(e=_xeUtils.default.toTreeArray(A.afterTreeList,{updated:!1,key:M,parentKey:T,children:S}),t=q.findNodeIndexOf(e,v),e.splice(t,1),t=q.findNodeIndexOf(e,h)+L,e.splice(t,0,v),o&&N&&b&&_xeUtils.default.each(v[I],e=>{e[T]=v[T]}),v[T]=i?h[M]:h[T],A.treeFullData=_xeUtils.default.toArrayTree(e,{key:M,parentKey:T,children:I,mapChildren:S})):(a=q.findNodeIndexOf(m,v),t=q.findNodeIndexOf(_,v),m.splice(a,1),_.splice(t,1),e=q.findNodeIndexOf(m,h),t=q.findNodeIndexOf(_,h),l=e+L,e=t+L,m.splice(l,0,v),_.splice(e,0,v)),se(),X(f),f||G(),Q(),z.scrollYLoad&&W(),g&&j("node-dragend",{oldNode:v,newNode:h,dragNode:v,dragPos:p,dragToChild:i,offsetIndex:L,_index:{newIndex:l,oldIndex:a}},g),(0,_vue.nextTick)().then(()=>{if(y){var a=z.treeList,l=A.nodeMaps,o=l[r],d=o._index,n=a[0],l=l[Y(n)],n=D;if(l){var l=l._index,i=l+a.length;let e=-1,t=-1,r=1;s<l?(e=0,t=d-l):s>i?(i=o.$index,e=i+1,t=a.length,r=-1):d>s?(e=s-l,t=e+d-s):(e=d-l,t=e+s-d+1,r=-1);o=a.slice(e,t);if(o.length){let t=[];o.forEach(e=>{e=Y(e);t.push(`.vxe-tree--node-wrapper[nodeid="${e}"]`)});i=n.querySelectorAll(t.join(","));(0,_anime.moveRowAnimateToTb)(i,r*u)}}l=[`.vxe-tree--node-wrapper[nodeid="${r}"]`],d=n.querySelectorAll(l.join(",")),a=d[0];-1<c&&a&&(0,_anime.moveRowAnimateToTb)(d,c-a.offsetTop)}J()}).then(()=>({status:!0}))):w}).catch(()=>w).then(e=>(ee(),Z(),e))}ee(),Z()}return Promise.resolve(w)},Ae=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},ze=e=>{var t=V.lazy,r=z.dragNode,{nodeMaps:a,prevDragNode:l,prevDragPos:o,prevDragToChild:d}=A,n=w.value;t&&d&&(t=a[Y(l)],l[n])&&(!t||!t.treeLoaded)||Oe(e,r,l,o,d)},Ke=e=>{var t,r,{lazy:a,transform:l}=V,o=z.dragNode,d=A.nodeMaps,n=P.value,i=K.value,s=w.value,{isCrossDrag:n,isPeerDrag:u,isToChildDrag:c}=n,g=(o||n||e.preventDefault(),(0,_dom.hasControlKey)(e)),v=e.currentTarget,h=v.getAttribute("nodeid")||"",d=d[h];d&&(e.preventDefault(),t=d.item,r=e.clientY-v.getBoundingClientRect().y<v.clientHeight/2?"top":"bottom",A.prevDragToChild=!!(l&&n&&c&&g),A.prevDragNode=t,A.prevDragPos=r,o&&Y(o)===h||g&&a&&t[s]&&d&&!d.treeLoaded||!n&&l&&(u?o[i]!==t[i]:d.level)?Ve(e,v,!1,r):(Ve(e,v,!0,r),j("node-dragover",{oldRNode:o,targetNode:t,dragPos:r},e)))};e={handleData:X,cacheNodeMap:se,updateAfterDataIndex:G,updateCheckboxStatus:Q,updateYSpace:W,findNodeIndexOf(e,t){return t?_xeUtils.default.findIndexOf(e,e=>q.eqNode(e,t)):-1},eqNode(e,t){return!(!e||!t||e!==t&&Y(e)!==Y(t))},handleCrossTreeNodeDragCancelEvent(){ee(),Z()},handleCrossTreeNodeDragFinishEvent(){},handleCrossTreeNodeDragInsertEvent(){},handleCrossTreeNodeDragoverEmptyEvent(){},hideCrossTreeNodeDropClearStatus(){i()}};Object.assign(q,Le,e);let Be=(e,t)=>{var{drag:r,transform:a}=V,l=A.nodeMaps,{showIcon:o,isPeerDrag:d,isCrossDrag:n,visibleMethod:i}=P.value;let s={node:e,$tree:q};if(r&&o&&a&&(!i||i(s))){e=l[t];if(e&&(d||n||!e.level)){var{icon:r,trigger:o,disabledMethod:a}=P.value;let t=a&&a(s);i={};return"node"!==o&&(i.onMousedown=e=>{t||He(e,s)},i.onMouseup=Fe),(0,_vue.h)("div",Object.assign({class:["vxe-tree--drag-handle",{"is--disabled":t}]},i),[(0,_vue.h)("i",{class:r||getIcon().TREE_DRAG})])}}return(0,_ui.renderEmptyElement)(q)},_=(e,t,r)=>{if(e){if("first"===e)return!r;if("last"===e)return!t}return!0},$e=(r,e,a,l,o)=>{var t=V.showRadio,{showIcon:d,checkMode:n,checkMethod:i,visibleMode:s,visibleMethod:u}=f.value,u=u?u({$tree:q,node:r}):_(s,a,l);if(t&&d&&u){let t=i?!i({$tree:q,node:r}):!_(n,a,l);return(0,_vue.h)("div",{class:["vxe-tree--radio-option",{"is--checked":o,"is--disabled":t}],onClick:e=>{t||Ie(e,r)}},[(0,_vue.h)("span",{class:["vxe-radio--icon",o?getIcon().RADIO_CHECKED:getIcon().RADIO_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(q)},Pe=(r,e,a,l,o,d)=>{var t=V.showCheckbox,{showIcon:n,checkMode:i,checkMethod:s,visibleMode:u,visibleMethod:c}=x.value,c=c?c({$tree:q,node:r}):_(u,a,l);if(t&&n&&c){let t=s?!s({$tree:q,node:r}):!_(i,a,l);return(0,_vue.h)("div",{class:["vxe-tree--checkbox-option",{"is--checked":o,"is--indeterminate":d,"is--disabled":t}],onClick:e=>{t||Me(e,r)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",d?getIcon().CHECKBOX_INDETERMINATE:o?getIcon().CHECKBOX_CHECKED:getIcon().CHECKBOX_UNCHECKED]})])}return(0,_ui.renderEmptyElement)(q)},qe=(t,e)=>{var{lazy:r,drag:a,transform:l,showRadio:o,showCheckbox:d,showLine:n,iconOpen:i,iconClose:s,iconLoaded:u,showIcon:c}=V,{currentNode:g,selectRadioKey:v,updateExpandedFlag:h}=z,{afterTreeList:p,nodeMaps:f,treeExpandedMaps:x,treeExpandLazyLoadedMaps:_}=A,m=B.value,C=U.value,y=w.value,m=_xeUtils.default.get(t,m),m=m&&0<m.length,N=D.icon,E=D.title,b=D.extra,h=h&&x[e],x=f[e]||{},f=_xeUtils.default.get(t,C),C=x.level;let k=!1,M=(o&&(k=e===String(v)),!1),T=!1,I=(d&&(M=re(e),T=ae(e)),!1),S=!1,L=!1;r&&(S=!!_[e],I=t[y],L=!!x.treeLoaded);o=x.items[x.treeIndex-1],v={node:t,isExpand:h},d={onMousedown(e){me(e,t)},onMouseup:Fe,onClick(e){Ce(e,t)},onDblclick(e){ye(e,t)},onContextmenu(e){Ne(e,t)}};return a&&l&&(d.onDragstart=Ae,d.onDragend=ze,d.onDragover=Ke),(0,_vue.h)("div",Object.assign({key:e,class:["vxe-tree--node-wrapper","node--level-"+C],nodeid:e},d),[(0,_vue.h)("div",{class:["vxe-tree--node-item",{"is--current":g&&e===Y(g),"is-radio--checked":k,"is-checkbox--checked":M,"is-checkbox--indeterminate":T}]},[n?(0,_vue.h)("div",{class:"vxe-tree--node-line-wrapper"},[(0,_vue.h)("div",{class:"vxe-tree--node-line",style:{height:`${Y(p[0])===e?1:(0,_util.calcTreeLine)(q,t,o)}px`}})]):(0,_ui.renderEmptyElement)(q),(0,_vue.h)("div",{class:"vxe-tree--node-item-switcher"},c&&(!r||L?m:I)?[(0,_vue.h)("div",{class:"vxe-tree--node-item-icon",onClick(e){ke(e,t)}},N?(0,_vn.getSlotVNs)(N(v)):[(0,_vue.h)("i",{class:S?u||getIcon().TREE_NODE_LOADED:h?i||getIcon().TREE_NODE_OPEN:s||getIcon().TREE_NODE_CLOSE})])]:[]),Be(t,e),$e(t,e,m,C,k),Pe(t,e,m,C,M,T),(0,_vue.h)("div",{class:"vxe-tree--node-item-inner"},[(0,_vue.h)("div",{class:"vxe-tree--node-item-title"},E?(0,_vn.getSlotVNs)(E(v)):""+f),b?(0,_vue.h)("div",{class:"vxe-tree--node-item-extra"},(0,_vn.getSlotVNs)(b(v))):(0,_ui.renderEmptyElement)(q)])])])},Ye=e=>{var t=V.transform;let r=A.treeExpandedMaps,a=B.value;if(!e.length)return[(0,_vue.h)("div",{class:"vxe-tree--empty-placeholder"},getI18n("vxe.tree.searchEmpty"))];let l=[];return e.forEach(t?e=>{var t=Y(e);l.push(qe(e,t))}:e=>{var t=Y(e),e=(l.push(qe(e,t)),_xeUtils.default.get(e,a));e&&e.length&&r[t]&&l.push(...Ye(e))}),l};let r=(0,_vue.ref)(0),je=((0,_vue.watch)(()=>V.data?V.data.length:0,()=>{r.value++}),(0,_vue.watch)(()=>V.data,()=>{r.value++}),(0,_vue.watch)(()=>V.rootParentValue,()=>{r.value++}),(0,_vue.watch)(()=>V.rootValues?V.rootValues.length:0,()=>{r.value++}),(0,_vue.watch)(()=>V.rootValues,()=>{r.value++}),(0,_vue.watch)(r,()=>{t(V.data||[])}),(0,_vue.watch)(()=>V.checkNodeKey,e=>{z.selectRadioKey=(0,_util.enNodeValue)(e)}),(0,_vue.ref)(0)),o=((0,_vue.watch)(()=>V.checkNodeKeys?V.checkNodeKeys.length:0,()=>{je.value++}),(0,_vue.watch)(()=>V.checkNodeKeys,()=>{je.value++}),(0,_vue.watch)(je,()=>{var e;e=V.checkNodeKeys||[],A.selectCheckboxMaps={},le(e,!0)}),(0,_vue.watch)(()=>V.filterValue,()=>{ce(new Event("filter"))}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>V.height,()=>{o.value++}),(0,_vue.watch)(()=>V.minHeight,()=>{o.value++}),(0,_vue.watch)(()=>V.maxHeight,()=>{o.value++}),(0,_vue.watch)(o,()=>{J()}),(0,_vue.onMounted)(()=>{var{transform:e,drag:t,menuConfig:r}=V,a=P.value,t=(t&&!e&&(0,_log.errLog)("vxe.error.notSupportProp",["drag","transform=false","transform=true"]),a.isCrossTreeDrag&&(0,_log.errLog)("vxe.error.notProp",["drag-config.isCrossTreeDrag"]),_ui.VxeUI.getComponent("VxeContextMenu"));r&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-context-menu"]),V.autoResize&&(e=O.value,a=de(),r=_ui.globalResize.create(()=>{V.autoResize&&J()}),e&&r.observe(e),a&&r.observe(a),A.resizeObserver=r),_ui.globalEvents.on(q,"resize",Se)}),(0,_vue.onBeforeUnmount)(()=>{var e=A.resizeObserver;e&&e.disconnect(),_ui.globalEvents.off(q,"resize"),_xeUtils.default.assign(z,createReactData()),_xeUtils.default.assign(A,createInternalData())}),z.selectRadioKey=(0,_util.enNodeValue)(V.checkNodeKey),t(V.data||[]),q.renderVN=()=>{var{loading:e,trigger:t,showLine:r}=V,{bodyHeight:a,topSpaceHeight:l,treeList:o}=z,d=m.value,n=f.value,i=x.value,s=S.value,u=I.value,c=R.value;let g=D.loading;var v=D.header,h=D.footer;return(0,_vue.h)("div",{ref:O,class:["vxe-tree",{["size--"+d]:d,"show--line":r,"checkbox--highlight":i.highlight,"radio--highlight":n.highlight,"node--hover":u,"node--trigger":"node"===t,"is--loading":e}]},[v?(0,_vue.h)("div",{ref:C,class:"vxe-tree--header-wrapper"},v({$tree:q})):(0,_ui.renderEmptyElement)(q),(0,_vue.h)("div",{ref:p,class:"vxe-tree--node-list-wrapper",style:c,onScroll:xe},[(0,_vue.h)("div",{class:"vxe-tree--y-space",style:{height:a?a+"px":""}}),(0,_vue.h)("div",{ref:N,class:"vxe-tree--node-list-body",style:{transform:`translateY(${l}px)`}},Ye(o))]),h?(0,_vue.h)("div",{ref:y,class:"vxe-tree--footer-wrapper"},h({$tree:q})):(0,_ui.renderEmptyElement)(q),(()=>{var e=V.drag,{dragNode:t,dragTipText:r}=z,a=P.value;return e?(0,_vue.h)("div",{class:"vxe-tree--drag-wrapper"},[(0,_vue.h)("div",{ref:E,class:["vxe-tree--drag-node-line",{"is--guides":a.showGuidesStatus}]}),t&&a.showDragTip?(0,_vue.h)("div",{ref:b,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)(q)]):(0,_ui.renderEmptyElement)(q)})(),(0,_vue.h)(_loading.default,{class:"vxe-tree--loading",modelValue:e,icon:s.icon,text:s.text},g?{default:()=>g({$tree:q})}:{})])},(0,_vue.provide)("$xeTree",q),q},render(){return this.renderVN()}});
@@ -199,14 +199,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
199
199
  return disabled;
200
200
  });
201
201
  const computeBtnTransfer = (0, _vue.computed)(() => {
202
+ const popupOpts = computePopupOpts.value;
202
203
  const {
203
204
  transfer
204
- } = props;
205
- const popupOpts = computePopupOpts.value;
206
- if (_xeUtils.default.isBoolean(popupOpts.transfer)) {
207
- return popupOpts.transfer;
205
+ } = popupOpts;
206
+ if (_xeUtils.default.isBoolean(transfer)) {
207
+ return transfer;
208
208
  }
209
- if (transfer === null) {
209
+ if (props.transfer === null) {
210
210
  const globalTransfer = (0, _ui.getConfig)().treeSelect.transfer;
211
211
  if (_xeUtils.default.isBoolean(globalTransfer)) {
212
212
  return globalTransfer;
@@ -215,7 +215,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
215
215
  return true;
216
216
  }
217
217
  }
218
- return transfer;
218
+ return props.transfer;
219
219
  });
220
220
  const computePopupOpts = (0, _vue.computed)(() => {
221
221
  return Object.assign({}, (0, _ui.getConfig)().treeSelect.popupConfig, props.popupConfig);
@@ -288,9 +288,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
288
288
  const treeOpts = computeTreeOpts.value;
289
289
  return Object.assign({}, treeOpts.filterConfig, props.filterConfig);
290
290
  });
291
+ const computeSelectVals = (0, _vue.computed)(() => {
292
+ const {
293
+ modelValue
294
+ } = props;
295
+ return _xeUtils.default.eqNull(modelValue) ? [] : _xeUtils.default.isArray(modelValue) ? modelValue : [modelValue];
296
+ });
291
297
  const computeSelectLabel = (0, _vue.computed)(() => {
292
298
  const {
293
- modelValue,
294
299
  showFullLabel
295
300
  } = props;
296
301
  const {
@@ -302,7 +307,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
302
307
  lazyNodeMaps
303
308
  } = internalData;
304
309
  const labelField = computeLabelField.value;
305
- const selectVals = _xeUtils.default.eqNull(modelValue) ? [] : _xeUtils.default.isArray(modelValue) ? modelValue : [modelValue];
310
+ const selectVals = computeSelectVals.value;
306
311
  return selectVals.map(val => {
307
312
  const cacheItem = fullNodeMaps[val];
308
313
  if (fullOptFlag && cacheItem) {
@@ -391,12 +396,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
391
396
  nodeid = getOptUniqueId();
392
397
  }
393
398
  if (keyMaps[nodeid]) {
394
- (0, _log.errLog)('vxe.error.repeatKey', [`[tree-select] ${nodeKeyField}`, nodeid]);
399
+ (0, _log.errLog)('vxe.error.repeatKey', [nodeKeyField, nodeid]);
395
400
  }
396
401
  keyMaps[nodeid] = true;
397
402
  const value = item[valueField];
398
403
  if (nodeMaps[value]) {
399
- (0, _log.errLog)('vxe.error.repeatKey', [`[tree-select] ${valueField}`, value]);
404
+ (0, _log.errLog)('vxe.error.repeatKey', [valueField, value]);
400
405
  }
401
406
  nodeMaps[value] = {
402
407
  item,
@@ -404,7 +409,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
404
409
  items,
405
410
  parent: parentItem,
406
411
  nodes,
407
- fullLabel: nodes.map(item => item[labelField]).join((separator || '/') + ' ')
412
+ fullLabel: nodes.map(item => item[labelField]).join(separator || ' / ')
408
413
  };
409
414
  };
410
415
  if (optList) {
@@ -483,7 +488,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
483
488
  handleStyle();
484
489
  return (0, _vue.nextTick)().then(handleStyle);
485
490
  };
486
- const showOptionPanel = () => {
491
+ const showOptionPanel = evnt => {
487
492
  const {
488
493
  loading,
489
494
  remote,
@@ -515,7 +520,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
515
520
  updatePlacement();
516
521
  dispatchEvent('visible-change', {
517
522
  visible: true
518
- }, null);
523
+ }, evnt || null);
519
524
  }
520
525
  };
521
526
  const hideOptionPanel = evnt => {
@@ -575,7 +580,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
575
580
  dispatchEvent('all-change', {
576
581
  value: checkNodeKeys
577
582
  }, $event);
578
- if (_xeUtils.default.isBoolean(autoClose) ? autoClose : checkedClosable) {
583
+ if (_xeUtils.default.isBoolean(checkedClosable) ? checkedClosable : autoClose) {
579
584
  hideOptionPanel($event);
580
585
  }
581
586
  });
@@ -595,7 +600,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
595
600
  if ($tree) {
596
601
  const value = multiple ? [] : null;
597
602
  $tree.clearCheckboxNode().then(() => {
598
- if (_xeUtils.default.isBoolean(autoClose) ? autoClose : clearClosable) {
603
+ if (_xeUtils.default.isBoolean(clearClosable) ? clearClosable : autoClose) {
599
604
  hideOptionPanel($event);
600
605
  }
601
606
  });
@@ -694,7 +699,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
694
699
  if (!isDisabled) {
695
700
  if (!reactData.visiblePanel) {
696
701
  reactData.triggerFocusPanel = true;
697
- showOptionPanel();
702
+ showOptionPanel(evnt);
698
703
  setTimeout(() => {
699
704
  reactData.triggerFocusPanel = false;
700
705
  }, 150);
@@ -746,7 +751,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
746
751
  if (reactData.visiblePanel) {
747
752
  hideOptionPanel($event);
748
753
  } else {
749
- showOptionPanel();
754
+ showOptionPanel($event);
750
755
  }
751
756
  }
752
757
  };
@@ -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"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_util=require("../../tree/src/util"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils")),_input=_interopRequireDefault(require("../../input")),_button=_interopRequireDefault(require("../../button")),_tree=_interopRequireDefault(require("../../tree")),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getOptUniqueId(){return _xeUtils.default.uniqueId("node_")}function createReactData(){return{initialized:!1,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,fullOptFlag:1,lazyOptFlag:1}}function createInternalData(){return{fullOptionList:[],fullNodeMaps:{},lazyNodeMaps:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTreeSelect",props:{modelValue:[String,Number,Array],clearable:{type:Boolean,default:(0,_ui.getConfig)().treeSelect.clearable},placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().treeSelect.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().treeSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},showFullLabel:{type:Boolean,default:(0,_ui.getConfig)().treeSelect.showFullLabel},separator:{type:String,default:(0,_ui.getConfig)().treeSelect.separator},filterable:Boolean,filterConfig:Object,multiple:Boolean,className:[String,Function],popupClassName:[String,Function],prefixIcon:String,placement:String,lazyOptions:Array,options:Array,optionProps:Object,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().treeSelect.size||(0,_ui.getConfig)().size},remote:Boolean,remoteConfig:Function,popupConfig:Object,treeConfig:Object,menuConfig:Object,virtualYConfig:Object,autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.autoClose},checkedClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.checkedClosable},clearClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.clearClosable},showCloseButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showCloseButton},showTotalButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showTotalButton},showCheckedButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showCheckedButton},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showClearButton},showExpandButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showExpandButton},transfer:{type:Boolean,default:null},remoteMethod:Function},emits:["update:modelValue","change","all-change","clear","blur","focus","click","node-click","visible-change"],setup(R,e){let{emit:a,slots:$}=e,h=(0,_vue.inject)("$xeModal",null),m=(0,_vue.inject)("$xeDrawer",null),x=(0,_vue.inject)("$xeTable",null),n=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let re=(0,_ui.useSize)(R).computeSize,K=(0,_vue.ref)(),H=(0,_vue.ref)(),Y=(0,_vue.ref)(),se=(0,_vue.ref)(),Z=(0,_vue.ref)(),G=(0,_vue.ref)(),J=(0,_vue.reactive)(createReactData()),r=createInternalData(),b={refElem:K},ce=(0,_vue.computed)(()=>{var e=R.readonly;return null===e?!!n&&n.props.readonly:e}),Q=(0,_vue.computed)(()=>{var e=R.disabled;return null===e?!!n&&n.props.disabled:e}),W=(0,_vue.computed)(()=>{var e=R.transfer,t=X.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().treeSelect.transfer;if(_xeUtils.default.isBoolean(t))return t;if(x||h||m||n)return!0}return e}),X=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.popupConfig,R.popupConfig)),ee=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.treeConfig,R.treeConfig,{data:void 0})),de=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.menuConfig,R.menuConfig)),ve=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({isHover:!0},e.nodeConfig)}),pe=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({showIcon:!!e.showCheckbox},e.checkboxConfig,{trigger:"node"})}),_e=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({showIcon:!!e.showRadio},e.radioConfig,{trigger:"node"})}),l=(0,_vue.computed)(()=>R.optionProps||{}),te=(0,_vue.computed)(()=>ee.value.keyField||"id"),le=(0,_vue.computed)(()=>l.value.label||"label"),ae=(0,_vue.computed)(()=>l.value.value||"value"),ne=(0,_vue.computed)(()=>l.value.children||"children"),oe=(0,_vue.computed)(()=>{var e=l.value,t=ee.value;return e.parent||t.parentField||"parentId"}),fe=(0,_vue.computed)(()=>l.value.hasChild||"hasChild"),ge=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.virtualYConfig,R.virtualYConfig)),i=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.remoteConfig,R.remoteConfig)),he=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({},e.filterConfig,R.filterConfig)}),me=(0,_vue.computed)(()=>{let{modelValue:e,showFullLabel:l}=R,{fullOptFlag:a,lazyOptFlag:n}=J,{fullNodeMaps:o,lazyNodeMaps:i}=r,u=le.value;return(_xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]).map(e=>{var t=o[e];if(a&&t)return l?t.fullLabel:t.item[u];if(n){t=i[e];if(t)return l?t.fullLabel:t.item[u]}return e}).join(", ")}),xe=(0,_vue.computed)(()=>{var{height:e,width:t}=X.value,l={};return t&&(l.width=(0,_dom.toCssUnit)(t)),e&&(l.height=(0,_dom.toCssUnit)(e),l.maxHeight=(0,_dom.toCssUnit)(e)),l}),C={},ie={xID:t,props:R,context:e,reactData:J,internalData:r,getRefMaps:()=>b,getComputeMaps:()=>C},u=(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$treeSelect:ie},t))},y=e=>{a("update:modelValue",e)},ue=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=$[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[];t={dispatchEvent:u};let E=e=>{e=e[te.value];return e?encodeURIComponent(e):""},s=e=>{let r=R.separator;var t=ee.value;let s=te.value;var l=oe.value,a=ne.value;let c=ae.value,d=le.value;var n=t.transform;let v={},p={};var o=(e,t,l,a,n,o)=>{let i=E(e);i=i||getOptUniqueId(),p[i]&&(0,_log.errLog)("vxe.error.repeatKey",["[tree-select] "+s,i]),p[i]=!0;var u=e[c];v[u]&&(0,_log.errLog)("vxe.error.repeatKey",["[tree-select] "+c,u]),v[u]={item:e,index:t,items:l,parent:n,nodes:o,fullLabel:o.map(e=>e[d]).join((r||"/")+" ")}};return e&&(n?(n=_xeUtils.default.toArrayTree(e,{key:s,parentKey:l,mapChildren:a,rootParentValue:t.rootParentValue,rootValues:t.rootValues}),_xeUtils.default.eachTree(n,o,{children:a})):_xeUtils.default.eachTree(e,o,{children:a})),v},c=()=>{var e=R.options;r.fullNodeMaps=s(e||[]),r.fullOptionList=e||[],J.fullOptFlag++},d=()=>{var e=R.lazyOptions;r.lazyNodeMaps=s(e||[]),J.lazyOptFlag++},S=()=>{var e=X.value.zIndex||R.zIndex;e?J.panelIndex=_xeUtils.default.toNumber(e):J.panelIndex<(0,_utils.getLastZIndex)()&&(J.panelIndex=(0,_utils.nextZIndex)())},v=()=>{let l=R.placement,a=J.panelIndex,n=K.value,o=Z.value,i=W.value,u=X.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(n,o,{placement:u.placement||l,defaultPlacement:u.defaultPlacement,teleportTo:i}),t=Object.assign(e.style,{zIndex:a});J.panelStyle=t,J.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},I=()=>{var{loading:e,remote:t,filterable:l}=R,a=r.fullOptionList,n=Q.value,o=i.value;e||n||(clearTimeout(r.hpTimeout),J.initialized||(J.initialized=!0),J.isActivated=!0,J.isAniVisible=!0,l&&t&&o.enabled&&o.autoLoad&&!a.length&&F(),setTimeout(()=>{J.visiblePanel=!0,V(),v()},10),S(),v(),u("visible-change",{visible:!0},null))},p=e=>{J.visiblePanel=!1,r.hpTimeout=setTimeout(()=>{J.isAniVisible=!1},350),u("visible-change",{visible:!1},e||null)},_=(e,t,l)=>{t=_xeUtils.default.isArray(t)?t.map(_util.deNodeValue):(0,_util.deNodeValue)(t);y(t),t!==R.modelValue&&(u("change",{value:t,node:l,option:l},e),n)&&o&&n.triggerItemEvent(e,o.itemConfig.field,t)},w=(e,t)=>{_(e,t,null),u("clear",{value:t},e)},be=e=>{e=e.$event;w(e,null),p(e)},Ce=e=>{let l=e.$event,{multiple:t,autoClose:a,checkedClosable:n}=R;e=G.value;t&&e&&e.setAllCheckboxNode(!0).then(({checkNodeKeys:e,checkNodes:t})=>{_(l,e,t[0]),u("all-change",{value:e},l),(_xeUtils.default.isBoolean(a)?a:n)&&p(l)})},ye=e=>{let t=e.$event,{multiple:l,autoClose:a,clearClosable:n}=R;var o,e=G.value;e&&(o=l?[]:null,e.clearCheckboxNode().then(()=>{(_xeUtils.default.isBoolean(a)?a:n)&&p(t)}),_(t,o,null),u("clear",{value:o},t))},Ee=e=>{e=e.$event;p(e)},Se=()=>{var e=G.value;e&&e.setAllExpandNode(!0)},Ie=()=>{var e=G.value;e&&e.clearAllExpandNode()},k=e=>{var t=J.visiblePanel;Q.value||t&&(t=Z.value,(0,_dom.getEventTargetNode)(e,t).flag?v():p(e))},B=e=>{var t,l,a=J.visiblePanel;Q.value||(t=K.value,l=Z.value,J.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,a&&!J.isActivated&&p(e))},N=e=>{var{visiblePanel:t,isActivated:l}=J;t&&p(e),l&&(J.isActivated=!1),(t||l)&&(e=H.value)&&e.blur()},O=()=>{var e=J.visiblePanel;e&&v()},V=()=>{R.filterable&&(0,_vue.nextTick)(()=>{var e=Y.value;e&&e.focus()})},we=e=>{Q.value||J.visiblePanel||(J.triggerFocusPanel=!0,I(),setTimeout(()=>{J.triggerFocusPanel=!1},150)),u("focus",{},e)},ke=e=>{Oe(e),u("click",{},e)},Be=e=>{J.isActivated=!1,u("blur",{},e)},Ne=e=>{J.searchValue=e},F=()=>{var{modelValue:e,remote:t,remoteMethod:l}=R,a=J.searchValue,n=i.value,l=n.queryMethod||l;t&&l&&n.enabled&&(J.searchLoading=!0,Promise.resolve(l({$treeSelect:ie,searchValue:a,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{J.searchLoading=!1}))},Oe=e=>{e=e.$event;e.preventDefault(),J.triggerFocusPanel?J.triggerFocusPanel=!1:J.visiblePanel?p(e):I()},Ve=()=>{v()},Fe=e=>{var t=e.$event;u("node-click",e,t)},Pe=e=>{var{value:e,$event:t,node:l}=e;_(t,e,l),p(t)},Ue=e=>{var{value:e,$event:t,node:l}=e;_(t,e,l)},Te=()=>{c()};Object.assign(ie,t,{});let f=(0,_vue.ref)(0),g=((0,_vue.watch)(()=>R.options?R.options.length:-1,()=>{f.value++}),(0,_vue.watch)(()=>R.options,()=>{f.value++}),(0,_vue.watch)(f,()=>{c()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>R.lazyOptions?R.lazyOptions.length:-1,()=>{g.value++}),(0,_vue.watch)(()=>R.lazyOptions,()=>{g.value++}),(0,_vue.watch)(g,()=>{d()}),c(),d(),(0,_vue.onMounted)(()=>{_xeUtils.default.isBoolean(R.autoClose)&&(0,_log.warnLog)("vxe.error.delProp",["auto-close","checked-closable | clear-closable"]),_ui.globalEvents.on(ie,"mousewheel",k),_ui.globalEvents.on(ie,"mousedown",B),_ui.globalEvents.on(ie,"blur",N),_ui.globalEvents.on(ie,"resize",O)}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(ie,"mousewheel"),_ui.globalEvents.off(ie,"mousedown"),_ui.globalEvents.off(ie,"blur"),_ui.globalEvents.off(ie,"resize"),_xeUtils.default.assign(J,createReactData()),_xeUtils.default.assign(r,createInternalData())}),(0,_vue.provide)("$xeTreeSelect",ie),ie.renderVN=()=>{var{className:e,modelValue:t,multiple:l,options:a,loading:n,menuConfig:o,filterable:i,showTotalButton:u,showCheckedButton:r,showClearButton:s,showExpandButton:c,showCloseButton:d}=R,{initialized:v,isActivated:p,isAniVisible:_,visiblePanel:f,searchValue:g}=J,h=re.value,m=Q.value,x=me.value,b=W.value,C=ce.value,y=xe.value,E=$.header,S=$.footer;let I=$.prefix;var w=X.value,k=w.className||R.popupClassName;if(C)return(0,_vue.h)("div",{ref:K,class:["vxe-tree-select--readonly",e]},[(0,_vue.h)("span",{class:"vxe-tree-select-label"},x)]);var C=ee.value,B=de.value,N=ve.value,O=pe.value,V=_e.value,F=te.value,P=le.value,z=ae.value,L=ne.value,A=oe.value,j=fe.value,q=ge.value,M=he.value,U=C.slots,D=_xeUtils.default.eqNull(t)?[]:_xeUtils.default.isArray(t)?t:[t],T={};if(U){let{icon:t,title:l,extra:a}=U;t&&(T.icon=e=>ue(t,e)),l&&(T.title=e=>ue(l,e)),a&&(T.extra=e=>ue(a,e))}return(0,_vue.h)("div",{ref:K,class:["vxe-tree-select",e?_xeUtils.default.isFunction(e)?e({$treeSelect:ie}):e:"",{["size--"+h]:h,"is--filterable":i,"is--visible":f,"is--disabled":m,"is--loading":n,"is--active":p}]},[(0,_vue.h)(_input.default,{ref:H,clearable:R.clearable,placeholder:n?(0,_ui.getI18n)("vxe.select.loadingText"):R.placeholder,editable:!1,disabled:m,type:"text",prefixIcon:R.prefixIcon,suffixIcon:n?(0,_ui.getIcon)().TREE_SELECT_LOADED:f?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,modelValue:n?"":x,title:x,onClear:be,onClick:ke,onFocus:we,onBlur:Be,onSuffixClick:Oe},I?{prefix:()=>I({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!b||!v},[(0,_vue.h)("div",{ref:Z,class:["vxe-table--ignore-clear vxe-tree-select--panel",k?_xeUtils.default.isFunction(k)?k({$treeSelect:ie}):k:"",{["size--"+h]:h,"is--transfer":b,"ani--leave":!n&&_,"ani--enter":!n&&f}],placement:J.panelPlacement,style:J.panelStyle},v?[(0,_vue.h)("div",{class:"vxe-tree-select--panel-wrapper"},[i?(0,_vue.h)("div",{class:"vxe-tree-select--panel-search"},[(0,_vue.h)(_input.default,{ref:Y,class:"vxe-tree-select-search--input",modelValue:g,clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.treeSelect.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":Ne})]):(0,_ui.renderEmptyElement)(ie),r&&l||s||c||E?(0,_vue.h)("div",{class:"vxe-tree-select--panel-header"},E?E({}):[(0,_vue.h)("div",{class:"vxe-tree-select--header-button"},[r&&s?(0,_vue.h)("div",{class:"vxe-tree-select--selected-btns"},[r&&l?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allChecked"),mode:"text",onClick:Ce}):(0,_ui.renderEmptyElement)(ie),s?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearChecked"),mode:"text",onClick:ye}):(0,_ui.renderEmptyElement)(ie)]):(0,_ui.renderEmptyElement)(ie),c?(0,_vue.h)("div",{class:"vxe-tree-select--expand-btns"},[c?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allExpand"),mode:"text",onClick:Se}):(0,_ui.renderEmptyElement)(ie),c?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearExpand"),mode:"text",onClick:Ie}):(0,_ui.renderEmptyElement)(ie)]):(0,_ui.renderEmptyElement)(ie)])]):(0,_ui.renderEmptyElement)(ie),(0,_vue.h)("div",{class:"vxe-tree-select--panel-body"},[(0,_vue.h)("div",{ref:se,class:"vxe-tree-select-tree--wrapper",style:y},[(0,_vue.h)(_tree.default,{ref:G,class:"vxe-tree-select--tree",height:w.height?"100%":C.height,minHeight:C.minHeight,maxHeight:w.height?"":C.maxHeight,autoResize:!0,data:a,indent:C.indent,showRadio:!l,radioConfig:V,checkNodeKey:l?null:t,showCheckbox:!!l,checkNodeKeys:l?t:null,checkboxConfig:O,titleField:P,valueField:z,keyField:F,childrenField:C.childrenField||L,parentField:A,hasChildField:C.hasChildField||j,accordion:C.accordion,expandAll:C.expandAll,expandNodeKeys:C.expandNodeKeys,nodeConfig:N,lazy:C.lazy,loadMethod:C.loadMethod,toggleMethod:C.toggleMethod,transform:C.transform,rootParentValue:C.rootParentValue,rootValues:C.rootValues,trigger:C.trigger,showIcon:C.showIcon,showLine:C.showLine,iconOpen:C.iconOpen,iconLoaded:C.iconLoaded,iconClose:C.iconClose,filterValue:g,filterConfig:M,menuConfig:o?B:void 0,virtualYConfig:q,onNodeExpand:Ve,onNodeClick:Fe,onRadioChange:Pe,onCheckboxChange:Ue,onLoadSuccess:Te},T)])]),S||u||d&&l?(0,_vue.h)("div",{class:"vxe-tree-select--panel-footer"},S?S({}):[(0,_vue.h)("div",{class:"vxe-tree-select--footer-button"},[u?(0,_vue.h)("div",{class:"vxe-tree-select--total-btns"},(0,_ui.getI18n)("vxe.treeSelect.total",[D.length])):(0,_ui.renderEmptyElement)(ie),d&&l?(0,_vue.h)("div",{class:"vxe-tree-select--oper-btns"},[(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.close"),mode:"text",onClick:Ee})]):(0,_ui.renderEmptyElement)(ie)])]):(0,_ui.renderEmptyElement)(ie)])]:[])])])},ie},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"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_util=require("../../tree/src/util"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils")),_input=_interopRequireDefault(require("../../input")),_button=_interopRequireDefault(require("../../button")),_tree=_interopRequireDefault(require("../../tree")),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getOptUniqueId(){return _xeUtils.default.uniqueId("node_")}function createReactData(){return{initialized:!1,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,fullOptFlag:1,lazyOptFlag:1}}function createInternalData(){return{fullOptionList:[],fullNodeMaps:{},lazyNodeMaps:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTreeSelect",props:{modelValue:[String,Number,Array],clearable:{type:Boolean,default:(0,_ui.getConfig)().treeSelect.clearable},placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().treeSelect.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().treeSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},showFullLabel:{type:Boolean,default:(0,_ui.getConfig)().treeSelect.showFullLabel},separator:{type:String,default:(0,_ui.getConfig)().treeSelect.separator},filterable:Boolean,filterConfig:Object,multiple:Boolean,className:[String,Function],popupClassName:[String,Function],prefixIcon:String,placement:String,lazyOptions:Array,options:Array,optionProps:Object,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().treeSelect.size||(0,_ui.getConfig)().size},remote:Boolean,remoteConfig:Function,popupConfig:Object,treeConfig:Object,menuConfig:Object,virtualYConfig:Object,autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.autoClose},checkedClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.checkedClosable},clearClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.clearClosable},showCloseButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showCloseButton},showTotalButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showTotalButton},showCheckedButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showCheckedButton},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showClearButton},showExpandButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showExpandButton},transfer:{type:Boolean,default:null},remoteMethod:Function},emits:["update:modelValue","change","all-change","clear","blur","focus","click","node-click","visible-change"],setup(R,e){let{emit:a,slots:$}=e,h=(0,_vue.inject)("$xeModal",null),m=(0,_vue.inject)("$xeDrawer",null),x=(0,_vue.inject)("$xeTable",null),n=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let re=(0,_ui.useSize)(R).computeSize,K=(0,_vue.ref)(),H=(0,_vue.ref)(),Y=(0,_vue.ref)(),se=(0,_vue.ref)(),Z=(0,_vue.ref)(),G=(0,_vue.ref)(),J=(0,_vue.reactive)(createReactData()),r=createInternalData(),b={refElem:K},ce=(0,_vue.computed)(()=>{var e=R.readonly;return null===e?!!n&&n.props.readonly:e}),Q=(0,_vue.computed)(()=>{var e=R.disabled;return null===e?!!n&&n.props.disabled:e}),W=(0,_vue.computed)(()=>{var e=X.value.transfer;if(_xeUtils.default.isBoolean(e))return e;if(null===R.transfer){e=(0,_ui.getConfig)().treeSelect.transfer;if(_xeUtils.default.isBoolean(e))return e;if(x||h||m||n)return!0}return R.transfer}),X=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.popupConfig,R.popupConfig)),ee=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.treeConfig,R.treeConfig,{data:void 0})),de=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.menuConfig,R.menuConfig)),ve=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({isHover:!0},e.nodeConfig)}),pe=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({showIcon:!!e.showCheckbox},e.checkboxConfig,{trigger:"node"})}),_e=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({showIcon:!!e.showRadio},e.radioConfig,{trigger:"node"})}),l=(0,_vue.computed)(()=>R.optionProps||{}),te=(0,_vue.computed)(()=>ee.value.keyField||"id"),le=(0,_vue.computed)(()=>l.value.label||"label"),ae=(0,_vue.computed)(()=>l.value.value||"value"),ne=(0,_vue.computed)(()=>l.value.children||"children"),oe=(0,_vue.computed)(()=>{var e=l.value,t=ee.value;return e.parent||t.parentField||"parentId"}),fe=(0,_vue.computed)(()=>l.value.hasChild||"hasChild"),ge=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.virtualYConfig,R.virtualYConfig)),u=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.remoteConfig,R.remoteConfig)),he=(0,_vue.computed)(()=>{var e=ee.value;return Object.assign({},e.filterConfig,R.filterConfig)}),C=(0,_vue.computed)(()=>{var e=R.modelValue;return _xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]}),me=(0,_vue.computed)(()=>{let l=R.showFullLabel,{fullOptFlag:a,lazyOptFlag:n}=J,{fullNodeMaps:o,lazyNodeMaps:i}=r,u=le.value;return C.value.map(e=>{var t=o[e];if(a&&t)return l?t.fullLabel:t.item[u];if(n){t=i[e];if(t)return l?t.fullLabel:t.item[u]}return e}).join(", ")}),xe=(0,_vue.computed)(()=>{var{height:e,width:t}=X.value,l={};return t&&(l.width=(0,_dom.toCssUnit)(t)),e&&(l.height=(0,_dom.toCssUnit)(e),l.maxHeight=(0,_dom.toCssUnit)(e)),l}),y={},ie={xID:t,props:R,context:e,reactData:J,internalData:r,getRefMaps:()=>b,getComputeMaps:()=>y},s=(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$treeSelect:ie},t))},E=e=>{a("update:modelValue",e)},ue=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=$[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[];t={dispatchEvent:s};let S=e=>{e=e[te.value];return e?encodeURIComponent(e):""},i=e=>{let r=R.separator;var t=ee.value;let s=te.value;var l=oe.value,a=ne.value;let c=ae.value,d=le.value;var n=t.transform;let v={},p={};var o=(e,t,l,a,n,o)=>{let i=S(e);i=i||getOptUniqueId(),p[i]&&(0,_log.errLog)("vxe.error.repeatKey",[s,i]),p[i]=!0;var u=e[c];v[u]&&(0,_log.errLog)("vxe.error.repeatKey",[c,u]),v[u]={item:e,index:t,items:l,parent:n,nodes:o,fullLabel:o.map(e=>e[d]).join(r||" / ")}};return e&&(n?(n=_xeUtils.default.toArrayTree(e,{key:s,parentKey:l,mapChildren:a,rootParentValue:t.rootParentValue,rootValues:t.rootValues}),_xeUtils.default.eachTree(n,o,{children:a})):_xeUtils.default.eachTree(e,o,{children:a})),v},c=()=>{var e=R.options;r.fullNodeMaps=i(e||[]),r.fullOptionList=e||[],J.fullOptFlag++},d=()=>{var e=R.lazyOptions;r.lazyNodeMaps=i(e||[]),J.lazyOptFlag++},I=()=>{var e=X.value.zIndex||R.zIndex;e?J.panelIndex=_xeUtils.default.toNumber(e):J.panelIndex<(0,_utils.getLastZIndex)()&&(J.panelIndex=(0,_utils.nextZIndex)())},v=()=>{let l=R.placement,a=J.panelIndex,n=K.value,o=Z.value,i=W.value,u=X.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(n,o,{placement:u.placement||l,defaultPlacement:u.defaultPlacement,teleportTo:i}),t=Object.assign(e.style,{zIndex:a});J.panelStyle=t,J.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},w=e=>{var{loading:t,remote:l,filterable:a}=R,n=r.fullOptionList,o=Q.value,i=u.value;t||o||(clearTimeout(r.hpTimeout),J.initialized||(J.initialized=!0),J.isActivated=!0,J.isAniVisible=!0,a&&l&&i.enabled&&i.autoLoad&&!n.length&&P(),setTimeout(()=>{J.visiblePanel=!0,F(),v()},10),I(),v(),s("visible-change",{visible:!0},e||null))},p=e=>{J.visiblePanel=!1,r.hpTimeout=setTimeout(()=>{J.isAniVisible=!1},350),s("visible-change",{visible:!1},e||null)},_=(e,t,l)=>{t=_xeUtils.default.isArray(t)?t.map(_util.deNodeValue):(0,_util.deNodeValue)(t);E(t),t!==R.modelValue&&(s("change",{value:t,node:l,option:l},e),n)&&o&&n.triggerItemEvent(e,o.itemConfig.field,t)},k=(e,t)=>{_(e,t,null),s("clear",{value:t},e)},be=e=>{e=e.$event;k(e,null),p(e)},Ce=e=>{let l=e.$event,{multiple:t,autoClose:a,checkedClosable:n}=R;e=G.value;t&&e&&e.setAllCheckboxNode(!0).then(({checkNodeKeys:e,checkNodes:t})=>{_(l,e,t[0]),s("all-change",{value:e},l),(_xeUtils.default.isBoolean(n)?n:a)&&p(l)})},ye=e=>{let t=e.$event,{multiple:l,autoClose:a,clearClosable:n}=R;var o,e=G.value;e&&(o=l?[]:null,e.clearCheckboxNode().then(()=>{(_xeUtils.default.isBoolean(n)?n:a)&&p(t)}),_(t,o,null),s("clear",{value:o},t))},Ee=e=>{e=e.$event;p(e)},Se=()=>{var e=G.value;e&&e.setAllExpandNode(!0)},Ie=()=>{var e=G.value;e&&e.clearAllExpandNode()},B=e=>{var t=J.visiblePanel;Q.value||t&&(t=Z.value,(0,_dom.getEventTargetNode)(e,t).flag?v():p(e))},N=e=>{var t,l,a=J.visiblePanel;Q.value||(t=K.value,l=Z.value,J.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,a&&!J.isActivated&&p(e))},O=e=>{var{visiblePanel:t,isActivated:l}=J;t&&p(e),l&&(J.isActivated=!1),(t||l)&&(e=H.value)&&e.blur()},V=()=>{var e=J.visiblePanel;e&&v()},F=()=>{R.filterable&&(0,_vue.nextTick)(()=>{var e=Y.value;e&&e.focus()})},we=e=>{Q.value||J.visiblePanel||(J.triggerFocusPanel=!0,w(e),setTimeout(()=>{J.triggerFocusPanel=!1},150)),s("focus",{},e)},ke=e=>{Oe(e),s("click",{},e)},Be=e=>{J.isActivated=!1,s("blur",{},e)},Ne=e=>{J.searchValue=e},P=()=>{var{modelValue:e,remote:t,remoteMethod:l}=R,a=J.searchValue,n=u.value,l=n.queryMethod||l;t&&l&&n.enabled&&(J.searchLoading=!0,Promise.resolve(l({$treeSelect:ie,searchValue:a,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{J.searchLoading=!1}))},Oe=e=>{e=e.$event;e.preventDefault(),J.triggerFocusPanel?J.triggerFocusPanel=!1:(J.visiblePanel?p:w)(e)},Ve=()=>{v()},Fe=e=>{var t=e.$event;s("node-click",e,t)},Pe=e=>{var{value:e,$event:t,node:l}=e;_(t,e,l),p(t)},Ue=e=>{var{value:e,$event:t,node:l}=e;_(t,e,l)},Te=()=>{c()};Object.assign(ie,t,{});let f=(0,_vue.ref)(0),g=((0,_vue.watch)(()=>R.options?R.options.length:-1,()=>{f.value++}),(0,_vue.watch)(()=>R.options,()=>{f.value++}),(0,_vue.watch)(f,()=>{c()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>R.lazyOptions?R.lazyOptions.length:-1,()=>{g.value++}),(0,_vue.watch)(()=>R.lazyOptions,()=>{g.value++}),(0,_vue.watch)(g,()=>{d()}),c(),d(),(0,_vue.onMounted)(()=>{_xeUtils.default.isBoolean(R.autoClose)&&(0,_log.warnLog)("vxe.error.delProp",["auto-close","checked-closable | clear-closable"]),_ui.globalEvents.on(ie,"mousewheel",B),_ui.globalEvents.on(ie,"mousedown",N),_ui.globalEvents.on(ie,"blur",O),_ui.globalEvents.on(ie,"resize",V)}),(0,_vue.onBeforeUnmount)(()=>{_ui.globalEvents.off(ie,"mousewheel"),_ui.globalEvents.off(ie,"mousedown"),_ui.globalEvents.off(ie,"blur"),_ui.globalEvents.off(ie,"resize"),_xeUtils.default.assign(J,createReactData()),_xeUtils.default.assign(r,createInternalData())}),(0,_vue.provide)("$xeTreeSelect",ie),ie.renderVN=()=>{var{className:e,modelValue:t,multiple:l,options:a,loading:n,menuConfig:o,filterable:i,showTotalButton:u,showCheckedButton:r,showClearButton:s,showExpandButton:c,showCloseButton:d}=R,{initialized:v,isActivated:p,isAniVisible:_,visiblePanel:f,searchValue:g}=J,h=re.value,m=Q.value,x=me.value,b=W.value,C=ce.value,y=xe.value,E=$.header,S=$.footer;let I=$.prefix;var w=X.value,k=w.className||R.popupClassName;if(C)return(0,_vue.h)("div",{ref:K,class:["vxe-tree-select--readonly",e]},[(0,_vue.h)("span",{class:"vxe-tree-select-label"},x)]);var C=ee.value,B=de.value,N=ve.value,O=pe.value,V=_e.value,F=te.value,P=le.value,z=ae.value,L=ne.value,A=oe.value,j=fe.value,q=ge.value,M=he.value,U=C.slots,D=_xeUtils.default.eqNull(t)?[]:_xeUtils.default.isArray(t)?t:[t],T={};if(U){let{icon:t,title:l,extra:a}=U;t&&(T.icon=e=>ue(t,e)),l&&(T.title=e=>ue(l,e)),a&&(T.extra=e=>ue(a,e))}return(0,_vue.h)("div",{ref:K,class:["vxe-tree-select",e?_xeUtils.default.isFunction(e)?e({$treeSelect:ie}):e:"",{["size--"+h]:h,"is--filterable":i,"is--visible":f,"is--disabled":m,"is--loading":n,"is--active":p}]},[(0,_vue.h)(_input.default,{ref:H,clearable:R.clearable,placeholder:n?(0,_ui.getI18n)("vxe.select.loadingText"):R.placeholder,editable:!1,disabled:m,type:"text",prefixIcon:R.prefixIcon,suffixIcon:n?(0,_ui.getIcon)().TREE_SELECT_LOADED:f?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,modelValue:n?"":x,title:x,onClear:be,onClick:ke,onFocus:we,onBlur:Be,onSuffixClick:Oe},I?{prefix:()=>I({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!b||!v},[(0,_vue.h)("div",{ref:Z,class:["vxe-table--ignore-clear vxe-tree-select--panel",k?_xeUtils.default.isFunction(k)?k({$treeSelect:ie}):k:"",{["size--"+h]:h,"is--transfer":b,"ani--leave":!n&&_,"ani--enter":!n&&f}],placement:J.panelPlacement,style:J.panelStyle},v?[(0,_vue.h)("div",{class:"vxe-tree-select--panel-wrapper"},[i?(0,_vue.h)("div",{class:"vxe-tree-select--panel-search"},[(0,_vue.h)(_input.default,{ref:Y,class:"vxe-tree-select-search--input",modelValue:g,clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.treeSelect.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":Ne})]):(0,_ui.renderEmptyElement)(ie),r&&l||s||c||E?(0,_vue.h)("div",{class:"vxe-tree-select--panel-header"},E?E({}):[(0,_vue.h)("div",{class:"vxe-tree-select--header-button"},[r&&s?(0,_vue.h)("div",{class:"vxe-tree-select--selected-btns"},[r&&l?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allChecked"),mode:"text",onClick:Ce}):(0,_ui.renderEmptyElement)(ie),s?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearChecked"),mode:"text",onClick:ye}):(0,_ui.renderEmptyElement)(ie)]):(0,_ui.renderEmptyElement)(ie),c?(0,_vue.h)("div",{class:"vxe-tree-select--expand-btns"},[c?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allExpand"),mode:"text",onClick:Se}):(0,_ui.renderEmptyElement)(ie),c?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearExpand"),mode:"text",onClick:Ie}):(0,_ui.renderEmptyElement)(ie)]):(0,_ui.renderEmptyElement)(ie)])]):(0,_ui.renderEmptyElement)(ie),(0,_vue.h)("div",{class:"vxe-tree-select--panel-body"},[(0,_vue.h)("div",{ref:se,class:"vxe-tree-select-tree--wrapper",style:y},[(0,_vue.h)(_tree.default,{ref:G,class:"vxe-tree-select--tree",height:w.height?"100%":C.height,minHeight:C.minHeight,maxHeight:w.height?"":C.maxHeight,autoResize:!0,data:a,indent:C.indent,showRadio:!l,radioConfig:V,checkNodeKey:l?null:t,showCheckbox:!!l,checkNodeKeys:l?t:null,checkboxConfig:O,titleField:P,valueField:z,keyField:F,childrenField:C.childrenField||L,parentField:A,hasChildField:C.hasChildField||j,accordion:C.accordion,expandAll:C.expandAll,expandNodeKeys:C.expandNodeKeys,nodeConfig:N,lazy:C.lazy,loadMethod:C.loadMethod,toggleMethod:C.toggleMethod,transform:C.transform,rootParentValue:C.rootParentValue,rootValues:C.rootValues,trigger:C.trigger,showIcon:C.showIcon,showLine:C.showLine,iconOpen:C.iconOpen,iconLoaded:C.iconLoaded,iconClose:C.iconClose,filterValue:g,filterConfig:M,menuConfig:o?B:void 0,virtualYConfig:q,onNodeExpand:Ve,onNodeClick:Fe,onRadioChange:Pe,onCheckboxChange:Ue,onLoadSuccess:Te},T)])]),S||u||d&&l?(0,_vue.h)("div",{class:"vxe-tree-select--panel-footer"},S?S({}):[(0,_vue.h)("div",{class:"vxe-tree-select--footer-button"},[u?(0,_vue.h)("div",{class:"vxe-tree-select--total-btns"},(0,_ui.getI18n)("vxe.treeSelect.total",[D.length])):(0,_ui.renderEmptyElement)(ie),d&&l?(0,_vue.h)("div",{class:"vxe-tree-select--oper-btns"},[(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.close"),mode:"text",onClick:Ee})]):(0,_ui.renderEmptyElement)(ie)])]):(0,_ui.renderEmptyElement)(ie)])]:[])])])},ie},render(){return this.renderVN()}});
@@ -84,6 +84,7 @@
84
84
 
85
85
  .vxe-tree-select--panel-search {
86
86
  display: block;
87
+ padding: var(--vxe-ui-current-padding);
87
88
  }
88
89
  .vxe-tree-select--panel-search .vxe-tree-select-search--input {
89
90
  width: 100%;
@@ -131,14 +132,6 @@
131
132
  pointer-events: auto;
132
133
  }
133
134
 
134
- .vxe-tree-select--panel-search {
135
- display: block;
136
- padding: var(--vxe-ui-current-padding);
137
- }
138
- .vxe-tree-select--panel-search .vxe-tree-select-search--input {
139
- width: 100%;
140
- }
141
-
142
135
  .vxe-tree-select--panel-header {
143
136
  border-bottom: 1px solid var(--vxe-ui-base-popup-border-color);
144
137
  }
@@ -1 +1 @@
1
- .vxe-tree-select{position:relative;display:inline-block;width:180px;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-tree-select.is--filterable .vxe-tree-select-tree--wrapper{padding-top:0}.vxe-tree-select.is--filterable .vxe-tree-select--panel-header{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-tree-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-tree-select>.vxe-input{width:100%}.vxe-tree-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-tree-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-tree-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-tree-select--panel{pointer-events:none;display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select--panel:not(.is--transfer){min-width:100%}.vxe-tree-select--panel.is--transfer{position:fixed}.vxe-tree-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-tree-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-tree-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-tree-select--panel.ani--enter>div::after{display:none}.vxe-tree-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-tree-select--panel-search{display:block}.vxe-tree-select--panel-search .vxe-tree-select-search--input{width:100%}.vxe-tree-select--footer-button,.vxe-tree-select--header-button{display:flex;flex-direction:row;white-space:nowrap}.vxe-tree-select--total-btns{padding-left:var(--vxe-ui-current-padding);flex-shrink:0}.vxe-tree-select--oper-btns{display:flex;flex-direction:row;flex-grow:1;justify-content:right}.vxe-tree-select--expand-btns,.vxe-tree-select--footer-button,.vxe-tree-select--selected-btns{display:flex;flex-direction:row;flex-grow:1}.vxe-tree-select--selected-btns+.vxe-tree-select--expand-btns{padding-left:2.2em}.vxe-tree-select--panel-wrapper{display:flex;flex-direction:column;position:relative;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color);pointer-events:auto}.vxe-tree-select--panel-search{display:block;padding:var(--vxe-ui-current-padding)}.vxe-tree-select--panel-search .vxe-tree-select-search--input{width:100%}.vxe-tree-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select--panel-footer,.vxe-tree-select--panel-header{padding:4px 0}.vxe-tree-select-tree--wrapper{position:relative;overflow:auto;padding:var(--vxe-ui-current-padding) 0;outline:0}.vxe-tree-select--tree{width:100%}.vxe-tree-select--tree .vxe-tree--node-item.is-checkbox--checked>.vxe-tree--node-item-inner,.vxe-tree-select--tree .vxe-tree--node-item.is-radio--checked>.vxe-tree--node-item-inner{color:var(--vxe-ui-font-primary-color)}.vxe-tree-select--tree .vxe-tree--node-item-inner{cursor:pointer}.vxe-tree-select,.vxe-tree-select--panel{--vxe-ui-current-padding:var(--vxe-ui-layout-padding-default);--vxe-ui-tree-node-root-indent:var(--vxe-ui-current-padding)}.vxe-tree-select--panel.size--mini,.vxe-tree-select--panel.size--small,.vxe-tree-select.size--mini,.vxe-tree-select.size--small{--vxe-ui-current-padding:var(--vxe-ui-layout-padding-half)}.vxe-tree-select,.vxe-tree-select--panel{font-size:var(--vxe-ui-font-size-default)}.vxe-tree-select--panel.size--medium,.vxe-tree-select.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-tree-select--panel.size--small,.vxe-tree-select.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-tree-select--panel.size--mini,.vxe-tree-select.size--mini{font-size:var(--vxe-ui-font-size-mini)}
1
+ .vxe-tree-select{position:relative;display:inline-block;width:180px;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-tree-select.is--filterable .vxe-tree-select-tree--wrapper{padding-top:0}.vxe-tree-select.is--filterable .vxe-tree-select--panel-header{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-tree-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-tree-select>.vxe-input{width:100%}.vxe-tree-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-tree-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-tree-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-tree-select--panel{pointer-events:none;display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select--panel:not(.is--transfer){min-width:100%}.vxe-tree-select--panel.is--transfer{position:fixed}.vxe-tree-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-tree-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-tree-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-tree-select--panel.ani--enter>div::after{display:none}.vxe-tree-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-tree-select--panel-search{display:block;padding:var(--vxe-ui-current-padding)}.vxe-tree-select--panel-search .vxe-tree-select-search--input{width:100%}.vxe-tree-select--footer-button,.vxe-tree-select--header-button{display:flex;flex-direction:row;white-space:nowrap}.vxe-tree-select--total-btns{padding-left:var(--vxe-ui-current-padding);flex-shrink:0}.vxe-tree-select--oper-btns{display:flex;flex-direction:row;flex-grow:1;justify-content:right}.vxe-tree-select--expand-btns,.vxe-tree-select--footer-button,.vxe-tree-select--selected-btns{display:flex;flex-direction:row;flex-grow:1}.vxe-tree-select--selected-btns+.vxe-tree-select--expand-btns{padding-left:2.2em}.vxe-tree-select--panel-wrapper{display:flex;flex-direction:column;position:relative;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color);pointer-events:auto}.vxe-tree-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select--panel-footer,.vxe-tree-select--panel-header{padding:4px 0}.vxe-tree-select-tree--wrapper{position:relative;overflow:auto;padding:var(--vxe-ui-current-padding) 0;outline:0}.vxe-tree-select--tree{width:100%}.vxe-tree-select--tree .vxe-tree--node-item.is-checkbox--checked>.vxe-tree--node-item-inner,.vxe-tree-select--tree .vxe-tree--node-item.is-radio--checked>.vxe-tree--node-item-inner{color:var(--vxe-ui-font-primary-color)}.vxe-tree-select--tree .vxe-tree--node-item-inner{cursor:pointer}.vxe-tree-select,.vxe-tree-select--panel{--vxe-ui-current-padding:var(--vxe-ui-layout-padding-default);--vxe-ui-tree-node-root-indent:var(--vxe-ui-current-padding)}.vxe-tree-select--panel.size--mini,.vxe-tree-select--panel.size--small,.vxe-tree-select.size--mini,.vxe-tree-select.size--small{--vxe-ui-current-padding:var(--vxe-ui-layout-padding-half)}.vxe-tree-select,.vxe-tree-select--panel{font-size:var(--vxe-ui-font-size-default)}.vxe-tree-select--panel.size--medium,.vxe-tree-select.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-tree-select--panel.size--small,.vxe-tree-select.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-tree-select--panel.size--mini,.vxe-tree-select.size--mini{font-size:var(--vxe-ui-font-size-mini)}
package/lib/ui/index.js CHANGED
@@ -26,7 +26,7 @@ Object.keys(_core).forEach(function (key) {
26
26
  });
27
27
  var _dynamics = require("../dynamics");
28
28
  var _log = require("./src/log");
29
- const version = exports.version = "4.14.39";
29
+ const version = exports.version = "4.14.40";
30
30
  _core.VxeUI.uiVersion = version;
31
31
  _core.VxeUI.dynamicApp = _dynamics.dynamicApp;
32
32
  function config(options) {
@@ -86,7 +86,10 @@ _core.VxeUI.setup = setup;
86
86
  },
87
87
  carouselItem: {},
88
88
  cascader: {
89
- autoClose: true
89
+ showFullLabel: true,
90
+ treeConfig: {
91
+ showIcon: true
92
+ }
90
93
  },
91
94
  checkbox: {},
92
95
  checkboxButton: {},
@@ -440,7 +443,6 @@ _core.VxeUI.setup = setup;
440
443
  }
441
444
  },
442
445
  treeSelect: {
443
- autoClose: null,
444
446
  // separator: '/',
445
447
  virtualYConfig: {
446
448
  enabled: true,
@@ -678,6 +680,10 @@ const iconPrefix = 'vxe-icon-';
678
680
  BACKTOP_TOP: iconPrefix + 'top',
679
681
  // context-menu
680
682
  CONTEXT_MENU_OPTION_LOADING: iconPrefix + 'spinner roll',
681
- CONTEXT_MENU_CHILDREN: iconPrefix + 'arrow-right'
683
+ CONTEXT_MENU_CHILDREN: iconPrefix + 'arrow-right',
684
+ // cascader
685
+ CASCADER_NODE_OPEN: iconPrefix + 'arrow-right',
686
+ CASCADER_NODE_CLOSE: iconPrefix + 'arrow-right',
687
+ CASCADER_NODE_LOADED: iconPrefix + 'spinner roll'
682
688
  });
683
689
  var _default = exports.default = _core.VxeUI;