@lingxiteam/ebe-utils 0.5.1 → 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,84 @@
1
+ @import (reference) '~antd/lib/style/themes/default.less';
2
+ @import './common.less';
3
+ /**
4
+ * 此文件定义 antd 原生变量
5
+ */
6
+
7
+ // 通用变量
8
+ @ant-prefix: pcfactory;
9
+ @primary-color: #4477ee;
10
+ @success-color: #41e19b;
11
+ @error-color: #ff7474;
12
+ @info-color: @primary-color;
13
+ @warning-color: #ff9d49;
14
+ @text-color: @custom-black-10;
15
+ @border-color-base: #e5e5e5;
16
+ @border-radius-base: 2px;
17
+ @border-color-split: @border-color-base;
18
+ @heading-color: @text-color;
19
+ @item-hover-bg: fade(@text-color, 4%);
20
+ @item-active-bg: fade(@primary-color, 6%);
21
+ @disabled-bg: #f7f8fa;
22
+ @disabled-color: @custom-black-2;
23
+ // vertical padding for all form controls
24
+ @control-padding-horizontal: 8px;
25
+ @control-padding-horizontal-sm: @control-padding-horizontal;
26
+
27
+ // 表格
28
+ @table-header-bg: #fafafa;
29
+ @table-header-bg-sm: @table-header-bg;
30
+ @table-padding-horizontal: 8px;
31
+ @table-padding-horizontal-md: @table-padding-horizontal;
32
+ @table-padding-horizontal-sm: @table-padding-horizontal-md;
33
+ @table-padding-vertical: 10px;
34
+ @table-padding-vertical-md: @table-padding-vertical - 2px;
35
+ @table-padding-vertical-sm: @table-padding-vertical-md - 2px;
36
+ @table-row-hover-bg: rgb(251, 251, 251);
37
+ @table-selected-row-bg: #f0f6ff;
38
+
39
+ // 表单
40
+ @form-explain-font-size: 12px;
41
+ @form-explain-height: 16px;
42
+
43
+ // 卡片
44
+ @card-head-color: @heading-color;
45
+
46
+ // 按钮
47
+ @btn-default-color: @text-color;
48
+
49
+ // 输入框
50
+ @input-hover-border-color: @primary-color;
51
+ @input-height-sm: 28px;
52
+ @input-height-base: 32px;
53
+ @input-height-lg: 36px;
54
+ @input-padding-horizontal-base: @control-padding-horizontal;
55
+ @input-padding-horizontal-sm: @input-padding-horizontal-base;
56
+ @input-padding-horizontal-lg: @input-padding-horizontal-base;
57
+ @input-padding-vertical-sm: 4px;
58
+ @input-padding-vertical-base: 4px;
59
+ @input-padding-vertical-lg: 6px;
60
+
61
+ // 下拉框
62
+ @select-item-selected-font-weight: 500;
63
+ @select-item-selected-bg: #fff;
64
+ @select-item-active-bg: @select-item-selected-bg;
65
+
66
+ // 警告提示
67
+ @alert-message-color: @custom-black-8;
68
+ @alert-success-border-color: fade(@success-color, 80%);
69
+ @alert-success-bg-color: fade(@success-color, 10%);
70
+ @alert-success-icon-color: @success-color;
71
+ @alert-info-border-color: fade(@info-color, 80%);
72
+ @alert-info-bg-color: fade(@info-color, 10%);
73
+ @alert-info-icon-color: @info-color;
74
+ @alert-warning-border-color: fade(@warning-color, 80%);
75
+ @alert-warning-bg-color: fade(@warning-color, 10%);
76
+ @alert-warning-icon-color: @warning-color;
77
+ @alert-error-border-color: fade(@error-color, 80%);
78
+ @alert-error-bg-color: fade(@error-color, 10%);
79
+ @alert-error-icon-color: @error-color;
80
+
81
+ // 折叠面板
82
+ @collapse-background-color: @component-background;
83
+ @collapse-background-gray-color: fade(@text-color, 4%);
84
+ @collapse-header-line-height: 24px;
@@ -0,0 +1,9 @@
1
+ // 颜色色板相关
2
+ @custom-black-10: #1c242e;
3
+ @custom-black-8: fade(@custom-black-10, 85%);
4
+ @custom-black-7: fade(@custom-black-10, 75%);
5
+ @custom-black-6: fade(@custom-black-10, 65%);
6
+ @custom-black-5: fade(@custom-black-10, 55%);
7
+ @custom-black-4: fade(@custom-black-10, 45%);
8
+ @custom-black-3: fade(@custom-black-10, 35%);
9
+ @custom-black-2: fade(@custom-black-10, 25%);
@@ -0,0 +1,35 @@
1
+ @import './common.less';
2
+ /**
3
+ * 此文件定义 自定义变量
4
+ */
5
+
6
+ // 来自于涛哥自定义的变量,边距字号相关
7
+ @padding-xxxs: 2px;
8
+ @padding-xxs: 4px;
9
+ @padding-20: 20px;
10
+ @font-weight-default: 400;
11
+ @font-weight-bold: 500;
12
+ @font-weight-bolder: 600;
13
+
14
+ // 表格相关
15
+ @table-border-color: #f0f0f0;
16
+ @table-zebra-stripe-bg: @table-row-hover-bg;
17
+ @table-td-height: 48px;
18
+ @table-middle-td-height: 40px;
19
+ @table-small-td-height: 32px;
20
+ @table-data-input-height: @table-td-height - @table-padding-vertical * 2;
21
+ @middle-table-data-input-height: @table-middle-td-height - @table-padding-vertical-md * 2;
22
+ @small-table-data-input-height: 20px;
23
+ @small-table-data-input-line-height: @table-small-td-height - @table-padding-vertical-sm * 2;
24
+
25
+ // 滚动条颜色相关
26
+ @scrollbar-thumb-color: #d8d8d8;
27
+
28
+ // 输入框相关
29
+ @input-affix-padding: @input-padding-horizontal-base * 2 + 14px;
30
+
31
+ // 来自于涛哥自定义的变量,暂时只发现在树选择中使用到,之后根据使用场景,再进行划分
32
+ @icon-btn-light-color: @custom-black-2;
33
+ @icon-btn-default-color: @custom-black-4;
34
+ @icon-btn-hover-color: @custom-black-7;
35
+ @select-tree-tag-background-color: #f5f5f5;
@@ -0,0 +1,2 @@
1
+ @import './antdVariables.less'; // 覆写 antd 原生变量
2
+ @import './customVariables.less'; // 自定义变量
@@ -0,0 +1,150 @@
1
+ import React, {
2
+ FC,
3
+ forwardRef,
4
+ ForwardRefExoticComponent,
5
+ FunctionComponent,
6
+ useCallback,
7
+ useRef,
8
+ useState,
9
+ } from 'react';
10
+ // TODO: 替换成自定义hooks 待处理
11
+ import { useDeepCompareEffect } from 'ahooks';
12
+ import { get, isEqualWith, set } from 'lodash';
13
+
14
+ // 通道容器,解决父子组件之间值的传递和获取。
15
+
16
+ export interface PanelContentProps {
17
+ children: React.ReactElement;
18
+ extendProps: Record<string, any>;
19
+ uploadChannelProps: (props: Record<string, any>, key: string) => void;
20
+ }
21
+
22
+ export interface ChannelContainerOptions {
23
+ uploadChannelProps: (props: Record<string, any>, key: string) => void;
24
+ getProps: (c: React.ReactElement) => any;
25
+ }
26
+
27
+ export interface ChannelContainerProps {
28
+ children: (options: ChannelContainerOptions) => React.ReactElement;
29
+ }
30
+
31
+ /**
32
+ * 容器组件 收集子组件的值
33
+ * @param props
34
+ * @returns
35
+ */
36
+ const Container: FC<ChannelContainerProps> = (props) => {
37
+ const { children } = props;
38
+ const childrenProps = useRef<Record<string, any>>({}).current;
39
+ const [, forceUpdate] = useState({});
40
+ const uploadChannelProps = useCallback(
41
+ (props: Record<string, any>, key: string) => {
42
+ childrenProps[key] = props;
43
+ if (
44
+ !isEqualWith(props, childrenProps[key], (v1, v2) => {
45
+ if (typeof v1 === 'function' && typeof v2 === 'function') {
46
+ return true;
47
+ }
48
+ return undefined;
49
+ })
50
+ ) {
51
+ forceUpdate({});
52
+ }
53
+ },
54
+ [],
55
+ );
56
+ // @ts-ignore
57
+ const getProps = useCallback((c) => childrenProps[c.key] || {}, []);
58
+
59
+ return children({ uploadChannelProps, getProps });
60
+ };
61
+
62
+ Container.displayName = 'ChannelContainer';
63
+
64
+ /**
65
+ * 包裹子组件,可以给子组件传递额外的数据,也可以监听属性值变化
66
+ * @param props
67
+ * @returns
68
+ */
69
+ const Item: FC<PanelContentProps> = (props) => {
70
+ const { children, extendProps, uploadChannelProps } = props;
71
+ return React.cloneElement(children, {
72
+ extendProps: {
73
+ ...extendProps,
74
+ uploadChannelProps: (childProps: Record<string, any>) => {
75
+ uploadChannelProps(childProps, `${children.key}`);
76
+ },
77
+ },
78
+ });
79
+ };
80
+
81
+ Item.defaultProps = {
82
+ extendProps: {},
83
+ };
84
+
85
+ Item.displayName = 'ChannelContainerItem';
86
+
87
+ export interface useRuntimePropsType {
88
+ (
89
+ props: Record<string, any>,
90
+ keyPath: string[],
91
+ uploadChannelProps: (props: Record<string, any>) => void,
92
+ ): void;
93
+ }
94
+
95
+ /**
96
+ * 实时上报数据给父节点 配合RuntimeContainer使用
97
+ * 可自定义配置属性,可自定义props内容。
98
+ * 自动根据keyPath取props的值,并上报keyPath到RuntimeContainer,
99
+ * 不可与withRuntimeItem同时使用
100
+ * @param props 字段对应的数据值
101
+ * @param depthKey 需要上报的字段
102
+ */
103
+ const useChannelProps: useRuntimePropsType = (
104
+ props,
105
+ depthKey = [],
106
+ uploadChannelProps,
107
+ ) => {
108
+ const target = {};
109
+ depthKey.forEach((key) =>
110
+ set(target, key.split('.'), get(props, key.split('.'))),
111
+ );
112
+ useDeepCompareEffect(() => {
113
+ if (uploadChannelProps) {
114
+ uploadChannelProps(target);
115
+ }
116
+ }, [target]);
117
+ };
118
+
119
+ /**
120
+ * 实时上报数据给父节点 配合RuntimeContainer使用
121
+ * 针对上报静态属性,可以通过高阶函数的方式包裹子组件,并配置需要上报的属性
122
+ * 自动根据keyPath取props的值,并上报keyPath到RuntimeContainer
123
+ * 不可与withRuntimeItem同时使用
124
+ * @param Component 子组件
125
+ * @param options
126
+ * @returns
127
+ */
128
+ function withChannelItem<T extends Record<string, any>>(
129
+ Component: FunctionComponent<any> | ForwardRefExoticComponent<any>,
130
+ options: { keyPath: string[] },
131
+ ) {
132
+ const { keyPath } = options;
133
+ return forwardRef((props: T, ref) => {
134
+ const { uploadChannelProps, ...restProps } = props;
135
+ useChannelProps(props, keyPath, uploadChannelProps);
136
+ return <Component {...restProps} ref={ref} />;
137
+ });
138
+ }
139
+
140
+ (Container as any).Item = React.memo(Item);
141
+ (Container as any).useChannelProps = useChannelProps;
142
+ (Container as any).withChannelItem = withChannelItem;
143
+
144
+ const ChannelContainer = Container as typeof Container & {
145
+ Item: typeof Item;
146
+ useChannelProps: typeof useChannelProps;
147
+ withChannelItem: typeof withChannelItem;
148
+ };
149
+
150
+ export default ChannelContainer;
@@ -0,0 +1,103 @@
1
+ import { createContext, useContext, useRef, useState } from 'react';
2
+ import { useUpdate } from './ahooks';
3
+
4
+ export interface ChildRenderContextProps {
5
+ collectChildData?: (id: string, data: any) => void;
6
+ collectChildren?: (id: string, children: any) => void;
7
+ update?: () => void;
8
+ getCurrentData?: (id: string) => { currentIndex: number; props: any };
9
+ parentProps?: any;
10
+ }
11
+
12
+ const childRenderContext = createContext<ChildRenderContextProps>({});
13
+
14
+ export const ChildRenderProvider = childRenderContext.Provider;
15
+
16
+ export const useChildRenderContext = () => {
17
+ return useContext(childRenderContext);
18
+ };
19
+
20
+ // 给上下文提供通用方法
21
+ export const useChildRender = () => {
22
+ // 完成收集子元素
23
+ const [collectComplete, setColletComplete] = useState<boolean>(false);
24
+ const update = useUpdate();
25
+
26
+ const childRef = useRef<{
27
+ list: string[];
28
+ data: Map<string, any>;
29
+ renderChild: Map<string, { current: any }>;
30
+ props: Map<string, any>;
31
+ parentProps: any;
32
+ }>({
33
+ list: [],
34
+ data: new Map(),
35
+ renderChild: new Map(),
36
+ props: new Map(),
37
+ parentProps: {},
38
+ });
39
+
40
+ const getIndex = (_id: string) => {
41
+ return childRef.current.list
42
+ .filter((id) => {
43
+ return childRef.current.data.get(id)?.visible ?? true;
44
+ })
45
+ .findIndex((id) => id === _id);
46
+ };
47
+
48
+ // 渲染子组件
49
+ const renderChildren = () => {
50
+ const { renderChild: childData, list } = childRef.current;
51
+ if (collectComplete) {
52
+ return list.map((key) => {
53
+ return childData.get(key)?.current ?? null;
54
+ });
55
+ }
56
+ return null;
57
+ };
58
+
59
+ return {
60
+ childRef,
61
+ collectComplete,
62
+ // 更新子控件列表
63
+ resetList: (list: string[]) => {
64
+ childRef.current.list = list;
65
+ },
66
+ // 渲染子组件
67
+ renderChildren,
68
+ addChildProps: (id: string, data: any) => {
69
+ childRef.current.props.set(id, data);
70
+ },
71
+ addParentProps: (_props: any) => {
72
+ childRef.current.parentProps = _props;
73
+ },
74
+ // 提供给childRenderContext上下文使用
75
+ context: {
76
+ collectChildData: (id: string, data: any) => {
77
+ childRef.current.data.set(id, data);
78
+ },
79
+ // 根据id获取当前数据
80
+ getCurrentData: (id: string) => {
81
+ const result = {
82
+ currentIndex: getIndex(id),
83
+ props: childRef.current.props.get(id) || {},
84
+ };
85
+ return result;
86
+ },
87
+ collectChildren: (id: string, child: { current: any }) => {
88
+ childRef.current.renderChild.set(id, child);
89
+ if (
90
+ childRef.current.renderChild.size === childRef.current.list.length
91
+ ) {
92
+ setColletComplete(true);
93
+ }
94
+ },
95
+ update() {
96
+ update();
97
+ },
98
+ get parentProps() {
99
+ return childRef.current.parentProps;
100
+ },
101
+ },
102
+ };
103
+ };
@@ -0,0 +1,134 @@
1
+ import { EngineApisType } from '@lingxiteam/types';
2
+ import React, { FC, useMemo } from 'react';
3
+ import ReactDOM from 'react-dom';
4
+ import { getExportDefaultObj } from './getExportDefaultObj';
5
+
6
+ export function isAtLeastReact17(version: string): boolean {
7
+ const major = version.match(/^([^.]+)/);
8
+ return major !== null && parseInt(major[0], 10) >= 17;
9
+ }
10
+
11
+ const withErrorBoundary = (
12
+ Component: React.ComponentType,
13
+ options: {
14
+ id: string;
15
+ render?: (error: Error, componentStack: string | null) => React.ReactNode;
16
+ },
17
+ ) =>
18
+ class CustomErrorModule extends React.Component {
19
+ state: Readonly<{
20
+ error: Error | null;
21
+ componentStack: string | null;
22
+ }> = {
23
+ error: null,
24
+ componentStack: null,
25
+ };
26
+
27
+ componentDidCatch(
28
+ error: Error & { cause?: Error },
29
+ { componentStack }: React.ErrorInfo,
30
+ ) {
31
+ if (isAtLeastReact17(React.version)) {
32
+ const errorBoundaryError = new Error(error.message);
33
+ errorBoundaryError.name = `React ErrorBoundary ${errorBoundaryError.name}`;
34
+ errorBoundaryError.stack = componentStack;
35
+ error.cause = errorBoundaryError;
36
+ }
37
+
38
+ this.setState({ error, componentStack });
39
+ }
40
+
41
+ render(): React.ReactNode {
42
+ const { error, componentStack } = this.state;
43
+ if (error) {
44
+ if (typeof options.render === 'function') {
45
+ return options.render(error, componentStack);
46
+ }
47
+
48
+ console.error(`组件${options.id}自定义渲染时出错:`, error);
49
+ console.error(`组件${options.id}自定义渲染时出错:`, componentStack);
50
+ return null;
51
+ }
52
+
53
+ return <Component {...this.props} />;
54
+ }
55
+ };
56
+
57
+ interface CustomModuleProps {
58
+ /**
59
+ * 代码
60
+ */
61
+ code: string;
62
+
63
+ /**
64
+ * 组件属性
65
+ */
66
+ compProps: Record<string, any>;
67
+
68
+ /**
69
+ * 引擎能力
70
+ */
71
+ sandBoxLoadModule: EngineApisType['sandBoxLoadModule'];
72
+
73
+ /**
74
+ * 错误组件提供的信息
75
+ */
76
+ errorInfo: {
77
+ // 组件id
78
+ id: string;
79
+
80
+ /**
81
+ * 自定义错误渲染信息 默认只打印错误日志,不做错误展示
82
+ * @param error
83
+ * @param componentStack
84
+ * @returns
85
+ */
86
+ render?: (error: Error, componentStack: string | null) => React.ReactNode;
87
+ };
88
+
89
+ /**
90
+ * any
91
+ */
92
+ allowMap?: Record<string, any>;
93
+ }
94
+
95
+ const CustomModule: FC<CustomModuleProps> = ({
96
+ sandBoxLoadModule,
97
+ code,
98
+ compProps,
99
+ errorInfo,
100
+ allowMap,
101
+ }) => {
102
+ // 加载到组件模块
103
+ const Component = useMemo(() => {
104
+ if (!code) {
105
+ return null;
106
+ }
107
+ const module = sandBoxLoadModule(code, { allowMap });
108
+ return withErrorBoundary(getExportDefaultObj(module), errorInfo);
109
+ }, [code]);
110
+
111
+ return Component ? <Component {...compProps} /> : null;
112
+ };
113
+
114
+ export const getJSXHtml = (
115
+ reactNode: React.ReactElement,
116
+ cb?: (html: string) => void,
117
+ options: { id?: string } = {},
118
+ ) => {
119
+ const { id = `__JSX_id__${Math.random()}` } = options || {};
120
+ let tempDOM = document.getElementById(id);
121
+ if (!tempDOM) {
122
+ tempDOM = document.createElement('jsx');
123
+ tempDOM.style.display = 'none';
124
+ tempDOM.id = id;
125
+ document.head.appendChild(tempDOM);
126
+ }
127
+
128
+ ReactDOM.render(reactNode, tempDOM, () => {
129
+ cb?.(tempDOM?.innerHTML || '');
130
+ tempDOM?.remove();
131
+ });
132
+ };
133
+
134
+ export default CustomModule;
@@ -0,0 +1,136 @@
1
+ import React from 'react';
2
+
3
+ const DummyFormContext = React.createContext<any>(null);
4
+
5
+ const useDummyFormContext = () => {
6
+ return React.useContext(DummyFormContext) || {};
7
+ };
8
+
9
+ // 以下是用于嵌套fieldName写法的东西
10
+ const CHECK_ARR = ['[', ']', '.'];
11
+ // 判断当前索引是否在引号的字符串引用范围内
12
+ const inRange = (ind: number, rangearr: any[]) => {
13
+ let result = false;
14
+ rangearr.find((r) => {
15
+ if (ind > r.end || ind < r.start) {
16
+ // 如果索引已经超过了区间的范围,那么根本不用考虑
17
+ return false;
18
+ }
19
+ if (r.end >= ind && r.start <= ind) {
20
+ result = true;
21
+ return true;
22
+ }
23
+ return false;
24
+ });
25
+
26
+ return result;
27
+ };
28
+ // 检查路径。这个方法返回被切分好的标识符数组,空数组代表这个路径是不合法的
29
+ const pathSplit = (str: string) => {
30
+ const result = [];
31
+
32
+ let lastchar: string;
33
+ let rangestartind: number;
34
+ let quotechar: string;
35
+ const quoterange: any[] = [];
36
+ const strarr = [...str];
37
+ // 第一次遍历,进行简易的词法分析,本次仅额外处理形如[""]的完整字符串强调形式
38
+ strarr.forEach((c, ind) => {
39
+ if (['"', "'"].includes(c) && lastchar === '[') {
40
+ // 发现下标字符串的起始范围,启用记录
41
+ rangestartind = ind;
42
+ quotechar = c;
43
+ } else if (quotechar && lastchar === quotechar && c === ']') {
44
+ // 到达结束标记
45
+ quoterange.push({
46
+ start: rangestartind,
47
+ end: ind - 1,
48
+ });
49
+ quotechar = '';
50
+ }
51
+
52
+ lastchar = c;
53
+ });
54
+
55
+ let id = '';
56
+ // 贪心法拆分标识符
57
+ strarr.forEach((c, ind) => {
58
+ if (inRange(ind, quoterange)) {
59
+ if (!['"', "'"].includes(c)) {
60
+ id += c;
61
+ }
62
+ } else if (!CHECK_ARR.includes(c)) {
63
+ id += c;
64
+ } else if (id) {
65
+ result.push(id);
66
+ id = '';
67
+ }
68
+ });
69
+ if (id) {
70
+ result.push(id);
71
+ }
72
+ // TODO 检查标识符序列是否合法,如果不合法的话抛出空数组?
73
+ // 这个事情暂时在我这边不还原得很清楚
74
+
75
+ return result;
76
+ };
77
+
78
+ const getObjByPath = (obj: any, path: string) => {
79
+ if (!obj) return undefined;
80
+ const sp = pathSplit(path);
81
+ // chained: 表示这个值取自一个链式写法 notcompletechain:表示途径属性链不完整,比如一个对象里的a字段对象里没有b字段,但取它的a.b,虽然不会报错(得到undefined),但这属性链条不完整
82
+ const finalresult = {
83
+ chained: false,
84
+ notcompletechain: false,
85
+ value: undefined,
86
+ };
87
+
88
+ let temp = obj;
89
+ if (sp.length > 0) {
90
+ finalresult.chained = true;
91
+ sp.forEach((k) => {
92
+ if (!temp || !(k in temp)) {
93
+ finalresult.notcompletechain = true;
94
+ }
95
+ temp = temp?.[k];
96
+ });
97
+ finalresult.value = temp;
98
+ } else {
99
+ finalresult.value = obj[path];
100
+ }
101
+
102
+ return finalresult;
103
+ };
104
+
105
+ const setObjByPath = (obj: any, path: string, val: any) => {
106
+ if (!obj) return;
107
+
108
+ const sp = pathSplit(path);
109
+ let result = obj;
110
+ const lastResult = obj;
111
+ let lastkey = '';
112
+ if (sp.length > 0) {
113
+ sp.forEach((k, ind) => {
114
+ if (ind < sp.length - 1) {
115
+ if (lastkey && /^\d+$/g.test(k)) {
116
+ // 如果有全数字,只要不是第一层,优先尝试给它处理成数组
117
+ lastResult[lastkey] = Array.isArray(lastResult[lastkey])
118
+ ? lastResult[lastkey]
119
+ : [];
120
+ result = lastResult[lastkey]; // 把上一层改为数组
121
+ result[k] = result[k] || {};
122
+ result = result[k];
123
+ } else {
124
+ result[k] = result[k] || {};
125
+ result = result[k];
126
+ }
127
+ }
128
+ lastkey = k;
129
+ });
130
+ result[lastkey] = val;
131
+ } else {
132
+ obj[path] = val;
133
+ }
134
+ };
135
+
136
+ export { DummyFormContext, useDummyFormContext, getObjByPath, setObjByPath };
@@ -0,0 +1,6 @@
1
+ import { Empty } from 'antd';
2
+ import EmptySvg from './empty';
3
+
4
+ export const customLocale = {
5
+ emptyText: <Empty className="pcfactory-empty-normal" image={<EmptySvg />} />,
6
+ };