vxe-pc-ui 3.7.4 → 3.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/es/icon/style.css +1 -1
  2. package/es/language/ar-EG.js +19 -1
  3. package/es/language/de-DE.js +19 -1
  4. package/es/language/en-US.js +20 -2
  5. package/es/language/es-ES.js +19 -1
  6. package/es/language/fr-FR.js +19 -1
  7. package/es/language/hu-HU.js +19 -1
  8. package/es/language/hy-AM.js +18 -0
  9. package/es/language/id-ID.js +19 -1
  10. package/es/language/it-IT.js +19 -1
  11. package/es/language/ja-JP.js +19 -1
  12. package/es/language/ko-KR.js +19 -1
  13. package/es/language/ms-MY.js +19 -1
  14. package/es/language/nb-NO.js +19 -1
  15. package/es/language/pt-BR.js +19 -1
  16. package/es/language/ru-RU.js +19 -1
  17. package/es/language/th-TH.js +19 -1
  18. package/es/language/ug-CN.js +19 -1
  19. package/es/language/uk-UA.js +19 -1
  20. package/es/language/uz-UZ.js +19 -1
  21. package/es/language/vi-VN.js +19 -1
  22. package/es/language/zh-CHT.js +19 -1
  23. package/es/language/zh-CN.js +18 -0
  24. package/es/list/src/list.js +1 -1
  25. package/es/select/src/select.js +138 -41
  26. package/es/select/style.css +21 -0
  27. package/es/select/style.min.css +1 -1
  28. package/es/style.css +1 -1
  29. package/es/style.min.css +1 -1
  30. package/es/tree/src/tree.js +1160 -601
  31. package/es/tree/src/util.js +31 -0
  32. package/es/tree/style.css +23 -26
  33. package/es/tree/style.min.css +1 -1
  34. package/es/tree-select/src/tree-select.js +258 -24
  35. package/es/tree-select/style.css +36 -1
  36. package/es/tree-select/style.min.css +1 -1
  37. package/es/ui/index.js +20 -4
  38. package/es/ui/src/dom.js +9 -0
  39. package/es/ui/src/log.js +1 -1
  40. package/es/vxe-select/style.css +21 -0
  41. package/es/vxe-select/style.min.css +1 -1
  42. package/es/vxe-tree/style.css +23 -26
  43. package/es/vxe-tree/style.min.css +1 -1
  44. package/es/vxe-tree-select/style.css +36 -1
  45. package/es/vxe-tree-select/style.min.css +1 -1
  46. package/lib/icon/style/style.css +1 -1
  47. package/lib/icon/style/style.min.css +1 -1
  48. package/lib/index.umd.js +1541 -532
  49. package/lib/index.umd.min.js +1 -1
  50. package/lib/language/ar-EG.js +19 -1
  51. package/lib/language/ar-EG.min.js +1 -1
  52. package/lib/language/ar-EG.umd.js +19 -1
  53. package/lib/language/de-DE.js +19 -1
  54. package/lib/language/de-DE.min.js +1 -1
  55. package/lib/language/de-DE.umd.js +19 -1
  56. package/lib/language/en-US.js +20 -2
  57. package/lib/language/en-US.min.js +1 -1
  58. package/lib/language/en-US.umd.js +20 -2
  59. package/lib/language/es-ES.js +19 -1
  60. package/lib/language/es-ES.min.js +1 -1
  61. package/lib/language/es-ES.umd.js +19 -1
  62. package/lib/language/fr-FR.js +19 -1
  63. package/lib/language/fr-FR.min.js +1 -1
  64. package/lib/language/fr-FR.umd.js +19 -1
  65. package/lib/language/hu-HU.js +19 -1
  66. package/lib/language/hu-HU.min.js +1 -1
  67. package/lib/language/hu-HU.umd.js +19 -1
  68. package/lib/language/hy-AM.js +18 -0
  69. package/lib/language/hy-AM.min.js +1 -1
  70. package/lib/language/hy-AM.umd.js +18 -0
  71. package/lib/language/id-ID.js +19 -1
  72. package/lib/language/id-ID.min.js +1 -1
  73. package/lib/language/id-ID.umd.js +19 -1
  74. package/lib/language/it-IT.js +19 -1
  75. package/lib/language/it-IT.min.js +1 -1
  76. package/lib/language/it-IT.umd.js +19 -1
  77. package/lib/language/ja-JP.js +19 -1
  78. package/lib/language/ja-JP.min.js +1 -1
  79. package/lib/language/ja-JP.umd.js +19 -1
  80. package/lib/language/ko-KR.js +19 -1
  81. package/lib/language/ko-KR.min.js +1 -1
  82. package/lib/language/ko-KR.umd.js +19 -1
  83. package/lib/language/ms-MY.js +19 -1
  84. package/lib/language/ms-MY.min.js +1 -1
  85. package/lib/language/ms-MY.umd.js +19 -1
  86. package/lib/language/nb-NO.js +19 -1
  87. package/lib/language/nb-NO.min.js +1 -1
  88. package/lib/language/nb-NO.umd.js +19 -1
  89. package/lib/language/pt-BR.js +19 -1
  90. package/lib/language/pt-BR.min.js +1 -1
  91. package/lib/language/pt-BR.umd.js +19 -1
  92. package/lib/language/ru-RU.js +19 -1
  93. package/lib/language/ru-RU.min.js +1 -1
  94. package/lib/language/ru-RU.umd.js +19 -1
  95. package/lib/language/th-TH.js +19 -1
  96. package/lib/language/th-TH.min.js +1 -1
  97. package/lib/language/th-TH.umd.js +19 -1
  98. package/lib/language/ug-CN.js +19 -1
  99. package/lib/language/ug-CN.min.js +1 -1
  100. package/lib/language/ug-CN.umd.js +19 -1
  101. package/lib/language/uk-UA.js +19 -1
  102. package/lib/language/uk-UA.min.js +1 -1
  103. package/lib/language/uk-UA.umd.js +19 -1
  104. package/lib/language/uz-UZ.js +19 -1
  105. package/lib/language/uz-UZ.min.js +1 -1
  106. package/lib/language/uz-UZ.umd.js +19 -1
  107. package/lib/language/vi-VN.js +19 -1
  108. package/lib/language/vi-VN.min.js +1 -1
  109. package/lib/language/vi-VN.umd.js +19 -1
  110. package/lib/language/zh-CHT.js +19 -1
  111. package/lib/language/zh-CHT.min.js +1 -1
  112. package/lib/language/zh-CHT.umd.js +19 -1
  113. package/lib/language/zh-CN.js +18 -0
  114. package/lib/language/zh-CN.min.js +1 -1
  115. package/lib/language/zh-CN.umd.js +18 -0
  116. package/lib/list/src/list.js +1 -1
  117. package/lib/list/src/list.min.js +1 -1
  118. package/lib/select/src/select.js +145 -45
  119. package/lib/select/src/select.min.js +1 -1
  120. package/lib/select/style/style.css +21 -0
  121. package/lib/select/style/style.min.css +1 -1
  122. package/lib/style.css +1 -1
  123. package/lib/style.min.css +1 -1
  124. package/lib/tree/src/tree.js +1223 -626
  125. package/lib/tree/src/tree.min.js +1 -1
  126. package/lib/tree/src/util.js +37 -0
  127. package/lib/tree/src/util.min.js +1 -0
  128. package/lib/tree/style/style.css +23 -26
  129. package/lib/tree/style/style.min.css +1 -1
  130. package/lib/tree-select/src/tree-select.js +265 -26
  131. package/lib/tree-select/src/tree-select.min.js +1 -1
  132. package/lib/tree-select/style/style.css +36 -1
  133. package/lib/tree-select/style/style.min.css +1 -1
  134. package/lib/ui/index.js +20 -4
  135. package/lib/ui/index.min.js +1 -1
  136. package/lib/ui/src/dom.js +10 -0
  137. package/lib/ui/src/dom.min.js +1 -1
  138. package/lib/ui/src/log.js +1 -1
  139. package/lib/ui/src/log.min.js +1 -1
  140. package/lib/vxe-select/style/style.css +21 -0
  141. package/lib/vxe-select/style/style.min.css +1 -1
  142. package/lib/vxe-tree/style/style.css +23 -26
  143. package/lib/vxe-tree/style/style.min.css +1 -1
  144. package/lib/vxe-tree-select/style/style.css +36 -1
  145. package/lib/vxe-tree-select/style/style.min.css +1 -1
  146. package/package.json +1 -1
  147. package/packages/language/ar-EG.ts +19 -1
  148. package/packages/language/de-DE.ts +19 -1
  149. package/packages/language/en-US.ts +20 -2
  150. package/packages/language/es-ES.ts +19 -1
  151. package/packages/language/fr-FR.ts +19 -1
  152. package/packages/language/hu-HU.ts +19 -1
  153. package/packages/language/hy-AM.ts +18 -0
  154. package/packages/language/id-ID.ts +19 -1
  155. package/packages/language/it-IT.ts +19 -1
  156. package/packages/language/ja-JP.ts +19 -1
  157. package/packages/language/ko-KR.ts +19 -1
  158. package/packages/language/ms-MY.ts +19 -1
  159. package/packages/language/nb-NO.ts +19 -1
  160. package/packages/language/pt-BR.ts +19 -1
  161. package/packages/language/ru-RU.ts +19 -1
  162. package/packages/language/th-TH.ts +19 -1
  163. package/packages/language/ug-CN.ts +19 -1
  164. package/packages/language/uk-UA.ts +19 -1
  165. package/packages/language/uz-UZ.ts +19 -1
  166. package/packages/language/vi-VN.ts +19 -1
  167. package/packages/language/zh-CHT.ts +19 -1
  168. package/packages/language/zh-CN.ts +18 -0
  169. package/packages/list/src/list.ts +1 -1
  170. package/packages/select/src/select.ts +144 -44
  171. package/packages/tree/src/tree.ts +1206 -626
  172. package/packages/tree/src/util.ts +34 -0
  173. package/packages/tree-select/src/tree-select.ts +272 -26
  174. package/packages/ui/index.ts +19 -3
  175. package/packages/ui/src/dom.ts +10 -0
  176. package/styles/components/select.scss +19 -0
  177. package/styles/components/tree-select.scss +36 -1
  178. package/styles/components/tree.scss +28 -31
  179. package/types/components/button.d.ts +11 -1
  180. package/types/components/grid.d.ts +5 -0
  181. package/types/components/icon-picker.d.ts +11 -1
  182. package/types/components/input.d.ts +2 -2
  183. package/types/components/select.d.ts +29 -40
  184. package/types/components/table.d.ts +2 -4
  185. package/types/components/tree-select.d.ts +72 -12
  186. package/types/components/tree.d.ts +129 -8
  187. /package/es/icon/{iconfont.1752133985860.ttf → iconfont.1752416451473.ttf} +0 -0
  188. /package/es/icon/{iconfont.1752133985860.woff → iconfont.1752416451473.woff} +0 -0
  189. /package/es/icon/{iconfont.1752133985860.woff2 → iconfont.1752416451473.woff2} +0 -0
  190. /package/es/{iconfont.1752133985860.ttf → iconfont.1752416451473.ttf} +0 -0
  191. /package/es/{iconfont.1752133985860.woff → iconfont.1752416451473.woff} +0 -0
  192. /package/es/{iconfont.1752133985860.woff2 → iconfont.1752416451473.woff2} +0 -0
  193. /package/lib/icon/style/{iconfont.1752133985860.ttf → iconfont.1752416451473.ttf} +0 -0
  194. /package/lib/icon/style/{iconfont.1752133985860.woff → iconfont.1752416451473.woff} +0 -0
  195. /package/lib/icon/style/{iconfont.1752133985860.woff2 → iconfont.1752416451473.woff2} +0 -0
  196. /package/lib/{iconfont.1752133985860.ttf → iconfont.1752416451473.ttf} +0 -0
  197. /package/lib/{iconfont.1752133985860.woff → iconfont.1752416451473.woff} +0 -0
  198. /package/lib/{iconfont.1752133985860.woff2 → iconfont.1752416451473.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -12388,8 +12388,26 @@ setTheme();
12388
12388
  operError: '发生错误,操作失败!'
12389
12389
  },
12390
12390
  select: {
12391
+ clear: '清除',
12392
+ allChecked: '全选',
12393
+ total: '{0} / {1}',
12391
12394
  search: '搜索',
12392
12395
  loadingText: '加载中',
12396
+ emptyText: '暂无数据',
12397
+ maxSize: '最大可选择的数量不能超过 {0} 个',
12398
+ overSizeErr: '已超出最大可选数量 {0} 个,超出部分将被忽略!',
12399
+ searchEmpty: '未匹配到数据!'
12400
+ },
12401
+ tree: {
12402
+ searchEmpty: '未匹配到数据!'
12403
+ },
12404
+ treeSelect: {
12405
+ clearChecked: '清除',
12406
+ allChecked: '全选',
12407
+ allExpand: '全部展开',
12408
+ clearExpand: '全部收起',
12409
+ total: '已选 {0}',
12410
+ search: '搜索',
12393
12411
  emptyText: '暂无数据'
12394
12412
  },
12395
12413
  pager: {
@@ -13099,14 +13117,14 @@ var defineVxeComponent = function defineVxeComponent(options) {
13099
13117
  };
13100
13118
  ;// CONCATENATED MODULE: ./packages/ui/src/log.ts
13101
13119
 
13102
- var log_version = "ui v".concat("3.7.4");
13120
+ var log_version = "ui v".concat("3.7.6");
13103
13121
  var warnLog = log.create('warn', log_version);
13104
13122
  var errLog = log.create('error', log_version);
13105
13123
  ;// CONCATENATED MODULE: ./packages/ui/index.ts
13106
13124
 
13107
13125
 
13108
13126
 
13109
- var ui_version = "3.7.4";
13127
+ var ui_version = "3.7.6";
13110
13128
  index_esm_VxeUI.uiVersion = ui_version;
13111
13129
  index_esm_VxeUI.dynamicApp = dynamicApp;
13112
13130
  function config(options) {
@@ -13299,7 +13317,7 @@ setConfig({
13299
13317
  // size: null,
13300
13318
  virtualYConfig: {
13301
13319
  enabled: true,
13302
- gt: 100
13320
+ gt: 60
13303
13321
  // oSize: 0
13304
13322
  }
13305
13323
  },
@@ -13396,7 +13414,7 @@ setConfig({
13396
13414
  },
13397
13415
  virtualYConfig: {
13398
13416
  enabled: true,
13399
- gt: 100,
13417
+ gt: 50,
13400
13418
  oSize: 2
13401
13419
  }
13402
13420
  },
@@ -13453,16 +13471,32 @@ setConfig({
13453
13471
  isArrow: true
13454
13472
  },
13455
13473
  tree: {
13474
+ // autoResize: false,
13456
13475
  indent: 20,
13457
13476
  minHeight: 60,
13458
13477
  radioConfig: {
13459
13478
  strict: true
13479
+ },
13480
+ virtualYConfig: {
13481
+ enabled: true,
13482
+ gt: 50,
13483
+ oSize: 2
13460
13484
  }
13461
13485
  },
13462
13486
  treeSelect: {
13487
+ autoClose: true,
13488
+ virtualYConfig: {
13489
+ enabled: true,
13490
+ gt: 0,
13491
+ oSize: 2
13492
+ },
13463
13493
  treeConfig: {
13494
+ maxHeight: 300,
13464
13495
  radioConfig: {},
13465
- checkboxConfig: {}
13496
+ checkboxConfig: {},
13497
+ filterConfig: {
13498
+ autoExpandAll: true
13499
+ }
13466
13500
  }
13467
13501
  },
13468
13502
  upload: {
@@ -13980,6 +14014,15 @@ function getAbsolutePos(elem) {
13980
14014
  visibleWidth: visibleWidth
13981
14015
  };
13982
14016
  }
14017
+ function getPaddingTopBottomSize(elem) {
14018
+ if (elem) {
14019
+ var computedStyle = getComputedStyle(elem);
14020
+ var paddingTop = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(computedStyle.paddingTop);
14021
+ var paddingBottom = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(computedStyle.paddingBottom);
14022
+ return paddingTop + paddingBottom;
14023
+ }
14024
+ return 0;
14025
+ }
13983
14026
  var scrollIntoViewIfNeeded = 'scrollIntoViewIfNeeded';
13984
14027
  var scrollIntoView = 'scrollIntoView';
13985
14028
  function scrollToView(elem) {
@@ -35767,7 +35810,7 @@ var browseObj = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_x
35767
35810
  ref: 'refVirtualBody',
35768
35811
  class: 'vxe-list--body',
35769
35812
  style: {
35770
- marginTop: topSpaceHeight ? "".concat(topSpaceHeight, "px") : ''
35813
+ transform: "translateY(".concat(topSpaceHeight, "px)")
35771
35814
  }
35772
35815
  }, defaultSlot ? $xeList.callSlot(defaultSlot, {
35773
35816
  items: items
@@ -39845,6 +39888,7 @@ var es_promise_finally = __webpack_require__(9391);
39845
39888
 
39846
39889
 
39847
39890
 
39891
+
39848
39892
 
39849
39893
 
39850
39894
  function isOptionVisible(option) {
@@ -39909,24 +39953,51 @@ function getOptUniqueId() {
39909
39953
  filterable: Boolean,
39910
39954
  filterMethod: Function,
39911
39955
  remote: Boolean,
39912
- // 已废弃,被 remote-config.queryMethod 替换
39913
- remoteMethod: Function,
39914
39956
  remoteConfig: Object,
39915
39957
  emptyText: String,
39958
+ showTotalButoon: {
39959
+ type: Boolean,
39960
+ default: function _default() {
39961
+ return getConfig().select.showTotalButoon;
39962
+ }
39963
+ },
39964
+ showCheckedButoon: {
39965
+ type: Boolean,
39966
+ default: function _default() {
39967
+ return getConfig().select.showCheckedButoon;
39968
+ }
39969
+ },
39970
+ showClearButton: {
39971
+ type: Boolean,
39972
+ default: function _default() {
39973
+ return getConfig().select.showClearButton;
39974
+ }
39975
+ },
39916
39976
  transfer: {
39917
39977
  type: Boolean,
39918
39978
  default: null
39919
39979
  },
39920
39980
  virtualYConfig: Object,
39921
39981
  scrollY: Object,
39922
- // 已废弃,被 option-config.keyField 替换
39982
+ /**
39983
+ * 已废弃,被 remote-config.queryMethod 替换
39984
+ * @deprecated
39985
+ */
39986
+ remoteMethod: Function,
39987
+ /**
39988
+ * 已废弃,被 option-config.keyField 替换
39989
+ * @deprecated
39990
+ */
39923
39991
  optionId: {
39924
39992
  type: String,
39925
39993
  default: function _default() {
39926
39994
  return getConfig().select.optionId;
39927
39995
  }
39928
39996
  },
39929
- // 已废弃,被 option-config.useKey 替换
39997
+ /**
39998
+ * 已废弃,被 option-config.useKey 替换
39999
+ * @deprecated
40000
+ */
39930
40001
  optionKey: Boolean
39931
40002
  },
39932
40003
  inject: {
@@ -39961,7 +40032,6 @@ function getOptUniqueId() {
39961
40032
  bodyHeight: 0,
39962
40033
  topSpaceHeight: 0,
39963
40034
  optList: [],
39964
- afterVisibleList: [],
39965
40035
  staticOptions: [],
39966
40036
  reactFlag: 1,
39967
40037
  currentOption: null,
@@ -39978,6 +40048,7 @@ function getOptUniqueId() {
39978
40048
  var internalData = {
39979
40049
  synchData: [],
39980
40050
  fullData: [],
40051
+ afterVisibleList: [],
39981
40052
  optAddMaps: {},
39982
40053
  optGroupKeyMaps: {},
39983
40054
  optFullValMaps: {},
@@ -40097,15 +40168,10 @@ function getOptUniqueId() {
40097
40168
  computeIsMaximize: function computeIsMaximize() {
40098
40169
  var $xeSelect = this;
40099
40170
  var props = $xeSelect;
40100
- var value = props.value,
40101
- multiple = props.multiple,
40102
- max = props.max;
40103
- if (multiple && max) {
40104
- return (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(value) ? value.length : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(value) ? 0 : 1) >= external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(max);
40105
- }
40106
- return false;
40171
+ var modelValue = props.value;
40172
+ return $xeSelect.checkMaxLimit(modelValue);
40107
40173
  },
40108
- computeSYOpts: function computeSYOpts() {
40174
+ computeVirtualYOpts: function computeVirtualYOpts() {
40109
40175
  var $xeSelect = this;
40110
40176
  var props = $xeSelect;
40111
40177
  return Object.assign({}, getConfig().select.virtualYConfig || getConfig().select.scrollY, props.virtualYConfig || props.scrollY);
@@ -40213,15 +40279,19 @@ function getOptUniqueId() {
40213
40279
  var $xeSelect = this;
40214
40280
  var reactData = $xeSelect.reactData;
40215
40281
  var $input = $xeSelect.$refs.refInput;
40282
+ if ($input) {
40283
+ $input.blur();
40284
+ }
40216
40285
  reactData.isActivated = true;
40217
- $input.blur();
40218
40286
  return $xeSelect.$nextTick();
40219
40287
  },
40220
40288
  blur: function blur() {
40221
40289
  var $xeSelect = this;
40222
40290
  var reactData = $xeSelect.reactData;
40223
40291
  var $input = $xeSelect.$refs.refInput;
40224
- $input.blur();
40292
+ if ($input) {
40293
+ $input.blur();
40294
+ }
40225
40295
  reactData.isActivated = false;
40226
40296
  return $xeSelect.$nextTick();
40227
40297
  },
@@ -40249,6 +40319,16 @@ function getOptUniqueId() {
40249
40319
  var optid = option[$xeSelect.getOptKey()];
40250
40320
  return optid ? encodeURIComponent(optid) : '';
40251
40321
  },
40322
+ checkMaxLimit: function checkMaxLimit(selectVals) {
40323
+ var $xeSelect = this;
40324
+ var props = $xeSelect;
40325
+ var multiple = props.multiple,
40326
+ max = props.max;
40327
+ if (multiple && max) {
40328
+ return (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(selectVals) ? selectVals.length : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(selectVals) ? 0 : 1) >= external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(max);
40329
+ }
40330
+ return false;
40331
+ },
40252
40332
  getRemoteSelectLabel: function getRemoteSelectLabel(value) {
40253
40333
  var $xeSelect = this;
40254
40334
  var internalData = $xeSelect.internalData;
@@ -40320,7 +40400,7 @@ function getOptUniqueId() {
40320
40400
  cacheItem._index = index;
40321
40401
  }
40322
40402
  });
40323
- reactData.afterVisibleList = avList;
40403
+ internalData.afterVisibleList = avList;
40324
40404
  return $xeSelect.$nextTick();
40325
40405
  },
40326
40406
  refreshOption: function refreshOption() {
@@ -40463,7 +40543,7 @@ function getOptUniqueId() {
40463
40543
  reactData.isAniVisible = true;
40464
40544
  if (filterable) {
40465
40545
  if (remote && remoteOpts.enabled && remoteOpts.autoLoad && !fullData.length) {
40466
- $xeSelect.triggerSearchEvent();
40546
+ $xeSelect.handleSearchEvent();
40467
40547
  } else {
40468
40548
  $xeSelect.handleOption();
40469
40549
  $xeSelect.updateYData();
@@ -40533,6 +40613,46 @@ function getOptUniqueId() {
40533
40613
  $xeSelect.clearValueEvent($event, null);
40534
40614
  $xeSelect.hideOptionPanel();
40535
40615
  },
40616
+ allCheckedPanelEvent: function allCheckedPanelEvent(params) {
40617
+ var $xeSelect = this;
40618
+ var props = $xeSelect;
40619
+ var reactData = $xeSelect.reactData;
40620
+ var $event = params.$event;
40621
+ var modelValue = props.value,
40622
+ multiple = props.multiple;
40623
+ var optList = reactData.optList;
40624
+ var valueField = $xeSelect.computeValueField;
40625
+ if (multiple) {
40626
+ var multipleValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(modelValue) ? [] : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(modelValue) ? modelValue : [modelValue];
40627
+ var _loop = function _loop() {
40628
+ var option = optList[i];
40629
+ var selectValue = option[valueField];
40630
+ // 检测是否超过最大可选数量
40631
+ if ($xeSelect.checkMaxLimit(multipleValue)) {
40632
+ return 1; // break
40633
+ }
40634
+ if (!multipleValue.some(function (val) {
40635
+ return val === selectValue;
40636
+ })) {
40637
+ multipleValue.push(selectValue);
40638
+ }
40639
+ };
40640
+ for (var i = 0; i < optList.length; i++) {
40641
+ if (_loop()) break;
40642
+ }
40643
+ $xeSelect.changeEvent($event, multipleValue);
40644
+ $xeSelect.dispatchEvent('all-change', {
40645
+ value: multipleValue
40646
+ }, $event);
40647
+ $xeSelect.hideOptionPanel();
40648
+ }
40649
+ },
40650
+ clearCheckedPanelEvent: function clearCheckedPanelEvent(params) {
40651
+ var $xeSelect = this;
40652
+ var $event = params.$event;
40653
+ $xeSelect.clearValueEvent($event, null);
40654
+ $xeSelect.hideOptionPanel();
40655
+ },
40536
40656
  changeOptionEvent: function changeOptionEvent(evnt, option) {
40537
40657
  var $xeSelect = this;
40538
40658
  var props = $xeSelect;
@@ -40621,10 +40741,10 @@ function getOptUniqueId() {
40621
40741
  var reactData = $xeSelect.reactData;
40622
40742
  var internalData = $xeSelect.internalData;
40623
40743
  var allowCreate = props.allowCreate;
40624
- var afterVisibleList = reactData.afterVisibleList,
40625
- optList = reactData.optList;
40744
+ var optList = reactData.optList;
40626
40745
  var optFullValMaps = internalData.optFullValMaps,
40627
- optAddMaps = internalData.optAddMaps;
40746
+ optAddMaps = internalData.optAddMaps,
40747
+ afterVisibleList = internalData.afterVisibleList;
40628
40748
  var valueField = $xeSelect.computeValueField;
40629
40749
  var fullList = afterVisibleList;
40630
40750
  var offsetAddIndex = 0;
@@ -40856,14 +40976,11 @@ function getOptUniqueId() {
40856
40976
  }
40857
40977
  }
40858
40978
  },
40859
- checkOptionDisabled: function checkOptionDisabled(isSelected, option, group) {
40979
+ checkOptionDisabled: function checkOptionDisabled(isSelected, option) {
40860
40980
  var $xeSelect = this;
40861
40981
  if (option.disabled) {
40862
40982
  return true;
40863
40983
  }
40864
- if (group && group.disabled) {
40865
- return true;
40866
- }
40867
40984
  var isMaximize = $xeSelect.computeIsMaximize;
40868
40985
  if (isMaximize && !isSelected) {
40869
40986
  return true;
@@ -40874,9 +40991,9 @@ function getOptUniqueId() {
40874
40991
  var $xeSelect = this;
40875
40992
  var reactData = $xeSelect.reactData;
40876
40993
  var internalData = $xeSelect.internalData;
40877
- var scrollYLoad = reactData.scrollYLoad,
40878
- afterVisibleList = reactData.afterVisibleList;
40879
- var scrollYStore = internalData.scrollYStore;
40994
+ var scrollYLoad = reactData.scrollYLoad;
40995
+ var scrollYStore = internalData.scrollYStore,
40996
+ afterVisibleList = internalData.afterVisibleList;
40880
40997
  reactData.bodyHeight = scrollYLoad ? afterVisibleList.length * scrollYStore.rowHeight : 0;
40881
40998
  reactData.topSpaceHeight = scrollYLoad ? Math.max(scrollYStore.startIndex * scrollYStore.rowHeight, 0) : 0;
40882
40999
  },
@@ -40888,10 +41005,10 @@ function getOptUniqueId() {
40888
41005
  var filterable = props.filterable,
40889
41006
  allowCreate = props.allowCreate;
40890
41007
  var scrollYLoad = reactData.scrollYLoad,
40891
- afterVisibleList = reactData.afterVisibleList,
40892
41008
  searchValue = reactData.searchValue;
40893
41009
  var optAddMaps = internalData.optAddMaps,
40894
- scrollYStore = internalData.scrollYStore;
41010
+ scrollYStore = internalData.scrollYStore,
41011
+ afterVisibleList = internalData.afterVisibleList;
40895
41012
  var labelField = $xeSelect.computeLabelField;
40896
41013
  var valueField = $xeSelect.computeValueField;
40897
41014
  var restList = scrollYLoad ? afterVisibleList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : afterVisibleList.slice(0);
@@ -40920,13 +41037,10 @@ function getOptUniqueId() {
40920
41037
  var scrollYLoad = reactData.scrollYLoad;
40921
41038
  var scrollYStore = internalData.scrollYStore;
40922
41039
  var virtualBodyElem = $xeSelect.$refs.refVirtualBody;
40923
- var sYOpts = $xeSelect.computeSYOpts;
41040
+ var virtualYOpts = $xeSelect.computeVirtualYOpts;
40924
41041
  var rowHeight = 0;
40925
41042
  var firstItemElem;
40926
41043
  if (virtualBodyElem) {
40927
- if (sYOpts.sItem) {
40928
- firstItemElem = virtualBodyElem.querySelector(sYOpts.sItem);
40929
- }
40930
41044
  if (!firstItemElem) {
40931
41045
  firstItemElem = virtualBodyElem.children[0];
40932
41046
  }
@@ -40940,7 +41054,7 @@ function getOptUniqueId() {
40940
41054
  if (scrollYLoad) {
40941
41055
  var scrollBodyElem = $xeSelect.$refs.refVirtualWrapper;
40942
41056
  var visibleYSize = Math.max(8, scrollBodyElem ? Math.ceil(scrollBodyElem.clientHeight / rowHeight) : 0);
40943
- var offsetYSize = Math.max(0, Math.min(2, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(sYOpts.oSize)));
41057
+ var offsetYSize = Math.max(0, Math.min(2, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(virtualYOpts.oSize)));
40944
41058
  scrollYStore.offsetSize = offsetYSize;
40945
41059
  scrollYStore.visibleSize = visibleYSize;
40946
41060
  scrollYStore.endIndex = Math.max(scrollYStore.startIndex, visibleYSize + offsetYSize, scrollYStore.endIndex);
@@ -41115,7 +41229,7 @@ function getOptUniqueId() {
41115
41229
  fullData = internalData.fullData,
41116
41230
  scrollYStore = internalData.scrollYStore;
41117
41231
  var defaultOpts = $xeSelect.computeDefaultOpts;
41118
- var sYOpts = $xeSelect.computeSYOpts;
41232
+ var virtualYOpts = $xeSelect.computeVirtualYOpts;
41119
41233
  var valueField = $xeSelect.computeValueField;
41120
41234
  Object.assign(scrollYStore, {
41121
41235
  startIndex: 0,
@@ -41124,7 +41238,7 @@ function getOptUniqueId() {
41124
41238
  });
41125
41239
  internalData.synchData = datas || [];
41126
41240
  // 如果gt为0,则总是启用
41127
- reactData.scrollYLoad = !!sYOpts.enabled && sYOpts.gt > -1 && (sYOpts.gt === 0 || sYOpts.gt <= fullData.length);
41241
+ reactData.scrollYLoad = !!virtualYOpts.enabled && virtualYOpts.gt > -1 && (virtualYOpts.gt === 0 || virtualYOpts.gt <= fullData.length);
41128
41242
  $xeSelect.handleData();
41129
41243
  if (!isLoaded) {
41130
41244
  var selectMode = defaultOpts.selectMode;
@@ -41174,7 +41288,7 @@ function getOptUniqueId() {
41174
41288
  //
41175
41289
  // Render
41176
41290
  //
41177
- renderOption: function renderOption(h, list, group) {
41291
+ renderOption: function renderOption(h, list) {
41178
41292
  var $xeSelect = this;
41179
41293
  var props = $xeSelect;
41180
41294
  var slots = $xeSelect.$scopedSlots;
@@ -41200,11 +41314,11 @@ function getOptUniqueId() {
41200
41314
  var isAdd = !!(allowCreate && optAddMaps[optid]);
41201
41315
  var isSelected = !isAdd && (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(value) ? value.indexOf(optionValue) > -1 : value === optionValue);
41202
41316
  var isVisible = isAdd || !isOptGroup || isOptionVisible(option);
41203
- var isDisabled = !isAdd && $xeSelect.checkOptionDisabled(isSelected, option, group);
41317
+ var isDisabled = !isAdd && $xeSelect.checkOptionDisabled(isSelected, option);
41204
41318
  var defaultSlot = slots ? slots.default : null;
41205
41319
  var optParams = {
41206
41320
  option: option,
41207
- group: null,
41321
+ group: isOptGroup ? option : null,
41208
41322
  $select: $xeSelect
41209
41323
  };
41210
41324
  var optLabel = '';
@@ -41286,13 +41400,19 @@ function getOptUniqueId() {
41286
41400
  var props = $xeSelect;
41287
41401
  var slots = $xeSelect.$scopedSlots;
41288
41402
  var reactData = $xeSelect.reactData;
41289
- var className = props.className,
41403
+ var modelValue = props.value,
41404
+ className = props.className,
41290
41405
  popupClassName = props.popupClassName,
41406
+ multiple = props.multiple,
41291
41407
  loading = props.loading,
41292
- filterable = props.filterable;
41408
+ filterable = props.filterable,
41409
+ showTotalButoon = props.showTotalButoon,
41410
+ showCheckedButoon = props.showCheckedButoon,
41411
+ showClearButton = props.showClearButton;
41293
41412
  var initialized = reactData.initialized,
41294
41413
  isActivated = reactData.isActivated,
41295
41414
  isAniVisible = reactData.isAniVisible,
41415
+ optList = reactData.optList,
41296
41416
  visiblePanel = reactData.visiblePanel,
41297
41417
  bodyHeight = reactData.bodyHeight,
41298
41418
  topSpaceHeight = reactData.topSpaceHeight;
@@ -41317,6 +41437,7 @@ function getOptUniqueId() {
41317
41437
  class: 'vxe-select-label'
41318
41438
  }, selectLabel)]);
41319
41439
  }
41440
+ var selectVals = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(modelValue) ? [] : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(modelValue) ? modelValue : [modelValue];
41320
41441
  return h('div', {
41321
41442
  ref: 'refElem',
41322
41443
  class: ['vxe-select', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
@@ -41381,9 +41502,31 @@ function getOptUniqueId() {
41381
41502
  change: $xeSelect.triggerSearchEvent,
41382
41503
  search: $xeSelect.triggerSearchEvent
41383
41504
  }
41384
- })]) : renderEmptyElement($xeSelect), headerSlot ? h('div', {
41505
+ })]) : renderEmptyElement($xeSelect), showTotalButoon || showCheckedButoon && multiple || showClearButton || headerSlot ? h('div', {
41385
41506
  class: 'vxe-select--panel-header'
41386
- }, $xeSelect.callSlot(headerSlot, {}, h)) : renderEmptyElement($xeSelect), h('div', {
41507
+ }, headerSlot ? $xeSelect.callSlot(headerSlot, {}, h) : [h('div', {
41508
+ class: 'vxe-tree-select--header-button'
41509
+ }, [showTotalButoon ? h('div', {
41510
+ class: 'vxe-tree-select--header-total'
41511
+ }, getI18n('vxe.select.total', [selectVals.length, optList.length])) : renderEmptyElement($xeSelect), h('div', {
41512
+ class: 'vxe-tree-select--header-btns'
41513
+ }, [showCheckedButoon && multiple ? h(src_button, {
41514
+ props: {
41515
+ content: getI18n('vxe.select.allChecked'),
41516
+ mode: 'text'
41517
+ },
41518
+ on: {
41519
+ click: $xeSelect.allCheckedPanelEvent
41520
+ }
41521
+ }) : renderEmptyElement($xeSelect), showClearButton ? h(src_button, {
41522
+ props: {
41523
+ content: getI18n('vxe.select.clear'),
41524
+ mode: 'text'
41525
+ },
41526
+ on: {
41527
+ click: $xeSelect.clearCheckedPanelEvent
41528
+ }
41529
+ }) : renderEmptyElement($xeSelect)])])]) : renderEmptyElement($xeSelect), h('div', {
41387
41530
  class: 'vxe-select--panel-body'
41388
41531
  }, [h('div', {
41389
41532
  ref: 'refVirtualWrapper',
@@ -41400,7 +41543,7 @@ function getOptUniqueId() {
41400
41543
  ref: 'refVirtualBody',
41401
41544
  class: 'vxe-select--body',
41402
41545
  style: {
41403
- marginTop: topSpaceHeight ? "".concat(topSpaceHeight, "px") : ''
41546
+ transform: "translateY(".concat(topSpaceHeight, "px)")
41404
41547
  }
41405
41548
  }, $xeSelect.renderOpts(h))])]), footerSlot ? h('div', {
41406
41549
  class: 'vxe-select--panel-footer'
@@ -49371,6 +49514,38 @@ dynamicApp.use(VxeTooltip);
49371
49514
  index_esm_VxeUI.component(tooltip);
49372
49515
  var Tooltip = VxeTooltip;
49373
49516
  /* harmony default export */ var packages_tooltip = (VxeTooltip);
49517
+ ;// CONCATENATED MODULE: ./packages/tree/src/util.ts
49518
+ function countTreeExpand($xeTree, prevNode) {
49519
+ var count = 1;
49520
+ if (!prevNode) {
49521
+ return count;
49522
+ }
49523
+ var props = $xeTree;
49524
+ var transform = props.transform;
49525
+ var reactData = $xeTree.reactData;
49526
+ var updateExpandedFlag = reactData.updateExpandedFlag;
49527
+ var internalData = $xeTree.internalData;
49528
+ var treeExpandedMaps = internalData.treeExpandedMaps;
49529
+ var childrenField = $xeTree.computeChildrenField;
49530
+ var mapChildrenField = $xeTree.computeMapChildrenField;
49531
+ var nodeChildren = prevNode[transform ? mapChildrenField : childrenField];
49532
+ if (nodeChildren && updateExpandedFlag && treeExpandedMaps[$xeTree.getNodeId(prevNode)]) {
49533
+ for (var index = 0; index < nodeChildren.length; index++) {
49534
+ count += countTreeExpand($xeTree, nodeChildren[index]);
49535
+ }
49536
+ }
49537
+ return count;
49538
+ }
49539
+ function calcTreeLine($xeTree, node, prevNode) {
49540
+ var internalData = $xeTree.internalData;
49541
+ var scrollYStore = internalData.scrollYStore;
49542
+ var rowHeight = scrollYStore.rowHeight;
49543
+ var expandSize = 1;
49544
+ if (prevNode) {
49545
+ expandSize = countTreeExpand($xeTree, prevNode);
49546
+ }
49547
+ return (rowHeight || 28) * expandSize - (prevNode ? 1 : 12);
49548
+ }
49374
49549
  ;// CONCATENATED MODULE: ./packages/tree/src/tree.ts
49375
49550
 
49376
49551
 
@@ -49391,6 +49566,9 @@ var Tooltip = VxeTooltip;
49391
49566
 
49392
49567
 
49393
49568
 
49569
+
49570
+
49571
+
49394
49572
 
49395
49573
 
49396
49574
 
@@ -49417,7 +49595,19 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
49417
49595
  mixins: [globalMixins.sizeMixin],
49418
49596
  props: {
49419
49597
  data: Array,
49598
+ autoResize: {
49599
+ type: Boolean,
49600
+ default: function _default() {
49601
+ return getConfig().tree.autoResize;
49602
+ }
49603
+ },
49420
49604
  height: [String, Number],
49605
+ maxHeight: {
49606
+ type: [String, Number],
49607
+ default: function _default() {
49608
+ return getConfig().tree.maxHeight;
49609
+ }
49610
+ },
49421
49611
  minHeight: {
49422
49612
  type: [String, Number],
49423
49613
  default: function _default() {
@@ -49545,17 +49735,27 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
49545
49735
  return getConfig().tree.iconLoaded;
49546
49736
  }
49547
49737
  },
49738
+ filterValue: [String, Number],
49739
+ filterConfig: Object,
49548
49740
  size: {
49549
49741
  type: String,
49550
49742
  default: function _default() {
49551
49743
  return getConfig().tree.size || getConfig().size;
49552
49744
  }
49553
- }
49745
+ },
49746
+ virtualYConfig: Object
49554
49747
  },
49555
49748
  data: function data() {
49556
49749
  var xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();
49557
49750
  var reactData = {
49751
+ parentHeight: 0,
49752
+ customHeight: 0,
49753
+ customMinHeight: 0,
49754
+ customMaxHeight: 0,
49558
49755
  currentNode: null,
49756
+ scrollYLoad: false,
49757
+ bodyHeight: 0,
49758
+ topSpaceHeight: 0,
49559
49759
  selectRadioKey: null,
49560
49760
  treeList: [],
49561
49761
  updateExpandedFlag: 1,
@@ -49563,11 +49763,26 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
49563
49763
  };
49564
49764
  var internalData = {
49565
49765
  // initialized: false,
49766
+ // lastFilterValue: '',
49767
+ treeFullData: [],
49768
+ afterTreeList: [],
49769
+ afterVisibleList: [],
49566
49770
  nodeMaps: {},
49567
49771
  selectCheckboxMaps: {},
49568
49772
  indeterminateRowMaps: {},
49569
49773
  treeExpandedMaps: {},
49570
- treeExpandLazyLoadedMaps: {}
49774
+ treeExpandLazyLoadedMaps: {},
49775
+ lastScrollLeft: 0,
49776
+ lastScrollTop: 0,
49777
+ scrollYStore: {
49778
+ startIndex: 0,
49779
+ endIndex: 0,
49780
+ visibleSize: 0,
49781
+ offsetSize: 0,
49782
+ rowHeight: 0
49783
+ },
49784
+ lastScrollTime: 0
49785
+ // hpTimeout: undefined
49571
49786
  };
49572
49787
  return {
49573
49788
  xID: xID,
@@ -49612,6 +49827,11 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
49612
49827
  var props = $xeTree;
49613
49828
  return props.hasChildField || 'hasChild';
49614
49829
  },
49830
+ computeVirtualYOpts: function computeVirtualYOpts() {
49831
+ var $xeTree = this;
49832
+ var props = $xeTree;
49833
+ return Object.assign({}, getConfig().tree.virtualYConfig, props.virtualYConfig);
49834
+ },
49615
49835
  computeIsRowCurrent: function computeIsRowCurrent() {
49616
49836
  var $xeTree = this;
49617
49837
  var props = $xeTree;
@@ -49658,17 +49878,26 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
49658
49878
  },
49659
49879
  computeTreeStyle: function computeTreeStyle() {
49660
49880
  var $xeTree = this;
49661
- var props = $xeTree;
49662
- var height = props.height,
49663
- minHeight = props.minHeight;
49881
+ var reactData = $xeTree.reactData;
49882
+ var customHeight = reactData.customHeight,
49883
+ customMinHeight = reactData.customMinHeight,
49884
+ customMaxHeight = reactData.customMaxHeight;
49664
49885
  var stys = {};
49665
- if (height) {
49666
- stys.height = toCssUnit(height);
49886
+ if (customHeight) {
49887
+ stys.height = toCssUnit(customHeight);
49888
+ }
49889
+ if (customMinHeight) {
49890
+ stys.minHeight = toCssUnit(customMinHeight);
49667
49891
  }
49668
- if (minHeight) {
49669
- stys.minHeight = toCssUnit(minHeight);
49892
+ if (customMaxHeight) {
49893
+ stys.maxHeight = toCssUnit(customMaxHeight);
49670
49894
  }
49671
49895
  return stys;
49896
+ },
49897
+ computeFilterOpts: function computeFilterOpts() {
49898
+ var $xeTree = this;
49899
+ var props = $xeTree;
49900
+ return Object.assign({}, getConfig().tree.filterConfig, props.filterConfig);
49672
49901
  }
49673
49902
  }),
49674
49903
  methods: {
@@ -49681,298 +49910,6 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
49681
49910
  $tree: $xeTree
49682
49911
  }, params));
49683
49912
  },
49684
- clearCurrentNode: function clearCurrentNode() {
49685
- var $xeTree = this;
49686
- var reactData = $xeTree.reactData;
49687
- reactData.currentNode = null;
49688
- return $xeTree.$nextTick();
49689
- },
49690
- getCurrentNodeId: function getCurrentNodeId() {
49691
- var $xeTree = this;
49692
- var reactData = $xeTree.reactData;
49693
- var currentNode = reactData.currentNode;
49694
- if (currentNode) {
49695
- return $xeTree.getNodeId(currentNode);
49696
- }
49697
- return null;
49698
- },
49699
- getCurrentNode: function getCurrentNode() {
49700
- var $xeTree = this;
49701
- var reactData = $xeTree.reactData;
49702
- var internalData = $xeTree.internalData;
49703
- var currentNode = reactData.currentNode;
49704
- var nodeMaps = internalData.nodeMaps;
49705
- if (currentNode) {
49706
- var nodeItem = nodeMaps[$xeTree.getNodeId(currentNode)];
49707
- if (nodeItem) {
49708
- return nodeItem.item;
49709
- }
49710
- }
49711
- return null;
49712
- },
49713
- setCurrentNodeId: function setCurrentNodeId(nodeKey) {
49714
- var $xeTree = this;
49715
- var reactData = $xeTree.reactData;
49716
- var internalData = $xeTree.internalData;
49717
- var nodeMaps = internalData.nodeMaps;
49718
- var nodeItem = nodeMaps[nodeKey];
49719
- reactData.currentNode = nodeItem ? nodeItem.item : null;
49720
- return $xeTree.$nextTick();
49721
- },
49722
- setCurrentNode: function setCurrentNode(node) {
49723
- var $xeTree = this;
49724
- var reactData = $xeTree.reactData;
49725
- reactData.currentNode = node;
49726
- return $xeTree.$nextTick();
49727
- },
49728
- clearRadioNode: function clearRadioNode() {
49729
- var $xeTree = this;
49730
- var reactData = $xeTree.reactData;
49731
- reactData.selectRadioKey = null;
49732
- return $xeTree.$nextTick();
49733
- },
49734
- getCheckboxNodeIds: function getCheckboxNodeIds() {
49735
- var $xeTree = this;
49736
- var internalData = $xeTree.internalData;
49737
- var selectCheckboxMaps = internalData.selectCheckboxMaps;
49738
- return Object.keys(selectCheckboxMaps);
49739
- },
49740
- getCheckboxNodes: function getCheckboxNodes() {
49741
- var $xeTree = this;
49742
- var internalData = $xeTree.internalData;
49743
- var nodeMaps = internalData.nodeMaps,
49744
- selectCheckboxMaps = internalData.selectCheckboxMaps;
49745
- var list = [];
49746
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, function (item, nodeid) {
49747
- var nodeItem = nodeMaps[nodeid];
49748
- if (nodeItem) {
49749
- list.push(nodeItem.item);
49750
- }
49751
- });
49752
- return list;
49753
- },
49754
- clearCheckboxNode: function clearCheckboxNode() {
49755
- var $xeTree = this;
49756
- var reactData = $xeTree.reactData;
49757
- var internalData = $xeTree.internalData;
49758
- internalData.selectCheckboxMaps = {};
49759
- reactData.updateCheckboxFlag++;
49760
- return $xeTree.$nextTick();
49761
- },
49762
- setAllCheckboxNode: function setAllCheckboxNode(checked) {
49763
- var $xeTree = this;
49764
- var props = $xeTree;
49765
- var reactData = $xeTree.reactData;
49766
- var internalData = $xeTree.internalData;
49767
- var transform = props.transform;
49768
- var selectMaps = {};
49769
- var childrenField = $xeTree.computeChildrenField;
49770
- var mapChildrenField = $xeTree.computeMapChildrenField;
49771
- if (checked) {
49772
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(reactData.treeList, function (node) {
49773
- var nodeid = $xeTree.getNodeId(node);
49774
- selectMaps[nodeid] = true;
49775
- }, {
49776
- children: transform ? mapChildrenField : childrenField
49777
- });
49778
- }
49779
- internalData.selectCheckboxMaps = selectMaps;
49780
- reactData.updateCheckboxFlag++;
49781
- return $xeTree.$nextTick();
49782
- },
49783
- clearExpandNode: function clearExpandNode() {
49784
- var $xeTree = this;
49785
- return $xeTree.clearAllExpandNode();
49786
- },
49787
- clearAllExpandNode: function clearAllExpandNode() {
49788
- var $xeTree = this;
49789
- var reactData = $xeTree.reactData;
49790
- var internalData = $xeTree.internalData;
49791
- var nodeMaps = internalData.nodeMaps;
49792
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(nodeMaps, function (nodeItem) {
49793
- nodeItem.treeLoaded = false;
49794
- });
49795
- internalData.treeExpandedMaps = {};
49796
- reactData.updateExpandedFlag++;
49797
- return $xeTree.$nextTick();
49798
- },
49799
- setExpandByNodeId: function setExpandByNodeId(nodeids, expanded) {
49800
- var $xeTree = this;
49801
- var reactData = $xeTree.reactData;
49802
- var internalData = $xeTree.internalData;
49803
- var treeExpandedMaps = internalData.treeExpandedMaps;
49804
- if (nodeids) {
49805
- if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(nodeids)) {
49806
- nodeids = [nodeids];
49807
- }
49808
- nodeids.forEach(function (nodeid) {
49809
- handleSetExpand(nodeid, expanded, treeExpandedMaps);
49810
- });
49811
- reactData.updateExpandedFlag++;
49812
- }
49813
- return $xeTree.$nextTick();
49814
- },
49815
- getExpandNodeIds: function getExpandNodeIds() {
49816
- var $xeTree = this;
49817
- var internalData = $xeTree.internalData;
49818
- var treeExpandedMaps = internalData.treeExpandedMaps;
49819
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().keys(treeExpandedMaps);
49820
- },
49821
- getExpandNodes: function getExpandNodes() {
49822
- var $xeTree = this;
49823
- var internalData = $xeTree.internalData;
49824
- var nodeMaps = internalData.nodeMaps,
49825
- treeExpandedMaps = internalData.treeExpandedMaps;
49826
- var list = [];
49827
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(treeExpandedMaps, function (item, nodeid) {
49828
- var nodeItem = nodeMaps[nodeid];
49829
- if (nodeItem) {
49830
- list.push(nodeItem.item);
49831
- }
49832
- });
49833
- return list;
49834
- },
49835
- setExpandNode: function setExpandNode(nodes, expanded) {
49836
- var $xeTree = this;
49837
- var reactData = $xeTree.reactData;
49838
- var internalData = $xeTree.internalData;
49839
- var treeExpandedMaps = internalData.treeExpandedMaps;
49840
- if (nodes) {
49841
- if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(nodes)) {
49842
- nodes = [nodes];
49843
- }
49844
- nodes.forEach(function (node) {
49845
- var nodeid = $xeTree.getNodeId(node);
49846
- handleSetExpand(nodeid, expanded, treeExpandedMaps);
49847
- });
49848
- reactData.updateExpandedFlag++;
49849
- }
49850
- return $xeTree.$nextTick();
49851
- },
49852
- toggleExpandByNodeId: function toggleExpandByNodeId(nodeids) {
49853
- var $xeTree = this;
49854
- var reactData = $xeTree.reactData;
49855
- var internalData = $xeTree.internalData;
49856
- var treeExpandedMaps = internalData.treeExpandedMaps;
49857
- if (nodeids) {
49858
- if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(nodeids)) {
49859
- nodeids = [nodeids];
49860
- }
49861
- nodeids.forEach(function (nodeid) {
49862
- handleSetExpand(nodeid, !treeExpandedMaps[nodeid], treeExpandedMaps);
49863
- });
49864
- reactData.updateExpandedFlag++;
49865
- }
49866
- return $xeTree.$nextTick();
49867
- },
49868
- toggleExpandNode: function toggleExpandNode(nodes) {
49869
- var $xeTree = this;
49870
- var reactData = $xeTree.reactData;
49871
- var internalData = $xeTree.internalData;
49872
- var treeExpandedMaps = internalData.treeExpandedMaps;
49873
- if (nodes) {
49874
- if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(nodes)) {
49875
- nodes = [nodes];
49876
- }
49877
- nodes.forEach(function (node) {
49878
- var nodeid = $xeTree.getNodeId(node);
49879
- handleSetExpand(nodeid, !treeExpandedMaps[nodeid], treeExpandedMaps);
49880
- });
49881
- reactData.updateExpandedFlag++;
49882
- }
49883
- return $xeTree.$nextTick();
49884
- },
49885
- setAllExpandNode: function setAllExpandNode(expanded) {
49886
- var $xeTree = this;
49887
- var props = $xeTree;
49888
- var reactData = $xeTree.reactData;
49889
- var internalData = $xeTree.internalData;
49890
- var transform = props.transform;
49891
- var treeExpandedMaps = internalData.treeExpandedMaps;
49892
- var childrenField = $xeTree.computeChildrenField;
49893
- var mapChildrenField = $xeTree.computeMapChildrenField;
49894
- if (expanded) {
49895
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(reactData.treeList, function (node) {
49896
- var childList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(node, childrenField);
49897
- var hasChild = childList && childList.length;
49898
- if (hasChild) {
49899
- var nodeid = $xeTree.getNodeId(node);
49900
- treeExpandedMaps[nodeid] = true;
49901
- }
49902
- }, {
49903
- children: transform ? mapChildrenField : childrenField
49904
- });
49905
- } else {
49906
- internalData.treeExpandedMaps = {};
49907
- }
49908
- reactData.updateExpandedFlag++;
49909
- return $xeTree.$nextTick();
49910
- },
49911
- reloadExpandNode: function reloadExpandNode(node) {
49912
- var $xeTree = this;
49913
- var props = $xeTree;
49914
- var lazy = props.lazy;
49915
- if (lazy) {
49916
- $xeTree.clearExpandLoaded(node);
49917
- return $xeTree.handleAsyncTreeExpandChilds(node);
49918
- }
49919
- return $xeTree.$nextTick();
49920
- },
49921
- clearExpandLoaded: function clearExpandLoaded(node) {
49922
- var $xeTree = this;
49923
- var props = $xeTree;
49924
- var internalData = $xeTree.internalData;
49925
- var lazy = props.lazy;
49926
- var nodeMaps = internalData.nodeMaps;
49927
- if (lazy) {
49928
- var nodeItem = nodeMaps[$xeTree.getNodeId(node)];
49929
- if (nodeItem) {
49930
- nodeItem.treeLoaded = false;
49931
- }
49932
- }
49933
- return $xeTree.$nextTick();
49934
- },
49935
- /**
49936
- * 用于树结构,给行数据加载子节点
49937
- */
49938
- loadChildrenNode: function loadChildrenNode(node, childRecords) {
49939
- var $xeTree = this;
49940
- var props = $xeTree;
49941
- var internalData = $xeTree.internalData;
49942
- var lazy = props.lazy,
49943
- transform = props.transform;
49944
- var nodeMaps = internalData.nodeMaps;
49945
- if (!lazy) {
49946
- return Promise.resolve([]);
49947
- }
49948
- var childrenField = $xeTree.computeChildrenField;
49949
- var parentNodeItem = nodeMaps[$xeTree.getNodeId(node)];
49950
- var parentLevel = parentNodeItem ? parentNodeItem.level : 0;
49951
- var parentNodes = parentNodeItem ? parentNodeItem.nodes : [];
49952
- return $xeTree.createNode(childRecords).then(function (nodeList) {
49953
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(nodeList, function (childRow, index, items, path, parent, nodes) {
49954
- var itemNodeId = $xeTree.getNodeId(childRow);
49955
- nodeMaps[itemNodeId] = {
49956
- item: node,
49957
- itemIndex: -1,
49958
- items: items,
49959
- parent: parent || parentNodeItem.item,
49960
- nodes: parentNodes.concat(nodes),
49961
- level: parentLevel + nodes.length,
49962
- lineCount: 0,
49963
- treeLoaded: false
49964
- };
49965
- }, {
49966
- children: childrenField
49967
- });
49968
- node[childrenField] = nodeList;
49969
- if (transform) {
49970
- node[childrenField] = nodeList;
49971
- }
49972
- $xeTree.updateNodeLine(node);
49973
- return nodeList;
49974
- });
49975
- },
49976
49913
  getNodeId: function getNodeId(node) {
49977
49914
  var $xeTree = this;
49978
49915
  var valueField = $xeTree.computeValueField;
@@ -50022,20 +49959,6 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50022
49959
  var $xeTree = this;
50023
49960
  return $xeTree.isIndeterminateByCheckboxNodeid($xeTree.getNodeId(node));
50024
49961
  },
50025
- getCheckboxIndeterminateNodes: function getCheckboxIndeterminateNodes() {
50026
- var $xeTree = this;
50027
- var internalData = $xeTree.internalData;
50028
- var nodeMaps = internalData.nodeMaps,
50029
- indeterminateRowMaps = internalData.indeterminateRowMaps;
50030
- var list = [];
50031
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(indeterminateRowMaps, function (item, nodeid) {
50032
- var nodeItem = nodeMaps[nodeid];
50033
- if (nodeItem) {
50034
- list.push(nodeItem.item);
50035
- }
50036
- });
50037
- return list;
50038
- },
50039
49962
  emitCheckboxMode: function emitCheckboxMode(value) {
50040
49963
  var $xeTree = this;
50041
49964
  $xeTree.$emit('update:checkNodeKeys', value);
@@ -50044,31 +49967,6 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50044
49967
  var $xeTree = this;
50045
49968
  $xeTree.$emit('update:checkNodeKey', value);
50046
49969
  },
50047
- getRadioNodeId: function getRadioNodeId() {
50048
- var $xeTree = this;
50049
- var reactData = $xeTree.reactData;
50050
- return reactData.selectRadioKey || null;
50051
- },
50052
- setRadioNodeId: function setRadioNodeId(nodeKey) {
50053
- var $xeTree = this;
50054
- var reactData = $xeTree.reactData;
50055
- reactData.selectRadioKey = nodeKey;
50056
- return $xeTree.$nextTick();
50057
- },
50058
- getRadioNode: function getRadioNode() {
50059
- var $xeTree = this;
50060
- var reactData = $xeTree.reactData;
50061
- var internalData = $xeTree.internalData;
50062
- var selectRadioKey = reactData.selectRadioKey;
50063
- var nodeMaps = internalData.nodeMaps;
50064
- if (selectRadioKey) {
50065
- var nodeItem = nodeMaps[selectRadioKey];
50066
- if (nodeItem) {
50067
- return nodeItem.item;
50068
- }
50069
- }
50070
- return null;
50071
- },
50072
49970
  setRadioNode: function setRadioNode(node) {
50073
49971
  var $xeTree = this;
50074
49972
  var reactData = $xeTree.reactData;
@@ -50143,6 +50041,54 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50143
50041
  var $xeTree = this;
50144
50042
  $xeTree.setCheckboxByNodeId(nodeIds, true);
50145
50043
  },
50044
+ handleSetExpand: function handleSetExpand(nodeid, expanded, expandedMaps) {
50045
+ if (expanded) {
50046
+ if (!expandedMaps[nodeid]) {
50047
+ expandedMaps[nodeid] = true;
50048
+ }
50049
+ } else {
50050
+ if (expandedMaps[nodeid]) {
50051
+ delete expandedMaps[nodeid];
50052
+ }
50053
+ }
50054
+ },
50055
+ getParentElem: function getParentElem() {
50056
+ var $xeTree = this;
50057
+ var el = $xeTree.$refs.refElem;
50058
+ return el ? el.parentElement : null;
50059
+ },
50060
+ calcTableHeight: function calcTableHeight(key) {
50061
+ var $xeTree = this;
50062
+ var props = $xeTree;
50063
+ var reactData = $xeTree.reactData;
50064
+ var parentHeight = reactData.parentHeight;
50065
+ var val = props[key];
50066
+ var num = 0;
50067
+ if (val) {
50068
+ if (val === '100%' || val === 'auto') {
50069
+ num = parentHeight;
50070
+ } else {
50071
+ if (isScale(val)) {
50072
+ num = Math.floor((external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toInteger(val) || 1) / 100 * parentHeight);
50073
+ } else {
50074
+ num = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(val);
50075
+ }
50076
+ num = Math.max(40, num);
50077
+ }
50078
+ }
50079
+ return num;
50080
+ },
50081
+ updateHeight: function updateHeight() {
50082
+ var $xeTree = this;
50083
+ var reactData = $xeTree.reactData;
50084
+ reactData.customHeight = $xeTree.calcTableHeight('height');
50085
+ reactData.customMinHeight = $xeTree.calcTableHeight('minHeight');
50086
+ reactData.customMaxHeight = $xeTree.calcTableHeight('maxHeight');
50087
+ // 如果启用虚拟滚动,默认高度
50088
+ if (reactData.scrollYLoad && !(reactData.customHeight || reactData.customMinHeight)) {
50089
+ reactData.customHeight = 300;
50090
+ }
50091
+ },
50146
50092
  createNode: function createNode(records) {
50147
50093
  var $xeTree = this;
50148
50094
  var valueField = $xeTree.computeValueField;
@@ -50158,16 +50104,12 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50158
50104
  },
50159
50105
  cacheNodeMap: function cacheNodeMap() {
50160
50106
  var $xeTree = this;
50161
- var props = $xeTree;
50162
- var reactData = $xeTree.reactData;
50163
50107
  var internalData = $xeTree.internalData;
50164
- var transform = props.transform;
50165
- var treeList = reactData.treeList;
50108
+ var treeFullData = internalData.treeFullData;
50166
50109
  var valueField = $xeTree.computeValueField;
50167
50110
  var childrenField = $xeTree.computeChildrenField;
50168
- var mapChildrenField = $xeTree.computeMapChildrenField;
50169
50111
  var keyMaps = {};
50170
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(treeList, function (item, itemIndex, items, path, parent, nodes) {
50112
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(treeFullData, function (item, index, items, path, parent, nodes) {
50171
50113
  var nodeid = $xeTree.getNodeId(item);
50172
50114
  if (!nodeid) {
50173
50115
  nodeid = getNodeUniqueId();
@@ -50175,84 +50117,439 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50175
50117
  }
50176
50118
  keyMaps[nodeid] = {
50177
50119
  item: item,
50178
- itemIndex: itemIndex,
50120
+ index: index,
50179
50121
  items: items,
50180
50122
  parent: parent,
50181
50123
  nodes: nodes,
50182
50124
  level: nodes.length,
50125
+ treeIndex: index,
50183
50126
  lineCount: 0,
50184
50127
  treeLoaded: false
50185
50128
  };
50186
50129
  }, {
50187
- children: transform ? mapChildrenField : childrenField
50130
+ children: childrenField
50188
50131
  });
50189
50132
  internalData.nodeMaps = keyMaps;
50190
50133
  },
50191
- loadTreeData: function loadTreeData(list) {
50134
+ updateAfterDataIndex: function updateAfterDataIndex() {
50135
+ var $xeTree = this;
50136
+ var props = $xeTree;
50137
+ var internalData = $xeTree.internalData;
50138
+ var transform = props.transform;
50139
+ var afterTreeList = internalData.afterTreeList,
50140
+ nodeMaps = internalData.nodeMaps;
50141
+ var childrenField = $xeTree.computeChildrenField;
50142
+ var mapChildrenField = $xeTree.computeMapChildrenField;
50143
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeList, function (item, index, items) {
50144
+ var nodeid = $xeTree.getNodeId(item);
50145
+ var nodeItem = nodeMaps[nodeid];
50146
+ if (nodeItem) {
50147
+ nodeItem.items = items;
50148
+ nodeItem.treeIndex = index;
50149
+ } else {
50150
+ var rest = {
50151
+ item: item,
50152
+ index: index,
50153
+ items: items,
50154
+ parent: parent,
50155
+ nodes: [],
50156
+ level: 0,
50157
+ treeIndex: index,
50158
+ lineCount: 0,
50159
+ treeLoaded: false
50160
+ };
50161
+ nodeMaps[nodeid] = rest;
50162
+ }
50163
+ }, {
50164
+ children: transform ? mapChildrenField : childrenField
50165
+ });
50166
+ },
50167
+ updateAfterFullData: function updateAfterFullData() {
50168
+ var $xeTree = this;
50169
+ var props = $xeTree;
50170
+ var internalData = $xeTree.internalData;
50171
+ var transform = props.transform,
50172
+ filterValue = props.filterValue;
50173
+ var treeFullData = internalData.treeFullData,
50174
+ lastFilterValue = internalData.lastFilterValue;
50175
+ var titleField = $xeTree.computeTitleField;
50176
+ var childrenField = $xeTree.computeChildrenField;
50177
+ var mapChildrenField = $xeTree.computeMapChildrenField;
50178
+ var filterOpts = $xeTree.computeFilterOpts;
50179
+ var autoExpandAll = filterOpts.autoExpandAll,
50180
+ beforeFilterMethod = filterOpts.beforeFilterMethod,
50181
+ filterMethod = filterOpts.filterMethod,
50182
+ afterFilterMethod = filterOpts.afterFilterMethod;
50183
+ var fullList = treeFullData;
50184
+ var treeList = fullList;
50185
+ var filterStr = '';
50186
+ if (filterValue || filterValue === 0) {
50187
+ filterStr = "".concat(filterValue);
50188
+ var handleSearch = filterMethod ? function (item) {
50189
+ return filterMethod({
50190
+ $tree: $xeTree,
50191
+ node: item,
50192
+ filterValue: filterStr
50193
+ });
50194
+ } : function (item) {
50195
+ return String(item[titleField]).toLowerCase().indexOf(filterStr) > -1;
50196
+ };
50197
+ var bafParams = {
50198
+ $tree: $xeTree,
50199
+ filterValue: filterStr
50200
+ };
50201
+ if (beforeFilterMethod) {
50202
+ beforeFilterMethod(bafParams);
50203
+ }
50204
+ if (transform) {
50205
+ treeList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().searchTree(treeFullData, handleSearch, {
50206
+ children: childrenField,
50207
+ mapChildren: mapChildrenField,
50208
+ isEvery: true
50209
+ });
50210
+ fullList = treeList;
50211
+ } else {
50212
+ fullList = treeFullData.filter(handleSearch);
50213
+ }
50214
+ internalData.lastFilterValue = filterStr;
50215
+ $xeTree.$nextTick(function () {
50216
+ // 筛选时自动展开
50217
+ if (autoExpandAll) {
50218
+ $xeTree.setAllExpandNode(true).then(function () {
50219
+ if (afterFilterMethod) {
50220
+ afterFilterMethod(bafParams);
50221
+ }
50222
+ });
50223
+ } else {
50224
+ if (afterFilterMethod) {
50225
+ afterFilterMethod(bafParams);
50226
+ }
50227
+ }
50228
+ });
50229
+ } else {
50230
+ if (transform) {
50231
+ treeList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().searchTree(treeFullData, function () {
50232
+ return true;
50233
+ }, {
50234
+ children: childrenField,
50235
+ mapChildren: mapChildrenField,
50236
+ isEvery: true
50237
+ });
50238
+ fullList = treeList;
50239
+ if (lastFilterValue) {
50240
+ var _bafParams = {
50241
+ $tree: $xeTree,
50242
+ filterValue: filterStr
50243
+ };
50244
+ if (beforeFilterMethod) {
50245
+ beforeFilterMethod(_bafParams);
50246
+ }
50247
+ // 取消筛选时自动收起
50248
+ $xeTree.$nextTick(function () {
50249
+ if (autoExpandAll) {
50250
+ $xeTree.clearAllExpandNode().then(function () {
50251
+ if (afterFilterMethod) {
50252
+ afterFilterMethod(_bafParams);
50253
+ }
50254
+ });
50255
+ } else {
50256
+ if (afterFilterMethod) {
50257
+ afterFilterMethod(_bafParams);
50258
+ }
50259
+ }
50260
+ });
50261
+ }
50262
+ }
50263
+ internalData.lastFilterValue = '';
50264
+ }
50265
+ internalData.afterVisibleList = fullList;
50266
+ internalData.afterTreeList = treeList;
50267
+ $xeTree.updateAfterDataIndex();
50268
+ },
50269
+ /**
50270
+ * 如果为虚拟树、则将树结构拍平
50271
+ */
50272
+ handleTreeToList: function handleTreeToList() {
50192
50273
  var $xeTree = this;
50193
50274
  var props = $xeTree;
50275
+ var internalData = $xeTree.internalData;
50276
+ var transform = props.transform;
50277
+ var afterTreeList = internalData.afterTreeList,
50278
+ treeExpandedMaps = internalData.treeExpandedMaps;
50279
+ var mapChildrenField = $xeTree.computeMapChildrenField;
50280
+ var expandMaps = {};
50281
+ if (transform) {
50282
+ var fullData = [];
50283
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeList, function (item, index, items, path, parentRow) {
50284
+ var nodeid = $xeTree.getNodeId(item);
50285
+ var parentNodeid = $xeTree.getNodeId(parentRow);
50286
+ if (!parentRow || expandMaps[parentNodeid] && treeExpandedMaps[parentNodeid]) {
50287
+ expandMaps[nodeid] = 1;
50288
+ fullData.push(item);
50289
+ }
50290
+ }, {
50291
+ children: mapChildrenField
50292
+ });
50293
+ $xeTree.updateScrollYStatus(fullData);
50294
+ internalData.afterVisibleList = fullData;
50295
+ return fullData;
50296
+ }
50297
+ return internalData.afterVisibleList;
50298
+ },
50299
+ handleData: function handleData(force) {
50300
+ var $xeTree = this;
50194
50301
  var reactData = $xeTree.reactData;
50195
50302
  var internalData = $xeTree.internalData;
50303
+ var scrollYLoad = reactData.scrollYLoad;
50304
+ var scrollYStore = internalData.scrollYStore;
50305
+ var fullList = internalData.afterVisibleList;
50306
+ if (force) {
50307
+ // 更新数据,处理筛选和排序
50308
+ $xeTree.updateAfterFullData();
50309
+ // 如果为虚拟树,将树结构拍平
50310
+ fullList = $xeTree.handleTreeToList();
50311
+ }
50312
+ var treeList = scrollYLoad ? fullList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : fullList.slice(0);
50313
+ reactData.treeList = treeList;
50314
+ },
50315
+ triggerSearchEvent: external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().debounce(function () {
50316
+ var $xeSelect = this;
50317
+ $xeSelect.handleData(true);
50318
+ }, 350, {
50319
+ trailing: true
50320
+ }),
50321
+ loadData: function loadData(list) {
50322
+ var $xeTree = this;
50323
+ var props = $xeTree;
50324
+ var internalData = $xeTree.internalData;
50196
50325
  var expandAll = props.expandAll,
50197
50326
  transform = props.transform;
50198
- var initialized = internalData.initialized;
50327
+ var initialized = internalData.initialized,
50328
+ scrollYStore = internalData.scrollYStore;
50199
50329
  var keyField = $xeTree.computeKeyField;
50200
50330
  var parentField = $xeTree.computeParentField;
50201
- var mapChildrenField = $xeTree.computeMapChildrenField;
50202
- if (transform) {
50203
- reactData.treeList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(list, {
50204
- key: keyField,
50205
- parentKey: parentField,
50206
- mapChildren: mapChildrenField
50207
- });
50208
- } else {
50209
- reactData.treeList = list ? list.slice(0) : [];
50210
- }
50331
+ var childrenField = $xeTree.computeChildrenField;
50332
+ var fullData = transform ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(list, {
50333
+ key: keyField,
50334
+ parentKey: parentField,
50335
+ mapChildren: childrenField
50336
+ }) : list ? list.slice(0) : [];
50337
+ internalData.treeFullData = fullData;
50338
+ Object.assign(scrollYStore, {
50339
+ startIndex: 0,
50340
+ endIndex: 1,
50341
+ visibleSize: 0
50342
+ });
50343
+ var sYLoad = $xeTree.updateScrollYStatus(fullData);
50211
50344
  $xeTree.cacheNodeMap();
50212
- if (!initialized) {
50213
- if (list && list.length) {
50214
- internalData.initialized = true;
50215
- if (expandAll) {
50216
- $xeTree.setAllExpandNode(true);
50345
+ $xeTree.handleData(true);
50346
+ if (sYLoad) {
50347
+ if (!(props.height || props.maxHeight)) {
50348
+ errLog('vxe.error.reqProp', ['height | max-height | virtual-y-config.enabled=false']);
50349
+ }
50350
+ }
50351
+ return $xeTree.computeScrollLoad().then(function () {
50352
+ if (!initialized) {
50353
+ if (list && list.length) {
50354
+ internalData.initialized = true;
50355
+ if (expandAll) {
50356
+ $xeTree.setAllExpandNode(true);
50357
+ }
50358
+ $xeTree.setCheckboxByNodeId(props.checkNodeKeys || [], true);
50217
50359
  }
50218
- $xeTree.setCheckboxByNodeId(props.checkNodeKeys || [], true);
50219
50360
  }
50220
- }
50361
+ $xeTree.updateHeight();
50362
+ $xeTree.refreshScroll();
50363
+ });
50221
50364
  },
50222
- handleCountLine: function handleCountLine(item, isRoot, nodeItem) {
50365
+ updateScrollYStatus: function updateScrollYStatus(fullData) {
50223
50366
  var $xeTree = this;
50367
+ var props = $xeTree;
50368
+ var reactData = $xeTree.reactData;
50224
50369
  var internalData = $xeTree.internalData;
50225
- var treeExpandedMaps = internalData.treeExpandedMaps;
50226
- var childrenField = $xeTree.computeChildrenField;
50227
- var nodeid = $xeTree.getNodeId(item);
50228
- nodeItem.lineCount++;
50229
- if (treeExpandedMaps[nodeid]) {
50230
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(item[childrenField], function (childItem, childIndex, childList) {
50231
- if (!isRoot || childIndex < childList.length - 1) {
50232
- $xeTree.handleCountLine(childItem, false, nodeItem);
50370
+ var transform = props.transform;
50371
+ var virtualYOpts = $xeTree.computeVirtualYOpts;
50372
+ var allList = fullData || internalData.treeFullData;
50373
+ // 如果gt为0,则总是启用
50374
+ var scrollYLoad = !!transform && !!virtualYOpts.enabled && virtualYOpts.gt > -1 && (virtualYOpts.gt === 0 || virtualYOpts.gt < allList.length);
50375
+ reactData.scrollYLoad = scrollYLoad;
50376
+ return scrollYLoad;
50377
+ },
50378
+ updateYSpace: function updateYSpace() {
50379
+ var $xeTree = this;
50380
+ var reactData = $xeTree.reactData;
50381
+ var internalData = $xeTree.internalData;
50382
+ var scrollYLoad = reactData.scrollYLoad;
50383
+ var scrollYStore = internalData.scrollYStore,
50384
+ afterVisibleList = internalData.afterVisibleList;
50385
+ reactData.bodyHeight = scrollYLoad ? afterVisibleList.length * scrollYStore.rowHeight : 0;
50386
+ reactData.topSpaceHeight = scrollYLoad ? Math.max(scrollYStore.startIndex * scrollYStore.rowHeight, 0) : 0;
50387
+ },
50388
+ updateYData: function updateYData() {
50389
+ var $xeTree = this;
50390
+ $xeTree.handleData();
50391
+ $xeTree.updateYSpace();
50392
+ },
50393
+ computeScrollLoad: function computeScrollLoad() {
50394
+ var $xeTree = this;
50395
+ var reactData = $xeTree.reactData;
50396
+ var internalData = $xeTree.internalData;
50397
+ return $xeTree.$nextTick().then(function () {
50398
+ var scrollYLoad = reactData.scrollYLoad;
50399
+ var scrollYStore = internalData.scrollYStore;
50400
+ var virtualBodyElem = $xeTree.$refs.refVirtualBody;
50401
+ var virtualYOpts = $xeTree.computeVirtualYOpts;
50402
+ var rowHeight = 0;
50403
+ var firstItemElem;
50404
+ if (virtualBodyElem) {
50405
+ if (!firstItemElem) {
50406
+ firstItemElem = virtualBodyElem.children[0];
50233
50407
  }
50408
+ }
50409
+ if (firstItemElem) {
50410
+ rowHeight = firstItemElem.offsetHeight;
50411
+ }
50412
+ rowHeight = Math.max(20, rowHeight);
50413
+ scrollYStore.rowHeight = rowHeight;
50414
+ // 计算 Y 逻辑
50415
+ if (scrollYLoad) {
50416
+ var scrollBodyElem = $xeTree.$refs.refVirtualWrapper;
50417
+ var visibleYSize = Math.max(8, scrollBodyElem ? Math.ceil(scrollBodyElem.clientHeight / rowHeight) : 0);
50418
+ var offsetYSize = Math.max(0, Math.min(2, external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(virtualYOpts.oSize)));
50419
+ scrollYStore.offsetSize = offsetYSize;
50420
+ scrollYStore.visibleSize = visibleYSize;
50421
+ scrollYStore.endIndex = Math.max(scrollYStore.startIndex, visibleYSize + offsetYSize, scrollYStore.endIndex);
50422
+ $xeTree.updateYData();
50423
+ } else {
50424
+ $xeTree.updateYSpace();
50425
+ }
50426
+ });
50427
+ },
50428
+ /**
50429
+ * 如果有滚动条,则滚动到对应的位置
50430
+ * @param {Number} scrollLeft 左距离
50431
+ * @param {Number} scrollTop 上距离
50432
+ */
50433
+ scrollTo: function scrollTo(scrollLeft, scrollTop) {
50434
+ var $xeTree = this;
50435
+ var reactData = $xeTree.reactData;
50436
+ var scrollBodyElem = $xeTree.$refs.refVirtualWrapper;
50437
+ if (scrollBodyElem) {
50438
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(scrollLeft)) {
50439
+ scrollBodyElem.scrollLeft = scrollLeft;
50440
+ }
50441
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(scrollTop)) {
50442
+ scrollBodyElem.scrollTop = scrollTop;
50443
+ }
50444
+ }
50445
+ if (reactData.scrollYLoad) {
50446
+ return new Promise(function (resolve) {
50447
+ setTimeout(function () {
50448
+ $xeTree.$nextTick(function () {
50449
+ resolve();
50450
+ });
50451
+ }, 50);
50234
50452
  });
50235
50453
  }
50454
+ return $xeTree.$nextTick();
50455
+ },
50456
+ /**
50457
+ * 刷新滚动条
50458
+ */
50459
+ refreshScroll: function refreshScroll() {
50460
+ var $xeTree = this;
50461
+ var internalData = $xeTree.internalData;
50462
+ var lastScrollLeft = internalData.lastScrollLeft,
50463
+ lastScrollTop = internalData.lastScrollTop;
50464
+ return $xeTree.clearScroll().then(function () {
50465
+ if (lastScrollLeft || lastScrollTop) {
50466
+ internalData.lastScrollLeft = 0;
50467
+ internalData.lastScrollTop = 0;
50468
+ return scrollTo(lastScrollLeft, lastScrollTop);
50469
+ }
50470
+ });
50471
+ },
50472
+ /**
50473
+ * 重新计算列表
50474
+ */
50475
+ recalculate: function recalculate() {
50476
+ var $xeTree = this;
50477
+ var reactData = $xeTree.reactData;
50478
+ var internalData = $xeTree.internalData;
50479
+ var scrollYStore = internalData.scrollYStore;
50480
+ var rowHeight = scrollYStore.rowHeight;
50481
+ var el = $xeTree.$refs.refElem;
50482
+ if (el && el.clientWidth && el.clientHeight) {
50483
+ var parentEl = $xeTree.getParentElem();
50484
+ var headerWrapperEl = $xeTree.$refs.refHeaderWrapperElem;
50485
+ var footerWrapperEl = $xeTree.$refs.refFooterWrapperElem;
50486
+ var headHeight = headerWrapperEl ? headerWrapperEl.clientHeight : 0;
50487
+ var footHeight = footerWrapperEl ? footerWrapperEl.clientHeight : 0;
50488
+ if (parentEl) {
50489
+ var parentPaddingSize = getPaddingTopBottomSize(parentEl);
50490
+ reactData.parentHeight = Math.max(headHeight + footHeight + rowHeight, parentEl.clientHeight - parentPaddingSize - headHeight - footHeight);
50491
+ }
50492
+ $xeTree.updateHeight();
50493
+ return $xeTree.computeScrollLoad();
50494
+ }
50495
+ return $xeTree.$nextTick();
50236
50496
  },
50237
- updateNodeLine: function updateNodeLine(node) {
50497
+ loadYData: function loadYData(evnt) {
50238
50498
  var $xeTree = this;
50239
50499
  var internalData = $xeTree.internalData;
50240
- var nodeMaps = internalData.nodeMaps;
50241
- if (node) {
50242
- var nodeid = $xeTree.getNodeId(node);
50243
- var nodeItem = nodeMaps[nodeid];
50244
- if (nodeItem) {
50245
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastArrayEach(nodeItem.nodes, function (childItem) {
50246
- var nodeid = $xeTree.getNodeId(childItem);
50247
- var nodeItem = nodeMaps[nodeid];
50248
- if (nodeItem) {
50249
- nodeItem.lineCount = 0;
50250
- $xeTree.handleCountLine(childItem, true, nodeItem);
50251
- }
50252
- });
50500
+ var scrollYStore = internalData.scrollYStore;
50501
+ var startIndex = scrollYStore.startIndex,
50502
+ endIndex = scrollYStore.endIndex,
50503
+ visibleSize = scrollYStore.visibleSize,
50504
+ offsetSize = scrollYStore.offsetSize,
50505
+ rowHeight = scrollYStore.rowHeight;
50506
+ var scrollBodyElem = evnt.target;
50507
+ var scrollTop = scrollBodyElem.scrollTop;
50508
+ var toVisibleIndex = Math.floor(scrollTop / rowHeight);
50509
+ var offsetStartIndex = Math.max(0, toVisibleIndex - 1 - offsetSize);
50510
+ var offsetEndIndex = toVisibleIndex + visibleSize + offsetSize;
50511
+ if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
50512
+ if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
50513
+ scrollYStore.startIndex = offsetStartIndex;
50514
+ scrollYStore.endIndex = offsetEndIndex;
50515
+ $xeTree.updateYData();
50253
50516
  }
50254
50517
  }
50255
50518
  },
50519
+ scrollEvent: function scrollEvent(evnt) {
50520
+ var $xeTree = this;
50521
+ var reactData = $xeTree.reactData;
50522
+ var internalData = $xeTree.internalData;
50523
+ var scrollBodyElem = evnt.target;
50524
+ var scrollTop = scrollBodyElem.scrollTop;
50525
+ var scrollLeft = scrollBodyElem.scrollLeft;
50526
+ var isX = scrollLeft !== internalData.lastScrollLeft;
50527
+ var isY = scrollTop !== internalData.lastScrollTop;
50528
+ internalData.lastScrollTop = scrollTop;
50529
+ internalData.lastScrollLeft = scrollLeft;
50530
+ if (reactData.scrollYLoad) {
50531
+ $xeTree.loadYData(evnt);
50532
+ }
50533
+ internalData.lastScrollTime = Date.now();
50534
+ $xeTree.dispatchEvent('scroll', {
50535
+ scrollLeft: scrollLeft,
50536
+ scrollTop: scrollTop,
50537
+ isX: isX,
50538
+ isY: isY
50539
+ }, evnt);
50540
+ },
50541
+ clearScroll: function clearScroll() {
50542
+ var $xeTree = this;
50543
+ var internalData = $xeTree.internalData;
50544
+ var scrollBodyElem = $xeTree.$refs.refVirtualWrapper;
50545
+ if (scrollBodyElem) {
50546
+ scrollBodyElem.scrollTop = 0;
50547
+ scrollBodyElem.scrollLeft = 0;
50548
+ }
50549
+ internalData.lastScrollTop = 0;
50550
+ internalData.lastScrollLeft = 0;
50551
+ return $xeTree.$nextTick();
50552
+ },
50256
50553
  handleNodeClickEvent: function handleNodeClickEvent(evnt, node) {
50257
50554
  var $xeTree = this;
50258
50555
  var props = $xeTree;
@@ -50336,7 +50633,6 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50336
50633
  if (!checkStrictly && $xeTree.isCheckedByCheckboxNodeId(nodeid)) {
50337
50634
  $xeTree.handleCheckedCheckboxNode(childRows, true);
50338
50635
  }
50339
- $xeTree.updateNodeLine(node);
50340
50636
  $xeTree.dispatchEvent('load-success', {
50341
50637
  node: node,
50342
50638
  data: childRecords
@@ -50344,7 +50640,6 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50344
50640
  return $xeTree.$nextTick();
50345
50641
  });
50346
50642
  } else {
50347
- $xeTree.updateNodeLine(node);
50348
50643
  $xeTree.dispatchEvent('load-success', {
50349
50644
  node: node,
50350
50645
  data: childRecords
@@ -50356,13 +50651,14 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50356
50651
  if (treeExpandLazyLoadedMaps[nodeid]) {
50357
50652
  treeExpandLazyLoadedMaps[nodeid] = false;
50358
50653
  }
50359
- $xeTree.updateNodeLine(node);
50360
50654
  $xeTree.dispatchEvent('load-error', {
50361
50655
  node: node,
50362
50656
  data: e
50363
50657
  }, new Event('load-error'));
50364
50658
  }).finally(function () {
50365
- return $xeTree.$nextTick();
50659
+ $xeTree.handleTreeToList();
50660
+ $xeTree.handleData();
50661
+ return $xeTree.recalculate();
50366
50662
  });
50367
50663
  } else {
50368
50664
  resolve();
@@ -50438,8 +50734,11 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50438
50734
  });
50439
50735
  }
50440
50736
  reactData.updateExpandedFlag++;
50441
- expandNodes.forEach($xeTree.updateNodeLine);
50442
- return Promise.all(result);
50737
+ $xeTree.handleTreeToList();
50738
+ $xeTree.handleData();
50739
+ return Promise.all(result).then(function () {
50740
+ return $xeTree.recalculate();
50741
+ });
50443
50742
  },
50444
50743
  toggleExpandEvent: function toggleExpandEvent(evnt, node) {
50445
50744
  var $xeTree = this;
@@ -50461,9 +50760,9 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50461
50760
  var reactData = $xeTree.reactData;
50462
50761
  var internalData = $xeTree.internalData;
50463
50762
  var transform = props.transform;
50464
- var treeList = reactData.treeList;
50465
50763
  var selectCheckboxMaps = internalData.selectCheckboxMaps,
50466
- indeterminateRowMaps = internalData.indeterminateRowMaps;
50764
+ indeterminateRowMaps = internalData.indeterminateRowMaps,
50765
+ afterTreeList = internalData.afterTreeList;
50467
50766
  var childrenField = $xeTree.computeChildrenField;
50468
50767
  var mapChildrenField = $xeTree.computeMapChildrenField;
50469
50768
  var checkboxOpts = $xeTree.computeCheckboxOpts;
@@ -50472,7 +50771,7 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50472
50771
  if (!checkStrictly) {
50473
50772
  var childRowMaps = {};
50474
50773
  var childRowList = [];
50475
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(treeList, function (node) {
50774
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterTreeList, function (node) {
50476
50775
  var nodeid = $xeTree.getNodeId(node);
50477
50776
  var childList = node[childrenField];
50478
50777
  if (childList && childList.length && !childRowMaps[nodeid]) {
@@ -50488,11 +50787,13 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50488
50787
  var childList = vals[2];
50489
50788
  var sLen = 0; // 已选
50490
50789
  var hLen = 0; // 半选
50491
- var vLen = 0; // 有效行
50790
+ var vLen = 0; // 有效子行
50791
+ var cLen = childList.length; // 子行
50492
50792
  childList.forEach(checkMethod ? function (item) {
50493
50793
  var childNodeid = $xeTree.getNodeId(item);
50494
50794
  var isSelect = selectCheckboxMaps[childNodeid];
50495
50795
  if (checkMethod({
50796
+ $tree: $xeTree,
50496
50797
  node: item
50497
50798
  })) {
50498
50799
  if (isSelect) {
@@ -50518,8 +50819,25 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50518
50819
  }
50519
50820
  vLen++;
50520
50821
  });
50521
- var isSelected = sLen >= vLen;
50522
- var halfSelect = !isSelected && (sLen >= 1 || hLen >= 1);
50822
+ var isSelected = false;
50823
+ if (cLen > 0) {
50824
+ if (vLen > 0) {
50825
+ isSelected = (sLen > 0 || hLen > 0) && sLen >= vLen;
50826
+ } else {
50827
+ // 如果存在子项禁用
50828
+ if (sLen > 0 && sLen >= vLen) {
50829
+ isSelected = true;
50830
+ } else if (selectCheckboxMaps[nodeid]) {
50831
+ isSelected = true;
50832
+ } else {
50833
+ isSelected = false;
50834
+ }
50835
+ }
50836
+ } else {
50837
+ // 如果无子项
50838
+ isSelected = selectCheckboxMaps[nodeid];
50839
+ }
50840
+ var halfSelect = !isSelected && (sLen > 0 || hLen > 0);
50523
50841
  if (isSelected) {
50524
50842
  selectCheckboxMaps[nodeid] = node;
50525
50843
  if (indeterminateRowMaps[nodeid]) {
@@ -50558,6 +50876,7 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50558
50876
  var isDisabled = !!checkMethod;
50559
50877
  if (checkMethod) {
50560
50878
  isDisabled = !checkMethod({
50879
+ $tree: $xeTree,
50561
50880
  node: node
50562
50881
  });
50563
50882
  }
@@ -50573,7 +50892,7 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50573
50892
  selectCheckboxMaps[nodeid] = node;
50574
50893
  }
50575
50894
  if (!checkStrictly) {
50576
- external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(node, childrenField), function (childNode) {
50895
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(node, transform ? mapChildrenField : childrenField), function (childNode) {
50577
50896
  var childNodeid = $xeTree.getNodeId(childNode);
50578
50897
  if (isChecked) {
50579
50898
  if (!selectCheckboxMaps[childNodeid]) {
@@ -50643,6 +50962,7 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50643
50962
  var isDisabled = !!checkMethod;
50644
50963
  if (checkMethod) {
50645
50964
  isDisabled = !checkMethod({
50965
+ $tree: $xeTree,
50646
50966
  node: node
50647
50967
  });
50648
50968
  }
@@ -50659,6 +50979,373 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50659
50979
  checked: isChecked
50660
50980
  }, evnt);
50661
50981
  },
50982
+ handleGlobalResizeEvent: function handleGlobalResizeEvent() {
50983
+ var $xeTree = this;
50984
+ var el = $xeTree.$refs.refElem;
50985
+ if (!el || !el.clientWidth) {
50986
+ return;
50987
+ }
50988
+ $xeTree.recalculate();
50989
+ },
50990
+ reloadData: function reloadData(data) {
50991
+ var $xeTree = this;
50992
+ return $xeTree.loadData(data || []);
50993
+ },
50994
+ clearCurrentNode: function clearCurrentNode() {
50995
+ var $xeTree = this;
50996
+ var reactData = $xeTree.reactData;
50997
+ reactData.currentNode = null;
50998
+ return $xeTree.$nextTick();
50999
+ },
51000
+ getCurrentNodeId: function getCurrentNodeId() {
51001
+ var $xeTree = this;
51002
+ var reactData = $xeTree.reactData;
51003
+ var currentNode = reactData.currentNode;
51004
+ if (currentNode) {
51005
+ return $xeTree.getNodeId(currentNode);
51006
+ }
51007
+ return null;
51008
+ },
51009
+ getCurrentNode: function getCurrentNode() {
51010
+ var $xeTree = this;
51011
+ var reactData = $xeTree.reactData;
51012
+ var internalData = $xeTree.internalData;
51013
+ var currentNode = reactData.currentNode;
51014
+ var nodeMaps = internalData.nodeMaps;
51015
+ if (currentNode) {
51016
+ var nodeItem = nodeMaps[$xeTree.getNodeId(currentNode)];
51017
+ if (nodeItem) {
51018
+ return nodeItem.item;
51019
+ }
51020
+ }
51021
+ return null;
51022
+ },
51023
+ setCurrentNodeId: function setCurrentNodeId(nodeKey) {
51024
+ var $xeTree = this;
51025
+ var reactData = $xeTree.reactData;
51026
+ var internalData = $xeTree.internalData;
51027
+ var nodeMaps = internalData.nodeMaps;
51028
+ var nodeItem = nodeMaps[nodeKey];
51029
+ reactData.currentNode = nodeItem ? nodeItem.item : null;
51030
+ return $xeTree.$nextTick();
51031
+ },
51032
+ setCurrentNode: function setCurrentNode(node) {
51033
+ var $xeTree = this;
51034
+ var reactData = $xeTree.reactData;
51035
+ reactData.currentNode = node;
51036
+ return $xeTree.$nextTick();
51037
+ },
51038
+ clearRadioNode: function clearRadioNode() {
51039
+ var $xeTree = this;
51040
+ var reactData = $xeTree.reactData;
51041
+ reactData.selectRadioKey = null;
51042
+ return $xeTree.$nextTick();
51043
+ },
51044
+ getRadioNodeId: function getRadioNodeId() {
51045
+ var $xeTree = this;
51046
+ var reactData = $xeTree.reactData;
51047
+ return reactData.selectRadioKey || null;
51048
+ },
51049
+ getRadioNode: function getRadioNode() {
51050
+ var $xeTree = this;
51051
+ var reactData = $xeTree.reactData;
51052
+ var internalData = $xeTree.internalData;
51053
+ var selectRadioKey = reactData.selectRadioKey;
51054
+ var nodeMaps = internalData.nodeMaps;
51055
+ if (selectRadioKey) {
51056
+ var nodeItem = nodeMaps[selectRadioKey];
51057
+ if (nodeItem) {
51058
+ return nodeItem.item;
51059
+ }
51060
+ }
51061
+ return null;
51062
+ },
51063
+ setRadioNodeId: function setRadioNodeId(nodeKey) {
51064
+ var $xeTree = this;
51065
+ var reactData = $xeTree.reactData;
51066
+ reactData.selectRadioKey = nodeKey;
51067
+ return $xeTree.$nextTick();
51068
+ },
51069
+ getCheckboxNodeIds: function getCheckboxNodeIds() {
51070
+ var $xeTree = this;
51071
+ var internalData = $xeTree.internalData;
51072
+ var selectCheckboxMaps = internalData.selectCheckboxMaps;
51073
+ return Object.keys(selectCheckboxMaps);
51074
+ },
51075
+ getCheckboxNodes: function getCheckboxNodes() {
51076
+ var $xeTree = this;
51077
+ var internalData = $xeTree.internalData;
51078
+ var nodeMaps = internalData.nodeMaps,
51079
+ selectCheckboxMaps = internalData.selectCheckboxMaps;
51080
+ var list = [];
51081
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(selectCheckboxMaps, function (item, nodeid) {
51082
+ var nodeItem = nodeMaps[nodeid];
51083
+ if (nodeItem) {
51084
+ list.push(nodeItem.item);
51085
+ }
51086
+ });
51087
+ return list;
51088
+ },
51089
+ clearCheckboxNode: function clearCheckboxNode() {
51090
+ var $xeTree = this;
51091
+ var reactData = $xeTree.reactData;
51092
+ var internalData = $xeTree.internalData;
51093
+ internalData.selectCheckboxMaps = {};
51094
+ reactData.updateCheckboxFlag++;
51095
+ return $xeTree.$nextTick().then(function () {
51096
+ return {
51097
+ checkNodeKeys: []
51098
+ };
51099
+ });
51100
+ },
51101
+ setAllCheckboxNode: function setAllCheckboxNode(checked) {
51102
+ var $xeTree = this;
51103
+ var props = $xeTree;
51104
+ var reactData = $xeTree.reactData;
51105
+ var internalData = $xeTree.internalData;
51106
+ var transform = props.transform;
51107
+ var selectMaps = {};
51108
+ var childrenField = $xeTree.computeChildrenField;
51109
+ var mapChildrenField = $xeTree.computeMapChildrenField;
51110
+ var checkKeys = [];
51111
+ if (checked) {
51112
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(internalData.afterTreeList, function (node) {
51113
+ var nodeid = $xeTree.getNodeId(node);
51114
+ checkKeys.push(nodeid);
51115
+ selectMaps[nodeid] = true;
51116
+ }, {
51117
+ children: transform ? mapChildrenField : childrenField
51118
+ });
51119
+ }
51120
+ internalData.selectCheckboxMaps = selectMaps;
51121
+ reactData.updateCheckboxFlag++;
51122
+ return $xeTree.$nextTick().then(function () {
51123
+ return {
51124
+ checkNodeKeys: checkKeys
51125
+ };
51126
+ });
51127
+ },
51128
+ clearExpandNode: function clearExpandNode() {
51129
+ var $xeTree = this;
51130
+ return $xeTree.clearAllExpandNode();
51131
+ },
51132
+ clearAllExpandNode: function clearAllExpandNode() {
51133
+ var $xeTree = this;
51134
+ var reactData = $xeTree.reactData;
51135
+ var internalData = $xeTree.internalData;
51136
+ var nodeMaps = internalData.nodeMaps;
51137
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(nodeMaps, function (nodeItem) {
51138
+ nodeItem.treeLoaded = false;
51139
+ });
51140
+ internalData.treeExpandedMaps = {};
51141
+ reactData.updateExpandedFlag++;
51142
+ $xeTree.handleTreeToList();
51143
+ $xeTree.handleData();
51144
+ return $xeTree.recalculate();
51145
+ },
51146
+ setExpandByNodeId: function setExpandByNodeId(nodeids, expanded) {
51147
+ var $xeTree = this;
51148
+ var reactData = $xeTree.reactData;
51149
+ var internalData = $xeTree.internalData;
51150
+ var treeExpandedMaps = internalData.treeExpandedMaps;
51151
+ if (nodeids) {
51152
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(nodeids)) {
51153
+ nodeids = [nodeids];
51154
+ }
51155
+ nodeids.forEach(function (nodeid) {
51156
+ handleSetExpand(nodeid, expanded, treeExpandedMaps);
51157
+ });
51158
+ reactData.updateExpandedFlag++;
51159
+ }
51160
+ $xeTree.handleTreeToList();
51161
+ $xeTree.handleData();
51162
+ return $xeTree.recalculate();
51163
+ },
51164
+ getExpandNodeIds: function getExpandNodeIds() {
51165
+ var $xeTree = this;
51166
+ var internalData = $xeTree.internalData;
51167
+ var treeExpandedMaps = internalData.treeExpandedMaps;
51168
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().keys(treeExpandedMaps);
51169
+ },
51170
+ getExpandNodes: function getExpandNodes() {
51171
+ var $xeTree = this;
51172
+ var internalData = $xeTree.internalData;
51173
+ var nodeMaps = internalData.nodeMaps,
51174
+ treeExpandedMaps = internalData.treeExpandedMaps;
51175
+ var list = [];
51176
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(treeExpandedMaps, function (item, nodeid) {
51177
+ var nodeItem = nodeMaps[nodeid];
51178
+ if (nodeItem) {
51179
+ list.push(nodeItem.item);
51180
+ }
51181
+ });
51182
+ return list;
51183
+ },
51184
+ setExpandNode: function setExpandNode(nodes, expanded) {
51185
+ var $xeTree = this;
51186
+ var reactData = $xeTree.reactData;
51187
+ var internalData = $xeTree.internalData;
51188
+ var treeExpandedMaps = internalData.treeExpandedMaps;
51189
+ if (nodes) {
51190
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(nodes)) {
51191
+ nodes = [nodes];
51192
+ }
51193
+ nodes.forEach(function (node) {
51194
+ var nodeid = $xeTree.getNodeId(node);
51195
+ handleSetExpand(nodeid, expanded, treeExpandedMaps);
51196
+ });
51197
+ reactData.updateExpandedFlag++;
51198
+ }
51199
+ $xeTree.handleTreeToList();
51200
+ $xeTree.handleData();
51201
+ return $xeTree.recalculate();
51202
+ },
51203
+ toggleExpandByNodeId: function toggleExpandByNodeId(nodeids) {
51204
+ var $xeTree = this;
51205
+ var reactData = $xeTree.reactData;
51206
+ var internalData = $xeTree.internalData;
51207
+ var treeExpandedMaps = internalData.treeExpandedMaps;
51208
+ if (nodeids) {
51209
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(nodeids)) {
51210
+ nodeids = [nodeids];
51211
+ }
51212
+ nodeids.forEach(function (nodeid) {
51213
+ handleSetExpand(nodeid, !treeExpandedMaps[nodeid], treeExpandedMaps);
51214
+ });
51215
+ reactData.updateExpandedFlag++;
51216
+ }
51217
+ $xeTree.handleTreeToList();
51218
+ $xeTree.handleData();
51219
+ return $xeTree.recalculate();
51220
+ },
51221
+ toggleExpandNode: function toggleExpandNode(nodes) {
51222
+ var $xeTree = this;
51223
+ var reactData = $xeTree.reactData;
51224
+ var internalData = $xeTree.internalData;
51225
+ var treeExpandedMaps = internalData.treeExpandedMaps;
51226
+ if (nodes) {
51227
+ if (!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(nodes)) {
51228
+ nodes = [nodes];
51229
+ }
51230
+ nodes.forEach(function (node) {
51231
+ var nodeid = $xeTree.getNodeId(node);
51232
+ handleSetExpand(nodeid, !treeExpandedMaps[nodeid], treeExpandedMaps);
51233
+ });
51234
+ reactData.updateExpandedFlag++;
51235
+ }
51236
+ $xeTree.handleTreeToList();
51237
+ $xeTree.handleData();
51238
+ return $xeTree.recalculate();
51239
+ },
51240
+ setAllExpandNode: function setAllExpandNode(expanded) {
51241
+ var $xeTree = this;
51242
+ var props = $xeTree;
51243
+ var reactData = $xeTree.reactData;
51244
+ var internalData = $xeTree.internalData;
51245
+ var transform = props.transform;
51246
+ var treeExpandedMaps = internalData.treeExpandedMaps;
51247
+ var childrenField = $xeTree.computeChildrenField;
51248
+ var mapChildrenField = $xeTree.computeMapChildrenField;
51249
+ if (expanded) {
51250
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(internalData.afterTreeList, function (node) {
51251
+ var childList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(node, childrenField);
51252
+ var hasChild = childList && childList.length;
51253
+ if (hasChild) {
51254
+ var nodeid = $xeTree.getNodeId(node);
51255
+ treeExpandedMaps[nodeid] = true;
51256
+ }
51257
+ }, {
51258
+ children: transform ? mapChildrenField : childrenField
51259
+ });
51260
+ } else {
51261
+ internalData.treeExpandedMaps = {};
51262
+ }
51263
+ reactData.updateExpandedFlag++;
51264
+ $xeTree.handleTreeToList();
51265
+ $xeTree.handleData();
51266
+ return $xeTree.recalculate();
51267
+ },
51268
+ reloadExpandNode: function reloadExpandNode(node) {
51269
+ var $xeTree = this;
51270
+ var props = $xeTree;
51271
+ var lazy = props.lazy;
51272
+ if (lazy) {
51273
+ $xeTree.clearExpandLoaded(node);
51274
+ return $xeTree.handleAsyncTreeExpandChilds(node);
51275
+ }
51276
+ return $xeTree.recalculate();
51277
+ },
51278
+ clearExpandLoaded: function clearExpandLoaded(node) {
51279
+ var $xeTree = this;
51280
+ var props = $xeTree;
51281
+ var internalData = $xeTree.internalData;
51282
+ var lazy = props.lazy;
51283
+ var nodeMaps = internalData.nodeMaps;
51284
+ if (lazy) {
51285
+ var nodeItem = nodeMaps[$xeTree.getNodeId(node)];
51286
+ if (nodeItem) {
51287
+ nodeItem.treeLoaded = false;
51288
+ }
51289
+ }
51290
+ return $xeTree.recalculate();
51291
+ },
51292
+ /**
51293
+ * 用于树结构,给行数据加载子节点
51294
+ */
51295
+ loadChildrenNode: function loadChildrenNode(node, childRecords) {
51296
+ var $xeTree = this;
51297
+ var props = $xeTree;
51298
+ var internalData = $xeTree.internalData;
51299
+ var lazy = props.lazy,
51300
+ transform = props.transform;
51301
+ var nodeMaps = internalData.nodeMaps;
51302
+ if (!lazy) {
51303
+ return Promise.resolve([]);
51304
+ }
51305
+ var childrenField = $xeTree.computeChildrenField;
51306
+ var mapChildrenField = $xeTree.computeMapChildrenField;
51307
+ var parentNodeItem = nodeMaps[$xeTree.getNodeId(node)];
51308
+ var parentLevel = parentNodeItem ? parentNodeItem.level : 0;
51309
+ var parentNodes = parentNodeItem ? parentNodeItem.nodes : [];
51310
+ return $xeTree.createNode(childRecords).then(function (nodeList) {
51311
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(nodeList, function (childRow, index, items, path, parent, nodes) {
51312
+ var itemNodeId = $xeTree.getNodeId(childRow);
51313
+ nodeMaps[itemNodeId] = {
51314
+ item: node,
51315
+ index: -1,
51316
+ items: items,
51317
+ parent: parent || parentNodeItem.item,
51318
+ nodes: parentNodes.concat(nodes),
51319
+ level: parentLevel + nodes.length,
51320
+ treeIndex: -1,
51321
+ lineCount: 0,
51322
+ treeLoaded: false
51323
+ };
51324
+ }, {
51325
+ children: childrenField
51326
+ });
51327
+ node[childrenField] = nodeList;
51328
+ if (transform) {
51329
+ node[mapChildrenField] = nodeList;
51330
+ }
51331
+ $xeTree.updateAfterDataIndex();
51332
+ return nodeList;
51333
+ });
51334
+ },
51335
+ getCheckboxIndeterminateNodes: function getCheckboxIndeterminateNodes() {
51336
+ var $xeTree = this;
51337
+ var internalData = $xeTree.internalData;
51338
+ var nodeMaps = internalData.nodeMaps,
51339
+ indeterminateRowMaps = internalData.indeterminateRowMaps;
51340
+ var list = [];
51341
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(indeterminateRowMaps, function (item, nodeid) {
51342
+ var nodeItem = nodeMaps[nodeid];
51343
+ if (nodeItem) {
51344
+ list.push(nodeItem.item);
51345
+ }
51346
+ });
51347
+ return list;
51348
+ },
50662
51349
  //
50663
51350
  // Render
50664
51351
  //
@@ -50671,12 +51358,14 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50671
51358
  checkMethod = radioOpts.checkMethod,
50672
51359
  visibleMethod = radioOpts.visibleMethod;
50673
51360
  var isVisible = !visibleMethod || visibleMethod({
51361
+ $tree: $xeTree,
50674
51362
  node: node
50675
51363
  });
50676
51364
  var isDisabled = !!checkMethod;
50677
51365
  if (showRadio && showIcon && isVisible) {
50678
51366
  if (checkMethod) {
50679
51367
  isDisabled = !checkMethod({
51368
+ $tree: $xeTree,
50680
51369
  node: node
50681
51370
  });
50682
51371
  }
@@ -50708,12 +51397,14 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50708
51397
  visibleMethod = checkboxOpts.visibleMethod;
50709
51398
  var isIndeterminate = $xeTree.isIndeterminateByCheckboxNodeid(nodeid);
50710
51399
  var isVisible = !visibleMethod || visibleMethod({
51400
+ $tree: $xeTree,
50711
51401
  node: node
50712
51402
  });
50713
51403
  var isDisabled = !!checkMethod;
50714
51404
  if (showCheckbox && showIcon && isVisible) {
50715
51405
  if (checkMethod) {
50716
51406
  isDisabled = !checkMethod({
51407
+ $tree: $xeTree,
50717
51408
  node: node
50718
51409
  });
50719
51410
  }
@@ -50736,7 +51427,7 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50736
51427
  }
50737
51428
  return renderEmptyElement($xeTree);
50738
51429
  },
50739
- renderNode: function renderNode(h, node) {
51430
+ renderNode: function renderNode(h, node, nodeid) {
50740
51431
  var $xeTree = this;
50741
51432
  var props = $xeTree;
50742
51433
  var slots = $xeTree.$scopedSlots;
@@ -50754,7 +51445,8 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50754
51445
  var currentNode = reactData.currentNode,
50755
51446
  selectRadioKey = reactData.selectRadioKey,
50756
51447
  updateExpandedFlag = reactData.updateExpandedFlag;
50757
- var nodeMaps = internalData.nodeMaps,
51448
+ var afterTreeList = internalData.afterTreeList,
51449
+ nodeMaps = internalData.nodeMaps,
50758
51450
  treeExpandedMaps = internalData.treeExpandedMaps,
50759
51451
  treeExpandLazyLoadedMaps = internalData.treeExpandLazyLoadedMaps;
50760
51452
  var childrenField = $xeTree.computeChildrenField;
@@ -50765,14 +51457,12 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50765
51457
  var iconSlot = slots.icon;
50766
51458
  var titleSlot = slots.title;
50767
51459
  var extraSlot = slots.extra;
50768
- var nodeid = $xeTree.getNodeId(node);
50769
51460
  var isExpand = updateExpandedFlag && treeExpandedMaps[nodeid];
50770
51461
  var nodeItem = nodeMaps[nodeid];
50771
51462
  var nodeValue = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(node, titleField);
50772
51463
  var isRadioChecked = false;
50773
51464
  if (showRadio) {
50774
- // eslint-disable-next-line eqeqeq
50775
- isRadioChecked = nodeid == selectRadioKey;
51465
+ isRadioChecked = nodeid === String(selectRadioKey);
50776
51466
  }
50777
51467
  var isCheckboxChecked = false;
50778
51468
  if (showCheckbox) {
@@ -50786,23 +51476,13 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50786
51476
  hasLazyChilds = node[hasChildField];
50787
51477
  isLazyLoaded = !!nodeItem.treeLoaded;
50788
51478
  }
50789
- var childVns = [];
50790
- if (hasChild && treeExpandedMaps[nodeid]) {
50791
- if (showLine) {
50792
- childVns.push(h('div', {
50793
- key: 'line',
50794
- class: 'vxe-tree--node-child-line',
50795
- style: {
50796
- height: "calc(".concat(nodeItem.lineCount, " * var(--vxe-ui-tree-node-height) - var(--vxe-ui-tree-node-height) / 2)"),
50797
- left: "".concat((nodeItem.level + 1) * (indent || 1), "px")
50798
- }
50799
- }));
50800
- }
50801
- childList.forEach(function (childItem) {
50802
- childVns.push($xeTree.renderNode(h, childItem));
50803
- });
50804
- }
51479
+ var prevNode = nodeItem.items[nodeItem.treeIndex - 1];
51480
+ var nParams = {
51481
+ node: node,
51482
+ isExpand: isExpand
51483
+ };
50805
51484
  return h('div', {
51485
+ key: nodeid,
50806
51486
  class: ['vxe-tree--node-wrapper', "node--level-".concat(nodeItem.level)],
50807
51487
  attrs: {
50808
51488
  nodeid: nodeid
@@ -50824,7 +51504,14 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50824
51504
  $xeTree.handleNodeDblclickEvent(evnt, node);
50825
51505
  }
50826
51506
  }
50827
- }, [showIcon || showLine ? h('div', {
51507
+ }, [showLine ? h('div', {
51508
+ class: 'vxe-tree--node-line-wrapper'
51509
+ }, [h('div', {
51510
+ class: 'vxe-tree--node-line',
51511
+ style: {
51512
+ height: "".concat($xeTree.getNodeId(afterTreeList[0]) === nodeid ? 1 : calcTreeLine($xeTree, node, prevNode), "px")
51513
+ }
51514
+ })]) : renderEmptyElement($xeTree), h('div', {
50828
51515
  class: 'vxe-tree--node-item-switcher'
50829
51516
  }, showIcon && (lazy ? isLazyLoaded ? hasChild : hasLazyChilds : hasChild) ? [h('div', {
50830
51517
  class: 'vxe-tree--node-item-icon',
@@ -50833,56 +51520,95 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50833
51520
  $xeTree.toggleExpandEvent(evnt, node);
50834
51521
  }
50835
51522
  }
50836
- }, iconSlot ? iconSlot({
50837
- node: node,
50838
- isExpand: isExpand
50839
- }) : [h('i', {
51523
+ }, iconSlot ? getSlotVNs(iconSlot(nParams)) : [h('i', {
50840
51524
  class: isLazyLoading ? iconLoaded || getIcon().TREE_NODE_LOADED : isExpand ? iconOpen || getIcon().TREE_NODE_OPEN : iconClose || getIcon().TREE_NODE_CLOSE
50841
- })])] : []) : renderEmptyElement($xeTree), $xeTree.renderRadio(h, node, nodeid, isRadioChecked), $xeTree.renderCheckbox(h, node, nodeid, isCheckboxChecked), h('div', {
51525
+ })])] : []), $xeTree.renderRadio(h, node, nodeid, isRadioChecked), $xeTree.renderCheckbox(h, node, nodeid, isCheckboxChecked), h('div', {
50842
51526
  class: 'vxe-tree--node-item-inner'
50843
51527
  }, [h('div', {
50844
51528
  class: 'vxe-tree--node-item-title'
50845
- }, titleSlot ? getSlotVNs(titleSlot({
50846
- node: node,
50847
- isExpand: isExpand
50848
- })) : "".concat(nodeValue)), extraSlot ? h('div', {
51529
+ }, titleSlot ? getSlotVNs(titleSlot(nParams)) : "".concat(nodeValue)), extraSlot ? h('div', {
50849
51530
  class: 'vxe-tree--node-item-extra'
50850
- }, getSlotVNs(extraSlot({
50851
- node: node,
50852
- isExpand: isExpand
50853
- }))) : renderEmptyElement($xeTree)])]), hasChild && treeExpandedMaps[nodeid] ? h('div', {
50854
- class: 'vxe-tree--node-child-wrapper'
50855
- }, childVns) : renderEmptyElement($xeTree)]);
51531
+ }, getSlotVNs(extraSlot(nParams))) : renderEmptyElement($xeTree)])])]);
50856
51532
  },
50857
- renderNodeList: function renderNodeList(h) {
51533
+ renderList: function renderList(h, treeList) {
50858
51534
  var $xeTree = this;
50859
- var reactData = $xeTree.reactData;
50860
- var treeList = reactData.treeList;
50861
- return h('div', {
50862
- class: 'vxe-tree--node-list-wrapper'
50863
- }, treeList.map(function (node) {
50864
- return $xeTree.renderNode(h, node);
50865
- }));
51535
+ var props = $xeTree;
51536
+ var internalData = $xeTree.internalData;
51537
+ var transform = props.transform;
51538
+ var treeExpandedMaps = internalData.treeExpandedMaps;
51539
+ var childrenField = $xeTree.computeChildrenField;
51540
+ if (!treeList.length) {
51541
+ return [h('div', {
51542
+ class: 'vxe-tree--empty-placeholder'
51543
+ }, getI18n('vxe.tree.searchEmpty'))];
51544
+ }
51545
+ var nodeVNs = [];
51546
+ treeList.forEach(transform ? function (node) {
51547
+ var nodeid = $xeTree.getNodeId(node);
51548
+ nodeVNs.push($xeTree.renderNode(h, node, nodeid));
51549
+ } : function (node) {
51550
+ var nodeid = $xeTree.getNodeId(node);
51551
+ nodeVNs.push($xeTree.renderNode(h, node, nodeid));
51552
+ var childList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(node, childrenField);
51553
+ var hasChild = childList && childList.length;
51554
+ if (hasChild && treeExpandedMaps[nodeid]) {
51555
+ nodeVNs.push.apply(nodeVNs, _toConsumableArray($xeTree.renderList(h, childList)));
51556
+ }
51557
+ });
51558
+ return nodeVNs;
50866
51559
  },
50867
51560
  renderVN: function renderVN(h) {
50868
51561
  var $xeTree = this;
50869
51562
  var props = $xeTree;
50870
51563
  var slots = $xeTree.$scopedSlots;
51564
+ var reactData = $xeTree.reactData;
50871
51565
  var loading = props.loading,
50872
51566
  trigger = props.trigger,
50873
51567
  showLine = props.showLine;
51568
+ var bodyHeight = reactData.bodyHeight,
51569
+ topSpaceHeight = reactData.topSpaceHeight,
51570
+ treeList = reactData.treeList;
50874
51571
  var vSize = $xeTree.computeSize;
50875
51572
  var radioOpts = $xeTree.computeRadioOpts;
50876
51573
  var checkboxOpts = $xeTree.computeCheckboxOpts;
50877
- var treeStyle = $xeTree.computeTreeStyle;
50878
51574
  var loadingOpts = $xeTree.computeLoadingOpts;
50879
51575
  var isRowHover = $xeTree.computeIsRowHover;
51576
+ var treeStyle = $xeTree.computeTreeStyle;
50880
51577
  var loadingSlot = slots.loading;
51578
+ var headerSlot = slots.header;
51579
+ var footerSlot = slots.footer;
50881
51580
  return h('div', {
50882
51581
  ref: 'refElem',
50883
- class: ['vxe-tree', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'show--line', showLine), 'checkbox--highlight', checkboxOpts.highlight), 'radio--highlight', radioOpts.highlight), 'node--hover', isRowHover), 'node--trigger', trigger === 'node'), 'is--loading', loading)],
50884
- style: treeStyle
50885
- }, [$xeTree.renderNodeList(h),
51582
+ class: ['vxe-tree', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'show--line', showLine), 'checkbox--highlight', checkboxOpts.highlight), 'radio--highlight', radioOpts.highlight), 'node--hover', isRowHover), 'node--trigger', trigger === 'node'), 'is--loading', loading)]
51583
+ }, [headerSlot ? h('div', {
51584
+ ref: 'refHeaderWrapperElem',
51585
+ class: 'vxe-tree--header-wrapper'
51586
+ }, headerSlot({
51587
+ $tree: $xeTree
51588
+ })) : renderEmptyElement($xeTree), h('div', {
51589
+ ref: 'refVirtualWrapper',
51590
+ class: 'vxe-tree--node-list-wrapper',
51591
+ style: treeStyle,
51592
+ on: {
51593
+ scroll: $xeTree.scrollEvent
51594
+ }
51595
+ }, [h('div', {
51596
+ class: 'vxe-select--y-space',
51597
+ style: {
51598
+ height: bodyHeight ? "".concat(bodyHeight, "px") : ''
51599
+ }
51600
+ }), h('div', {
51601
+ ref: 'refVirtualBody',
51602
+ class: 'vxe-tree--node-list-body',
51603
+ style: {
51604
+ transform: "translateY(".concat(topSpaceHeight, "px)")
51605
+ }
51606
+ }, $xeTree.renderList(h, treeList))]), footerSlot ? h('div', {
51607
+ ref: 'refFooterWrapperElem',
51608
+ class: 'vxe-tree--footer-wrapper'
51609
+ }, footerSlot({
51610
+ $tree: $xeTree
51611
+ })) : renderEmptyElement($xeTree),
50886
51612
  /**
50887
51613
  * 加载中
50888
51614
  */
@@ -50906,7 +51632,7 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50906
51632
  watch: {
50907
51633
  data: function data(val) {
50908
51634
  var $xeTree = this;
50909
- $xeTree.loadTreeData(val || []);
51635
+ $xeTree.loadData(val || []);
50910
51636
  },
50911
51637
  checkNodeKey: function checkNodeKey(val) {
50912
51638
  var $xeTree = this;
@@ -50917,6 +51643,22 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50917
51643
  var $xeTree = this;
50918
51644
  var props = $xeTree;
50919
51645
  $xeTree.updateCheckboxChecked(props.checkNodeKeys || []);
51646
+ },
51647
+ filterValue: function filterValue() {
51648
+ var $xeTree = this;
51649
+ $xeTree.triggerSearchEvent(new Event('filter'));
51650
+ },
51651
+ height: function height() {
51652
+ var $xeTree = this;
51653
+ $xeTree.recalculate();
51654
+ },
51655
+ minHeight: function minHeight() {
51656
+ var $xeTree = this;
51657
+ $xeTree.recalculate();
51658
+ },
51659
+ maxHeight: function maxHeight() {
51660
+ var $xeTree = this;
51661
+ $xeTree.recalculate();
50920
51662
  }
50921
51663
  },
50922
51664
  created: function created() {
@@ -50924,16 +51666,41 @@ function handleSetExpand(nodeid, expanded, expandedMaps) {
50924
51666
  var props = $xeTree;
50925
51667
  var reactData = $xeTree.reactData;
50926
51668
  reactData.selectRadioKey = props.checkNodeKey || null;
50927
- $xeTree.loadTreeData(props.data || []);
51669
+ $xeTree.loadData(props.data || []);
51670
+ },
51671
+ mounted: function mounted() {
51672
+ var $xeTree = this;
51673
+ var props = $xeTree;
51674
+ var internalData = $xeTree.internalData;
51675
+ if (props.autoResize) {
51676
+ var el = $xeTree.$refs.refElem;
51677
+ var parentEl = $xeTree.getParentElem();
51678
+ var resizeObserver = globalResize.create(function () {
51679
+ if (props.autoResize) {
51680
+ $xeTree.recalculate();
51681
+ }
51682
+ });
51683
+ if (el) {
51684
+ resizeObserver.observe(el);
51685
+ }
51686
+ if (parentEl) {
51687
+ resizeObserver.observe(parentEl);
51688
+ }
51689
+ internalData.resizeObserver = resizeObserver;
51690
+ }
51691
+ globalEvents.on($xeTree, 'resize', $xeTree.handleGlobalResizeEvent);
50928
51692
  },
50929
51693
  beforeDestroy: function beforeDestroy() {
50930
51694
  var $xeTree = this;
50931
- var reactData = $xeTree.reactData;
50932
51695
  var internalData = $xeTree.internalData;
50933
- reactData.treeList = [];
51696
+ var resizeObserver = internalData.resizeObserver;
51697
+ if (resizeObserver) {
51698
+ resizeObserver.disconnect();
51699
+ }
50934
51700
  internalData.treeExpandedMaps = {};
50935
51701
  internalData.indeterminateRowMaps = {};
50936
51702
  internalData.nodeMaps = {};
51703
+ globalEvents.off($xeTree, 'resize');
50937
51704
  },
50938
51705
  render: function render(h) {
50939
51706
  return this.renderVN(h);
@@ -50969,6 +51736,10 @@ var Tree = VxeTree;
50969
51736
 
50970
51737
 
50971
51738
 
51739
+
51740
+
51741
+
51742
+
50972
51743
  function tree_select_getOptUniqueId() {
50973
51744
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId('node_');
50974
51745
  }
@@ -50997,6 +51768,8 @@ function tree_select_getOptUniqueId() {
50997
51768
  type: Boolean,
50998
51769
  default: null
50999
51770
  },
51771
+ filterable: Boolean,
51772
+ filterConfig: Object,
51000
51773
  multiple: Boolean,
51001
51774
  className: [String, Function],
51002
51775
  popupClassName: [String, Function],
@@ -51007,17 +51780,53 @@ function tree_select_getOptUniqueId() {
51007
51780
  size: {
51008
51781
  type: String,
51009
51782
  default: function _default() {
51010
- return getConfig().select.size || getConfig().size;
51783
+ return getConfig().treeSelect.size || getConfig().size;
51011
51784
  }
51012
51785
  },
51013
51786
  remote: Boolean,
51014
- remoteMethod: Function,
51787
+ remoteConfig: Function,
51015
51788
  popupConfig: Object,
51016
51789
  treeConfig: Object,
51790
+ virtualYConfig: Object,
51791
+ autoClose: {
51792
+ type: Boolean,
51793
+ default: function _default() {
51794
+ return getConfig().treeSelect.autoClose;
51795
+ }
51796
+ },
51797
+ showTotalButoon: {
51798
+ type: Boolean,
51799
+ default: function _default() {
51800
+ return getConfig().treeSelect.showTotalButoon;
51801
+ }
51802
+ },
51803
+ showCheckedButoon: {
51804
+ type: Boolean,
51805
+ default: function _default() {
51806
+ return getConfig().treeSelect.showCheckedButoon;
51807
+ }
51808
+ },
51809
+ showClearButton: {
51810
+ type: Boolean,
51811
+ default: function _default() {
51812
+ return getConfig().treeSelect.showClearButton;
51813
+ }
51814
+ },
51815
+ showExpandButton: {
51816
+ type: Boolean,
51817
+ default: function _default() {
51818
+ return getConfig().treeSelect.showExpandButton;
51819
+ }
51820
+ },
51017
51821
  transfer: {
51018
51822
  type: Boolean,
51019
51823
  default: null
51020
- }
51824
+ },
51825
+ /**
51826
+ * 已废弃,被 remote-config.queryMethod 替换
51827
+ * @deprecated
51828
+ */
51829
+ remoteMethod: Function
51021
51830
  },
51022
51831
  inject: {
51023
51832
  $xeModal: {
@@ -51047,8 +51856,8 @@ function tree_select_getOptUniqueId() {
51047
51856
  var xID = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId();
51048
51857
  var reactData = {
51049
51858
  initialized: false,
51050
- fullOptionList: [],
51051
- fullNodeMaps: {},
51859
+ searchValue: '',
51860
+ searchLoading: false,
51052
51861
  panelIndex: 0,
51053
51862
  panelStyle: {},
51054
51863
  panelPlacement: null,
@@ -51058,7 +51867,9 @@ function tree_select_getOptUniqueId() {
51058
51867
  isActivated: false
51059
51868
  };
51060
51869
  var internalData = {
51061
- hpTimeout: undefined
51870
+ // hpTimeout: undefined,
51871
+ fullOptionList: [],
51872
+ fullNodeMaps: {}
51062
51873
  };
51063
51874
  return {
51064
51875
  xID: xID,
@@ -51182,14 +51993,31 @@ function tree_select_getOptUniqueId() {
51182
51993
  var propsOpts = $xeTreeSelect.computePropsOpts;
51183
51994
  return propsOpts.hasChild || 'hasChild';
51184
51995
  },
51996
+ computeVirtualYOpts: function computeVirtualYOpts() {
51997
+ var $xeTreeSelect = this;
51998
+ var props = $xeTreeSelect;
51999
+ return Object.assign({}, getConfig().treeSelect.virtualYConfig, props.virtualYConfig);
52000
+ },
52001
+ computeRemoteOpts: function computeRemoteOpts() {
52002
+ var $xeTreeSelect = this;
52003
+ var props = $xeTreeSelect;
52004
+ return Object.assign({}, getConfig().treeSelect.remoteConfig, props.remoteConfig);
52005
+ },
52006
+ computeFilterOpts: function computeFilterOpts() {
52007
+ var $xeTreeSelect = this;
52008
+ var props = $xeTreeSelect;
52009
+ var treeOpts = $xeTreeSelect.computeTreeOpts;
52010
+ return Object.assign({}, treeOpts.filterConfig, props.filterConfig);
52011
+ },
51185
52012
  computeSelectLabel: function computeSelectLabel() {
51186
52013
  var $xeTreeSelect = this;
51187
52014
  var props = $xeTreeSelect;
51188
- var reactData = $xeTreeSelect.reactData;
51189
- var value = props.value;
51190
- var fullNodeMaps = reactData.fullNodeMaps;
52015
+ var internalData = $xeTreeSelect.internalData;
52016
+ var modelValue = props.value;
52017
+ var fullNodeMaps = internalData.fullNodeMaps;
51191
52018
  var labelField = $xeTreeSelect.computeLabelField;
51192
- return (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(value) ? value : [value]).map(function (val) {
52019
+ var selectVals = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(modelValue) ? [] : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(modelValue) ? modelValue : [modelValue];
52020
+ return selectVals.map(function (val) {
51193
52021
  var cacheItem = fullNodeMaps[val];
51194
52022
  return cacheItem ? cacheItem.item[labelField] : val;
51195
52023
  }).join(', ');
@@ -51238,7 +52066,7 @@ function tree_select_getOptUniqueId() {
51238
52066
  cacheDataMap: function cacheDataMap() {
51239
52067
  var $xeTreeSelect = this;
51240
52068
  var props = $xeTreeSelect;
51241
- var reactData = $xeTreeSelect.reactData;
52069
+ var internalData = $xeTreeSelect.internalData;
51242
52070
  var options = props.options;
51243
52071
  var nodeKeyField = $xeTreeSelect.computeNodeKeyField;
51244
52072
  var childrenField = $xeTreeSelect.computeChildrenField;
@@ -51268,8 +52096,8 @@ function tree_select_getOptUniqueId() {
51268
52096
  }, {
51269
52097
  children: childrenField
51270
52098
  });
51271
- reactData.fullOptionList = options || [];
51272
- reactData.fullNodeMaps = nodeMaps;
52099
+ internalData.fullOptionList = options || [];
52100
+ internalData.fullNodeMaps = nodeMaps;
51273
52101
  },
51274
52102
  updateZindex: function updateZindex() {
51275
52103
  var $xeTreeSelect = this;
@@ -51306,8 +52134,12 @@ function tree_select_getOptUniqueId() {
51306
52134
  var props = $xeTreeSelect;
51307
52135
  var reactData = $xeTreeSelect.reactData;
51308
52136
  var internalData = $xeTreeSelect.internalData;
51309
- var loading = props.loading;
52137
+ var loading = props.loading,
52138
+ remote = props.remote,
52139
+ filterable = props.filterable;
52140
+ var fullOptionList = internalData.fullOptionList;
51310
52141
  var isDisabled = $xeTreeSelect.computeIsDisabled;
52142
+ var remoteOpts = $xeTreeSelect.computeRemoteOpts;
51311
52143
  if (!loading && !isDisabled) {
51312
52144
  if (internalData.hpTimeout) {
51313
52145
  clearTimeout(internalData.hpTimeout);
@@ -51324,8 +52156,14 @@ function tree_select_getOptUniqueId() {
51324
52156
  }
51325
52157
  reactData.isActivated = true;
51326
52158
  reactData.isAniVisible = true;
52159
+ if (filterable) {
52160
+ if (remote && remoteOpts.enabled && remoteOpts.autoLoad && !fullOptionList.length) {
52161
+ $xeTreeSelect.handleSearchEvent();
52162
+ }
52163
+ }
51327
52164
  setTimeout(function () {
51328
52165
  reactData.visiblePanel = true;
52166
+ $xeTreeSelect.handleFocusSearch();
51329
52167
  }, 10);
51330
52168
  $xeTreeSelect.updateZindex();
51331
52169
  $xeTreeSelect.updatePlacement();
@@ -51343,10 +52181,10 @@ function tree_select_getOptUniqueId() {
51343
52181
  changeEvent: function changeEvent(evnt, selectValue) {
51344
52182
  var $xeTreeSelect = this;
51345
52183
  var props = $xeTreeSelect;
51346
- var reactData = $xeTreeSelect.reactData;
52184
+ var internalData = $xeTreeSelect.internalData;
51347
52185
  var $xeForm = $xeTreeSelect.$xeForm;
51348
52186
  var formItemInfo = $xeTreeSelect.formItemInfo;
51349
- var fullNodeMaps = reactData.fullNodeMaps;
52187
+ var fullNodeMaps = internalData.fullNodeMaps;
51350
52188
  $xeTreeSelect.emitModel(selectValue);
51351
52189
  if (selectValue !== props.value) {
51352
52190
  var cacheItem = fullNodeMaps[selectValue];
@@ -51372,6 +52210,62 @@ function tree_select_getOptUniqueId() {
51372
52210
  $xeTreeSelect.clearValueEvent(evnt, null);
51373
52211
  $xeTreeSelect.hideOptionPanel();
51374
52212
  },
52213
+ allCheckedPanelEvent: function allCheckedPanelEvent(params) {
52214
+ var $xeTreeSelect = this;
52215
+ var props = $xeTreeSelect;
52216
+ var $event = params.$event;
52217
+ var multiple = props.multiple,
52218
+ autoClose = props.autoClose;
52219
+ var $tree = $xeTreeSelect.$refs.refTree;
52220
+ if (multiple) {
52221
+ if ($tree) {
52222
+ $tree.setAllCheckboxNode(true).then(function (_ref) {
52223
+ var checkNodeKeys = _ref.checkNodeKeys;
52224
+ $xeTreeSelect.changeEvent($event, checkNodeKeys);
52225
+ $xeTreeSelect.dispatchEvent('all-change', {
52226
+ value: checkNodeKeys
52227
+ }, $event);
52228
+ if (autoClose) {
52229
+ $xeTreeSelect.hideOptionPanel();
52230
+ }
52231
+ });
52232
+ }
52233
+ }
52234
+ },
52235
+ clearCheckedPanelEvent: function clearCheckedPanelEvent(params) {
52236
+ var $xeTreeSelect = this;
52237
+ var props = $xeTreeSelect;
52238
+ var $event = params.$event;
52239
+ var multiple = props.multiple,
52240
+ autoClose = props.autoClose;
52241
+ var $tree = $xeTreeSelect.$refs.refTree;
52242
+ if ($tree) {
52243
+ var value = multiple ? [] : null;
52244
+ $tree.clearCheckboxNode().then(function () {
52245
+ if (autoClose) {
52246
+ $xeTreeSelect.hideOptionPanel();
52247
+ }
52248
+ });
52249
+ $xeTreeSelect.changeEvent($event, value);
52250
+ $xeTreeSelect.dispatchEvent('clear', {
52251
+ value: value
52252
+ }, $event);
52253
+ }
52254
+ },
52255
+ allExpandPanelEvent: function allExpandPanelEvent() {
52256
+ var $xeTreeSelect = this;
52257
+ var $tree = $xeTreeSelect.$refs.refTree;
52258
+ if ($tree) {
52259
+ $tree.setAllExpandNode(true);
52260
+ }
52261
+ },
52262
+ clearExpandPanelEvent: function clearExpandPanelEvent() {
52263
+ var $xeTreeSelect = this;
52264
+ var $tree = $xeTreeSelect.$refs.refTree;
52265
+ if ($tree) {
52266
+ $tree.clearAllExpandNode();
52267
+ }
52268
+ },
51375
52269
  handleGlobalMousewheelEvent: function handleGlobalMousewheelEvent(evnt) {
51376
52270
  var $xeTreeSelect = this;
51377
52271
  var reactData = $xeTreeSelect.reactData;
@@ -51414,6 +52308,18 @@ function tree_select_getOptUniqueId() {
51414
52308
  $xeTreeSelect.updatePlacement();
51415
52309
  }
51416
52310
  },
52311
+ handleFocusSearch: function handleFocusSearch() {
52312
+ var $xeSelect = this;
52313
+ var props = $xeSelect;
52314
+ if (props.filterable) {
52315
+ $xeSelect.$nextTick(function () {
52316
+ var inpSearch = $xeSelect.$refs.refInpSearch;
52317
+ if (inpSearch) {
52318
+ inpSearch.focus();
52319
+ }
52320
+ });
52321
+ }
52322
+ },
51417
52323
  focusEvent: function focusEvent(evnt) {
51418
52324
  var $xeTreeSelect = this;
51419
52325
  var reactData = $xeTreeSelect.reactData;
@@ -51440,6 +52346,36 @@ function tree_select_getOptUniqueId() {
51440
52346
  reactData.isActivated = false;
51441
52347
  $xeTreeSelect.dispatchEvent('blur', {}, evnt);
51442
52348
  },
52349
+ modelSearchEvent: function modelSearchEvent(value) {
52350
+ var $xeTreeSelect = this;
52351
+ var reactData = $xeTreeSelect.reactData;
52352
+ reactData.searchValue = value;
52353
+ },
52354
+ handleSearchEvent: function handleSearchEvent() {
52355
+ var $xeTreeSelect = this;
52356
+ var props = $xeTreeSelect;
52357
+ var reactData = $xeTreeSelect.reactData;
52358
+ var modelValue = props.value,
52359
+ remote = props.remote,
52360
+ remoteMethod = props.remoteMethod;
52361
+ var searchValue = reactData.searchValue;
52362
+ var remoteOpts = $xeTreeSelect.computeRemoteOpts;
52363
+ var queryMethod = remoteOpts.queryMethod || remoteMethod;
52364
+ if (remote && queryMethod && remoteOpts.enabled) {
52365
+ reactData.searchLoading = true;
52366
+ Promise.resolve(queryMethod({
52367
+ $treeSelect: $xeTreeSelect,
52368
+ searchValue: searchValue,
52369
+ value: modelValue
52370
+ })).then(function () {
52371
+ return $xeTreeSelect.$nextTick();
52372
+ }).catch(function () {
52373
+ return $xeTreeSelect.$nextTick();
52374
+ }).finally(function () {
52375
+ reactData.searchLoading = false;
52376
+ });
52377
+ }
52378
+ },
51443
52379
  togglePanelEvent: function togglePanelEvent(params) {
51444
52380
  var $xeTreeSelect = this;
51445
52381
  var reactData = $xeTreeSelect.reactData;
@@ -51486,14 +52422,20 @@ function tree_select_getOptUniqueId() {
51486
52422
  var slots = $xeTreeSelect.$scopedSlots;
51487
52423
  var reactData = $xeTreeSelect.reactData;
51488
52424
  var className = props.className,
51489
- value = props.value,
52425
+ modelValue = props.value,
51490
52426
  multiple = props.multiple,
51491
52427
  options = props.options,
51492
- loading = props.loading;
52428
+ loading = props.loading,
52429
+ filterable = props.filterable,
52430
+ showTotalButoon = props.showTotalButoon,
52431
+ showCheckedButoon = props.showCheckedButoon,
52432
+ showClearButton = props.showClearButton,
52433
+ showExpandButton = props.showExpandButton;
51493
52434
  var initialized = reactData.initialized,
51494
52435
  isActivated = reactData.isActivated,
51495
52436
  isAniVisible = reactData.isAniVisible,
51496
- visiblePanel = reactData.visiblePanel;
52437
+ visiblePanel = reactData.visiblePanel,
52438
+ searchValue = reactData.searchValue;
51497
52439
  var vSize = $xeTreeSelect.computeSize;
51498
52440
  var isDisabled = $xeTreeSelect.computeIsDisabled;
51499
52441
  var selectLabel = $xeTreeSelect.computeSelectLabel;
@@ -51515,6 +52457,8 @@ function tree_select_getOptUniqueId() {
51515
52457
  var childrenField = $xeTreeSelect.computeChildrenField;
51516
52458
  var parentField = $xeTreeSelect.computeParentField;
51517
52459
  var hasChildField = $xeTreeSelect.computeHasChildField;
52460
+ var virtualYOpts = $xeTreeSelect.computeVirtualYOpts;
52461
+ var filterOpts = $xeTreeSelect.computeFilterOpts;
51518
52462
  if (formReadonly) {
51519
52463
  return h('div', {
51520
52464
  ref: 'refElem',
@@ -51523,11 +52467,12 @@ function tree_select_getOptUniqueId() {
51523
52467
  class: 'vxe-tree-select-label'
51524
52468
  }, selectLabel)]);
51525
52469
  }
52470
+ var selectVals = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(modelValue) ? [] : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(modelValue) ? modelValue : [modelValue];
51526
52471
  return h('div', {
51527
52472
  ref: 'refElem',
51528
52473
  class: ['vxe-tree-select', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
51529
52474
  $treeSelect: $xeTreeSelect
51530
- }) : className : '', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--visible', visiblePanel), 'is--disabled', isDisabled), 'is--loading', loading), 'is--active', isActivated)]
52475
+ }) : className : '', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--filterable', filterable), 'is--visible', visiblePanel), 'is--disabled', isDisabled), 'is--loading', loading), 'is--active', isActivated)]
51531
52476
  }, [h(input, {
51532
52477
  ref: 'refInput',
51533
52478
  props: {
@@ -51538,7 +52483,8 @@ function tree_select_getOptUniqueId() {
51538
52483
  type: 'text',
51539
52484
  prefixIcon: props.prefixIcon,
51540
52485
  suffixIcon: loading ? getIcon().TREE_SELECT_LOADED : visiblePanel ? getIcon().TREE_SELECT_OPEN : getIcon().TREE_SELECT_CLOSE,
51541
- value: loading ? getI18n('vxe.select.loadingText') : selectLabel
52486
+ value: loading ? getI18n('vxe.select.loadingText') : selectLabel,
52487
+ title: selectLabel
51542
52488
  },
51543
52489
  on: {
51544
52490
  clear: $xeTreeSelect.clearEvent,
@@ -51563,24 +52509,84 @@ function tree_select_getOptUniqueId() {
51563
52509
  style: reactData.panelStyle
51564
52510
  }, initialized ? [h('div', {
51565
52511
  class: 'vxe-tree-select--panel-wrapper'
51566
- }, [headerSlot ? h('div', {
52512
+ }, [filterable ? h('div', {
52513
+ class: 'vxe-tree-select--panel-search'
52514
+ }, [h(input, {
52515
+ ref: 'refInpSearch',
52516
+ class: 'vxe-tree-select-search--input',
52517
+ props: {
52518
+ value: searchValue,
52519
+ title: selectLabel,
52520
+ clearable: true,
52521
+ disabled: false,
52522
+ readonly: false,
52523
+ placeholder: getI18n('vxe.treeSelect.search'),
52524
+ prefixIcon: getIcon().INPUT_SEARCH
52525
+ },
52526
+ on: {
52527
+ 'model-value': $xeTreeSelect.modelSearchEvent
52528
+ }
52529
+ })]) : renderEmptyElement($xeTreeSelect), showTotalButoon || showCheckedButoon && multiple || showClearButton || showExpandButton || headerSlot ? h('div', {
51567
52530
  class: 'vxe-tree-select--panel-header'
51568
- }, headerSlot({})) : renderEmptyElement($xeTreeSelect), h('div', {
52531
+ }, headerSlot ? headerSlot({}) : [h('div', {
52532
+ class: 'vxe-tree-select--header-button'
52533
+ }, [showTotalButoon ? h('div', {
52534
+ class: 'vxe-tree-select--header-total'
52535
+ }, getI18n('vxe.treeSelect.total', [selectVals.length])) : renderEmptyElement($xeTreeSelect), h('div', {
52536
+ class: 'vxe-tree-select--header-btns'
52537
+ }, [showCheckedButoon && multiple ? h(src_button, {
52538
+ props: {
52539
+ content: getI18n('vxe.treeSelect.allChecked'),
52540
+ mode: 'text'
52541
+ },
52542
+ on: {
52543
+ click: $xeTreeSelect.allCheckedPanelEvent
52544
+ }
52545
+ }) : renderEmptyElement($xeTreeSelect), showClearButton ? h(src_button, {
52546
+ props: {
52547
+ content: getI18n('vxe.treeSelect.clearChecked'),
52548
+ mode: 'text'
52549
+ },
52550
+ on: {
52551
+ click: $xeTreeSelect.clearCheckedPanelEvent
52552
+ }
52553
+ }) : renderEmptyElement($xeTreeSelect), showExpandButton ? h(src_button, {
52554
+ props: {
52555
+ content: getI18n('vxe.treeSelect.allExpand'),
52556
+ mode: 'text'
52557
+ },
52558
+ on: {
52559
+ click: $xeTreeSelect.allExpandPanelEvent
52560
+ }
52561
+ }) : renderEmptyElement($xeTreeSelect), showExpandButton ? h(src_button, {
52562
+ props: {
52563
+ content: getI18n('vxe.treeSelect.clearExpand'),
52564
+ mode: 'text'
52565
+ },
52566
+ on: {
52567
+ click: $xeTreeSelect.clearExpandPanelEvent
52568
+ }
52569
+ }) : renderEmptyElement($xeTreeSelect)])])]) : renderEmptyElement($xeTreeSelect), h('div', {
51569
52570
  class: 'vxe-tree-select--panel-body'
51570
52571
  }, [h('div', {
51571
52572
  ref: 'refTreeWrapper',
51572
52573
  class: 'vxe-tree-select-tree--wrapper',
51573
52574
  style: popupWrapperStyle
51574
52575
  }, [h(tree, {
52576
+ ref: 'refTree',
51575
52577
  class: 'vxe-tree-select--tree',
51576
52578
  props: {
51577
52579
  data: options,
52580
+ height: popupOpts.height ? '100%' : treeOpts.height,
52581
+ minHeight: treeOpts.minHeight,
52582
+ maxHeight: popupOpts.height ? '' : treeOpts.maxHeight,
52583
+ autoResize: true,
51578
52584
  indent: treeOpts.indent,
51579
52585
  showRadio: !multiple,
51580
52586
  radioConfig: treeRadioOpts,
51581
- checkNodeKey: multiple ? null : value,
52587
+ checkNodeKey: multiple ? null : modelValue,
51582
52588
  showCheckbox: !!multiple,
51583
- checkNodeKeys: multiple ? value : null,
52589
+ checkNodeKeys: multiple ? modelValue : null,
51584
52590
  checkboxConfig: treeCheckboxOpts,
51585
52591
  titleField: labelField,
51586
52592
  valueField: valueField,
@@ -51600,7 +52606,10 @@ function tree_select_getOptUniqueId() {
51600
52606
  showLine: treeOpts.showLine,
51601
52607
  iconOpen: treeOpts.iconOpen,
51602
52608
  iconLoaded: treeOpts.iconLoaded,
51603
- iconClose: treeOpts.iconClose
52609
+ iconClose: treeOpts.iconClose,
52610
+ filterValue: searchValue,
52611
+ filterConfig: filterOpts,
52612
+ virtualYConfig: virtualYOpts
51604
52613
  },
51605
52614
  on: {
51606
52615
  'node-click': $xeTreeSelect.nodeClickEvent,