@zat-design/sisyphus-react 4.5.10-beta.1 → 4.5.10-beta.2

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 (266) hide show
  1. package/es/FormsProvider/index.js +14 -21
  2. package/es/ProAction/components/CheckModalContent/index.js +12 -26
  3. package/es/ProAction/index.js +79 -83
  4. package/es/ProAction/propsType.js +0 -1
  5. package/es/ProConfigProvider/index.js +63 -110
  6. package/es/ProConfigProvider/propsType.js +0 -1
  7. package/es/ProDownload/index.js +55 -65
  8. package/es/ProDownload/propsType.js +0 -1
  9. package/es/ProDownload/utils.js +61 -95
  10. package/es/ProDrawerForm/components/ProDrawer/index.js +83 -113
  11. package/es/ProDrawerForm/components/ProModal/index.js +77 -108
  12. package/es/ProDrawerForm/components/index.js +6 -2
  13. package/es/ProDrawerForm/hooks/useConfirmClose.js +20 -39
  14. package/es/ProDrawerForm/index.js +29 -38
  15. package/es/ProDrawerForm/propsType.js +0 -1
  16. package/es/ProDrawerForm/utils/index.js +18 -36
  17. package/es/ProEditLabel/components/RenderProForm.js +45 -49
  18. package/es/ProEditLabel/index.js +126 -163
  19. package/es/ProEditLabel/propsType.js +0 -1
  20. package/es/ProEditLabel/utils/index.js +5 -8
  21. package/es/ProEditTable/components/ActionButton/index.js +111 -119
  22. package/es/ProEditTable/components/RcTable/BaseTable.js +38 -51
  23. package/es/ProEditTable/components/RcTable/DraggableTable.js +97 -129
  24. package/es/ProEditTable/components/RcTable/index.js +6 -4
  25. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +77 -95
  26. package/es/ProEditTable/components/RenderField/index.js +490 -587
  27. package/es/ProEditTable/components/RenderField/propsType.js +0 -1
  28. package/es/ProEditTable/components/RenderField/tools.js +115 -112
  29. package/es/ProEditTable/components/RenderToolbar/index.js +47 -73
  30. package/es/ProEditTable/components/Summary/index.js +38 -64
  31. package/es/ProEditTable/components/Validator/index.js +46 -46
  32. package/es/ProEditTable/components/index.js +12 -5
  33. package/es/ProEditTable/index.js +456 -378
  34. package/es/ProEditTable/propsType.js +0 -1
  35. package/es/ProEditTable/utils/config.js +60 -122
  36. package/es/ProEditTable/utils/diffOriginal.js +45 -82
  37. package/es/ProEditTable/utils/getDefaultProps.js +19 -24
  38. package/es/ProEditTable/utils/index.js +150 -236
  39. package/es/ProEditTable/utils/tools.js +149 -286
  40. package/es/ProEditTable/utils/transform.js +25 -30
  41. package/es/ProEditTable/utils/useEditTableError.js +30 -43
  42. package/es/ProEditTable/utils/useShouldUpdateForTable.js +42 -72
  43. package/es/ProEditTable/utils/validateAll.js +87 -154
  44. package/es/ProEnum/components/Group.js +38 -30
  45. package/es/ProEnum/components/Tag.js +22 -26
  46. package/es/ProEnum/hooks/useEnum.js +48 -116
  47. package/es/ProEnum/hooks/useEnumRequest.js +128 -179
  48. package/es/ProEnum/hooks/useFrequentEnumRequest.js +40 -48
  49. package/es/ProEnum/index.js +162 -172
  50. package/es/ProEnum/propsType.js +0 -1
  51. package/es/ProEnum/utils/eventCenter.js +10 -12
  52. package/es/ProEnum/utils/frequentEnum.js +35 -92
  53. package/es/ProEnum/utils/getEnum.js +32 -90
  54. package/es/ProEnum/utils/getEnumLabel.js +44 -49
  55. package/es/ProEnum/utils/index.js +93 -207
  56. package/es/ProForm/components/Container.js +13 -28
  57. package/es/ProForm/components/FormFooter/index.js +36 -44
  58. package/es/ProForm/components/FormFooter/propsType.js +0 -1
  59. package/es/ProForm/components/base/Checkbox/index.js +32 -59
  60. package/es/ProForm/components/base/DatePicker/index.js +49 -71
  61. package/es/ProForm/components/base/Input/index.js +63 -97
  62. package/es/ProForm/components/base/Input/propsType.js +0 -1
  63. package/es/ProForm/components/base/InputNumber/index.js +118 -172
  64. package/es/ProForm/components/base/Radio/index.js +39 -52
  65. package/es/ProForm/components/base/RangePicker/index.js +109 -127
  66. package/es/ProForm/components/base/RangePicker/useDateRange.js +20 -17
  67. package/es/ProForm/components/base/Select/index.js +63 -89
  68. package/es/ProForm/components/base/Switch/index.js +27 -35
  69. package/es/ProForm/components/base/SwitchCheckbox/index.js +36 -54
  70. package/es/ProForm/components/base/TextArea/index.js +30 -41
  71. package/es/ProForm/components/base/TimePicker/index.js +27 -37
  72. package/es/ProForm/components/combination/Container/index.js +37 -47
  73. package/es/ProForm/components/combination/Container/propsType.js +0 -1
  74. package/es/ProForm/components/combination/FormList/components/ActionButton.js +165 -237
  75. package/es/ProForm/components/combination/FormList/components/BlockFields.js +98 -103
  76. package/es/ProForm/components/combination/FormList/components/Empty.js +27 -54
  77. package/es/ProForm/components/combination/FormList/components/LineFields.js +57 -54
  78. package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +61 -109
  79. package/es/ProForm/components/combination/FormList/index.js +151 -161
  80. package/es/ProForm/components/combination/FormList/propsType.js +0 -1
  81. package/es/ProForm/components/combination/FormList/utils.js +22 -38
  82. package/es/ProForm/components/combination/Group/component/AddonWrapper/index.js +12 -28
  83. package/es/ProForm/components/combination/Group/component/ComRender.js +50 -111
  84. package/es/ProForm/components/combination/Group/component/FlexibleGroup.js +105 -206
  85. package/es/ProForm/components/combination/Group/hooks/index.js +68 -128
  86. package/es/ProForm/components/combination/Group/index.js +87 -126
  87. package/es/ProForm/components/combination/Group/propsType.js +0 -1
  88. package/es/ProForm/components/combination/Group/utils/index.js +124 -239
  89. package/es/ProForm/components/combination/ProCascader/index.js +156 -199
  90. package/es/ProForm/components/combination/ProCascader/propsType.js +0 -1
  91. package/es/ProForm/components/combination/ProCascader/utils/index.js +12 -21
  92. package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +63 -75
  93. package/es/ProForm/components/combination/ProModalSelect/index.js +290 -348
  94. package/es/ProForm/components/combination/ProModalSelect/propsType.js +0 -1
  95. package/es/ProForm/components/combination/ProModalSelect/utils/index.js +32 -39
  96. package/es/ProForm/components/combination/ProNumberRange/index.js +100 -156
  97. package/es/ProForm/components/combination/ProNumberRange/propsType.js +0 -1
  98. package/es/ProForm/components/combination/ProRangeLimit/index.js +104 -115
  99. package/es/ProForm/components/combination/ProRangeLimit/propsType.js +0 -1
  100. package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +16 -16
  101. package/es/ProForm/components/combination/ProTimeLimit/index.js +75 -109
  102. package/es/ProForm/components/index.js +56 -34
  103. package/es/ProForm/components/render/ChangedWrapper.js +85 -94
  104. package/es/ProForm/components/render/ConfirmWrapper.js +27 -39
  105. package/es/ProForm/components/render/CustomComponentViewWrapper.js +65 -82
  106. package/es/ProForm/components/render/Render.js +223 -329
  107. package/es/ProForm/components/render/RenderFields.js +76 -113
  108. package/es/ProForm/components/render/propsType.js +0 -1
  109. package/es/ProForm/hooks/useControlled.js +8 -10
  110. package/es/ProForm/hooks/useDeepCompareMemo.js +11 -11
  111. package/es/ProForm/hooks/useFieldProps.js +8 -4
  112. package/es/ProForm/hooks/useForm.js +50 -110
  113. package/es/ProForm/hooks/useRules.js +17 -33
  114. package/es/ProForm/hooks/useShouldUpdate.js +77 -152
  115. package/es/ProForm/hooks/useWatch.js +58 -129
  116. package/es/ProForm/index.js +157 -194
  117. package/es/ProForm/propsType.js +15 -7
  118. package/es/ProForm/utils/buildFormItemProps.js +51 -58
  119. package/es/ProForm/utils/diffOriginal.js +43 -73
  120. package/es/ProForm/utils/getDefaultProps.js +18 -24
  121. package/es/ProForm/utils/index.js +159 -234
  122. package/es/ProForm/utils/processDependencies.js +21 -60
  123. package/es/ProForm/utils/reactiveValues.js +20 -34
  124. package/es/ProForm/utils/rulesCreator.js +42 -40
  125. package/es/ProForm/utils/transformNames.js +10 -13
  126. package/es/ProForm/utils/transformValue.js +16 -29
  127. package/es/ProForm/utils/valueType.js +96 -178
  128. package/es/ProIcon/config/index.js +340 -274
  129. package/es/ProIcon/index.js +135 -209
  130. package/es/ProIcon/propsTypes.js +0 -1
  131. package/es/ProIcon/utils/index.js +24 -39
  132. package/es/ProLayout/components/Layout/Header/index.js +108 -141
  133. package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +134 -190
  134. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +111 -137
  135. package/es/ProLayout/components/Layout/Menu/OpenMenu/propsType.js +0 -1
  136. package/es/ProLayout/components/Layout/Menu/SideMenu/index.js +23 -31
  137. package/es/ProLayout/components/Layout/Menu/index.js +92 -89
  138. package/es/ProLayout/components/Layout/Notice/index.js +13 -27
  139. package/es/ProLayout/components/Layout/index.js +8 -3
  140. package/es/ProLayout/components/ProCollapse/PropTypes.js +0 -1
  141. package/es/ProLayout/components/ProCollapse/index.js +89 -111
  142. package/es/ProLayout/components/ProFooter/PropTypes.js +0 -1
  143. package/es/ProLayout/components/ProFooter/index.js +27 -25
  144. package/es/ProLayout/components/ProHeader/PropTypes.js +0 -1
  145. package/es/ProLayout/components/ProHeader/components/Copy/index.js +23 -21
  146. package/es/ProLayout/components/ProHeader/components/Describe/index.js +67 -86
  147. package/es/ProLayout/components/ProHeader/components/ProBackBtn/index.js +18 -21
  148. package/es/ProLayout/components/ProHeader/components/ProBackBtn/propsType.js +0 -1
  149. package/es/ProLayout/components/ProHeader/components/index.js +6 -2
  150. package/es/ProLayout/components/ProHeader/index.js +216 -356
  151. package/es/ProLayout/components/ProHeader/utils/index.js +19 -26
  152. package/es/ProLayout/components/TabsManager/components/TabContextMenu.js +92 -85
  153. package/es/ProLayout/components/TabsManager/components/TabItem.js +53 -64
  154. package/es/ProLayout/components/TabsManager/components/TabsContext.js +5 -5
  155. package/es/ProLayout/components/TabsManager/components/TabsHeader.js +42 -52
  156. package/es/ProLayout/components/TabsManager/hooks/useActiveTab.js +8 -9
  157. package/es/ProLayout/components/TabsManager/hooks/useIframeRoute.js +19 -32
  158. package/es/ProLayout/components/TabsManager/hooks/useProLayoutTabs.js +6 -20
  159. package/es/ProLayout/components/TabsManager/hooks/useTabsCache.js +25 -42
  160. package/es/ProLayout/components/TabsManager/hooks/useTabsState.js +290 -408
  161. package/es/ProLayout/components/TabsManager/hooks/useTabsUrlSync.js +132 -95
  162. package/es/ProLayout/components/TabsManager/index.js +406 -390
  163. package/es/ProLayout/components/TabsManager/propTypes.js +7 -15
  164. package/es/ProLayout/components/TabsManager/utils/historyObserver.js +26 -23
  165. package/es/ProLayout/components/TabsManager/utils/index.js +127 -184
  166. package/es/ProLayout/components/index.js +8 -3
  167. package/es/ProLayout/index.js +171 -229
  168. package/es/ProLayout/propTypes.js +12 -52
  169. package/es/ProLayout/utils/index.js +48 -128
  170. package/es/ProSelect/components/AdaptiveTooltip.js +26 -25
  171. package/es/ProSelect/index.js +184 -229
  172. package/es/ProSelect/propsType.js +0 -1
  173. package/es/ProSelect/utils/index.js +100 -146
  174. package/es/ProStep/components/Anchor/index.js +71 -82
  175. package/es/ProStep/components/Item/index.js +49 -56
  176. package/es/ProStep/components/LazyLoad/index.js +23 -29
  177. package/es/ProStep/components/Listener/index.js +20 -33
  178. package/es/ProStep/components/Step/index.js +31 -38
  179. package/es/ProStep/constants.js +4 -1
  180. package/es/ProStep/index.js +166 -153
  181. package/es/ProStep/propsType.js +0 -1
  182. package/es/ProStep/utils/index.js +29 -55
  183. package/es/ProStepTab/index.js +83 -138
  184. package/es/ProStepTab/propsType.js +0 -1
  185. package/es/ProTable/components/EditableCell/EditIcon.js +10 -14
  186. package/es/ProTable/components/EditableCell/index.js +37 -71
  187. package/es/ProTable/components/EditableCell/propsType.js +0 -1
  188. package/es/ProTable/components/FormatColumn/index.js +209 -340
  189. package/es/ProTable/components/FormatColumn/propsType.js +0 -1
  190. package/es/ProTable/components/RcTable/components/BaseTable/index.js +35 -39
  191. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +80 -107
  192. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +54 -48
  193. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/propsType.js +0 -1
  194. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +47 -54
  195. package/es/ProTable/components/RcTable/index.js +6 -4
  196. package/es/ProTable/components/RenderColumn/index.js +158 -186
  197. package/es/ProTable/components/RenderEmptyText/index.js +12 -21
  198. package/es/ProTable/components/RenderFooter/index.js +15 -15
  199. package/es/ProTable/components/RenderSummary/index.js +33 -50
  200. package/es/ProTable/components/RenderTableHeader/index.js +44 -46
  201. package/es/ProTable/components/RenderTabs/index.js +47 -51
  202. package/es/ProTable/components/TableResizable/index.js +56 -72
  203. package/es/ProTable/components/TooltipTitle/index.js +13 -21
  204. package/es/ProTable/components/index.js +16 -36
  205. package/es/ProTable/hooks/useAntdTable.js +185 -219
  206. package/es/ProTable/index.js +232 -249
  207. package/es/ProTable/propsType.js +0 -1
  208. package/es/ProTable/utils/columnStorage.js +63 -88
  209. package/es/ProTable/utils/index.js +57 -90
  210. package/es/ProTabs/components/Card/index.js +20 -48
  211. package/es/ProTabs/components/index.js +4 -1
  212. package/es/ProTabs/index.js +39 -56
  213. package/es/ProTabs/propType.js +0 -1
  214. package/es/ProThemeTools/component/ProTools/index.js +106 -158
  215. package/es/ProThemeTools/component/index.js +4 -1
  216. package/es/ProThemeTools/context/ThemeContext.js +67 -146
  217. package/es/ProThemeTools/index.js +103 -156
  218. package/es/ProThemeTools/propsType.js +0 -1
  219. package/es/ProThemeTools/utils/index.js +60 -109
  220. package/es/ProTooltip/index.js +132 -165
  221. package/es/ProTooltip/propsType.js +0 -1
  222. package/es/ProTree/components/AdaptiveTooltip.js +15 -17
  223. package/es/ProTree/components/CloseIcon.js +18 -26
  224. package/es/ProTree/components/List.js +28 -47
  225. package/es/ProTree/components/ProTree.js +152 -211
  226. package/es/ProTree/components/ProTreeSelect/index.js +254 -458
  227. package/es/ProTree/components/ProTreeSelect/propsType.js +0 -1
  228. package/es/ProTree/components/SearchTitle.js +23 -42
  229. package/es/ProTree/components/Tree.js +147 -195
  230. package/es/ProTree/components/index.js +10 -5
  231. package/es/ProTree/index.js +12 -16
  232. package/es/ProTree/propsType.js +0 -1
  233. package/es/ProTree/utils.js +46 -118
  234. package/es/ProTreeModal/components/Cascader.js +56 -64
  235. package/es/ProTreeModal/components/CloseIcon.js +18 -26
  236. package/es/ProTreeModal/components/List.js +114 -180
  237. package/es/ProTreeModal/components/SearchTitle.js +15 -18
  238. package/es/ProTreeModal/components/SortableItem.js +29 -58
  239. package/es/ProTreeModal/components/Tree.js +99 -113
  240. package/es/ProTreeModal/components/Trigger.js +87 -121
  241. package/es/ProTreeModal/components/index.js +14 -6
  242. package/es/ProTreeModal/index.js +397 -435
  243. package/es/ProTreeModal/propsType.js +0 -1
  244. package/es/ProTreeModal/utils.js +52 -95
  245. package/es/ProUpload/components/ButtonRender.js +44 -54
  246. package/es/ProUpload/components/DragRender.js +94 -134
  247. package/es/ProUpload/components/DraggableUploadListItem.js +12 -25
  248. package/es/ProUpload/components/Example.js +27 -31
  249. package/es/ProUpload/components/FileItem.js +69 -163
  250. package/es/ProUpload/components/ImageRender.js +134 -170
  251. package/es/ProUpload/index.js +68 -100
  252. package/es/ProUpload/propsType.js +0 -1
  253. package/es/ProUpload/uitls.js +8 -4
  254. package/es/ProUtils/utils/index.js +17 -13
  255. package/es/ProViewer/index.js +154 -175
  256. package/es/ProViewer/propsType.js +0 -5
  257. package/es/ProWaterMark/index.js +9 -16
  258. package/es/ProWaterMark/propsType.js +0 -1
  259. package/es/hooks/useDraggableRow.js +25 -53
  260. package/es/index.js +57 -77
  261. package/es/locale/en_US.js +153 -142
  262. package/es/locale/index.js +23 -36
  263. package/es/locale/zh_CN.js +145 -142
  264. package/es/tokens.js +84 -83
  265. package/es/utils/index.js +24 -51
  266. package/package.json +4 -3
@@ -1,91 +1,51 @@
1
- import _isPlainObject from "lodash/isPlainObject";
2
- /* eslint-disable prefer-destructuring */
3
- /* eslint-disable no-mixed-operators */
4
- /**
5
- * 检查并更新最佳模糊匹配
6
- * @param pathName 目标路径
7
- * @param itemUrl 菜单项URL
8
- * @param itemRedirectUrl 菜单项重定向URL
9
- * @param keyIdPath 菜单项ID路径
10
- * @param bestMatch 当前最佳匹配
11
- * @returns 更新后的最佳匹配
12
- */
1
+ import isPlainObject from "lodash/isPlainObject";
13
2
  const updateBestMatch = (pathName, itemUrl, itemRedirectUrl, keyIdPath, bestMatch) => {
14
- // 检查 itemUrl 是否匹配
15
3
  if (itemUrl && pathName.includes(itemUrl)) {
16
4
  const urlLength = itemUrl.length;
17
5
  if (!bestMatch || urlLength > bestMatch.urlLength) {
18
- return {
19
- keyIdPath,
20
- urlLength
21
- };
6
+ return { keyIdPath, urlLength };
22
7
  }
23
8
  }
24
-
25
- // 检查 itemRedirectUrl 是否匹配
26
9
  if (itemRedirectUrl && pathName.includes(itemRedirectUrl)) {
27
10
  const urlLength = itemRedirectUrl.length;
28
11
  if (!bestMatch || urlLength > bestMatch.urlLength) {
29
- return {
30
- keyIdPath,
31
- urlLength
32
- };
12
+ return { keyIdPath, urlLength };
33
13
  }
34
14
  }
35
15
  return bestMatch;
36
16
  };
37
-
38
- /**
39
- * 通过URL获取对应keyIdPath
40
- * @param menus 菜单数据
41
- * @param activeMenu 上一次激活url地址
42
- * @return result
43
- */
44
- export const getIdsByPathName = (menus, activeMenu) => {
17
+ const getIdsByPathName = (menus, activeMenu) => {
45
18
  const _pathName = activeMenu || window.location.pathname;
46
19
  let result;
47
20
  let bestMatch = null;
48
- const menuDeep = menuDeepItem => {
21
+ const menuDeep = (menuDeepItem) => {
22
+ var _a, _b;
49
23
  for (let i = 0; i <= menuDeepItem.length - 1; i++) {
50
24
  const item = menuDeepItem[i];
51
- const itemUrl = item?.url?.split('?')[0] || '';
52
- const itemRedirectUrl = item?.redirectUrl?.split('?')[0] || '';
53
-
54
- // 精确匹配:完全相等时直接返回
55
- if (item?.url === _pathName || item.redirectUrl === _pathName) {
25
+ const itemUrl = ((_a = item == null ? void 0 : item.url) == null ? void 0 : _a.split("?")[0]) || "";
26
+ const itemRedirectUrl = ((_b = item == null ? void 0 : item.redirectUrl) == null ? void 0 : _b.split("?")[0]) || "";
27
+ if ((item == null ? void 0 : item.url) === _pathName || item.redirectUrl === _pathName) {
56
28
  result = item.keyIdPath;
57
29
  return;
58
30
  }
59
-
60
- // 如果有子菜单,递归查找
61
31
  const hasChildren = Array.isArray(item.children) && item.children.length;
62
32
  if (hasChildren) {
63
33
  menuDeep(item.children);
64
- // 如果递归后找到了精确匹配,直接返回
65
34
  if (result) {
66
35
  return;
67
36
  }
68
37
  continue;
69
38
  }
70
-
71
- // 叶子节点:使用最长匹配策略选择最精确的匹配
72
39
  bestMatch = updateBestMatch(_pathName, itemUrl, itemRedirectUrl, item.keyIdPath, bestMatch);
73
40
  }
74
41
  };
75
42
  menuDeep(menus);
76
-
77
- // 如果没有精确匹配,使用最佳模糊匹配
78
- return result || bestMatch?.keyIdPath || [];
43
+ return result || (bestMatch == null ? void 0 : bestMatch.keyIdPath) || [];
79
44
  };
80
-
81
- /**
82
- * 转换菜单数据源评价keyUrlPath与keyIdPath
83
- * @param menuData 菜单数据源
84
- * @returns []
85
- */
86
- export const transformMenu = (menuData, pathPrefix) => {
45
+ const transformMenu = (menuData, pathPrefix) => {
87
46
  const data = [...menuData];
88
- const menuDeep = menuDeepItem => {
47
+ const menuDeep = (menuDeepItem) => {
48
+ var _a, _b, _c;
89
49
  if (!Array.isArray(menuDeepItem) || !menuDeepItem.length) {
90
50
  return [];
91
51
  }
@@ -93,27 +53,23 @@ export const transformMenu = (menuData, pathPrefix) => {
93
53
  const item = menuDeepItem[i];
94
54
  item.code = item.code || item.id;
95
55
  item.url = `${pathPrefix}${item.url}`;
96
- item.redirectUrl = item?.redirectUrl ? `${pathPrefix}${item.redirectUrl}` : '';
97
- // 拼接父级url与id数据
98
- if (item?.keyUrlPath?.length) {
56
+ item.redirectUrl = (item == null ? void 0 : item.redirectUrl) ? `${pathPrefix}${item.redirectUrl}` : "";
57
+ if ((_a = item == null ? void 0 : item.keyUrlPath) == null ? void 0 : _a.length) {
99
58
  item.keyUrlPath.push(item.redirectUrl || item.url);
100
- // 去重解决重复问题
101
59
  item.keyUrlPath = [...new Set(item.keyUrlPath)];
102
60
  } else {
103
61
  item.keyUrlPath = [item.redirectUrl || item.url];
104
62
  }
105
- if (item?.keyIdPath?.length) {
63
+ if ((_b = item == null ? void 0 : item.keyIdPath) == null ? void 0 : _b.length) {
106
64
  item.keyIdPath.push(item.id);
107
- // 去重解决重复问题
108
65
  item.keyIdPath = [...new Set(item.keyIdPath)];
109
66
  } else {
110
67
  item.keyIdPath = [item.id];
111
68
  }
112
- if (!['PAGE', 'MENU'].includes(item.type)) {
69
+ if (!["PAGE", "MENU"].includes(item.type)) {
113
70
  menuDeepItem.splice(i, 1);
114
- } else if (Array.isArray(item?.children) && item?.children?.length) {
115
- // 给children注入keyUrlPath,keyIdPath
116
- item.children.forEach(childrenItem => {
71
+ } else if (Array.isArray(item == null ? void 0 : item.children) && ((_c = item == null ? void 0 : item.children) == null ? void 0 : _c.length)) {
72
+ item.children.forEach((childrenItem) => {
117
73
  childrenItem.keyUrlPath = [...item.keyUrlPath];
118
74
  childrenItem.keyIdPath = [...item.keyIdPath];
119
75
  });
@@ -124,19 +80,11 @@ export const transformMenu = (menuData, pathPrefix) => {
124
80
  menuDeep(data);
125
81
  return data;
126
82
  };
127
-
128
- /**
129
- * 转换菜单数据源评价keyUrlPath与keyIdPath
130
- * @param data 菜单数据源
131
- * @returns []
132
- */
133
- export const transformMenus = (data, pathPrefix) => {
134
- if (_isPlainObject(data)) {
135
- // @ts-ignore
136
- if (!Array.isArray(data?.menus)) {
83
+ const transformMenus = (data, pathPrefix) => {
84
+ if (isPlainObject(data)) {
85
+ if (!Array.isArray(data == null ? void 0 : data.menus)) {
137
86
  return [];
138
87
  }
139
- // @ts-ignore
140
88
  data.menus = transformMenu(data.menus, pathPrefix);
141
89
  return data;
142
90
  }
@@ -145,23 +93,15 @@ export const transformMenus = (data, pathPrefix) => {
145
93
  }
146
94
  return data;
147
95
  };
148
-
149
- /**
150
- * 获取URL中的search参数
151
- * @param name 参数key
152
- * @returns string
153
- */
154
- export function getUrlParams(name) {
155
- const {
156
- search
157
- } = window.location;
158
- const tmpArray = search.substr(1, search.length).split('&');
96
+ function getUrlParams(name) {
97
+ const { search } = window.location;
98
+ const tmpArray = search.substr(1, search.length).split("&");
159
99
  let paramsObj = {};
160
100
  if (tmpArray != null) {
161
101
  for (let i = 0; i < tmpArray.length; i++) {
162
- const reg = /[=|^==]/; // 用=进行拆分,但不包括==
163
- const set1 = tmpArray[i].replace(reg, '&');
164
- const tmpStr2 = set1.split('&');
102
+ const reg = /[=|^==]/;
103
+ const set1 = tmpArray[i].replace(reg, "&");
104
+ const tmpStr2 = set1.split("&");
165
105
  const array = {};
166
106
  array[tmpStr2[0]] = tmpStr2[1];
167
107
  paramsObj = {
@@ -170,79 +110,59 @@ export function getUrlParams(name) {
170
110
  };
171
111
  }
172
112
  }
173
- // 将参数进行返回
174
- return paramsObj[name] ? decodeURIComponent(paramsObj[name]) : '';
113
+ return paramsObj[name] ? decodeURIComponent(paramsObj[name]) : "";
175
114
  }
176
-
177
- /**
178
- * 通过URL获取对应keyIdPath
179
- * @param menus 菜单数据
180
- * @param pathName url地址
181
- * @param routerMatch 匹配模式id & url
182
- */
183
- export const getPathNameKey = ({
184
- menus,
185
- pathName
186
- }) => {
115
+ const getPathNameKey = ({ menus, pathName }) => {
187
116
  let result;
188
117
  let bestMatch = null;
189
- const menuDeep = menuDeepItem => {
118
+ const menuDeep = (menuDeepItem) => {
119
+ var _a, _b;
190
120
  if (!Array.isArray(menuDeepItem) || !menuDeepItem.length) {
191
121
  return;
192
122
  }
193
123
  for (let i = 0; i <= menuDeepItem.length - 1; i++) {
194
124
  const item = menuDeepItem[i];
195
-
196
- // 跳过无效的菜单项
197
125
  if (!Array.isArray(item.keyUrlPath) || !item.keyUrlPath.length) {
198
126
  continue;
199
127
  }
200
- const itemUrl = item?.url?.split('?')[0] || '';
201
- const itemRedirectUrl = item?.redirectUrl?.split('?')[0] || '';
202
-
203
- // 精确匹配:完全相等时直接返回
204
- if (item?.url === pathName || item?.redirectUrl === pathName) {
128
+ const itemUrl = ((_a = item == null ? void 0 : item.url) == null ? void 0 : _a.split("?")[0]) || "";
129
+ const itemRedirectUrl = ((_b = item == null ? void 0 : item.redirectUrl) == null ? void 0 : _b.split("?")[0]) || "";
130
+ if ((item == null ? void 0 : item.url) === pathName || (item == null ? void 0 : item.redirectUrl) === pathName) {
205
131
  result = item.keyIdPath;
206
132
  return;
207
133
  }
208
-
209
- // 如果有子菜单,递归查找
210
134
  const hasChildren = Array.isArray(item.children) && item.children.length;
211
135
  if (hasChildren) {
212
136
  menuDeep(item.children);
213
- // 如果递归后找到了精确匹配,直接返回
214
137
  if (result) {
215
138
  return;
216
139
  }
217
140
  continue;
218
141
  }
219
-
220
- // 叶子节点:使用最长匹配策略选择最精确的匹配
221
142
  bestMatch = updateBestMatch(pathName, itemUrl, itemRedirectUrl, item.keyIdPath, bestMatch);
222
143
  }
223
144
  };
224
145
  menuDeep(menus);
225
-
226
- // 如果没有精确匹配,使用最佳模糊匹配
227
- return result || bestMatch?.keyIdPath;
146
+ return result || (bestMatch == null ? void 0 : bestMatch.keyIdPath);
228
147
  };
229
-
230
- /**
231
- * 根据key查找完整的菜单项数据
232
- * @param menus 菜单数据数组
233
- * @param key 要查找的菜单项key
234
- * @returns 找到的菜单项数据或null
235
- */
236
- export const findMenuItemByKey = (menus, key) => {
237
- // eslint-disable-next-line no-restricted-syntax
148
+ const findMenuItemByKey = (menus, key) => {
238
149
  for (const item of menus) {
239
150
  if (String(item.id) === key) {
240
151
  return item;
241
152
  }
242
153
  if (Array.isArray(item.children) && item.children.length) {
243
154
  const found = findMenuItemByKey(item.children, key);
244
- if (found) return found;
155
+ if (found)
156
+ return found;
245
157
  }
246
158
  }
247
159
  return null;
248
- };
160
+ };
161
+ export {
162
+ findMenuItemByKey,
163
+ getIdsByPathName,
164
+ getPathNameKey,
165
+ getUrlParams,
166
+ transformMenu,
167
+ transformMenus
168
+ };
@@ -1,40 +1,41 @@
1
- import { Tooltip } from 'antd';
2
- import { useEffect, useState } from 'react';
3
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
- const AdaptiveTooltip = ({
5
- children
6
- }) => {
7
- const [placement, setPlacement] = useState('right');
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Tooltip } from "antd";
3
+ import { useEffect, useState } from "react";
4
+ const AdaptiveTooltip = ({ children }) => {
5
+ const [placement, setPlacement] = useState("right");
8
6
  useEffect(() => {
9
7
  const handleResize = () => {
10
- const tooltipElement = document.getElementById('adaptive-tooltip');
8
+ const tooltipElement = document.getElementById("adaptive-tooltip");
11
9
  if (tooltipElement) {
12
10
  const boundingRect = tooltipElement.getBoundingClientRect();
13
11
  const windowWidth = window.innerWidth;
14
12
  if (windowWidth - boundingRect.right < 150) {
15
- setPlacement('left');
13
+ setPlacement("left");
16
14
  } else {
17
- setPlacement('right');
15
+ setPlacement("right");
18
16
  }
19
17
  }
20
18
  };
21
- window.addEventListener('resize', handleResize);
19
+ window.addEventListener("resize", handleResize);
22
20
  handleResize();
23
21
  return () => {
24
- window.removeEventListener('resize', handleResize);
22
+ window.removeEventListener("resize", handleResize);
25
23
  };
26
24
  }, [children]);
27
- return /*#__PURE__*/_jsx(Tooltip, {
28
- placement: placement,
29
- title: /*#__PURE__*/_jsx("div", {
30
- onMouseDown: e => e.stopPropagation(),
31
- children: children
32
- }),
33
- id: "adaptive-tooltip",
34
- children: /*#__PURE__*/_jsxs("span", {
35
- className: "pro-select-ellipse",
36
- children: [" ", children]
37
- })
38
- });
25
+ return /* @__PURE__ */ jsx(
26
+ Tooltip,
27
+ {
28
+ placement,
29
+ title: /* @__PURE__ */ jsx("div", { onMouseDown: (e) => e.stopPropagation(), children }),
30
+ id: "adaptive-tooltip",
31
+ children: /* @__PURE__ */ jsxs("span", { className: "pro-select-ellipse", children: [
32
+ " ",
33
+ children
34
+ ] })
35
+ }
36
+ );
37
+ };
38
+ var AdaptiveTooltip_default = AdaptiveTooltip;
39
+ export {
40
+ AdaptiveTooltip_default as default
39
41
  };
40
- export default AdaptiveTooltip;