tntd 2.0.10 → 2.0.11

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 (707) hide show
  1. package/es/affix/index.js +2 -1
  2. package/es/alert/index.js +2 -1
  3. package/es/anchor/index.js +2 -1
  4. package/es/array-input/icon.js +6 -24
  5. package/es/array-input/index.js +119 -228
  6. package/es/array-input/style/index.js +2 -0
  7. package/es/array-input/style/index.js.map +1 -0
  8. package/es/auth-context/index.js +2 -1
  9. package/es/auth-context/style/index.js +2 -0
  10. package/es/auth-context/style/index.js.map +1 -0
  11. package/es/auto-complete/index.js +2 -1
  12. package/es/avatar/index.js +2 -1
  13. package/es/back-top/index.js +2 -1
  14. package/es/badge/index.js +2 -1
  15. package/es/breadcrumb/index.js +2 -1
  16. package/es/button/index.js +2 -1
  17. package/es/calendar/index.js +2 -1
  18. package/es/card/index.js +2 -1
  19. package/es/carousel/index.js +2 -1
  20. package/es/cascader/index.js +2 -1
  21. package/es/checkbox/index.js +2 -1
  22. package/es/col/index.js +2 -1
  23. package/es/collapse/index.js +2 -1
  24. package/es/columns/index.js +30 -72
  25. package/es/columns/style/index.js +2 -1
  26. package/es/comment/index.js +2 -1
  27. package/es/config-provider/config-provider.js +2 -1
  28. package/es/config-provider/index.js +2 -1
  29. package/es/date-picker/index.js +2 -1
  30. package/es/descriptions/index.js +2 -1
  31. package/es/development-login/LoginModal.js +48 -89
  32. package/es/development-login/index.js +8 -17
  33. package/es/development-login/style/index.js +2 -0
  34. package/es/development-login/style/index.js.map +1 -0
  35. package/es/divider/index.js +2 -1
  36. package/es/drawer/drawer.js +20 -31
  37. package/es/drawer/index.js +2 -1
  38. package/es/dropdown/index.js +2 -1
  39. package/es/ellipsis/Svg/CopySVG.js +17 -63
  40. package/es/ellipsis/Svg/TickSVG.js +12 -41
  41. package/es/ellipsis/index.js +68 -111
  42. package/es/ellipsis/style/index.js +2 -0
  43. package/es/ellipsis/style/index.js.map +1 -0
  44. package/es/empty/empty.js +51 -65
  45. package/es/empty/empty.stories.js +6 -5
  46. package/es/empty/index.js +2 -1
  47. package/es/empty/render-empty.js +19 -0
  48. package/es/empty/render-empty.js.map +1 -0
  49. package/es/empty/style/index.js +3 -0
  50. package/es/empty/style/index.js.map +1 -0
  51. package/es/exception/exception.js +19 -32
  52. package/es/exception/index.js +2 -1
  53. package/es/form/index.js +2 -1
  54. package/es/handle/index.js +69 -120
  55. package/es/handle/style/index.js +2 -0
  56. package/es/handle/style/index.js.map +1 -0
  57. package/es/icon/index.js +2 -1
  58. package/es/icon-list/index.js +120 -1
  59. package/es/icon-list/style/index.js +120 -0
  60. package/es/icon-list/style/index.js.map +1 -0
  61. package/es/img/Contain.js +39 -66
  62. package/es/img/Cover.js +72 -109
  63. package/es/img/index.js +32 -55
  64. package/es/img/style/index.js +2 -0
  65. package/es/img/style/index.js.map +1 -0
  66. package/es/index.js +2 -2
  67. package/es/input/index.js +2 -1
  68. package/es/input-number/index.js +2 -1
  69. package/es/layout/index.js +2 -1
  70. package/es/list/index.js +2 -1
  71. package/es/loading-button/index.js +28 -40
  72. package/es/loading-button/style/index.js +2 -0
  73. package/es/loading-button/style/index.js.map +1 -0
  74. package/es/locale/default.js +4 -5
  75. package/es/locale/en_US.js +30 -31
  76. package/es/locale/index.js +2 -1
  77. package/es/locale/zh_CN.js +30 -31
  78. package/es/locale-provider/index.js +2 -1
  79. package/es/mention/index.js +2 -1
  80. package/es/mentions/index.js +2 -1
  81. package/es/menu/index.js +2 -1
  82. package/es/message/index.js +2 -1
  83. package/es/modal/index.js +2 -1
  84. package/es/notification/index.js +2 -1
  85. package/es/page/Box.js +33 -58
  86. package/es/page/index.js +88 -139
  87. package/es/page/style/index.js +2 -0
  88. package/es/page/style/index.js.map +1 -0
  89. package/es/page/utils.js +14 -17
  90. package/es/page-header/index.js +2 -1
  91. package/es/pagination/index.js +2 -1
  92. package/es/popconfirm/index.js +2 -1
  93. package/es/popover/index.js +2 -1
  94. package/es/prev-locale.js +47 -52
  95. package/es/progress/index.js +2 -1
  96. package/es/query-form/Field/Checkbox.js +17 -24
  97. package/es/query-form/Field/Select.js +40 -62
  98. package/es/query-form/Field/SelectInput.js +45 -77
  99. package/es/query-form/Field/fieldsMap.js +20 -20
  100. package/es/query-form/Field/index.js +66 -113
  101. package/es/query-form/createActions.js +46 -54
  102. package/es/query-form/index.js +247 -359
  103. package/es/query-form/style/index.js +2 -0
  104. package/es/query-form/style/index.js.map +1 -0
  105. package/es/query-form/useForm.js +4 -3
  106. package/es/query-list-scene/List.js +258 -343
  107. package/es/query-list-scene/QueryForm.js +95 -141
  108. package/es/query-list-scene/QueryListScene.js +21 -31
  109. package/es/query-list-scene/Title.js +4 -6
  110. package/es/query-list-scene/Toolbar.js +15 -25
  111. package/es/query-list-scene/createActions.js +60 -63
  112. package/es/query-list-scene/index.js +2 -1
  113. package/es/query-list-scene/style/index.js +2 -0
  114. package/es/query-list-scene/style/index.js.map +1 -0
  115. package/es/query-list-scene/useActions.js +4 -3
  116. package/es/radio/index.js +2 -1
  117. package/es/rate/index.js +2 -1
  118. package/es/render-empty/index.js +2 -1
  119. package/es/render-empty/render-empty.js +16 -21
  120. package/es/render-empty/style/index.js +2 -0
  121. package/es/render-empty/style/index.js.map +1 -0
  122. package/es/result/index.js +2 -1
  123. package/es/row/index.js +2 -1
  124. package/es/select/index.js +2 -1
  125. package/es/skeleton/index.js +2 -1
  126. package/es/slider/index.js +2 -1
  127. package/es/spin/index.js +2 -1
  128. package/es/statistic/index.js +2 -1
  129. package/es/steps/index.js +2 -1
  130. package/es/steps/steps.js +35 -59
  131. package/es/svg-components/illustration-403.js +58 -208
  132. package/es/svg-components/illustration-404.js +75 -292
  133. package/es/svg-components/illustration-500.js +83 -323
  134. package/es/svg-components/illustration-empty.js +15 -56
  135. package/es/svg-components/illustration-failure.js +36 -114
  136. package/es/svg-components/illustration-no-access.js +35 -116
  137. package/es/svg-components/illustration-no-chart.js +37 -136
  138. package/es/svg-components/illustration-no-result.js +32 -94
  139. package/es/svg-components/illustration-offline.js +43 -133
  140. package/es/svg-components/illustration-success.js +43 -139
  141. package/es/svg-components/index.js +2 -1
  142. package/es/switch/index.js +2 -1
  143. package/es/table/assets/image-loading-background.js +17 -47
  144. package/es/table/assets/image-loading.js +5 -28
  145. package/es/table/constants.js +2 -1
  146. package/es/table/context.js +2 -1
  147. package/es/table/hooks/index.js +2 -1
  148. package/es/table/hooks/use-column-setting.js +16 -14
  149. package/es/table/index.js +2 -1
  150. package/es/table/style/index.js +3 -0
  151. package/es/table/style/index.js.map +1 -0
  152. package/es/table/table.js +48 -76
  153. package/es/table/table.js.map +1 -1
  154. package/es/table/table.less +0 -9
  155. package/es/table/table.stories.js +139 -150
  156. package/es/table/utils.js +18 -21
  157. package/es/tabs/index.js +2 -1
  158. package/es/tag/index.js +2 -1
  159. package/es/time-picker/index.js +2 -1
  160. package/es/timeline/index.js +2 -1
  161. package/es/title/index.js +20 -38
  162. package/es/title/style/index.js +2 -0
  163. package/es/title/style/index.js.map +1 -0
  164. package/es/tntd-cascader/AntdCascader/component/DisabledContext.js +5 -9
  165. package/es/tntd-cascader/AntdCascader/component/FormItemInputContext.js +2 -1
  166. package/es/tntd-cascader/AntdCascader/component/SizeContext.js +2 -1
  167. package/es/tntd-cascader/AntdCascader/component/context.js +9 -9
  168. package/es/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +10 -24
  169. package/es/tntd-cascader/AntdCascader/component/getIcons.js +50 -81
  170. package/es/tntd-cascader/AntdCascader/component/useCompactItemContext.js +20 -22
  171. package/es/tntd-cascader/AntdCascader/config/utils.js +18 -19
  172. package/es/tntd-cascader/AntdCascader/config/warning.js +11 -14
  173. package/es/tntd-cascader/AntdCascader/index.js +119 -212
  174. package/es/tntd-cascader/AntdCascader/interface.js +2 -1
  175. package/es/tntd-cascader/index.js +2 -1
  176. package/es/tntd-cascader/rc-cascader/Cascader.js +235 -279
  177. package/es/tntd-cascader/rc-cascader/OptionList/Checkbox.js +11 -21
  178. package/es/tntd-cascader/rc-cascader/OptionList/Column.js +116 -185
  179. package/es/tntd-cascader/rc-cascader/OptionList/index.js +128 -197
  180. package/es/tntd-cascader/rc-cascader/OptionList/useActive.js +19 -24
  181. package/es/tntd-cascader/rc-cascader/OptionList/useKeyboard.js +137 -173
  182. package/es/tntd-cascader/rc-cascader/context.js +2 -1
  183. package/es/tntd-cascader/rc-cascader/hooks/useDisplayValues.js +37 -50
  184. package/es/tntd-cascader/rc-cascader/hooks/useEntities.js +24 -27
  185. package/es/tntd-cascader/rc-cascader/hooks/useMissingValues.js +17 -16
  186. package/es/tntd-cascader/rc-cascader/hooks/useRefFunc.js +8 -8
  187. package/es/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +23 -27
  188. package/es/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +41 -58
  189. package/es/tntd-cascader/rc-cascader/index.js +2 -1
  190. package/es/tntd-cascader/rc-cascader/utils/commonUtil.js +27 -37
  191. package/es/tntd-cascader/rc-cascader/utils/treeUtil.js +33 -32
  192. package/es/tntd-cascader/rc-cascader/utils/warningPropsUtil.js +25 -33
  193. package/es/tntd-icon/fonts/iconfont.js +53 -41
  194. package/es/tntd-icon/index.js +17 -27
  195. package/es/tntd-icon/style/index.js +2 -0
  196. package/es/tntd-icon/style/index.js.map +1 -0
  197. package/es/tntd-layout/ActionsContext.js +4 -3
  198. package/es/tntd-layout/AppList.js +79 -149
  199. package/es/tntd-layout/Application.js +29 -46
  200. package/es/tntd-layout/Avatar.js +42 -84
  201. package/es/tntd-layout/CompatibleLanguage.js +56 -106
  202. package/es/tntd-layout/EnterpriseLayout/Avatar.js +47 -97
  203. package/es/tntd-layout/EnterpriseLayout/Language.js +34 -62
  204. package/es/tntd-layout/EnterpriseLayout/Theme.js +24 -49
  205. package/es/tntd-layout/EnterpriseLayout/index.js +9 -17
  206. package/es/tntd-layout/GlobalNavigation/NavigationPopup.js +154 -244
  207. package/es/tntd-layout/GlobalNavigation/index.js +50 -90
  208. package/es/tntd-layout/Header.js +26 -59
  209. package/es/tntd-layout/HeaderActions.js +34 -87
  210. package/es/tntd-layout/HeaderNavs.js +35 -54
  211. package/es/tntd-layout/HeaderTabs.js +140 -197
  212. package/es/tntd-layout/Iconfont.js +2 -1
  213. package/es/tntd-layout/Language.js +33 -61
  214. package/es/tntd-layout/Layout.js +78 -181
  215. package/es/tntd-layout/Logo.js +42 -61
  216. package/es/tntd-layout/OrgAppList.js +142 -228
  217. package/es/tntd-layout/SideMenu.js +161 -268
  218. package/es/tntd-layout/Theme.js +29 -53
  219. package/es/tntd-layout/createActions.js +29 -28
  220. package/es/tntd-layout/images/index.js +32 -31
  221. package/es/tntd-layout/index.js +60 -100
  222. package/es/tntd-layout/paaslayout/CompactSideMenu.js +65 -124
  223. package/es/tntd-layout/paaslayout/Header.js +14 -37
  224. package/es/tntd-layout/paaslayout/Logo.js +3 -2
  225. package/es/tntd-layout/paaslayout/SideMenu.js +63 -124
  226. package/es/tntd-layout/paaslayout/index.js +79 -168
  227. package/es/tntd-layout/storage.js +13 -20
  228. package/es/tntd-layout/style/index.js +2 -0
  229. package/es/tntd-layout/style/index.js.map +1 -0
  230. package/es/tntd-modal/index.js +32 -79
  231. package/es/tntd-modal/style/index.js +2 -0
  232. package/es/tntd-modal/style/index.js.map +1 -0
  233. package/es/tntd-second-page/index.js +24 -50
  234. package/es/tntd-select/DropDownWrap.js +52 -77
  235. package/es/tntd-select/index.js +486 -612
  236. package/es/tntd-select/style/index.js +2 -0
  237. package/es/tntd-select/style/index.js.map +1 -0
  238. package/es/tooltip/index.js +2 -1
  239. package/es/transfer/index.js +2 -1
  240. package/es/tree/index.js +2 -1
  241. package/es/tree-select/index.js +2 -1
  242. package/es/typography/index.js +2 -1
  243. package/es/upload/index.js +2 -1
  244. package/es/utils/checkAuth.js +21 -25
  245. package/es/utils/findMenuInfoByPath.js +30 -36
  246. package/es/utils/index.js +60 -75
  247. package/es/version/index.js +2 -1
  248. package/lib/affix/index.d.ts +3 -3
  249. package/lib/affix/index.js +22 -29
  250. package/lib/affix/index.js.map +1 -1
  251. package/lib/alert/index.d.ts +3 -3
  252. package/lib/alert/index.js +22 -29
  253. package/lib/alert/index.js.map +1 -1
  254. package/lib/anchor/index.d.ts +3 -3
  255. package/lib/anchor/index.js +22 -29
  256. package/lib/anchor/index.js.map +1 -1
  257. package/lib/array-input/icon.js +11 -38
  258. package/lib/array-input/index.js +150 -304
  259. package/lib/array-input/style/index.d.ts +1 -0
  260. package/lib/array-input/style/index.d.ts.map +1 -0
  261. package/lib/array-input/style/index.js +2 -0
  262. package/lib/array-input/style/index.js.map +1 -0
  263. package/lib/auth-context/index.js +4 -13
  264. package/lib/auth-context/style/index.d.ts +1 -0
  265. package/lib/auth-context/style/index.d.ts.map +1 -0
  266. package/lib/auth-context/style/index.js +2 -0
  267. package/lib/auth-context/style/index.js.map +1 -0
  268. package/lib/auto-complete/index.d.ts +3 -3
  269. package/lib/auto-complete/index.js +22 -29
  270. package/lib/auto-complete/index.js.map +1 -1
  271. package/lib/avatar/index.d.ts +3 -3
  272. package/lib/avatar/index.js +22 -29
  273. package/lib/avatar/index.js.map +1 -1
  274. package/lib/back-top/index.d.ts +3 -3
  275. package/lib/back-top/index.js +22 -29
  276. package/lib/back-top/index.js.map +1 -1
  277. package/lib/badge/index.d.ts +3 -3
  278. package/lib/badge/index.js +22 -29
  279. package/lib/badge/index.js.map +1 -1
  280. package/lib/breadcrumb/index.d.ts +3 -3
  281. package/lib/breadcrumb/index.js +22 -29
  282. package/lib/breadcrumb/index.js.map +1 -1
  283. package/lib/button/index.d.ts +3 -3
  284. package/lib/button/index.js +22 -29
  285. package/lib/button/index.js.map +1 -1
  286. package/lib/calendar/index.d.ts +3 -3
  287. package/lib/calendar/index.js +22 -29
  288. package/lib/calendar/index.js.map +1 -1
  289. package/lib/card/index.d.ts +3 -3
  290. package/lib/card/index.js +22 -29
  291. package/lib/card/index.js.map +1 -1
  292. package/lib/carousel/index.d.ts +3 -3
  293. package/lib/carousel/index.js +22 -29
  294. package/lib/carousel/index.js.map +1 -1
  295. package/lib/cascader/index.d.ts +3 -3
  296. package/lib/cascader/index.js +22 -29
  297. package/lib/cascader/index.js.map +1 -1
  298. package/lib/checkbox/index.d.ts +3 -3
  299. package/lib/checkbox/index.js +22 -29
  300. package/lib/checkbox/index.js.map +1 -1
  301. package/lib/col/index.d.ts +3 -3
  302. package/lib/col/index.js +22 -29
  303. package/lib/col/index.js.map +1 -1
  304. package/lib/collapse/index.d.ts +3 -3
  305. package/lib/collapse/index.js +23 -31
  306. package/lib/collapse/index.js.map +1 -1
  307. package/lib/columns/index.js +41 -95
  308. package/lib/columns/style/index.js +2 -1
  309. package/lib/comment/index.d.ts +3 -3
  310. package/lib/comment/index.js +22 -29
  311. package/lib/comment/index.js.map +1 -1
  312. package/lib/config-provider/config-provider.d.ts +1 -1
  313. package/lib/config-provider/config-provider.js +8 -14
  314. package/lib/config-provider/config-provider.js.map +1 -1
  315. package/lib/config-provider/index.d.ts +3 -3
  316. package/lib/config-provider/index.js +22 -29
  317. package/lib/config-provider/index.js.map +1 -1
  318. package/lib/date-picker/index.d.ts +3 -3
  319. package/lib/date-picker/index.js +22 -29
  320. package/lib/date-picker/index.js.map +1 -1
  321. package/lib/descriptions/index.d.ts +3 -3
  322. package/lib/descriptions/index.js +22 -29
  323. package/lib/descriptions/index.js.map +1 -1
  324. package/lib/development-login/LoginModal.js +80 -136
  325. package/lib/development-login/index.js +35 -53
  326. package/lib/development-login/style/index.d.ts +1 -0
  327. package/lib/development-login/style/index.d.ts.map +1 -0
  328. package/lib/development-login/style/index.js +2 -0
  329. package/lib/development-login/style/index.js.map +1 -0
  330. package/lib/divider/index.d.ts +3 -3
  331. package/lib/divider/index.js +22 -29
  332. package/lib/divider/index.js.map +1 -1
  333. package/lib/drawer/drawer.d.ts +1 -1
  334. package/lib/drawer/drawer.js +30 -51
  335. package/lib/drawer/drawer.js.map +1 -1
  336. package/lib/drawer/index.d.ts +2 -2
  337. package/lib/drawer/index.js +20 -26
  338. package/lib/drawer/index.js.map +1 -1
  339. package/lib/dropdown/index.d.ts +3 -3
  340. package/lib/dropdown/index.js +22 -29
  341. package/lib/dropdown/index.js.map +1 -1
  342. package/lib/ellipsis/Svg/CopySVG.js +21 -74
  343. package/lib/ellipsis/Svg/TickSVG.js +16 -52
  344. package/lib/ellipsis/index.js +105 -159
  345. package/lib/ellipsis/style/index.d.ts +1 -0
  346. package/lib/ellipsis/style/index.d.ts.map +1 -0
  347. package/lib/ellipsis/style/index.js +2 -0
  348. package/lib/ellipsis/style/index.js.map +1 -0
  349. package/lib/empty/empty.d.ts +2 -2
  350. package/lib/empty/empty.js +76 -107
  351. package/lib/empty/empty.js.map +1 -1
  352. package/lib/empty/empty.stories.js +18 -37
  353. package/lib/empty/index.d.ts +1 -1
  354. package/lib/empty/index.js +19 -24
  355. package/lib/empty/index.js.map +1 -1
  356. package/lib/empty/render-empty.d.ts +3 -0
  357. package/lib/empty/render-empty.d.ts.map +1 -0
  358. package/lib/empty/render-empty.js +26 -0
  359. package/lib/empty/render-empty.js.map +1 -0
  360. package/lib/empty/style/index.d.ts +3 -0
  361. package/lib/empty/style/index.d.ts.map +1 -0
  362. package/lib/empty/style/index.js +5 -0
  363. package/lib/empty/style/index.js.map +1 -0
  364. package/lib/exception/exception.js +31 -53
  365. package/lib/exception/exception.js.map +1 -1
  366. package/lib/exception/index.js +18 -22
  367. package/lib/form/index.d.ts +3 -3
  368. package/lib/form/index.js +22 -29
  369. package/lib/form/index.js.map +1 -1
  370. package/lib/handle/index.js +102 -164
  371. package/lib/handle/index.js.map +1 -1
  372. package/lib/handle/style/index.d.ts +1 -0
  373. package/lib/handle/style/index.d.ts.map +1 -0
  374. package/lib/handle/style/index.js +2 -0
  375. package/lib/handle/style/index.js.map +1 -0
  376. package/lib/icon/index.d.ts +3 -3
  377. package/lib/icon/index.js +22 -29
  378. package/lib/icon/index.js.map +1 -1
  379. package/lib/icon-list/index.js +121 -7
  380. package/lib/icon-list/style/index.d.ts +3 -0
  381. package/lib/icon-list/style/index.d.ts.map +1 -0
  382. package/lib/icon-list/style/index.js +122 -0
  383. package/lib/icon-list/style/index.js.map +1 -0
  384. package/lib/img/Contain.js +44 -80
  385. package/lib/img/Cover.js +78 -139
  386. package/lib/img/index.js +60 -92
  387. package/lib/img/style/index.d.ts +1 -0
  388. package/lib/img/style/index.d.ts.map +1 -0
  389. package/lib/img/style/index.js +2 -0
  390. package/lib/img/style/index.js.map +1 -0
  391. package/lib/index.js +182 -694
  392. package/lib/input/index.d.ts +3 -3
  393. package/lib/input/index.js +22 -29
  394. package/lib/input/index.js.map +1 -1
  395. package/lib/input-number/index.d.ts +3 -3
  396. package/lib/input-number/index.js +22 -29
  397. package/lib/input-number/index.js.map +1 -1
  398. package/lib/layout/index.d.ts +3 -3
  399. package/lib/layout/index.js +22 -29
  400. package/lib/layout/index.js.map +1 -1
  401. package/lib/list/index.d.ts +3 -3
  402. package/lib/list/index.js +22 -29
  403. package/lib/list/index.js.map +1 -1
  404. package/lib/loading-button/index.js +55 -75
  405. package/lib/loading-button/style/index.d.ts +1 -0
  406. package/lib/loading-button/style/index.d.ts.map +1 -0
  407. package/lib/loading-button/style/index.js +2 -0
  408. package/lib/loading-button/style/index.js.map +1 -0
  409. package/lib/locale/default.js +10 -17
  410. package/lib/locale/default.js.map +1 -1
  411. package/lib/locale/en_US.js +35 -41
  412. package/lib/locale/en_US.js.map +1 -1
  413. package/lib/locale/index.js +18 -39
  414. package/lib/locale/zh_CN.js +35 -41
  415. package/lib/locale/zh_CN.js.map +1 -1
  416. package/lib/locale-provider/index.d.ts +3 -3
  417. package/lib/locale-provider/index.js +22 -29
  418. package/lib/locale-provider/index.js.map +1 -1
  419. package/lib/mention/index.d.ts +3 -3
  420. package/lib/mention/index.js +22 -29
  421. package/lib/mention/index.js.map +1 -1
  422. package/lib/mentions/index.d.ts +3 -3
  423. package/lib/mentions/index.js +22 -29
  424. package/lib/mentions/index.js.map +1 -1
  425. package/lib/menu/index.d.ts +3 -3
  426. package/lib/menu/index.js +22 -29
  427. package/lib/menu/index.js.map +1 -1
  428. package/lib/message/index.d.ts +3 -3
  429. package/lib/message/index.js +22 -30
  430. package/lib/message/index.js.map +1 -1
  431. package/lib/modal/index.d.ts +3 -3
  432. package/lib/modal/index.js +22 -30
  433. package/lib/modal/index.js.map +1 -1
  434. package/lib/notification/index.d.ts +3 -3
  435. package/lib/notification/index.js +22 -29
  436. package/lib/notification/index.js.map +1 -1
  437. package/lib/page/Box.js +40 -79
  438. package/lib/page/index.js +99 -180
  439. package/lib/page/style/index.d.ts +1 -0
  440. package/lib/page/style/index.d.ts.map +1 -0
  441. package/lib/page/style/index.js +2 -0
  442. package/lib/page/style/index.js.map +1 -0
  443. package/lib/page/utils.js +15 -29
  444. package/lib/page-header/index.d.ts +3 -3
  445. package/lib/page-header/index.js +22 -29
  446. package/lib/page-header/index.js.map +1 -1
  447. package/lib/pagination/index.d.ts +3 -3
  448. package/lib/pagination/index.js +22 -29
  449. package/lib/pagination/index.js.map +1 -1
  450. package/lib/popconfirm/index.d.ts +3 -3
  451. package/lib/popconfirm/index.js +22 -29
  452. package/lib/popconfirm/index.js.map +1 -1
  453. package/lib/popover/index.d.ts +3 -3
  454. package/lib/popover/index.js +22 -29
  455. package/lib/popover/index.js.map +1 -1
  456. package/lib/prev-locale.js +53 -76
  457. package/lib/progress/index.d.ts +3 -3
  458. package/lib/progress/index.js +22 -29
  459. package/lib/progress/index.js.map +1 -1
  460. package/lib/query-form/Field/Checkbox.js +22 -37
  461. package/lib/query-form/Field/Select.js +68 -97
  462. package/lib/query-form/Field/SelectInput.js +73 -110
  463. package/lib/query-form/Field/fieldsMap.d.ts +2 -2
  464. package/lib/query-form/Field/fieldsMap.js +32 -45
  465. package/lib/query-form/Field/index.js +95 -171
  466. package/lib/query-form/createActions.js +50 -60
  467. package/lib/query-form/index.js +286 -446
  468. package/lib/query-form/style/index.d.ts +1 -0
  469. package/lib/query-form/style/index.d.ts.map +1 -0
  470. package/lib/query-form/style/index.js +2 -0
  471. package/lib/query-form/style/index.js.map +1 -0
  472. package/lib/query-form/useForm.js +11 -15
  473. package/lib/query-list-scene/List.js +292 -414
  474. package/lib/query-list-scene/QueryForm.js +104 -191
  475. package/lib/query-list-scene/QueryListScene.js +31 -87
  476. package/lib/query-list-scene/Title.js +9 -19
  477. package/lib/query-list-scene/Toolbar.js +20 -38
  478. package/lib/query-list-scene/createActions.js +64 -85
  479. package/lib/query-list-scene/index.js +24 -38
  480. package/lib/query-list-scene/style/index.d.ts +1 -0
  481. package/lib/query-list-scene/style/index.d.ts.map +1 -0
  482. package/lib/query-list-scene/style/index.js +2 -0
  483. package/lib/query-list-scene/style/index.js.map +1 -0
  484. package/lib/query-list-scene/useActions.js +11 -15
  485. package/lib/radio/index.d.ts +3 -3
  486. package/lib/radio/index.js +22 -29
  487. package/lib/radio/index.js.map +1 -1
  488. package/lib/rate/index.d.ts +3 -3
  489. package/lib/rate/index.js +22 -29
  490. package/lib/rate/index.js.map +1 -1
  491. package/lib/render-empty/index.js +4 -10
  492. package/lib/render-empty/render-empty.js +22 -36
  493. package/lib/render-empty/render-empty.js.map +1 -1
  494. package/lib/render-empty/style/index.d.ts +2 -0
  495. package/lib/render-empty/style/index.d.ts.map +1 -0
  496. package/lib/render-empty/style/index.js +4 -0
  497. package/lib/render-empty/style/index.js.map +1 -0
  498. package/lib/result/index.d.ts +3 -3
  499. package/lib/result/index.js +22 -29
  500. package/lib/result/index.js.map +1 -1
  501. package/lib/row/index.d.ts +3 -3
  502. package/lib/row/index.js +22 -29
  503. package/lib/row/index.js.map +1 -1
  504. package/lib/select/index.d.ts +3 -3
  505. package/lib/select/index.js +22 -29
  506. package/lib/select/index.js.map +1 -1
  507. package/lib/skeleton/index.d.ts +3 -3
  508. package/lib/skeleton/index.js +22 -29
  509. package/lib/skeleton/index.js.map +1 -1
  510. package/lib/slider/index.d.ts +3 -3
  511. package/lib/slider/index.js +22 -29
  512. package/lib/slider/index.js.map +1 -1
  513. package/lib/spin/index.d.ts +3 -3
  514. package/lib/spin/index.js +22 -29
  515. package/lib/spin/index.js.map +1 -1
  516. package/lib/statistic/index.d.ts +3 -3
  517. package/lib/statistic/index.js +22 -29
  518. package/lib/statistic/index.js.map +1 -1
  519. package/lib/steps/index.d.ts +1 -1
  520. package/lib/steps/index.js +19 -24
  521. package/lib/steps/index.js.map +1 -1
  522. package/lib/steps/steps.d.ts +3 -3
  523. package/lib/steps/steps.js +59 -89
  524. package/lib/steps/steps.js.map +1 -1
  525. package/lib/svg-components/illustration-403.js +84 -223
  526. package/lib/svg-components/illustration-404.js +101 -307
  527. package/lib/svg-components/illustration-500.js +109 -338
  528. package/lib/svg-components/illustration-empty.js +41 -71
  529. package/lib/svg-components/illustration-failure.js +62 -129
  530. package/lib/svg-components/illustration-no-access.js +61 -131
  531. package/lib/svg-components/illustration-no-chart.js +63 -151
  532. package/lib/svg-components/illustration-no-result.js +58 -109
  533. package/lib/svg-components/illustration-offline.js +69 -148
  534. package/lib/svg-components/illustration-success.js +69 -154
  535. package/lib/svg-components/index.js +26 -86
  536. package/lib/switch/index.d.ts +3 -3
  537. package/lib/switch/index.js +22 -29
  538. package/lib/switch/index.js.map +1 -1
  539. package/lib/table/assets/image-loading-background.js +43 -62
  540. package/lib/table/assets/image-loading.js +31 -43
  541. package/lib/table/constants.js +3 -6
  542. package/lib/table/context.d.ts +1 -1
  543. package/lib/table/context.js +4 -9
  544. package/lib/table/context.js.map +1 -1
  545. package/lib/table/hooks/index.js +16 -15
  546. package/lib/table/hooks/use-column-setting.d.ts +1 -1
  547. package/lib/table/hooks/use-column-setting.js +20 -45
  548. package/lib/table/hooks/use-column-setting.js.map +1 -1
  549. package/lib/table/index.d.ts +1 -1
  550. package/lib/table/index.js +19 -24
  551. package/lib/table/index.js.map +1 -1
  552. package/lib/table/style/index.d.ts +3 -0
  553. package/lib/table/style/index.d.ts.map +1 -0
  554. package/lib/table/style/index.js +5 -0
  555. package/lib/table/style/index.js.map +1 -0
  556. package/lib/table/table.d.ts +4 -4
  557. package/lib/table/table.d.ts.map +1 -1
  558. package/lib/table/table.js +89 -140
  559. package/lib/table/table.js.map +1 -1
  560. package/lib/table/table.less +0 -9
  561. package/lib/table/table.stories.js +154 -191
  562. package/lib/table/utils.d.ts +1 -1
  563. package/lib/table/utils.js +25 -33
  564. package/lib/table/utils.js.map +1 -1
  565. package/lib/tabs/index.d.ts +3 -3
  566. package/lib/tabs/index.js +22 -29
  567. package/lib/tabs/index.js.map +1 -1
  568. package/lib/tag/index.d.ts +3 -3
  569. package/lib/tag/index.js +22 -29
  570. package/lib/tag/index.js.map +1 -1
  571. package/lib/time-picker/index.d.ts +3 -3
  572. package/lib/time-picker/index.js +22 -29
  573. package/lib/time-picker/index.js.map +1 -1
  574. package/lib/timeline/index.d.ts +3 -3
  575. package/lib/timeline/index.js +22 -29
  576. package/lib/timeline/index.js.map +1 -1
  577. package/lib/title/index.js +26 -55
  578. package/lib/title/style/index.d.ts +1 -0
  579. package/lib/title/style/index.d.ts.map +1 -0
  580. package/lib/title/style/index.js +2 -0
  581. package/lib/title/style/index.js.map +1 -0
  582. package/lib/tntd-cascader/AntdCascader/component/DisabledContext.js +31 -25
  583. package/lib/tntd-cascader/AntdCascader/component/FormItemInputContext.js +26 -14
  584. package/lib/tntd-cascader/AntdCascader/component/SizeContext.js +26 -14
  585. package/lib/tntd-cascader/AntdCascader/component/context.js +16 -24
  586. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js +39 -44
  587. package/lib/tntd-cascader/AntdCascader/component/defaultRenderEmpty.js.map +1 -1
  588. package/lib/tntd-cascader/AntdCascader/component/getIcons.js +75 -99
  589. package/lib/tntd-cascader/AntdCascader/component/useCompactItemContext.js +50 -40
  590. package/lib/tntd-cascader/AntdCascader/config/utils.js +27 -38
  591. package/lib/tntd-cascader/AntdCascader/config/warning.js +36 -28
  592. package/lib/tntd-cascader/AntdCascader/index.js +162 -269
  593. package/lib/tntd-cascader/AntdCascader/interface.js +6 -16
  594. package/lib/tntd-cascader/img/no-data-s.png +0 -0
  595. package/lib/tntd-cascader/index.js +8 -14
  596. package/lib/tntd-cascader/rc-cascader/Cascader.js +284 -390
  597. package/lib/tntd-cascader/rc-cascader/OptionList/Checkbox.js +41 -40
  598. package/lib/tntd-cascader/rc-cascader/OptionList/Column.js +152 -226
  599. package/lib/tntd-cascader/rc-cascader/OptionList/index.js +163 -267
  600. package/lib/tntd-cascader/rc-cascader/OptionList/useActive.js +48 -55
  601. package/lib/tntd-cascader/rc-cascader/OptionList/useKeyboard.js +166 -229
  602. package/lib/tntd-cascader/rc-cascader/context.js +27 -16
  603. package/lib/tntd-cascader/rc-cascader/hooks/useDisplayValues.js +63 -79
  604. package/lib/tntd-cascader/rc-cascader/hooks/useEntities.js +49 -49
  605. package/lib/tntd-cascader/rc-cascader/hooks/useMissingValues.js +41 -34
  606. package/lib/tntd-cascader/rc-cascader/hooks/useRefFunc.js +33 -21
  607. package/lib/tntd-cascader/rc-cascader/hooks/useSearchConfig.js +51 -42
  608. package/lib/tntd-cascader/rc-cascader/hooks/useSearchOptions.js +65 -90
  609. package/lib/tntd-cascader/rc-cascader/index.js +7 -12
  610. package/lib/tntd-cascader/rc-cascader/utils/commonUtil.js +38 -60
  611. package/lib/tntd-cascader/rc-cascader/utils/treeUtil.js +39 -50
  612. package/lib/tntd-cascader/rc-cascader/utils/warningPropsUtil.js +32 -43
  613. package/lib/tntd-icon/fonts/iconfont.js +53 -41
  614. package/lib/tntd-icon/index.js +25 -51
  615. package/lib/tntd-icon/style/index.d.ts +1 -0
  616. package/lib/tntd-icon/style/index.d.ts.map +1 -0
  617. package/lib/tntd-icon/style/index.js +2 -0
  618. package/lib/tntd-icon/style/index.js.map +1 -0
  619. package/lib/tntd-layout/ActionsContext.js +4 -11
  620. package/lib/tntd-layout/AppList.js +221 -245
  621. package/lib/tntd-layout/Application.js +111 -137
  622. package/lib/tntd-layout/Avatar.js +135 -154
  623. package/lib/tntd-layout/CompatibleLanguage.js +180 -201
  624. package/lib/tntd-layout/EnterpriseLayout/Avatar.js +146 -173
  625. package/lib/tntd-layout/EnterpriseLayout/Language.js +90 -104
  626. package/lib/tntd-layout/EnterpriseLayout/Theme.js +102 -99
  627. package/lib/tntd-layout/EnterpriseLayout/index.js +17 -36
  628. package/lib/tntd-layout/GlobalNavigation/NavigationPopup.js +277 -413
  629. package/lib/tntd-layout/GlobalNavigation/index.js +115 -159
  630. package/lib/tntd-layout/Header.js +136 -111
  631. package/lib/tntd-layout/HeaderActions.js +104 -134
  632. package/lib/tntd-layout/HeaderNavs.js +106 -117
  633. package/lib/tntd-layout/HeaderTabs.js +310 -286
  634. package/lib/tntd-layout/Iconfont.js +7 -16
  635. package/lib/tntd-layout/Language.js +76 -100
  636. package/lib/tntd-layout/Layout.js +171 -253
  637. package/lib/tntd-layout/Logo.js +139 -91
  638. package/lib/tntd-layout/OrgAppList.js +383 -301
  639. package/lib/tntd-layout/SideMenu.js +392 -331
  640. package/lib/tntd-layout/Theme.js +93 -127
  641. package/lib/tntd-layout/createActions.js +34 -50
  642. package/lib/tntd-layout/images/avatar/empty.png +0 -0
  643. package/lib/tntd-layout/images/avatar/female1.png +0 -0
  644. package/lib/tntd-layout/images/avatar/female2.png +0 -0
  645. package/lib/tntd-layout/images/avatar/female3.png +0 -0
  646. package/lib/tntd-layout/images/avatar/female4.png +0 -0
  647. package/lib/tntd-layout/images/avatar/female5.png +0 -0
  648. package/lib/tntd-layout/images/avatar/female6.png +0 -0
  649. package/lib/tntd-layout/images/avatar/male1.png +0 -0
  650. package/lib/tntd-layout/images/avatar/male2.png +0 -0
  651. package/lib/tntd-layout/images/avatar/male3.png +0 -0
  652. package/lib/tntd-layout/images/avatar/male4.png +0 -0
  653. package/lib/tntd-layout/images/avatar/male5.png +0 -0
  654. package/lib/tntd-layout/images/avatar/male6.png +0 -0
  655. package/lib/tntd-layout/images/index.js +66 -96
  656. package/lib/tntd-layout/index.js +95 -165
  657. package/lib/tntd-layout/paaslayout/CompactSideMenu.js +177 -178
  658. package/lib/tntd-layout/paaslayout/Header.js +79 -84
  659. package/lib/tntd-layout/paaslayout/Logo.js +30 -32
  660. package/lib/tntd-layout/paaslayout/SideMenu.js +147 -182
  661. package/lib/tntd-layout/paaslayout/index.js +141 -251
  662. package/lib/tntd-layout/storage.d.ts +1 -1
  663. package/lib/tntd-layout/storage.d.ts.map +1 -1
  664. package/lib/tntd-layout/storage.js +30 -88
  665. package/lib/tntd-layout/style/index.d.ts +1 -0
  666. package/lib/tntd-layout/style/index.d.ts.map +1 -0
  667. package/lib/tntd-layout/style/index.js +2 -0
  668. package/lib/tntd-layout/style/index.js.map +1 -0
  669. package/lib/tntd-modal/index.js +62 -117
  670. package/lib/tntd-modal/style/index.d.ts +1 -0
  671. package/lib/tntd-modal/style/index.d.ts.map +1 -0
  672. package/lib/tntd-modal/style/index.js +2 -0
  673. package/lib/tntd-modal/style/index.js.map +1 -0
  674. package/lib/tntd-second-page/index.js +33 -70
  675. package/lib/tntd-second-page/index.js.map +1 -1
  676. package/lib/tntd-select/DropDownWrap.js +78 -123
  677. package/lib/tntd-select/index.d.ts +1 -1
  678. package/lib/tntd-select/index.js +520 -697
  679. package/lib/tntd-select/style/index.d.ts +1 -0
  680. package/lib/tntd-select/style/index.d.ts.map +1 -0
  681. package/lib/tntd-select/style/index.js +2 -0
  682. package/lib/tntd-select/style/index.js.map +1 -0
  683. package/lib/tooltip/index.d.ts +3 -3
  684. package/lib/tooltip/index.js +22 -29
  685. package/lib/tooltip/index.js.map +1 -1
  686. package/lib/transfer/index.d.ts +3 -3
  687. package/lib/transfer/index.js +22 -29
  688. package/lib/transfer/index.js.map +1 -1
  689. package/lib/tree/index.d.ts +3 -3
  690. package/lib/tree/index.js +22 -29
  691. package/lib/tree/index.js.map +1 -1
  692. package/lib/tree-select/index.d.ts +3 -3
  693. package/lib/tree-select/index.js +22 -29
  694. package/lib/tree-select/index.js.map +1 -1
  695. package/lib/typography/index.d.ts +3 -3
  696. package/lib/typography/index.js +22 -29
  697. package/lib/typography/index.js.map +1 -1
  698. package/lib/upload/index.d.ts +3 -3
  699. package/lib/upload/index.js +22 -29
  700. package/lib/upload/index.js.map +1 -1
  701. package/lib/utils/checkAuth.js +23 -40
  702. package/lib/utils/findMenuInfoByPath.js +34 -47
  703. package/lib/utils/index.js +79 -144
  704. package/lib/version/index.d.ts +3 -3
  705. package/lib/version/index.js +22 -29
  706. package/lib/version/index.js.map +1 -1
  707. package/package.json +2 -2
@@ -1,636 +1,510 @@
1
- var __rest = this && this.__rest || function (s, e) {
2
- var t = {};
3
-
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
5
-
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
8
- }
9
- return t;
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
10
11
  };
11
-
12
12
  import React, { PureComponent } from 'react';
13
13
  import Select from '../select';
14
14
  import Empty from '../empty';
15
- import DropDownWrap from './DropDownWrap'; // 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER
16
-
17
- const ITEM_ELEMENT_NUMBER = 30; // Select size 配置
18
-
15
+ import DropDownWrap from './DropDownWrap';
16
+ // 页面实际渲染的下拉菜单数量,实际为 2 * ITEM_ELEMENT_NUMBER
17
+ const ITEM_ELEMENT_NUMBER = 30;
18
+ // Select size 配置
19
19
  const ITEM_HEIGHT_CFG = {
20
- small: 24,
21
- large: 40,
22
- default: 32
20
+ small: 24,
21
+ large: 40,
22
+ default: 32,
23
23
  };
24
24
  const ARROW_CODE = {
25
- 40: 'down',
26
- 38: 'up'
25
+ 40: 'down',
26
+ 38: 'up',
27
27
  };
28
28
  const DROPDOWN_HEIGHT = 224;
29
29
  const Option = Select.Option;
30
-
31
30
  class SuperSelect extends PureComponent {
32
- constructor(props) {
33
- super(props);
34
- Object.defineProperty(this, "turnChildren", {
35
- enumerable: true,
36
- configurable: true,
37
- writable: true,
38
- value: children => {
39
- if (!children) return [];
40
- let arr = [];
41
-
42
- if (children && children.props) {
43
- arr.push(children);
44
- } else {
45
- children.forEach(item => {
46
- if (item) {
47
- if (item instanceof Array) {
48
- arr = arr.concat(item);
49
- } else {
50
- arr.push(item);
51
- }
31
+ constructor(props) {
32
+ super(props);
33
+ Object.defineProperty(this, "turnChildren", {
34
+ enumerable: true,
35
+ configurable: true,
36
+ writable: true,
37
+ value: (children) => {
38
+ if (!children)
39
+ return [];
40
+ let arr = [];
41
+ if (children && children.props) {
42
+ arr.push(children);
43
+ }
44
+ else {
45
+ children.forEach((item) => {
46
+ if (item) {
47
+ if (item instanceof Array) {
48
+ arr = arr.concat(item);
49
+ }
50
+ else {
51
+ arr.push(item);
52
+ }
53
+ }
54
+ });
55
+ }
56
+ return arr;
52
57
  }
53
- });
54
- }
55
-
56
- return arr;
57
- }
58
- });
59
- Object.defineProperty(this, "formulaWidth", {
60
- enumerable: true,
61
- configurable: true,
62
- writable: true,
63
- value: () => {
64
- // 获取dom设置宽度
65
- const {
66
- children: arr2,
67
- dropdownMatchSelectWidth = true,
68
- maxWidth
69
- } = this.props;
70
- const selectDom = document.getElementById(this.id);
71
- const selectWidth = selectDom.clientWidth || selectDom.offsetWidth;
72
- let arr = [];
73
- let formulaMaxWidth = 10;
74
-
75
- if (!dropdownMatchSelectWidth) {
76
- formulaMaxWidth = maxWidth || 10;
77
- }
78
-
79
- if (!dropdownMatchSelectWidth && !maxWidth) {
80
- const children = this.turnChildren(arr2);
81
-
82
- for (let i = 0; i < children.length; i++) {
83
- const val = children[i].props.children;
84
- const textWidth = this.getTextPixelWith(val);
85
- arr.push(textWidth.toFixed(2));
86
- }
87
-
88
- if (arr.length > 0) {
89
- formulaMaxWidth = Math.max(...arr);
90
- }
91
- }
92
-
93
- this.setState({
94
- selectWidth,
95
- maxWidth: formulaMaxWidth
96
58
  });
97
- }
98
- }); // 获取单行文本的像素宽度
99
-
100
- Object.defineProperty(this, "getTextPixelWith", {
101
- enumerable: true,
102
- configurable: true,
103
- writable: true,
104
- value: (text, fontStyle = '14px') => {
105
- let canvas = document.createElement('canvas'); // 创建 canvas 画布
106
-
107
- let context = canvas.getContext('2d'); // 获取 canvas 绘图上下文环境
108
-
109
- context.font = fontStyle; // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度
110
-
111
- let dimension = context.measureText(text); // 测量文字
112
-
113
- return dimension.width;
114
- }
115
- });
116
- Object.defineProperty(this, "getItemStyle", {
117
- enumerable: true,
118
- configurable: true,
119
- writable: true,
120
- value: i => ({
121
- position: 'absolute',
122
- top: this.ITEM_HEIGHT * i,
123
- width: '100%',
124
- height: this.ITEM_HEIGHT
125
- })
126
- });
127
- Object.defineProperty(this, "addEvent", {
128
- enumerable: true,
129
- configurable: true,
130
- writable: true,
131
- value: () => {
132
- this.scrollEle = document.querySelector(`.${this.dropdownClassName}`); // 下拉菜单未展开时元素不存在
133
-
134
- if (!this.scrollEle) return;
135
- this.scrollEle.addEventListener('scroll', this.onScroll, false);
136
- this.inputEle = document.querySelector(`#${this.id}`);
137
- if (!this.inputEle) return;
138
- this.inputEle.addEventListener('keydown', this.onKeyDown, false);
139
- }
140
- }); // 模拟 antd select 按下 上下箭头 键时滚动列表
141
-
142
- Object.defineProperty(this, "onKeyDown", {
143
- enumerable: true,
144
- configurable: true,
145
- writable: true,
146
- value: e => {
147
- const {
148
- keyCode
149
- } = e || {};
150
- setTimeout(() => {
151
- const activeItem = document.querySelector(`.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`);
152
- if (!activeItem) return;
153
- const {
154
- offsetTop
155
- } = activeItem;
156
- const isUp = ARROW_CODE[keyCode] === 'up';
157
- const isDown = ARROW_CODE[keyCode] === 'down'; // 在所有列表第一行按上键
158
-
159
- if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp) {
160
- this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT);
161
- this.prevTop = this.allHeight;
162
- return;
163
- } // 在所有列表中最后一行按下键
164
-
165
-
166
- if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown) {
167
- this.scrollEle.scrollTo(0, 0);
168
- this.prevTop = 0;
169
- return;
170
- }
171
-
172
- this.prevTop = offsetTop; // 向下滚动到下拉框最后一行时,向下滚动一行的高度
173
-
174
- if (offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 && isDown) {
175
- this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT);
176
- return;
177
- } // 向上滚动到下拉框第一一行时,向上滚动一行的高度
178
-
179
-
180
- if (offsetTop < this.scrollEle.scrollTop && isUp) {
181
- this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT);
182
- }
183
- }, 100);
184
- }
185
- });
186
- Object.defineProperty(this, "onScroll", {
187
- enumerable: true,
188
- configurable: true,
189
- writable: true,
190
- value: () => this.throttleByHeight(this.onScrollReal)
191
- });
192
- Object.defineProperty(this, "onScrollReal", {
193
- enumerable: true,
194
- configurable: true,
195
- writable: true,
196
- value: () => {
197
- this.allList = this.getUseChildrenList();
198
- const {
199
- startIndex,
200
- endIndex
201
- } = this.getStartAndEndIndex();
202
- this.prevScrollTop = this.scrollTop; // 重新渲染列表组件 Wrap
203
-
204
- const allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
205
- this.wrap.reactList(allHeight, startIndex, endIndex);
206
- }
207
- });
208
- Object.defineProperty(this, "throttleByHeight", {
209
- enumerable: true,
210
- configurable: true,
211
- writable: true,
212
- value: () => {
213
- this.scrollTop = this.scrollEle.scrollTop; // 滚动的高度
214
-
215
- let delta = this.prevScrollTop - this.scrollTop;
216
- delta = delta < 0 ? 0 - delta : delta;
217
- delta > this.reactDelta && this.onScrollReal();
218
- }
219
- }); // 列表可展示所有 children
220
-
221
- Object.defineProperty(this, "getUseChildrenList", {
222
- enumerable: true,
223
- configurable: true,
224
- writable: true,
225
- value: () => this.state.filterChildren || this.state.children
226
- });
227
- Object.defineProperty(this, "getStartAndEndIndex", {
228
- enumerable: true,
229
- configurable: true,
230
- writable: true,
231
- value: () => {
232
- // 滚动后显示在列表可视区中的第一个 item 的 index
233
- const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0));
234
- const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2;
235
- const endIndex = showIndex + ITEM_ELEMENT_NUMBER;
236
- return {
237
- startIndex,
238
- endIndex
59
+ Object.defineProperty(this, "formulaWidth", {
60
+ enumerable: true,
61
+ configurable: true,
62
+ writable: true,
63
+ value: () => {
64
+ // 获取dom设置宽度
65
+ const { children: arr2, dropdownMatchSelectWidth = true, maxWidth } = this.props;
66
+ const selectDom = document.getElementById(this.id);
67
+ const selectWidth = selectDom.clientWidth || selectDom.offsetWidth;
68
+ let arr = [];
69
+ let formulaMaxWidth = 10;
70
+ if (!dropdownMatchSelectWidth) {
71
+ formulaMaxWidth = maxWidth || 10;
72
+ }
73
+ if (!dropdownMatchSelectWidth && !maxWidth) {
74
+ const children = this.turnChildren(arr2);
75
+ for (let i = 0; i < children.length; i++) {
76
+ const val = children[i].props.children;
77
+ const textWidth = this.getTextPixelWith(val);
78
+ arr.push(textWidth.toFixed(2));
79
+ }
80
+ if (arr.length > 0) {
81
+ formulaMaxWidth = Math.max(...arr);
82
+ }
83
+ }
84
+ this.setState({
85
+ selectWidth,
86
+ maxWidth: formulaMaxWidth,
87
+ });
88
+ }
89
+ });
90
+ // 获取单行文本的像素宽度
91
+ Object.defineProperty(this, "getTextPixelWith", {
92
+ enumerable: true,
93
+ configurable: true,
94
+ writable: true,
95
+ value: (text, fontStyle = '14px') => {
96
+ let canvas = document.createElement('canvas'); // 创建 canvas 画布
97
+ let context = canvas.getContext('2d'); // 获取 canvas 绘图上下文环境
98
+ context.font = fontStyle; // 设置字体样式,使用前设置好对应的 font 样式才能准确获取文字的像素长度
99
+ let dimension = context.measureText(text); // 测量文字
100
+ return dimension.width;
101
+ }
102
+ });
103
+ Object.defineProperty(this, "getItemStyle", {
104
+ enumerable: true,
105
+ configurable: true,
106
+ writable: true,
107
+ value: (i) => ({
108
+ position: 'absolute',
109
+ top: this.ITEM_HEIGHT * i,
110
+ width: '100%',
111
+ height: this.ITEM_HEIGHT,
112
+ })
113
+ });
114
+ Object.defineProperty(this, "addEvent", {
115
+ enumerable: true,
116
+ configurable: true,
117
+ writable: true,
118
+ value: () => {
119
+ this.scrollEle = document.querySelector(`.${this.dropdownClassName}`);
120
+ // 下拉菜单未展开时元素不存在
121
+ if (!this.scrollEle)
122
+ return;
123
+ this.scrollEle.addEventListener('scroll', this.onScroll, false);
124
+ this.inputEle = document.querySelector(`#${this.id}`);
125
+ if (!this.inputEle)
126
+ return;
127
+ this.inputEle.addEventListener('keydown', this.onKeyDown, false);
128
+ }
129
+ });
130
+ // 模拟 antd select 按下 上下箭头 键时滚动列表
131
+ Object.defineProperty(this, "onKeyDown", {
132
+ enumerable: true,
133
+ configurable: true,
134
+ writable: true,
135
+ value: (e) => {
136
+ const { keyCode } = e || {};
137
+ setTimeout(() => {
138
+ const activeItem = document.querySelector(`.${this.dropdownClassName} .ant-select-dropdown-menu-item-active`);
139
+ if (!activeItem)
140
+ return;
141
+ const { offsetTop } = activeItem;
142
+ const isUp = ARROW_CODE[keyCode] === 'up';
143
+ const isDown = ARROW_CODE[keyCode] === 'down';
144
+ // 在所有列表第一行按上键
145
+ if (offsetTop - this.prevTop > DROPDOWN_HEIGHT && isUp) {
146
+ this.scrollEle.scrollTo(0, this.allHeight - DROPDOWN_HEIGHT);
147
+ this.prevTop = this.allHeight;
148
+ return;
149
+ }
150
+ // 在所有列表中最后一行按下键
151
+ if (this.prevTop > offsetTop + DROPDOWN_HEIGHT && isDown) {
152
+ this.scrollEle.scrollTo(0, 0);
153
+ this.prevTop = 0;
154
+ return;
155
+ }
156
+ this.prevTop = offsetTop;
157
+ // 向下滚动到下拉框最后一行时,向下滚动一行的高度
158
+ if (offsetTop > this.scrollEle.scrollTop + DROPDOWN_HEIGHT - this.ITEM_HEIGHT + 10 &&
159
+ isDown) {
160
+ this.scrollEle.scrollTo(0, this.scrollTop + this.ITEM_HEIGHT);
161
+ return;
162
+ }
163
+ // 向上滚动到下拉框第一一行时,向上滚动一行的高度
164
+ if (offsetTop < this.scrollEle.scrollTop && isUp) {
165
+ this.scrollEle.scrollTo(0, this.scrollTop - this.ITEM_HEIGHT);
166
+ }
167
+ }, 100);
168
+ }
169
+ });
170
+ Object.defineProperty(this, "onScroll", {
171
+ enumerable: true,
172
+ configurable: true,
173
+ writable: true,
174
+ value: () => this.throttleByHeight(this.onScrollReal)
175
+ });
176
+ Object.defineProperty(this, "onScrollReal", {
177
+ enumerable: true,
178
+ configurable: true,
179
+ writable: true,
180
+ value: () => {
181
+ this.allList = this.getUseChildrenList();
182
+ const { startIndex, endIndex } = this.getStartAndEndIndex();
183
+ this.prevScrollTop = this.scrollTop;
184
+ // 重新渲染列表组件 Wrap
185
+ const allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
186
+ this.wrap.reactList(allHeight, startIndex, endIndex);
187
+ }
188
+ });
189
+ Object.defineProperty(this, "throttleByHeight", {
190
+ enumerable: true,
191
+ configurable: true,
192
+ writable: true,
193
+ value: () => {
194
+ this.scrollTop = this.scrollEle.scrollTop;
195
+ // 滚动的高度
196
+ let delta = this.prevScrollTop - this.scrollTop;
197
+ delta = delta < 0 ? 0 - delta : delta;
198
+ delta > this.reactDelta && this.onScrollReal();
199
+ }
200
+ });
201
+ // 列表可展示所有 children
202
+ Object.defineProperty(this, "getUseChildrenList", {
203
+ enumerable: true,
204
+ configurable: true,
205
+ writable: true,
206
+ value: () => this.state.filterChildren || this.state.children
207
+ });
208
+ Object.defineProperty(this, "getStartAndEndIndex", {
209
+ enumerable: true,
210
+ configurable: true,
211
+ writable: true,
212
+ value: () => {
213
+ // 滚动后显示在列表可视区中的第一个 item 的 index
214
+ const showIndex = Number((this.scrollTop / this.ITEM_HEIGHT).toFixed(0));
215
+ const startIndex = showIndex - ITEM_ELEMENT_NUMBER < 0 ? 0 : showIndex - ITEM_ELEMENT_NUMBER / 2;
216
+ const endIndex = showIndex + ITEM_ELEMENT_NUMBER;
217
+ return { startIndex, endIndex };
218
+ }
219
+ });
220
+ // 须使用 setTimeout 确保在 dom 加载完成之后添加事件
221
+ Object.defineProperty(this, "setSuperDrowDownMenu", {
222
+ enumerable: true,
223
+ configurable: true,
224
+ writable: true,
225
+ value: (visible) => {
226
+ if (!visible)
227
+ return;
228
+ this.allList = this.getUseChildrenList();
229
+ if (!this.eventTimer || !this.scrollEle) {
230
+ this.eventTimer = setTimeout(() => this.addEvent(), 0);
231
+ }
232
+ else {
233
+ const allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
234
+ // 下拉列表单独重新渲染
235
+ const { startIndex, endIndex } = this.getStartAndEndIndex();
236
+ setTimeout(() => {
237
+ this.wrap && this.wrap.reactList(allHeight, startIndex, endIndex);
238
+ }, 0);
239
+ }
240
+ }
241
+ });
242
+ Object.defineProperty(this, "onDropdownVisibleChange", {
243
+ enumerable: true,
244
+ configurable: true,
245
+ writable: true,
246
+ value: (visible) => {
247
+ const { onDropdownVisibleChange } = this.props;
248
+ onDropdownVisibleChange && onDropdownVisibleChange(visible);
249
+ const { value, children } = this.state;
250
+ // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options
251
+ if (!visible) {
252
+ // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁
253
+ setTimeout(() => {
254
+ this.setState({ filterChildren: null });
255
+ this.setDefaultScrollTop(value);
256
+ }, 100);
257
+ // this.removeEvent();
258
+ }
259
+ else {
260
+ // this.addEvent();
261
+ if (value) {
262
+ // 如果已有 value, 设置默认滚动位置
263
+ this.setDefaultScrollTop();
264
+ // 设置下拉列表显示数据
265
+ this.setSuperDrowDownMenu(visible);
266
+ }
267
+ else if (!value && value !== 0 && children && children.length > 0) {
268
+ // 无数据时,下拉回归至第一个
269
+ const val = children[0].props.value;
270
+ this.setDefaultScrollTop(val);
271
+ }
272
+ }
273
+ }
274
+ });
275
+ Object.defineProperty(this, "onDeselect", {
276
+ enumerable: true,
277
+ configurable: true,
278
+ writable: true,
279
+ value: (value) => {
280
+ const { onDeselect } = this.props;
281
+ onDeselect && onDeselect(value);
282
+ }
283
+ });
284
+ // 在搜索重新计算下拉滚动条高度
285
+ Object.defineProperty(this, "onChange", {
286
+ enumerable: true,
287
+ configurable: true,
288
+ writable: true,
289
+ value: (value, opt) => {
290
+ const { showSearch, onChange, autoClearSearchValue, maxCount, mode } = this.props;
291
+ if (showSearch || this.isMultiple) {
292
+ // 搜索模式下选择后是否需要重置搜索状态
293
+ if (autoClearSearchValue !== false) {
294
+ this.setState({ filterChildren: null }, () => {
295
+ // 搜索成功后重新设置列表的总高度
296
+ this.setSuperDrowDownMenu(true);
297
+ });
298
+ }
299
+ }
300
+ if (mode === 'multiple') {
301
+ if (value.length <= maxCount) {
302
+ this.setState({ value });
303
+ }
304
+ }
305
+ else {
306
+ this.setState({ value });
307
+ }
308
+ onChange && onChange(value, opt);
309
+ if (mode !== 'multiple') {
310
+ this.select && this.select.blur();
311
+ }
312
+ }
313
+ });
314
+ Object.defineProperty(this, "onSearch", {
315
+ enumerable: true,
316
+ configurable: true,
317
+ writable: true,
318
+ value: (v) => {
319
+ const { showSearch, onSearch, filterOption, children: arr } = this.props;
320
+ let children = this.turnChildren(arr);
321
+ if (showSearch && filterOption !== false) {
322
+ // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表
323
+ let filterChildren = null;
324
+ if (typeof filterOption === 'function') {
325
+ filterChildren = children.filter((item) => filterOption(v, item));
326
+ }
327
+ else if (filterOption === undefined) {
328
+ filterChildren = children.filter((item) => this.filterOption(v, item));
329
+ }
330
+ // 搜索框有值,去除disabled=true的children
331
+ let newFilterChild = [];
332
+ filterChildren &&
333
+ filterChildren.forEach((item, index) => {
334
+ if (!item.props.disabled) {
335
+ newFilterChild.push(item);
336
+ }
337
+ });
338
+ filterChildren = newFilterChild;
339
+ // 设置下拉列表显示数据
340
+ this.setState({ filterChildren: v === '' ? null : filterChildren }, () => {
341
+ setTimeout(() => {
342
+ // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据
343
+ if (filterChildren) {
344
+ this.scrollTop = 0;
345
+ this.scrollEle.scrollTo(0, 0);
346
+ }
347
+ // 搜索成功后需要重新设置列表的总高度
348
+ this.setSuperDrowDownMenu(true);
349
+ }, 0);
350
+ });
351
+ }
352
+ onSearch && onSearch(v);
353
+ }
354
+ });
355
+ Object.defineProperty(this, "filterOption", {
356
+ enumerable: true,
357
+ configurable: true,
358
+ writable: true,
359
+ value: (v, option) => {
360
+ // 自定义过滤对应的 option 属性配置
361
+ const filterProps = this.props.optionFilterProp || 'value';
362
+ return `${option.props[filterProps]}`.indexOf(v) >= 0;
363
+ }
364
+ });
365
+ Object.defineProperty(this, "setDefaultScrollTop", {
366
+ enumerable: true,
367
+ configurable: true,
368
+ writable: true,
369
+ value: (data) => {
370
+ const { value } = this.state;
371
+ const { children: arr } = this.props;
372
+ const children = this.turnChildren(arr);
373
+ let val = data || data === 0 ? data : value;
374
+ for (let i = 0; i < children.length; i++) {
375
+ const item = children[i];
376
+ const itemValue = item.props.value;
377
+ if (itemValue === val || (Array.isArray(val) && val.includes(itemValue))) {
378
+ const targetScrollTop = i * this.ITEM_HEIGHT;
379
+ setTimeout(() => {
380
+ if (!this.scrollEle) {
381
+ this.addEvent();
382
+ }
383
+ this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop);
384
+ }, 100);
385
+ return;
386
+ }
387
+ }
388
+ }
389
+ });
390
+ Object.defineProperty(this, "removeEvent", {
391
+ enumerable: true,
392
+ configurable: true,
393
+ writable: true,
394
+ value: () => {
395
+ if (!this.scrollEle)
396
+ return;
397
+ this.scrollEle.removeEventListener('scroll', this.onScroll, false);
398
+ if (!this.inputEle)
399
+ return;
400
+ this.inputEle.removeEventListener('keydown', this.onKeyDown, false);
401
+ }
402
+ });
403
+ const { mode, defaultValue, value, optionHeight, children: arr } = props;
404
+ this.isMultiple = ['tags', 'multiple'].includes(mode);
405
+ const children = this.turnChildren(arr);
406
+ // 设置默认 value
407
+ let defaultV = this.isMultiple ? [] : '';
408
+ defaultV = value || defaultValue || defaultV;
409
+ this.state = {
410
+ children: children || [],
411
+ filterChildren: null,
412
+ value: defaultV,
413
+ maxWidth: null,
414
+ selectWidth: null,
239
415
  };
240
- }
241
- }); // 须使用 setTimeout 确保在 dom 加载完成之后添加事件
242
-
243
- Object.defineProperty(this, "setSuperDrowDownMenu", {
244
- enumerable: true,
245
- configurable: true,
246
- writable: true,
247
- value: visible => {
248
- if (!visible) return;
249
- this.allList = this.getUseChildrenList();
250
-
251
- if (!this.eventTimer || !this.scrollEle) {
252
- this.eventTimer = setTimeout(() => this.addEvent(), 0);
253
- } else {
254
- const allHeight = this.allList.length * this.ITEM_HEIGHT || 100; // 下拉列表单独重新渲染
255
-
256
- const {
257
- startIndex,
258
- endIndex
259
- } = this.getStartAndEndIndex();
260
- setTimeout(() => {
261
- this.wrap && this.wrap.reactList(allHeight, startIndex, endIndex);
262
- }, 0);
263
- }
264
- }
265
- });
266
- Object.defineProperty(this, "onDropdownVisibleChange", {
267
- enumerable: true,
268
- configurable: true,
269
- writable: true,
270
- value: visible => {
271
- const {
272
- onDropdownVisibleChange
273
- } = this.props;
274
- onDropdownVisibleChange && onDropdownVisibleChange(visible);
275
- const {
276
- value,
277
- children
278
- } = this.state; // 关闭下拉框前清空筛选条件,防止下次打开任然显示筛选后的 options
279
-
280
- if (!visible) {
281
- // 定时器确保关闭后再设置 filterChildren,防止列表刷新闪烁
282
- setTimeout(() => {
283
- this.setState({
284
- filterChildren: null
285
- });
286
- this.setDefaultScrollTop(value);
287
- }, 100); // this.removeEvent();
288
- } else {
289
- // this.addEvent();
290
- if (value) {
291
- // 如果已有 value, 设置默认滚动位置
292
- this.setDefaultScrollTop(); // 设置下拉列表显示数据
293
-
294
- this.setSuperDrowDownMenu(visible);
295
- } else if (!value && value !== 0 && children && children.length > 0) {
296
- // 无数据时,下拉回归至第一个
297
- const val = children[0].props.value;
298
- this.setDefaultScrollTop(val);
299
- }
300
- }
301
- }
302
- });
303
- Object.defineProperty(this, "onDeselect", {
304
- enumerable: true,
305
- configurable: true,
306
- writable: true,
307
- value: value => {
308
- const {
309
- onDeselect
310
- } = this.props;
311
- onDeselect && onDeselect(value);
312
- }
313
- }); // 在搜索重新计算下拉滚动条高度
314
-
315
- Object.defineProperty(this, "onChange", {
316
- enumerable: true,
317
- configurable: true,
318
- writable: true,
319
- value: (value, opt) => {
320
- const {
321
- showSearch,
322
- onChange,
323
- autoClearSearchValue,
324
- maxCount,
325
- mode
326
- } = this.props;
327
-
328
- if (showSearch || this.isMultiple) {
329
- // 搜索模式下选择后是否需要重置搜索状态
330
- if (autoClearSearchValue !== false) {
331
- this.setState({
332
- filterChildren: null
333
- }, () => {
334
- // 搜索成功后重新设置列表的总高度
335
- this.setSuperDrowDownMenu(true);
336
- });
337
- }
338
- }
339
-
340
- if (mode === 'multiple') {
341
- if (value.length <= maxCount) {
416
+ // 下拉菜单项行高
417
+ this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default'];
418
+ // 可视区 dom 高度
419
+ this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER;
420
+ // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表
421
+ this.reactDelta = this.visibleDomHeight / 3;
422
+ // 是否拖动滚动条快速滚动状态
423
+ this.isStopReact = false;
424
+ // 上一次滚动的 scrollTop 值
425
+ this.prevScrollTop = 0;
426
+ // 上一次按下方向键时 scrollTop 值
427
+ this.prevTop = 0;
428
+ this.scrollTop = 0;
429
+ // className
430
+ this.dropdownClassName = `dc${+new Date()}`;
431
+ this.id = `sid${+new Date()}`;
432
+ }
433
+ componentDidMount() {
434
+ // defaultOpens=true 时添加滚动事件
435
+ setTimeout(() => {
436
+ this.addEvent();
437
+ }, 500);
438
+ const { children: arr } = this.props;
439
+ const children = this.turnChildren(arr);
440
+ // if (children && children.length > 0) {
441
+ this.formulaWidth();
442
+ // }
443
+ }
444
+ componentDidUpdate(prevProps) {
445
+ const { mode, defaultValue, value, children } = this.props;
446
+ let arr = this.turnChildren(children);
447
+ if (prevProps.children !== children) {
448
+ this.isMultiple = ['tags', 'multiple'].includes(mode);
342
449
  this.setState({
343
- value
450
+ children: arr || [],
451
+ filterChildren: null,
344
452
  });
345
- }
346
- } else {
347
- this.setState({
348
- value
349
- });
350
- }
351
-
352
- onChange && onChange(value, opt);
353
-
354
- if (mode !== 'multiple') {
355
- this.select && this.select.blur();
356
- }
357
- }
358
- });
359
- Object.defineProperty(this, "onSearch", {
360
- enumerable: true,
361
- configurable: true,
362
- writable: true,
363
- value: v => {
364
- const {
365
- showSearch,
366
- onSearch,
367
- filterOption,
368
- children: arr
369
- } = this.props;
370
- let children = this.turnChildren(arr);
371
-
372
- if (showSearch && filterOption !== false) {
373
- // 须根据 filterOption(如有该自定义函数)手动 filter 搜索匹配的列表
374
- let filterChildren = null;
375
-
376
- if (typeof filterOption === 'function') {
377
- filterChildren = children.filter(item => filterOption(v, item));
378
- } else if (filterOption === undefined) {
379
- filterChildren = children.filter(item => this.filterOption(v, item));
380
- } // 搜索框有值,去除disabled=true的children
381
-
382
-
383
- let newFilterChild = [];
384
- filterChildren && filterChildren.forEach((item, index) => {
385
- if (!item.props.disabled) {
386
- newFilterChild.push(item);
453
+ if (arr && arr.length > 0) {
454
+ this.formulaWidth();
387
455
  }
388
- });
389
- filterChildren = newFilterChild; // 设置下拉列表显示数据
390
-
391
- this.setState({
392
- filterChildren: v === '' ? null : filterChildren
393
- }, () => {
394
- setTimeout(() => {
395
- // 搜索后需要重置滚动位置到0,防止上次 scrollTop 位置无数据
396
- if (filterChildren) {
397
- this.scrollTop = 0;
398
- this.scrollEle.scrollTo(0, 0);
399
- } // 搜索成功后需要重新设置列表的总高度
400
-
401
-
402
- this.setSuperDrowDownMenu(true);
403
- }, 0);
404
- });
405
456
  }
406
-
407
- onSearch && onSearch(v);
408
- }
409
- });
410
- Object.defineProperty(this, "filterOption", {
411
- enumerable: true,
412
- configurable: true,
413
- writable: true,
414
- value: (v, option) => {
415
- // 自定义过滤对应的 option 属性配置
416
- const filterProps = this.props.optionFilterProp || 'value';
417
- return `${option.props[filterProps]}`.indexOf(v) >= 0;
418
- }
419
- });
420
- Object.defineProperty(this, "setDefaultScrollTop", {
421
- enumerable: true,
422
- configurable: true,
423
- writable: true,
424
- value: data => {
425
- const {
426
- value
427
- } = this.state;
428
- const {
429
- children: arr
430
- } = this.props;
431
- const children = this.turnChildren(arr);
432
- let val = data || data === 0 ? data : value;
433
-
434
- for (let i = 0; i < children.length; i++) {
435
- const item = children[i];
436
- const itemValue = item.props.value;
437
-
438
- if (itemValue === val || Array.isArray(val) && val.includes(itemValue)) {
439
- const targetScrollTop = i * this.ITEM_HEIGHT;
440
- setTimeout(() => {
441
- if (!this.scrollEle) {
442
- this.addEvent();
443
- }
444
-
445
- this.scrollEle && this.scrollEle.scrollTo(0, targetScrollTop);
446
- }, 100);
447
- return;
448
- }
457
+ if (prevProps.value !== value) {
458
+ // 更新时设置默认 value
459
+ let defaultV = this.isMultiple ? [] : '';
460
+ defaultV = value || defaultValue || defaultV;
461
+ this.setState({ value: defaultV });
449
462
  }
450
- }
451
- });
452
- Object.defineProperty(this, "removeEvent", {
453
- enumerable: true,
454
- configurable: true,
455
- writable: true,
456
- value: () => {
457
- if (!this.scrollEle) return;
458
- this.scrollEle.removeEventListener('scroll', this.onScroll, false);
459
- if (!this.inputEle) return;
460
- this.inputEle.removeEventListener('keydown', this.onKeyDown, false);
461
- }
462
- });
463
- const {
464
- mode,
465
- defaultValue,
466
- value,
467
- optionHeight,
468
- children: arr
469
- } = props;
470
- this.isMultiple = ['tags', 'multiple'].includes(mode);
471
- const children = this.turnChildren(arr); // 设置默认 value
472
-
473
- let defaultV = this.isMultiple ? [] : '';
474
- defaultV = value || defaultValue || defaultV;
475
- this.state = {
476
- children: children || [],
477
- filterChildren: null,
478
- value: defaultV,
479
- maxWidth: null,
480
- selectWidth: null
481
- }; // 下拉菜单项行高
482
-
483
- this.ITEM_HEIGHT = optionHeight || ITEM_HEIGHT_CFG[props.size || 'default']; // 可视区 dom 高度
484
-
485
- this.visibleDomHeight = this.ITEM_HEIGHT * ITEM_ELEMENT_NUMBER; // 滚动时重新渲染的 scrollTop 判断值,大于 reactDelta 则刷新下拉列表
486
-
487
- this.reactDelta = this.visibleDomHeight / 3; // 是否拖动滚动条快速滚动状态
488
-
489
- this.isStopReact = false; // 上一次滚动的 scrollTop 值
490
-
491
- this.prevScrollTop = 0; // 上一次按下方向键时 scrollTop 值
492
-
493
- this.prevTop = 0;
494
- this.scrollTop = 0; // className
495
-
496
- this.dropdownClassName = `dc${+new Date()}`;
497
- this.id = `sid${+new Date()}`;
498
- }
499
-
500
- componentDidMount() {
501
- // defaultOpens=true 时添加滚动事件
502
- setTimeout(() => {
503
- this.addEvent();
504
- }, 500);
505
- const {
506
- children: arr
507
- } = this.props;
508
- const children = this.turnChildren(arr); // if (children && children.length > 0) {
509
-
510
- this.formulaWidth(); // }
511
- }
512
-
513
- componentDidUpdate(prevProps) {
514
- const {
515
- mode,
516
- defaultValue,
517
- value,
518
- children
519
- } = this.props;
520
- let arr = this.turnChildren(children);
521
-
522
- if (prevProps.children !== children) {
523
- this.isMultiple = ['tags', 'multiple'].includes(mode);
524
- this.setState({
525
- children: arr || [],
526
- filterChildren: null
527
- });
528
-
529
- if (arr && arr.length > 0) {
530
- this.formulaWidth();
531
- }
532
- }
533
-
534
- if (prevProps.value !== value) {
535
- // 更新时设置默认 value
536
- let defaultV = this.isMultiple ? [] : '';
537
- defaultV = value || defaultValue || defaultV;
538
- this.setState({
539
- value: defaultV
540
- });
541
463
  }
542
- }
543
-
544
- componentWillUnmount() {
545
- this.removeEvent();
546
- }
547
-
548
- render() {
549
- const {
550
- maxWidth,
551
- selectWidth
552
- } = this.state;
553
-
554
- let _a = this.props,
555
- {
556
- dropdownStyle,
557
- optionLabelProp,
558
- dropdownClassName
559
- } = _a,
560
- props = __rest(_a, ["dropdownStyle", "optionLabelProp", "dropdownClassName"]);
561
-
562
- this.allList = this.getUseChildrenList();
563
- this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
564
- const {
565
- startIndex,
566
- endIndex
567
- } = this.getStartAndEndIndex();
568
- let dynamicWidth = maxWidth;
569
-
570
- if (this.allList.length === 0 || maxWidth < selectWidth) {
571
- dynamicWidth = selectWidth;
464
+ componentWillUnmount() {
465
+ this.removeEvent();
572
466
  }
573
-
574
- dropdownStyle = Object.assign(Object.assign({
575
- maxHeight: `${DROPDOWN_HEIGHT}px`
576
- }, dropdownStyle), {
577
- overflow: 'auto',
578
- position: 'relative',
579
- maxWidth: dynamicWidth
580
- });
581
- const {
582
- value
583
- } = this.state; // 判断处于 antd Form 中时不自动设置 value
584
-
585
- const _props = Object.assign({}, props); // 先删除 value,再手动赋值,防止空 value 影响 placeholder
586
-
587
-
588
- delete _props.value; // value 为空字符会隐藏 placeholder,改为 undefined
589
-
590
- if (typeof value === 'string' && !value) {
591
- _props.value = undefined;
592
- } else {
593
- _props.value = value;
594
- }
595
-
596
- optionLabelProp = optionLabelProp || 'children';
597
- return React.createElement(Select, Object.assign({}, _props, {
598
- id: this.id,
599
- onSearch: this.onSearch,
600
- onChange: this.onChange,
601
- dropdownClassName: `${this.dropdownClassName} ${dropdownClassName || ''}`,
602
- optionLabelProp: optionLabelProp,
603
- dropdownStyle: dropdownStyle,
604
- onDropdownVisibleChange: this.onDropdownVisibleChange,
605
- onDeselect: this.onDeselect,
606
- ref: ele => this.select = ele,
607
- dropdownRender: (menu, props) => {
608
- if (this.allList.length === 0) {
609
- return React.createElement("div", {
610
- style: {
611
- padding: '5px 12px'
612
- }
613
- }, React.createElement(Empty, {
614
- image: Empty.PRESENTED_IMAGE_SIMPLE
615
- }));
467
+ render() {
468
+ const { maxWidth, selectWidth } = this.state;
469
+ let _a = this.props, { dropdownStyle, optionLabelProp, dropdownClassName } = _a, props = __rest(_a, ["dropdownStyle", "optionLabelProp", "dropdownClassName"]);
470
+ this.allList = this.getUseChildrenList();
471
+ this.allHeight = this.allList.length * this.ITEM_HEIGHT || 100;
472
+ const { startIndex, endIndex } = this.getStartAndEndIndex();
473
+ let dynamicWidth = maxWidth;
474
+ if (this.allList.length === 0 || maxWidth < selectWidth) {
475
+ dynamicWidth = selectWidth;
476
+ }
477
+ dropdownStyle = Object.assign(Object.assign({ maxHeight: `${DROPDOWN_HEIGHT}px` }, dropdownStyle), { overflow: 'auto', position: 'relative', maxWidth: dynamicWidth });
478
+ const { value } = this.state;
479
+ // 判断处于 antd Form 中时不自动设置 value
480
+ const _props = Object.assign({}, props);
481
+ // 先删除 value,再手动赋值,防止空 value 影响 placeholder
482
+ delete _props.value;
483
+ // value 为空字符会隐藏 placeholder,改为 undefined
484
+ if (typeof value === 'string' && !value) {
485
+ _props.value = undefined;
616
486
  }
617
-
618
- return React.createElement(DropDownWrap, Object.assign({}, {
619
- startIndex,
620
- endIndex,
621
- allHeight: this.allHeight,
622
- menu,
623
- itemHeight: this.ITEM_HEIGHT
624
- }, {
625
- ref: ele => {
626
- this.wrap = ele;
627
- }
628
- }));
629
- }
630
- }), this.allList);
631
- }
632
-
487
+ else {
488
+ _props.value = value;
489
+ }
490
+ optionLabelProp = optionLabelProp || 'children';
491
+ return (React.createElement(Select, Object.assign({}, _props, { id: this.id, onSearch: this.onSearch, onChange: this.onChange, dropdownClassName: `${this.dropdownClassName} ${dropdownClassName || ''}`, optionLabelProp: optionLabelProp, dropdownStyle: dropdownStyle, onDropdownVisibleChange: this.onDropdownVisibleChange, onDeselect: this.onDeselect, ref: (ele) => (this.select = ele), dropdownRender: (menu, props) => {
492
+ if (this.allList.length === 0) {
493
+ return (React.createElement("div", { style: { padding: '5px 12px' } },
494
+ React.createElement(Empty, { image: Empty.PRESENTED_IMAGE_SIMPLE })));
495
+ }
496
+ return (React.createElement(DropDownWrap, Object.assign({}, {
497
+ startIndex,
498
+ endIndex,
499
+ allHeight: this.allHeight,
500
+ menu,
501
+ itemHeight: this.ITEM_HEIGHT,
502
+ }, { ref: (ele) => {
503
+ this.wrap = ele;
504
+ } })));
505
+ } }), this.allList));
506
+ }
633
507
  }
634
-
635
508
  SuperSelect.Option = Option;
636
- export default SuperSelect;
509
+ export default SuperSelect;
510
+ //# sourceMappingURL=index.js.map