@lingxiteam/ebe-utils 0.3.19 → 0.3.21

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 (372) hide show
  1. package/lib/pcpublic/src/components/pcfactory/src/Cascader/index.tsx +29 -27
  2. package/lib/pcpublic/src/components/pcfactory/src/StdUpload/assets/closeIcon.png +0 -0
  3. package/lib/pcpublic/src/components/pcfactory/src/StdUpload/assets/fileName.png +0 -0
  4. package/lib/pcpublic/src/components/pcfactory/src/StdUpload/assets/img.png +0 -0
  5. package/lib/pcpublic/src/components/pcfactory/src/Table/hooks/useFormatCell.ts +279 -0
  6. package/lib/pcpublic/src/components/pcfactory/src/utils/Empty/customLocale.tsx +6 -0
  7. package/lib/pcpublic/yarn.lock +4 -4
  8. package/lib/public/src/components/ExpBusiObjModal/index.less +28 -0
  9. package/lib/public/src/components/ExpBusiObjModal/index.tsx +315 -0
  10. package/lib/public/src/components/PreviewFile/index.less +200 -0
  11. package/lib/public/src/components/PreviewFile/index.tsx +787 -0
  12. package/lib/public/src/components/PreviewFile/utils.ts +90 -0
  13. package/lib/public/src/components/common/PreviewFile/index.less +200 -0
  14. package/lib/public/src/components/common/PreviewFile/index.tsx +787 -0
  15. package/lib/public/src/components/common/PreviewFile/utils.ts +90 -0
  16. package/lib/public/src/components/pcfactory/src/Alert/index.tsx +22 -0
  17. package/lib/public/src/components/pcfactory/src/Animation/index.tsx +186 -0
  18. package/lib/public/src/components/pcfactory/src/Animation/useAnimation.ts +270 -0
  19. package/lib/public/src/components/pcfactory/src/Animation/useBackgroundStyle.ts +74 -0
  20. package/lib/public/src/components/pcfactory/src/Audio/index.tsx +240 -0
  21. package/lib/public/src/components/pcfactory/src/BarChart/index.tsx +3 -0
  22. package/lib/public/src/components/pcfactory/src/Button/index.tsx +151 -0
  23. package/lib/public/src/components/pcfactory/src/Card/index.tsx +201 -0
  24. package/lib/public/src/components/pcfactory/src/Card/useExtendBtn.tsx +195 -0
  25. package/lib/public/src/components/pcfactory/src/Cascader/index.tsx +398 -0
  26. package/lib/public/src/components/pcfactory/src/ChartBar/index.tsx +15 -0
  27. package/lib/public/src/components/pcfactory/src/ChartBar/loader.tsx +12 -0
  28. package/lib/public/src/components/pcfactory/src/ChartLine/ChartLine.tsx +48 -0
  29. package/lib/public/src/components/pcfactory/src/ChartLine/PropsType.ts +88 -0
  30. package/lib/public/src/components/pcfactory/src/ChartLine/index.tsx +15 -0
  31. package/lib/public/src/components/pcfactory/src/ChartLine/loader.tsx +12 -0
  32. package/lib/public/src/components/pcfactory/src/Checkbox/index.tsx +144 -0
  33. package/lib/public/src/components/pcfactory/src/CheckboxGroup/index.tsx +319 -0
  34. package/lib/public/src/components/pcfactory/src/Collapse/index.tsx +195 -0
  35. package/lib/public/src/components/pcfactory/src/CollapsePanel/index.tsx +186 -0
  36. package/lib/public/src/components/pcfactory/src/Condition/index.tsx +22 -0
  37. package/lib/public/src/components/pcfactory/src/DatePicker/index.tsx +756 -0
  38. package/lib/public/src/components/pcfactory/src/Description/index.tsx +447 -0
  39. package/lib/public/src/components/pcfactory/src/Description/utils/getLabelSizeMode.ts +40 -0
  40. package/lib/public/src/components/pcfactory/src/Divider/components/CenterLineDivider/index.tsx +190 -0
  41. package/lib/public/src/components/pcfactory/src/Divider/components/CenterTabDivider/index.tsx +77 -0
  42. package/lib/public/src/components/pcfactory/src/Divider/components/LeftCardDivider/index.tsx +87 -0
  43. package/lib/public/src/components/pcfactory/src/Divider/components/LeftLineDivider/index.tsx +106 -0
  44. package/lib/public/src/components/pcfactory/src/Divider/components/LeftTabDivider/index.tsx +60 -0
  45. package/lib/public/src/components/pcfactory/src/Divider/components/LeftTopDivider/index.tsx +55 -0
  46. package/lib/public/src/components/pcfactory/src/Divider/components/LxDashed/index.module.less +10 -0
  47. package/lib/public/src/components/pcfactory/src/Divider/components/LxDashed/index.tsx +143 -0
  48. package/lib/public/src/components/pcfactory/src/Divider/components/LxSolid/index.module.less +10 -0
  49. package/lib/public/src/components/pcfactory/src/Divider/components/LxSolid/index.tsx +126 -0
  50. package/lib/public/src/components/pcfactory/src/Divider/index.tsx +210 -0
  51. package/lib/public/src/components/pcfactory/src/Dropdown/index.tsx +385 -0
  52. package/lib/public/src/components/pcfactory/src/DynamicTabs/PropsType.ts +31 -0
  53. package/lib/public/src/components/pcfactory/src/DynamicTabs/TabPage.tsx +63 -0
  54. package/lib/public/src/components/pcfactory/src/DynamicTabs/index.tsx +214 -0
  55. package/lib/public/src/components/pcfactory/src/Form/Form.tsx +600 -0
  56. package/lib/public/src/components/pcfactory/src/Form/WrapperForm.ts +14 -0
  57. package/lib/public/src/components/pcfactory/src/Form/index.tsx +15 -0
  58. package/lib/public/src/components/pcfactory/src/Form/useFormStatus.ts +47 -0
  59. package/lib/public/src/components/pcfactory/src/Form/useMonitor.ts +40 -0
  60. package/lib/public/src/components/pcfactory/src/FormGroup/TitleComp.tsx +107 -0
  61. package/lib/public/src/components/pcfactory/src/FormGroup/index.tsx +181 -0
  62. package/lib/public/src/components/pcfactory/src/FreeLayout/index.tsx +151 -0
  63. package/lib/public/src/components/pcfactory/src/Gantt/Gantt.tsx +460 -0
  64. package/lib/public/src/components/pcfactory/src/Gantt/const.ts +122 -0
  65. package/lib/public/src/components/pcfactory/src/Gantt/index.tsx +16 -0
  66. package/lib/public/src/components/pcfactory/src/Gantt/loader.tsx +12 -0
  67. package/lib/public/src/components/pcfactory/src/GridView/GridView.tsx +435 -0
  68. package/lib/public/src/components/pcfactory/src/GridView/index.tsx +24 -0
  69. package/lib/public/src/components/pcfactory/src/GridView/loader.tsx +12 -0
  70. package/lib/public/src/components/pcfactory/src/HorizontalView/index.tsx +32 -0
  71. package/lib/public/src/components/pcfactory/src/Icon/IconED/index.tsx +42 -0
  72. package/lib/public/src/components/pcfactory/src/Icon/PropsType.ts +57 -0
  73. package/lib/public/src/components/pcfactory/src/Icon/hooks/index.tsx +300 -0
  74. package/lib/public/src/components/pcfactory/src/Icon/index.tsx +69 -0
  75. package/lib/public/src/components/pcfactory/src/IconFont/index.tsx +24 -0
  76. package/lib/public/src/components/pcfactory/src/Img/BasicImage/index.tsx +90 -0
  77. package/lib/public/src/components/pcfactory/src/Img/assets/placeholder.png +0 -0
  78. package/lib/public/src/components/pcfactory/src/Img/index.tsx +91 -0
  79. package/lib/public/src/components/pcfactory/src/Input/index.tsx +425 -0
  80. package/lib/public/src/components/pcfactory/src/InputNumber/index.tsx +263 -0
  81. package/lib/public/src/components/pcfactory/src/LXPieChart/LXPieChart.tsx +23 -0
  82. package/lib/public/src/components/pcfactory/src/LXPieChart/PropsType.ts +11 -0
  83. package/lib/public/src/components/pcfactory/src/LXPieChart/index.less +6 -0
  84. package/lib/public/src/components/pcfactory/src/LXPieChart/index.tsx +15 -0
  85. package/lib/public/src/components/pcfactory/src/LXPieChart/loader.tsx +12 -0
  86. package/lib/public/src/components/pcfactory/src/LXRadarChart/LXRadarChat.tsx +25 -0
  87. package/lib/public/src/components/pcfactory/src/LXRadarChart/PropsType.ts +9 -0
  88. package/lib/public/src/components/pcfactory/src/LXRadarChart/index.less +7 -0
  89. package/lib/public/src/components/pcfactory/src/LXRadarChart/index.tsx +17 -0
  90. package/lib/public/src/components/pcfactory/src/LXRadarChart/loader.tsx +12 -0
  91. package/lib/public/src/components/pcfactory/src/Layout/index.tsx +130 -0
  92. package/lib/public/src/components/pcfactory/src/Layout/utils.ts +48 -0
  93. package/lib/public/src/components/pcfactory/src/LineChart/index.tsx +3 -0
  94. package/lib/public/src/components/pcfactory/src/Link/index.tsx +117 -0
  95. package/lib/public/src/components/pcfactory/src/LoopList/index.tsx +551 -0
  96. package/lib/public/src/components/pcfactory/src/Menu/index.tsx +422 -0
  97. package/lib/public/src/components/pcfactory/src/ModalSelect/BaseModalSelect.tsx +95 -0
  98. package/lib/public/src/components/pcfactory/src/ModalSelect/index.tsx +453 -0
  99. package/lib/public/src/components/pcfactory/src/MultipleSelect/index.tsx +3 -0
  100. package/lib/public/src/components/pcfactory/src/Pagination/index.tsx +104 -0
  101. package/lib/public/src/components/pcfactory/src/Password/index.tsx +88 -0
  102. package/lib/public/src/components/pcfactory/src/PictureVerifyCode/assets/placeholder.png +0 -0
  103. package/lib/public/src/components/pcfactory/src/PictureVerifyCode/index.tsx +76 -0
  104. package/lib/public/src/components/pcfactory/src/PieChart/index.tsx +3 -0
  105. package/lib/public/src/components/pcfactory/src/Progress/index.tsx +155 -0
  106. package/lib/public/src/components/pcfactory/src/QRCode/const.ts +5 -0
  107. package/lib/public/src/components/pcfactory/src/QRCode/index.tsx +146 -0
  108. package/lib/public/src/components/pcfactory/src/QuillEditor/QuillEditor.tsx +197 -0
  109. package/lib/public/src/components/pcfactory/src/QuillEditor/index.tsx +37 -0
  110. package/lib/public/src/components/pcfactory/src/QuillEditor/loader.ts +12 -0
  111. package/lib/public/src/components/pcfactory/src/RadarChart/RadarChartHook.ts +449 -0
  112. package/lib/public/src/components/pcfactory/src/RadarChart/RadarChartType.ts +39 -0
  113. package/lib/public/src/components/pcfactory/src/RadarChart/RadarECharts.tsx +86 -0
  114. package/lib/public/src/components/pcfactory/src/RadarChart/index.tsx +16 -0
  115. package/lib/public/src/components/pcfactory/src/RadarChart/loader.tsx +12 -0
  116. package/lib/public/src/components/pcfactory/src/RadarChart/radarDefaultConfig.js +55 -0
  117. package/lib/public/src/components/pcfactory/src/Radio/index.tsx +260 -0
  118. package/lib/public/src/components/pcfactory/src/RangePicker/index.tsx +3 -0
  119. package/lib/public/src/components/pcfactory/src/Rate/index.tsx +187 -0
  120. package/lib/public/src/components/pcfactory/src/ReactECharts/PropsType.ts +37 -0
  121. package/lib/public/src/components/pcfactory/src/ReactECharts/ReactECharts.tsx +672 -0
  122. package/lib/public/src/components/pcfactory/src/ReactECharts/index.tsx +26 -0
  123. package/lib/public/src/components/pcfactory/src/ReactECharts/loader.tsx +12 -0
  124. package/lib/public/src/components/pcfactory/src/RemoteComponent/components/FishRender.tsx +31 -0
  125. package/lib/public/src/components/pcfactory/src/RemoteComponent/components/ReactRender.tsx +55 -0
  126. package/lib/public/src/components/pcfactory/src/RemoteComponent/components/VueRender.tsx +32 -0
  127. package/lib/public/src/components/pcfactory/src/RemoteComponent/constant.ts +9 -0
  128. package/lib/public/src/components/pcfactory/src/RemoteComponent/index.tsx +82 -0
  129. package/lib/public/src/components/pcfactory/src/RemoteComponent/remote-component.config.ts +12 -0
  130. package/lib/public/src/components/pcfactory/src/Result/index.tsx +27 -0
  131. package/lib/public/src/components/pcfactory/src/RichTextEditor/LcdpUeditorMain.tsx +105 -0
  132. package/lib/public/src/components/pcfactory/src/RichTextEditor/RichTextEditor.tsx +234 -0
  133. package/lib/public/src/components/pcfactory/src/RichTextEditor/RichTextEditorMain.tsx +41 -0
  134. package/lib/public/src/components/pcfactory/src/RichTextEditor/index.tsx +33 -0
  135. package/lib/public/src/components/pcfactory/src/RichTextEditor/loader.ts +12 -0
  136. package/lib/public/src/components/pcfactory/src/Row/Row.tsx +66 -0
  137. package/lib/public/src/components/pcfactory/src/Row/index.tsx +9 -0
  138. package/lib/public/src/components/pcfactory/src/Row/loader.tsx +12 -0
  139. package/lib/public/src/components/pcfactory/src/Select/index.tsx +628 -0
  140. package/lib/public/src/components/pcfactory/src/Select/selectUtils.ts +257 -0
  141. package/lib/public/src/components/pcfactory/src/Slider/index.tsx +351 -0
  142. package/lib/public/src/components/pcfactory/src/StdUpload/DownloadProgress/DownloadProgress.tsx +27 -0
  143. package/lib/public/src/components/pcfactory/src/StdUpload/DownloadProgress/index.ts +3 -0
  144. package/lib/public/src/components/pcfactory/src/StdUpload/UploadItem.tsx +257 -0
  145. package/lib/public/src/components/pcfactory/src/StdUpload/assets/default.png +0 -0
  146. package/lib/public/src/components/pcfactory/src/StdUpload/assets/js.png +0 -0
  147. package/lib/public/src/components/pcfactory/src/StdUpload/assets/pdf.png +0 -0
  148. package/lib/public/src/components/pcfactory/src/StdUpload/assets/ppt.png +0 -0
  149. package/lib/public/src/components/pcfactory/src/StdUpload/assets/txt.png +0 -0
  150. package/lib/public/src/components/pcfactory/src/StdUpload/assets/word.png +0 -0
  151. package/lib/public/src/components/pcfactory/src/StdUpload/assets/xls.png +0 -0
  152. package/lib/public/src/components/pcfactory/src/StdUpload/assets/zip.png +0 -0
  153. package/lib/public/src/components/pcfactory/src/StdUpload/index.tsx +1050 -0
  154. package/lib/public/src/components/pcfactory/src/StdUpload/uploadItem.less +64 -0
  155. package/lib/public/src/components/pcfactory/src/Steps/constant/checkcircle.tsx +29 -0
  156. package/lib/public/src/components/pcfactory/src/Steps/constant/index.ts +2 -0
  157. package/lib/public/src/components/pcfactory/src/Steps/constant/vector.tsx +13 -0
  158. package/lib/public/src/components/pcfactory/src/Steps/index.tsx +343 -0
  159. package/lib/public/src/components/pcfactory/src/SuperSelect/ComSelect.tsx +538 -0
  160. package/lib/public/src/components/pcfactory/src/SuperSelect/index.tsx +127 -0
  161. package/lib/public/src/components/pcfactory/src/SuperSelect/loader.tsx +12 -0
  162. package/lib/public/src/components/pcfactory/src/Swiper/index.tsx +184 -0
  163. package/lib/public/src/components/pcfactory/src/Switch/index.tsx +219 -0
  164. package/lib/public/src/components/pcfactory/src/TabPane/index.tsx +145 -0
  165. package/lib/public/src/components/pcfactory/src/Table/BodyCell/index.tsx +278 -0
  166. package/lib/public/src/components/pcfactory/src/Table/EditComponent/index.tsx +554 -0
  167. package/lib/public/src/components/pcfactory/src/Table/FormatCell/GhostTag/index.tsx +34 -0
  168. package/lib/public/src/components/pcfactory/src/Table/FormatCell/Hyperlink/index.tsx +26 -0
  169. package/lib/public/src/components/pcfactory/src/Table/FormatCell/PointTag/index.tsx +41 -0
  170. package/lib/public/src/components/pcfactory/src/Table/FormatCell/PureColourFill/index.tsx +32 -0
  171. package/lib/public/src/components/pcfactory/src/Table/FormatCell/PureFadeColourTag/index.tsx +34 -0
  172. package/lib/public/src/components/pcfactory/src/Table/FormatCell/index.tsx +227 -0
  173. package/lib/public/src/components/pcfactory/src/Table/HeaderCell/HeaderCellTitle/index.tsx +63 -0
  174. package/lib/public/src/components/pcfactory/src/Table/HeaderCell/index.tsx +32 -0
  175. package/lib/public/src/components/pcfactory/src/Table/TableHead/index.tsx +501 -0
  176. package/lib/public/src/components/pcfactory/src/Table/TableSummaryRow/index.tsx +46 -0
  177. package/lib/public/src/components/pcfactory/src/Table/constant.ts +73 -0
  178. package/lib/public/src/components/pcfactory/src/Table/hooks/index.ts +32 -0
  179. package/lib/public/src/components/pcfactory/src/Table/hooks/useCMDActions.ts +325 -0
  180. package/lib/public/src/components/pcfactory/src/Table/hooks/useCheckStrict.ts +176 -0
  181. package/lib/public/src/components/pcfactory/src/Table/hooks/useColumns.tsx +1851 -0
  182. package/lib/public/src/components/pcfactory/src/Table/hooks/useCommon.ts +39 -0
  183. package/lib/public/src/components/pcfactory/src/Table/hooks/useDataSource.ts +201 -0
  184. package/lib/public/src/components/pcfactory/src/Table/hooks/useExpandable.tsx +324 -0
  185. package/lib/public/src/components/pcfactory/src/Table/hooks/useFilter.tsx +274 -0
  186. package/lib/public/src/components/pcfactory/src/Table/hooks/useFormatCell.ts +309 -0
  187. package/lib/public/src/components/pcfactory/src/Table/hooks/usePagination.ts +104 -0
  188. package/lib/public/src/components/pcfactory/src/Table/hooks/useRowEdit.ts +302 -0
  189. package/lib/public/src/components/pcfactory/src/Table/hooks/useRowMerge.ts +93 -0
  190. package/lib/public/src/components/pcfactory/src/Table/hooks/useScroll.ts +120 -0
  191. package/lib/public/src/components/pcfactory/src/Table/hooks/useSelection.ts +467 -0
  192. package/lib/public/src/components/pcfactory/src/Table/hooks/useSort.ts +39 -0
  193. package/lib/public/src/components/pcfactory/src/Table/hooks/useSummaryCol.ts +191 -0
  194. package/lib/public/src/components/pcfactory/src/Table/index.tsx +525 -0
  195. package/lib/public/src/components/pcfactory/src/Table/utils/SequenceId.ts +104 -0
  196. package/lib/public/src/components/pcfactory/src/Table/utils/index.ts +442 -0
  197. package/lib/public/src/components/pcfactory/src/Tabs/index.tsx +209 -0
  198. package/lib/public/src/components/pcfactory/src/Tag/index.tsx +39 -0
  199. package/lib/public/src/components/pcfactory/src/Text/index.tsx +191 -0
  200. package/lib/public/src/components/pcfactory/src/TextArea/ForIETextArea.tsx +96 -0
  201. package/lib/public/src/components/pcfactory/src/TextArea/index.tsx +255 -0
  202. package/lib/public/src/components/pcfactory/src/TimePicker/index.tsx +3 -0
  203. package/lib/public/src/components/pcfactory/src/TlrView/index.tsx +3 -0
  204. package/lib/public/src/components/pcfactory/src/TooltipView/PropsType.ts +22 -0
  205. package/lib/public/src/components/pcfactory/src/TooltipView/TooltipViewED/index.tsx +10 -0
  206. package/lib/public/src/components/pcfactory/src/TooltipView/hooks/index.tsx +90 -0
  207. package/lib/public/src/components/pcfactory/src/TooltipView/index.tsx +13 -0
  208. package/lib/public/src/components/pcfactory/src/Transfer/index.tsx +753 -0
  209. package/lib/public/src/components/pcfactory/src/Tree/TreeNodeMenu/index.tsx +102 -0
  210. package/lib/public/src/components/pcfactory/src/Tree/index.tsx +1303 -0
  211. package/lib/public/src/components/pcfactory/src/TreeSelect/index.tsx +639 -0
  212. package/lib/public/src/components/pcfactory/src/TreeTable/hooks/index.ts +4 -0
  213. package/lib/public/src/components/pcfactory/src/TreeTable/hooks/useCMDAction.ts +82 -0
  214. package/lib/public/src/components/pcfactory/src/TreeTable/hooks/useExpandable.tsx +61 -0
  215. package/lib/public/src/components/pcfactory/src/TreeTable/index.tsx +273 -0
  216. package/lib/public/src/components/pcfactory/src/Upload/Upload.tsx +740 -0
  217. package/lib/public/src/components/pcfactory/src/Upload/index.tsx +29 -0
  218. package/lib/public/src/components/pcfactory/src/Upload/loader.tsx +13 -0
  219. package/lib/public/src/components/pcfactory/src/VerificationCode/assets/placeholder.png +0 -0
  220. package/lib/public/src/components/pcfactory/src/VerificationCode/index.tsx +297 -0
  221. package/lib/public/src/components/pcfactory/src/VerticalView/index.tsx +25 -0
  222. package/lib/public/src/components/pcfactory/src/VideoPlayer/index.tsx +159 -0
  223. package/lib/public/src/components/pcfactory/src/View/index.tsx +150 -0
  224. package/lib/public/src/components/pcfactory/src/View/useBackgroundStyle.ts +75 -0
  225. package/lib/public/src/components/pcfactory/src/VirtualGroup/index.tsx +16 -0
  226. package/lib/public/src/components/pcfactory/src/Webview/index.tsx +104 -0
  227. package/lib/public/src/components/pcfactory/src/index.component.ts +253 -0
  228. package/lib/public/src/components/pcfactory/src/styles/common.less +107 -0
  229. package/lib/public/src/components/pcfactory/src/styles/compatible.less +976 -0
  230. package/lib/public/src/components/pcfactory/src/styles/components/Alert.less +25 -0
  231. package/lib/public/src/components/pcfactory/src/styles/components/Audio.less +198 -0
  232. package/lib/public/src/components/pcfactory/src/styles/components/Button.less +32 -0
  233. package/lib/public/src/components/pcfactory/src/styles/components/Card.less +155 -0
  234. package/lib/public/src/components/pcfactory/src/styles/components/Cascader.less +54 -0
  235. package/lib/public/src/components/pcfactory/src/styles/components/Checkbox.less +7 -0
  236. package/lib/public/src/components/pcfactory/src/styles/components/Collapse.less +214 -0
  237. package/lib/public/src/components/pcfactory/src/styles/components/DatePicker.less +22 -0
  238. package/lib/public/src/components/pcfactory/src/styles/components/Description.less +64 -0
  239. package/lib/public/src/components/pcfactory/src/styles/components/Divider.less +530 -0
  240. package/lib/public/src/components/pcfactory/src/styles/components/Drawer.less +54 -0
  241. package/lib/public/src/components/pcfactory/src/styles/components/Dropdown.less +11 -0
  242. package/lib/public/src/components/pcfactory/src/styles/components/DynamicDataContainer.less +16 -0
  243. package/lib/public/src/components/pcfactory/src/styles/components/DynamicTabs.less +254 -0
  244. package/lib/public/src/components/pcfactory/src/styles/components/Form.less +265 -0
  245. package/lib/public/src/components/pcfactory/src/styles/components/FormGroup.less +111 -0
  246. package/lib/public/src/components/pcfactory/src/styles/components/Gantt.less +139 -0
  247. package/lib/public/src/components/pcfactory/src/styles/components/GridView.less +62 -0
  248. package/lib/public/src/components/pcfactory/src/styles/components/Icon.less +20 -0
  249. package/lib/public/src/components/pcfactory/src/styles/components/Input.less +164 -0
  250. package/lib/public/src/components/pcfactory/src/styles/components/InputNumber.less +124 -0
  251. package/lib/public/src/components/pcfactory/src/styles/components/InputPassword.less +3 -0
  252. package/lib/public/src/components/pcfactory/src/styles/components/Link.less +4 -0
  253. package/lib/public/src/components/pcfactory/src/styles/components/LoopList.less +67 -0
  254. package/lib/public/src/components/pcfactory/src/styles/components/Menu.less +54 -0
  255. package/lib/public/src/components/pcfactory/src/styles/components/ModalSelect.less +42 -0
  256. package/lib/public/src/components/pcfactory/src/styles/components/Popconfirm.less +7 -0
  257. package/lib/public/src/components/pcfactory/src/styles/components/Progress.less +57 -0
  258. package/lib/public/src/components/pcfactory/src/styles/components/QuillEditor.less +15 -0
  259. package/lib/public/src/components/pcfactory/src/styles/components/Radio.less +7 -0
  260. package/lib/public/src/components/pcfactory/src/styles/components/Rate.less +16 -0
  261. package/lib/public/src/components/pcfactory/src/styles/components/Result.less +26 -0
  262. package/lib/public/src/components/pcfactory/src/styles/components/Select.less +146 -0
  263. package/lib/public/src/components/pcfactory/src/styles/components/Slider.less +78 -0
  264. package/lib/public/src/components/pcfactory/src/styles/components/StdUpload.less +225 -0
  265. package/lib/public/src/components/pcfactory/src/styles/components/Step.less +91 -0
  266. package/lib/public/src/components/pcfactory/src/styles/components/SuperSelect.less +83 -0
  267. package/lib/public/src/components/pcfactory/src/styles/components/Swiper.less +106 -0
  268. package/lib/public/src/components/pcfactory/src/styles/components/Switch.less +49 -0
  269. package/lib/public/src/components/pcfactory/src/styles/components/Table.less +1229 -0
  270. package/lib/public/src/components/pcfactory/src/styles/components/Tabs.less +291 -0
  271. package/lib/public/src/components/pcfactory/src/styles/components/Tag.less +107 -0
  272. package/lib/public/src/components/pcfactory/src/styles/components/TextArea.less +12 -0
  273. package/lib/public/src/components/pcfactory/src/styles/components/TooltipView.less +43 -0
  274. package/lib/public/src/components/pcfactory/src/styles/components/Transfer.less +155 -0
  275. package/lib/public/src/components/pcfactory/src/styles/components/Tree.less +329 -0
  276. package/lib/public/src/components/pcfactory/src/styles/components/TreeSelect.less +65 -0
  277. package/lib/public/src/components/pcfactory/src/styles/components/Upload.less +26 -0
  278. package/lib/public/src/components/pcfactory/src/styles/components/VerificationCode.less +162 -0
  279. package/lib/public/src/components/pcfactory/src/styles/components/Webview.less +31 -0
  280. package/lib/public/src/components/pcfactory/src/styles/index.less +10 -0
  281. package/lib/public/src/components/pcfactory/src/styles/index.ued.less +65 -0
  282. package/lib/public/src/components/pcfactory/src/styles/theme/variables/antdVariables.less +84 -0
  283. package/lib/public/src/components/pcfactory/src/styles/theme/variables/common.less +9 -0
  284. package/lib/public/src/components/pcfactory/src/styles/theme/variables/customVariables.less +35 -0
  285. package/lib/public/src/components/pcfactory/src/styles/theme/variables/index.less +2 -0
  286. package/lib/public/src/components/pcfactory/src/utils/ChannelContainer.tsx +150 -0
  287. package/lib/public/src/components/pcfactory/src/utils/ChildRender.ts +103 -0
  288. package/lib/public/src/components/pcfactory/src/utils/CustomModule.tsx +134 -0
  289. package/lib/public/src/components/pcfactory/src/utils/DummyFormContext.ts +136 -0
  290. package/lib/public/src/components/pcfactory/src/utils/Empty/customLocale.tsx +6 -0
  291. package/lib/public/src/components/pcfactory/src/utils/Empty/empty.tsx +37 -0
  292. package/lib/public/src/components/pcfactory/src/utils/LoaderHelper.tsx +29 -0
  293. package/lib/public/src/components/pcfactory/src/utils/PropsType.ts +21 -0
  294. package/lib/public/src/components/pcfactory/src/utils/WithSyncValue.ts +218 -0
  295. package/lib/public/src/components/pcfactory/src/utils/ahooks/index.ts +22 -0
  296. package/lib/public/src/components/pcfactory/src/utils/ahooks/useCreation.ts +23 -0
  297. package/lib/public/src/components/pcfactory/src/utils/ahooks/useDeepCompareEffect.ts +27 -0
  298. package/lib/public/src/components/pcfactory/src/utils/ahooks/useMap.ts +46 -0
  299. package/lib/public/src/components/pcfactory/src/utils/ahooks/useMemoizedFn.ts +27 -0
  300. package/lib/public/src/components/pcfactory/src/utils/ahooks/usePrevious.ts +19 -0
  301. package/lib/public/src/components/pcfactory/src/utils/ahooks/useSafeState.ts +26 -0
  302. package/lib/public/src/components/pcfactory/src/utils/ahooks/useSetState.ts +26 -0
  303. package/lib/public/src/components/pcfactory/src/utils/ahooks/useUnmountedRef.ts +14 -0
  304. package/lib/public/src/components/pcfactory/src/utils/ahooks/useUpdate.ts +9 -0
  305. package/lib/public/src/components/pcfactory/src/utils/ahooks/useUpdateEffect.ts +16 -0
  306. package/lib/public/src/components/pcfactory/src/utils/basicStatusTransfer.ts +32 -0
  307. package/lib/public/src/components/pcfactory/src/utils/common.ts +367 -0
  308. package/lib/public/src/components/pcfactory/src/utils/dynamicUtils/DynamicContext.tsx +106 -0
  309. package/lib/public/src/components/pcfactory/src/utils/formUtils/FormContext.tsx +131 -0
  310. package/lib/public/src/components/pcfactory/src/utils/formUtils/FormFields.tsx +646 -0
  311. package/lib/public/src/components/pcfactory/src/utils/formUtils/WrapperContainer.tsx +123 -0
  312. package/lib/public/src/components/pcfactory/src/utils/formUtils/cmdHelper.ts +411 -0
  313. package/lib/public/src/components/pcfactory/src/utils/formUtils/common.ts +28 -0
  314. package/lib/public/src/components/pcfactory/src/utils/getExportDefaultObj.ts +11 -0
  315. package/lib/public/src/components/pcfactory/src/utils/hooks/useCommonImperativeHandle.ts +140 -0
  316. package/lib/public/src/components/pcfactory/src/utils/hooks/useDataMask.ts +83 -0
  317. package/lib/public/src/components/pcfactory/src/utils/hooks/useDoubleClick.ts +63 -0
  318. package/lib/public/src/components/pcfactory/src/utils/hooks/useFuncExpExecute.ts +86 -0
  319. package/lib/public/src/components/pcfactory/src/utils/hooks/useGetStaticAttrData.ts +41 -0
  320. package/lib/public/src/components/pcfactory/src/utils/hooks/useHiddenStyle.ts +43 -0
  321. package/lib/public/src/components/pcfactory/src/utils/hooks/useInitReactQuill.ts +90 -0
  322. package/lib/public/src/components/pcfactory/src/utils/hooks/useListenState.ts +26 -0
  323. package/lib/public/src/components/pcfactory/src/utils/hooks/useLocale.ts +129 -0
  324. package/lib/public/src/components/pcfactory/src/utils/hooks/usePrintMode.tsx +80 -0
  325. package/lib/public/src/components/pcfactory/src/utils/hooks/useRules.ts +89 -0
  326. package/lib/public/src/components/pcfactory/src/utils/hooks/useTestHelper.ts +26 -0
  327. package/lib/public/src/components/pcfactory/src/utils/hooks/useToggleBoolean.ts +33 -0
  328. package/lib/public/src/components/pcfactory/src/utils/index.ts +19 -0
  329. package/lib/public/src/components/pcfactory/src/utils/polyfill.js +305 -0
  330. package/lib/public/src/components/pcfactory/src/utils/renderReadOnly.tsx +105 -0
  331. package/lib/public/src/components/pcfactory/src/variables.ts +2 -0
  332. package/lib/public/src/components/pcfactory/typings.d.ts +27 -0
  333. package/lib/public/src/hooks/useGenerateContext.ts +73 -0
  334. package/lib/public/src/styles/common.less +41 -0
  335. package/lib/public/src/styles/index.less +4 -0
  336. package/lib/public/src/styles/index.ts +1 -0
  337. package/lib/public/src/styles/theme/variables.less +130 -0
  338. package/lib/public/src/utils/LcdpSpin/index.less +13 -0
  339. package/lib/public/src/utils/LcdpSpin/index.tsx +12 -0
  340. package/lib/public/src/utils/ModalManager/Drawer/index.less +30 -0
  341. package/lib/public/src/utils/ModalManager/Drawer/index.tsx +109 -0
  342. package/lib/public/src/utils/ModalManager/Modal/index.less +7 -0
  343. package/lib/public/src/utils/ModalManager/Modal/index.tsx +96 -0
  344. package/lib/public/src/utils/ModalManager/index.tsx +278 -0
  345. package/lib/public/src/utils/Security/encipher/des.ts +52 -0
  346. package/lib/public/src/utils/customFuncMapping.ts +107 -0
  347. package/lib/public/src/utils/formUtils.ts +458 -0
  348. package/lib/public/src/utils/i18n/i18n.ts +15 -0
  349. package/lib/public/src/utils/i18n/index.ts +7 -0
  350. package/lib/public/src/utils/i18n/locale/app/en_US.ts +77 -0
  351. package/lib/public/src/utils/i18n/locale/app/index.ts +9 -0
  352. package/lib/public/src/utils/i18n/locale/app/otherLocale.ts +2 -0
  353. package/lib/public/src/utils/i18n/locale/app/zh_CN.ts +65 -0
  354. package/lib/public/src/utils/i18n/locale/app/zh_HK.ts +66 -0
  355. package/lib/public/src/utils/i18n/locale/base/en_US.ts +449 -0
  356. package/lib/public/src/utils/i18n/locale/base/index.ts +5 -0
  357. package/lib/public/src/utils/i18n/locale/base/zh_CN.ts +413 -0
  358. package/lib/public/src/utils/i18n/locale/base/zh_HK.ts +411 -0
  359. package/lib/public/src/utils/i18n/locale/pc/en_US.ts +131 -0
  360. package/lib/public/src/utils/i18n/locale/pc/index.ts +9 -0
  361. package/lib/public/src/utils/i18n/locale/pc/otherLocale.ts +2 -0
  362. package/lib/public/src/utils/i18n/locale/pc/zh_CN.ts +105 -0
  363. package/lib/public/src/utils/i18n/locale/pc/zh_HK.ts +105 -0
  364. package/lib/public/src/utils/i18n/localeMonitor.ts +71 -0
  365. package/lib/public/src/utils/i18n/locales.ts +30 -0
  366. package/lib/public/src/utils/i18n/replaceMessage.ts +29 -0
  367. package/lib/public/src/utils/i18n/types.ts +2 -0
  368. package/lib/public/src/utils/i18n/useLocale.ts +129 -0
  369. package/lib/public/src/utils/messageApi.ts +93 -0
  370. package/lib/public/src/utils/useTool.ts +428 -0
  371. package/package.json +2 -2
  372. /package/lib/public/src/utils/functors/{dateAdd.ts → DATEADD.ts} +0 -0
@@ -0,0 +1,442 @@
1
+ import { Table } from 'antd';
2
+ import { LevelItem } from '../types/prop';
3
+ // 以下逻辑调整时需同步到packages/editor/src/Input/TableColorGroup/utils.ts
4
+ export const treeRootName = 'tree-root';
5
+ export type SingleRowInfo = {
6
+ [rowIndex: number]: {
7
+ rowIdAndTitleColMap: any;
8
+ nextRowsChildren: any;
9
+ };
10
+ };
11
+ export const handleMultiLevelHeader = (leftTree: any, column: any) => {
12
+ const { fixed = '' } = column;
13
+ let { group } = column;
14
+
15
+ // 兼容旧版的分组数据
16
+ if (typeof group === 'string') {
17
+ group = [group];
18
+ }
19
+
20
+ // 兼容可能存在的空数据
21
+ if (group === '' || group === null || group === undefined) {
22
+ group = [''];
23
+ }
24
+
25
+ // 过滤掉空的配置
26
+ group = group.filter((g: any) => g);
27
+ // 保留一个空配置,以进入构造
28
+ group = group.length === 0 ? [''] : group;
29
+
30
+ const groupLen = group.length;
31
+ if (Array.isArray(group) && groupLen > 0) {
32
+ // 标记右树从哪个节点开始至最后一个都为空(undefined/null/'')
33
+ let groupEmptyStartIndex = groupLen - 1;
34
+ while (
35
+ typeof group[groupEmptyStartIndex] === 'undefined' ||
36
+ group[groupEmptyStartIndex] === null ||
37
+ group[groupEmptyStartIndex] === ''
38
+ ) {
39
+ // 当分组数据遍历完成 或 下一个已经不为空时,退出循环
40
+ if (groupEmptyStartIndex - 1 < 0 || group[groupEmptyStartIndex - 1]) {
41
+ break;
42
+ }
43
+ groupEmptyStartIndex -= 1;
44
+ }
45
+
46
+ // 构造右树(记录左树每一层的最后一个节点):
47
+ let rightLevel = 1;
48
+ const rightTree = {
49
+ title: treeRootName,
50
+ };
51
+ const rightTreeLevelMap: any = {
52
+ 0: rightTree,
53
+ };
54
+ let tempRightTree: any = rightTree;
55
+ // 从第一层开始,最后一层会接入列信息
56
+ while (rightLevel <= groupLen) {
57
+ // 从当前层到最后一层都为空时:直接接入列信息,并退出循环
58
+ if (
59
+ rightLevel === groupEmptyStartIndex + 1 &&
60
+ !group[groupEmptyStartIndex]
61
+ ) {
62
+ // 将列数据放入最后一层分组最后一个节点的children,即再加最后一层
63
+ tempRightTree.children = [column];
64
+ // 记录最最后一层
65
+ rightTreeLevelMap[rightLevel] = column;
66
+ break;
67
+ }
68
+
69
+ const rightTreeCurrLevelLast: any = {
70
+ title: group[rightLevel - 1] || '', // 为空的话,强制设置为 ''
71
+ // 当前层为第一层时,将parent指向左树的根节点,为后续合并做准备
72
+ parent: tempRightTree.title === treeRootName ? leftTree : tempRightTree,
73
+ //
74
+ fixed,
75
+ align: 'center',
76
+ };
77
+ tempRightTree.children = [rightTreeCurrLevelLast];
78
+ tempRightTree = rightTreeCurrLevelLast;
79
+ rightTreeLevelMap[rightLevel] = rightTreeCurrLevelLast;
80
+ rightLevel += 1;
81
+
82
+ // 构造到最后一层分组时:接入列信息,并退出循环
83
+ if (rightLevel > groupLen) {
84
+ // 将列数据放入最后一层分组最后一个节点的children,即再加最后一层
85
+ rightTreeCurrLevelLast.children = [column];
86
+ // 记录最最后一层
87
+ rightTreeLevelMap[rightLevel] = column;
88
+ break;
89
+ }
90
+ }
91
+
92
+ // 分析左树(记录左树每一层的最后一个节点):
93
+ let leftLevel = 0;
94
+ const leftTreeLevelMap = {
95
+ [leftLevel]: leftTree,
96
+ };
97
+ let leftTreeCurrLevelLast = leftTree;
98
+ // 遍历左树右边侧节点(生成数据结构记录节点情况):
99
+ while (leftTreeCurrLevelLast?.children) {
100
+ leftLevel += 1;
101
+ const leftTreeCurrLevelLastChildren = leftTreeCurrLevelLast.children;
102
+ // 取左树当前层的最后一个
103
+ leftTreeCurrLevelLast =
104
+ leftTreeCurrLevelLastChildren[leftTreeCurrLevelLastChildren.length - 1];
105
+ leftTreeLevelMap[leftLevel] = leftTreeCurrLevelLast;
106
+ }
107
+
108
+ // 遍历右树(i 表示右树的层级):
109
+ for (let i = 0; i <= groupLen + 1; i += 1) {
110
+ const leftTreeLast = leftTreeLevelMap[i]; // 左树第i层的最后一个
111
+ const current = rightTreeLevelMap[i]; // 右树第 i 层的最后一个(唯一一个)
112
+
113
+ // 当前层相同组名相同
114
+ if (
115
+ current?.title === leftTreeLast?.title &&
116
+ // 如果是第一层,还要额外比对列固定配置是否相同
117
+ i === 1
118
+ ? current?.fixed === leftTreeLast?.fixed
119
+ : true
120
+ ) {
121
+ // 需要进一步比较下一层组名是否相同
122
+ const currentNext = rightTreeLevelMap[i + 1];
123
+ const leftTreeNextLast = leftTreeLevelMap[i + 1]; // 左树第i层的最后一个
124
+
125
+ // 如果相同 且 右树下一层非最后一层(即,有 children),则continue,直接进行下一层处理
126
+ if (
127
+ currentNext?.title === leftTreeNextLast?.title &&
128
+ currentNext?.children &&
129
+ Array.isArray(currentNext?.children)
130
+ ) {
131
+ // eslint-disable-next-line no-continue
132
+ continue;
133
+ } else {
134
+ // 如果不相同,则直接将右树的下一层接入左树的下一层
135
+ if (leftTreeLast?.children) {
136
+ leftTreeLast.children.push(...current.children);
137
+ } else {
138
+ leftTreeLast.children = [...current.children];
139
+ }
140
+ // 退出循环,等待合并下一列右树
141
+ break;
142
+ }
143
+ } else {
144
+ // 当前层组名不同,则直接将右树,并入左树
145
+ leftTreeLast.parent.children.push(current);
146
+ break;
147
+ }
148
+ }
149
+ }
150
+ };
151
+
152
+ export const handleExpandColumn = ({
153
+ expandComponents,
154
+ expandIconPositionRef,
155
+ expandIconPosition,
156
+ columns,
157
+ }: any) => {
158
+ // 有设置扩展内容 且 存在行展开图标位置配置
159
+ if (
160
+ Array.isArray(expandComponents) &&
161
+ expandComponents.length &&
162
+ expandIconPositionRef
163
+ ) {
164
+ // 找到行展开图标位置 基准列的索引(有可能也是分组)
165
+ const refColIndex = columns?.findIndex((c: any) => {
166
+ if (c.dataIndex) {
167
+ return c.dataIndex === expandIconPositionRef?.dataIndex;
168
+ }
169
+
170
+ if (c.title) {
171
+ return c.title === expandIconPositionRef?.title;
172
+ }
173
+
174
+ return false;
175
+ });
176
+
177
+ // 说明存在基准列,则进一步定位左右侧
178
+ if (refColIndex !== -1) {
179
+ if (expandIconPosition === 'right') {
180
+ columns.splice(refColIndex + 1, 0, Table.EXPAND_COLUMN);
181
+ } else {
182
+ // 否则为左侧
183
+ columns.splice(refColIndex, 0, Table.EXPAND_COLUMN);
184
+ }
185
+ }
186
+ }
187
+ };
188
+
189
+ export const createAutoKey = (seqId: any) => {
190
+ return seqId.getId();
191
+ };
192
+
193
+ export const createTempRowKey = () => {
194
+ return `LX_TEMP_${parseInt(`${Math.random() * 10000}`, 10)}`;
195
+ };
196
+
197
+ export const EMPTY_ROW_TEMP_KEY_ATTR = '_lxTempKey';
198
+ export const LATEST_EMPTY_ROW_FLAG_ATTR = '_latestCreation';
199
+
200
+ export const deleteTempRowProperties = (row: any) => {
201
+ delete row?.[LATEST_EMPTY_ROW_FLAG_ATTR];
202
+ };
203
+
204
+ export const createEmptyRow = () => ({
205
+ [LATEST_EMPTY_ROW_FLAG_ATTR]: true, // 最新创建的
206
+ [EMPTY_ROW_TEMP_KEY_ATTR]: createTempRowKey(),
207
+ });
208
+
209
+ export const handleRecursiveParseColumns = (
210
+ columnList: any[],
211
+ rowIndex = 1,
212
+ styleInfo?: {
213
+ colorType: 'custom' | 'single';
214
+ singleColorSetting?: {
215
+ backgroundColor?: string;
216
+ color?: string;
217
+ fontWeight?: number;
218
+ fontSize?: string;
219
+ };
220
+ customColorSetting?: {
221
+ [id: string]: {
222
+ backgroundColor?: string;
223
+ color?: string;
224
+ fontWeight?: number;
225
+ fontSize?: string;
226
+ };
227
+ };
228
+ },
229
+ ) => {
230
+ const colChildList: any[] = [];
231
+ let colIdMap: { [id: string]: any } = {};
232
+ let cols = columnList;
233
+ if (Array.isArray(columnList) && columnList?.length) {
234
+ cols = columnList.map((col: any) => {
235
+ const newCol: any = {
236
+ id: col?.id,
237
+ title: col?.title,
238
+ fixed: col?.fixed,
239
+ style: col?.style,
240
+ };
241
+ if (col?.children) {
242
+ const {
243
+ cols: childColumns,
244
+ colChildList: childCols,
245
+ colIdMap: childColMap,
246
+ } = handleRecursiveParseColumns(col.children, rowIndex + 1, styleInfo);
247
+ newCol.children = childColumns;
248
+ colChildList.push(...childCols);
249
+ const dataColsStr = childCols.reduce(
250
+ (p, n) => (p ? `${p}&${n.id}` : `${n.id}`),
251
+ '',
252
+ );
253
+ const id = `group-${rowIndex}-${dataColsStr}`;
254
+ col.id = id;
255
+ newCol.id = id;
256
+ colIdMap = {
257
+ ...colIdMap,
258
+ ...childColMap,
259
+ };
260
+ } else {
261
+ // 当前层级无children的就是字段数据
262
+ colChildList.push(col);
263
+ }
264
+ if (styleInfo) {
265
+ const style =
266
+ styleInfo?.colorType === 'single'
267
+ ? styleInfo?.singleColorSetting
268
+ : styleInfo?.customColorSetting?.[newCol?.id];
269
+ col.style = style;
270
+ newCol.style = style;
271
+ // 给分组头部传递props
272
+ if (col?.children) {
273
+ col.onHeaderCell = () => ({
274
+ style: newCol?.style,
275
+ });
276
+ }
277
+ }
278
+ colIdMap[newCol.id] = newCol.style;
279
+ return newCol;
280
+ });
281
+ }
282
+ return {
283
+ cols,
284
+ // 当前分组下最底层表格列字段
285
+ colChildList,
286
+ colIdMap,
287
+ };
288
+ };
289
+
290
+ export const compareFn = (a: any, b: any) => {
291
+ if (typeof a === 'number' && typeof b === 'number') {
292
+ return a - b;
293
+ }
294
+ let prev = String(a || '');
295
+ let next = String(b || '');
296
+ // 匹配所有带单位的字符串数字
297
+ const numberRegexp = /^(-)?(\d+(\.\d+)?)([a-zA-Z]+)?$/;
298
+ const prevMatch = prev.match(numberRegexp) || [];
299
+ const nextMatch = next.match(numberRegexp) || [];
300
+ const [, prevNegative, , prevDecimal = '', prevUnit] = prevMatch;
301
+ const [, nextNegative, , nextDecimal = '', nextUnit] = nextMatch;
302
+ // 单位一致才比较,否则按字符串比
303
+ // 其中有一个为空值时,也进行比较
304
+ if (prevUnit === nextUnit || !a || !b) {
305
+ if (prevNegative !== nextNegative) {
306
+ // 一正一负,正的大
307
+ return prevNegative ? -1 : 1;
308
+ }
309
+ if (prevNegative === nextNegative) {
310
+ // 两数间最长的小数位长度
311
+ const expandedLen =
312
+ prevDecimal.length > nextDecimal?.length
313
+ ? prevDecimal.length - 1
314
+ : nextDecimal.length - 1;
315
+ const expand = (decimal: string, len: number) => {
316
+ // 小数部分内容
317
+ const num = decimal.indexOf('.') === 0 ? decimal.slice(1) : decimal;
318
+ // 长度不一的小数进行补位
319
+ const zero =
320
+ len - num.length > 0 ? new Array(len - num.length).fill('0') : [];
321
+ return `${num}${zero.join('')}`;
322
+ };
323
+ // 小数时两个数字同时扩大
324
+ const prevStr = prevDecimal
325
+ ? prev.replace(prevDecimal, expand(prevDecimal, expandedLen))
326
+ : prev;
327
+ const nextStr = nextDecimal
328
+ ? next.replace(nextDecimal, expand(nextDecimal, expandedLen))
329
+ : next;
330
+ if (prevNegative && nextNegative) {
331
+ // 负数,调换位置
332
+ prev = nextStr;
333
+ next = prevStr;
334
+ } else {
335
+ prev = prevStr;
336
+ next = nextStr;
337
+ }
338
+ if (prev?.length !== next?.length) {
339
+ // 长度不一致时,长的大
340
+ return prev?.length > next?.length ? 1 : -1;
341
+ }
342
+ }
343
+ }
344
+ return prev.localeCompare(next);
345
+ };
346
+
347
+ export function recursionDataSource<
348
+ T extends Record<string, any>,
349
+ U extends T = T,
350
+ >(
351
+ dataSource: T[],
352
+ parseNodeFn?: (node: T, parentPath?: U[]) => U | void,
353
+ childrenKey: string = 'children',
354
+ parentPath: U[] = [],
355
+ ) {
356
+ if (!Array.isArray(dataSource)) return dataSource;
357
+ return dataSource.map((d) => {
358
+ let data: Record<string, any> = {
359
+ ...d,
360
+ };
361
+
362
+ if (parseNodeFn) {
363
+ const newData = parseNodeFn(data as T, parentPath);
364
+ if (newData) {
365
+ data = newData;
366
+ }
367
+ }
368
+ if (Array.isArray(data[childrenKey]) && data[childrenKey].length) {
369
+ data[childrenKey] = recursionDataSource(
370
+ data[childrenKey],
371
+ parseNodeFn,
372
+ childrenKey,
373
+ [...parentPath, data as U],
374
+ );
375
+ }
376
+
377
+ return data;
378
+ });
379
+ }
380
+
381
+ // 根据选中节点由下往上计算包含父节点在内的选中key
382
+ export const getFullCheckedKeySet = <T extends {}>(params: {
383
+ levelEntries: Map<number, LevelItem<T>[]>;
384
+ maxLevel: number;
385
+ currentCheckedKey: (string | number)[];
386
+ disabledMap: Record<string | number, boolean>;
387
+ checked?: boolean;
388
+ }) => {
389
+ const { maxLevel, levelEntries, currentCheckedKey, checked, disabledMap } =
390
+ params;
391
+ // key格式做弱等类型判断
392
+ const checkedLooseMap = currentCheckedKey.reduce((p, n) => {
393
+ p[n] = n;
394
+ return p;
395
+ }, {} as Record<string | number, string | number>);
396
+ const visitedKey = new Set();
397
+ // 从下往上收集选中的父节点
398
+ for (let level = maxLevel; level >= 0; level -= 1) {
399
+ const levelList = levelEntries.get(level);
400
+ levelList?.forEach((node) => {
401
+ let allChecked = true;
402
+ const parent = node.__parent__;
403
+ if (
404
+ parent &&
405
+ (disabledMap[parent?.__key__] || visitedKey.has(parent.__key__))
406
+ )
407
+ return;
408
+ if (disabledMap[node?.__key__]) return;
409
+ const siblings = parent?.__children__?.filter(
410
+ (c) => !disabledMap[c.__key__],
411
+ );
412
+ siblings?.forEach((child) => {
413
+ // 子节点都选中,父节点也要选中
414
+ if (allChecked && !checkedLooseMap[child.__key__]) {
415
+ allChecked = false;
416
+ }
417
+ });
418
+ // 反选子节点时去除之前勾选的父节点
419
+ if (
420
+ !checked &&
421
+ parent &&
422
+ !allChecked &&
423
+ checkedLooseMap[parent.__key__]
424
+ ) {
425
+ delete checkedLooseMap[parent.__key__];
426
+ visitedKey.add(parent?.__key__);
427
+ }
428
+
429
+ // 选中子节点时若父节点子级都选中,则补上父节点
430
+ if (checked && parent && allChecked && !checkedLooseMap[parent.__key__]) {
431
+ checkedLooseMap[parent.__key__] = parent.__key__;
432
+ visitedKey.add(parent?.__key__);
433
+ }
434
+ });
435
+ }
436
+ return new Set(
437
+ Object.keys(checkedLooseMap).reduce((p, n) => {
438
+ p.push(checkedLooseMap[n]);
439
+ return p;
440
+ }, [] as (string | number)[]),
441
+ );
442
+ };
@@ -0,0 +1,209 @@
1
+ import { LingxiForwardRef } from '@lingxiteam/types';
2
+ import { Tabs } from 'antd';
3
+ import type { TabsProps } from 'antd/es/tabs';
4
+ import classnames from 'classnames';
5
+ import React, { useEffect, useImperativeHandle, useRef, useState } from 'react';
6
+ import { basicStatusTransfer } from '../utils';
7
+ import ChannelContainer, {
8
+ ChannelContainerOptions,
9
+ } from '../utils/ChannelContainer';
10
+
11
+ /**
12
+ * 修改原因:
13
+ * 由于原逻辑是通过在Tabs组件外渲染完成后,把组件再移动到Tabs内部。导致页面加载完成后 无法获取TabPanel内的表单值。
14
+ */
15
+ export interface MyTabsProps extends TabsProps {
16
+ value: string;
17
+ visible: boolean;
18
+ getEngineApis: any;
19
+ }
20
+
21
+ const { TabPane } = Tabs;
22
+
23
+ const MyTabs = LingxiForwardRef<any, MyTabsProps>((props, ref) => {
24
+ const {
25
+ value,
26
+ visible = true,
27
+ children,
28
+ onChange,
29
+ defaultActiveKey,
30
+ style,
31
+ getEngineApis,
32
+ className,
33
+ ...restProps
34
+ } = props;
35
+
36
+ const childKeys = useRef<string[]>([]);
37
+
38
+ const { padding, ...restStyle } = style || {};
39
+
40
+ const [activeKey, setActiveKey] = useState(() => props.defaultActiveKey);
41
+ const memoActiveKeys = useRef<string[]>([]).current;
42
+ const hiddenTabsKeyMap = useRef<
43
+ Record<string, { visible: string; index: number; key: string }>
44
+ >({}).current; // 隐藏的tabs
45
+ // 缓存下来key 标识当前TabPanel已经渲染
46
+ if (activeKey && !memoActiveKeys.includes(activeKey)) {
47
+ memoActiveKeys.push(activeKey);
48
+ }
49
+
50
+ const [tabs, setTabs] = useState<any[]>([]);
51
+
52
+ useImperativeHandle(ref, () => ({
53
+ setValue: (key: any) => {
54
+ setActiveKey(key);
55
+ },
56
+ get value() {
57
+ return activeKey;
58
+ },
59
+ setSubTabsData: console.log,
60
+ setTabsData: (tabsDataOptions: any = {}) => {
61
+ const { data, key, title, status, badge } = tabsDataOptions;
62
+
63
+ const resolvedData = data.map((tab: any) => {
64
+ const tabKey = tab[key || 'key'];
65
+ const tabTitle = tab[title || 'title'];
66
+ const tabStatus = tab[status];
67
+ const tabBadge = tab[badge || 'badge'];
68
+
69
+ const matchTab: any = tabs?.find((t: any) => t.id === tabKey) || {};
70
+ const newTab = { ...matchTab };
71
+
72
+ if (typeof tabKey !== 'undefined') {
73
+ newTab.key = tabKey;
74
+ }
75
+
76
+ if (typeof tabTitle !== 'undefined') {
77
+ newTab.title = tabTitle;
78
+ }
79
+
80
+ if (typeof status !== 'undefined') {
81
+ newTab.isShow = basicStatusTransfer(tabStatus)?.visible;
82
+ }
83
+
84
+ if (typeof tabBadge !== 'undefined') {
85
+ newTab.badge = tabBadge;
86
+ }
87
+
88
+ return newTab;
89
+ });
90
+
91
+ setTabs(resolvedData);
92
+ },
93
+ }));
94
+
95
+ useEffect(() => {
96
+ // 如果页面渲染完成的时候activeKey不存在,那么默认设置第一个
97
+ if (
98
+ (activeKey &&
99
+ !memoActiveKeys.includes(activeKey) &&
100
+ !hiddenTabsKeyMap[activeKey]) ||
101
+ !activeKey
102
+ ) {
103
+ const fistKey = Object.values(hiddenTabsKeyMap).filter(
104
+ (i) => i.index === 0,
105
+ );
106
+ setActiveKey(fistKey?.[0].key);
107
+ }
108
+ }, []);
109
+
110
+ const renderTabPane = (options: ChannelContainerOptions) => {
111
+ childKeys.current = [];
112
+ return React.Children.toArray(children).map((t, index) => {
113
+ const { getProps, uploadChannelProps } = options;
114
+ const c = t;
115
+ if (React.isValidElement(c)) {
116
+ const {
117
+ schema: {
118
+ props: { key },
119
+ },
120
+ // @ts-ignore
121
+ } = t.props;
122
+ // if (isShow) {
123
+ if (!childKeys.current?.includes(key)) {
124
+ childKeys.current.push(key);
125
+ }
126
+
127
+ // 将控件‘内边距’配置设置到子面板上(还原原逻辑)
128
+ if (typeof padding !== 'undefined') {
129
+ Object.assign(c.props.schema.style, { padding });
130
+ }
131
+
132
+ const {
133
+ visible = true,
134
+ forceRender = false,
135
+ ...extendProps
136
+ } = getProps(c);
137
+
138
+ hiddenTabsKeyMap[key] = {
139
+ visible,
140
+ index,
141
+ key,
142
+ };
143
+
144
+ return (
145
+ <TabPane
146
+ forceRender
147
+ {...(c?.props.schema?.props || {})}
148
+ key={key}
149
+ {...extendProps}
150
+ >
151
+ <ChannelContainer.Item
152
+ extendProps={{
153
+ // TabPane是否应该渲染子节点
154
+ visited: memoActiveKeys.includes(key) || forceRender,
155
+ currentIndex: index,
156
+ }}
157
+ uploadChannelProps={uploadChannelProps}
158
+ >
159
+ {c}
160
+ </ChannelContainer.Item>
161
+ </TabPane>
162
+ );
163
+ }
164
+
165
+ return null;
166
+ });
167
+ };
168
+
169
+ if (!visible) {
170
+ return null;
171
+ }
172
+
173
+ return (
174
+ <div className={classnames('ued-tabs-wrap', className)}>
175
+ <ChannelContainer>
176
+ {(options) => (
177
+ <Tabs
178
+ activeKey={activeKey}
179
+ defaultActiveKey={defaultActiveKey}
180
+ {...restProps}
181
+ style={restStyle}
182
+ onChange={(activeKey) => {
183
+ if (onChange) {
184
+ onChange(activeKey);
185
+ }
186
+ setActiveKey(activeKey);
187
+ }}
188
+ renderTabBar={(props, DefaultTabBar) => {
189
+ return (
190
+ <DefaultTabBar {...props}>
191
+ {(node) => {
192
+ if (node.key && !hiddenTabsKeyMap[node.key]?.visible) {
193
+ return <React.Fragment key={node.key} />;
194
+ }
195
+ return node;
196
+ }}
197
+ </DefaultTabBar>
198
+ );
199
+ }}
200
+ >
201
+ {renderTabPane(options)}
202
+ </Tabs>
203
+ )}
204
+ </ChannelContainer>
205
+ </div>
206
+ );
207
+ });
208
+
209
+ export default MyTabs;
@@ -0,0 +1,39 @@
1
+ import { LingxiForwardRef } from '@lingxiteam/types';
2
+ import { Tag } from 'antd';
3
+ import type { TagProps } from 'antd/lib/tag';
4
+ import classnames from 'classnames';
5
+ import React from 'react';
6
+
7
+ const WrapperTag = ({ children }: Record<string, any>) =>
8
+ React.cloneElement(children, {
9
+ className: `ued-tag-wrap ${children.props.className || ''}`,
10
+ });
11
+ export interface MyTagProps extends TagProps {
12
+ name?: string;
13
+ tagType?: any;
14
+ visible?: boolean;
15
+ }
16
+
17
+ const MyTag = LingxiForwardRef<any, MyTagProps>((props, ref) => {
18
+ const { name, visible = true, title, ...restProps } = props;
19
+
20
+ return visible ? (
21
+ <WrapperTag>
22
+ <div>
23
+ <Tag
24
+ {...restProps}
25
+ color={restProps?.tagType?.color || restProps.color}
26
+ className={classnames(
27
+ restProps.className,
28
+ restProps?.tagType?.classname,
29
+ )}
30
+ >
31
+ {title}
32
+ </Tag>
33
+ </div>
34
+ </WrapperTag>
35
+ ) : null;
36
+ });
37
+
38
+ export default MyTag;
39
+ export { WrapperTag };