bkui-vue 0.0.2-table-refactor.9 → 0.0.3-beta.1

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 (394) hide show
  1. package/dist/index.cjs.js +135 -161
  2. package/dist/index.esm.js +17059 -19431
  3. package/dist/index.umd.js +135 -161
  4. package/dist/locale/en.esm.js +1 -1
  5. package/dist/locale/en.esm.js.map +1 -1
  6. package/dist/locale/en.umd.js +1 -1
  7. package/dist/locale/en.umd.js.map +1 -1
  8. package/dist/locale/zh-cn.esm.js +1 -1
  9. package/dist/locale/zh-cn.esm.js.map +1 -1
  10. package/dist/locale/zh-cn.umd.js +1 -1
  11. package/dist/locale/zh-cn.umd.js.map +1 -1
  12. package/dist/style.css +1 -1
  13. package/dist/style.variable.css +1 -1
  14. package/lib/affix/affix.variable.css +6 -2
  15. package/lib/affix/index.js +321 -1
  16. package/lib/alert/alert.variable.css +6 -2
  17. package/lib/alert/index.js +214 -1
  18. package/lib/animate-number/index.js +155 -1
  19. package/lib/backtop/backtop.variable.css +6 -2
  20. package/lib/backtop/index.js +188 -1
  21. package/lib/badge/badge.css +8 -2
  22. package/lib/badge/badge.less +8 -4
  23. package/lib/badge/badge.variable.css +14 -4
  24. package/lib/badge/index.js +235 -1
  25. package/lib/breadcrumb/breadcrumb.variable.css +6 -2
  26. package/lib/breadcrumb/index.js +309 -1
  27. package/lib/button/button-group.d.ts +2 -2
  28. package/lib/button/button.css +10 -7
  29. package/lib/button/button.d.ts +1 -1
  30. package/lib/button/button.less +98 -93
  31. package/lib/button/button.variable.css +24 -17
  32. package/lib/button/index.d.ts +5 -5
  33. package/lib/button/index.js +321 -1
  34. package/lib/card/card.css +7 -7
  35. package/lib/card/card.less +7 -7
  36. package/lib/card/card.variable.css +13 -9
  37. package/lib/card/index.js +285 -1
  38. package/lib/cascader/cascader-panel.d.ts +1 -0
  39. package/lib/cascader/cascader.css +3 -3
  40. package/lib/cascader/cascader.d.ts +1 -0
  41. package/lib/cascader/cascader.less +4 -6
  42. package/lib/cascader/cascader.variable.css +9 -5
  43. package/lib/cascader/index.d.ts +4 -0
  44. package/lib/cascader/index.js +2053 -2
  45. package/lib/checkbox/checkbox.css +13 -1
  46. package/lib/checkbox/checkbox.d.ts +13 -10
  47. package/lib/checkbox/checkbox.less +15 -1
  48. package/lib/checkbox/checkbox.variable.css +19 -3
  49. package/lib/checkbox/common.d.ts +1 -0
  50. package/lib/checkbox/index.d.ts +28 -19
  51. package/lib/checkbox/index.js +569 -1
  52. package/lib/code-diff/code-diff.variable.css +6 -2
  53. package/lib/code-diff/index.js +5501 -1
  54. package/lib/collapse/collapse.variable.css +6 -2
  55. package/lib/collapse/index.js +570 -1
  56. package/lib/collapse-transition/collapse-transition.variable.css +6 -2
  57. package/lib/collapse-transition/index.js +177 -1
  58. package/lib/color-picker/color-picker.variable.css +6 -2
  59. package/lib/color-picker/index.js +2665 -1
  60. package/lib/components.js +530 -1
  61. package/lib/config-provider/config-provider.d.ts +18 -0
  62. package/lib/config-provider/config-provider.variable.css +6 -2
  63. package/lib/config-provider/index.d.ts +24 -0
  64. package/lib/config-provider/index.js +365 -1
  65. package/lib/config-provider/token.d.ts +6 -0
  66. package/lib/container/container.variable.css +6 -2
  67. package/lib/container/index.js +391 -1
  68. package/lib/date-picker/common.d.ts +2 -0
  69. package/lib/date-picker/date-picker.d.ts +3 -1
  70. package/lib/date-picker/date-picker.variable.css +6 -2
  71. package/lib/date-picker/index.d.ts +9 -3
  72. package/lib/date-picker/index.js +5629 -1
  73. package/lib/date-picker/panel/date.d.ts +2 -2
  74. package/lib/date-picker/panel/time-range.d.ts +17 -0
  75. package/lib/date-picker/panel/time.d.ts +17 -1
  76. package/lib/date-picker/time-picker.d.ts +3 -1
  77. package/lib/dialog/dialog.css +7 -6
  78. package/lib/dialog/dialog.less +7 -6
  79. package/lib/dialog/dialog.variable.css +13 -8
  80. package/lib/dialog/index.js +971 -2
  81. package/lib/directives/index.js +1387 -2
  82. package/lib/dist.index.js +87 -1
  83. package/lib/divider/divider.variable.css +6 -2
  84. package/lib/divider/index.js +169 -1
  85. package/lib/dropdown/dropdown.css +1 -1
  86. package/lib/dropdown/dropdown.variable.css +7 -3
  87. package/lib/dropdown/index.js +369 -1
  88. package/lib/exception/exception.variable.css +6 -2
  89. package/lib/exception/index.js +385 -1
  90. package/lib/fixed-navbar/fixed-navbar.variable.css +6 -2
  91. package/lib/fixed-navbar/index.js +154 -1
  92. package/lib/form/form.css +2 -1
  93. package/lib/form/form.less +3 -2
  94. package/lib/form/form.variable.css +8 -3
  95. package/lib/form/index.js +952 -1
  96. package/lib/hooks.js +73 -1
  97. package/lib/icon/angle-double-down-line.js +191 -1
  98. package/lib/icon/angle-double-left-line.js +191 -1
  99. package/lib/icon/angle-double-left.js +191 -1
  100. package/lib/icon/angle-double-right-line.js +191 -1
  101. package/lib/icon/angle-double-right.js +191 -1
  102. package/lib/icon/angle-double-up-line.js +191 -1
  103. package/lib/icon/angle-down-fill.js +191 -1
  104. package/lib/icon/angle-down-line.js +191 -1
  105. package/lib/icon/angle-down.js +191 -1
  106. package/lib/icon/angle-left.js +191 -1
  107. package/lib/icon/angle-right.js +191 -1
  108. package/lib/icon/angle-up-fill.js +191 -1
  109. package/lib/icon/angle-up.js +191 -1
  110. package/lib/icon/archive-fill.js +191 -1
  111. package/lib/icon/arrows-left.js +191 -1
  112. package/lib/icon/arrows-right.js +191 -1
  113. package/lib/icon/assistant.js +191 -1
  114. package/lib/icon/audio-fill.js +191 -1
  115. package/lib/icon/bk.js +191 -1
  116. package/lib/icon/circle.js +191 -1
  117. package/lib/icon/close-line.js +191 -1
  118. package/lib/icon/close.js +191 -1
  119. package/lib/icon/code.js +191 -1
  120. package/lib/icon/cog-shape.js +191 -1
  121. package/lib/icon/collapse-left.js +191 -1
  122. package/lib/icon/copy-shape.js +191 -1
  123. package/lib/icon/copy.js +191 -1
  124. package/lib/icon/data-shape.js +191 -1
  125. package/lib/icon/del.js +191 -1
  126. package/lib/icon/doc-fill.js +191 -1
  127. package/lib/icon/done.js +191 -1
  128. package/lib/icon/down-shape.js +191 -1
  129. package/lib/icon/down-small.js +191 -1
  130. package/lib/icon/edit-line.js +191 -1
  131. package/lib/icon/ellipsis.js +191 -1
  132. package/lib/icon/enlarge-line.js +191 -1
  133. package/lib/icon/error.js +191 -1
  134. package/lib/icon/excel-fill.js +191 -1
  135. package/lib/icon/exclamation-circle-shape.js +191 -1
  136. package/lib/icon/eye.js +191 -1
  137. package/lib/icon/filliscreen-line.js +191 -1
  138. package/lib/icon/fix-line.js +191 -1
  139. package/lib/icon/fix-shape.js +191 -1
  140. package/lib/icon/folder-open.js +191 -1
  141. package/lib/icon/folder-shape-open.js +191 -1
  142. package/lib/icon/folder-shape.js +191 -1
  143. package/lib/icon/folder.js +191 -1
  144. package/lib/icon/funnel.js +191 -1
  145. package/lib/icon/help-document-fill.js +191 -1
  146. package/lib/icon/help-fill.js +191 -1
  147. package/lib/icon/help.js +191 -1
  148. package/lib/icon/image-fill.js +276 -1
  149. package/lib/icon/img-error.js +276 -1
  150. package/lib/icon/img-placehoulder.js +276 -1
  151. package/lib/icon/index.d.ts +1 -0
  152. package/lib/icon/index.js +2432 -1
  153. package/lib/icon/info-line.js +276 -1
  154. package/lib/icon/info.js +276 -1
  155. package/lib/icon/left-shape.js +276 -1
  156. package/lib/icon/left-turn-line.js +276 -1
  157. package/lib/icon/loading.d.ts +4 -0
  158. package/lib/icon/loading.js +276 -0
  159. package/lib/icon/narrow-line.js +276 -1
  160. package/lib/icon/original.js +276 -1
  161. package/lib/icon/pdf-fill.js +276 -1
  162. package/lib/icon/play-shape.js +276 -1
  163. package/lib/icon/plus.js +276 -1
  164. package/lib/icon/ppt-fill.js +276 -1
  165. package/lib/icon/qq.js +276 -1
  166. package/lib/icon/right-shape.js +276 -1
  167. package/lib/icon/right-turn-line.js +276 -1
  168. package/lib/icon/search.js +276 -1
  169. package/lib/icon/share.js +276 -1
  170. package/lib/icon/spinner.js +276 -1
  171. package/lib/icon/success.js +276 -1
  172. package/lib/icon/switcher-loading.js +276 -1
  173. package/lib/icon/text-file.js +276 -1
  174. package/lib/icon/text-fill.js +276 -1
  175. package/lib/icon/transfer.js +276 -1
  176. package/lib/icon/tree-application-shape.js +276 -1
  177. package/lib/icon/unfull-screen.js +276 -1
  178. package/lib/icon/unvisible.js +276 -1
  179. package/lib/icon/up-shape.js +276 -1
  180. package/lib/icon/upload.js +276 -1
  181. package/lib/icon/video-fill.js +276 -1
  182. package/lib/icon/warn.js +276 -1
  183. package/lib/icon/weixin-pro.js +276 -1
  184. package/lib/icon/weixin.js +276 -1
  185. package/lib/image/image-viewer.variable.css +6 -2
  186. package/lib/image/image.variable.css +6 -2
  187. package/lib/image/index.js +641 -1
  188. package/lib/index.js +97 -1
  189. package/lib/info-box/index.js +1161 -2
  190. package/lib/info-box/info-box.d.ts +4 -0
  191. package/lib/info-box/info-box.variable.css +6 -2
  192. package/lib/input/index.d.ts +4 -4
  193. package/lib/input/index.js +1233 -2
  194. package/lib/input/input.css +21 -5
  195. package/lib/input/input.d.ts +3 -3
  196. package/lib/input/input.less +19 -0
  197. package/lib/input/input.variable.css +27 -7
  198. package/lib/link/index.js +160 -1
  199. package/lib/link/link.variable.css +6 -2
  200. package/lib/loading/index.d.ts +3 -3
  201. package/lib/loading/index.js +381 -1
  202. package/lib/loading/loading.css +9 -9
  203. package/lib/loading/loading.d.ts +1 -1
  204. package/lib/loading/loading.less +14 -9
  205. package/lib/loading/loading.variable.css +15 -11
  206. package/lib/locale/index.js +477 -1
  207. package/lib/locale/lang/en.d.ts +6 -0
  208. package/lib/menu/index.js +724 -1
  209. package/lib/menu/menu.variable.css +6 -2
  210. package/lib/menu/submenu.variable.css +6 -2
  211. package/lib/message/index.js +1795 -2
  212. package/lib/message/message.variable.css +6 -2
  213. package/lib/modal/index.js +396 -1
  214. package/lib/modal/modal.variable.css +6 -2
  215. package/lib/navigation/index.js +367 -1
  216. package/lib/navigation/navigation.variable.css +6 -2
  217. package/lib/notify/index.js +397 -1
  218. package/lib/notify/notify.css +6 -6
  219. package/lib/notify/notify.less +6 -6
  220. package/lib/notify/notify.variable.css +12 -8
  221. package/lib/overflow-title/components/overflow-title.d.ts +0 -1
  222. package/lib/overflow-title/index.js +285 -1
  223. package/lib/pagination/index.d.ts +4 -4
  224. package/lib/pagination/index.js +880 -1
  225. package/lib/pagination/pagination.css +1 -0
  226. package/lib/pagination/pagination.d.ts +3 -3
  227. package/lib/pagination/pagination.less +1 -0
  228. package/lib/pagination/pagination.variable.css +7 -2
  229. package/lib/plugin-popover/index.js +3833 -1
  230. package/lib/plugins/index.js +63 -1
  231. package/lib/pop-confirm/index.d.ts +42 -3
  232. package/lib/pop-confirm/index.js +281 -1
  233. package/lib/pop-confirm/pop-confirm.css +4 -4
  234. package/lib/pop-confirm/pop-confirm.d.ts +14 -1
  235. package/lib/pop-confirm/pop-confirm.less +4 -4
  236. package/lib/pop-confirm/pop-confirm.variable.css +10 -6
  237. package/lib/popover/index.js +3841 -1
  238. package/lib/popover/popover.css +1 -1
  239. package/lib/popover/popover.less +1 -1
  240. package/lib/popover/popover.variable.css +7 -3
  241. package/lib/popover2/index.js +107 -1
  242. package/lib/preset.d.ts +12 -0
  243. package/lib/preset.js +93 -1
  244. package/lib/process/index.js +759 -2
  245. package/lib/process/process.variable.css +6 -2
  246. package/lib/progress/index.d.ts +4 -4
  247. package/lib/progress/index.js +431 -1
  248. package/lib/progress/progress.css +7 -3
  249. package/lib/progress/progress.d.ts +3 -3
  250. package/lib/progress/progress.less +8 -3
  251. package/lib/progress/progress.variable.css +13 -5
  252. package/lib/radio/common.d.ts +1 -0
  253. package/lib/radio/index.d.ts +8 -2
  254. package/lib/radio/index.js +635 -1
  255. package/lib/radio/radio-button.d.ts +4 -3
  256. package/lib/radio/radio-group.d.ts +3 -0
  257. package/lib/radio/radio.css +26 -12
  258. package/lib/radio/radio.d.ts +1 -0
  259. package/lib/radio/radio.less +42 -8
  260. package/lib/radio/radio.variable.css +26 -8
  261. package/lib/rate/index.d.ts +4 -4
  262. package/lib/rate/index.js +354 -1
  263. package/lib/rate/rate.d.ts +2 -2
  264. package/lib/rate/rate.variable.css +6 -2
  265. package/lib/rate/star.css +3 -0
  266. package/lib/rate/star.less +3 -0
  267. package/lib/rate/star.variable.css +9 -2
  268. package/lib/resize-layout/index.js +429 -1
  269. package/lib/resize-layout/resize-layout.css +2 -2
  270. package/lib/resize-layout/resize-layout.less +2 -2
  271. package/lib/resize-layout/resize-layout.variable.css +8 -4
  272. package/lib/search-select/index.js +2729 -2
  273. package/lib/search-select/search-select.css +2 -4
  274. package/lib/search-select/search-select.less +10 -12
  275. package/lib/search-select/search-select.variable.css +8 -6
  276. package/lib/select/common.d.ts +3 -1
  277. package/lib/select/index.d.ts +96 -30
  278. package/lib/select/index.js +2384 -2
  279. package/lib/select/option.d.ts +1 -0
  280. package/lib/select/select.css +3 -0
  281. package/lib/select/select.d.ts +40 -14
  282. package/lib/select/select.less +3 -0
  283. package/lib/select/select.variable.css +9 -2
  284. package/lib/select/selectTagInput.d.ts +2 -0
  285. package/lib/select/type.d.ts +3 -0
  286. package/lib/shared/index.js +2690 -1
  287. package/lib/shared/vue-types.d.ts +1 -1
  288. package/lib/sideslider/index.js +704 -2
  289. package/lib/sideslider/sideslider.variable.css +6 -2
  290. package/lib/slider/index.js +1297 -2
  291. package/lib/slider/slider.css +2 -0
  292. package/lib/slider/slider.less +2 -0
  293. package/lib/slider/slider.variable.css +8 -2
  294. package/lib/steps/index.d.ts +4 -4
  295. package/lib/steps/index.js +825 -2
  296. package/lib/steps/steps.css +18 -6
  297. package/lib/steps/steps.d.ts +3 -3
  298. package/lib/steps/steps.less +26 -5
  299. package/lib/steps/steps.variable.css +24 -8
  300. package/lib/styles/index.d.ts +1 -0
  301. package/lib/styles/mixins/animate.variable.css +6 -2
  302. package/lib/styles/mixins/popper.variable.css +6 -2
  303. package/lib/styles/mixins/scroll.variable.css +6 -2
  304. package/lib/styles/reset.variable.css +6 -2
  305. package/lib/styles/themes/themes.less +7 -3
  306. package/lib/swiper/index.js +336 -1
  307. package/lib/swiper/swiper.variable.css +6 -2
  308. package/lib/switcher/index.d.ts +4 -4
  309. package/lib/switcher/index.js +277 -1
  310. package/lib/switcher/switcher.d.ts +3 -3
  311. package/lib/switcher/switcher.variable.css +6 -2
  312. package/lib/tab/index.js +914 -1
  313. package/lib/tab/tab.variable.css +6 -2
  314. package/lib/table/components/table-column.d.ts +6 -5
  315. package/lib/table/index.d.ts +57 -7
  316. package/lib/table/index.js +6510 -1
  317. package/lib/table/plugins/body-empty.d.ts +1 -1
  318. package/lib/table/plugins/head-filter.css +1 -28
  319. package/lib/table/plugins/head-filter.less +2 -34
  320. package/lib/table/plugins/head-filter.variable.css +7 -30
  321. package/lib/table/plugins/head-sort.variable.css +6 -2
  322. package/lib/table/plugins/settings.d.ts +0 -7
  323. package/lib/table/plugins/settings.variable.css +6 -2
  324. package/lib/table/plugins/use-column-resize.d.ts +1 -1
  325. package/lib/table/plugins/use-head-cell.d.ts +7 -0
  326. package/lib/table/plugins/use-pagination.d.ts +2 -1
  327. package/lib/table/props.d.ts +2 -1
  328. package/lib/table/table.css +51 -59
  329. package/lib/table/table.d.ts +1 -1
  330. package/lib/table/table.less +28 -22
  331. package/lib/table/table.variable.css +57 -61
  332. package/lib/table/use-attributes.d.ts +5 -1
  333. package/lib/table/use-column.d.ts +87 -0
  334. package/lib/table/use-common.d.ts +0 -1
  335. package/lib/table/use-render.d.ts +1 -1
  336. package/lib/table/utils.d.ts +6 -4
  337. package/lib/table-column/index.d.ts +160 -10
  338. package/lib/table-column/index.js +775 -1
  339. package/lib/tag/index.d.ts +4 -21
  340. package/lib/tag/index.js +229 -1
  341. package/lib/tag/tag.css +14 -10
  342. package/lib/tag/tag.d.ts +2 -12
  343. package/lib/tag/tag.less +31 -27
  344. package/lib/tag/tag.variable.css +20 -12
  345. package/lib/tag-input/index.d.ts +3 -0
  346. package/lib/tag-input/index.js +1674 -1
  347. package/lib/tag-input/list-tag-render.d.ts +11 -0
  348. package/lib/tag-input/tag-input.d.ts +1 -0
  349. package/lib/tag-input/tag-input.variable.css +6 -2
  350. package/lib/time-picker/index.d.ts +9 -3
  351. package/lib/time-picker/index.js +71 -1
  352. package/lib/time-picker/time-picker.css +4 -3
  353. package/lib/time-picker/time-picker.less +5 -9
  354. package/lib/time-picker/time-picker.variable.css +10 -5
  355. package/lib/timeline/index.js +241 -1
  356. package/lib/timeline/timeline.variable.css +6 -2
  357. package/lib/transfer/index.js +673 -1
  358. package/lib/transfer/transfer.css +2 -2
  359. package/lib/transfer/transfer.less +2 -2
  360. package/lib/transfer/transfer.variable.css +8 -4
  361. package/lib/tree/index.d.ts +21 -33
  362. package/lib/tree/index.js +2584 -1
  363. package/lib/tree/props.d.ts +4 -8
  364. package/lib/tree/tree.css +13 -1
  365. package/lib/tree/tree.d.ts +15 -19
  366. package/lib/tree/tree.variable.css +19 -3
  367. package/lib/tree/use-empty.d.ts +1 -3
  368. package/lib/tree/util.d.ts +1 -0
  369. package/lib/upload/index.js +2874 -2
  370. package/lib/upload/upload.type.d.ts +1 -1
  371. package/lib/upload/upload.variable.css +6 -2
  372. package/lib/upload/use-file-handler.d.ts +2 -2
  373. package/lib/virtual-render/index.js +901 -1
  374. package/lib/virtual-render/use-fix-top.d.ts +18 -0
  375. package/lib/virtual-render/v-virtual-render.d.ts +6 -1
  376. package/lib/virtual-render/virtual-render.variable.css +6 -2
  377. package/package.json +17 -4
  378. package/lib/cascader/index.js.LICENSE.txt +0 -1
  379. package/lib/dialog/index.js.LICENSE.txt +0 -1
  380. package/lib/directives/index.js.LICENSE.txt +0 -14
  381. package/lib/info-box/index.js.LICENSE.txt +0 -1
  382. package/lib/input/index.js.LICENSE.txt +0 -1
  383. package/lib/message/index.js.LICENSE.txt +0 -6
  384. package/lib/process/index.js.LICENSE.txt +0 -1
  385. package/lib/search-select/index.js.LICENSE.txt +0 -1
  386. package/lib/select/index.js.LICENSE.txt +0 -1
  387. package/lib/sideslider/index.js.LICENSE.txt +0 -1
  388. package/lib/slider/index.js.LICENSE.txt +0 -1
  389. package/lib/steps/index.js.LICENSE.txt +0 -1
  390. package/lib/table/render.d.ts +0 -130
  391. package/lib/upload/index.js.LICENSE.txt +0 -1
  392. /package/lib/overflow-title/{overflow.css → overflow-title.css} +0 -0
  393. /package/lib/overflow-title/{overflow.less → overflow-title.less} +0 -0
  394. /package/lib/overflow-title/{overflow.variable.css → overflow-title.variable.css} +0 -0
package/lib/tree/index.js CHANGED
@@ -1 +1,2584 @@
1
- import*as e from"../shared";import*as n from"vue";import*as t from"../config-provider";import*as r from"../virtual-render";import*as o from"vue-types";import*as i from"../exception";import*as a from"../checkbox";import*as l from"../icon";var c={8022:(e,n,t)=>{var r=t(4481),o=t(6426),i=o;i.v1=r,i.v4=o,e.exports=i},8725:e=>{for(var n=[],t=0;t<256;++t)n[t]=(t+256).toString(16).substr(1);e.exports=function(e,t){var r=t||0,o=n;return[o[e[r++]],o[e[r++]],o[e[r++]],o[e[r++]],"-",o[e[r++]],o[e[r++]],"-",o[e[r++]],o[e[r++]],"-",o[e[r++]],o[e[r++]],"-",o[e[r++]],o[e[r++]],o[e[r++]],o[e[r++]],o[e[r++]],o[e[r++]]].join("")}},9157:e=>{var n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(n){var t=new Uint8Array(16);e.exports=function(){return n(t),t}}else{var r=new Array(16);e.exports=function(){for(var e,n=0;n<16;n++)0==(3&n)&&(e=4294967296*Math.random()),r[n]=e>>>((3&n)<<3)&255;return r}}},4481:(e,n,t)=>{var r,o,i=t(9157),a=t(8725),l=0,c=0;e.exports=function(e,n,t){var u=n&&t||0,d=n||[],s=(e=e||{}).node||r,f=void 0!==e.clockseq?e.clockseq:o;if(null==s||null==f){var p=i();null==s&&(s=r=[1|p[0],p[1],p[2],p[3],p[4],p[5]]),null==f&&(f=o=16383&(p[6]<<8|p[7]))}var v=void 0!==e.msecs?e.msecs:(new Date).getTime(),y=void 0!==e.nsecs?e.nsecs:c+1,h=v-l+(y-c)/1e4;if(h<0&&void 0===e.clockseq&&(f=f+1&16383),(h<0||v>l)&&void 0===e.nsecs&&(y=0),y>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");l=v,c=y,o=f;var N=(1e4*(268435455&(v+=122192928e5))+y)%4294967296;d[u++]=N>>>24&255,d[u++]=N>>>16&255,d[u++]=N>>>8&255,d[u++]=255&N;var _=v/4294967296*1e4&268435455;d[u++]=_>>>8&255,d[u++]=255&_,d[u++]=_>>>24&15|16,d[u++]=_>>>16&255,d[u++]=f>>>8|128,d[u++]=255&f;for(var E=0;E<6;++E)d[u+E]=s[E];return n||a(d)}},6426:(e,n,t)=>{var r=t(9157),o=t(8725);e.exports=function(e,n,t){var i=n&&t||0;"string"==typeof e&&(n="binary"===e?new Array(16):null,e=null);var a=(e=e||{}).random||(e.rng||r)();if(a[6]=15&a[6]|64,a[8]=63&a[8]|128,n)for(var l=0;l<16;++l)n[i+l]=a[l];return n||o(a)}}},u={};function d(e){var n=u[e];if(void 0!==n)return n.exports;var t=u[e]={exports:{}};return c[e](t,t.exports,d),t.exports}d.d=(e,n)=>{for(var t in n)d.o(n,t)&&!d.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},d.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n);var s={};(()=>{d.d(s,{Z:()=>$});const c=(u={PropTypes:()=>e.PropTypes,debounce:()=>e.debounce,resolveClassName:()=>e.resolveClassName,withInstall:()=>e.withInstall},f={},d.d(f,u),f);var u,f;const p=(e=>{var n={};return d.d(n,e),n})({computed:()=>n.computed,createVNode:()=>n.createVNode,defineComponent:()=>n.defineComponent,h:()=>n.h,nextTick:()=>n.nextTick,onMounted:()=>n.onMounted,onUnmounted:()=>n.onUnmounted,reactive:()=>n.reactive,ref:()=>n.ref,toRef:()=>n.toRef,watch:()=>n.watch}),v=(e=>{var n={};return d.d(n,e),n})({usePrefix:()=>t.usePrefix}),y=(e=>{var n={};return d.d(n,e),n})({default:()=>r.default});function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function N(e,n,t){return(n=function(e){var n=function(e,n){if("object"!==h(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!==h(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===h(n)?n:String(n)}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var _,E,S;!function(e){e.NODE_CLICK="nodeClick",e.NODE_COLLAPSE="nodeCollapse",e.NODE_EXPAND="nodeExpand",e.NODE_CHECKED="nodeChecked",e.NODE_DRAG_START="nodeDragStart",e.NODE_DRAG_OVER="nodeDragOver",e.NODE_DRAG_LEAVE="nodeDragLeave",e.NODE_DROP="nodeDrop"}(S||(S={}));var g,I=function(){return!0},T=(N(_={},S.NODE_CLICK,I),N(_,S.NODE_COLLAPSE,I),N(_,S.NODE_EXPAND,I),N(_,S.NODE_CHECKED,I),N(_,S.NODE_DRAG_START,I),N(_,S.NODE_DRAG_OVER,I),N(_,S.NODE_DRAG_LEAVE,I),N(_,S.NODE_DROP,I),_);!function(e){e.DEPTH="__depth",e.INDEX="__index",e.UUID="__uuid",e.PARENT="__parent",e.HAS_CHILD="__has_child",e.PATH="__path",e.IS_ROOT="__is_root",e.ORDER="__order",e.IS_OPEN="__is_open",e.IS_CHECKED="__is_checked",e.IS_SELECTED="__is_selected",e.IS_ASYNC_INIT="__is_async_init",e.IS_MATCH="__is_match",e.IS_NULL="__IS_NULL",e.IS_CACHED="__is_cached",e.IS_ASYNC="__is_async",e.IS_LOADING="__is_loading",e.TREE_NODE_ATTR="__attr__",e.IS_INDETERMINATE="__is_indeterminate"}(g||(g={}));var A,m=(N(E={},g.IS_OPEN,"isOpen"),N(E,g.IS_SELECTED,"selected"),N(E,g.IS_MATCH,"isMatch"),N(E,g.HAS_CHILD,"hasChild"),N(E,g.IS_CHECKED,"checked"),N(E,g.IS_ASYNC,"async"),N(E,g.IS_LOADING,"loading"),N(E,g.IS_ROOT,"isRoot"),E);!function(e){e.CLICK="click",e.SELECTED="selected",e.EXPAND="expand",e.COLLAPSE="collapse"}(A||(A={}));const C=(e=>{var n={};return d.d(n,e),n})({string:()=>o.string,toType:()=>o.toType});var P,D,O;!function(e){e.ONCE="once",e.EVERY="every"}(P||(P={})),function(e){e.FUZZY="fuzzy",e.FULL="full"}(D||(D={})),function(e){e.TREE="tree",e.LIST="list"}(O||(O={}));var b={data:c.PropTypes.arrayOf(c.PropTypes.any).def([]),label:c.PropTypes.oneOfType([c.PropTypes.func.def(void 0),c.PropTypes.string.def("label")]),nodeKey:c.PropTypes.string.def(void 0),children:c.PropTypes.string.def("children"),indent:c.PropTypes.number.def(18),lineHeight:c.PropTypes.number.def(32),height:c.PropTypes.number,levelLine:c.PropTypes.oneOfType([c.PropTypes.bool.def(!1),c.PropTypes.func.def(void 0),c.PropTypes.string.def("1px dashed #c3cdd7")]).def(!1),virtualRender:c.PropTypes.bool.def(!1),prefixIcon:c.PropTypes.oneOfType([c.PropTypes.func.def((function(){})),c.PropTypes.bool.def(!1)]).def(!0),async:c.PropTypes.shape({callback:c.PropTypes.func.def(void 0),cache:c.PropTypes.bool.def(!0),deepAutoOpen:(0,C.toType)("columnType",{}).def(P.ONCE)}),offsetLeft:c.PropTypes.number.def(5),search:c.PropTypes.oneOfType([c.PropTypes.shape({value:c.PropTypes.oneOfType([c.PropTypes.number,c.PropTypes.string,c.PropTypes.bool]).def(""),match:c.PropTypes.oneOfType([(0,C.string)(),c.PropTypes.func]).def(D.FUZZY),resultType:(0,C.string)().def(O.TREE),showChildNodes:c.PropTypes.bool.def(!0)}),c.PropTypes.string,c.PropTypes.number,c.PropTypes.bool]).def(void 0),emptyText:c.PropTypes.string.def("没有数据"),draggable:c.PropTypes.bool.def(!1),disableDrag:c.PropTypes.func,disableDrop:c.PropTypes.func,dragSort:c.PropTypes.bool.def(!1),selectable:c.PropTypes.oneOfType([c.PropTypes.bool,c.PropTypes.func]).def(!0),disabledFolderSelectable:c.PropTypes.bool.def(!1),showCheckbox:c.PropTypes.bool.def(!1),checked:c.PropTypes.arrayOf(c.PropTypes.any).def([]),showNodeTypeIcon:c.PropTypes.bool.def(!0),selected:c.PropTypes.oneOfType([c.PropTypes.string,c.PropTypes.number,c.PropTypes.object]).def([]),autoCheckChildren:c.PropTypes.bool.def(!0),autoOpenParentNode:c.PropTypes.bool.def(!0),expandAll:c.PropTypes.bool.def(!1),nodeContentAction:c.PropTypes.oneOfType([c.PropTypes.arrayOf((0,C.toType)("nodeContentActionType",{}).def(A.CLICK)),c.PropTypes.func.def((function(){return["selected"]}))]).def(["selected","expand","click"]),keepSlotData:c.PropTypes.bool.def(!1)};const L=(e=>{var n={};return d.d(n,e),n})({default:()=>i.default}),R=(e=>{var n={};return d.d(n,e),n})({default:()=>a.default}),x=(e=>{var n={};return d.d(n,e),n})({DownShape:()=>l.DownShape,Folder:()=>l.Folder,FolderShapeOpen:()=>l.FolderShapeOpen,RightShape:()=>l.RightShape,Spinner:()=>l.Spinner,TextFile:()=>l.TextFile}),k=function(e,n){var t=function(n){return e.schema.get(n)},r=function(e,n){var r;return null===(r=t(e))||void 0===r?void 0:r[n]},o=function(n,r,o,i){e.schema.has(n)?e.schema.set(n,Object.assign({},t(n),N({},r,o))):console.warn("node is not in schema, please check",i,n)},i=function(n){return e.data.find((function(e){return l(e)===n}))},a=function(e){return r(e,g.PATH)},l=function(e){return r(e,g.UUID)},c=function(e){return r(e,g.IS_OPEN)},u=function(e){return r(e,g.HAS_CHILD)},d=function(e){return r(e,g.IS_MATCH)},s=function(e){return r(e,g.IS_CHECKED)},f=function(e){return r(r(e,g.PARENT),g.UUID)},p=function(e){return r(e,g.PARENT)},v=function(n,t){var o=e.data.find((function(e){return l(e)===n}));return r(o,t)},y=function(e){return"string"==typeof e?v(e,g.IS_ROOT):r(e,g.IS_ROOT)},_=function(e){return"object"===h(e)?c(e):"string"==typeof e&&v(e,g.IS_OPEN)},E=function(e){var n;return N(n={},m[g.IS_LOADING],r(e,g.IS_LOADING)),N(n,m[g.HAS_CHILD],u(e)),N(n,m[g.IS_MATCH],d(e)),N(n,m[g.IS_CHECKED],s(e)),N(n,m[g.IS_OPEN],c(e)),N(n,m[g.IS_ROOT],y(e)),N(n,"fullPath",r(e,g.PATH)),N(n,"uuid",l(e)),N(n,"parent",r(e,g.PARENT)),N(n,"parentId",l(r(e,g.PARENT))),n};return{getSchemaVal:t,getNodeAttr:r,getNodeId:l,getNodeParentId:f,getParentNodeData:function(e){return y(e)?N({},n.children,n.data):p(e)},getNodePathById:function(n){var t=e.data.find((function(e){return l(e)===n}));return a(t)},getNodeAttrById:v,getNodeParentIdById:function(n){var t=e.data.find((function(e){return l(e)===n}));return f(t)},getParentNodeAttr:function(e,n){return r(r(e,g.PARENT),n)},getParentNode:p,setNodeAttr:o,setNodeAttrById:function(e,n,t){Array.isArray(e)?Array.prototype.forEach.call(e,(function(r){return o(i(r),n,t,e)})):o(i(e),n,t,e)},getNodePath:a,isRootNode:y,isNodeOpened:c,hasChildNode:u,isItemOpen:_,isNodeChecked:s,isNodeMatched:d,isNodeLoading:function(e){return r(e,g.IS_LOADING)},checkNodeIsOpen:function(e){return y(e)||_(e)||function(e){return _(r(e,g.PARENT))}(e)},getSourceNodeByPath:function(e,t){var r=e.split("-").reduce((function(e,t){var r=Number(t);return Array.isArray(e)?e[r]:e[n.children][r]}),n.data);return t&&Object.assign(r,N({},g.UUID,t)),r},getSourceNodeByUID:function(n){return e.data.find((function(e){return l(e)===n}))},isMatchedNode:function(e){return r(e,g.IS_MATCH)},resolveScopedSlotParam:E,setTreeNodeLoading:function(e,n){o(e,g.IS_LOADING,n)},extendNodeAttr:function(e){return Object.assign({},e,N({},g.TREE_NODE_ATTR,E(e)))},getChildNodes:function(e){var t;return null!==(t=e[n.children])&&void 0!==t?t:[]},extendNodeScopedData:function(e){return{data:e,attributes:E(e)}}}};function w(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var H="1px dashed #c3cdd7",U=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:[],a=e[n];return"boolean"==typeof a?a?r:o:V(t,e,n,i)},V=function(e,n,t){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=n[t];if("string"==typeof i)return"object"===h(e)&&null!==e?(Object.prototype.hasOwnProperty.call(e,i)||console.error("cannot find node label with key ".concat(i)),e[i]):i;if("function"==typeof i){var a=i.apply(void 0,[e].concat(function(e){if(Array.isArray(e))return w(e)}(r=o)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,n){if(e){if("string"==typeof e)return w(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?w(e,n):void 0}}(r)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()));return"string"==typeof a?a:void console.error("props label with function return value is not string, please check and return string")}},j=function(e,n){return V(e,n,"label")},M=function(e,n){return{"--level-line":U(n,"levelLine",e,H,null,["tree"]),"--lineHeight":"".concat(n.lineHeight,"px"),"--indent":"".concat(n.indent,"px"),"--offset-left":"".concat(n.offsetLeft,"px")}},K=function(e,n,t){var r,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=null===(r=t.schema.get(e))||void 0===r?void 0:r[g.DEPTH];return o?Object.assign({"--depth":i},"function"==typeof n.levelLine?{"--level-line":U(n,"levelLine",e,H,null,["node"])}:{}):{}},G=function(e,n,t){var r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=n.get(e)||{};return{"is-root":o.__is_root,"bk-tree-node":!0,"is-open":o.__is_open,"is-virtual-render":t.virtualRender,"level-line":t.levelLine&&r}},F=function(e,n){var t=n.get(e)||{};return N({"is-checked":t.__is_checked,"is-selected":t.__is_selected,"node-folder":e.is_folder,"node-leaf":e.is_leaf},(0,c.resolveClassName)("node-row"),!0)},Y=function(e){return null==e?{__IS_NULL:!0}:e},B=function e(n,t,r){return Array.isArray(t)?t.some((function(t){return e(n,t,r)})):"string"==typeof t||"number"==typeof t?t===r:n===t};const X=function(e,n){var t=k(n,e),r=t.setNodeAttr,o=t.getNodePath,i=t.getNodeAttr,a=t.resolveScopedSlotParam,l=t.setTreeNodeLoading,c=function(n,t){if("object"===h(n)&&null!==n){r(t,g.IS_OPEN,!0);var i=Array.isArray(n)?n:[n];return function(e,n,t,r,o){!function(e,n,t,r){var o=e.split("-").reduce((function(e,n){var r=Number(n);return Array.isArray(e)?e[r]:e[t][r]}),n);Object.assign(o,r||{})}(e,n,t,N({},r,o))}(o(t),e.data,e.children,e.children,i),Promise.resolve(n)}return Promise.resolve(n)},u=function(n){var t=e.async||{},o=t.callback,u=void 0===o?null:o,d=t.cache,s=void 0===d||d;if("function"==typeof u&&i(n,g.IS_ASYNC)){if(r(n,g.IS_ASYNC_INIT,!0),!i(n,g.IS_CACHED)){r(n,g.IS_CACHED,s);var f=a(n),p=u(n,(function(e){return c(e,n)}),f);if("object"===h(p)&&null!==p)return l(n,!0),p instanceof Promise?Promise.resolve(p.then((function(e){return c(e,n)})).catch((function(e){return console.error("load remote data error:",e)})).finally((function(){l(n,!1),r(n,g.IS_CACHED,!0)}))):(c(p,n),l(n,!1),Promise.resolve(!0))}return Promise.resolve(!0)}return Promise.resolve(!0)};return{asyncNodeClick:u,deepAutoOpen:function e(){var t=n.data.filter((function(e){return i(e,g.IS_ASYNC)&&e[m[g.IS_OPEN]]&&!i(e,g.IS_ASYNC_INIT)}));t.length&&Promise.all(t.map((function(e){return u(e)}))).then((function(){e()})).catch((function(e){console.warn(e)}))}}},z=function(e,n,t,r,o){var i=e.selected,a=k(t,e),l=a.setNodeAttr,c=a.setNodeAttrById,u=a.getNodePath,d=a.getSchemaVal,s=a.getNodeAttr,f=a.getNodeId,y=a.getChildNodes,_=a.isRootNode,E=a.hasChildNode,I=a.isItemOpen,T=a.isNodeOpened,A=a.isNodeLoading,m=a.isNodeChecked,C=a.getParentNode,P=a.resolveScopedSlotParam,D=a.extendNodeAttr,O=a.extendNodeScopedData,b=(0,v.usePrefix)().resolveClassName,L=o.registerNextLoop,w=X(e,t),H=w.asyncNodeClick,U=w.deepAutoOpen,V=function(e){if("string"==typeof e)return e;if("object"===h(e)&&null!==e){if(e.__v_isVNode)return e;var n=e.node,t=e.className,r=e.text,o=e.style;return(0,p.h)(n,{class:t,style:o},r)}return null},M=function(t){if(n.slots.nodeAction)return n.slots.nodeAction(ae(t));var r=null;return A(t)?function(e){var t,r,o;return(null!==(o=null===(r=(t=n.slots).nodeLoading)||void 0===r?void 0:r.call(t,ae(e)))&&void 0!==o?o:A(e))?(0,p.createVNode)(x.Spinner,null,null):""}(t):"function"==typeof e.prefixIcon&&"default"!==(r=e.prefixIcon(ae(t),"node_action"))?V(r):("default"===r||"boolean"==typeof e.prefixIcon&&e.prefixIcon)&&(E(t)||t.async||!e.autoCheckChildren)?I(t)?(0,p.createVNode)(x.DownShape,{class:b("node-prefix")},null):(0,p.createVNode)(x.RightShape,{class:b("node-prefix")},null):null},B=function(t){if(!e.showNodeTypeIcon)return null;if(n.slots.nodeType)return n.slots.nodeType(ae(t));var r=null;return"function"==typeof e.prefixIcon&&"default"!==(r=e.prefixIcon(ae(t),"node_type"))?V(r):"default"===r||"boolean"==typeof e.prefixIcon&&e.prefixIcon?_(t)||E(t)?function(e){return I(e)?(0,p.createVNode)(x.FolderShapeOpen,{class:[b("tree-icon"),b("node-prefix")]},null):(0,p.createVNode)(x.Folder,{class:[b("tree-icon"),b("node-prefix")]},null)}(t):(0,p.createVNode)(x.TextFile,{class:[b("tree-icon"),b("node-prefix")]},null):null},z=function e(n,t){var r=C(n);if(r){var o=t||(y(r)||[]).some((function(e){return m(e)}));l(r,g.IS_CHECKED,o),l(r,g.IS_INDETERMINATE,(y(r)||[]).some((function(e){return!m(e)}))),_(r)||e(r,t)}},Z=function e(n,t,r){y(n).forEach((function(n){Array.isArray(t)?t.forEach((function(e,t){l(n,e,r[t])})):l(n,t,r),e(n,t,r)}))},J=function(e,r){l(e,g.IS_CHECKED,!!r),Z(e,[g.IS_CHECKED,g.IS_INDETERMINATE],[!!r,!1]),z(e,r),n.emit(S.NODE_CHECKED,t.data.filter((function(e){return m(e)})),t.data.filter((function(e){return q(e)})))},q=function(e){return m(e)&&s(e,g.IS_INDETERMINATE)},$=function(n){return e.showCheckbox?(0,p.createVNode)(R.default,{size:"small",modelValue:m(n),indeterminate:q(n),onChange:function(e){return J(n,!!e)}},null):null},W=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=null===t?!I(e):!!t;if(i||Z(e,g.IS_OPEN,i),l(e,g.IS_OPEN,i),o){var a=I(e)?S.NODE_EXPAND:S.NODE_COLLAPSE;n.emit(a,e,P(e),d(e),r)}},Q=function(e,n,t){Array.isArray(e)?e.forEach((function(e){return l(Y(e),n,t)})):l(Y(e),n,t)},ee=function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=arguments.length>2&&void 0!==arguments[2]&&arguments[2];ne(e,g.IS_OPEN,n,t&&n)},ne=function e(n,t,r){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=Y(n);if(!i[g.IS_NULL]){var a=Array.isArray(t)?t:[t],l=Array.isArray(r)?r:[r];if(o){if(a.forEach((function(e,n){return Q(i,e,l[n])})),!_(i)){var c=C(i);a.forEach((function(n,t){s(c,n)!==r&&e(c,n,l[t],o)}))}}else a.forEach((function(e,n){return Q(i,e,l[n])}))}},te=function(e,n){I(e)?W(e,!1,n):H(e).finally((function(){s(e,g.IS_LOADING)?L("setNodeOpenedAfterLoading",{type:"once",fn:function(){return W(e,!0,n)}}):W(e,!0,n)}))},re=function n(r){var o,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],u=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],d=Array.isArray(r)?r:[r];if(d.length){var v=Y(d[0]);"string"!=typeof v&&"number"!=typeof v&&"symbol"!==h(v)||(v=null!==(o=t.data.find((function(e){return f(e)===v})))&&void 0!==o?o:N({},g.IS_NULL,!0)),v[g.IS_NULL]||(!e.selectable||"function"==typeof e.selectable&&!e.selectable(r)||e.disabledFolderSelectable&&!0===v.is_folder?console.warn("props.selectable is false or undefined, please set selectable with true"):(null!=i&&c(i,g.IS_SELECTED,!a),e.selected&&e.selected!==i&&c(e.selected,g.IS_SELECTED,!a),l(v,g.IS_SELECTED,a),i=f(v),u&&1===d.length&&ee(v,!0,!0),s(v,g.IS_ASYNC)&&H(v).then((function(){(0,p.nextTick)((function(){d.shift(),n(d,a,u)}))}))))}},oe=function(n){if(!e.levelLine)return null;var r=s(n,g.DEPTH)+1;return new Array(r).fill("").map((function(e,n){return n})).filter((function(e){return function(e,n){if(_(n))return!1;var r=u(n),o="".concat(r).split("-").slice(0,e+1);if(o.join("-")===r)return!0;var i=o.pop(),a=parseInt(i,10);o.push("".concat(a+1));var l=o.join("-");return t.data.some((function(e){return u(e)===l}))}(e,n)})).filter((function(e){return e>0})).map((function(e){return(0,p.createVNode)("span",{class:"node-virtual-line",style:(n=r-e,{"--depth":n})},null);var n}))},ie=function(t){var r,o,i,a;return n.slots.node?null===(o=(r=n.slots).node)||void 0===o?void 0:o.call(r,ae(t)):n.slots.default?null===(a=(i=n.slots).default)||void 0===a?void 0:a.call(i,O(t)):[j(t,e)]},ae=function(n){return e.keepSlotData?O(n):D(n)};return{renderTreeNode:function(r){var o,i,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return(0,p.createVNode)("div",{"data-tree-node":f(r),key:f(r),class:F(r,t.schema)},[(0,p.createVNode)("div",{class:G(r,t.schema,e,a),style:K(r,e,t,a),onClick:function(t){return function(t,r){var o,i=(o=t,"function"==typeof e.nodeContentAction?Reflect.apply(e.nodeContentAction,void 0,[{node:o}]):"string"==typeof e.nodeContentAction?[e.nodeContentAction]:Array.isArray(e.nodeContentAction)?e.nodeContentAction:["selected","expand","click"]);if(i.includes("selected")&&re(t,!0,!1),i.includes("expand")&&(T(t)||te(t,r)),i.includes("collapse")&&T(t)&&te(t,r),i.includes("click")){var a=S.NODE_CLICK;n.emit(a,t,P(t),d(t),r)}}(r,t)}},[(0,p.createVNode)("div",{class:[b("node-action")],onClick:function(e){return function(e,n){e.stopImmediatePropagation(),e.stopPropagation(),e.preventDefault(),te(n,e)}(e,r)}},[M(r)]),(0,p.createVNode)("div",{class:b("node-content")},[[$(r),B(r)],(0,p.createVNode)("span",{class:b("node-text")},[ie(r)]),null===(i=(o=n.slots).nodeAppend)||void 0===i?void 0:i.call(o,ae(r))]),a&&oe(r)])])},handleTreeNodeClick:te,deepAutoOpen:U,asyncNodeClick:H,setNodeAction:Q,setNodeOpened:W,setSelect:re,setOpen:ee,setNodeAttribute:ne}};var Z=d(8022),J=void 0;const q=(0,p.defineComponent)({name:"Tree",props:b,emits:T,setup:function(e,n){var t=function(e){var n,t=function(){var n,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=e.data,i=e.children,a=[],l=[],c=0,u=new WeakMap;function d(e,n,t,r){if(null!=e&&u.has(e)){var o=u.get(e);Object.prototype.hasOwnProperty.call(o,n)&&"function"==typeof r&&Reflect.apply(r,self,[o,n,t,e])&&(Object.assign(o,N({},n,t)),d(o[g.PARENT],n,t,r))}}function s(n){var t=null;return"string"==typeof e.nodeKey&&(t=n[e.nodeKey]||(0,Z.v4)()),t||n[g.UUID]||(0,Z.v4)()}var f=(N(n={},g.IS_OPEN,(function(){return!!e.expandAll})),N(n,g.IS_CHECKED,(function(){return!1})),N(n,g.IS_MATCH,(function(){return!1})),N(n,g.IS_SELECTED,(function(n,t){return B(n,e.selected,t)})),N(n,g.IS_CACHED,(function(){return!1})),N(n,g.IS_ASYNC,(function(){return null})),N(n,g.IS_LOADING,(function(){return!1})),n);function p(e,n,t){var o,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0,a=i;void 0===i&&"function"==typeof f[t]&&(a=f[t](n,e));var l=m[t];if(Object.prototype.hasOwnProperty.call(n,l))return n[l];var c=null!==(o=null==r?void 0:r.get(n))&&void 0!==o?o:void 0,u=void 0;return c&&(u=c[t]),null==u&&(u=a),u}function v(n,t){if(!e.selectable)return!1;var r=B(t,e.selected,n);return p(n,t,g.IS_SELECTED,r)}function y(e,n,t){var r,o=p(e,n,g.IS_OPEN),i=!u.has(t)||(null===(r=u.get(t))||void 0===r?void 0:r[g.IS_OPEN]);return o&&i}function _(n,t){if(!e.showCheckbox)return!1;var r=B(n,e.checked,t);return p(t,n,g.IS_CHECKED,r)}function E(e){var n;return!(null!==(n=null==e?void 0:e[g.IS_OPEN])&&void 0!==n&&n)}function S(n,t,r,o){return n[g.IS_INDETERMINATE]=(o[e.children]||[]).some((function(e){var n,t;return!(null!==(t=null===(n=u.get(e))||void 0===n?void 0:n[g.IS_CHECKED])&&void 0!==t&&t)})),!0}return function n(t){for(var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,f=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,S=t.length,I=0;I<S;I++){var T=t[I];if(Array.isArray(T))n(T,r,o,f);else if("object"===h(T)&&null!==T){var A,m=null!==f?"".concat(f,"-").concat(I):"".concat(I),C="".concat(s(T)),P=!!(T[i]||[]).length,D=p(C,T,g.IS_OPEN);e.autoOpenParentNode?D&&d(o,g.IS_OPEN,!0,E):D=y(C,T,o);var O=_(T,C);O&&a.push(T),u.set(T,(N(A={},g.DEPTH,r),N(A,g.INDEX,I),N(A,g.UUID,C),N(A,g.PARENT,o),N(A,g.HAS_CHILD,P),N(A,g.PATH,m),N(A,g.IS_ROOT,null===o),N(A,g.ORDER,c),N(A,g.IS_SELECTED,v(C,T)),N(A,g.IS_MATCH,p(C,T,g.IS_MATCH)),N(A,g.IS_OPEN,D),N(A,g.IS_CHECKED,O),N(A,g.IS_CACHED,p(C,T,g.IS_CACHED)),N(A,g.IS_ASYNC,p(C,T,g.IS_ASYNC)),N(A,g.IS_LOADING,p(C,T,g.IS_LOADING)),N(A,g.IS_INDETERMINATE,!1),A)),c+=1,l.push(T),Object.prototype.hasOwnProperty.call(T,i)&&n(T[i]||[],r+1,T,m)}}}(null!=t?t:o),e.showCheckbox&&(null==a||a.forEach((function(e){d(e,g.IS_CHECKED,!0,S)}))),[l,u]},r=t(),o=new Map,i=[],a=[],l=(0,p.reactive)({data:r[0],schema:r[1],levelLineSchema:{}}),c=X(e,l),u=c.asyncNodeClick,d=c.deepAutoOpen,s=function(e,n){(!(arguments.length>2&&void 0!==arguments[2])||arguments[2])&&o.has(e)&&o.delete(e),o.set(e,n)},f=function(e){var n,t=function(e){return"function"==typeof e?{type:"loop",fn:e}:"object"===h(e)&&"string"==typeof e.type&&"function"==typeof e.fn?e:(console.error("loop event error",e),null)}(e);return null!==t&&Reflect.apply(t.fn,J,[]),null!==(n=null==t?void 0:t.type)&&void 0!==n?n:"once"};return(0,p.watch)((function(){return[e.data]}),(function(n){var r,i,a=t(n,l.schema);l.data=a[0],l.schema=a[1],(null===(r=e.async)||void 0===r?void 0:r.callback)&&"every"===(null===(i=e.async)||void 0===i?void 0:i.deepAutoOpen)&&d(),Array.from(o.keys()).forEach((function(e){var n=o.get(e);if(Array.isArray(n)){var t=[];n.forEach((function(e,n){"once"===f(e)&&t.unshift(n)})),t.length&&t.forEach((function(e){return n.splice(e,1)})),0===n.length&&o.delete(e)}else"once"===f(n)&&o.delete(e)}))}),{deep:!0}),e.selectable&&(0,p.onMounted)((function(){(0,p.watch)((function(){return e.selected}),(function(e){a.length=0,i.forEach((function(n){Reflect.apply(n,J,[e]),a.push((function(){return Reflect.apply(n,J,[e])}))})),s("afterSelectWatch",a)}),{immediate:!0})})),(null===(n=e.async)||void 0===n?void 0:n.callback)&&d(),{flatData:l,asyncNodeClick:u,deepAutoOpen:d,afterDataUpdate:function(e){s("afterDataUpdate",e)},registerNextLoop:s,onSelected:function(e){i.push(e)}}}(e),r=t.flatData,o=t.onSelected,i=t.registerNextLoop,a=k(r,e),l=a.checkNodeIsOpen,u=a.isRootNode,d=a.isNodeOpened,s=a.isNodeChecked,f=a.isNodeMatched,_=a.hasChildNode,E=a.getNodePath,I=function(e){var n,t=(0,p.toRef)(e,"search"),r=null!==(n=e.search)&&void 0!==n?n:{},o=r.resultType,i=void 0===o?"tree":o,a=r.showChildNodes,l=void 0===a||a,c=function(e){return["string","number","boolean"].includes(h(e))},u=function(e,n){return e===n},d=function(e,n){return new RegExp("".concat(e),"i").test("".concat(n))},s=function(e,n){return Reflect.apply(e,void 0,n)},f=void 0===t.value||!1===t.value,v=(0,p.computed)((function(){if(!1===t.value)return!1;if(c(t.value))return"".concat(t.value).length>0;var e=t.value.value;return"".concat(void 0===e?"":e).length>0})),y=(0,p.computed)((function(){return"tree"===i}));return{searchFn:function(e,n){if(f)return!0;if(c(t.value))return 0!=="".concat(t.value).length&&s(d,[t.value,e,n]);var r=t.value,o=r.value,i=void 0===o?"":o,a=r.match,l=void 0===a?"fuzzy":a,p="function"==typeof l?l:"fuzzy"===l?d:u;return 0!=="".concat(i).length&&s(p,[i,e,n])},refSearch:t,isSearchActive:v,isSearchDisabled:f,resultType:i,isTreeUI:y,showChildNodes:l}}(e),T=I.searchFn,A=I.isSearchActive,C=I.refSearch,P=I.isSearchDisabled,D=I.isTreeUI,O=I.showChildNodes,b=(0,p.reactive)([]),R=(0,p.computed)((function(){return r.data.filter((function(e){return function(e){return A.value?O?l(e)&&(f(e)||b.some((function(n){var t;return 0===(null!==(t=E(e))&&void 0!==t?t:"").indexOf(n)}))):l(e)&&f(e):l(e)}(e)}))})),x=z(e,n,r,0,{registerNextLoop:i}),w=x.renderTreeNode,H=x.handleTreeNodeClick,U=x.setNodeOpened,V=x.setOpen,K=x.setNodeAction,G=x.setSelect,F=x.asyncNodeClick,q=x.setNodeAttribute,$=(0,c.debounce)(120,(function(){b.length=0,r.data.forEach((function(n){var t=T(j(n,e),n);t&&b.push(E(n)),q(n,[g.IS_MATCH],[t],D.value&&t)}))}));P||(0,p.watch)([C],(function(){$()}),{deep:!0,immediate:!0});var W=(0,p.ref)();o((function(n){G(n,!0,e.autoOpenParentNode)})),n.expose({handleTreeNodeClick:H,isNodeChecked:s,isRootNode:u,isNodeOpened:d,isNodeMatched:f,hasChildNode:_,setOpen:V,setChecked:function(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];K(Y(e),g.IS_CHECKED,n)},setNodeAction:K,setNodeOpened:U,setSelect:G,asyncNodeClick:F,getData:function(){return r}});var Q=function(e,n){var t=n.slots;return{renderEmpty:function(n){var r,o;return(0,p.createVNode)(L.default,{scene:"part",type:n},{default:function(){return[null!==(o=null===(r=t.default)||void 0===r?void 0:r.call(t))&&void 0!==o?o:e.emptyText]}})}}}(e,n),ee=Q.renderEmpty;!function(e,n,t,r){var o=k(r,e),i=o.getSourceNodeByUID,a=o.getParentNodeData,l=o.getNodeParentIdById,c=o.extendNodeAttr,u=o.getNodeAttrById,d=o.getNodePathById,s=o.isRootNode,f=(0,v.usePrefix)().resolveClassName,y=(0,p.computed)((function(){return"function"==typeof e.disableDrag})),h=(0,p.computed)((function(){return"function"==typeof e.disableDrop})),N="",_=function(e){return e.target.closest("[data-tree-node]")},E=function(e){var n,t=null===(n=null==e?void 0:e.dataset)||void 0===n?void 0:n.treeNode;return i(t)},I=function e(n){_(n).removeEventListener("mouseup",e)},T=function(n){var t=_(n),r=E(t);!1===r.draggable||y.value&&e.disableDrag(r)?t.classList.add("".concat(f("tree-drag-disabled"))):(t.setAttribute("draggable","true"),t.addEventListener("mouseup",I))},A=function(t){t.preventDefault();var r=_(t),o=c(E(r));if(n.emit(S.NODE_DRAG_OVER,t,r,o),h.value&&(null==e?void 0:e.disableDrop(o)))return t.dataTransfer.effectAllowed="move",t.dataTransfer.dropEffect="none",void r.classList.add("".concat(f("tree-drop-disabled")));r.classList.add("".concat(f("tree-drop-active")));var i=t.dataTransfer.getData("node-id");i=N;var a=r.getAttribute("data-tree-node"),l=P(i,a)?"move":"none";t.dataTransfer.effectAllowed=l,t.dataTransfer.dropEffect=l},m=function(e){e.dataTransfer.effectAllowed="move",e.dataTransfer.dropEffect="move";var t=_(e);e.dataTransfer.setData("text/plain","");var r=t.getAttribute("data-tree-node");N=r,e.dataTransfer.setData("node-id",r),n.emit(S.NODE_DRAG_START,e,t)},C=function(t){t.preventDefault(),t.stopPropagation();var r=_(t);r.classList.remove("".concat(f("tree-drop-active")),"".concat(f("tree-drop-disabled")));var o=c(E(r));if(!h.value||!e.disableDrop(o)){var i=N,a=r.getAttribute("data-tree-node");Reflect.apply(e.dragSort?D:O,void 0,[i,a]),n.emit(S.NODE_DROP,t,r,o)}},P=function(e,n){var t=d(e),r=d(n);return l(e)===l(n)||-1===t.indexOf(r)&&-1===r.indexOf(t)},D=function(n,t){if(P(n,t)){var r=JSON.parse(JSON.stringify(i(n))),o=JSON.parse(JSON.stringify(i(t))),l=a(n),c=a(t),d=u(n,g.INDEX),s=u(t,g.INDEX);null==l||l[e.children].splice(d,1,o),null==c||c[e.children].splice(s,1,r)}},O=function(n,t){var r=i(n),o=i(t),a=null;if(s(n))a=e.data;else{var c=l(n);if(null!=c){a=i(c);var d=u(n,g.INDEX);null==a||a[e.children].splice(d,1)}}o[e.children]||(o[e.children]=[]),o[e.children].unshift(r)},b=function(e){e.preventDefault();var t=_(e);t.classList.remove("".concat(f("tree-drop-active")),"".concat(f("tree-drop-disabled"))),n.emit(S.NODE_DRAG_LEAVE,e,t)};(0,p.onMounted)((function(){if(e.draggable&&t.value){var n=t.value.$el;n.addEventListener("mousedown",T),n.addEventListener("dragstart",m),n.addEventListener("dragover",A),n.addEventListener("dragleave",b),n.addEventListener("drop",C)}})),(0,p.onUnmounted)((function(){if(e.draggable&&t.value){var n=t.value.$el;n.removeEventListener("mousedown",T),n.removeEventListener("dragstart",m),n.removeEventListener("dragover",A),n.removeEventListener("dragleave",b),n.removeEventListener("drop",C)}}))}(e,n,W,r);var ne=(0,v.usePrefix)().resolveClassName;return function(){return(0,p.createVNode)(y.default,{class:ne("tree"),style:M(null,e),list:R.value,lineHeight:e.lineHeight,height:e.height,enabled:e.virtualRender,rowKey:g.UUID,keepAlive:!0,contentClassName:ne("container"),throttleDelay:0,ref:W},{default:function(e){return function(e){var t,r,o;if(e.length)return e.map((function(e){return w(e,!A.value||D.value)}));var i=A.value?"search-empty":"empty";return null!==(o=null===(r=(t=n.slots).empty)||void 0===r?void 0:r.call(t))&&void 0!==o?o:ee(i)}(e.data||[])}})}}}),$=(0,c.withInstall)(q)})();var f=s.Z;export{f as default};
1
+ import * as __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__ from "../shared";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_vue__ from "vue";
3
+ import * as __WEBPACK_EXTERNAL_MODULE__config_provider_9d0186d9__ from "../config-provider";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__virtual_render_2d1a77c9__ from "../virtual-render";
5
+ import * as __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a__ from "vue-types";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__exception_12c197e0__ from "../exception";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__checkbox_a57bcb84__ from "../checkbox";
8
+ import * as __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__ from "../icon";
9
+ /******/ // The require scope
10
+ /******/ var __webpack_require__ = {};
11
+ /******/
12
+ /************************************************************************/
13
+ /******/ /* webpack/runtime/define property getters */
14
+ /******/ (() => {
15
+ /******/ // define getter functions for harmony exports
16
+ /******/ __webpack_require__.d = (exports, definition) => {
17
+ /******/ for(var key in definition) {
18
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
19
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
20
+ /******/ }
21
+ /******/ }
22
+ /******/ };
23
+ /******/ })();
24
+ /******/
25
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
26
+ /******/ (() => {
27
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
28
+ /******/ })();
29
+ /******/
30
+ /************************************************************************/
31
+ var __webpack_exports__ = {};
32
+
33
+ // EXPORTS
34
+ __webpack_require__.d(__webpack_exports__, {
35
+ Z: () => (/* binding */ src)
36
+ });
37
+
38
+ ;// CONCATENATED MODULE: external "../shared"
39
+ var x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
40
+ var y = x => () => x
41
+ const external_shared_namespaceObject = x({ ["PropTypes"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.PropTypes, ["debounce"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.debounce, ["resolveClassName"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.resolveClassName, ["withInstall"]: () => __WEBPACK_EXTERNAL_MODULE__shared_65459f0a__.withInstall });
42
+ ;// CONCATENATED MODULE: external "vue"
43
+ var external_vue_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
44
+ var external_vue_y = x => () => x
45
+ const external_vue_namespaceObject = external_vue_x({ ["computed"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.computed, ["createVNode"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.createVNode, ["defineComponent"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.defineComponent, ["h"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.h, ["nextTick"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.nextTick, ["onMounted"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.onMounted, ["onUnmounted"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.onUnmounted, ["reactive"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.reactive, ["ref"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.ref, ["toRef"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.toRef, ["watch"]: () => __WEBPACK_EXTERNAL_MODULE_vue__.watch });
46
+ ;// CONCATENATED MODULE: external "../config-provider"
47
+ var external_config_provider_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
48
+ var external_config_provider_y = x => () => x
49
+ const external_config_provider_namespaceObject = external_config_provider_x({ ["usePrefix"]: () => __WEBPACK_EXTERNAL_MODULE__config_provider_9d0186d9__.usePrefix });
50
+ ;// CONCATENATED MODULE: external "../virtual-render"
51
+ var external_virtual_render_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
52
+ var external_virtual_render_y = x => () => x
53
+ const external_virtual_render_namespaceObject = external_virtual_render_x({ ["default"]: () => __WEBPACK_EXTERNAL_MODULE__virtual_render_2d1a77c9__["default"] });
54
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/typeof.js
55
+ function _typeof(obj) {
56
+ "@babel/helpers - typeof";
57
+
58
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
59
+ return typeof obj;
60
+ } : function (obj) {
61
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
62
+ }, _typeof(obj);
63
+ }
64
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/toPrimitive.js
65
+
66
+ function _toPrimitive(input, hint) {
67
+ if (_typeof(input) !== "object" || input === null) return input;
68
+ var prim = input[Symbol.toPrimitive];
69
+ if (prim !== undefined) {
70
+ var res = prim.call(input, hint || "default");
71
+ if (_typeof(res) !== "object") return res;
72
+ throw new TypeError("@@toPrimitive must return a primitive value.");
73
+ }
74
+ return (hint === "string" ? String : Number)(input);
75
+ }
76
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js
77
+
78
+
79
+ function _toPropertyKey(arg) {
80
+ var key = _toPrimitive(arg, "string");
81
+ return _typeof(key) === "symbol" ? key : String(key);
82
+ }
83
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/defineProperty.js
84
+
85
+ function _defineProperty(obj, key, value) {
86
+ key = _toPropertyKey(key);
87
+ if (key in obj) {
88
+ Object.defineProperty(obj, key, {
89
+ value: value,
90
+ enumerable: true,
91
+ configurable: true,
92
+ writable: true
93
+ });
94
+ } else {
95
+ obj[key] = value;
96
+ }
97
+ return obj;
98
+ }
99
+ ;// CONCATENATED MODULE: ../../packages/tree/src/constant.ts
100
+
101
+ var _TreeEmitEventsType, _NODE_SOURCE_ATTRS;
102
+ /*
103
+ * Tencent is pleased to support the open source community by making
104
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
105
+ *
106
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
107
+ *
108
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
109
+ *
110
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
111
+ *
112
+ * ---------------------------------------------------
113
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
114
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
115
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
116
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
117
+ *
118
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
119
+ * the Software.
120
+ *
121
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
122
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
123
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
124
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
125
+ * IN THE SOFTWARE.
126
+ */
127
+ var EVENTS;
128
+ (function (EVENTS) {
129
+ EVENTS["NODE_CLICK"] = "nodeClick";
130
+ EVENTS["NODE_COLLAPSE"] = "nodeCollapse";
131
+ EVENTS["NODE_EXPAND"] = "nodeExpand";
132
+ EVENTS["NODE_CHECKED"] = "nodeChecked";
133
+ EVENTS["NODE_DRAG_START"] = "nodeDragStart";
134
+ EVENTS["NODE_DRAG_OVER"] = "nodeDragOver";
135
+ EVENTS["NODE_DRAG_LEAVE"] = "nodeDragLeave";
136
+ EVENTS["NODE_DROP"] = "nodeDrop";
137
+ })(EVENTS || (EVENTS = {}));
138
+ var EMPTY = function EMPTY() {
139
+ return true;
140
+ };
141
+ var TreeEmitEventsType = (_TreeEmitEventsType = {}, _defineProperty(_TreeEmitEventsType, EVENTS.NODE_CLICK, EMPTY), _defineProperty(_TreeEmitEventsType, EVENTS.NODE_COLLAPSE, EMPTY), _defineProperty(_TreeEmitEventsType, EVENTS.NODE_EXPAND, EMPTY), _defineProperty(_TreeEmitEventsType, EVENTS.NODE_CHECKED, EMPTY), _defineProperty(_TreeEmitEventsType, EVENTS.NODE_DRAG_START, EMPTY), _defineProperty(_TreeEmitEventsType, EVENTS.NODE_DRAG_OVER, EMPTY), _defineProperty(_TreeEmitEventsType, EVENTS.NODE_DRAG_LEAVE, EMPTY), _defineProperty(_TreeEmitEventsType, EVENTS.NODE_DROP, EMPTY), _TreeEmitEventsType);
142
+ /**
143
+ * 节点扩展属性
144
+ */
145
+ // eslint-disable-next-line @typescript-eslint/naming-convention
146
+ var NODE_ATTRIBUTES;
147
+ (function (NODE_ATTRIBUTES) {
148
+ NODE_ATTRIBUTES["DEPTH"] = "__depth";
149
+ NODE_ATTRIBUTES["INDEX"] = "__index";
150
+ NODE_ATTRIBUTES["UUID"] = "__uuid";
151
+ NODE_ATTRIBUTES["PARENT"] = "__parent";
152
+ NODE_ATTRIBUTES["HAS_CHILD"] = "__has_child";
153
+ NODE_ATTRIBUTES["PATH"] = "__path";
154
+ NODE_ATTRIBUTES["IS_ROOT"] = "__is_root";
155
+ NODE_ATTRIBUTES["ORDER"] = "__order";
156
+ NODE_ATTRIBUTES["IS_OPEN"] = "__is_open";
157
+ NODE_ATTRIBUTES["IS_CHECKED"] = "__is_checked";
158
+ NODE_ATTRIBUTES["IS_SELECTED"] = "__is_selected";
159
+ NODE_ATTRIBUTES["IS_ASYNC_INIT"] = "__is_async_init";
160
+ NODE_ATTRIBUTES["IS_MATCH"] = "__is_match";
161
+ NODE_ATTRIBUTES["IS_NULL"] = "__IS_NULL";
162
+ NODE_ATTRIBUTES["IS_CACHED"] = "__is_cached";
163
+ NODE_ATTRIBUTES["IS_ASYNC"] = "__is_async";
164
+ NODE_ATTRIBUTES["IS_LOADING"] = "__is_loading";
165
+ NODE_ATTRIBUTES["TREE_NODE_ATTR"] = "__attr__";
166
+ NODE_ATTRIBUTES["IS_INDETERMINATE"] = "__is_indeterminate";
167
+ })(NODE_ATTRIBUTES || (NODE_ATTRIBUTES = {}));
168
+ var NODE_SOURCE_ATTRS = (_NODE_SOURCE_ATTRS = {}, _defineProperty(_NODE_SOURCE_ATTRS, NODE_ATTRIBUTES.IS_OPEN, 'isOpen'), _defineProperty(_NODE_SOURCE_ATTRS, NODE_ATTRIBUTES.IS_SELECTED, 'selected'), _defineProperty(_NODE_SOURCE_ATTRS, NODE_ATTRIBUTES.IS_MATCH, 'isMatch'), _defineProperty(_NODE_SOURCE_ATTRS, NODE_ATTRIBUTES.HAS_CHILD, 'hasChild'), _defineProperty(_NODE_SOURCE_ATTRS, NODE_ATTRIBUTES.IS_CHECKED, 'checked'), _defineProperty(_NODE_SOURCE_ATTRS, NODE_ATTRIBUTES.IS_ASYNC, 'async'), _defineProperty(_NODE_SOURCE_ATTRS, NODE_ATTRIBUTES.IS_LOADING, 'loading'), _defineProperty(_NODE_SOURCE_ATTRS, NODE_ATTRIBUTES.IS_ROOT, 'isRoot'), _NODE_SOURCE_ATTRS);
169
+ /**
170
+ * 节点点击可执行行为配置
171
+ */
172
+ var NodeContentActionEnum;
173
+ (function (NodeContentActionEnum) {
174
+ NodeContentActionEnum["CLICK"] = "click";
175
+ NodeContentActionEnum["SELECTED"] = "selected";
176
+ NodeContentActionEnum["EXPAND"] = "expand";
177
+ NodeContentActionEnum["COLLAPSE"] = "collapse";
178
+ })(NodeContentActionEnum || (NodeContentActionEnum = {}));
179
+ ;// CONCATENATED MODULE: external "vue-types"
180
+ var external_vue_types_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
181
+ var external_vue_types_y = x => () => x
182
+ const external_vue_types_namespaceObject = external_vue_types_x({ ["string"]: () => __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a__.string, ["toType"]: () => __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a__.toType });
183
+ ;// CONCATENATED MODULE: ../../packages/tree/src/props.ts
184
+
185
+
186
+
187
+ var ColumnTypeEnum;
188
+ (function (ColumnTypeEnum) {
189
+ ColumnTypeEnum["ONCE"] = "once";
190
+ ColumnTypeEnum["EVERY"] = "every";
191
+ })(ColumnTypeEnum || (ColumnTypeEnum = {}));
192
+ var TreeSearchMatchEnum;
193
+ (function (TreeSearchMatchEnum) {
194
+ TreeSearchMatchEnum["FUZZY"] = "fuzzy";
195
+ TreeSearchMatchEnum["FULL"] = "full";
196
+ })(TreeSearchMatchEnum || (TreeSearchMatchEnum = {}));
197
+ var TreeSearchResultEnum;
198
+ (function (TreeSearchResultEnum) {
199
+ TreeSearchResultEnum["TREE"] = "tree";
200
+ TreeSearchResultEnum["LIST"] = "list";
201
+ })(TreeSearchResultEnum || (TreeSearchResultEnum = {}));
202
+ var treeProps = {
203
+ /**
204
+ * 渲染列表
205
+ */
206
+ data: external_shared_namespaceObject.PropTypes.arrayOf(external_shared_namespaceObject.PropTypes.any).def([]),
207
+ /**
208
+ * 指定节点标签为节点对象的某个属性值
209
+ */
210
+ label: external_shared_namespaceObject.PropTypes.oneOfType([external_shared_namespaceObject.PropTypes.func.def(undefined), external_shared_namespaceObject.PropTypes.string.def('label')]),
211
+ /**
212
+ * 每个树节点用来作为唯一标识的属性,此标识应该是唯一的
213
+ * 如果设置系统会默认自动生成唯一id
214
+ */
215
+ nodeKey: external_shared_namespaceObject.PropTypes.string.def(undefined),
216
+ /**
217
+ * 子节点 Key, 用于读取子节点
218
+ * 默认 children
219
+ */
220
+ children: external_shared_namespaceObject.PropTypes.string.def('children'),
221
+ /**
222
+ * 相邻级节点间的水平缩进,单位为像素
223
+ */
224
+ indent: external_shared_namespaceObject.PropTypes.number.def(16),
225
+ /**
226
+ * 设置行高
227
+ */
228
+ lineHeight: external_shared_namespaceObject.PropTypes.number.def(32),
229
+ /**
230
+ * 设置树形组件高度
231
+ * 在设置 virtualRender=true时,请指定高度,避免组件自动计算高度导致多次渲染
232
+ */
233
+ height: external_shared_namespaceObject.PropTypes.number,
234
+ /**
235
+ * 设置层级连线
236
+ */
237
+ levelLine: external_shared_namespaceObject.PropTypes.oneOfType([external_shared_namespaceObject.PropTypes.bool.def(false), external_shared_namespaceObject.PropTypes.func.def(undefined), external_shared_namespaceObject.PropTypes.string.def('1px dashed #c3cdd7')]).def(false),
238
+ /**
239
+ * 是否开启虚拟滚动
240
+ * 默认虚拟滚动是开启的,数据量大的情况下有利于性能优化,可以通过设置 virtualRender = false 关闭虚拟滚动
241
+ */
242
+ virtualRender: external_shared_namespaceObject.PropTypes.bool.def(false),
243
+ /**
244
+ * 当前节点标识图标
245
+ * 默认 true
246
+ */
247
+ prefixIcon: external_shared_namespaceObject.PropTypes.oneOfType([external_shared_namespaceObject.PropTypes.func.def(function () {}), external_shared_namespaceObject.PropTypes.bool.def(false)]).def(true),
248
+ /**
249
+ * 异步加载节点数据配置
250
+ * @param callback 请求数据回调函数,函数返回 Promise
251
+ * @param cache 是否缓存请求结果,默认为True,只有在第一次才会发起请求,若设置为false则每次都会发起请求
252
+ */
253
+ async: external_shared_namespaceObject.PropTypes.shape({
254
+ /**
255
+ * 点击节点需要执行的异步函数
256
+ * 返回 Promise
257
+ */
258
+ callback: external_shared_namespaceObject.PropTypes.func.def(undefined),
259
+ /**
260
+ * 是否缓存异步请求结果
261
+ * true 只在第一次点击请求异步函数
262
+ * false 每次点击都执行异步函数
263
+ */
264
+ cache: external_shared_namespaceObject.PropTypes.bool.def(true),
265
+ /**
266
+ * 异步请求节点是否自动展开
267
+ * 可选值:once 只在初始化是执行一次
268
+ * every 每次数据更新都执行
269
+ */
270
+ deepAutoOpen: (0,external_vue_types_namespaceObject.toType)('columnType', {}).def(ColumnTypeEnum.ONCE)
271
+ }),
272
+ /**
273
+ * 每个节点偏移左侧距离
274
+ */
275
+ offsetLeft: external_shared_namespaceObject.PropTypes.number.def(5),
276
+ /**
277
+ * 搜索配置
278
+ * 可以为一个配置项 SearchOption
279
+ * 或者直接为一个字符串,如果直接为字符串则模糊匹配此值
280
+ */
281
+ search: external_shared_namespaceObject.PropTypes.oneOfType([external_shared_namespaceObject.PropTypes.shape({
282
+ /**
283
+ * 需要匹配的值
284
+ * */
285
+ value: external_shared_namespaceObject.PropTypes.oneOfType([external_shared_namespaceObject.PropTypes.number, external_shared_namespaceObject.PropTypes.string, external_shared_namespaceObject.PropTypes.bool]).def(''),
286
+ /**
287
+ * 匹配方式
288
+ * 支持模糊匹配(fuzzy) || 完全匹配(full)
289
+ * 默认 模糊匹配(fuzzy)
290
+ * 支持自定义匹配函数 (searchValue, itemText, item) => true || false
291
+ */
292
+ match: external_shared_namespaceObject.PropTypes.oneOfType([(0,external_vue_types_namespaceObject.string)(), external_shared_namespaceObject.PropTypes.func]).def(TreeSearchMatchEnum.FUZZY),
293
+ /**
294
+ * 搜索结果如何展示
295
+ * 显示为 tree || list
296
+ * 默认 tree
297
+ */
298
+ resultType: (0,external_vue_types_namespaceObject.string)().def(TreeSearchResultEnum.TREE),
299
+ /**
300
+ * 是否显示匹配项的子节点
301
+ */
302
+ showChildNodes: external_shared_namespaceObject.PropTypes.bool.def(false)
303
+ }), external_shared_namespaceObject.PropTypes.string, external_shared_namespaceObject.PropTypes.number, external_shared_namespaceObject.PropTypes.bool]).def(undefined),
304
+ emptyText: external_shared_namespaceObject.PropTypes.string.def('没有数据'),
305
+ draggable: external_shared_namespaceObject.PropTypes.bool.def(false),
306
+ disableDrag: external_shared_namespaceObject.PropTypes.func,
307
+ disableDrop: external_shared_namespaceObject.PropTypes.func,
308
+ /**
309
+ * 节点拖拽时可交换位置(开启拖拽可交换位置后将不支持改变层级)
310
+ */
311
+ dragSort: external_shared_namespaceObject.PropTypes.bool.def(false),
312
+ /**
313
+ * 节点是否可以选中
314
+ */
315
+ selectable: external_shared_namespaceObject.PropTypes.oneOfType([external_shared_namespaceObject.PropTypes.bool, external_shared_namespaceObject.PropTypes.func]).def(true),
316
+ disabledFolderSelectable: external_shared_namespaceObject.PropTypes.bool.def(false),
317
+ /**
318
+ * 是否支持多选
319
+ */
320
+ showCheckbox: external_shared_namespaceObject.PropTypes.oneOfType([external_shared_namespaceObject.PropTypes.bool, external_shared_namespaceObject.PropTypes.func]).def(false),
321
+ checked: external_shared_namespaceObject.PropTypes.arrayOf(external_shared_namespaceObject.PropTypes.any).def([]),
322
+ /**
323
+ * 是否显示节点类型Icon
324
+ */
325
+ showNodeTypeIcon: external_shared_namespaceObject.PropTypes.bool.def(true),
326
+ /**
327
+ * 默认选中的节点id,selectable为false时无效
328
+ */
329
+ selected: external_shared_namespaceObject.PropTypes.oneOfType([external_shared_namespaceObject.PropTypes.string, external_shared_namespaceObject.PropTypes.number, external_shared_namespaceObject.PropTypes.object]).def([]),
330
+ /**
331
+ * 是否自动检查当前节点是否有子节点
332
+ * 节点前面的展开收起Icon会根据判定值做改变
333
+ * 如果需要自已控制,请设置为false
334
+ */
335
+ autoCheckChildren: external_shared_namespaceObject.PropTypes.oneOfType([external_shared_namespaceObject.PropTypes.bool, external_shared_namespaceObject.PropTypes.func]).def(true),
336
+ /**
337
+ * 如果设置了某一个叶子节点状态为展开,是否自动展开所有父级节点
338
+ * 默认为true,如果设置为false,则每层状态需要自己控制
339
+ */
340
+ autoOpenParentNode: external_shared_namespaceObject.PropTypes.bool.def(true),
341
+ /**
342
+ * 默认是否展开所有节点
343
+ */
344
+ expandAll: external_shared_namespaceObject.PropTypes.bool.def(false),
345
+ /**
346
+ * 节点内容点击行为
347
+ * 此处配置每个节点除了展开\收起箭头之外的内容块时的行为
348
+ * 默认为 ['selected', 'expand', 'click'],点击内容块为选中当前节点
349
+ */
350
+ nodeContentAction: external_shared_namespaceObject.PropTypes.oneOfType([external_shared_namespaceObject.PropTypes.arrayOf((0,external_vue_types_namespaceObject.toType)('nodeContentActionType', {}).def(NodeContentActionEnum.CLICK)), external_shared_namespaceObject.PropTypes.func.def(function () {
351
+ return ['selected'];
352
+ })]).def(['selected', 'expand', 'click']),
353
+ /**
354
+ * 是否作用域插槽抛出参数是否保持源数据的引用
355
+ * 如果设置为true,则作用域插槽参数格式为: { data: node, attributes: {} }
356
+ * 如果设置为false,则作用域插槽参数格式为: { ...node, ...attributes }
357
+ * attributes 为节点内置属性,包含节点是否展开,是否选中,是否有子节点等等
358
+ */
359
+ keepSlotData: external_shared_namespaceObject.PropTypes.bool.def(false)
360
+ };
361
+ ;// CONCATENATED MODULE: external "../exception"
362
+ var external_exception_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
363
+ var external_exception_y = x => () => x
364
+ const external_exception_namespaceObject = external_exception_x({ ["default"]: () => __WEBPACK_EXTERNAL_MODULE__exception_12c197e0__["default"] });
365
+ ;// CONCATENATED MODULE: ../../packages/tree/src/use-empty.tsx
366
+
367
+ /*
368
+ * Tencent is pleased to support the open source community by making
369
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
370
+ *
371
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
372
+ *
373
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
374
+ *
375
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
376
+ *
377
+ * ---------------------------------------------------
378
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
379
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
380
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
381
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
382
+ *
383
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
384
+ * the Software.
385
+ *
386
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
387
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
388
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
389
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
390
+ * IN THE SOFTWARE.
391
+ */
392
+
393
+ /* harmony default export */ const use_empty = (function (props) {
394
+ return {
395
+ renderEmpty: function renderEmpty(type) {
396
+ return (0,external_vue_namespaceObject.createVNode)(external_exception_namespaceObject["default"], {
397
+ "scene": "part",
398
+ "type": type
399
+ }, {
400
+ "default": function _default() {
401
+ return [props.emptyText];
402
+ }
403
+ });
404
+ }
405
+ };
406
+ });
407
+ ;// CONCATENATED MODULE: external "../checkbox"
408
+ var external_checkbox_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
409
+ var external_checkbox_y = x => () => x
410
+ const external_checkbox_namespaceObject = external_checkbox_x({ ["default"]: () => __WEBPACK_EXTERNAL_MODULE__checkbox_a57bcb84__["default"] });
411
+ ;// CONCATENATED MODULE: external "../icon"
412
+ var external_icon_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
413
+ var external_icon_y = x => () => x
414
+ const external_icon_namespaceObject = external_icon_x({ ["DownShape"]: () => __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__.DownShape, ["Folder"]: () => __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__.Folder, ["FolderShapeOpen"]: () => __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__.FolderShapeOpen, ["RightShape"]: () => __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__.RightShape, ["Spinner"]: () => __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__.Spinner, ["TextFile"]: () => __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__.TextFile });
415
+ ;// CONCATENATED MODULE: ../../packages/tree/src/use-node-attribute.tsx
416
+
417
+
418
+ /*
419
+ * Tencent is pleased to support the open source community by making
420
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
421
+ *
422
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
423
+ *
424
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
425
+ *
426
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
427
+ *
428
+ * ---------------------------------------------------
429
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
430
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
431
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
432
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
433
+ *
434
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
435
+ * the Software.
436
+ *
437
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
438
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
439
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
440
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
441
+ * IN THE SOFTWARE.
442
+ */
443
+
444
+ /* harmony default export */ const use_node_attribute = (function (flatData, props) {
445
+ /**
446
+ * 获取Schema中指定的对象值
447
+ * @param key
448
+ * @returns
449
+ */
450
+ var getSchemaVal = function getSchemaVal(node) {
451
+ return flatData.schema.get(node);
452
+ };
453
+ /**
454
+ * 获取节点属性
455
+ * @param node 当前节点
456
+ * @param attr 节点属性
457
+ * @returns
458
+ */
459
+ var getNodeAttr = function getNodeAttr(node, attr) {
460
+ var _getSchemaVal;
461
+ return (_getSchemaVal = getSchemaVal(node)) === null || _getSchemaVal === void 0 ? void 0 : _getSchemaVal[attr];
462
+ };
463
+ /**
464
+ * 设置节点属性
465
+ * @param node 指定节点
466
+ * @param attr 节点属性
467
+ * @param val 属性值
468
+ * @returns
469
+ */
470
+ var setNodeAttr = function setNodeAttr(node, attr, val, id) {
471
+ if (!flatData.schema.has(node)) {
472
+ console.warn('node is not in schema, please check', id, node);
473
+ return;
474
+ }
475
+ flatData.schema.set(node, Object.assign({}, getSchemaVal(node), _defineProperty({}, attr, val)));
476
+ };
477
+ var getNodeById = function getNodeById(id) {
478
+ return flatData.data.find(function (item) {
479
+ return getNodeId(item) === id;
480
+ });
481
+ };
482
+ var setNodeAttrById = function setNodeAttrById(id, attr, val) {
483
+ if (Array.isArray(id)) {
484
+ Array.prototype.forEach.call(id, function (item) {
485
+ return setNodeAttr(getNodeById(item), attr, val, id);
486
+ });
487
+ return;
488
+ }
489
+ setNodeAttr(getNodeById(id), attr, val, id);
490
+ };
491
+ var getNodePath = function getNodePath(node) {
492
+ return getNodeAttr(node, NODE_ATTRIBUTES.PATH);
493
+ };
494
+ var getNodeId = function getNodeId(node) {
495
+ return getNodeAttr(node, NODE_ATTRIBUTES.UUID);
496
+ };
497
+ var isNodeOpened = function isNodeOpened(node) {
498
+ return getNodeAttr(node, NODE_ATTRIBUTES.IS_OPEN);
499
+ };
500
+ var hasChildNode = function hasChildNode(node) {
501
+ return getNodeAttr(node, NODE_ATTRIBUTES.HAS_CHILD);
502
+ };
503
+ var isNodeMatched = function isNodeMatched(node) {
504
+ return getNodeAttr(node, NODE_ATTRIBUTES.IS_MATCH);
505
+ };
506
+ var isNodeChecked = function isNodeChecked(node) {
507
+ return getNodeAttr(node, NODE_ATTRIBUTES.IS_CHECKED);
508
+ };
509
+ var getNodeParentId = function getNodeParentId(node) {
510
+ return getNodeAttr(getNodeAttr(node, NODE_ATTRIBUTES.PARENT), NODE_ATTRIBUTES.UUID);
511
+ };
512
+ var isNodeLoading = function isNodeLoading(node) {
513
+ return getNodeAttr(node, NODE_ATTRIBUTES.IS_LOADING);
514
+ };
515
+ var getParentNode = function getParentNode(node) {
516
+ return getNodeAttr(node, NODE_ATTRIBUTES.PARENT);
517
+ };
518
+ var isMatchedNode = function isMatchedNode(node) {
519
+ return getNodeAttr(node, NODE_ATTRIBUTES.IS_MATCH);
520
+ };
521
+ var getNodeAttrById = function getNodeAttrById(id, attr) {
522
+ var target = flatData.data.find(function (item) {
523
+ return getNodeId(item) === id;
524
+ });
525
+ return getNodeAttr(target, attr);
526
+ };
527
+ var isRootNode = function isRootNode(node) {
528
+ if (typeof node === 'string') {
529
+ return getNodeAttrById(node, NODE_ATTRIBUTES.IS_ROOT);
530
+ }
531
+ return getNodeAttr(node, NODE_ATTRIBUTES.IS_ROOT);
532
+ };
533
+ var getNodeParentIdById = function getNodeParentIdById(id) {
534
+ var target = flatData.data.find(function (item) {
535
+ return getNodeId(item) === id;
536
+ });
537
+ return getNodeParentId(target);
538
+ };
539
+ var getNodePathById = function getNodePathById(id) {
540
+ var target = flatData.data.find(function (item) {
541
+ return getNodeId(item) === id;
542
+ });
543
+ return getNodePath(target);
544
+ };
545
+ var setTreeNodeLoading = function setTreeNodeLoading(node, value) {
546
+ setNodeAttr(node, NODE_ATTRIBUTES.IS_LOADING, value);
547
+ };
548
+ // const deleteNodeSchema = (id: string) => (flatData.schema as Map<string, any>).delete(id);
549
+ /**
550
+ * 判定指定节点是否为展开状态
551
+ * @param item 节点或者节点 UUID
552
+ * @returns
553
+ */
554
+ var isItemOpen = function isItemOpen(item) {
555
+ if (_typeof(item) === 'object') {
556
+ return isNodeOpened(item);
557
+ }
558
+ if (typeof item === 'string') {
559
+ return getNodeAttrById(item, NODE_ATTRIBUTES.IS_OPEN);
560
+ }
561
+ return false;
562
+ };
563
+ var getParentNodeAttr = function getParentNodeAttr(node, attrName) {
564
+ return getNodeAttr(getNodeAttr(node, NODE_ATTRIBUTES.PARENT), attrName);
565
+ };
566
+ var isParentNodeOpened = function isParentNodeOpened(node) {
567
+ return isItemOpen(getNodeAttr(node, NODE_ATTRIBUTES.PARENT));
568
+ };
569
+ /**
570
+ * 过滤当前状态为Open的节点
571
+ * 页面展示只会展示Open的节点
572
+ * @param item
573
+ * @returns
574
+ */
575
+ var checkNodeIsOpen = function checkNodeIsOpen(node) {
576
+ return isRootNode(node) || isItemOpen(node) || isParentNodeOpened(node);
577
+ };
578
+ /**
579
+ * 根据节点path返回源数据中节点信息
580
+ * @param path
581
+ * @returns
582
+ */
583
+ var getSourceNodeByPath = function getSourceNodeByPath(path, uid) {
584
+ var paths = path.split('-');
585
+ var target = paths.reduce(function (pre, nodeIndex) {
586
+ var index = Number(nodeIndex);
587
+ return Array.isArray(pre) ? pre[index] : pre[props.children][index];
588
+ }, props.data);
589
+ if (uid) {
590
+ Object.assign(target, _defineProperty({}, NODE_ATTRIBUTES.UUID, uid));
591
+ }
592
+ return target;
593
+ };
594
+ var getChildNodes = function getChildNodes(node) {
595
+ var _node$props$children;
596
+ return (_node$props$children = node[props.children]) !== null && _node$props$children !== void 0 ? _node$props$children : [];
597
+ };
598
+ var getSourceNodeByUID = function getSourceNodeByUID(uid) {
599
+ return flatData.data.find(function (item) {
600
+ return getNodeId(item) === uid;
601
+ });
602
+ };
603
+ var getParentNodeData = function getParentNodeData(node) {
604
+ if (isRootNode(node)) {
605
+ return _defineProperty({}, props.children, props.data);
606
+ }
607
+ return getParentNode(node);
608
+ };
609
+ /**
610
+ * 处理scoped slot 透传数据
611
+ * @param item 当前节点数据
612
+ * @returns
613
+ */
614
+ var resolveScopedSlotParam = function resolveScopedSlotParam(item) {
615
+ var _ref2;
616
+ return _ref2 = {}, _defineProperty(_ref2, NODE_SOURCE_ATTRS[NODE_ATTRIBUTES.IS_LOADING], getNodeAttr(item, NODE_ATTRIBUTES.IS_LOADING)), _defineProperty(_ref2, NODE_SOURCE_ATTRS[NODE_ATTRIBUTES.HAS_CHILD], hasChildNode(item)), _defineProperty(_ref2, NODE_SOURCE_ATTRS[NODE_ATTRIBUTES.IS_MATCH], isNodeMatched(item)), _defineProperty(_ref2, NODE_SOURCE_ATTRS[NODE_ATTRIBUTES.IS_CHECKED], isNodeChecked(item)), _defineProperty(_ref2, NODE_SOURCE_ATTRS[NODE_ATTRIBUTES.IS_OPEN], isNodeOpened(item)), _defineProperty(_ref2, NODE_SOURCE_ATTRS[NODE_ATTRIBUTES.IS_ROOT], isRootNode(item)), _defineProperty(_ref2, "fullPath", getNodeAttr(item, NODE_ATTRIBUTES.PATH)), _defineProperty(_ref2, "uuid", getNodeId(item)), _defineProperty(_ref2, "parent", getNodeAttr(item, NODE_ATTRIBUTES.PARENT)), _defineProperty(_ref2, "parentId", getNodeId(getNodeAttr(item, NODE_ATTRIBUTES.PARENT))), _ref2;
617
+ };
618
+ var extendNodeAttr = function extendNodeAttr(item) {
619
+ return Object.assign({}, item, _defineProperty({}, NODE_ATTRIBUTES.TREE_NODE_ATTR, resolveScopedSlotParam(item)));
620
+ };
621
+ var extendNodeScopedData = function extendNodeScopedData(item) {
622
+ return {
623
+ data: item,
624
+ attributes: resolveScopedSlotParam(item)
625
+ };
626
+ };
627
+ return {
628
+ getSchemaVal: getSchemaVal,
629
+ getNodeAttr: getNodeAttr,
630
+ getNodeId: getNodeId,
631
+ getNodeParentId: getNodeParentId,
632
+ getParentNodeData: getParentNodeData,
633
+ getNodePathById: getNodePathById,
634
+ getNodeAttrById: getNodeAttrById,
635
+ getNodeParentIdById: getNodeParentIdById,
636
+ getParentNodeAttr: getParentNodeAttr,
637
+ getParentNode: getParentNode,
638
+ setNodeAttr: setNodeAttr,
639
+ setNodeAttrById: setNodeAttrById,
640
+ getNodePath: getNodePath,
641
+ isRootNode: isRootNode,
642
+ isNodeOpened: isNodeOpened,
643
+ hasChildNode: hasChildNode,
644
+ isItemOpen: isItemOpen,
645
+ isNodeChecked: isNodeChecked,
646
+ isNodeMatched: isNodeMatched,
647
+ isNodeLoading: isNodeLoading,
648
+ checkNodeIsOpen: checkNodeIsOpen,
649
+ getSourceNodeByPath: getSourceNodeByPath,
650
+ getSourceNodeByUID: getSourceNodeByUID,
651
+ isMatchedNode: isMatchedNode,
652
+ resolveScopedSlotParam: resolveScopedSlotParam,
653
+ setTreeNodeLoading: setTreeNodeLoading,
654
+ extendNodeAttr: extendNodeAttr,
655
+ getChildNodes: getChildNodes,
656
+ extendNodeScopedData: extendNodeScopedData
657
+ };
658
+ });
659
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
660
+ function _arrayLikeToArray(arr, len) {
661
+ if (len == null || len > arr.length) len = arr.length;
662
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
663
+ return arr2;
664
+ }
665
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
666
+
667
+ function _arrayWithoutHoles(arr) {
668
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
669
+ }
670
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/iterableToArray.js
671
+ function _iterableToArray(iter) {
672
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
673
+ }
674
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
675
+
676
+ function _unsupportedIterableToArray(o, minLen) {
677
+ if (!o) return;
678
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
679
+ var n = Object.prototype.toString.call(o).slice(8, -1);
680
+ if (n === "Object" && o.constructor) n = o.constructor.name;
681
+ if (n === "Map" || n === "Set") return Array.from(o);
682
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
683
+ }
684
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
685
+ function _nonIterableSpread() {
686
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
687
+ }
688
+ ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
689
+
690
+
691
+
692
+
693
+ function _toConsumableArray(arr) {
694
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
695
+ }
696
+ ;// CONCATENATED MODULE: ../../packages/tree/src/util.ts
697
+
698
+
699
+
700
+ var _this = undefined;
701
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
702
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
703
+ /*
704
+ * Tencent is pleased to support the open source community by making
705
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
706
+ *
707
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
708
+ *
709
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
710
+ *
711
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
712
+ *
713
+ * ---------------------------------------------------
714
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
715
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
716
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
717
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
718
+ *
719
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
720
+ * the Software.
721
+ *
722
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
723
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
724
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
725
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
726
+ * IN THE SOFTWARE.
727
+ */
728
+
729
+
730
+ var DEFAULT_LEVLE_LINE = '1px dashed #c3cdd7';
731
+ /**
732
+ * 获取配置项可为Bool|String|Function类型,如果为Bool则配置默认值
733
+ * @param props
734
+ * @param key
735
+ * @param item
736
+ * @param defaultTrueValue
737
+ * @param defaultFalseValue
738
+ * @returns
739
+ */
740
+ var getPropsOneOfBoolValueWithDefault = function getPropsOneOfBoolValueWithDefault(props, key) {
741
+ var item = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
742
+ var defaultTrueValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
743
+ var defaultFalseValue = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;
744
+ var args = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : [];
745
+ var prop = props[key];
746
+ if (typeof prop === 'boolean') {
747
+ return prop ? defaultTrueValue : defaultFalseValue;
748
+ }
749
+ return getStringOrFuncStr(item, props, key, args);
750
+ };
751
+ /**
752
+ * 处理Props中用户给定的配置项(返回值为String或者Function)
753
+ * @param item 当前渲染数据(当item为Object时,返回当前Object中通过Props指定Key的Value,否则返回Props中指定的值)
754
+ * @param props Props
755
+ * @param key 配置项关键字
756
+ * @param args 其他参数
757
+ * @returns
758
+ */
759
+ var getStringOrFuncStr = function getStringOrFuncStr(item, props, key) {
760
+ var args = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
761
+ var value = props[key];
762
+ if (typeof value === 'string') {
763
+ if (_typeof(item) === 'object' && item !== null) {
764
+ if (!Object.prototype.hasOwnProperty.call(item, value)) {
765
+ console.error("cannot find node label with key ".concat(value));
766
+ }
767
+ return item[value];
768
+ }
769
+ return value;
770
+ }
771
+ if (typeof value === 'function') {
772
+ var txt = value.apply(_this, [item].concat(_toConsumableArray(args)));
773
+ if (typeof txt === 'string') {
774
+ return txt;
775
+ }
776
+ console.error('props label with function return value is not string, please check and return string');
777
+ return undefined;
778
+ }
779
+ return undefined;
780
+ };
781
+ /**
782
+ * 获取当前节点显示Label
783
+ * @param item 当前节点
784
+ * @param props Props
785
+ */
786
+ var getLabel = function getLabel(item, props) {
787
+ return getStringOrFuncStr(item, props, 'label');
788
+ };
789
+ /**
790
+ * 根据Props获取Tree样式设置
791
+ * @param item
792
+ * @param props
793
+ * @returns
794
+ */
795
+ var getTreeStyle = function getTreeStyle(item, props) {
796
+ // 处理Props回调函数,参数 [tree] 表示 levelLine 回调参数第二个,此次渲染请求为Tree外层样式
797
+ var levelLine = getPropsOneOfBoolValueWithDefault(props, 'levelLine', item, DEFAULT_LEVLE_LINE, null, ['tree']);
798
+ return {
799
+ '--level-line': levelLine,
800
+ '--lineHeight': "".concat(props.lineHeight, "px"),
801
+ '--indent': "".concat(props.indent, "px"),
802
+ '--offset-left': "".concat(props.offsetLeft, "px")
803
+ };
804
+ };
805
+ /**
806
+ * 获取节点样式配置
807
+ * @param item
808
+ * @param props
809
+ * @returns
810
+ */
811
+ var getNodeItemStyle = function getNodeItemStyle(item, props, flatData) {
812
+ var _schema$get;
813
+ var showTree = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
814
+ var schema = flatData.schema;
815
+ var depth = (_schema$get = schema.get(item)) === null || _schema$get === void 0 ? void 0 : _schema$get[NODE_ATTRIBUTES.DEPTH];
816
+ if (showTree) {
817
+ return _objectSpread({
818
+ '--depth': depth
819
+ }, typeof props.levelLine === 'function' ? {
820
+ '--level-line': getPropsOneOfBoolValueWithDefault(props, 'levelLine', item, DEFAULT_LEVLE_LINE, null, ['node'])
821
+ } : {});
822
+ }
823
+ return {};
824
+ };
825
+ /**
826
+ * 获取当前渲染节点Class List
827
+ * @param item
828
+ * @returns
829
+ */
830
+ var getNodeItemClass = function getNodeItemClass(item, schema, props) {
831
+ var showTree = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
832
+ // eslint-disable-next-line @typescript-eslint/naming-convention
833
+ var _ref = schema.get(item) || {},
834
+ __is_root = _ref.__is_root,
835
+ __is_open = _ref.__is_open;
836
+ return {
837
+ 'is-root': __is_root,
838
+ 'bk-tree-node': true,
839
+ 'is-open': __is_open,
840
+ 'is-virtual-render': props.virtualRender,
841
+ 'level-line': props.levelLine && showTree
842
+ };
843
+ };
844
+ /**
845
+ * 获取当前渲染节点Class List
846
+ * @param item
847
+ * @returns
848
+ */
849
+ var getNodeRowClass = function getNodeRowClass(item, schema) {
850
+ // eslint-disable-next-line @typescript-eslint/naming-convention
851
+ var _ref2 = schema.get(item) || {},
852
+ __is_checked = _ref2.__is_checked,
853
+ __is_selected = _ref2.__is_selected;
854
+ return _defineProperty({
855
+ 'is-checked': __is_checked,
856
+ 'is-selected': __is_selected,
857
+ 'node-folder': item.is_folder,
858
+ 'node-leaf': item.is_leaf
859
+ }, (0,external_shared_namespaceObject.resolveClassName)('node-row'), true);
860
+ };
861
+ /**
862
+ * 根据路径更新指定节点Child-Data
863
+ * @param path 节点路径
864
+ * @param treeData Tree Data
865
+ * @param childKey Child Key
866
+ * @param nodekey 节点key
867
+ * @param nodeValue 节点值
868
+ */
869
+ var updateTreeNode = function updateTreeNode(path, treeData, childKey, nodekey, nodeValue) {
870
+ assignTreeNode(path, treeData, childKey, _defineProperty({}, nodekey, nodeValue));
871
+ };
872
+ /**
873
+ * 根据路径更新指定节点Child-Data
874
+ * @param path 节点路径
875
+ * @param treeData Tree Data
876
+ * @param childKey Child Key
877
+ * @param assignVal value
878
+ */
879
+ var assignTreeNode = function assignTreeNode(path, treeData, childKey, assignVal) {
880
+ var paths = path.split('-');
881
+ var targetNode = paths.reduce(function (pre, nodeIndex) {
882
+ var index = Number(nodeIndex);
883
+ return Array.isArray(pre) ? pre[index] : pre[childKey][index];
884
+ }, treeData);
885
+ Object.assign(targetNode, assignVal || {});
886
+ };
887
+ var resolveNodeItem = function resolveNodeItem(node) {
888
+ if (node === undefined || node === null) {
889
+ return {
890
+ __IS_NULL: true
891
+ };
892
+ }
893
+ return node;
894
+ };
895
+ var resolvePropIsMatched = function resolvePropIsMatched(node, prop, id) {
896
+ if (Array.isArray(prop)) {
897
+ return prop.some(function (item) {
898
+ return resolvePropIsMatched(node, item, id);
899
+ });
900
+ }
901
+ if (typeof prop === 'string' || typeof prop === 'number') {
902
+ return prop === id;
903
+ }
904
+ return node === prop;
905
+ };
906
+ var showCheckbox = function showCheckbox(props, node) {
907
+ if (typeof props.showCheckbox === 'function') {
908
+ return props.showCheckbox(node);
909
+ }
910
+ return props.showCheckbox;
911
+ };
912
+ ;// CONCATENATED MODULE: ../../packages/tree/src/use-node-async.tsx
913
+
914
+ /*
915
+ * Tencent is pleased to support the open source community by making
916
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
917
+ *
918
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
919
+ *
920
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
921
+ *
922
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
923
+ *
924
+ * ---------------------------------------------------
925
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
926
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
927
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
928
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
929
+ *
930
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
931
+ * the Software.
932
+ *
933
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
934
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
935
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
936
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
937
+ * IN THE SOFTWARE.
938
+ */
939
+
940
+
941
+
942
+ /* harmony default export */ const use_node_async = (function (props, flatData) {
943
+ var _useNodeAttribute = use_node_attribute(flatData, props),
944
+ setNodeAttr = _useNodeAttribute.setNodeAttr,
945
+ getNodePath = _useNodeAttribute.getNodePath,
946
+ getNodeAttr = _useNodeAttribute.getNodeAttr,
947
+ resolveScopedSlotParam = _useNodeAttribute.resolveScopedSlotParam,
948
+ setTreeNodeLoading = _useNodeAttribute.setTreeNodeLoading;
949
+ /**
950
+ * 处理异步加载节点数据返回结果
951
+ * @param resp 异步请求返回结果
952
+ * @param item 当前节点
953
+ */
954
+ var setNodeRemoteLoad = function setNodeRemoteLoad(resp, item) {
955
+ if (_typeof(resp) === 'object' && resp !== null) {
956
+ setNodeAttr(item, NODE_ATTRIBUTES.IS_OPEN, true);
957
+ var nodeValue = Array.isArray(resp) ? resp : [resp];
958
+ updateTreeNode(getNodePath(item), props.data, props.children, props.children, nodeValue);
959
+ return Promise.resolve(resp);
960
+ }
961
+ return Promise.resolve(resp);
962
+ };
963
+ var asyncNodeClick = function asyncNodeClick(item) {
964
+ var _ref = props.async || {},
965
+ _ref$callback = _ref.callback,
966
+ callback = _ref$callback === void 0 ? null : _ref$callback,
967
+ _ref$cache = _ref.cache,
968
+ cache = _ref$cache === void 0 ? true : _ref$cache;
969
+ /** 如果是异步请求加载 */
970
+ if (typeof callback === 'function' && getNodeAttr(item, NODE_ATTRIBUTES.IS_ASYNC)) {
971
+ /** 用于注释当前节点是否已经初始化过 */
972
+ setNodeAttr(item, NODE_ATTRIBUTES.IS_ASYNC_INIT, true);
973
+ if (!getNodeAttr(item, NODE_ATTRIBUTES.IS_CACHED)) {
974
+ setNodeAttr(item, NODE_ATTRIBUTES.IS_CACHED, cache);
975
+ var dataAttr = resolveScopedSlotParam(item);
976
+ var callbackResult = callback(item, function (resp) {
977
+ return setNodeRemoteLoad(resp, item);
978
+ }, dataAttr);
979
+ if (_typeof(callbackResult) === 'object' && callbackResult !== null) {
980
+ setTreeNodeLoading(item, true);
981
+ if (callbackResult instanceof Promise) {
982
+ return Promise.resolve(callbackResult.then(function (resp) {
983
+ return setNodeRemoteLoad(resp, item);
984
+ })["catch"](function (err) {
985
+ return console.error('load remote data error:', err);
986
+ })["finally"](function () {
987
+ setTreeNodeLoading(item, false);
988
+ setNodeAttr(item, NODE_ATTRIBUTES.IS_CACHED, true);
989
+ }));
990
+ }
991
+ setNodeRemoteLoad(callbackResult, item);
992
+ setTreeNodeLoading(item, false);
993
+ return Promise.resolve(true);
994
+ }
995
+ }
996
+ return Promise.resolve(true);
997
+ }
998
+ return Promise.resolve(true);
999
+ };
1000
+ var deepAutoOpen = function deepAutoOpen() {
1001
+ /** 过滤节点为异步加载 & 默认为展开 & 没有初始化过的节点 */
1002
+ var autoOpenNodes = flatData.data.filter(function (item) {
1003
+ return getNodeAttr(item, NODE_ATTRIBUTES.IS_ASYNC) && item[NODE_SOURCE_ATTRS[NODE_ATTRIBUTES.IS_OPEN]] && !getNodeAttr(item, NODE_ATTRIBUTES.IS_ASYNC_INIT);
1004
+ });
1005
+ if (autoOpenNodes.length) {
1006
+ Promise.all(autoOpenNodes.map(function (item) {
1007
+ return asyncNodeClick(item);
1008
+ })).then(function () {
1009
+ deepAutoOpen();
1010
+ })["catch"](function (err) {
1011
+ console.warn(err);
1012
+ });
1013
+ }
1014
+ };
1015
+ return {
1016
+ asyncNodeClick: asyncNodeClick,
1017
+ deepAutoOpen: deepAutoOpen
1018
+ };
1019
+ });
1020
+ ;// CONCATENATED MODULE: ../../packages/tree/src/use-node-action.tsx
1021
+
1022
+
1023
+ var use_node_action_this = undefined;
1024
+
1025
+ /*
1026
+ * Tencent is pleased to support the open source community by making
1027
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
1028
+ *
1029
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
1030
+ *
1031
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
1032
+ *
1033
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
1034
+ *
1035
+ * ---------------------------------------------------
1036
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
1037
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
1038
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
1039
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1040
+ *
1041
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
1042
+ * the Software.
1043
+ *
1044
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
1045
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1046
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
1047
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
1048
+ * IN THE SOFTWARE.
1049
+ */
1050
+
1051
+
1052
+
1053
+
1054
+
1055
+
1056
+
1057
+
1058
+ /* harmony default export */ const use_node_action = (function (props, ctx, flatData, _renderData, initOption) {
1059
+ // const checkedNodes = [];
1060
+ var selectedNodeId = props.selected;
1061
+ var _useNodeAttribute = use_node_attribute(flatData, props),
1062
+ setNodeAttr = _useNodeAttribute.setNodeAttr,
1063
+ setNodeAttrById = _useNodeAttribute.setNodeAttrById,
1064
+ getNodePath = _useNodeAttribute.getNodePath,
1065
+ getSchemaVal = _useNodeAttribute.getSchemaVal,
1066
+ getNodeAttr = _useNodeAttribute.getNodeAttr,
1067
+ getNodeId = _useNodeAttribute.getNodeId,
1068
+ getChildNodes = _useNodeAttribute.getChildNodes,
1069
+ isRootNode = _useNodeAttribute.isRootNode,
1070
+ hasChildNode = _useNodeAttribute.hasChildNode,
1071
+ isItemOpen = _useNodeAttribute.isItemOpen,
1072
+ isNodeOpened = _useNodeAttribute.isNodeOpened,
1073
+ isNodeLoading = _useNodeAttribute.isNodeLoading,
1074
+ isNodeChecked = _useNodeAttribute.isNodeChecked,
1075
+ getParentNode = _useNodeAttribute.getParentNode,
1076
+ resolveScopedSlotParam = _useNodeAttribute.resolveScopedSlotParam,
1077
+ extendNodeAttr = _useNodeAttribute.extendNodeAttr,
1078
+ extendNodeScopedData = _useNodeAttribute.extendNodeScopedData;
1079
+ var _usePrefix = (0,external_config_provider_namespaceObject.usePrefix)(),
1080
+ resolveClassName = _usePrefix.resolveClassName;
1081
+ var registerNextLoop = initOption.registerNextLoop;
1082
+ var _useNodeAsync = use_node_async(props, flatData),
1083
+ asyncNodeClick = _useNodeAsync.asyncNodeClick,
1084
+ deepAutoOpen = _useNodeAsync.deepAutoOpen;
1085
+ /**
1086
+ * 根据当前节点状态获取节点类型Icon
1087
+ * @param item
1088
+ * @returns
1089
+ */
1090
+ var getRootIcon = function getRootIcon(item) {
1091
+ return isItemOpen(item) ? (0,external_vue_namespaceObject.createVNode)(external_icon_namespaceObject.FolderShapeOpen, {
1092
+ "class": [resolveClassName('tree-icon'), resolveClassName('node-prefix')]
1093
+ }, null) : (0,external_vue_namespaceObject.createVNode)(external_icon_namespaceObject.Folder, {
1094
+ "class": [resolveClassName('tree-icon'), resolveClassName('node-prefix')]
1095
+ }, null);
1096
+ };
1097
+ /**
1098
+ * 渲染动态设置的节点样式
1099
+ * @param val
1100
+ * @returns
1101
+ */
1102
+ var renderPrefixVal = function renderPrefixVal(val) {
1103
+ if (typeof val === 'string') {
1104
+ return val;
1105
+ }
1106
+ if (_typeof(val) === 'object' && val !== null) {
1107
+ if (val.__v_isVNode) {
1108
+ return val;
1109
+ }
1110
+ var node = val.node,
1111
+ className = val.className,
1112
+ text = val.text,
1113
+ style = val.style;
1114
+ return (0,external_vue_namespaceObject.h)(node, {
1115
+ "class": className,
1116
+ style: style
1117
+ }, text);
1118
+ }
1119
+ return null;
1120
+ };
1121
+ var getLoadingIcon = function getLoadingIcon(item) {
1122
+ var _ctx$slots$nodeLoadin, _ctx$slots$nodeLoadin2, _ctx$slots;
1123
+ return ((_ctx$slots$nodeLoadin = (_ctx$slots$nodeLoadin2 = (_ctx$slots = ctx.slots).nodeLoading) === null || _ctx$slots$nodeLoadin2 === void 0 ? void 0 : _ctx$slots$nodeLoadin2.call(_ctx$slots, getScopedSlotData(item))) !== null && _ctx$slots$nodeLoadin !== void 0 ? _ctx$slots$nodeLoadin : isNodeLoading(item)) ? (0,external_vue_namespaceObject.createVNode)(external_icon_namespaceObject.Spinner, null, null) : '';
1124
+ };
1125
+ /**
1126
+ * 根据节点状态获取节点操作Icon
1127
+ * @param item
1128
+ * @returns
1129
+ */
1130
+ var getActionIcon = function getActionIcon(item) {
1131
+ if (ctx.slots.nodeAction) {
1132
+ return ctx.slots.nodeAction(getScopedSlotData(item));
1133
+ }
1134
+ var prefixFnVal = null;
1135
+ if (isNodeLoading(item)) {
1136
+ return getLoadingIcon(item);
1137
+ }
1138
+ if (typeof props.prefixIcon === 'function') {
1139
+ prefixFnVal = props.prefixIcon(getScopedSlotData(item), 'node_action');
1140
+ if (prefixFnVal !== 'default') {
1141
+ return renderPrefixVal(prefixFnVal);
1142
+ }
1143
+ }
1144
+ if (prefixFnVal === 'default' || typeof props.prefixIcon === 'boolean' && props.prefixIcon) {
1145
+ var autoCheckChild = typeof props.autoCheckChildren === 'function' ? props.autoCheckChildren(item) : props.autoCheckChildren;
1146
+ if (hasChildNode(item) || item.async || !autoCheckChild) {
1147
+ return isItemOpen(item) ? (0,external_vue_namespaceObject.createVNode)(external_icon_namespaceObject.DownShape, {
1148
+ "class": resolveClassName('node-prefix')
1149
+ }, null) : (0,external_vue_namespaceObject.createVNode)(external_icon_namespaceObject.RightShape, {
1150
+ "class": resolveClassName('node-prefix')
1151
+ }, null);
1152
+ }
1153
+ }
1154
+ return null;
1155
+ };
1156
+ /**
1157
+ * 获取节点类型Icon
1158
+ * @param item
1159
+ * @returns
1160
+ */
1161
+ var getNodePrefixIcon = function getNodePrefixIcon(item) {
1162
+ if (!props.showNodeTypeIcon) {
1163
+ return null;
1164
+ }
1165
+ if (ctx.slots.nodeType) {
1166
+ return ctx.slots.nodeType(getScopedSlotData(item));
1167
+ }
1168
+ var prefixFnVal = null;
1169
+ if (typeof props.prefixIcon === 'function') {
1170
+ prefixFnVal = props.prefixIcon(getScopedSlotData(item), 'node_type');
1171
+ if (prefixFnVal !== 'default') {
1172
+ return renderPrefixVal(prefixFnVal);
1173
+ }
1174
+ }
1175
+ if (prefixFnVal === 'default' || typeof props.prefixIcon === 'boolean' && props.prefixIcon) {
1176
+ return isRootNode(item) || hasChildNode(item) ? getRootIcon(item) : (0,external_vue_namespaceObject.createVNode)(external_icon_namespaceObject.TextFile, {
1177
+ "class": [resolveClassName('tree-icon'), resolveClassName('node-prefix')]
1178
+ }, null);
1179
+ }
1180
+ return null;
1181
+ };
1182
+ var updateParentChecked = function updateParentChecked(item, isChecked) {
1183
+ var parent = getParentNode(item);
1184
+ if (parent) {
1185
+ var isNeedChecked = isChecked ? isChecked : (getChildNodes(parent) || []).some(function (node) {
1186
+ return isNodeChecked(node);
1187
+ });
1188
+ setNodeAttr(parent, NODE_ATTRIBUTES.IS_CHECKED, isNeedChecked);
1189
+ setNodeAttr(parent, NODE_ATTRIBUTES.IS_INDETERMINATE, (getChildNodes(parent) || []).some(function (node) {
1190
+ return !isNodeChecked(node);
1191
+ }));
1192
+ if (!isRootNode(parent)) {
1193
+ updateParentChecked(parent, isChecked);
1194
+ }
1195
+ }
1196
+ };
1197
+ var deepUpdateChildNode = function deepUpdateChildNode(node, attr, value) {
1198
+ getChildNodes(node).forEach(function (chid) {
1199
+ if (Array.isArray(attr)) {
1200
+ attr.forEach(function (val, index) {
1201
+ setNodeAttr(chid, val, value[index]);
1202
+ });
1203
+ } else {
1204
+ setNodeAttr(chid, attr, value);
1205
+ }
1206
+ deepUpdateChildNode(chid, attr, value);
1207
+ });
1208
+ };
1209
+ var handleNodeItemCheckboxChange = function handleNodeItemCheckboxChange(item, value, event) {
1210
+ event.preventDefault();
1211
+ event.stopImmediatePropagation();
1212
+ event.stopPropagation();
1213
+ setNodeAttr(item, NODE_ATTRIBUTES.IS_CHECKED, !!value);
1214
+ if (value) {
1215
+ setNodeAttr(item, NODE_ATTRIBUTES.IS_INDETERMINATE, false);
1216
+ }
1217
+ deepUpdateChildNode(item, [NODE_ATTRIBUTES.IS_CHECKED, NODE_ATTRIBUTES.IS_INDETERMINATE], [!!value, false]);
1218
+ updateParentChecked(item, value);
1219
+ ctx.emit(EVENTS.NODE_CHECKED, flatData.data.filter(function (t) {
1220
+ return isNodeChecked(t);
1221
+ }), flatData.data.filter(function (t) {
1222
+ return isIndeterminate(t);
1223
+ }));
1224
+ handleNodeContentClick(item, event);
1225
+ };
1226
+ var isIndeterminate = function isIndeterminate(item) {
1227
+ return isNodeChecked(item) && getNodeAttr(item, NODE_ATTRIBUTES.IS_INDETERMINATE);
1228
+ };
1229
+ var getCheckboxRender = function getCheckboxRender(item) {
1230
+ if (!showCheckbox(props, extendNodeScopedData(item))) {
1231
+ return null;
1232
+ }
1233
+ return (0,external_vue_namespaceObject.createVNode)("span", {
1234
+ "onClick": handleNodeCheckboxClick
1235
+ }, [(0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject["default"], {
1236
+ "size": "small",
1237
+ "modelValue": isNodeChecked(item),
1238
+ "indeterminate": isIndeterminate(item),
1239
+ "onChange": function onChange(val, event) {
1240
+ return handleNodeItemCheckboxChange(item, !!val, event);
1241
+ }
1242
+ }, null)]);
1243
+ };
1244
+ /**
1245
+ * 设置指定节点是否展开
1246
+ * @param item
1247
+ * @param isOpen
1248
+ */
1249
+ var setNodeOpened = function setNodeOpened(item) {
1250
+ var isOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1251
+ var e = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
1252
+ var fireEmit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
1253
+ var newVal = isOpen === null ? !isItemOpen(item) : !!isOpen;
1254
+ /**
1255
+ * 在收起节点时需要重置当前节点的所有叶子节点状态为 __isOpen = false
1256
+ * 如果是需要点击当前节点展开所有叶子节点此处也可以打开
1257
+ */
1258
+ if (!newVal) {
1259
+ deepUpdateChildNode(item, NODE_ATTRIBUTES.IS_OPEN, newVal);
1260
+ }
1261
+ setNodeAttr(item, NODE_ATTRIBUTES.IS_OPEN, newVal);
1262
+ if (fireEmit) {
1263
+ var emitEvent = isItemOpen(item) ? EVENTS.NODE_EXPAND : EVENTS.NODE_COLLAPSE;
1264
+ ctx.emit(emitEvent, item, resolveScopedSlotParam(item), getSchemaVal(item), e);
1265
+ }
1266
+ };
1267
+ /**
1268
+ * 设置指定节点行为 checked isOpen
1269
+ * @param args
1270
+ * @param action
1271
+ * @param value
1272
+ * @returns
1273
+ */
1274
+ var setNodeAction = function setNodeAction(args, action, value) {
1275
+ if (Array.isArray(args)) {
1276
+ args.forEach(function (node) {
1277
+ return setNodeAttr(resolveNodeItem(node), action, value);
1278
+ });
1279
+ return;
1280
+ }
1281
+ setNodeAttr(resolveNodeItem(args), action, value);
1282
+ };
1283
+ /**
1284
+ * 指定节点展开
1285
+ * @param item 节点数据 | Node Id
1286
+ * @param isOpen 是否展开
1287
+ * @param autoOpenParents 如果是 isOpen = true,是否自动设置所有父级展开
1288
+ * @returns
1289
+ */
1290
+ var setOpen = function setOpen(item) {
1291
+ var isOpen = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
1292
+ var autoOpenParents = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
1293
+ setNodeAttribute(item, NODE_ATTRIBUTES.IS_OPEN, isOpen, autoOpenParents && isOpen);
1294
+ };
1295
+ /**
1296
+ * 递归处理当前节点以及父级节点属性值
1297
+ * @param node 指定节点
1298
+ * @param attrName 属性名称
1299
+ * @param value 属性值
1300
+ * @param loopParent 是否需要递归更新父级
1301
+ */
1302
+ var setNodeAttribute = function setNodeAttribute(node, attrName, value) {
1303
+ var loopParent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
1304
+ var resolvedItem = resolveNodeItem(node);
1305
+ if (resolvedItem[NODE_ATTRIBUTES.IS_NULL]) {
1306
+ return;
1307
+ }
1308
+ var attrNames = Array.isArray(attrName) ? attrName : [attrName];
1309
+ var values = Array.isArray(value) ? value : [value];
1310
+ if (loopParent) {
1311
+ attrNames.forEach(function (name, index) {
1312
+ return setNodeAction(resolvedItem, name, values[index]);
1313
+ });
1314
+ if (!isRootNode(resolvedItem)) {
1315
+ var parent = getParentNode(resolvedItem);
1316
+ attrNames.forEach(function (name, index) {
1317
+ var parentVal = getNodeAttr(parent, name);
1318
+ if (parentVal !== value) {
1319
+ setNodeAttribute(parent, name, values[index], loopParent);
1320
+ }
1321
+ });
1322
+ }
1323
+ } else {
1324
+ attrNames.forEach(function (name, index) {
1325
+ return setNodeAction(resolvedItem, name, values[index]);
1326
+ });
1327
+ }
1328
+ };
1329
+ /**
1330
+ * 节点点击
1331
+ * @param item
1332
+ */
1333
+ var handleTreeNodeClick = function handleTreeNodeClick(item, e) {
1334
+ var isOpen = isItemOpen(item);
1335
+ if (isOpen) {
1336
+ setNodeOpened(item, false, e, true);
1337
+ return;
1338
+ }
1339
+ /** 如果是异步请求加载 */
1340
+ asyncNodeClick(item)["finally"](function () {
1341
+ if (getNodeAttr(item, NODE_ATTRIBUTES.IS_LOADING)) {
1342
+ registerNextLoop('setNodeOpenedAfterLoading', {
1343
+ type: 'once',
1344
+ fn: function fn() {
1345
+ return setNodeOpened(item, true, e, true);
1346
+ }
1347
+ });
1348
+ } else {
1349
+ setNodeOpened(item, true, e, true);
1350
+ }
1351
+ });
1352
+ };
1353
+ /**
1354
+ * 点击树形节点展开、收起图标处理事件
1355
+ * @param e 鼠标事件
1356
+ * @param node 当前节点
1357
+ */
1358
+ var handleNodeActionClick = function handleNodeActionClick(e, node) {
1359
+ e.stopImmediatePropagation();
1360
+ e.stopPropagation();
1361
+ e.preventDefault();
1362
+ handleTreeNodeClick(node, e);
1363
+ };
1364
+ var setSelect = function setSelect(nodes) {
1365
+ var selected = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
1366
+ var autoOpen = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
1367
+ var nodeList = Array.isArray(nodes) ? nodes : [nodes];
1368
+ if (!nodeList.length) {
1369
+ return;
1370
+ }
1371
+ var resolvedItem = resolveNodeItem(nodeList[0]);
1372
+ if (typeof resolvedItem === 'string' || typeof resolvedItem === 'number' || _typeof(resolvedItem) === 'symbol') {
1373
+ var _flatData$data$find;
1374
+ resolvedItem = (_flatData$data$find = flatData.data.find(function (item) {
1375
+ return getNodeId(item) === resolvedItem;
1376
+ })) !== null && _flatData$data$find !== void 0 ? _flatData$data$find : _defineProperty({}, NODE_ATTRIBUTES.IS_NULL, true);
1377
+ }
1378
+ if (resolvedItem[NODE_ATTRIBUTES.IS_NULL]) {
1379
+ return;
1380
+ }
1381
+ if (!props.selectable || typeof props.selectable === 'function' && !props.selectable(nodes) || props.disabledFolderSelectable && resolvedItem.is_folder === true) {
1382
+ console.warn('props.selectable is false or undefined, please set selectable with true');
1383
+ return;
1384
+ }
1385
+ if (selectedNodeId !== null && selectedNodeId !== undefined) {
1386
+ setNodeAttrById(selectedNodeId, NODE_ATTRIBUTES.IS_SELECTED, !selected);
1387
+ }
1388
+ if (props.selected && props.selected !== selectedNodeId) {
1389
+ setNodeAttrById(props.selected, NODE_ATTRIBUTES.IS_SELECTED, !selected);
1390
+ }
1391
+ setNodeAttr(resolvedItem, NODE_ATTRIBUTES.IS_SELECTED, selected);
1392
+ selectedNodeId = getNodeId(resolvedItem);
1393
+ /**
1394
+ * 如果设置了自动展开
1395
+ * 判定长度是为了处理异步节点,如果当前设置selected的节点为多级异步节点
1396
+ * 此时需要一层一层展开所有数据,只需要在最后一次执行setOpen即可
1397
+ */
1398
+ if (autoOpen && nodeList.length === 1) {
1399
+ setOpen(resolvedItem, true, true);
1400
+ }
1401
+ /**
1402
+ * 处理异步节点多层级展开选中
1403
+ */
1404
+ if (getNodeAttr(resolvedItem, NODE_ATTRIBUTES.IS_ASYNC)) {
1405
+ asyncNodeClick(resolvedItem).then(function () {
1406
+ (0,external_vue_namespaceObject.nextTick)(function () {
1407
+ nodeList.shift();
1408
+ setSelect(nodeList, selected, autoOpen);
1409
+ });
1410
+ });
1411
+ }
1412
+ };
1413
+ var resolveNodeAction = function resolveNodeAction(node) {
1414
+ if (typeof props.nodeContentAction === 'function') {
1415
+ return Reflect.apply(props.nodeContentAction, use_node_action_this, [{
1416
+ node: node
1417
+ }]);
1418
+ }
1419
+ if (typeof props.nodeContentAction === 'string') {
1420
+ return [props.nodeContentAction];
1421
+ }
1422
+ if (Array.isArray(props.nodeContentAction)) {
1423
+ return props.nodeContentAction;
1424
+ }
1425
+ return ['selected', 'expand', 'click'];
1426
+ };
1427
+ /**
1428
+ * 点击节点事件
1429
+ * @param item
1430
+ */
1431
+ var handleNodeContentClick = function handleNodeContentClick(item, e) {
1432
+ var nodeActions = resolveNodeAction(item);
1433
+ if (nodeActions.includes('selected')) {
1434
+ setSelect(item, true, false);
1435
+ }
1436
+ if (nodeActions.includes('expand')) {
1437
+ if (!isNodeOpened(item)) {
1438
+ handleTreeNodeClick(item, e);
1439
+ }
1440
+ }
1441
+ if (nodeActions.includes('collapse')) {
1442
+ if (isNodeOpened(item)) {
1443
+ handleTreeNodeClick(item, e);
1444
+ }
1445
+ }
1446
+ if (nodeActions.includes('click')) {
1447
+ var eventName = EVENTS.NODE_CLICK;
1448
+ ctx.emit(eventName, item, resolveScopedSlotParam(item), getSchemaVal(item), e);
1449
+ }
1450
+ };
1451
+ /**
1452
+ * 用于判定当前节点需要展示的连线
1453
+ * 当前指定的depth需不需要展示连线
1454
+ * @param depth 当前需要判定的depth
1455
+ * @param node 当前节点
1456
+ * @returns
1457
+ */
1458
+ var filterNextNode = function filterNextNode(depth, node) {
1459
+ if (isRootNode(node)) {
1460
+ return false;
1461
+ }
1462
+ var nodepath = getNodePath(node);
1463
+ var paths = "".concat(nodepath).split('-').slice(0, depth + 1);
1464
+ var currentPath = paths.join('-');
1465
+ // 如果是判定当前节点,则必须要有一条线
1466
+ if (currentPath === nodepath) {
1467
+ return true;
1468
+ }
1469
+ var lastLevel = paths.pop();
1470
+ var nextLevel = parseInt(lastLevel, 10);
1471
+ paths.push("".concat(nextLevel + 1));
1472
+ var nextNodePath = paths.join('-');
1473
+ return flatData.data.some(function (val) {
1474
+ return getNodePath(val) === nextNodePath;
1475
+ });
1476
+ };
1477
+ /**
1478
+ * 获取层级连线
1479
+ * @param node 节点
1480
+ * @returns
1481
+ */
1482
+ var getVirtualLines = function getVirtualLines(node) {
1483
+ var _getNodeAttr;
1484
+ if (!props.levelLine) {
1485
+ return null;
1486
+ }
1487
+ var getNodeLineStyle = function getNodeLineStyle(dpth) {
1488
+ return {
1489
+ '--depth': dpth
1490
+ };
1491
+ };
1492
+ var maxDeep = ((_getNodeAttr = getNodeAttr(node, NODE_ATTRIBUTES.DEPTH)) !== null && _getNodeAttr !== void 0 ? _getNodeAttr : 0) + 1;
1493
+ return new Array(maxDeep).fill('').map(function (_, index) {
1494
+ return index;
1495
+ }).filter(function (depth) {
1496
+ return filterNextNode(depth, node);
1497
+ }).filter(function (depth) {
1498
+ return depth > 0;
1499
+ })
1500
+ // @ts-ignore:next-line
1501
+ .map(function (index) {
1502
+ return (0,external_vue_namespaceObject.createVNode)("span", {
1503
+ "class": "node-virtual-line",
1504
+ "style": getNodeLineStyle(maxDeep - index)
1505
+ }, null);
1506
+ });
1507
+ };
1508
+ var renderNodeSlots = function renderNodeSlots(item) {
1509
+ if (ctx.slots.node) {
1510
+ var _ctx$slots$node, _ctx$slots2;
1511
+ return (_ctx$slots$node = (_ctx$slots2 = ctx.slots).node) === null || _ctx$slots$node === void 0 ? void 0 : _ctx$slots$node.call(_ctx$slots2, getScopedSlotData(item));
1512
+ }
1513
+ if (ctx.slots["default"]) {
1514
+ var _ctx$slots$default, _ctx$slots3;
1515
+ return (_ctx$slots$default = (_ctx$slots3 = ctx.slots)["default"]) === null || _ctx$slots$default === void 0 ? void 0 : _ctx$slots$default.call(_ctx$slots3, extendNodeScopedData(item));
1516
+ }
1517
+ return [getLabel(item, props)];
1518
+ };
1519
+ var getScopedSlotData = function getScopedSlotData(item) {
1520
+ if (props.keepSlotData) {
1521
+ return extendNodeScopedData(item);
1522
+ }
1523
+ return extendNodeAttr(item);
1524
+ };
1525
+ var handleNodeCheckboxClick = function handleNodeCheckboxClick(event) {
1526
+ event.stopImmediatePropagation();
1527
+ event.stopPropagation();
1528
+ };
1529
+ /**
1530
+ * 渲染节点函数
1531
+ * @param item 当前节点
1532
+ * @param showTree 是否展示为树形结构
1533
+ */
1534
+ var renderTreeNode = function renderTreeNode(item) {
1535
+ var _ctx$slots$nodeAppend, _ctx$slots4;
1536
+ var showTree = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
1537
+ return (0,external_vue_namespaceObject.createVNode)("div", {
1538
+ "data-tree-node": getNodeId(item),
1539
+ "key": getNodeId(item),
1540
+ "class": getNodeRowClass(item, flatData.schema)
1541
+ }, [(0,external_vue_namespaceObject.createVNode)("div", {
1542
+ "class": getNodeItemClass(item, flatData.schema, props, showTree),
1543
+ "style": getNodeItemStyle(item, props, flatData, showTree),
1544
+ "onClick": function onClick(e) {
1545
+ return handleNodeContentClick(item, e);
1546
+ }
1547
+ }, [(0,external_vue_namespaceObject.createVNode)("div", {
1548
+ "class": [resolveClassName('node-action')],
1549
+ "onClick": function onClick(e) {
1550
+ return handleNodeActionClick(e, item);
1551
+ }
1552
+ }, [getActionIcon(item)]), (0,external_vue_namespaceObject.createVNode)("div", {
1553
+ "class": resolveClassName('node-content')
1554
+ }, [[getCheckboxRender(item), getNodePrefixIcon(item)], (0,external_vue_namespaceObject.createVNode)("span", {
1555
+ "class": resolveClassName('node-text')
1556
+ }, [renderNodeSlots(item)]), (_ctx$slots$nodeAppend = (_ctx$slots4 = ctx.slots).nodeAppend) === null || _ctx$slots$nodeAppend === void 0 ? void 0 : _ctx$slots$nodeAppend.call(_ctx$slots4, getScopedSlotData(item))]), showTree && getVirtualLines(item)])]);
1557
+ };
1558
+ return {
1559
+ renderTreeNode: renderTreeNode,
1560
+ handleTreeNodeClick: handleTreeNodeClick,
1561
+ deepAutoOpen: deepAutoOpen,
1562
+ asyncNodeClick: asyncNodeClick,
1563
+ setNodeAction: setNodeAction,
1564
+ setNodeOpened: setNodeOpened,
1565
+ setSelect: setSelect,
1566
+ setOpen: setOpen,
1567
+ setNodeAttribute: setNodeAttribute
1568
+ };
1569
+ });
1570
+ ;// CONCATENATED MODULE: ../../packages/tree/src/use-node-drag.tsx
1571
+ var use_node_drag_this = undefined;
1572
+ /*
1573
+ * Tencent is pleased to support the open source community by making
1574
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
1575
+ *
1576
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
1577
+ *
1578
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
1579
+ *
1580
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
1581
+ *
1582
+ * ---------------------------------------------------
1583
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
1584
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
1585
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
1586
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1587
+ *
1588
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
1589
+ * the Software.
1590
+ *
1591
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
1592
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1593
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
1594
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
1595
+ * IN THE SOFTWARE.
1596
+ */
1597
+
1598
+
1599
+
1600
+
1601
+ /* harmony default export */ const use_node_drag = (function (props, ctx, root, flatData) {
1602
+ var _useNodeAttribute = use_node_attribute(flatData, props),
1603
+ getSourceNodeByUID = _useNodeAttribute.getSourceNodeByUID,
1604
+ getParentNodeData = _useNodeAttribute.getParentNodeData,
1605
+ getNodeParentIdById = _useNodeAttribute.getNodeParentIdById,
1606
+ extendNodeAttr = _useNodeAttribute.extendNodeAttr,
1607
+ getNodeAttrById = _useNodeAttribute.getNodeAttrById,
1608
+ getNodePathById = _useNodeAttribute.getNodePathById,
1609
+ isRootNode = _useNodeAttribute.isRootNode;
1610
+ var _usePrefix = (0,external_config_provider_namespaceObject.usePrefix)(),
1611
+ resolveClassName = _usePrefix.resolveClassName;
1612
+ var isNeedCheckDraggable = (0,external_vue_namespaceObject.computed)(function () {
1613
+ return typeof props.disableDrag === 'function';
1614
+ });
1615
+ var isNeedCheckDroppable = (0,external_vue_namespaceObject.computed)(function () {
1616
+ return typeof props.disableDrop === 'function';
1617
+ });
1618
+ var dragNodeId = '';
1619
+ var getTargetTreeNode = function getTargetTreeNode(e) {
1620
+ var target = e.target;
1621
+ return target.closest('[data-tree-node]');
1622
+ };
1623
+ var getNodeByTargetTreeNode = function getNodeByTargetTreeNode(targetNode) {
1624
+ var _targetNode$dataset;
1625
+ var uid = targetNode === null || targetNode === void 0 || (_targetNode$dataset = targetNode.dataset) === null || _targetNode$dataset === void 0 ? void 0 : _targetNode$dataset.treeNode;
1626
+ return getSourceNodeByUID(uid);
1627
+ };
1628
+ var handleTreeNodeMouseup = function handleTreeNodeMouseup(e) {
1629
+ var targetNode = getTargetTreeNode(e);
1630
+ targetNode.removeEventListener('mouseup', handleTreeNodeMouseup);
1631
+ };
1632
+ var handleTreeNodeMousedown = function handleTreeNodeMousedown(e) {
1633
+ var targetNode = getTargetTreeNode(e);
1634
+ var data = getNodeByTargetTreeNode(targetNode);
1635
+ if (data.draggable === false || isNeedCheckDraggable.value && props.disableDrag(data)) {
1636
+ targetNode.classList.add("".concat(resolveClassName('tree-drag-disabled')));
1637
+ return;
1638
+ }
1639
+ targetNode.setAttribute('draggable', 'true');
1640
+ targetNode.addEventListener('mouseup', handleTreeNodeMouseup);
1641
+ };
1642
+ var handleTreeNodeDragover = function handleTreeNodeDragover(e) {
1643
+ e.preventDefault();
1644
+ var targetNode = getTargetTreeNode(e);
1645
+ var data = extendNodeAttr(getNodeByTargetTreeNode(targetNode));
1646
+ ctx.emit(EVENTS.NODE_DRAG_OVER, e, targetNode, data);
1647
+ if (isNeedCheckDroppable.value && props !== null && props !== void 0 && props.disableDrop(data)) {
1648
+ e.dataTransfer.effectAllowed = 'move';
1649
+ e.dataTransfer.dropEffect = 'none';
1650
+ targetNode.classList.add("".concat(resolveClassName('tree-drop-disabled')));
1651
+ return;
1652
+ }
1653
+ targetNode.classList.add("".concat(resolveClassName('tree-drop-active')));
1654
+ var sourceNodeId = e.dataTransfer.getData('node-id');
1655
+ sourceNodeId = dragNodeId;
1656
+ var targetNodeId = targetNode.getAttribute('data-tree-node');
1657
+ var transferEffect = isNodeSortable(sourceNodeId, targetNodeId) ? 'move' : 'none';
1658
+ e.dataTransfer.effectAllowed = transferEffect;
1659
+ e.dataTransfer.dropEffect = transferEffect;
1660
+ };
1661
+ var handleTreeNodeDragStart = function handleTreeNodeDragStart(e) {
1662
+ e.dataTransfer.effectAllowed = 'move';
1663
+ e.dataTransfer.dropEffect = 'move';
1664
+ var targetNode = getTargetTreeNode(e);
1665
+ e.dataTransfer.setData('text/plain', '');
1666
+ var nodeId = targetNode.getAttribute('data-tree-node');
1667
+ dragNodeId = nodeId;
1668
+ e.dataTransfer.setData('node-id', nodeId);
1669
+ ctx.emit(EVENTS.NODE_DRAG_START, e, targetNode);
1670
+ };
1671
+ var handleTreeNodeDrop = function handleTreeNodeDrop(e) {
1672
+ /** firefox的drop事件必须调用preventDefault()和stopPropagation(), 否则会自动重定向 */
1673
+ e.preventDefault();
1674
+ e.stopPropagation();
1675
+ var targetNode = getTargetTreeNode(e);
1676
+ targetNode.classList.remove("".concat(resolveClassName('tree-drop-active')), "".concat(resolveClassName('tree-drop-disabled')));
1677
+ var data = extendNodeAttr(getNodeByTargetTreeNode(targetNode));
1678
+ if (isNeedCheckDroppable.value && props.disableDrop(data)) {
1679
+ return;
1680
+ }
1681
+ var sourceNodeId = dragNodeId; // e.dataTransfer.getData('node-id');
1682
+ var targetNodeId = targetNode.getAttribute('data-tree-node');
1683
+ Reflect.apply(props.dragSort ? dragSortData : dragAsChildNode, use_node_drag_this, [sourceNodeId, targetNodeId]);
1684
+ ctx.emit(EVENTS.NODE_DROP, e, targetNode, data);
1685
+ };
1686
+ var isNodeSortable = function isNodeSortable(sourceId, targetId) {
1687
+ var sourcePath = getNodePathById(sourceId);
1688
+ var targetPath = getNodePathById(targetId);
1689
+ // if (!sourcePath || targetPath) {
1690
+ // return false;
1691
+ // }
1692
+ var sourceParentNodeId = getNodeParentIdById(sourceId);
1693
+ var targetParentNode = getNodeParentIdById(targetId);
1694
+ if (sourceParentNodeId === targetParentNode) {
1695
+ return true;
1696
+ }
1697
+ return sourcePath.indexOf(targetPath) === -1 && targetPath.indexOf(sourcePath) === -1;
1698
+ };
1699
+ var dragSortData = function dragSortData(sourceId, targetId) {
1700
+ if (!isNodeSortable(sourceId, targetId)) {
1701
+ return;
1702
+ }
1703
+ var sourceNodeData = JSON.parse(JSON.stringify(getSourceNodeByUID(sourceId)));
1704
+ var targetNodeData = JSON.parse(JSON.stringify(getSourceNodeByUID(targetId)));
1705
+ var sourceNodeParent = getParentNodeData(sourceId);
1706
+ var targetNodeParent = getParentNodeData(targetId);
1707
+ var sourceNodeIndex = getNodeAttrById(sourceId, NODE_ATTRIBUTES.INDEX);
1708
+ var targetNodeIndex = getNodeAttrById(targetId, NODE_ATTRIBUTES.INDEX);
1709
+ sourceNodeParent === null || sourceNodeParent === void 0 ? void 0 : sourceNodeParent[props.children].splice(sourceNodeIndex, 1, targetNodeData);
1710
+ targetNodeParent === null || targetNodeParent === void 0 ? void 0 : targetNodeParent[props.children].splice(targetNodeIndex, 1, sourceNodeData);
1711
+ };
1712
+ var dragAsChildNode = function dragAsChildNode(sourceNodeId, targetNodeId) {
1713
+ var sourceNodeData = getSourceNodeByUID(sourceNodeId);
1714
+ var targetNodeData = getSourceNodeByUID(targetNodeId);
1715
+ var parentNode = null;
1716
+ if (isRootNode(sourceNodeId)) {
1717
+ parentNode = props.data;
1718
+ } else {
1719
+ var sourceNodeParentId = getNodeParentIdById(sourceNodeId);
1720
+ if (sourceNodeParentId !== undefined && sourceNodeParentId !== null) {
1721
+ var _parentNode;
1722
+ parentNode = getSourceNodeByUID(sourceNodeParentId);
1723
+ var sourceNodeIndex = getNodeAttrById(sourceNodeId, NODE_ATTRIBUTES.INDEX);
1724
+ (_parentNode = parentNode) === null || _parentNode === void 0 ? void 0 : _parentNode[props.children].splice(sourceNodeIndex, 1);
1725
+ }
1726
+ }
1727
+ if (!targetNodeData[props.children]) {
1728
+ targetNodeData[props.children] = [];
1729
+ }
1730
+ targetNodeData[props.children].unshift(sourceNodeData);
1731
+ };
1732
+ var handleTreeNodeDragLeave = function handleTreeNodeDragLeave(e) {
1733
+ e.preventDefault();
1734
+ var targetNode = getTargetTreeNode(e);
1735
+ targetNode.classList.remove("".concat(resolveClassName('tree-drop-active')), "".concat(resolveClassName('tree-drop-disabled')));
1736
+ ctx.emit(EVENTS.NODE_DRAG_LEAVE, e, targetNode);
1737
+ };
1738
+ (0,external_vue_namespaceObject.onMounted)(function () {
1739
+ if (props.draggable && root.value) {
1740
+ var rootTree = root.value.$el;
1741
+ rootTree.addEventListener('mousedown', handleTreeNodeMousedown);
1742
+ rootTree.addEventListener('dragstart', handleTreeNodeDragStart);
1743
+ rootTree.addEventListener('dragover', handleTreeNodeDragover);
1744
+ rootTree.addEventListener('dragleave', handleTreeNodeDragLeave);
1745
+ rootTree.addEventListener('drop', handleTreeNodeDrop);
1746
+ }
1747
+ });
1748
+ (0,external_vue_namespaceObject.onUnmounted)(function () {
1749
+ if (props.draggable && root.value) {
1750
+ var rootTree = root.value.$el;
1751
+ rootTree.removeEventListener('mousedown', handleTreeNodeMousedown);
1752
+ rootTree.removeEventListener('dragstart', handleTreeNodeDragStart);
1753
+ rootTree.removeEventListener('dragover', handleTreeNodeDragover);
1754
+ rootTree.removeEventListener('dragleave', handleTreeNodeDragLeave);
1755
+ rootTree.removeEventListener('drop', handleTreeNodeDrop);
1756
+ }
1757
+ });
1758
+ });
1759
+ ;// CONCATENATED MODULE: ../../packages/tree/src/use-search.tsx
1760
+
1761
+ var use_search_this = undefined;
1762
+ /*
1763
+ * Tencent is pleased to support the open source community by making
1764
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
1765
+ *
1766
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
1767
+ *
1768
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
1769
+ *
1770
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
1771
+ *
1772
+ * ---------------------------------------------------
1773
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
1774
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
1775
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
1776
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1777
+ *
1778
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
1779
+ * the Software.
1780
+ *
1781
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
1782
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1783
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
1784
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
1785
+ * IN THE SOFTWARE.
1786
+ */
1787
+
1788
+ /* harmony default export */ const use_search = (function (props) {
1789
+ var _props$search;
1790
+ var refSearch = (0,external_vue_namespaceObject.toRef)(props, 'search');
1791
+ var _ref = (_props$search = props.search) !== null && _props$search !== void 0 ? _props$search : {},
1792
+ _ref$resultType = _ref.resultType,
1793
+ resultType = _ref$resultType === void 0 ? 'tree' : _ref$resultType,
1794
+ _ref$showChildNodes = _ref.showChildNodes,
1795
+ showChildNodes = _ref$showChildNodes === void 0 ? true : _ref$showChildNodes;
1796
+ var isCommonType = function isCommonType(val) {
1797
+ return ['string', 'number', 'boolean'].includes(_typeof(val));
1798
+ };
1799
+ var exactMath = function exactMath(matchValue, itemValue) {
1800
+ return matchValue === itemValue;
1801
+ };
1802
+ var regMatch = function regMatch(matchValue, itemValue) {
1803
+ return new RegExp("".concat(matchValue), 'i').test("".concat(itemValue));
1804
+ };
1805
+ var matchFn = function matchFn(match, args) {
1806
+ return Reflect.apply(match, use_search_this, args);
1807
+ };
1808
+ var isSearchDisabled = refSearch.value === undefined || refSearch.value === false;
1809
+ var searchFn = function searchFn(itemValue, item) {
1810
+ if (isSearchDisabled) {
1811
+ return true;
1812
+ }
1813
+ if (isCommonType(refSearch.value)) {
1814
+ if ("".concat(refSearch.value).length === 0) {
1815
+ return false;
1816
+ }
1817
+ return matchFn(regMatch, [refSearch.value, itemValue, item]);
1818
+ }
1819
+ var _refSearch$value = refSearch.value,
1820
+ _refSearch$value$valu = _refSearch$value.value,
1821
+ value = _refSearch$value$valu === void 0 ? '' : _refSearch$value$valu,
1822
+ _refSearch$value$matc = _refSearch$value.match,
1823
+ match = _refSearch$value$matc === void 0 ? 'fuzzy' : _refSearch$value$matc;
1824
+ var defultMatch = match === 'fuzzy' ? regMatch : exactMath;
1825
+ var matchCallback = typeof match === 'function' ? match : defultMatch;
1826
+ if ("".concat(value).length === 0) {
1827
+ return false;
1828
+ }
1829
+ return matchFn(matchCallback, [value, itemValue, item]);
1830
+ };
1831
+ var isSearchActive = (0,external_vue_namespaceObject.computed)(function () {
1832
+ if (refSearch.value === false) {
1833
+ return false;
1834
+ }
1835
+ if (isCommonType(refSearch.value)) {
1836
+ return "".concat(refSearch.value).length > 0;
1837
+ }
1838
+ var _refSearch$value$valu2 = refSearch.value.value,
1839
+ value = _refSearch$value$valu2 === void 0 ? '' : _refSearch$value$valu2;
1840
+ return "".concat(value).length > 0;
1841
+ });
1842
+ /**
1843
+ * 索索结果展示为Tree
1844
+ */
1845
+ var isTreeUI = (0,external_vue_namespaceObject.computed)(function () {
1846
+ return resultType === 'tree';
1847
+ });
1848
+ return {
1849
+ searchFn: searchFn,
1850
+ refSearch: refSearch,
1851
+ isSearchActive: isSearchActive,
1852
+ isSearchDisabled: isSearchDisabled,
1853
+ resultType: resultType,
1854
+ isTreeUI: isTreeUI,
1855
+ showChildNodes: showChildNodes
1856
+ };
1857
+ });
1858
+ ;// CONCATENATED MODULE: ../../node_modules/uuid/dist/esm-browser/native.js
1859
+ const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
1860
+ /* harmony default export */ const esm_browser_native = ({
1861
+ randomUUID
1862
+ });
1863
+ ;// CONCATENATED MODULE: ../../node_modules/uuid/dist/esm-browser/rng.js
1864
+ // Unique ID creation requires a high quality random # generator. In the browser we therefore
1865
+ // require the crypto API and do not support built-in fallback to lower quality random number
1866
+ // generators (like Math.random()).
1867
+ let getRandomValues;
1868
+ const rnds8 = new Uint8Array(16);
1869
+ function rng() {
1870
+ // lazy load so that environments that need to polyfill have a chance to do so
1871
+ if (!getRandomValues) {
1872
+ // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
1873
+ getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
1874
+
1875
+ if (!getRandomValues) {
1876
+ throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
1877
+ }
1878
+ }
1879
+
1880
+ return getRandomValues(rnds8);
1881
+ }
1882
+ ;// CONCATENATED MODULE: ../../node_modules/uuid/dist/esm-browser/stringify.js
1883
+
1884
+ /**
1885
+ * Convert array of 16 byte values to UUID string format of the form:
1886
+ * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
1887
+ */
1888
+
1889
+ const byteToHex = [];
1890
+
1891
+ for (let i = 0; i < 256; ++i) {
1892
+ byteToHex.push((i + 0x100).toString(16).slice(1));
1893
+ }
1894
+
1895
+ function unsafeStringify(arr, offset = 0) {
1896
+ // Note: Be careful editing this code! It's been tuned for performance
1897
+ // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
1898
+ return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
1899
+ }
1900
+
1901
+ function stringify(arr, offset = 0) {
1902
+ const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one
1903
+ // of the following:
1904
+ // - One or more input array values don't map to a hex octet (leading to
1905
+ // "undefined" in the uuid)
1906
+ // - Invalid input values for the RFC `version` or `variant` fields
1907
+
1908
+ if (!validate(uuid)) {
1909
+ throw TypeError('Stringified UUID is invalid');
1910
+ }
1911
+
1912
+ return uuid;
1913
+ }
1914
+
1915
+ /* harmony default export */ const esm_browser_stringify = ((/* unused pure expression or super */ null && (stringify)));
1916
+ ;// CONCATENATED MODULE: ../../node_modules/uuid/dist/esm-browser/v4.js
1917
+
1918
+
1919
+
1920
+
1921
+ function v4(options, buf, offset) {
1922
+ if (esm_browser_native.randomUUID && !buf && !options) {
1923
+ return esm_browser_native.randomUUID();
1924
+ }
1925
+
1926
+ options = options || {};
1927
+ const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
1928
+
1929
+ rnds[6] = rnds[6] & 0x0f | 0x40;
1930
+ rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
1931
+
1932
+ if (buf) {
1933
+ offset = offset || 0;
1934
+
1935
+ for (let i = 0; i < 16; ++i) {
1936
+ buf[offset + i] = rnds[i];
1937
+ }
1938
+
1939
+ return buf;
1940
+ }
1941
+
1942
+ return unsafeStringify(rnds);
1943
+ }
1944
+
1945
+ /* harmony default export */ const esm_browser_v4 = (v4);
1946
+ ;// CONCATENATED MODULE: ../../packages/tree/src/use-tree-init.tsx
1947
+
1948
+
1949
+ var use_tree_init_this = undefined;
1950
+ /*
1951
+ * Tencent is pleased to support the open source community by making
1952
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
1953
+ *
1954
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
1955
+ *
1956
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
1957
+ *
1958
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
1959
+ *
1960
+ * ---------------------------------------------------
1961
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
1962
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
1963
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
1964
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1965
+ *
1966
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
1967
+ * the Software.
1968
+ *
1969
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
1970
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1971
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
1972
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
1973
+ * IN THE SOFTWARE.
1974
+ */
1975
+
1976
+
1977
+
1978
+
1979
+
1980
+ /* harmony default export */ const use_tree_init = (function (props) {
1981
+ var _props$async3;
1982
+ /**
1983
+ * 扁平化当前数据
1984
+ * @param treeData 树形结构数据
1985
+ * @param cachedSchema 缓存数据
1986
+ * @returns
1987
+ */
1988
+ var getFlatdata = function getFlatdata() {
1989
+ var _cachedDefaultVal;
1990
+ var treeData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : undefined;
1991
+ var cachedSchema = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1992
+ var data = props.data,
1993
+ children = props.children;
1994
+ var checkedList = [];
1995
+ var outputData = [];
1996
+ var order = 0;
1997
+ var treeSchema = new WeakMap();
1998
+ /**
1999
+ * 递归更新节点属性
2000
+ * @param node 当前节点
2001
+ * @param attrName 需要更新的节点属性名称
2002
+ * @param attrValue 需要更新的节点属性值
2003
+ * @param callFn 回调函数
2004
+ * @returns
2005
+ */
2006
+ function loopUpdateNodeAttr(node, attrName, attrValue, callFn) {
2007
+ if (node === undefined || node === null) {
2008
+ return;
2009
+ }
2010
+ if (treeSchema.has(node)) {
2011
+ var target = treeSchema.get(node);
2012
+ if (Object.prototype.hasOwnProperty.call(target, attrName)) {
2013
+ if (typeof callFn === 'function' && Reflect.apply(callFn, self, [target, attrName, attrValue, node])) {
2014
+ if (target[attrName] === attrValue) {
2015
+ return;
2016
+ }
2017
+ Object.assign(target, _defineProperty({}, attrName, attrValue));
2018
+ loopUpdateNodeAttr(target[NODE_ATTRIBUTES.PARENT], attrName, attrValue, callFn);
2019
+ }
2020
+ }
2021
+ }
2022
+ }
2023
+ function getUid(item) {
2024
+ var uid = null;
2025
+ if (typeof props.nodeKey === 'string') {
2026
+ uid = item[props.nodeKey] || esm_browser_v4();
2027
+ }
2028
+ return uid || item[NODE_ATTRIBUTES.UUID] || esm_browser_v4();
2029
+ }
2030
+ /**
2031
+ * 默认设置
2032
+ * 如果传入数据没有设置相关属性值
2033
+ * 这里会自动生成
2034
+ */
2035
+ var cachedDefaultVal = (_cachedDefaultVal = {}, _defineProperty(_cachedDefaultVal, NODE_ATTRIBUTES.IS_OPEN, function () {
2036
+ return !!props.expandAll;
2037
+ }), _defineProperty(_cachedDefaultVal, NODE_ATTRIBUTES.IS_CHECKED, function () {
2038
+ return false;
2039
+ }), _defineProperty(_cachedDefaultVal, NODE_ATTRIBUTES.IS_MATCH, function () {
2040
+ return false;
2041
+ }), _defineProperty(_cachedDefaultVal, NODE_ATTRIBUTES.IS_SELECTED, function (node, uuid) {
2042
+ return resolvePropIsMatched(node, props.selected, uuid);
2043
+ }), _defineProperty(_cachedDefaultVal, NODE_ATTRIBUTES.IS_CACHED, function () {
2044
+ return false;
2045
+ }), _defineProperty(_cachedDefaultVal, NODE_ATTRIBUTES.IS_ASYNC, function () {
2046
+ return null;
2047
+ }), _defineProperty(_cachedDefaultVal, NODE_ATTRIBUTES.IS_LOADING, function () {
2048
+ return false;
2049
+ }), _cachedDefaultVal);
2050
+ /**
2051
+ * 根据Props设置和已缓存数据解析当前节点对应属性值
2052
+ * @param uuid 当前节点id
2053
+ * @param node 当前节点
2054
+ * @param cachedAttr 当前节点属性名称
2055
+ * @param defVal 默认值
2056
+ */
2057
+ function getCachedTreeNodeAttr(uuid, node, cachedAttr) {
2058
+ var _cachedSchema$get;
2059
+ var defVal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;
2060
+ var defaultValue = defVal;
2061
+ // 设置默认值
2062
+ if (defVal === undefined && typeof cachedDefaultVal[cachedAttr] === 'function') {
2063
+ defaultValue = cachedDefaultVal[cachedAttr](node, uuid);
2064
+ }
2065
+ // 通过映射配置,检查当前数据是否设置相关属性值
2066
+ // 如果传入数据设置了相关属性值,则返回传入数据设置值
2067
+ var sourceAttr = NODE_SOURCE_ATTRS[cachedAttr];
2068
+ if (Object.prototype.hasOwnProperty.call(node, sourceAttr)) {
2069
+ return node[sourceAttr];
2070
+ }
2071
+ // 判断是缓存数据是否已经处理过此属性
2072
+ // 在数据改变时,如果缓存数据没有处理过此属性,则返回默认值
2073
+ var cached = (_cachedSchema$get = cachedSchema === null || cachedSchema === void 0 ? void 0 : cachedSchema.get(node)) !== null && _cachedSchema$get !== void 0 ? _cachedSchema$get : undefined;
2074
+ var result = undefined;
2075
+ if (cached) {
2076
+ result = cached[cachedAttr];
2077
+ }
2078
+ // 处理默认值
2079
+ if (result === undefined || result === null) {
2080
+ result = defaultValue;
2081
+ }
2082
+ return result;
2083
+ }
2084
+ /**
2085
+ * 当前节点是否是选中状态
2086
+ * @param uuid 当前节点id
2087
+ * @param node 当前节点
2088
+ * @returns
2089
+ */
2090
+ function isCachedTreeNodeSelected(uuid, node) {
2091
+ if (!props.selectable) {
2092
+ return false;
2093
+ }
2094
+ var isMatch = resolvePropIsMatched(node, props.selected, uuid);
2095
+ return getCachedTreeNodeAttr(uuid, node, NODE_ATTRIBUTES.IS_SELECTED, isMatch);
2096
+ }
2097
+ function isNodeOpend(uuid, item, parent) {
2098
+ var _treeSchema$get;
2099
+ var isItemOpened = getCachedTreeNodeAttr(uuid, item, NODE_ATTRIBUTES.IS_OPEN);
2100
+ var isParentOpened = treeSchema.has(parent) ? (_treeSchema$get = treeSchema.get(parent)) === null || _treeSchema$get === void 0 ? void 0 : _treeSchema$get[NODE_ATTRIBUTES.IS_OPEN] : true;
2101
+ return isItemOpened && isParentOpened;
2102
+ }
2103
+ function isCheckedNode(node, uuid, attributes) {
2104
+ var isChecked = showCheckbox(props, {
2105
+ data: node,
2106
+ attributes: attributes
2107
+ });
2108
+ if (!isChecked) {
2109
+ return false;
2110
+ }
2111
+ var isMatch = resolvePropIsMatched(node, props.checked, uuid);
2112
+ return getCachedTreeNodeAttr(uuid, node, NODE_ATTRIBUTES.IS_CHECKED, isMatch);
2113
+ }
2114
+ function validateIsOpenLoopFn(targetAttr) {
2115
+ var _targetAttr$NODE_ATTR;
2116
+ return !((_targetAttr$NODE_ATTR = targetAttr === null || targetAttr === void 0 ? void 0 : targetAttr[NODE_ATTRIBUTES.IS_OPEN]) !== null && _targetAttr$NODE_ATTR !== void 0 ? _targetAttr$NODE_ATTR : false);
2117
+ }
2118
+ function loopUpdateCheckedEvent(target, _attrName, _attrValue, node) {
2119
+ target[NODE_ATTRIBUTES.IS_INDETERMINATE] = (node[props.children] || []).some(function (child) {
2120
+ var _treeSchema$get$NODE_, _treeSchema$get2;
2121
+ return !((_treeSchema$get$NODE_ = (_treeSchema$get2 = treeSchema.get(child)) === null || _treeSchema$get2 === void 0 ? void 0 : _treeSchema$get2[NODE_ATTRIBUTES.IS_CHECKED]) !== null && _treeSchema$get$NODE_ !== void 0 ? _treeSchema$get$NODE_ : false);
2122
+ });
2123
+ return true;
2124
+ }
2125
+ function flatten(array) {
2126
+ var depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
2127
+ var parent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
2128
+ var path = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
2129
+ var arrLength = array.length;
2130
+ for (var i = 0; i < arrLength; i++) {
2131
+ var item = array[i];
2132
+ if (Array.isArray(item)) {
2133
+ flatten(item, depth, parent, path);
2134
+ } else {
2135
+ if (_typeof(item) === 'object' && item !== null) {
2136
+ var _attributes;
2137
+ var currentPath = path !== null ? "".concat(path, "-").concat(i) : "".concat(i);
2138
+ var uuid = "".concat(getUid(item));
2139
+ var hasChildren = !!(item[children] || []).length;
2140
+ /**
2141
+ * 当前节点设置是否为展开状态
2142
+ */
2143
+ var isOpened = getCachedTreeNodeAttr(uuid, item, NODE_ATTRIBUTES.IS_OPEN);
2144
+ /**
2145
+ * 如果初始化发现当前属性为展开或者选中 & 设置了 autoOpenParentNode = true
2146
+ * 此时需要设置当前节点的所有父级节点都为展开状态
2147
+ */
2148
+ if (props.autoOpenParentNode) {
2149
+ isOpened && loopUpdateNodeAttr(parent, NODE_ATTRIBUTES.IS_OPEN, true, validateIsOpenLoopFn);
2150
+ } else {
2151
+ /**
2152
+ * 如果没有设置自动展开所有父级
2153
+ * 此时需要判定当前节点是否可以展开状态需要同时判定父级是否展开
2154
+ * 如果父级不是展开状态,此节点不能展示,应该也是关闭状态,只有当父级展开时,此节点才为展开状态
2155
+ */
2156
+ isOpened = isNodeOpend(uuid, item, parent);
2157
+ }
2158
+ var attributes = (_attributes = {}, _defineProperty(_attributes, NODE_ATTRIBUTES.DEPTH, depth), _defineProperty(_attributes, NODE_ATTRIBUTES.INDEX, i), _defineProperty(_attributes, NODE_ATTRIBUTES.UUID, uuid), _defineProperty(_attributes, NODE_ATTRIBUTES.PARENT, parent), _defineProperty(_attributes, NODE_ATTRIBUTES.HAS_CHILD, hasChildren), _defineProperty(_attributes, NODE_ATTRIBUTES.PATH, currentPath), _defineProperty(_attributes, NODE_ATTRIBUTES.IS_ROOT, parent === null), _defineProperty(_attributes, NODE_ATTRIBUTES.ORDER, order), _defineProperty(_attributes, NODE_ATTRIBUTES.IS_SELECTED, isCachedTreeNodeSelected(uuid, item)), _defineProperty(_attributes, NODE_ATTRIBUTES.IS_MATCH, getCachedTreeNodeAttr(uuid, item, NODE_ATTRIBUTES.IS_MATCH)), _defineProperty(_attributes, NODE_ATTRIBUTES.IS_OPEN, isOpened), _defineProperty(_attributes, NODE_ATTRIBUTES.IS_CHECKED, undefined), _defineProperty(_attributes, NODE_ATTRIBUTES.IS_CACHED, getCachedTreeNodeAttr(uuid, item, NODE_ATTRIBUTES.IS_CACHED)), _defineProperty(_attributes, NODE_ATTRIBUTES.IS_ASYNC, getCachedTreeNodeAttr(uuid, item, NODE_ATTRIBUTES.IS_ASYNC)), _defineProperty(_attributes, NODE_ATTRIBUTES.IS_LOADING, getCachedTreeNodeAttr(uuid, item, NODE_ATTRIBUTES.IS_LOADING)), _defineProperty(_attributes, NODE_ATTRIBUTES.IS_INDETERMINATE, false), _attributes);
2159
+ attributes[NODE_ATTRIBUTES.IS_CHECKED] = isCheckedNode(item, uuid, attributes);
2160
+ if (attributes[NODE_ATTRIBUTES.IS_CHECKED]) {
2161
+ checkedList.push(item);
2162
+ }
2163
+ treeSchema.set(item, attributes);
2164
+ outputData.push(item);
2165
+ order += 1;
2166
+ if (Object.prototype.hasOwnProperty.call(item, children)) {
2167
+ flatten(item[children] || [], depth + 1, item, currentPath);
2168
+ }
2169
+ }
2170
+ }
2171
+ }
2172
+ }
2173
+ flatten(treeData !== null && treeData !== void 0 ? treeData : data);
2174
+ if (props.showCheckbox !== false) {
2175
+ checkedList === null || checkedList === void 0 ? void 0 : checkedList.forEach(function (value) {
2176
+ loopUpdateNodeAttr(value, NODE_ATTRIBUTES.IS_CHECKED, true, loopUpdateCheckedEvent);
2177
+ });
2178
+ }
2179
+ return [outputData, treeSchema];
2180
+ };
2181
+ var formatData = getFlatdata();
2182
+ var nextLoopEvents = new Map();
2183
+ var afterSelectEvents = [];
2184
+ var afterSelectWatch = [];
2185
+ /**
2186
+ * 扁平化数据
2187
+ * schema: 需要展示连线时,用于计算连线高度
2188
+ */
2189
+ var flatData = (0,external_vue_namespaceObject.reactive)({
2190
+ data: formatData[0],
2191
+ schema: formatData[1],
2192
+ levelLineSchema: {}
2193
+ });
2194
+ var _useNodeAsync = use_node_async(props, flatData),
2195
+ asyncNodeClick = _useNodeAsync.asyncNodeClick,
2196
+ deepAutoOpen = _useNodeAsync.deepAutoOpen;
2197
+ /**
2198
+ * 抛出缓存函数,用于注册selected watch
2199
+ * @param event
2200
+ */
2201
+ var onSelected = function onSelected(event) {
2202
+ afterSelectEvents.push(event);
2203
+ };
2204
+ var registerNextLoop = function registerNextLoop(key, event) {
2205
+ var reset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
2206
+ if (reset && nextLoopEvents.has(key)) {
2207
+ nextLoopEvents["delete"](key);
2208
+ }
2209
+ nextLoopEvents.set(key, event);
2210
+ };
2211
+ var resolveEventOption = function resolveEventOption(event) {
2212
+ if (typeof event === 'function') {
2213
+ return {
2214
+ type: 'loop',
2215
+ fn: event
2216
+ };
2217
+ }
2218
+ if (_typeof(event) === 'object' && typeof event.type === 'string' && typeof event.fn === 'function') {
2219
+ return event;
2220
+ }
2221
+ console.error('loop event error', event);
2222
+ return null;
2223
+ };
2224
+ var executeFn = function executeFn(event) {
2225
+ var _resoveEvent$type;
2226
+ var resoveEvent = resolveEventOption(event);
2227
+ if (resoveEvent !== null) {
2228
+ Reflect.apply(resoveEvent.fn, use_tree_init_this, []);
2229
+ }
2230
+ return (_resoveEvent$type = resoveEvent === null || resoveEvent === void 0 ? void 0 : resoveEvent.type) !== null && _resoveEvent$type !== void 0 ? _resoveEvent$type : 'once';
2231
+ };
2232
+ var executeNextEvent = function executeNextEvent() {
2233
+ Array.from(nextLoopEvents.keys()).forEach(function (key) {
2234
+ var target = nextLoopEvents.get(key);
2235
+ if (Array.isArray(target)) {
2236
+ var clearList = [];
2237
+ target.forEach(function (event, index) {
2238
+ var result = executeFn(event);
2239
+ if (result === 'once') {
2240
+ clearList.unshift(index);
2241
+ }
2242
+ });
2243
+ if (clearList.length) {
2244
+ clearList.forEach(function (index) {
2245
+ return target.splice(index, 1);
2246
+ });
2247
+ }
2248
+ if (target.length === 0) {
2249
+ nextLoopEvents["delete"](key);
2250
+ }
2251
+ } else {
2252
+ var result = executeFn(target);
2253
+ if (result === 'once') {
2254
+ nextLoopEvents["delete"](key);
2255
+ }
2256
+ }
2257
+ });
2258
+ };
2259
+ /**
2260
+ * 监听组件配置Data改变
2261
+ */
2262
+ (0,external_vue_namespaceObject.watch)(function () {
2263
+ return [props.data];
2264
+ }, function (newData) {
2265
+ var _props$async, _props$async2;
2266
+ var formatData = getFlatdata(newData, flatData.schema);
2267
+ flatData.data = formatData[0];
2268
+ flatData.schema = formatData[1];
2269
+ if ((_props$async = props.async) !== null && _props$async !== void 0 && _props$async.callback && ((_props$async2 = props.async) === null || _props$async2 === void 0 ? void 0 : _props$async2.deepAutoOpen) === 'every') {
2270
+ deepAutoOpen();
2271
+ }
2272
+ /**
2273
+ * 执行缓存下来的周期函数
2274
+ * 保证data改变之后执行相关操作
2275
+ */
2276
+ executeNextEvent();
2277
+ }, {
2278
+ deep: true
2279
+ });
2280
+ if (props.selectable) {
2281
+ (0,external_vue_namespaceObject.onMounted)(function () {
2282
+ (0,external_vue_namespaceObject.watch)(function () {
2283
+ return props.selected;
2284
+ }, function (newData) {
2285
+ // console.log('watch selected changed');
2286
+ afterSelectWatch.length = 0;
2287
+ afterSelectEvents.forEach(function (event) {
2288
+ Reflect.apply(event, use_tree_init_this, [newData]);
2289
+ /**
2290
+ * selected设置生效有可能会在props.data 改变之前
2291
+ * 此时需要缓存当前执行函数,保证在watch data change 之后执行
2292
+ */
2293
+ afterSelectWatch.push(function () {
2294
+ return Reflect.apply(event, use_tree_init_this, [newData]);
2295
+ });
2296
+ });
2297
+ registerNextLoop('afterSelectWatch', afterSelectWatch);
2298
+ }, {
2299
+ immediate: true
2300
+ });
2301
+ });
2302
+ }
2303
+ var afterDataUpdate = function afterDataUpdate(callFn) {
2304
+ registerNextLoop('afterDataUpdate', callFn);
2305
+ };
2306
+ /** 如果设置了异步请求 */
2307
+ if ((_props$async3 = props.async) !== null && _props$async3 !== void 0 && _props$async3.callback) {
2308
+ deepAutoOpen();
2309
+ }
2310
+ return {
2311
+ flatData: flatData,
2312
+ asyncNodeClick: asyncNodeClick,
2313
+ deepAutoOpen: deepAutoOpen,
2314
+ afterDataUpdate: afterDataUpdate,
2315
+ registerNextLoop: registerNextLoop,
2316
+ onSelected: onSelected
2317
+ };
2318
+ });
2319
+ ;// CONCATENATED MODULE: ../../packages/tree/src/tree.tsx
2320
+
2321
+ /*
2322
+ * Tencent is pleased to support the open source community by making
2323
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
2324
+ *
2325
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
2326
+ *
2327
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
2328
+ *
2329
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
2330
+ *
2331
+ * ---------------------------------------------------
2332
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
2333
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
2334
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
2335
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
2336
+ *
2337
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
2338
+ * the Software.
2339
+ *
2340
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
2341
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2342
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
2343
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
2344
+ * IN THE SOFTWARE.
2345
+ */
2346
+
2347
+
2348
+
2349
+
2350
+
2351
+
2352
+
2353
+
2354
+
2355
+
2356
+
2357
+
2358
+
2359
+ /* harmony default export */ const tree = ((0,external_vue_namespaceObject.defineComponent)({
2360
+ name: 'Tree',
2361
+ props: treeProps,
2362
+ emits: TreeEmitEventsType,
2363
+ setup: function setup(props, ctx) {
2364
+ var _useTreeInit = use_tree_init(props),
2365
+ flatData = _useTreeInit.flatData,
2366
+ onSelected = _useTreeInit.onSelected,
2367
+ registerNextLoop = _useTreeInit.registerNextLoop;
2368
+ var _useNodeAttribute = use_node_attribute(flatData, props),
2369
+ checkNodeIsOpen = _useNodeAttribute.checkNodeIsOpen,
2370
+ isRootNode = _useNodeAttribute.isRootNode,
2371
+ isNodeOpened = _useNodeAttribute.isNodeOpened,
2372
+ isNodeChecked = _useNodeAttribute.isNodeChecked,
2373
+ isNodeMatched = _useNodeAttribute.isNodeMatched,
2374
+ hasChildNode = _useNodeAttribute.hasChildNode,
2375
+ getNodePath = _useNodeAttribute.getNodePath,
2376
+ getNodeId = _useNodeAttribute.getNodeId;
2377
+ var _useSearch = use_search(props),
2378
+ searchFn = _useSearch.searchFn,
2379
+ isSearchActive = _useSearch.isSearchActive,
2380
+ refSearch = _useSearch.refSearch,
2381
+ isSearchDisabled = _useSearch.isSearchDisabled,
2382
+ isTreeUI = _useSearch.isTreeUI,
2383
+ showChildNodes = _useSearch.showChildNodes;
2384
+ var matchedNodePath = (0,external_vue_namespaceObject.reactive)([]);
2385
+ var filterFn = function filterFn(item) {
2386
+ if (isSearchActive.value) {
2387
+ if (showChildNodes) {
2388
+ return checkNodeIsOpen(item) && (isNodeMatched(item) || matchedNodePath.some(function (path) {
2389
+ var _getNodePath;
2390
+ return ((_getNodePath = getNodePath(item)) !== null && _getNodePath !== void 0 ? _getNodePath : '').indexOf(path) === 0;
2391
+ }));
2392
+ }
2393
+ return checkNodeIsOpen(item) && isNodeMatched(item);
2394
+ }
2395
+ return checkNodeIsOpen(item);
2396
+ };
2397
+ // 计算当前需要渲染的节点信息
2398
+ var renderData = (0,external_vue_namespaceObject.computed)(function () {
2399
+ return flatData.data.filter(function (item) {
2400
+ return filterFn(item);
2401
+ });
2402
+ });
2403
+ var _useNodeAction = use_node_action(props, ctx, flatData, renderData, {
2404
+ registerNextLoop: registerNextLoop
2405
+ }),
2406
+ renderTreeNode = _useNodeAction.renderTreeNode,
2407
+ handleTreeNodeClick = _useNodeAction.handleTreeNodeClick,
2408
+ setNodeOpened = _useNodeAction.setNodeOpened,
2409
+ setOpen = _useNodeAction.setOpen,
2410
+ setNodeAction = _useNodeAction.setNodeAction,
2411
+ setSelect = _useNodeAction.setSelect,
2412
+ asyncNodeClick = _useNodeAction.asyncNodeClick,
2413
+ setNodeAttribute = _useNodeAction.setNodeAttribute;
2414
+ var handleSearch = (0,external_shared_namespaceObject.debounce)(120, function () {
2415
+ matchedNodePath.length = 0;
2416
+ flatData.data.forEach(function (item) {
2417
+ var isMatch = searchFn(getLabel(item, props), item);
2418
+ if (isMatch) {
2419
+ matchedNodePath.push(getNodePath(item));
2420
+ }
2421
+ setNodeAttribute(item, [NODE_ATTRIBUTES.IS_MATCH], [isMatch], isTreeUI.value && isMatch);
2422
+ });
2423
+ });
2424
+ if (!isSearchDisabled) {
2425
+ (0,external_vue_namespaceObject.watch)([refSearch], function () {
2426
+ handleSearch();
2427
+ }, {
2428
+ deep: true,
2429
+ immediate: true
2430
+ });
2431
+ }
2432
+ var root = (0,external_vue_namespaceObject.ref)();
2433
+ /**
2434
+ * 设置指定节点是否选中
2435
+ * @param item Node item | Node Id
2436
+ * @param checked
2437
+ */
2438
+ var setChecked = function setChecked(item) {
2439
+ var checked = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
2440
+ setNodeAction(resolveNodeItem(item), NODE_ATTRIBUTES.IS_CHECKED, checked);
2441
+ };
2442
+ onSelected(function (newData) {
2443
+ setSelect(newData, true, props.autoOpenParentNode);
2444
+ });
2445
+ var getData = function getData() {
2446
+ return flatData;
2447
+ };
2448
+ (0,external_vue_namespaceObject.watch)(function () {
2449
+ return [props.checked];
2450
+ }, function () {
2451
+ setChecked(props.checked, true);
2452
+ });
2453
+ var reset = function reset() {
2454
+ var _root$value;
2455
+ (_root$value = root.value) === null || _root$value === void 0 ? void 0 : _root$value.reset();
2456
+ };
2457
+ /**
2458
+ * 将制定元素滚动到顶部
2459
+ * @param option
2460
+ */
2461
+ var scrollToTop = function scrollToTop(option) {
2462
+ if (option === undefined || option === null) {
2463
+ root.value.fixToTop({
2464
+ index: 1
2465
+ });
2466
+ return;
2467
+ }
2468
+ if (props.nodeKey && Object.prototype.hasOwnProperty.call(option, props.nodeKey)) {
2469
+ root.value.fixToTop({
2470
+ index: renderData.value.findIndex(function (node) {
2471
+ return node[props.nodeKey] === option[props.nodeKey];
2472
+ }) + 1
2473
+ });
2474
+ return;
2475
+ }
2476
+ if (option.id !== undefined && option.id !== null) {
2477
+ root.value.fixToTop({
2478
+ index: renderData.value.findIndex(function (node) {
2479
+ return node[props.nodeKey] === option.id;
2480
+ }) + 1
2481
+ });
2482
+ return;
2483
+ }
2484
+ if (option.index >= 0) {
2485
+ root.value.fixToTop({
2486
+ index: option.index
2487
+ });
2488
+ return;
2489
+ }
2490
+ var id = getNodeId(option);
2491
+ if (id) {
2492
+ root.value.fixToTop({
2493
+ index: renderData.value.findIndex(function (node) {
2494
+ return getNodeId(node) === id;
2495
+ }) + 1
2496
+ });
2497
+ return;
2498
+ }
2499
+ };
2500
+ ctx.expose({
2501
+ handleTreeNodeClick: handleTreeNodeClick,
2502
+ isNodeChecked: isNodeChecked,
2503
+ isRootNode: isRootNode,
2504
+ isNodeOpened: isNodeOpened,
2505
+ isNodeMatched: isNodeMatched,
2506
+ hasChildNode: hasChildNode,
2507
+ setOpen: setOpen,
2508
+ setChecked: setChecked,
2509
+ setNodeAction: setNodeAction,
2510
+ setNodeOpened: setNodeOpened,
2511
+ setSelect: setSelect,
2512
+ scrollToTop: scrollToTop,
2513
+ asyncNodeClick: asyncNodeClick,
2514
+ getData: getData,
2515
+ reset: reset
2516
+ });
2517
+ var _useEmpty = use_empty(props),
2518
+ renderEmpty = _useEmpty.renderEmpty;
2519
+ use_node_drag(props, ctx, root, flatData);
2520
+ var renderTreeContent = function renderTreeContent(scopedData) {
2521
+ var _ctx$slots$empty, _ctx$slots$empty2, _ctx$slots;
2522
+ if (scopedData.length) {
2523
+ return scopedData.map(function (d) {
2524
+ return renderTreeNode(d, !isSearchActive.value || isTreeUI.value);
2525
+ });
2526
+ }
2527
+ var emptyType = isSearchActive.value ? 'search-empty' : 'empty';
2528
+ return (_ctx$slots$empty = (_ctx$slots$empty2 = (_ctx$slots = ctx.slots).empty) === null || _ctx$slots$empty2 === void 0 ? void 0 : _ctx$slots$empty2.call(_ctx$slots)) !== null && _ctx$slots$empty !== void 0 ? _ctx$slots$empty : renderEmpty(emptyType);
2529
+ };
2530
+ var _usePrefix = (0,external_config_provider_namespaceObject.usePrefix)(),
2531
+ resolveClassName = _usePrefix.resolveClassName;
2532
+ return function () {
2533
+ return (0,external_vue_namespaceObject.createVNode)(external_virtual_render_namespaceObject["default"], {
2534
+ "class": resolveClassName('tree'),
2535
+ "style": getTreeStyle(null, props),
2536
+ "list": renderData.value,
2537
+ "lineHeight": props.lineHeight,
2538
+ "height": props.height,
2539
+ "enabled": props.virtualRender,
2540
+ "rowKey": NODE_ATTRIBUTES.UUID,
2541
+ "keepAlive": true,
2542
+ "contentClassName": resolveClassName('container'),
2543
+ "throttleDelay": 0,
2544
+ "ref": root
2545
+ }, {
2546
+ "default": function _default(scoped) {
2547
+ return renderTreeContent(scoped.data || []);
2548
+ }
2549
+ });
2550
+ };
2551
+ }
2552
+ }));
2553
+ ;// CONCATENATED MODULE: ../../packages/tree/src/index.ts
2554
+ /*
2555
+ * Tencent is pleased to support the open source community by making
2556
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
2557
+ *
2558
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
2559
+ *
2560
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
2561
+ *
2562
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
2563
+ *
2564
+ * ---------------------------------------------------
2565
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
2566
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
2567
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
2568
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
2569
+ *
2570
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
2571
+ * the Software.
2572
+ *
2573
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
2574
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
2575
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
2576
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
2577
+ * IN THE SOFTWARE.
2578
+ */
2579
+
2580
+
2581
+ var BkTree = (0,external_shared_namespaceObject.withInstall)(tree);
2582
+ /* harmony default export */ const src = (BkTree);
2583
+ var __webpack_exports__default = __webpack_exports__.Z;
2584
+ export { __webpack_exports__default as default };