@lingxiteam/ebe-utils 0.5.0 → 0.5.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 (371) hide show
  1. package/lib/pcpublic/src/components/pcfactory/src/StdUpload/assets/closeIcon.png +0 -0
  2. package/lib/pcpublic/src/components/pcfactory/src/StdUpload/assets/fileName.png +0 -0
  3. package/lib/pcpublic/src/components/pcfactory/src/StdUpload/assets/img.png +0 -0
  4. package/lib/pcpublic/src/components/pcfactory/src/Table/hooks/useFormatCell.ts +279 -0
  5. package/lib/pcpublic/src/components/pcfactory/src/utils/Empty/customLocale.tsx +6 -0
  6. package/lib/public/src/components/ExpBusiObjModal/index.less +28 -0
  7. package/lib/public/src/components/ExpBusiObjModal/index.tsx +315 -0
  8. package/lib/public/src/components/ImportBusiObjModal/index.tsx +5 -0
  9. package/lib/public/src/components/PreviewFile/index.less +200 -0
  10. package/lib/public/src/components/PreviewFile/index.tsx +787 -0
  11. package/lib/public/src/components/PreviewFile/utils.ts +90 -0
  12. package/lib/public/src/components/common/PreviewFile/index.less +200 -0
  13. package/lib/public/src/components/common/PreviewFile/index.tsx +787 -0
  14. package/lib/public/src/components/common/PreviewFile/utils.ts +90 -0
  15. package/lib/public/src/components/pcfactory/src/Alert/index.tsx +22 -0
  16. package/lib/public/src/components/pcfactory/src/Animation/index.tsx +186 -0
  17. package/lib/public/src/components/pcfactory/src/Animation/useAnimation.ts +270 -0
  18. package/lib/public/src/components/pcfactory/src/Animation/useBackgroundStyle.ts +74 -0
  19. package/lib/public/src/components/pcfactory/src/Audio/index.tsx +240 -0
  20. package/lib/public/src/components/pcfactory/src/BarChart/index.tsx +3 -0
  21. package/lib/public/src/components/pcfactory/src/Button/index.tsx +151 -0
  22. package/lib/public/src/components/pcfactory/src/Card/index.tsx +201 -0
  23. package/lib/public/src/components/pcfactory/src/Card/useExtendBtn.tsx +195 -0
  24. package/lib/public/src/components/pcfactory/src/Cascader/index.tsx +398 -0
  25. package/lib/public/src/components/pcfactory/src/ChartBar/index.tsx +15 -0
  26. package/lib/public/src/components/pcfactory/src/ChartBar/loader.tsx +12 -0
  27. package/lib/public/src/components/pcfactory/src/ChartLine/ChartLine.tsx +48 -0
  28. package/lib/public/src/components/pcfactory/src/ChartLine/PropsType.ts +88 -0
  29. package/lib/public/src/components/pcfactory/src/ChartLine/index.tsx +15 -0
  30. package/lib/public/src/components/pcfactory/src/ChartLine/loader.tsx +12 -0
  31. package/lib/public/src/components/pcfactory/src/Checkbox/index.tsx +144 -0
  32. package/lib/public/src/components/pcfactory/src/CheckboxGroup/index.tsx +319 -0
  33. package/lib/public/src/components/pcfactory/src/Collapse/index.tsx +195 -0
  34. package/lib/public/src/components/pcfactory/src/CollapsePanel/index.tsx +186 -0
  35. package/lib/public/src/components/pcfactory/src/Condition/index.tsx +22 -0
  36. package/lib/public/src/components/pcfactory/src/DatePicker/index.tsx +756 -0
  37. package/lib/public/src/components/pcfactory/src/Description/index.tsx +447 -0
  38. package/lib/public/src/components/pcfactory/src/Description/utils/getLabelSizeMode.ts +40 -0
  39. package/lib/public/src/components/pcfactory/src/Divider/components/CenterLineDivider/index.tsx +190 -0
  40. package/lib/public/src/components/pcfactory/src/Divider/components/CenterTabDivider/index.tsx +77 -0
  41. package/lib/public/src/components/pcfactory/src/Divider/components/LeftCardDivider/index.tsx +87 -0
  42. package/lib/public/src/components/pcfactory/src/Divider/components/LeftLineDivider/index.tsx +106 -0
  43. package/lib/public/src/components/pcfactory/src/Divider/components/LeftTabDivider/index.tsx +60 -0
  44. package/lib/public/src/components/pcfactory/src/Divider/components/LeftTopDivider/index.tsx +55 -0
  45. package/lib/public/src/components/pcfactory/src/Divider/components/LxDashed/index.module.less +10 -0
  46. package/lib/public/src/components/pcfactory/src/Divider/components/LxDashed/index.tsx +143 -0
  47. package/lib/public/src/components/pcfactory/src/Divider/components/LxSolid/index.module.less +10 -0
  48. package/lib/public/src/components/pcfactory/src/Divider/components/LxSolid/index.tsx +126 -0
  49. package/lib/public/src/components/pcfactory/src/Divider/index.tsx +210 -0
  50. package/lib/public/src/components/pcfactory/src/Dropdown/index.tsx +385 -0
  51. package/lib/public/src/components/pcfactory/src/DynamicTabs/PropsType.ts +31 -0
  52. package/lib/public/src/components/pcfactory/src/DynamicTabs/TabPage.tsx +63 -0
  53. package/lib/public/src/components/pcfactory/src/DynamicTabs/index.tsx +214 -0
  54. package/lib/public/src/components/pcfactory/src/Form/Form.tsx +600 -0
  55. package/lib/public/src/components/pcfactory/src/Form/WrapperForm.ts +14 -0
  56. package/lib/public/src/components/pcfactory/src/Form/index.tsx +15 -0
  57. package/lib/public/src/components/pcfactory/src/Form/useFormStatus.ts +47 -0
  58. package/lib/public/src/components/pcfactory/src/Form/useMonitor.ts +40 -0
  59. package/lib/public/src/components/pcfactory/src/FormGroup/TitleComp.tsx +107 -0
  60. package/lib/public/src/components/pcfactory/src/FormGroup/index.tsx +181 -0
  61. package/lib/public/src/components/pcfactory/src/FreeLayout/index.tsx +151 -0
  62. package/lib/public/src/components/pcfactory/src/Gantt/Gantt.tsx +460 -0
  63. package/lib/public/src/components/pcfactory/src/Gantt/const.ts +122 -0
  64. package/lib/public/src/components/pcfactory/src/Gantt/index.tsx +16 -0
  65. package/lib/public/src/components/pcfactory/src/Gantt/loader.tsx +12 -0
  66. package/lib/public/src/components/pcfactory/src/GridView/GridView.tsx +435 -0
  67. package/lib/public/src/components/pcfactory/src/GridView/index.tsx +24 -0
  68. package/lib/public/src/components/pcfactory/src/GridView/loader.tsx +12 -0
  69. package/lib/public/src/components/pcfactory/src/HorizontalView/index.tsx +32 -0
  70. package/lib/public/src/components/pcfactory/src/Icon/IconED/index.tsx +42 -0
  71. package/lib/public/src/components/pcfactory/src/Icon/PropsType.ts +57 -0
  72. package/lib/public/src/components/pcfactory/src/Icon/hooks/index.tsx +300 -0
  73. package/lib/public/src/components/pcfactory/src/Icon/index.tsx +69 -0
  74. package/lib/public/src/components/pcfactory/src/IconFont/index.tsx +24 -0
  75. package/lib/public/src/components/pcfactory/src/Img/BasicImage/index.tsx +90 -0
  76. package/lib/public/src/components/pcfactory/src/Img/assets/placeholder.png +0 -0
  77. package/lib/public/src/components/pcfactory/src/Img/index.tsx +91 -0
  78. package/lib/public/src/components/pcfactory/src/Input/index.tsx +425 -0
  79. package/lib/public/src/components/pcfactory/src/InputNumber/index.tsx +263 -0
  80. package/lib/public/src/components/pcfactory/src/LXPieChart/LXPieChart.tsx +23 -0
  81. package/lib/public/src/components/pcfactory/src/LXPieChart/PropsType.ts +11 -0
  82. package/lib/public/src/components/pcfactory/src/LXPieChart/index.less +6 -0
  83. package/lib/public/src/components/pcfactory/src/LXPieChart/index.tsx +15 -0
  84. package/lib/public/src/components/pcfactory/src/LXPieChart/loader.tsx +12 -0
  85. package/lib/public/src/components/pcfactory/src/LXRadarChart/LXRadarChat.tsx +25 -0
  86. package/lib/public/src/components/pcfactory/src/LXRadarChart/PropsType.ts +9 -0
  87. package/lib/public/src/components/pcfactory/src/LXRadarChart/index.less +7 -0
  88. package/lib/public/src/components/pcfactory/src/LXRadarChart/index.tsx +17 -0
  89. package/lib/public/src/components/pcfactory/src/LXRadarChart/loader.tsx +12 -0
  90. package/lib/public/src/components/pcfactory/src/Layout/index.tsx +130 -0
  91. package/lib/public/src/components/pcfactory/src/Layout/utils.ts +48 -0
  92. package/lib/public/src/components/pcfactory/src/LineChart/index.tsx +3 -0
  93. package/lib/public/src/components/pcfactory/src/Link/index.tsx +117 -0
  94. package/lib/public/src/components/pcfactory/src/LoopList/index.tsx +551 -0
  95. package/lib/public/src/components/pcfactory/src/Menu/index.tsx +422 -0
  96. package/lib/public/src/components/pcfactory/src/ModalSelect/BaseModalSelect.tsx +95 -0
  97. package/lib/public/src/components/pcfactory/src/ModalSelect/index.tsx +453 -0
  98. package/lib/public/src/components/pcfactory/src/MultipleSelect/index.tsx +3 -0
  99. package/lib/public/src/components/pcfactory/src/Pagination/index.tsx +104 -0
  100. package/lib/public/src/components/pcfactory/src/Password/index.tsx +88 -0
  101. package/lib/public/src/components/pcfactory/src/PictureVerifyCode/assets/placeholder.png +0 -0
  102. package/lib/public/src/components/pcfactory/src/PictureVerifyCode/index.tsx +76 -0
  103. package/lib/public/src/components/pcfactory/src/PieChart/index.tsx +3 -0
  104. package/lib/public/src/components/pcfactory/src/Progress/index.tsx +155 -0
  105. package/lib/public/src/components/pcfactory/src/QRCode/const.ts +5 -0
  106. package/lib/public/src/components/pcfactory/src/QRCode/index.tsx +146 -0
  107. package/lib/public/src/components/pcfactory/src/QuillEditor/QuillEditor.tsx +197 -0
  108. package/lib/public/src/components/pcfactory/src/QuillEditor/index.tsx +37 -0
  109. package/lib/public/src/components/pcfactory/src/QuillEditor/loader.ts +12 -0
  110. package/lib/public/src/components/pcfactory/src/RadarChart/RadarChartHook.ts +449 -0
  111. package/lib/public/src/components/pcfactory/src/RadarChart/RadarChartType.ts +39 -0
  112. package/lib/public/src/components/pcfactory/src/RadarChart/RadarECharts.tsx +86 -0
  113. package/lib/public/src/components/pcfactory/src/RadarChart/index.tsx +16 -0
  114. package/lib/public/src/components/pcfactory/src/RadarChart/loader.tsx +12 -0
  115. package/lib/public/src/components/pcfactory/src/RadarChart/radarDefaultConfig.js +55 -0
  116. package/lib/public/src/components/pcfactory/src/Radio/index.tsx +260 -0
  117. package/lib/public/src/components/pcfactory/src/RangePicker/index.tsx +3 -0
  118. package/lib/public/src/components/pcfactory/src/Rate/index.tsx +187 -0
  119. package/lib/public/src/components/pcfactory/src/ReactECharts/PropsType.ts +37 -0
  120. package/lib/public/src/components/pcfactory/src/ReactECharts/ReactECharts.tsx +672 -0
  121. package/lib/public/src/components/pcfactory/src/ReactECharts/index.tsx +26 -0
  122. package/lib/public/src/components/pcfactory/src/ReactECharts/loader.tsx +12 -0
  123. package/lib/public/src/components/pcfactory/src/RemoteComponent/components/FishRender.tsx +31 -0
  124. package/lib/public/src/components/pcfactory/src/RemoteComponent/components/ReactRender.tsx +55 -0
  125. package/lib/public/src/components/pcfactory/src/RemoteComponent/components/VueRender.tsx +32 -0
  126. package/lib/public/src/components/pcfactory/src/RemoteComponent/constant.ts +9 -0
  127. package/lib/public/src/components/pcfactory/src/RemoteComponent/index.tsx +82 -0
  128. package/lib/public/src/components/pcfactory/src/RemoteComponent/remote-component.config.ts +12 -0
  129. package/lib/public/src/components/pcfactory/src/Result/index.tsx +27 -0
  130. package/lib/public/src/components/pcfactory/src/RichTextEditor/LcdpUeditorMain.tsx +105 -0
  131. package/lib/public/src/components/pcfactory/src/RichTextEditor/RichTextEditor.tsx +234 -0
  132. package/lib/public/src/components/pcfactory/src/RichTextEditor/RichTextEditorMain.tsx +41 -0
  133. package/lib/public/src/components/pcfactory/src/RichTextEditor/index.tsx +33 -0
  134. package/lib/public/src/components/pcfactory/src/RichTextEditor/loader.ts +12 -0
  135. package/lib/public/src/components/pcfactory/src/Row/Row.tsx +66 -0
  136. package/lib/public/src/components/pcfactory/src/Row/index.tsx +9 -0
  137. package/lib/public/src/components/pcfactory/src/Row/loader.tsx +12 -0
  138. package/lib/public/src/components/pcfactory/src/Select/index.tsx +628 -0
  139. package/lib/public/src/components/pcfactory/src/Select/selectUtils.ts +257 -0
  140. package/lib/public/src/components/pcfactory/src/Slider/index.tsx +351 -0
  141. package/lib/public/src/components/pcfactory/src/StdUpload/DownloadProgress/DownloadProgress.tsx +27 -0
  142. package/lib/public/src/components/pcfactory/src/StdUpload/DownloadProgress/index.ts +3 -0
  143. package/lib/public/src/components/pcfactory/src/StdUpload/UploadItem.tsx +257 -0
  144. package/lib/public/src/components/pcfactory/src/StdUpload/assets/default.png +0 -0
  145. package/lib/public/src/components/pcfactory/src/StdUpload/assets/js.png +0 -0
  146. package/lib/public/src/components/pcfactory/src/StdUpload/assets/pdf.png +0 -0
  147. package/lib/public/src/components/pcfactory/src/StdUpload/assets/ppt.png +0 -0
  148. package/lib/public/src/components/pcfactory/src/StdUpload/assets/txt.png +0 -0
  149. package/lib/public/src/components/pcfactory/src/StdUpload/assets/word.png +0 -0
  150. package/lib/public/src/components/pcfactory/src/StdUpload/assets/xls.png +0 -0
  151. package/lib/public/src/components/pcfactory/src/StdUpload/assets/zip.png +0 -0
  152. package/lib/public/src/components/pcfactory/src/StdUpload/index.tsx +1050 -0
  153. package/lib/public/src/components/pcfactory/src/StdUpload/uploadItem.less +64 -0
  154. package/lib/public/src/components/pcfactory/src/Steps/constant/checkcircle.tsx +29 -0
  155. package/lib/public/src/components/pcfactory/src/Steps/constant/index.ts +2 -0
  156. package/lib/public/src/components/pcfactory/src/Steps/constant/vector.tsx +13 -0
  157. package/lib/public/src/components/pcfactory/src/Steps/index.tsx +343 -0
  158. package/lib/public/src/components/pcfactory/src/SuperSelect/ComSelect.tsx +538 -0
  159. package/lib/public/src/components/pcfactory/src/SuperSelect/index.tsx +127 -0
  160. package/lib/public/src/components/pcfactory/src/SuperSelect/loader.tsx +12 -0
  161. package/lib/public/src/components/pcfactory/src/Swiper/index.tsx +184 -0
  162. package/lib/public/src/components/pcfactory/src/Switch/index.tsx +219 -0
  163. package/lib/public/src/components/pcfactory/src/TabPane/index.tsx +145 -0
  164. package/lib/public/src/components/pcfactory/src/Table/BodyCell/index.tsx +278 -0
  165. package/lib/public/src/components/pcfactory/src/Table/EditComponent/index.tsx +554 -0
  166. package/lib/public/src/components/pcfactory/src/Table/FormatCell/GhostTag/index.tsx +34 -0
  167. package/lib/public/src/components/pcfactory/src/Table/FormatCell/Hyperlink/index.tsx +26 -0
  168. package/lib/public/src/components/pcfactory/src/Table/FormatCell/PointTag/index.tsx +41 -0
  169. package/lib/public/src/components/pcfactory/src/Table/FormatCell/PureColourFill/index.tsx +32 -0
  170. package/lib/public/src/components/pcfactory/src/Table/FormatCell/PureFadeColourTag/index.tsx +34 -0
  171. package/lib/public/src/components/pcfactory/src/Table/FormatCell/index.tsx +227 -0
  172. package/lib/public/src/components/pcfactory/src/Table/HeaderCell/HeaderCellTitle/index.tsx +63 -0
  173. package/lib/public/src/components/pcfactory/src/Table/HeaderCell/index.tsx +32 -0
  174. package/lib/public/src/components/pcfactory/src/Table/TableHead/index.tsx +501 -0
  175. package/lib/public/src/components/pcfactory/src/Table/TableSummaryRow/index.tsx +46 -0
  176. package/lib/public/src/components/pcfactory/src/Table/constant.ts +73 -0
  177. package/lib/public/src/components/pcfactory/src/Table/hooks/index.ts +32 -0
  178. package/lib/public/src/components/pcfactory/src/Table/hooks/useCMDActions.ts +325 -0
  179. package/lib/public/src/components/pcfactory/src/Table/hooks/useCheckStrict.ts +176 -0
  180. package/lib/public/src/components/pcfactory/src/Table/hooks/useColumns.tsx +1851 -0
  181. package/lib/public/src/components/pcfactory/src/Table/hooks/useCommon.ts +39 -0
  182. package/lib/public/src/components/pcfactory/src/Table/hooks/useDataSource.ts +201 -0
  183. package/lib/public/src/components/pcfactory/src/Table/hooks/useExpandable.tsx +324 -0
  184. package/lib/public/src/components/pcfactory/src/Table/hooks/useFilter.tsx +274 -0
  185. package/lib/public/src/components/pcfactory/src/Table/hooks/useFormatCell.ts +309 -0
  186. package/lib/public/src/components/pcfactory/src/Table/hooks/usePagination.ts +104 -0
  187. package/lib/public/src/components/pcfactory/src/Table/hooks/useRowEdit.ts +302 -0
  188. package/lib/public/src/components/pcfactory/src/Table/hooks/useRowMerge.ts +93 -0
  189. package/lib/public/src/components/pcfactory/src/Table/hooks/useScroll.ts +120 -0
  190. package/lib/public/src/components/pcfactory/src/Table/hooks/useSelection.ts +467 -0
  191. package/lib/public/src/components/pcfactory/src/Table/hooks/useSort.ts +39 -0
  192. package/lib/public/src/components/pcfactory/src/Table/hooks/useSummaryCol.ts +191 -0
  193. package/lib/public/src/components/pcfactory/src/Table/index.tsx +525 -0
  194. package/lib/public/src/components/pcfactory/src/Table/utils/SequenceId.ts +104 -0
  195. package/lib/public/src/components/pcfactory/src/Table/utils/index.ts +442 -0
  196. package/lib/public/src/components/pcfactory/src/Tabs/index.tsx +209 -0
  197. package/lib/public/src/components/pcfactory/src/Tag/index.tsx +39 -0
  198. package/lib/public/src/components/pcfactory/src/Text/index.tsx +191 -0
  199. package/lib/public/src/components/pcfactory/src/TextArea/ForIETextArea.tsx +96 -0
  200. package/lib/public/src/components/pcfactory/src/TextArea/index.tsx +255 -0
  201. package/lib/public/src/components/pcfactory/src/TimePicker/index.tsx +3 -0
  202. package/lib/public/src/components/pcfactory/src/TlrView/index.tsx +3 -0
  203. package/lib/public/src/components/pcfactory/src/TooltipView/PropsType.ts +22 -0
  204. package/lib/public/src/components/pcfactory/src/TooltipView/TooltipViewED/index.tsx +10 -0
  205. package/lib/public/src/components/pcfactory/src/TooltipView/hooks/index.tsx +90 -0
  206. package/lib/public/src/components/pcfactory/src/TooltipView/index.tsx +13 -0
  207. package/lib/public/src/components/pcfactory/src/Transfer/index.tsx +753 -0
  208. package/lib/public/src/components/pcfactory/src/Tree/TreeNodeMenu/index.tsx +102 -0
  209. package/lib/public/src/components/pcfactory/src/Tree/index.tsx +1303 -0
  210. package/lib/public/src/components/pcfactory/src/TreeSelect/index.tsx +639 -0
  211. package/lib/public/src/components/pcfactory/src/TreeTable/hooks/index.ts +4 -0
  212. package/lib/public/src/components/pcfactory/src/TreeTable/hooks/useCMDAction.ts +82 -0
  213. package/lib/public/src/components/pcfactory/src/TreeTable/hooks/useExpandable.tsx +61 -0
  214. package/lib/public/src/components/pcfactory/src/TreeTable/index.tsx +273 -0
  215. package/lib/public/src/components/pcfactory/src/Upload/Upload.tsx +740 -0
  216. package/lib/public/src/components/pcfactory/src/Upload/index.tsx +29 -0
  217. package/lib/public/src/components/pcfactory/src/Upload/loader.tsx +13 -0
  218. package/lib/public/src/components/pcfactory/src/VerificationCode/assets/placeholder.png +0 -0
  219. package/lib/public/src/components/pcfactory/src/VerificationCode/index.tsx +297 -0
  220. package/lib/public/src/components/pcfactory/src/VerticalView/index.tsx +25 -0
  221. package/lib/public/src/components/pcfactory/src/VideoPlayer/index.tsx +159 -0
  222. package/lib/public/src/components/pcfactory/src/View/index.tsx +150 -0
  223. package/lib/public/src/components/pcfactory/src/View/useBackgroundStyle.ts +75 -0
  224. package/lib/public/src/components/pcfactory/src/VirtualGroup/index.tsx +16 -0
  225. package/lib/public/src/components/pcfactory/src/Webview/index.tsx +104 -0
  226. package/lib/public/src/components/pcfactory/src/index.component.ts +253 -0
  227. package/lib/public/src/components/pcfactory/src/styles/common.less +107 -0
  228. package/lib/public/src/components/pcfactory/src/styles/compatible.less +976 -0
  229. package/lib/public/src/components/pcfactory/src/styles/components/Alert.less +25 -0
  230. package/lib/public/src/components/pcfactory/src/styles/components/Audio.less +198 -0
  231. package/lib/public/src/components/pcfactory/src/styles/components/Button.less +32 -0
  232. package/lib/public/src/components/pcfactory/src/styles/components/Card.less +155 -0
  233. package/lib/public/src/components/pcfactory/src/styles/components/Cascader.less +54 -0
  234. package/lib/public/src/components/pcfactory/src/styles/components/Checkbox.less +7 -0
  235. package/lib/public/src/components/pcfactory/src/styles/components/Collapse.less +214 -0
  236. package/lib/public/src/components/pcfactory/src/styles/components/DatePicker.less +22 -0
  237. package/lib/public/src/components/pcfactory/src/styles/components/Description.less +64 -0
  238. package/lib/public/src/components/pcfactory/src/styles/components/Divider.less +530 -0
  239. package/lib/public/src/components/pcfactory/src/styles/components/Drawer.less +54 -0
  240. package/lib/public/src/components/pcfactory/src/styles/components/Dropdown.less +11 -0
  241. package/lib/public/src/components/pcfactory/src/styles/components/DynamicDataContainer.less +16 -0
  242. package/lib/public/src/components/pcfactory/src/styles/components/DynamicTabs.less +254 -0
  243. package/lib/public/src/components/pcfactory/src/styles/components/Form.less +265 -0
  244. package/lib/public/src/components/pcfactory/src/styles/components/FormGroup.less +111 -0
  245. package/lib/public/src/components/pcfactory/src/styles/components/Gantt.less +139 -0
  246. package/lib/public/src/components/pcfactory/src/styles/components/GridView.less +62 -0
  247. package/lib/public/src/components/pcfactory/src/styles/components/Icon.less +20 -0
  248. package/lib/public/src/components/pcfactory/src/styles/components/Input.less +164 -0
  249. package/lib/public/src/components/pcfactory/src/styles/components/InputNumber.less +124 -0
  250. package/lib/public/src/components/pcfactory/src/styles/components/InputPassword.less +3 -0
  251. package/lib/public/src/components/pcfactory/src/styles/components/Link.less +4 -0
  252. package/lib/public/src/components/pcfactory/src/styles/components/LoopList.less +67 -0
  253. package/lib/public/src/components/pcfactory/src/styles/components/Menu.less +54 -0
  254. package/lib/public/src/components/pcfactory/src/styles/components/ModalSelect.less +42 -0
  255. package/lib/public/src/components/pcfactory/src/styles/components/Popconfirm.less +7 -0
  256. package/lib/public/src/components/pcfactory/src/styles/components/Progress.less +57 -0
  257. package/lib/public/src/components/pcfactory/src/styles/components/QuillEditor.less +15 -0
  258. package/lib/public/src/components/pcfactory/src/styles/components/Radio.less +7 -0
  259. package/lib/public/src/components/pcfactory/src/styles/components/Rate.less +16 -0
  260. package/lib/public/src/components/pcfactory/src/styles/components/Result.less +26 -0
  261. package/lib/public/src/components/pcfactory/src/styles/components/Select.less +146 -0
  262. package/lib/public/src/components/pcfactory/src/styles/components/Slider.less +78 -0
  263. package/lib/public/src/components/pcfactory/src/styles/components/StdUpload.less +225 -0
  264. package/lib/public/src/components/pcfactory/src/styles/components/Step.less +91 -0
  265. package/lib/public/src/components/pcfactory/src/styles/components/SuperSelect.less +83 -0
  266. package/lib/public/src/components/pcfactory/src/styles/components/Swiper.less +106 -0
  267. package/lib/public/src/components/pcfactory/src/styles/components/Switch.less +49 -0
  268. package/lib/public/src/components/pcfactory/src/styles/components/Table.less +1229 -0
  269. package/lib/public/src/components/pcfactory/src/styles/components/Tabs.less +291 -0
  270. package/lib/public/src/components/pcfactory/src/styles/components/Tag.less +107 -0
  271. package/lib/public/src/components/pcfactory/src/styles/components/TextArea.less +12 -0
  272. package/lib/public/src/components/pcfactory/src/styles/components/TooltipView.less +43 -0
  273. package/lib/public/src/components/pcfactory/src/styles/components/Transfer.less +155 -0
  274. package/lib/public/src/components/pcfactory/src/styles/components/Tree.less +329 -0
  275. package/lib/public/src/components/pcfactory/src/styles/components/TreeSelect.less +65 -0
  276. package/lib/public/src/components/pcfactory/src/styles/components/Upload.less +26 -0
  277. package/lib/public/src/components/pcfactory/src/styles/components/VerificationCode.less +162 -0
  278. package/lib/public/src/components/pcfactory/src/styles/components/Webview.less +31 -0
  279. package/lib/public/src/components/pcfactory/src/styles/index.less +10 -0
  280. package/lib/public/src/components/pcfactory/src/styles/index.ued.less +65 -0
  281. package/lib/public/src/components/pcfactory/src/styles/theme/variables/antdVariables.less +84 -0
  282. package/lib/public/src/components/pcfactory/src/styles/theme/variables/common.less +9 -0
  283. package/lib/public/src/components/pcfactory/src/styles/theme/variables/customVariables.less +35 -0
  284. package/lib/public/src/components/pcfactory/src/styles/theme/variables/index.less +2 -0
  285. package/lib/public/src/components/pcfactory/src/utils/ChannelContainer.tsx +150 -0
  286. package/lib/public/src/components/pcfactory/src/utils/ChildRender.ts +103 -0
  287. package/lib/public/src/components/pcfactory/src/utils/CustomModule.tsx +134 -0
  288. package/lib/public/src/components/pcfactory/src/utils/DummyFormContext.ts +136 -0
  289. package/lib/public/src/components/pcfactory/src/utils/Empty/customLocale.tsx +6 -0
  290. package/lib/public/src/components/pcfactory/src/utils/Empty/empty.tsx +37 -0
  291. package/lib/public/src/components/pcfactory/src/utils/LoaderHelper.tsx +29 -0
  292. package/lib/public/src/components/pcfactory/src/utils/PropsType.ts +21 -0
  293. package/lib/public/src/components/pcfactory/src/utils/WithSyncValue.ts +218 -0
  294. package/lib/public/src/components/pcfactory/src/utils/ahooks/index.ts +22 -0
  295. package/lib/public/src/components/pcfactory/src/utils/ahooks/useCreation.ts +23 -0
  296. package/lib/public/src/components/pcfactory/src/utils/ahooks/useDeepCompareEffect.ts +27 -0
  297. package/lib/public/src/components/pcfactory/src/utils/ahooks/useMap.ts +46 -0
  298. package/lib/public/src/components/pcfactory/src/utils/ahooks/useMemoizedFn.ts +27 -0
  299. package/lib/public/src/components/pcfactory/src/utils/ahooks/usePrevious.ts +19 -0
  300. package/lib/public/src/components/pcfactory/src/utils/ahooks/useSafeState.ts +26 -0
  301. package/lib/public/src/components/pcfactory/src/utils/ahooks/useSetState.ts +26 -0
  302. package/lib/public/src/components/pcfactory/src/utils/ahooks/useUnmountedRef.ts +14 -0
  303. package/lib/public/src/components/pcfactory/src/utils/ahooks/useUpdate.ts +9 -0
  304. package/lib/public/src/components/pcfactory/src/utils/ahooks/useUpdateEffect.ts +16 -0
  305. package/lib/public/src/components/pcfactory/src/utils/basicStatusTransfer.ts +32 -0
  306. package/lib/public/src/components/pcfactory/src/utils/common.ts +367 -0
  307. package/lib/public/src/components/pcfactory/src/utils/dynamicUtils/DynamicContext.tsx +106 -0
  308. package/lib/public/src/components/pcfactory/src/utils/formUtils/FormContext.tsx +131 -0
  309. package/lib/public/src/components/pcfactory/src/utils/formUtils/FormFields.tsx +646 -0
  310. package/lib/public/src/components/pcfactory/src/utils/formUtils/WrapperContainer.tsx +123 -0
  311. package/lib/public/src/components/pcfactory/src/utils/formUtils/cmdHelper.ts +411 -0
  312. package/lib/public/src/components/pcfactory/src/utils/formUtils/common.ts +28 -0
  313. package/lib/public/src/components/pcfactory/src/utils/getExportDefaultObj.ts +11 -0
  314. package/lib/public/src/components/pcfactory/src/utils/hooks/useCommonImperativeHandle.ts +140 -0
  315. package/lib/public/src/components/pcfactory/src/utils/hooks/useDataMask.ts +83 -0
  316. package/lib/public/src/components/pcfactory/src/utils/hooks/useDoubleClick.ts +63 -0
  317. package/lib/public/src/components/pcfactory/src/utils/hooks/useFuncExpExecute.ts +86 -0
  318. package/lib/public/src/components/pcfactory/src/utils/hooks/useGetStaticAttrData.ts +41 -0
  319. package/lib/public/src/components/pcfactory/src/utils/hooks/useHiddenStyle.ts +43 -0
  320. package/lib/public/src/components/pcfactory/src/utils/hooks/useInitReactQuill.ts +90 -0
  321. package/lib/public/src/components/pcfactory/src/utils/hooks/useListenState.ts +26 -0
  322. package/lib/public/src/components/pcfactory/src/utils/hooks/useLocale.ts +129 -0
  323. package/lib/public/src/components/pcfactory/src/utils/hooks/usePrintMode.tsx +80 -0
  324. package/lib/public/src/components/pcfactory/src/utils/hooks/useRules.ts +89 -0
  325. package/lib/public/src/components/pcfactory/src/utils/hooks/useTestHelper.ts +26 -0
  326. package/lib/public/src/components/pcfactory/src/utils/hooks/useToggleBoolean.ts +33 -0
  327. package/lib/public/src/components/pcfactory/src/utils/index.ts +19 -0
  328. package/lib/public/src/components/pcfactory/src/utils/polyfill.js +305 -0
  329. package/lib/public/src/components/pcfactory/src/utils/renderReadOnly.tsx +105 -0
  330. package/lib/public/src/components/pcfactory/src/variables.ts +2 -0
  331. package/lib/public/src/components/pcfactory/typings.d.ts +27 -0
  332. package/lib/public/src/hooks/useGenerateContext.ts +73 -0
  333. package/lib/public/src/styles/common.less +41 -0
  334. package/lib/public/src/styles/index.less +4 -0
  335. package/lib/public/src/styles/index.ts +1 -0
  336. package/lib/public/src/styles/theme/variables.less +130 -0
  337. package/lib/public/src/utils/LcdpSpin/index.less +13 -0
  338. package/lib/public/src/utils/LcdpSpin/index.tsx +12 -0
  339. package/lib/public/src/utils/ModalManager/Drawer/index.less +30 -0
  340. package/lib/public/src/utils/ModalManager/Drawer/index.tsx +109 -0
  341. package/lib/public/src/utils/ModalManager/Modal/index.less +7 -0
  342. package/lib/public/src/utils/ModalManager/Modal/index.tsx +96 -0
  343. package/lib/public/src/utils/ModalManager/index.tsx +278 -0
  344. package/lib/public/src/utils/Security/encipher/des.ts +52 -0
  345. package/lib/public/src/utils/customFuncMapping.ts +107 -0
  346. package/lib/public/src/utils/formUtils.ts +458 -0
  347. package/lib/public/src/utils/i18n/i18n.ts +15 -0
  348. package/lib/public/src/utils/i18n/index.ts +7 -0
  349. package/lib/public/src/utils/i18n/locale/app/en_US.ts +77 -0
  350. package/lib/public/src/utils/i18n/locale/app/index.ts +9 -0
  351. package/lib/public/src/utils/i18n/locale/app/otherLocale.ts +2 -0
  352. package/lib/public/src/utils/i18n/locale/app/zh_CN.ts +65 -0
  353. package/lib/public/src/utils/i18n/locale/app/zh_HK.ts +66 -0
  354. package/lib/public/src/utils/i18n/locale/base/en_US.ts +449 -0
  355. package/lib/public/src/utils/i18n/locale/base/index.ts +5 -0
  356. package/lib/public/src/utils/i18n/locale/base/zh_CN.ts +413 -0
  357. package/lib/public/src/utils/i18n/locale/base/zh_HK.ts +411 -0
  358. package/lib/public/src/utils/i18n/locale/pc/en_US.ts +131 -0
  359. package/lib/public/src/utils/i18n/locale/pc/index.ts +9 -0
  360. package/lib/public/src/utils/i18n/locale/pc/otherLocale.ts +2 -0
  361. package/lib/public/src/utils/i18n/locale/pc/zh_CN.ts +105 -0
  362. package/lib/public/src/utils/i18n/locale/pc/zh_HK.ts +105 -0
  363. package/lib/public/src/utils/i18n/localeMonitor.ts +71 -0
  364. package/lib/public/src/utils/i18n/locales.ts +30 -0
  365. package/lib/public/src/utils/i18n/replaceMessage.ts +29 -0
  366. package/lib/public/src/utils/i18n/types.ts +2 -0
  367. package/lib/public/src/utils/i18n/useLocale.ts +129 -0
  368. package/lib/public/src/utils/messageApi.ts +93 -0
  369. package/lib/public/src/utils/useTool.ts +428 -0
  370. package/package.json +2 -2
  371. /package/lib/public/src/utils/functors/{dateAdd.ts → DATEADD.ts} +0 -0
@@ -0,0 +1,39 @@
1
+ import classNames from 'classnames';
2
+ import { useEffect, useState } from 'react';
3
+
4
+ const TABLE_ZEBRA_STRIPE_TYPE_CODE = 'zebra';
5
+ const TABLE_BORDER_TYPE_CODE = 'border';
6
+
7
+ const useCommon = (props: any) => {
8
+ const { rowKeyType, rowKey, bordered } = props;
9
+
10
+ const state = props.pageState;
11
+ const isBordered =
12
+ typeof bordered === 'boolean'
13
+ ? bordered
14
+ : bordered === TABLE_BORDER_TYPE_CODE; // 是否为边框线类型,且兼容带borderd的存量数据
15
+ const isZebraStripe =
16
+ typeof bordered === 'boolean'
17
+ ? bordered
18
+ : bordered === TABLE_ZEBRA_STRIPE_TYPE_CODE; // 是否为斑马纹类型
19
+ const [currentRowKey, setCurrentRowKey] = useState<any>(rowKey);
20
+
21
+ const innerClassName = classNames('ued-table', {
22
+ 'ued-table-zebra-stripe': isZebraStripe,
23
+ });
24
+
25
+ useEffect(() => {
26
+ // 行主键自动生成时,替换行主键
27
+ setCurrentRowKey(rowKeyType === 'auto' ? '__RowId__' : rowKey);
28
+ }, [rowKeyType, rowKey]);
29
+
30
+ return {
31
+ currentRowKey,
32
+ isBordered,
33
+ isZebraStripe,
34
+ state,
35
+ innerClassName,
36
+ };
37
+ };
38
+
39
+ export default useCommon;
@@ -0,0 +1,201 @@
1
+ import { message } from 'antd';
2
+ import { clone } from 'lodash';
3
+ import { useEffect, useMemo, useRef, useState } from 'react';
4
+ import { useCreation } from '../../utils/ahooks';
5
+ import {
6
+ createAutoKey,
7
+ createTempRowKey,
8
+ deleteTempRowProperties,
9
+ EMPTY_ROW_TEMP_KEY_ATTR,
10
+ } from '../utils';
11
+ import SequenceId from '../utils/SequenceId';
12
+
13
+ const useDataSource = (props: any) => {
14
+ const {
15
+ compId,
16
+ rowKeyType,
17
+ currentRowKey,
18
+ boundDataSource,
19
+ page,
20
+ pagination,
21
+ hasPageChangeEvent,
22
+ getLocale,
23
+ } = props;
24
+
25
+ const [dataSource, setDataSource] = useState<any[]>([]);
26
+
27
+ const [replaceBoundDataSource, setReplaceBoundDataSource] = useState(null);
28
+ // 优先取 replaceBoundDataSource
29
+ const outerDataSource = replaceBoundDataSource || boundDataSource;
30
+
31
+ const preCloneData = useRef<any>();
32
+
33
+ const outerDataSourceRef = useCreation(() => {
34
+ preCloneData.current = clone(outerDataSource);
35
+ return {
36
+ current: outerDataSource,
37
+ };
38
+ }, []);
39
+
40
+ const preOuterDataSourceRef = outerDataSourceRef.current;
41
+
42
+ // 创建id 实例
43
+ const seqId = useMemo(
44
+ () =>
45
+ new SequenceId({
46
+ type: 'random',
47
+ }),
48
+ [],
49
+ );
50
+
51
+ // 若表格源数据源引用发生变更,则进一步判断
52
+ if (preOuterDataSourceRef !== outerDataSource) {
53
+ /**
54
+ * 简单的通过 JSON.stringify 判断值是否变更
55
+ * 注:正常情况下,表格绑定页面数据数据源,不会走到里面来,理论上不会有多余的 JSON.stringify 性能损耗
56
+ * 目前只针对表格数据源绑定的表达式是“json字符串数组固定数据”的情况,在每次运行态解析DSL时会是一个新的数组
57
+ * 导致表格数据重复更新渲染 -> 外部渲染 -> 死循环
58
+ * 若今后有其他场景被影响到,或者是 表格数据源绑定的表达式是“json字符串数组固定数据” 但数据量巨大的场景,影响到性能,请修正
59
+ */
60
+ if (
61
+ JSON.stringify(preCloneData.current) !== JSON.stringify(outerDataSource)
62
+ ) {
63
+ preCloneData.current = clone(outerDataSource);
64
+ outerDataSourceRef.current = outerDataSource;
65
+ }
66
+ }
67
+
68
+ // 表格当前页数据
69
+ const currentPageDataSource = useMemo(() => {
70
+ // 当 未配置页面回调事件(前端分页) 且 开启分页,需计算当前页的数据有哪些
71
+ const currentPageData =
72
+ hasPageChangeEvent || !page
73
+ ? dataSource
74
+ : dataSource.slice(
75
+ (pagination?.current - 1) * pagination?.pageSize,
76
+ pagination?.current * pagination?.pageSize,
77
+ );
78
+
79
+ return currentPageData;
80
+ }, [
81
+ dataSource,
82
+ hasPageChangeEvent,
83
+ page,
84
+ pagination?.current,
85
+ pagination?.pageSize,
86
+ ]);
87
+
88
+ // 表格自动生成主键时,记录当前使用的index值,不使用数据下标,防止重复报错
89
+ const rowIdMapRef: any = useRef();
90
+ if (rowIdMapRef.current === undefined) {
91
+ rowIdMapRef.current = {
92
+ index: 0, // 暂时无用
93
+ replaceIds: {}, // 存放已被替换的主键及新主键,避免重复替换
94
+ };
95
+ }
96
+
97
+ // 用于表格加载数据动作
98
+ const setOuterDataSource = (newOuterDataSource: any) => {
99
+ // 一旦执行过,绑定的数据使用内部维护的 replaceBoundDataSource,boundDataSource 发生任何改变都和内部没关系了
100
+ setReplaceBoundDataSource(newOuterDataSource || []);
101
+ };
102
+
103
+ useEffect(() => {
104
+ let fd: any[] = outerDataSource || [];
105
+ // 处理数据
106
+ if (!Array.isArray(fd)) {
107
+ message.warn(
108
+ getLocale('Table.data.typeError', {
109
+ type: Object.prototype.toString.call(fd),
110
+ }),
111
+ );
112
+ return;
113
+ }
114
+
115
+ const tempRows = fd.filter((r) => r?.[EMPTY_ROW_TEMP_KEY_ATTR]);
116
+ const lastTempRow = tempRows[tempRows.length - 1];
117
+
118
+ fd = fd.map((i: any, idx) => {
119
+ if (i) {
120
+ // 若为新增一行空白行的临时数据
121
+ if (i[EMPTY_ROW_TEMP_KEY_ATTR]) {
122
+ i[currentRowKey] = i[EMPTY_ROW_TEMP_KEY_ATTR];
123
+
124
+ // TODO: 以下的先注释,尝试重构优化代码,不期望在初始化数据时,引入不必要的逻辑,如:在这里开启行编辑
125
+ // // 优先取缓存
126
+ // const cachedKey = rowIdMapRef.current[i._tempKey];
127
+
128
+ // // 若无则直接生成主键,并记录
129
+ // if (!cachedKey) {
130
+ // const tempKey = createTempRowKey();
131
+ // rowIdMapRef.current[i._tempKey] = tempKey;
132
+ // i[currentRowKey] = tempKey;
133
+ // } else {
134
+ // i[currentRowKey] = cachedKey;
135
+ // }
136
+
137
+ // // 是否为最新创建的,且是否开启行编辑
138
+ // if (i._latestCreation && i._inlineEditNow) {
139
+ // // 设置当前行为编辑状态
140
+ // setNowInlineEditKey(i[currentRowKey]);
141
+ // setNowEditingData({});
142
+ // }
143
+
144
+ /**
145
+ * 移除空白行的临时属性
146
+ * 最后一条空白行,不允许自动移除临时属性(交由保存/取消逻辑手动移除)
147
+ */
148
+ if (
149
+ lastTempRow?.[EMPTY_ROW_TEMP_KEY_ATTR] !==
150
+ i?.[EMPTY_ROW_TEMP_KEY_ATTR]
151
+ ) {
152
+ // 移除临时属性
153
+ deleteTempRowProperties(i);
154
+ }
155
+ } else if (rowKeyType === 'auto' && currentRowKey === '__RowId__') {
156
+ // 行主键自动生成
157
+ // remark:每页每行的固定标识 作为自动生成主键缓存后,二次渲染时,查找的标识(但如果涉及到数据变更,感觉不是太合理,但先恢复这么处理)
158
+ // 每页每行的固定标识
159
+ const rowAutoKeyFlag = `${compId}_${
160
+ page ? `${pagination.current || 0}_` : ''
161
+ }${idx}`;
162
+ // 优先取缓存
163
+ const cachedKey = rowIdMapRef.current[rowAutoKeyFlag];
164
+ // 若无则直接生成,并记录
165
+ if (!cachedKey) {
166
+ const tempKey = createAutoKey(seqId);
167
+ i[currentRowKey] = tempKey;
168
+ rowIdMapRef.current[rowAutoKeyFlag] = tempKey;
169
+ } else {
170
+ i[currentRowKey] = cachedKey;
171
+ }
172
+ } else if (!i[currentRowKey]) {
173
+ // 指定字段
174
+ // 非临时数据,但没有主键
175
+ // 直接生成(因为无法知道唯一标识是什么,只能每次渲染都生成新的)
176
+ i[currentRowKey] = createTempRowKey();
177
+ }
178
+ }
179
+
180
+ /**
181
+ * 不能直接返回 i,需要返回新对象
182
+ * 让表格内部的 dataSource 与 boundDataSource 彻底脱钩,不含任何相同引用
183
+ */
184
+ return {
185
+ ...(i || {}),
186
+ };
187
+ });
188
+ setDataSource(fd);
189
+ }, [outerDataSourceRef.current, currentRowKey, boundDataSource]);
190
+
191
+ return {
192
+ outerDataSource,
193
+ outerDataSourceRef: outerDataSourceRef.current,
194
+ setOuterDataSource,
195
+ innerDataSource: dataSource,
196
+ setInnerDataSource: setDataSource,
197
+ currentPageDataSource,
198
+ };
199
+ };
200
+
201
+ export default useDataSource;
@@ -0,0 +1,324 @@
1
+ import { useEffect, useState } from 'react';
2
+ import CommIconEG from '../../Icon';
3
+ import { handleIsValidIconCfg } from '../../Icon/hooks';
4
+ import CommIconED from '../../Icon/IconED';
5
+ import { useLocale } from '../../utils/hooks/useLocale';
6
+
7
+ const useExpandable = (expandCfg: any, isED?: boolean) => {
8
+ const {
9
+ innerDataSource = [],
10
+ currentRowKey,
11
+ rowExpandable,
12
+ expandOpenIcon,
13
+ expandCloseIcon,
14
+ defaultExpandAllRows,
15
+ defaultExpandedRowKeys,
16
+ expandRowByClick,
17
+ expandComponents,
18
+ renderExpandComponents,
19
+ onExpand,
20
+ onExpandedRowsChange,
21
+ sandBoxSafeRun,
22
+ funcExpExecute,
23
+ engineApis,
24
+ isTree = false,
25
+ getEngineApis,
26
+ } = expandCfg || {};
27
+
28
+ const CommIcon = isED ? CommIconED : CommIconEG;
29
+
30
+ const { getLocale } = useLocale(engineApis);
31
+
32
+ const [childrenColumnName, setChildrenColumnName] = useState<string>('');
33
+ const realChildrenColumnName = childrenColumnName || 'children'; // 默认为 children
34
+
35
+ const hasExpandContent =
36
+ Array.isArray(expandComponents) && expandComponents.length;
37
+ const [expandedRowKeys, setExpandedRowKeys] = useState(() => {
38
+ if (!defaultExpandAllRows && defaultExpandedRowKeys) {
39
+ try {
40
+ const arr = JSON.parse(defaultExpandedRowKeys);
41
+ if (Array.isArray(arr) && arr.length) {
42
+ return arr;
43
+ }
44
+ return [];
45
+ } catch (e) {
46
+ console.error(
47
+ '默认展开行 defaultExpandedRowKeys 必须配置为合理的数组字符串',
48
+ e,
49
+ ); // eslint-disable-line no-console
50
+ }
51
+ }
52
+ return [];
53
+ });
54
+
55
+ const expandable: any = {
56
+ childrenColumnName: realChildrenColumnName,
57
+ expandRowByClick,
58
+ expandedRowKeys,
59
+ // 配置了扩展图标才进行自定义渲染处理,否则走表格默认的扩展图标逻辑
60
+ expandIcon: (props: any) => {
61
+ const { prefixCls, expanded, onExpand, record, expandable } = props;
62
+ let { isLeaf } = props;
63
+
64
+ const iconClassName = `${prefixCls}-row-expand-icon`;
65
+
66
+ // 非树形表格调用时,isLeaf 为 undefined
67
+ if (!isTree) {
68
+ // 需要兼容表格存量树形数据判断
69
+ isLeaf =
70
+ !Array.isArray(record?.[realChildrenColumnName]) ||
71
+ (Array.isArray(record?.[realChildrenColumnName]) &&
72
+ record?.[realChildrenColumnName]?.length === 0);
73
+ }
74
+
75
+ // 若没有下级
76
+ if (isLeaf) {
77
+ const expandIconSpaceCls = `${iconClassName} ${prefixCls}-row-expand-icon-spaced`;
78
+ const space = <span className={expandIconSpaceCls} />;
79
+ // 树形结构数据,要保留空白
80
+ if (isTree || record?.[realChildrenColumnName]) {
81
+ return space;
82
+ }
83
+
84
+ // 如果没有行扩展内容,则没有图标, 要保留缩进前缀
85
+ if (!hasExpandContent) {
86
+ return null;
87
+ }
88
+
89
+ // 如果有行扩展内容,但不满足行扩展内容展开条件,则没有图标
90
+ if (!expandable) {
91
+ return null;
92
+ }
93
+ }
94
+
95
+ const handleIconClick = (e: any) => {
96
+ e.stopPropagation();
97
+ // 如果没有行扩展内容,且设置点击行展开时,不能加 onClick,会导致点击图标关闭不了
98
+ if (!hasExpandContent && expandRowByClick && expanded) {
99
+ return undefined;
100
+ }
101
+ return onExpand(record, e);
102
+ };
103
+
104
+ // 还原树形表格原生的展开/收缩按钮
105
+ const iconExpandCls = `${prefixCls}-row-expand-icon-${
106
+ expanded ? 'expanded' : 'collapsed'
107
+ }`;
108
+ const iconClsConnect = `${iconClassName} ${iconExpandCls}`;
109
+ const customIconCls = `${iconClsConnect} ued-table-row-expand-custom-icon`;
110
+
111
+ if (!expanded) {
112
+ let openIcon = (
113
+ <button
114
+ type="button"
115
+ className={iconClsConnect}
116
+ onClick={handleIconClick}
117
+ />
118
+ );
119
+
120
+ if (handleIsValidIconCfg(expandOpenIcon)) {
121
+ openIcon = (
122
+ // @ts-ignore
123
+ <CommIcon
124
+ icon={expandOpenIcon}
125
+ className={customIconCls}
126
+ engineApis={engineApis}
127
+ onClick={handleIconClick}
128
+ />
129
+ );
130
+ }
131
+
132
+ return openIcon;
133
+ }
134
+
135
+ let closeIcon = (
136
+ <button
137
+ type="button"
138
+ className={iconClsConnect}
139
+ onClick={handleIconClick}
140
+ />
141
+ );
142
+
143
+ if (handleIsValidIconCfg(expandCloseIcon)) {
144
+ closeIcon = (
145
+ // @ts-ignore
146
+ <CommIcon
147
+ icon={expandCloseIcon}
148
+ className={customIconCls}
149
+ engineApis={engineApis}
150
+ onClick={handleIconClick}
151
+ />
152
+ );
153
+ }
154
+
155
+ return closeIcon;
156
+ },
157
+ onExpand: (expanded: boolean, record: any) => {
158
+ if (typeof onExpand === 'function') {
159
+ onExpand(expanded, record[currentRowKey], record);
160
+ }
161
+ },
162
+ onExpandedRowsChange: (newExpanedRowKeys = []) => {
163
+ if (typeof onExpandedRowsChange === 'function') {
164
+ onExpandedRowsChange(newExpanedRowKeys);
165
+ }
166
+ setExpandedRowKeys(newExpanedRowKeys);
167
+ },
168
+ };
169
+
170
+ if (hasExpandContent) {
171
+ // 有内容设置才有(且开启之后,展开的按钮会有个单独的单元格)
172
+ expandable.expandedRowRender = (
173
+ record: any,
174
+ index: number,
175
+ indent: any,
176
+ expanded: any,
177
+ ) => {
178
+ if (Array.isArray(expandComponents) && expandComponents.length) {
179
+ let newExpandComponents = [];
180
+ if (!isED) {
181
+ newExpandComponents = expandComponents.map((c) => {
182
+ const busiCompStates = c?.props?.busiCompStates;
183
+ if (
184
+ typeof busiCompStates === 'object' &&
185
+ !Array.isArray(busiCompStates)
186
+ ) {
187
+ const busiCompStatesKeys = Object.keys(busiCompStates);
188
+ const newBusiCompStates: any = {};
189
+
190
+ busiCompStatesKeys.forEach((k) => {
191
+ if (typeof busiCompStates[k] === 'string') {
192
+ const originExp = busiCompStates[k];
193
+ busiCompStates[k] = (row: any, rowId: any, index: number) =>
194
+ sandBoxSafeRun(originExp, {
195
+ row,
196
+ rowId,
197
+ index,
198
+ });
199
+ }
200
+
201
+ if (typeof busiCompStates[k] === 'function') {
202
+ try {
203
+ newBusiCompStates[k] = busiCompStates[k](
204
+ record,
205
+ record[currentRowKey],
206
+ index,
207
+ );
208
+ } catch (e) {
209
+ console.error(e);
210
+ }
211
+ }
212
+ });
213
+
214
+ return {
215
+ ...c,
216
+
217
+ /**
218
+ * remark:由于运行态引擎的 renderComponents 对组件属性做了缓存持久化处理
219
+ * 所以相同id 会导致非第一次展开的业务组件属性 与 第一次展开的相同,需要对 id 进行特殊处理
220
+ */
221
+ id: `${c.id}_${record[currentRowKey]}`,
222
+ props: {
223
+ ...(c.props || {}),
224
+ busiCompStates: newBusiCompStates,
225
+ },
226
+ };
227
+ }
228
+ return c;
229
+ });
230
+
231
+ if (typeof renderExpandComponents === 'function') {
232
+ // remark: 目前只支持绑定一个
233
+ const busiCompSimpleDSL = newExpandComponents[0] || {};
234
+ const busiComp = renderExpandComponents(
235
+ busiCompSimpleDSL,
236
+ getEngineApis,
237
+ );
238
+ return busiComp;
239
+ }
240
+ } else {
241
+ let remark = getLocale('Table.expand.component');
242
+ expandComponents.forEach((c, i) => {
243
+ remark = `${remark}${c.label || ''}(${c.id || ''})${
244
+ i !== expandComponents.length - 1 ? '、' : ''
245
+ }`;
246
+ });
247
+ return remark;
248
+ }
249
+ }
250
+ return undefined;
251
+ };
252
+
253
+ // 用于控制行扩展内容展开,根据条件来决定是否有扩展内容
254
+ expandable.rowExpandable = (record: any) => {
255
+ // 存量:配置态生成的DSL是对象,code存储函数代码,但不是$$包裹的表达式
256
+ if (funcExpExecute && rowExpandable?.code) {
257
+ return funcExpExecute(rowExpandable.code, [
258
+ {
259
+ key: 'row',
260
+ value: record,
261
+ },
262
+ ]);
263
+ }
264
+ if (funcExpExecute && rowExpandable) {
265
+ /**
266
+ * 新版:配置态生成的DSL就是一个$$包含函数的表达式
267
+ * 但会经过预处理移除 $$
268
+ */
269
+ return funcExpExecute(rowExpandable, [
270
+ {
271
+ key: 'row',
272
+ value: record,
273
+ },
274
+ ]);
275
+ }
276
+
277
+ return true;
278
+ };
279
+ } else {
280
+ // 没有配置行扩展内容时,设置行内容展开都为false
281
+ expandable.rowExpandable = () => {
282
+ return false;
283
+ };
284
+ }
285
+
286
+ const handleAllExpandRowKeys = (rows: any[]) => {
287
+ const currPageRowKeys: any[] = rows
288
+ .map((row: any) => {
289
+ // 树形数据时,存在多级
290
+ if (row?.[realChildrenColumnName]) {
291
+ return [
292
+ row?.[currentRowKey],
293
+ ...handleAllExpandRowKeys(row[realChildrenColumnName]),
294
+ ];
295
+ }
296
+
297
+ return row?.[currentRowKey];
298
+ })
299
+ .reduce((prev: any, curr: any) => {
300
+ // 将数组数据打平
301
+ if (Array.isArray(curr)) {
302
+ return [...prev, ...curr];
303
+ }
304
+ return [...prev, curr];
305
+ }, []);
306
+ return currPageRowKeys || [];
307
+ };
308
+
309
+ useEffect(() => {
310
+ // 设置了全部展开,则展开当前页所有行
311
+ if (innerDataSource.length && defaultExpandAllRows) {
312
+ const currPageRowKeys = handleAllExpandRowKeys(innerDataSource);
313
+ setExpandedRowKeys(currPageRowKeys);
314
+ }
315
+ }, [innerDataSource]);
316
+
317
+ return {
318
+ expandable,
319
+ childrenColumnName: realChildrenColumnName,
320
+ setChildrenColumnName,
321
+ };
322
+ };
323
+
324
+ export default useExpandable;