tntd 2.8.23 → 2.8.24

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 (402) hide show
  1. package/CHANGELOG.json +1034 -0
  2. package/CHANGELOG.md +605 -0
  3. package/es/alert/alert.js +71 -0
  4. package/es/alert/alert.js.map +1 -0
  5. package/es/alert/alert.less +128 -0
  6. package/es/cascader/cascader.js +30 -0
  7. package/es/cascader/cascader.js.map +1 -0
  8. package/es/cascader/cascader.less +16 -0
  9. package/es/checkbox/check.png +0 -0
  10. package/es/checkbox/checkbox.js +48 -0
  11. package/es/checkbox/checkbox.js.map +1 -0
  12. package/es/checkbox/checkbox.less +69 -0
  13. package/es/date-picker/DatePicker.js +101 -0
  14. package/es/date-picker/DatePicker.js.map +1 -0
  15. package/es/date-picker/index.less +294 -0
  16. package/es/input-number/inputNumber.js +34 -0
  17. package/es/input-number/inputNumber.js.map +1 -0
  18. package/es/input-number/inputNumber.less +12 -0
  19. package/es/modal/index.less +36 -0
  20. package/es/popconfirm/index.less +32 -0
  21. package/es/popconfirm/popconfirm.js +43 -0
  22. package/es/popconfirm/popconfirm.js.map +1 -0
  23. package/es/popover/index.less +57 -0
  24. package/es/popover/popover.js +34 -0
  25. package/es/popover/popover.js.map +1 -0
  26. package/es/progress/progress.js +132 -0
  27. package/es/progress/progress.js.map +1 -0
  28. package/es/progress/progress.less +82 -0
  29. package/es/query-form/Field/Composition/FieldPopover.js +304 -0
  30. package/es/query-form/Field/Composition/FieldPopover.js.map +1 -0
  31. package/es/query-form/Field/Composition/Select.js +122 -0
  32. package/es/query-form/Field/Composition/Select.js.map +1 -0
  33. package/es/query-form/Field/Composition/ValueTag.js +124 -0
  34. package/es/query-form/Field/Composition/ValueTag.js.map +1 -0
  35. package/es/query-form/Field/Composition/index.js +233 -0
  36. package/es/query-form/Field/Composition/index.js.map +1 -0
  37. package/es/query-form/Field/Composition/utils.js +154 -0
  38. package/es/query-form/Field/Composition/utils.js.map +1 -0
  39. package/es/query-form-backup/Field/Composition/FieldPopover.less +35 -0
  40. package/es/query-form-backup/Field/Composition/index.less +114 -0
  41. package/es/query-form-backup/index.less +90 -0
  42. package/es/radio/radio.js +57 -0
  43. package/es/radio/radio.js.map +1 -0
  44. package/es/radio/radio.less +43 -0
  45. package/es/scroll-bar/Bar.js +56 -0
  46. package/es/scroll-bar/Bar.js.map +1 -0
  47. package/es/scroll-bar/Context.js +6 -0
  48. package/es/scroll-bar/Context.js.map +1 -0
  49. package/es/scroll-bar/ScrollBar.js +86 -0
  50. package/es/scroll-bar/ScrollBar.js.map +1 -0
  51. package/es/scroll-bar/Thumb.js +105 -0
  52. package/es/scroll-bar/Thumb.js.map +1 -0
  53. package/es/scroll-bar/index.js +3 -0
  54. package/es/scroll-bar/index.js.map +1 -0
  55. package/es/scroll-bar/util.js +31 -0
  56. package/es/scroll-bar/util.js.map +1 -0
  57. package/es/spin/spin.js +36 -0
  58. package/es/spin/spin.js.map +1 -0
  59. package/es/spin/spin.less +9 -0
  60. package/es/steps/assets/background_left.svg +12 -0
  61. package/es/steps/assets/background_right.svg +12 -0
  62. package/es/steps/assets/horizontal_line.svg +3 -0
  63. package/es/steps/assets/vertical_line.svg +3 -0
  64. package/es/steps/stepStyle/icon.less +51 -0
  65. package/es/steps/stepStyle/progress-dot.less +10 -0
  66. package/es/steps/stepStyle/variables.less +8 -0
  67. package/es/steps/stepStyle/vertical.less +41 -0
  68. package/es/switch/index.less +45 -0
  69. package/es/table/resizableTable/index.less +1 -1
  70. package/es/tabs/tabs.less +125 -0
  71. package/es/time-picker/TimePicker.js +36 -0
  72. package/es/time-picker/TimePicker.js.map +1 -0
  73. package/es/time-picker/index.less +38 -0
  74. package/es/tntd-action/Action.js +117 -0
  75. package/es/tntd-action/Action.js.map +1 -0
  76. package/es/tntd-action/index.less +61 -0
  77. package/es/tntd-rc-select/style/index.less +27 -19
  78. package/es/tntd-select/index.less +7 -0
  79. package/es/tntd-virtual-tree/index.js +21 -14
  80. package/es/tntd-virtual-tree/index.js.map +1 -1
  81. package/es/tntd-virtual-tree/index.less +10 -7
  82. package/es/tntd-virtual-tree-select/index.js +2 -2
  83. package/es/tntd-virtual-tree-select/index.js.map +1 -1
  84. package/es/tntd-virtual-tree-select/index.less +0 -17
  85. package/es/tntd-virtual-tree-select/utils.js +2 -2
  86. package/es/tntd-virtual-tree-select/utils.js.map +1 -1
  87. package/lib/_util/context.js +1 -1
  88. package/lib/_util/defaultRenderEmpty.js +1 -1
  89. package/lib/_util/hooks/useFlexGapSupport.js +4 -4
  90. package/lib/_util/hooks/useForceUpdate.js +4 -4
  91. package/lib/_util/responsiveObserve.js +1 -1
  92. package/lib/_util/styleChecker.js +1 -1
  93. package/lib/actions/index.js +1 -1
  94. package/lib/alert/alert.d.ts +12 -0
  95. package/lib/alert/alert.d.ts.map +1 -0
  96. package/lib/alert/alert.js +93 -0
  97. package/lib/alert/alert.js.map +1 -0
  98. package/lib/alert/alert.less +128 -0
  99. package/lib/array-input/index.js +9 -9
  100. package/lib/cascader/cascader.d.ts +10 -0
  101. package/lib/cascader/cascader.d.ts.map +1 -0
  102. package/lib/cascader/cascader.js +49 -0
  103. package/lib/cascader/cascader.js.map +1 -0
  104. package/lib/cascader/cascader.less +16 -0
  105. package/lib/check-card/group.js +8 -8
  106. package/lib/check-card/index.js +6 -6
  107. package/lib/checkbox/check.png +0 -0
  108. package/lib/checkbox/checkbox-group.js +1 -1
  109. package/lib/checkbox/checkbox.d.ts +16 -0
  110. package/lib/checkbox/checkbox.d.ts.map +1 -0
  111. package/lib/checkbox/checkbox.js +65 -0
  112. package/lib/checkbox/checkbox.js.map +1 -0
  113. package/lib/checkbox/checkbox.less +69 -0
  114. package/lib/color-picker/ColorPicker.js +6 -6
  115. package/lib/color-picker/index.js +1 -1
  116. package/lib/columns/index.js +1 -1
  117. package/lib/config-provider/config-provider.js +1 -1
  118. package/lib/date-picker/DatePicker.d.ts +21 -0
  119. package/lib/date-picker/DatePicker.d.ts.map +1 -0
  120. package/lib/date-picker/DatePicker.js +128 -0
  121. package/lib/date-picker/DatePicker.js.map +1 -0
  122. package/lib/date-picker/index.less +294 -0
  123. package/lib/descriptions/descriptions.js +5 -5
  124. package/lib/development-login/LoginModal.js +6 -6
  125. package/lib/development-login/index.js +4 -4
  126. package/lib/drawer/drawer.js +2 -2
  127. package/lib/ellipsis/Svg/CopySVG.js +1 -1
  128. package/lib/ellipsis/Svg/TickSVG.js +1 -1
  129. package/lib/ellipsis/index.js +5 -5
  130. package/lib/empty/empty.js +2 -2
  131. package/lib/empty/empty.stories.js +2 -2
  132. package/lib/exception/exception.js +1 -1
  133. package/lib/form/form.js +2 -2
  134. package/lib/grid-v4/col.js +2 -2
  135. package/lib/grid-v4/hooks/useBreakpoint.js +1 -1
  136. package/lib/grid-v4/index.js +1 -1
  137. package/lib/grid-v4/row.js +6 -6
  138. package/lib/handle/index.js +1 -1
  139. package/lib/handle-icon/index.js +11 -11
  140. package/lib/icon/IconFont.js +1 -1
  141. package/lib/icon/components/Icon.js +9 -9
  142. package/lib/icon/components/index.js +1 -1
  143. package/lib/icon/components/utils.js +3 -3
  144. package/lib/icon/index.js +7 -7
  145. package/lib/icon/twoTonePrimaryColor.js +1 -1
  146. package/lib/icon/utils.js +1 -1
  147. package/lib/img/Contain.js +1 -1
  148. package/lib/img/Cover.js +5 -5
  149. package/lib/img/index.js +5 -5
  150. package/lib/index.js +1 -1
  151. package/lib/input/input.js +2 -2
  152. package/lib/input-number/index.js +1 -1
  153. package/lib/input-number/inputNumber.d.ts +10 -0
  154. package/lib/input-number/inputNumber.d.ts.map +1 -0
  155. package/lib/input-number/inputNumber.js +54 -0
  156. package/lib/input-number/inputNumber.js.map +1 -0
  157. package/lib/input-number/inputNumber.less +12 -0
  158. package/lib/label/index.js +2 -2
  159. package/lib/loading-button/index.js +5 -5
  160. package/lib/locale/default.js +1 -1
  161. package/lib/locale/en_US.js +1 -1
  162. package/lib/locale/zh_CN.js +1 -1
  163. package/lib/modal/index.less +36 -0
  164. package/lib/modal/modal.js +1 -1
  165. package/lib/notification/assets/index.js +1 -1
  166. package/lib/notification/index.js +1 -1
  167. package/lib/notification/notification.js +1 -1
  168. package/lib/page/Box.js +1 -1
  169. package/lib/page/index.js +7 -7
  170. package/lib/page-container/index.js +1 -1
  171. package/lib/page-loading/index.js +1 -1
  172. package/lib/popconfirm/index.less +32 -0
  173. package/lib/popconfirm/popconfirm.d.ts +8 -0
  174. package/lib/popconfirm/popconfirm.d.ts.map +1 -0
  175. package/lib/popconfirm/popconfirm.js +61 -0
  176. package/lib/popconfirm/popconfirm.js.map +1 -0
  177. package/lib/popover/index.less +57 -0
  178. package/lib/popover/popover.d.ts +14 -0
  179. package/lib/popover/popover.d.ts.map +1 -0
  180. package/lib/popover/popover.js +55 -0
  181. package/lib/popover/popover.js.map +1 -0
  182. package/lib/preview-text/index.js +7 -7
  183. package/lib/progress/progress.d.ts +12 -0
  184. package/lib/progress/progress.d.ts.map +1 -0
  185. package/lib/progress/progress.js +148 -0
  186. package/lib/progress/progress.js.map +1 -0
  187. package/lib/progress/progress.less +82 -0
  188. package/lib/query-form/Field/Checkbox.js +1 -1
  189. package/lib/query-form/Field/Composition/FieldPopover.d.ts +19 -0
  190. package/lib/query-form/Field/Composition/FieldPopover.d.ts.map +1 -0
  191. package/lib/query-form/Field/Composition/FieldPopover.js +338 -0
  192. package/lib/query-form/Field/Composition/FieldPopover.js.map +1 -0
  193. package/lib/query-form/Field/Composition/Select.d.ts +4 -0
  194. package/lib/query-form/Field/Composition/Select.d.ts.map +1 -0
  195. package/lib/query-form/Field/Composition/Select.js +146 -0
  196. package/lib/query-form/Field/Composition/Select.js.map +1 -0
  197. package/lib/query-form/Field/Composition/ValueTag.d.ts +12 -0
  198. package/lib/query-form/Field/Composition/ValueTag.d.ts.map +1 -0
  199. package/lib/query-form/Field/Composition/ValueTag.js +153 -0
  200. package/lib/query-form/Field/Composition/ValueTag.js.map +1 -0
  201. package/lib/query-form/Field/Composition/index.d.ts +12 -0
  202. package/lib/query-form/Field/Composition/index.d.ts.map +1 -0
  203. package/lib/query-form/Field/Composition/index.js +277 -0
  204. package/lib/query-form/Field/Composition/index.js.map +1 -0
  205. package/lib/query-form/Field/Composition/utils.d.ts +22 -0
  206. package/lib/query-form/Field/Composition/utils.d.ts.map +1 -0
  207. package/lib/query-form/Field/Composition/utils.js +168 -0
  208. package/lib/query-form/Field/Composition/utils.js.map +1 -0
  209. package/lib/query-form/Field/Select.js +6 -6
  210. package/lib/query-form/Field/SelectInput.js +6 -6
  211. package/lib/query-form/Field/fieldsMap.js +1 -1
  212. package/lib/query-form/Field/index.js +10 -10
  213. package/lib/query-form/createActions.js +1 -1
  214. package/lib/query-form/index.js +10 -10
  215. package/lib/query-form/useForm.js +1 -1
  216. package/lib/query-form-backup/Field/Composition/FieldPopover.less +35 -0
  217. package/lib/query-form-backup/Field/Composition/index.less +114 -0
  218. package/lib/query-form-backup/index.less +90 -0
  219. package/lib/query-list-scene/List.js +13 -13
  220. package/lib/query-list-scene/QueryForm.js +10 -10
  221. package/lib/query-list-scene/QueryListScene.js +10 -10
  222. package/lib/query-list-scene/Title.js +1 -1
  223. package/lib/query-list-scene/Toolbar.js +2 -2
  224. package/lib/query-list-scene/createActions.js +1 -1
  225. package/lib/query-list-scene/index.js +1 -1
  226. package/lib/query-list-scene/useActions.js +1 -1
  227. package/lib/radio/index.js +1 -1
  228. package/lib/radio/radio-group.js +1 -1
  229. package/lib/radio/radio.d.ts +17 -0
  230. package/lib/radio/radio.d.ts.map +1 -0
  231. package/lib/radio/radio.js +75 -0
  232. package/lib/radio/radio.js.map +1 -0
  233. package/lib/radio/radio.less +43 -0
  234. package/lib/render-empty/render-empty.js +1 -1
  235. package/lib/scroll-bar/Bar.d.ts +4 -0
  236. package/lib/scroll-bar/Bar.d.ts.map +1 -0
  237. package/lib/scroll-bar/Bar.js +91 -0
  238. package/lib/scroll-bar/Bar.js.map +1 -0
  239. package/lib/scroll-bar/Context.d.ts +7 -0
  240. package/lib/scroll-bar/Context.d.ts.map +1 -0
  241. package/lib/scroll-bar/Context.js +13 -0
  242. package/lib/scroll-bar/Context.js.map +1 -0
  243. package/lib/scroll-bar/ScrollBar.d.ts +4 -0
  244. package/lib/scroll-bar/ScrollBar.d.ts.map +1 -0
  245. package/lib/scroll-bar/ScrollBar.js +97 -0
  246. package/lib/scroll-bar/ScrollBar.js.map +1 -0
  247. package/lib/scroll-bar/Thumb.d.ts +3 -0
  248. package/lib/scroll-bar/Thumb.d.ts.map +1 -0
  249. package/lib/scroll-bar/Thumb.js +125 -0
  250. package/lib/scroll-bar/Thumb.js.map +1 -0
  251. package/lib/scroll-bar/index.d.ts +3 -0
  252. package/lib/scroll-bar/index.d.ts.map +1 -0
  253. package/lib/scroll-bar/index.js +10 -0
  254. package/lib/scroll-bar/index.js.map +1 -0
  255. package/lib/scroll-bar/util.d.ts +40 -0
  256. package/lib/scroll-bar/util.d.ts.map +1 -0
  257. package/lib/scroll-bar/util.js +39 -0
  258. package/lib/scroll-bar/util.js.map +1 -0
  259. package/lib/segmented/index.js +2 -2
  260. package/lib/select/select.js +2 -2
  261. package/lib/spin/spin.d.ts +9 -0
  262. package/lib/spin/spin.d.ts.map +1 -0
  263. package/lib/spin/spin.js +44 -0
  264. package/lib/spin/spin.js.map +1 -0
  265. package/lib/spin/spin.less +9 -0
  266. package/lib/steps/assets/background_left.svg +12 -0
  267. package/lib/steps/assets/background_right.svg +12 -0
  268. package/lib/steps/assets/horizontal_line.svg +3 -0
  269. package/lib/steps/assets/vertical_line.svg +3 -0
  270. package/lib/steps/stepStyle/icon.less +51 -0
  271. package/lib/steps/stepStyle/progress-dot.less +10 -0
  272. package/lib/steps/stepStyle/variables.less +8 -0
  273. package/lib/steps/stepStyle/vertical.less +41 -0
  274. package/lib/steps/steps.js +2 -2
  275. package/lib/svg-components/index.js +1 -1
  276. package/lib/switch/index.less +45 -0
  277. package/lib/switch/switch.js +1 -1
  278. package/lib/table/hooks/use-column-setting.js +4 -4
  279. package/lib/table/hooks/use-expand-fixed.js +6 -6
  280. package/lib/table/resizableTable/index.js +6 -6
  281. package/lib/table/resizableTable/index.less +1 -1
  282. package/lib/table/table-hoc.js +1 -1
  283. package/lib/table/table.js +9 -9
  284. package/lib/table/table.stories.js +2 -2
  285. package/lib/table/total-shower.js +1 -1
  286. package/lib/table/utils.js +1 -1
  287. package/lib/table-container/index.js +1 -1
  288. package/lib/tabs/tabs.less +125 -0
  289. package/lib/tabs-container/index.js +1 -1
  290. package/lib/tag/tag.js +2 -2
  291. package/lib/time-picker/TimePicker.d.ts +9 -0
  292. package/lib/time-picker/TimePicker.d.ts.map +1 -0
  293. package/lib/time-picker/TimePicker.js +55 -0
  294. package/lib/time-picker/TimePicker.js.map +1 -0
  295. package/lib/time-picker/index.less +38 -0
  296. package/lib/title/index.js +1 -1
  297. package/lib/tntd-action/Action.d.ts +6 -0
  298. package/lib/tntd-action/Action.d.ts.map +1 -0
  299. package/lib/tntd-action/Action.js +141 -0
  300. package/lib/tntd-action/Action.js.map +1 -0
  301. package/lib/tntd-action/index.less +61 -0
  302. package/lib/tntd-cascader/AntdCascader/component/context.js +1 -1
  303. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +1 -1
  304. package/lib/tntd-cascader/AntdCascader/component/getIcons.js +1 -1
  305. package/lib/tntd-cascader/AntdCascader/component/useCompactItemContext.js +2 -2
  306. package/lib/tntd-cascader/AntdCascader/config/utils.js +2 -2
  307. package/lib/tntd-cascader/AntdCascader/index.js +7 -7
  308. package/lib/tntd-cascader/index.js +1 -1
  309. package/lib/tntd-cascader/rc-cascader/Cascader.js +8 -8
  310. package/lib/tntd-cascader/rc-cascader/OptionList/Checkbox.js +2 -2
  311. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js +7 -7
  312. package/lib/tntd-cascader/rc-cascader/OptionList/index.js +9 -9
  313. package/lib/tntd-cascader/rc-cascader/OptionList/useActive.js +5 -5
  314. package/lib/tntd-cascader/rc-cascader/OptionList/useKeyboard.js +8 -8
  315. package/lib/tntd-cascader/rc-cascader/hooks/useDisplayValues.js +5 -5
  316. package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +1 -1
  317. package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +6 -6
  318. package/lib/tntd-cascader/rc-cascader/index.js +1 -1
  319. package/lib/tntd-cascader/rc-cascader/utils/warningPropsUtil.js +4 -4
  320. package/lib/tntd-form/ErrorList.js +7 -7
  321. package/lib/tntd-form/Form.js +6 -6
  322. package/lib/tntd-form/FormItem/ItemHolder.js +6 -6
  323. package/lib/tntd-form/FormItem/index.js +8 -8
  324. package/lib/tntd-form/FormItemInput.js +1 -1
  325. package/lib/tntd-form/FormItemLabel.js +2 -2
  326. package/lib/tntd-form/FormList.js +1 -1
  327. package/lib/tntd-form/context.js +1 -1
  328. package/lib/tntd-form/hooks/useDebounce.js +4 -4
  329. package/lib/tntd-form/hooks/useForm.js +5 -5
  330. package/lib/tntd-form/hooks/useFormItemStatus.js +1 -1
  331. package/lib/tntd-form/hooks/useFrameState.js +5 -5
  332. package/lib/tntd-form/index.js +1 -1
  333. package/lib/tntd-icon/index.js +1 -1
  334. package/lib/tntd-layout/AppList.js +6 -6
  335. package/lib/tntd-layout/Application.js +6 -6
  336. package/lib/tntd-layout/Avatar.js +2 -2
  337. package/lib/tntd-layout/CompatibleLanguage.js +6 -6
  338. package/lib/tntd-layout/EnterpriseLayout/Avatar.js +2 -2
  339. package/lib/tntd-layout/EnterpriseLayout/Language.js +6 -6
  340. package/lib/tntd-layout/EnterpriseLayout/Theme.js +6 -6
  341. package/lib/tntd-layout/EnterpriseLayout/index.js +1 -1
  342. package/lib/tntd-layout/GlobalNavigation/NavigationPopup.js +6 -6
  343. package/lib/tntd-layout/GlobalNavigation/index.js +9 -9
  344. package/lib/tntd-layout/Header.js +2 -2
  345. package/lib/tntd-layout/HeaderActions.js +2 -2
  346. package/lib/tntd-layout/HeaderNavs.js +6 -6
  347. package/lib/tntd-layout/HeaderTabs.js +7 -7
  348. package/lib/tntd-layout/Iconfont.js +1 -1
  349. package/lib/tntd-layout/Language.js +6 -6
  350. package/lib/tntd-layout/Layout.js +6 -6
  351. package/lib/tntd-layout/Logo.js +2 -2
  352. package/lib/tntd-layout/OrgAppList.js +6 -6
  353. package/lib/tntd-layout/SideMenu.js +6 -6
  354. package/lib/tntd-layout/Theme.js +6 -6
  355. package/lib/tntd-layout/createActions.js +1 -1
  356. package/lib/tntd-layout/images/index.js +1 -1
  357. package/lib/tntd-layout/index.js +1 -1
  358. package/lib/tntd-layout/paaslayout/CompactSideMenu.js +6 -6
  359. package/lib/tntd-layout/paaslayout/Header.js +2 -2
  360. package/lib/tntd-layout/paaslayout/Logo.js +2 -2
  361. package/lib/tntd-layout/paaslayout/SideMenu.js +6 -6
  362. package/lib/tntd-layout/paaslayout/index.js +6 -6
  363. package/lib/tntd-layout/storage.js +1 -1
  364. package/lib/tntd-modal/index.js +6 -6
  365. package/lib/tntd-rc-select/_util/PurePanel.js +5 -5
  366. package/lib/tntd-rc-select/_util/context.js +1 -1
  367. package/lib/tntd-rc-select/_util/defaultRenderEmpty.js +1 -1
  368. package/lib/tntd-rc-select/_util/getIcons.js +1 -1
  369. package/lib/tntd-rc-select/_util/useCompactItemContext.js +2 -2
  370. package/lib/tntd-rc-select/index.js +2 -2
  371. package/lib/tntd-rc-select/style/index.less +27 -19
  372. package/lib/tntd-reference/AHref/index.js +1 -1
  373. package/lib/tntd-reference/ReferenceBatchCheck/index.js +1 -1
  374. package/lib/tntd-reference/ReferenceBatchDrawer/index.js +5 -5
  375. package/lib/tntd-reference/ReferenceCheck/index.js +1 -1
  376. package/lib/tntd-reference/ReferenceDrawer/index.js +5 -5
  377. package/lib/tntd-reference/ReferenceInfo/index.js +1 -1
  378. package/lib/tntd-reference/index.js +1 -1
  379. package/lib/tntd-second-page/index.js +1 -1
  380. package/lib/tntd-select/DropDownWrap.js +8 -8
  381. package/lib/tntd-select/index.js +10 -9
  382. package/lib/tntd-select/index.less +7 -0
  383. package/lib/tntd-virtual-tree/index.d.ts +1 -1
  384. package/lib/tntd-virtual-tree/index.d.ts.map +1 -1
  385. package/lib/tntd-virtual-tree/index.js +31 -22
  386. package/lib/tntd-virtual-tree/index.js.map +1 -1
  387. package/lib/tntd-virtual-tree/index.less +10 -7
  388. package/lib/tntd-virtual-tree/utils.js +28 -28
  389. package/lib/tntd-virtual-tree-select/index.d.ts +1 -1
  390. package/lib/tntd-virtual-tree-select/index.js +12 -13
  391. package/lib/tntd-virtual-tree-select/index.js.map +1 -1
  392. package/lib/tntd-virtual-tree-select/index.less +0 -17
  393. package/lib/tntd-virtual-tree-select/utils.js +11 -11
  394. package/lib/tntd-virtual-tree-select/utils.js.map +1 -1
  395. package/lib/tooltip/tooltip.js +1 -1
  396. package/lib/upload/index.js +6 -6
  397. package/lib/upload/svg/UploadSVG.js +1 -1
  398. package/lib/utils/checkAuth.js +4 -4
  399. package/lib/utils/index.js +9 -9
  400. package/lib/utils/lang.js +1 -1
  401. package/lib/water-mark/index.js +5 -5
  402. package/package.json +2 -2
@@ -17,22 +17,22 @@ var _prevLocale = require("../prev-locale");
17
17
  require("./index.less");
18
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
19
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
20
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
21
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
22
22
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
23
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
24
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
25
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
24
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
25
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
26
26
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
27
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
28
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
27
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
28
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
29
29
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
30
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /*
30
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } /*
31
31
  * @Descripttion: 基于antd3 tree 部分api实现的tree,增加了虚拟滚动
32
32
  * @Author: 郑泳健
33
33
  * @Date: 2024-07-31 14:46:55
34
34
  * @LastEditors: 郑泳健
35
- * @LastEditTime: 2024-10-29 11:09:48
35
+ * @LastEditTime: 2024-11-08 11:37:22
36
36
  */
37
37
  var VirtualTree = function VirtualTree(_ref) {
38
38
  var _ref$indent = _ref.indent,
@@ -40,7 +40,8 @@ var VirtualTree = function VirtualTree(_ref) {
40
40
  isOrg = _ref.isOrg,
41
41
  showPrefixIcon = _ref.showPrefixIcon,
42
42
  value = _ref.value,
43
- itemHeight = _ref.itemHeight,
43
+ _ref$itemHeight = _ref.itemHeight,
44
+ itemHeight = _ref$itemHeight === void 0 ? 38 : _ref$itemHeight,
44
45
  height = _ref.height,
45
46
  filterKey = _ref.filterKey,
46
47
  treeData = _ref.treeData,
@@ -209,7 +210,7 @@ var VirtualTree = function VirtualTree(_ref) {
209
210
  var mapResult = {
210
211
  1: {
211
212
  cn: '职能部门',
212
- en: 'Functional department',
213
+ en: 'Func. Dept.',
213
214
  icon: 'crowd'
214
215
  },
215
216
  2: {
@@ -218,7 +219,7 @@ var VirtualTree = function VirtualTree(_ref) {
218
219
  };
219
220
  var result = mapResult[item === null || item === void 0 ? void 0 : item.orgAttribute] || {};
220
221
  return _react["default"].createElement("div", {
221
- className: 'org-item-wrapper'
222
+ className: "org-item-wrapper"
222
223
  }, showPrefixIcon ? _react["default"].createElement(_icon["default"], {
223
224
  type: result === null || result === void 0 ? void 0 : result['icon'],
224
225
  style: {
@@ -229,10 +230,11 @@ var VirtualTree = function VirtualTree(_ref) {
229
230
  title: item.title,
230
231
  widthLimit: '100%'
231
232
  }), String(item.orgAttribute) === '1' && _react["default"].createElement("span", {
232
- className: 'org-functional-departemt-marker'
233
+ className: "org-functional-departemt-marker"
233
234
  }, result[lang] || '职能部门'));
234
235
  };
235
- var defaultRenderItem = function defaultRenderItem(item, isOrg) {
236
+ var defaultRenderItem = function defaultRenderItem(item) {
237
+ var isOrg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
236
238
  if (isOrg) {
237
239
  return renderOrgItem(item, (0, _prevLocale.getLanguage)());
238
240
  }
@@ -246,7 +248,7 @@ var VirtualTree = function VirtualTree(_ref) {
246
248
  if (renderData.length >= 10) {
247
249
  return height;
248
250
  }
249
- return (itemHeight || 32) * renderData.length + 8;
251
+ return itemHeight * renderData.length + 8;
250
252
  }
251
253
  return 100;
252
254
  }, [renderData, itemHeight, height]);
@@ -257,8 +259,9 @@ var VirtualTree = function VirtualTree(_ref) {
257
259
  }) : _react["default"].createElement(_rcVirtualList["default"], {
258
260
  ref: ref,
259
261
  height: adjustHeight || 300,
260
- itemHeight: itemHeight || 32,
261
- data: renderData
262
+ itemHeight: itemHeight + 8,
263
+ data: renderData,
264
+ itemKey: 'value'
262
265
  }, function (item) {
263
266
  var indexLevel = item.indexLevel,
264
267
  children = item.children,
@@ -269,6 +272,7 @@ var VirtualTree = function VirtualTree(_ref) {
269
272
  // 当前节点是否被选中
270
273
  var checkedBingo = Array.isArray(checkedList) ? checkedList.includes(item.value) : false;
271
274
  var isChecked = !checkStrictly || disabled ? checkedBingo && !indeterminateStatus : checkedBingo;
275
+ var hasChild = Array.isArray(children) && !!children.length;
272
276
  var checkBoxAttrs = {
273
277
  className: "".concat(disabled ? 'tntd-virtual-tree-checkbox-disabled' : ''),
274
278
  onChange: function onChange() {
@@ -283,13 +287,15 @@ var VirtualTree = function VirtualTree(_ref) {
283
287
  }
284
288
  return _react["default"].createElement("div", {
285
289
  className: "tntd-virtual-tree-item ".concat(disabled ? 'tntd-virtual-tree-item_disabled' : '', " ").concat(choosedValue === item.value ? 'tntd-virtual-tree-item_active' : ''),
286
- style: {
287
- paddingLeft: indexLevel * indent
288
- },
289
290
  key: item.value
291
+ }, _react["default"].createElement("div", {
292
+ style: {
293
+ paddingLeft: indexLevel !== 0 ? indexLevel * indent - 4 : 0,
294
+ width: '100%'
295
+ }
290
296
  }, _react["default"].createElement("div", {
291
297
  className: "tntd-virtual-tree-item-expand-icon"
292
- }, Array.isArray(children) && !!children.length ? _react["default"].createElement(_icon["default"], {
298
+ }, hasChild ? _react["default"].createElement(_icon["default"], {
293
299
  type: bool ? 'caret-down' : 'caret-right',
294
300
  onClick: function onClick() {
295
301
  return handleToggle(item);
@@ -298,10 +304,13 @@ var VirtualTree = function VirtualTree(_ref) {
298
304
  className: "tntd-virtual-tree-item-checkbox"
299
305
  }, _react["default"].createElement(_checkbox["default"], Object.assign({}, checkBoxAttrs))) : '', _react["default"].createElement("div", {
300
306
  className: "tntd-virtual-tree-title",
307
+ style: {
308
+ marginLeft: isOrg && !hasChild ? 0 : 0
309
+ },
301
310
  onClick: function onClick() {
302
311
  return handleChoosed(item);
303
312
  }
304
- }, titleRender ? titleRender(item) : defaultRenderItem(item, isOrg)));
313
+ }, titleRender ? titleRender(item) : defaultRenderItem(item, isOrg))));
305
314
  }));
306
315
  };
307
316
  var _default = exports["default"] = VirtualTree;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: 基于antd3 tree 部分api实现的tree,增加了虚拟滚动\n * @Author: 郑泳健\n * @Date: 2024-07-31 14:46:55\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-10-29 11:09:48\n */\nimport React, { useState, useMemo, useEffect, useRef } from 'react';\nimport List from 'rc-virtual-list';\nimport { uniq } from 'lodash';\nimport Icon from '../icon';\nimport Ellipsis from '../ellipsis';\nimport Empty from '../empty';\nimport Checkbox from '../checkbox';\nimport {\n flatTreeData,\n findNodeDetail,\n getFullExpandedKeys,\n getFullCheckedKeys,\n getNodeParentChoosed,\n addTreeNodeAttrs,\n getIndeterminate\n} from './utils';\nimport { getLanguage } from '../prev-locale'\nimport './index.less';\n\nconst VirtualTree = ({\n indent = 24,\n isOrg,\n showPrefixIcon,\n value,\n itemHeight,\n height,\n filterKey,\n treeData,\n checkable,\n checkStrictly,\n checkedKeys,\n defaultExpandAll = true,\n expandedKeys,\n fieldNames,\n titleRender,\n onCheck,\n onExpand,\n onSelect\n}) => {\n const ref = React.useRef(null);\n const expandChangedRef = useRef(0);\n const checkedChangeRef = useRef(0);\n // 展开的节点列表\n const [expandedList, setExpandedList] = useState([]);\n // checked 节点列表\n const [checkedList, setCheckedList] = useState([]);\n // 当前被选中的节点\n const [choosedValue, setChoosedValue] = useState(undefined);\n\n useEffect(() => {\n if(!checkable) {\n setChoosedValue(value)\n }\n }, [value, checkable])\n\n /** 给每个节点增加属性keys,值为其下面所有节点的集合 */\n const treeDataWithKeys = useMemo(() => {\n return addTreeNodeAttrs(treeData, fieldNames);\n }, [treeData, fieldNames]);\n\n /** 默认是否全部展开 */\n const mergeDefaultExpandAll = useMemo(() => {\n if (Array.isArray(expandedKeys)) {\n return false;\n }\n\n return defaultExpandAll;\n }, [defaultExpandAll, expandedKeys]);\n\n /** 获取到所有选中的节点,因为checkedKeys可能传入的是最后一级 */\n useEffect(() => {\n // 非第一次\n if (checkedChangeRef.current > 0) {\n setCheckedList(checkedKeys);\n return;\n }\n\n if (checkable) {\n // 如果是受控\n if (checkStrictly) {\n setCheckedList(uniq(Array.isArray(checkedKeys) ? checkedKeys : []));\n return;\n }\n const transCheckedKeys = Array.isArray(checkedKeys)\n ? checkedKeys.reduce((total, item) => {\n total.push(item);\n const { needCheckedChildrenValues } = findNodeDetail(treeDataWithKeys, item) || {};\n total = [...total, ...needCheckedChildrenValues];\n return total;\n }, [])\n : [];\n const _checkedKeys = getFullCheckedKeys(treeDataWithKeys, transCheckedKeys);\n setCheckedList(uniq(_checkedKeys));\n }\n }, [treeDataWithKeys, checkStrictly, checkable, checkedKeys]);\n\n useEffect(() => {\n setExpandedList(expandedKeys);\n }, [expandedKeys]);\n\n /** 初始化获取到所有展开的节点,因为初始化expandedKeys可能传入的是最后一级 */\n useEffect(() => {\n if (expandChangedRef.current === 0) {\n // 展开的节点\n const transExpandedKeys = Array.isArray(expandedKeys) ? expandedKeys : [];\n const _expandedKeys = getFullExpandedKeys(treeDataWithKeys, transExpandedKeys, mergeDefaultExpandAll);\n setExpandedList(_expandedKeys);\n }\n }, [treeDataWithKeys, expandedKeys, mergeDefaultExpandAll]);\n\n /** 最终渲染的数据 */\n const renderData = useMemo(() => {\n return flatTreeData(treeDataWithKeys, filterKey, expandedList);\n }, [treeDataWithKeys, filterKey, expandedList]);\n\n /** 切换展开/收起 */\n const handleToggle = (item) => {\n expandChangedRef.current++;\n const { value } = item || {};\n const bool = Array.isArray(expandedList) ? expandedList.includes(value) : false;\n if (bool) {\n const list = Array.isArray(expandedList) ? expandedList.filter((i) => i !== value) : [];\n if (onExpand) {\n onExpand(uniq(list), { node: item, expanded: !bool });\n return;\n }\n setExpandedList(uniq(list));\n } else {\n const arr = uniq([...expandedList, value]);\n if (onExpand) {\n onExpand(arr, { node: item, expanded: !bool });\n return;\n }\n setExpandedList(arr);\n }\n };\n\n const handleCheck = (item, isChecked) => {\n const { value: _value, children, disabled } = item;\n if (disabled) {\n return;\n }\n checkedChangeRef.current++;\n // 需要增删的子节点\n const itemChildrenValues = Array.isArray(children) && !!children.length ? item.needCheckedChildrenValues : [];\n if (isChecked) {\n // 需要删除的父节点\n const itemParentValues = Array.isArray(item.needCheckedSiblingsValue) ? item.needCheckedSiblingsValue.map((i) => i.key) : [];\n // 当前节点所有的父节点\n const delList = checkStrictly ? [_value] : [...itemChildrenValues, ...itemParentValues, _value];\n const _checkedList = checkedList.filter((i) => !delList.includes(i));\n if (onCheck) {\n onCheck?.(uniq(_checkedList), item, !isChecked);\n return;\n }\n\n setCheckedList(uniq(_checkedList));\n } else {\n // 递归循环其上级是否也要被选中\n const itemParentValues = getNodeParentChoosed(item.needCheckedSiblingsValue, [...checkedList, ...itemChildrenValues, _value]);\n const addList = checkStrictly ? [_value] : [...itemChildrenValues, ...itemParentValues, _value];\n const _checkedList = [...checkedList, ...addList];\n\n if (onCheck) {\n onCheck?.(uniq(_checkedList), item, !isChecked);\n return;\n }\n setCheckedList(uniq(_checkedList));\n }\n };\n\n const handleChoosed = (item) => {\n if (item.disabled) {\n return;\n }\n setChoosedValue(item.value);\n if(!checkable) {\n onSelect?.(item.value)\n }\n };\n\n const renderOrgItem = (item, lang) => {\n const mapResult = {\n 1: {\n cn: '职能部门',\n en: 'Functional department',\n icon: 'crowd'\n },\n 2: {\n icon: 'corporation'\n }\n }\n\n const result = mapResult[item?.orgAttribute] || {}\n\n return <div className='org-item-wrapper'>\n {showPrefixIcon ? <Icon type={result?.['icon']} style={{ marginTop: 3, marginRight: 4 }} /> : '' }\n <Ellipsis title={item.title} widthLimit={'100%'} />\n { String(item.orgAttribute) === '1' && <span className='org-functional-departemt-marker'>{result[lang] || '职能部门'}</span>}\n </div>\n }\n\n const defaultRenderItem = (item, isOrg) => {\n if(isOrg) {\n return renderOrgItem(item, getLanguage())\n }\n return <Ellipsis title={item.title} widthLimit={'100%'} />;\n };\n\n const adjustHeight = useMemo(() => {\n if(Array.isArray(renderData)) {\n if(renderData.length >= 10) {\n return height\n }\n return (itemHeight || 32) * renderData.length + 8\n }\n return 100;\n }, [renderData, itemHeight, height])\n\n return (\n <div className=\"tntd-virtual-tree\">\n {!Array.isArray(renderData) || !renderData.length ? (\n <Empty size=\"small\" />\n ) : (\n <List ref={ref} height={adjustHeight || 300} itemHeight={itemHeight || 32} data={renderData}>\n {(item) => {\n const { indexLevel, children, disabled } = item;\n const bool = Array.isArray(expandedList) ? expandedList.includes(item.value) : false;\n // 当前节点半选状态\n const indeterminateStatus = getIndeterminate(item, checkedList);\n // 当前节点是否被选中\n const checkedBingo = Array.isArray(checkedList) ? checkedList.includes(item.value) : false;\n const isChecked = !checkStrictly || disabled ? checkedBingo && !indeterminateStatus : checkedBingo;\n\n const checkBoxAttrs = {\n className: `${disabled ? 'tntd-virtual-tree-checkbox-disabled' : ''}`,\n onChange: () => handleCheck(item, isChecked),\n checked: isChecked,\n disabled\n };\n // 状态没有半选模式\n if (!checkStrictly) {\n checkBoxAttrs.indeterminate = indeterminateStatus;\n }\n return (\n <div\n className={`tntd-virtual-tree-item ${disabled ? 'tntd-virtual-tree-item_disabled' : ''} ${choosedValue === item.value ? 'tntd-virtual-tree-item_active' : ''}`}\n style={{ paddingLeft: indexLevel * indent }}\n key={item.value}>\n <div className=\"tntd-virtual-tree-item-expand-icon\">\n {Array.isArray(children) && !!children.length ? (\n <Icon type={bool ? 'caret-down' : 'caret-right'} onClick={() => handleToggle(item)} />\n ) : (\n ''\n )}\n </div>\n\n {checkable ? (\n <div className=\"tntd-virtual-tree-item-checkbox\">\n <Checkbox {...checkBoxAttrs} />\n </div>\n ) : (\n ''\n )}\n\n <div\n className={`tntd-virtual-tree-title`}\n onClick={() => handleChoosed(item)}>\n {titleRender ? titleRender(item) : defaultRenderItem(item, isOrg)}\n </div>\n </div>\n );\n }}\n </List>\n )}\n </div>\n );\n};\n\nexport default VirtualTree;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: 基于antd3 tree 部分api实现的tree,增加了虚拟滚动\n * @Author: 郑泳健\n * @Date: 2024-07-31 14:46:55\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-11-08 11:37:22\n */\nimport React, { useState, useMemo, useEffect, useRef } from 'react';\nimport List from 'rc-virtual-list';\nimport { uniq } from 'lodash';\nimport Icon from '../icon';\nimport Ellipsis from '../ellipsis';\nimport Empty from '../empty';\nimport Checkbox from '../checkbox';\nimport {\n flatTreeData,\n findNodeDetail,\n getFullExpandedKeys,\n getFullCheckedKeys,\n getNodeParentChoosed,\n addTreeNodeAttrs,\n getIndeterminate\n} from './utils';\nimport { getLanguage } from '../prev-locale';\nimport './index.less';\n\nconst VirtualTree = ({\n indent = 24,\n isOrg,\n showPrefixIcon,\n value,\n itemHeight = 38,\n height,\n filterKey,\n treeData,\n checkable,\n checkStrictly,\n checkedKeys,\n defaultExpandAll = true,\n expandedKeys,\n fieldNames,\n titleRender,\n onCheck,\n onExpand,\n onSelect\n}) => {\n const ref = React.useRef(null);\n const expandChangedRef = useRef(0);\n const checkedChangeRef = useRef(0);\n // 展开的节点列表\n const [expandedList, setExpandedList] = useState([]);\n // checked 节点列表\n const [checkedList, setCheckedList] = useState([]);\n // 当前被选中的节点\n const [choosedValue, setChoosedValue] = useState(undefined);\n\n useEffect(() => {\n if (!checkable) {\n setChoosedValue(value);\n }\n }, [value, checkable]);\n\n /** 给每个节点增加属性keys,值为其下面所有节点的集合 */\n const treeDataWithKeys = useMemo(() => {\n return addTreeNodeAttrs(treeData, fieldNames);\n }, [treeData, fieldNames]);\n\n /** 默认是否全部展开 */\n const mergeDefaultExpandAll = useMemo(() => {\n if (Array.isArray(expandedKeys)) {\n return false;\n }\n\n return defaultExpandAll;\n }, [defaultExpandAll, expandedKeys]);\n\n /** 获取到所有选中的节点,因为checkedKeys可能传入的是最后一级 */\n useEffect(() => {\n // 非第一次\n if (checkedChangeRef.current > 0) {\n setCheckedList(checkedKeys);\n return;\n }\n\n if (checkable) {\n // 如果是受控\n if (checkStrictly) {\n setCheckedList(uniq(Array.isArray(checkedKeys) ? checkedKeys : []));\n return;\n }\n const transCheckedKeys = Array.isArray(checkedKeys)\n ? checkedKeys.reduce((total, item) => {\n total.push(item);\n const { needCheckedChildrenValues } = findNodeDetail(treeDataWithKeys, item) || {};\n total = [...total, ...needCheckedChildrenValues];\n return total;\n }, [])\n : [];\n const _checkedKeys = getFullCheckedKeys(treeDataWithKeys, transCheckedKeys);\n setCheckedList(uniq(_checkedKeys));\n }\n }, [treeDataWithKeys, checkStrictly, checkable, checkedKeys]);\n\n useEffect(() => {\n setExpandedList(expandedKeys);\n }, [expandedKeys]);\n\n /** 初始化获取到所有展开的节点,因为初始化expandedKeys可能传入的是最后一级 */\n useEffect(() => {\n if (expandChangedRef.current === 0) {\n // 展开的节点\n const transExpandedKeys = Array.isArray(expandedKeys) ? expandedKeys : [];\n const _expandedKeys = getFullExpandedKeys(treeDataWithKeys, transExpandedKeys, mergeDefaultExpandAll);\n setExpandedList(_expandedKeys);\n }\n }, [treeDataWithKeys, expandedKeys, mergeDefaultExpandAll]);\n\n /** 最终渲染的数据 */\n const renderData = useMemo(() => {\n return flatTreeData(treeDataWithKeys, filterKey, expandedList);\n }, [treeDataWithKeys, filterKey, expandedList]);\n\n /** 切换展开/收起 */\n const handleToggle = (item) => {\n expandChangedRef.current++;\n const { value } = item || {};\n const bool = Array.isArray(expandedList) ? expandedList.includes(value) : false;\n if (bool) {\n const list = Array.isArray(expandedList) ? expandedList.filter((i) => i !== value) : [];\n if (onExpand) {\n onExpand(uniq(list), { node: item, expanded: !bool });\n return;\n }\n setExpandedList(uniq(list));\n } else {\n const arr = uniq([...expandedList, value]);\n if (onExpand) {\n onExpand(arr, { node: item, expanded: !bool });\n return;\n }\n setExpandedList(arr);\n }\n };\n\n const handleCheck = (item, isChecked) => {\n const { value: _value, children, disabled } = item;\n if (disabled) {\n return;\n }\n checkedChangeRef.current++;\n // 需要增删的子节点\n const itemChildrenValues = Array.isArray(children) && !!children.length ? item.needCheckedChildrenValues : [];\n if (isChecked) {\n // 需要删除的父节点\n const itemParentValues = Array.isArray(item.needCheckedSiblingsValue) ? item.needCheckedSiblingsValue.map((i) => i.key) : [];\n // 当前节点所有的父节点\n const delList = checkStrictly ? [_value] : [...itemChildrenValues, ...itemParentValues, _value];\n const _checkedList = checkedList.filter((i) => !delList.includes(i));\n if (onCheck) {\n onCheck?.(uniq(_checkedList), item, !isChecked);\n return;\n }\n\n setCheckedList(uniq(_checkedList));\n } else {\n // 递归循环其上级是否也要被选中\n const itemParentValues = getNodeParentChoosed(item.needCheckedSiblingsValue, [...checkedList, ...itemChildrenValues, _value]);\n const addList = checkStrictly ? [_value] : [...itemChildrenValues, ...itemParentValues, _value];\n const _checkedList = [...checkedList, ...addList];\n\n if (onCheck) {\n onCheck?.(uniq(_checkedList), item, !isChecked);\n return;\n }\n setCheckedList(uniq(_checkedList));\n }\n };\n\n const handleChoosed = (item) => {\n if (item.disabled) {\n return;\n }\n setChoosedValue(item.value);\n if (!checkable) {\n onSelect?.(item.value);\n }\n };\n\n const renderOrgItem = (item, lang) => {\n const mapResult = {\n 1: {\n cn: '职能部门',\n en: 'Func. Dept.',\n icon: 'crowd'\n },\n 2: {\n icon: 'corporation'\n }\n };\n\n const result = mapResult[item?.orgAttribute] || {};\n\n return (\n <div className=\"org-item-wrapper\">\n {showPrefixIcon ? <Icon type={result?.['icon']} style={{ marginTop: 3, marginRight: 4 }} /> : ''}\n <Ellipsis title={item.title} widthLimit={'100%'} />\n {String(item.orgAttribute) === '1' && <span className=\"org-functional-departemt-marker\">{result[lang] || '职能部门'}</span>}\n </div>\n );\n };\n\n const defaultRenderItem = (item, isOrg = true) => {\n if (isOrg) {\n return renderOrgItem(item, getLanguage());\n }\n return <Ellipsis title={item.title} widthLimit={'100%'} />;\n };\n\n const adjustHeight = useMemo(() => {\n if (Array.isArray(renderData)) {\n if (renderData.length >= 10) {\n return height;\n }\n return itemHeight * renderData.length + 8;\n }\n return 100;\n }, [renderData, itemHeight, height]);\n\n return (\n <div className=\"tntd-virtual-tree\">\n {!Array.isArray(renderData) || !renderData.length ? (\n <Empty size=\"small\" />\n ) : (\n <List ref={ref} height={adjustHeight || 300} itemHeight={itemHeight + 8} data={renderData} itemKey={'value'}>\n {(item) => {\n const { indexLevel, children, disabled } = item;\n const bool = Array.isArray(expandedList) ? expandedList.includes(item.value) : false;\n // 当前节点半选状态\n const indeterminateStatus = getIndeterminate(item, checkedList);\n // 当前节点是否被选中\n const checkedBingo = Array.isArray(checkedList) ? checkedList.includes(item.value) : false;\n const isChecked = !checkStrictly || disabled ? checkedBingo && !indeterminateStatus : checkedBingo;\n const hasChild = Array.isArray(children) && !!children.length\n const checkBoxAttrs = {\n className: `${disabled ? 'tntd-virtual-tree-checkbox-disabled' : ''}`,\n onChange: () => handleCheck(item, isChecked),\n checked: isChecked,\n disabled\n };\n // 状态没有半选模式\n if (!checkStrictly) {\n checkBoxAttrs.indeterminate = indeterminateStatus;\n }\n return (\n <div\n className={`tntd-virtual-tree-item ${disabled ? 'tntd-virtual-tree-item_disabled' : ''} ${\n choosedValue === item.value ? 'tntd-virtual-tree-item_active' : ''\n }`}\n key={item.value}>\n <div style={{ paddingLeft: indexLevel !== 0 ? indexLevel * indent - 4 : 0, width: '100%' }}>\n <div className=\"tntd-virtual-tree-item-expand-icon\">\n {hasChild ? (\n <Icon type={bool ? 'caret-down' : 'caret-right'} onClick={() => handleToggle(item)} />\n ) : (\n ''\n )}\n </div>\n\n {checkable ? (\n <div className=\"tntd-virtual-tree-item-checkbox\">\n <Checkbox {...checkBoxAttrs} />\n </div>\n ) : (\n ''\n )}\n\n <div className={`tntd-virtual-tree-title`} style={{ marginLeft: isOrg && !hasChild ? 0: 0 }} onClick={() => handleChoosed(item)}>\n {titleRender ? titleRender(item) : defaultRenderItem(item, isOrg)}\n </div>\n </div>\n </div>\n );\n }}\n </List>\n )}\n </div>\n );\n};\n\nexport default VirtualTree;\n"]}
@@ -7,17 +7,18 @@
7
7
  text-decoration: none;
8
8
  cursor: pointer;
9
9
  line-height: 22px;
10
- padding: 1px 0;
11
10
  font-size: 14px;
12
11
  box-sizing: border-box;
13
12
  display: inline-flex;
13
+ line-height: @line-height-base;
14
+ padding-bottom: 8px;
14
15
 
15
- &:hover{
16
- background-color: var(--blue-1);
16
+ &>div:hover{
17
+ background-color: @blue-1;
17
18
  }
18
19
 
19
- &_active{
20
- background-color: #E6F4FF !important;
20
+ &_active>div{
21
+ background-color: @blue-2 !important;
21
22
  color: #17233d;
22
23
  font-weight: 600;
23
24
  }
@@ -25,7 +26,7 @@
25
26
  .tntd-virtual-tree-item-expand-icon{
26
27
  display: inline-block;
27
28
  width: 16px;
28
- line-height: 28px;
29
+ line-height: 26px;
29
30
 
30
31
  .anticon-caret-down,.anticon-caret-right {
31
32
  vertical-align: middle;
@@ -41,12 +42,14 @@
41
42
  }
42
43
 
43
44
  .tntd-virtual-tree-title{
44
- padding: 5px 5px;
45
+ padding: 3px 5px;
45
46
  flex: 1;
46
47
  overflow: hidden;
47
48
  display: inline-block;
48
49
  vertical-align: middle;
49
50
  flex: 1;
51
+ line-height: @line-height-base;
52
+ width: calc(100% - 16px);
50
53
  }
51
54
 
52
55
  &.tntd-virtual-tree-item_disabled{
@@ -4,13 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getNodeValuess = exports.getNodeStr = exports.getNodeParentChoosed = exports.getNodeNoDisabledLastestChildrenValues = exports.getNodeNoDisabledChildrenValues = exports.getIndeterminate = exports.getFullExpandedKeys = exports.getFullCheckedKeys = exports.flatTreeData = exports.findNodeDetail = exports.addTreeNodeAttrs = void 0;
7
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
8
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
7
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
8
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
9
9
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
12
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
13
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
10
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
11
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
12
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
13
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
14
14
  var __rest = void 0 && (void 0).__rest || function (s, e) {
15
15
  var t = {};
16
16
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
@@ -29,7 +29,7 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
29
29
  * 用于判断后续展开/收起
30
30
  * @param {*} treeData
31
31
  */
32
- var addTreeNodeAttrs = exports.addTreeNodeAttrs = function addTreeNodeAttrs(treeData) {
32
+ var _addTreeNodeAttrs = exports.addTreeNodeAttrs = function addTreeNodeAttrs(treeData) {
33
33
  var fieldNames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
34
34
  title: 'title',
35
35
  value: 'value',
@@ -60,28 +60,28 @@ var addTreeNodeAttrs = exports.addTreeNodeAttrs = function addTreeNodeAttrs(tree
60
60
  } else {
61
61
  siblingsSum = [];
62
62
  }
63
- query.children = addTreeNodeAttrs(children, fieldNames, siblingsSum);
63
+ query.children = _addTreeNodeAttrs(children, fieldNames, siblingsSum);
64
64
  }
65
65
  return Object.assign(Object.assign({}, query), {
66
66
  title: query[fieldNames['title']],
67
67
  value: query[fieldNames['value']],
68
68
  disabled: query[fieldNames['disabled']],
69
- childrenValues: getNodeValuess(query, false),
70
- titleTotal: getNodeStr(query, fieldNames['title']),
71
- needCheckedLastestChildrenValues: !item[fieldNames['disabled']] ? getNodeNoDisabledLastestChildrenValues(item, fieldNames) : [],
72
- needCheckedChildrenValues: !item[fieldNames['disabled']] ? getNodeNoDisabledChildrenValues(item, fieldNames) : [],
69
+ childrenValues: _getNodeValuess(query, false),
70
+ titleTotal: _getNodeStr(query, fieldNames['title']),
71
+ needCheckedLastestChildrenValues: !item[fieldNames['disabled']] ? _getNodeNoDisabledLastestChildrenValues(item, fieldNames) : [],
72
+ needCheckedChildrenValues: !item[fieldNames['disabled']] ? _getNodeNoDisabledChildrenValues(item, fieldNames) : [],
73
73
  needCheckedSiblingsValue: !item[fieldNames['disabled']] ? needCheckedSiblingsValue : []
74
74
  });
75
75
  });
76
76
  }
77
77
  return [];
78
78
  };
79
- var getNodeStr = exports.getNodeStr = function getNodeStr(node, key) {
79
+ var _getNodeStr = exports.getNodeStr = function getNodeStr(node, key) {
80
80
  var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
81
81
  result.push(node[key]);
82
82
  if (Array.isArray(node.children) && !!node.children.length) {
83
83
  node.children.forEach(function (element) {
84
- result = [].concat(_toConsumableArray(result), _toConsumableArray(getNodeStr(element, key)));
84
+ result = [].concat(_toConsumableArray(result), _toConsumableArray(_getNodeStr(element, key)));
85
85
  });
86
86
  }
87
87
  return result;
@@ -93,7 +93,7 @@ var getNodeStr = exports.getNodeStr = function getNodeStr(node, key) {
93
93
  * @param {*} result
94
94
  * @returns []
95
95
  */
96
- var getNodeValuess = exports.getNodeValuess = function getNodeValuess(node) {
96
+ var _getNodeValuess = exports.getNodeValuess = function getNodeValuess(node) {
97
97
  var widthSelf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
98
98
  var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
99
99
  if (widthSelf) {
@@ -101,7 +101,7 @@ var getNodeValuess = exports.getNodeValuess = function getNodeValuess(node) {
101
101
  }
102
102
  if (Array.isArray(node.children) && !!node.children.length) {
103
103
  node.children.forEach(function (element) {
104
- result = [].concat(_toConsumableArray(result), _toConsumableArray(getNodeValuess(element)));
104
+ result = [].concat(_toConsumableArray(result), _toConsumableArray(_getNodeValuess(element)));
105
105
  });
106
106
  }
107
107
  return result;
@@ -115,7 +115,7 @@ var getNodeValuess = exports.getNodeValuess = function getNodeValuess(node) {
115
115
  * @param {*} result
116
116
  * @returns
117
117
  */
118
- var flatTreeData = exports.flatTreeData = function flatTreeData(treeData) {
118
+ var _flatTreeData = exports.flatTreeData = function flatTreeData(treeData) {
119
119
  var filterKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
120
120
  var expandedKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
121
121
  var treeDefaultExpandAll = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
@@ -147,7 +147,7 @@ var flatTreeData = exports.flatTreeData = function flatTreeData(treeData) {
147
147
  }
148
148
  var selfIn = Array.isArray(expandedKeys) ? expandedKeys.includes(value) : false;
149
149
  if ((treeDefaultExpandAll || selfIn || transFilterKey && bingo) && Array.isArray(children) && !!children.length) {
150
- result = [].concat(_toConsumableArray(result), _toConsumableArray(flatTreeData(children, filterKey, expandedKeys, treeDefaultExpandAll, indexLevel + 1)));
150
+ result = [].concat(_toConsumableArray(result), _toConsumableArray(_flatTreeData(children, filterKey, expandedKeys, treeDefaultExpandAll, indexLevel + 1)));
151
151
  }
152
152
  }
153
153
  } catch (err) {
@@ -165,7 +165,7 @@ var flatTreeData = exports.flatTreeData = function flatTreeData(treeData) {
165
165
  * @param {*} result
166
166
  * @returns
167
167
  */
168
- var getFullExpandedKeys = exports.getFullExpandedKeys = function getFullExpandedKeys(treeDataWithKeys) {
168
+ var _getFullExpandedKeys = exports.getFullExpandedKeys = function getFullExpandedKeys(treeDataWithKeys) {
169
169
  var treeExpandedKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
170
170
  var treeDefaultExpandAll = arguments.length > 2 ? arguments[2] : undefined;
171
171
  var result = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
@@ -181,7 +181,7 @@ var getFullExpandedKeys = exports.getFullExpandedKeys = function getFullExpanded
181
181
  })) {
182
182
  result.push(value);
183
183
  if (Array.isArray(children) && !!children.length) {
184
- result = [].concat(_toConsumableArray(result), _toConsumableArray(getFullExpandedKeys(children, treeExpandedKeys, treeDefaultExpandAll)));
184
+ result = [].concat(_toConsumableArray(result), _toConsumableArray(_getFullExpandedKeys(children, treeExpandedKeys, treeDefaultExpandAll)));
185
185
  }
186
186
  }
187
187
  });
@@ -194,7 +194,7 @@ var getFullExpandedKeys = exports.getFullExpandedKeys = function getFullExpanded
194
194
  * @param {*} result
195
195
  * @returns
196
196
  */
197
- var getFullCheckedKeys = exports.getFullCheckedKeys = function getFullCheckedKeys(treeDataWithKeys, transCheckedKeys) {
197
+ var _getFullCheckedKeys = exports.getFullCheckedKeys = function getFullCheckedKeys(treeDataWithKeys, transCheckedKeys) {
198
198
  var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
199
199
  if (!Array.isArray(treeDataWithKeys) || !treeDataWithKeys.length || !Array.isArray(transCheckedKeys) || !transCheckedKeys.length) {
200
200
  return [];
@@ -215,7 +215,7 @@ var getFullCheckedKeys = exports.getFullCheckedKeys = function getFullCheckedKey
215
215
  })) {
216
216
  result.push(value);
217
217
  }
218
- result = [].concat(_toConsumableArray(result), _toConsumableArray(getFullCheckedKeys(children, transCheckedKeys)));
218
+ result = [].concat(_toConsumableArray(result), _toConsumableArray(_getFullCheckedKeys(children, transCheckedKeys)));
219
219
  }
220
220
  });
221
221
  return result;
@@ -226,12 +226,12 @@ var getFullCheckedKeys = exports.getFullCheckedKeys = function getFullCheckedKey
226
226
  * @param {*} node
227
227
  * @returns
228
228
  */
229
- var getNodeNoDisabledLastestChildrenValues = exports.getNodeNoDisabledLastestChildrenValues = function getNodeNoDisabledLastestChildrenValues(node, fieldNames) {
229
+ var _getNodeNoDisabledLastestChildrenValues = exports.getNodeNoDisabledLastestChildrenValues = function getNodeNoDisabledLastestChildrenValues(node, fieldNames) {
230
230
  var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
231
231
  if (Array.isArray(node.children) && !!node.children.length) {
232
232
  node.children.forEach(function (element) {
233
233
  if (!element[fieldNames['disabled']]) {
234
- result = [].concat(_toConsumableArray(result), _toConsumableArray(getNodeNoDisabledLastestChildrenValues(element, fieldNames)));
234
+ result = [].concat(_toConsumableArray(result), _toConsumableArray(_getNodeNoDisabledLastestChildrenValues(element, fieldNames)));
235
235
  }
236
236
  });
237
237
  } else {
@@ -247,13 +247,13 @@ var getNodeNoDisabledLastestChildrenValues = exports.getNodeNoDisabledLastestChi
247
247
  * @param {*} node
248
248
  * @returns
249
249
  */
250
- var getNodeNoDisabledChildrenValues = exports.getNodeNoDisabledChildrenValues = function getNodeNoDisabledChildrenValues(node, fieldNames) {
250
+ var _getNodeNoDisabledChildrenValues = exports.getNodeNoDisabledChildrenValues = function getNodeNoDisabledChildrenValues(node, fieldNames) {
251
251
  var result = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
252
252
  if (Array.isArray(node.children) && !!node.children.length) {
253
253
  node.children.forEach(function (element) {
254
254
  if (!element[fieldNames['disabled']]) {
255
255
  result.push(element[fieldNames['value']]);
256
- result = [].concat(_toConsumableArray(result), _toConsumableArray(getNodeNoDisabledChildrenValues(element, fieldNames)));
256
+ result = [].concat(_toConsumableArray(result), _toConsumableArray(_getNodeNoDisabledChildrenValues(element, fieldNames)));
257
257
  }
258
258
  });
259
259
  } else {
@@ -325,7 +325,7 @@ var getNodeParentChoosed = exports.getNodeParentChoosed = function getNodeParent
325
325
  * @param {*} result
326
326
  * @returns
327
327
  */
328
- var findNodeDetail = exports.findNodeDetail = function findNodeDetail(tree, key, result) {
328
+ var _findNodeDetail = exports.findNodeDetail = function findNodeDetail(tree, key, result) {
329
329
  if (Array.isArray(tree) && !!key) {
330
330
  var _iterator3 = _createForOfIteratorHelper(tree),
331
331
  _step3;
@@ -337,7 +337,7 @@ var findNodeDetail = exports.findNodeDetail = function findNodeDetail(tree, key,
337
337
  break;
338
338
  }
339
339
  if (Array.isArray(i.children) && !!i.children.length) {
340
- result = findNodeDetail(i.children, key);
340
+ result = _findNodeDetail(i.children, key);
341
341
  if (result) {
342
342
  break;
343
343
  }
@@ -2,7 +2,7 @@ export default TntdVirtualTreeSelect;
2
2
  declare function TntdVirtualTreeSelect({ indent, itemHeight, isOrg, showPrefixIcon, dropdownClassName, value, onChange, treeData, showSearch, fieldNames, dropdownMatchSelectWidth, dropdownStyle, showCheckedStrategy, treeCheckable, treeCheckStrictly, treeDefaultExpandAll, treeExpandedKeys, onTreeCheck, onTreeExpand, treeTitleRender, ...restProps }: {
3
3
  [x: string]: any;
4
4
  indent?: number | undefined;
5
- itemHeight?: number | undefined;
5
+ itemHeight: any;
6
6
  isOrg?: boolean | undefined;
7
7
  showPrefixIcon?: boolean | undefined;
8
8
  dropdownClassName: any;
@@ -10,15 +10,15 @@ var _tntdRcSelect = _interopRequireDefault(require("../tntd-rc-select"));
10
10
  var _tntdVirtualTree = _interopRequireDefault(require("../tntd-virtual-tree"));
11
11
  var _utils = require("./utils.js");
12
12
  require("./index.less");
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
16
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
16
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
17
17
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
19
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
18
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
19
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
20
20
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
21
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
22
22
  var __rest = void 0 && (void 0).__rest || function (s, e) {
23
23
  var t = {};
24
24
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
@@ -32,14 +32,13 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
32
32
  * @Author: 郑泳健
33
33
  * @Date: 2024-08-05 10:50:17
34
34
  * @LastEditors: 郑泳健
35
- * @LastEditTime: 2024-10-29 11:08:15
35
+ * @LastEditTime: 2024-11-06 16:05:58
36
36
  */
37
37
 
38
- var TntdVirtualTreeSelect = function TntdVirtualTreeSelect(_a) {
38
+ var _TntdVirtualTreeSelect = function TntdVirtualTreeSelect(_a) {
39
39
  var _a$indent = _a.indent,
40
40
  indent = _a$indent === void 0 ? 24 : _a$indent,
41
- _a$itemHeight = _a.itemHeight,
42
- itemHeight = _a$itemHeight === void 0 ? 32 : _a$itemHeight,
41
+ itemHeight = _a.itemHeight,
43
42
  _a$isOrg = _a.isOrg,
44
43
  isOrg = _a$isOrg === void 0 ? false : _a$isOrg,
45
44
  _a$showPrefixIcon = _a.showPrefixIcon,
@@ -83,7 +82,7 @@ var TntdVirtualTreeSelect = function TntdVirtualTreeSelect(_a) {
83
82
  return (0, _utils.getLableByValue)(treeList, value);
84
83
  }
85
84
  if (Array.isArray(value)) {
86
- if (showCheckedStrategy === TntdVirtualTreeSelect.SHOW_ALL) {
85
+ if (showCheckedStrategy === _TntdVirtualTreeSelect.SHOW_ALL) {
87
86
  return value.map(function (i) {
88
87
  return (0, _utils.getLableByValue)(treeList, i);
89
88
  });
@@ -176,6 +175,6 @@ var TntdVirtualTreeSelect = function TntdVirtualTreeSelect(_a) {
176
175
  }
177
176
  }));
178
177
  };
179
- TntdVirtualTreeSelect.SHOW_CHILD = 'SHOW_CHILD';
180
- TntdVirtualTreeSelect.SHOW_ALL = 'SHOW_ALL';
181
- var _default = exports["default"] = TntdVirtualTreeSelect;
178
+ _TntdVirtualTreeSelect.SHOW_CHILD = 'SHOW_CHILD';
179
+ _TntdVirtualTreeSelect.SHOW_ALL = 'SHOW_ALL';
180
+ var _default = exports["default"] = _TntdVirtualTreeSelect;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: 用select包裹虚拟树\n * @Author: 郑泳健\n * @Date: 2024-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-10-29 11:08:15\n */\nimport React, { useState, useRef, useMemo } from 'react';\nimport RcSelect from '../tntd-rc-select';\nimport TntdVirtualTree from '../tntd-virtual-tree';\nimport { filterLastestNode, flatWithParents, getLableByValue, flatTreeData } from './utils.js'\nimport './index.less';\n\nconst TntdVirtualTreeSelect = ({\n indent = 24,\n itemHeight = 32,\n isOrg = false,\n showPrefixIcon= false,\n dropdownClassName,\n value,\n onChange,\n treeData,\n showSearch,\n fieldNames,\n dropdownMatchSelectWidth,\n dropdownStyle,\n showCheckedStrategy,\n treeCheckable,\n treeCheckStrictly,\n treeDefaultExpandAll,\n treeExpandedKeys,\n onTreeCheck,\n onTreeExpand,\n treeTitleRender,\n ...restProps\n}) => {\n const selectRef = useRef(null);\n const [filterKey, setFilterKey] = useState(undefined);\n\n const mergeDropdownStyle = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownStyle : {};\n }, [dropdownStyle, treeData]);\n\n const mergeDropdownMatchSelectWidth = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownMatchSelectWidth : true;\n }, [dropdownMatchSelectWidth, treeData]);\n\n const treeNodeWithParents = useMemo(() => {\n return flatWithParents(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n const treeList = useMemo(() => {\n return flatTreeData(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n\n const selectValue = useMemo(() => {\n if(!treeCheckable) {\n return getLableByValue(treeList, value)\n }\n\n if(Array.isArray(value)) {\n if(showCheckedStrategy === TntdVirtualTreeSelect.SHOW_ALL) {\n return value.map(i => getLableByValue(treeList, i))\n }\n // 过滤掉有子节点,\n const filterList = value.filter(i => {\n return filterLastestNode(treeNodeWithParents, i, value)\n })\n return filterList.map(i => getLableByValue(treeList, i))\n }\n return undefined\n\n }, [treeCheckable, treeNodeWithParents, value, showCheckedStrategy, treeList])\n\n const mergeMode = useMemo(() => {\n if(treeCheckable) {\n return {\n multiple: true,\n mode: 'tags'\n }\n }\n return {}\n }, [treeCheckable])\n\n const handleRender = ({ showSearch, ...rest }) => {\n return (\n <div className=\"virtual-tree-options\">\n <TntdVirtualTree {...rest} />\n </div>\n );\n };\n\n const handleChange = (val) => {\n onChange(val);\n };\n\n const handleSearch = (val) => {\n setFilterKey(val);\n };\n\n const handleSelect = (val) => {\n const item = Array.isArray(treeList) ? treeList.find(i => i.value === val) : {}\n onChange?.(val, item);\n if (selectRef.current) {\n // 主动触发下拉框消失\n selectRef.current?.blur();\n }\n };\n\n return (\n <RcSelect\n ref={selectRef}\n value={selectValue}\n onChange={handleChange}\n showSearch={showSearch}\n onSearch={handleSearch}\n {...mergeMode}\n {...restProps}\n dropdownClassName={`${dropdownClassName} tntd-virtual-tree-select-dropdown`}\n dropdownMatchSelectWidth={mergeDropdownMatchSelectWidth}\n dropdownStyle={{ maxHeight: '100vh', overflow: 'auto', ...mergeDropdownStyle }}\n dropdownRender={() => {\n let obj = {\n indent,\n itemHeight,\n isOrg,\n showPrefixIcon,\n height: restProps?.height || 300,\n treeData,\n filterKey,\n defaultExpandAll: treeDefaultExpandAll,\n expandedKeys: treeExpandedKeys,\n fieldNames,\n onExpand: onTreeExpand,\n titleRender: treeTitleRender,\n onSelect: handleSelect\n };\n if (treeCheckable) {\n obj = { ...obj, checkedKeys: value, checkStrictly: treeCheckStrictly, checkable: treeCheckable, onCheck: onTreeCheck };\n } else {\n obj = { ...obj, value };\n }\n return handleRender(obj);\n }}\n />\n );\n};\n\nTntdVirtualTreeSelect.SHOW_CHILD = 'SHOW_CHILD'\nTntdVirtualTreeSelect.SHOW_ALL = 'SHOW_ALL'\n\nexport default TntdVirtualTreeSelect;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tntd-virtual-tree-select/index.jsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * @Descripttion: 用select包裹虚拟树\n * @Author: 郑泳健\n * @Date: 2024-08-05 10:50:17\n * @LastEditors: 郑泳健\n * @LastEditTime: 2024-11-06 16:05:58\n */\nimport React, { useState, useRef, useMemo } from 'react';\nimport RcSelect from '../tntd-rc-select';\nimport TntdVirtualTree from '../tntd-virtual-tree';\nimport { filterLastestNode, flatWithParents, getLableByValue, flatTreeData } from './utils.js'\nimport './index.less';\n\nconst TntdVirtualTreeSelect = ({\n indent = 24,\n itemHeight,\n isOrg = false,\n showPrefixIcon= false,\n dropdownClassName,\n value,\n onChange,\n treeData,\n showSearch,\n fieldNames,\n dropdownMatchSelectWidth,\n dropdownStyle,\n showCheckedStrategy,\n treeCheckable,\n treeCheckStrictly,\n treeDefaultExpandAll,\n treeExpandedKeys,\n onTreeCheck,\n onTreeExpand,\n treeTitleRender,\n ...restProps\n}) => {\n const selectRef = useRef(null);\n const [filterKey, setFilterKey] = useState(undefined);\n\n const mergeDropdownStyle = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownStyle : {};\n }, [dropdownStyle, treeData]);\n\n const mergeDropdownMatchSelectWidth = useMemo(() => {\n return Array.isArray(treeData) && treeData.length ? dropdownMatchSelectWidth : true;\n }, [dropdownMatchSelectWidth, treeData]);\n\n const treeNodeWithParents = useMemo(() => {\n return flatWithParents(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n const treeList = useMemo(() => {\n return flatTreeData(treeData, fieldNames)\n }, [treeData, fieldNames])\n\n\n const selectValue = useMemo(() => {\n if(!treeCheckable) {\n return getLableByValue(treeList, value)\n }\n\n if(Array.isArray(value)) {\n if(showCheckedStrategy === TntdVirtualTreeSelect.SHOW_ALL) {\n return value.map(i => getLableByValue(treeList, i))\n }\n // 过滤掉有子节点,\n const filterList = value.filter(i => {\n return filterLastestNode(treeNodeWithParents, i, value)\n })\n return filterList.map(i => getLableByValue(treeList, i))\n }\n return undefined\n\n }, [treeCheckable, treeNodeWithParents, value, showCheckedStrategy, treeList])\n\n const mergeMode = useMemo(() => {\n if(treeCheckable) {\n return {\n multiple: true,\n mode: 'tags'\n }\n }\n return {}\n }, [treeCheckable])\n\n const handleRender = ({ showSearch, ...rest }) => {\n return (\n <div className=\"virtual-tree-options\">\n <TntdVirtualTree {...rest} />\n </div>\n );\n };\n\n const handleChange = (val) => {\n onChange(val);\n };\n\n const handleSearch = (val) => {\n setFilterKey(val);\n };\n\n const handleSelect = (val) => {\n const item = Array.isArray(treeList) ? treeList.find(i => i.value === val) : {}\n onChange?.(val, item);\n if (selectRef.current) {\n // 主动触发下拉框消失\n selectRef.current?.blur();\n }\n };\n\n return (\n <RcSelect\n ref={selectRef}\n value={selectValue}\n onChange={handleChange}\n showSearch={showSearch}\n onSearch={handleSearch}\n {...mergeMode}\n {...restProps}\n dropdownClassName={`${dropdownClassName} tntd-virtual-tree-select-dropdown`}\n dropdownMatchSelectWidth={mergeDropdownMatchSelectWidth}\n dropdownStyle={{ maxHeight: '100vh', overflow: 'auto', ...mergeDropdownStyle }}\n dropdownRender={() => {\n let obj = {\n indent,\n itemHeight,\n isOrg,\n showPrefixIcon,\n height: restProps?.height || 300,\n treeData,\n filterKey,\n defaultExpandAll: treeDefaultExpandAll,\n expandedKeys: treeExpandedKeys,\n fieldNames,\n onExpand: onTreeExpand,\n titleRender: treeTitleRender,\n onSelect: handleSelect\n };\n if (treeCheckable) {\n obj = { ...obj, checkedKeys: value, checkStrictly: treeCheckStrictly, checkable: treeCheckable, onCheck: onTreeCheck };\n } else {\n obj = { ...obj, value };\n }\n return handleRender(obj);\n }}\n />\n );\n};\n\nTntdVirtualTreeSelect.SHOW_CHILD = 'SHOW_CHILD'\nTntdVirtualTreeSelect.SHOW_ALL = 'SHOW_ALL'\n\nexport default TntdVirtualTreeSelect;\n"]}
@@ -2,20 +2,3 @@
2
2
  padding: 16px;
3
3
  margin: -4px 0;
4
4
  }
5
-
6
- &.tntd-virtual-tree-select-dropdown{
7
- border-radius: 4px;
8
- }
9
-
10
- .tntd-rc-select-selection-placeholder{
11
- color: rgba(23, 35, 61, 0.3);
12
- }
13
-
14
- .tntd-rc-select:not(.tntd-rc-select-disabled):hover .tntd-rc-select-selector{
15
- border-color: var(--blue-6) !important;
16
- }
17
-
18
- .tnt-select-focused .tnt-select-selection, .tnt-select-selection:focus, .tnt-select-selection:active{
19
- border-color: var(--blue-5);
20
- box-shadow: 0 0 0 2px rgba(var(--blue-6-fade), 0.2);
21
- }