@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,123 @@
1
+ import { Col } from 'antd';
2
+ import { CSSProperties, FC } from 'react';
3
+ import { getTestHelperProps } from '../hooks/useTestHelper';
4
+
5
+ export interface WrapperContainerProps {
6
+ labelAlign: any;
7
+ name?: string;
8
+ colon: boolean;
9
+ wrapperStyle: CSSProperties;
10
+ required: boolean;
11
+ labelCol: string;
12
+ label: any;
13
+ showWrapperContainer: boolean;
14
+ isFormRootChild: boolean;
15
+ colProps: any;
16
+ fieldName: string;
17
+ disabled: boolean;
18
+ }
19
+
20
+ const WrapperContainer: FC<WrapperContainerProps> = (props) => {
21
+ const {
22
+ labelAlign,
23
+ colon,
24
+ wrapperStyle,
25
+ children,
26
+ required,
27
+ labelCol,
28
+ showWrapperContainer,
29
+ isFormRootChild,
30
+ fieldName,
31
+ disabled,
32
+ } = props;
33
+
34
+ // 配合测试的属性
35
+ const testProps = getTestHelperProps({ fieldName, disabled });
36
+
37
+ if (!showWrapperContainer && !isFormRootChild) {
38
+ return <>{children}</>;
39
+ }
40
+
41
+ if (!showWrapperContainer && isFormRootChild) {
42
+ return (
43
+ <Col {...testProps} {...props.colProps}>
44
+ {children}
45
+ </Col>
46
+ );
47
+ }
48
+
49
+ if (isFormRootChild) {
50
+ return (
51
+ <Col {...testProps} {...props.colProps}>
52
+ <div
53
+ style={{
54
+ display: 'flex',
55
+ flexDirection: 'row',
56
+ justifyContent: 'flex-start',
57
+ alignItems: 'center',
58
+ }}
59
+ >
60
+ <div
61
+ style={{
62
+ width: labelCol,
63
+ textAlign: labelAlign,
64
+ }}
65
+ >
66
+ {props.label && (
67
+ <span>
68
+ {required && (
69
+ <span
70
+ style={{ fontSize: 12, marginRight: 4, color: '#ff4d4f' }}
71
+ >
72
+ *
73
+ </span>
74
+ )}
75
+ {props.label}
76
+ <span style={{ marginLeft: 2, marginRight: 8 }}>
77
+ {colon ? ':' : ''}
78
+ </span>
79
+ </span>
80
+ )}
81
+ </div>
82
+ <div style={wrapperStyle}>{children}</div>
83
+ </div>
84
+ </Col>
85
+ );
86
+ }
87
+
88
+ return (
89
+ <div
90
+ style={{
91
+ display: 'flex',
92
+ flexDirection: 'row',
93
+ justifyContent: 'flex-start',
94
+ alignItems: 'center',
95
+ }}
96
+ {...testProps}
97
+ >
98
+ <div
99
+ style={{
100
+ width: labelCol,
101
+ textAlign: labelAlign,
102
+ }}
103
+ >
104
+ {props.label && (
105
+ <span>
106
+ {required && (
107
+ <span style={{ fontSize: 12, marginRight: 4, color: '#ff4d4f' }}>
108
+ *
109
+ </span>
110
+ )}
111
+ {props.label}
112
+ <span style={{ marginLeft: 2, marginRight: 8 }}>
113
+ {colon ? ':' : ''}
114
+ </span>
115
+ </span>
116
+ )}
117
+ </div>
118
+ <div style={wrapperStyle}>{children}</div>
119
+ </div>
120
+ );
121
+ };
122
+
123
+ export default WrapperContainer;
@@ -0,0 +1,411 @@
1
+ /* eslint-disable no-continue */
2
+ import { EngineRelationMethods } from '@lingxiteam/types';
3
+
4
+ type RefsType = Record<string, any>;
5
+
6
+ const getFormsIdByUid = (uid: string, refs: RefsType) => {
7
+ // 不是表单组件
8
+ if (refs[uid].compName !== 'Form') {
9
+ return null;
10
+ }
11
+
12
+ const list = uid.match(/@@@([\d\w_]*)&&&/g);
13
+ if (!Array.isArray(list)) {
14
+ return list;
15
+ }
16
+ return list.map((it) => it.replace(/(@@@)|(&&&)/g, ''));
17
+ };
18
+
19
+ /**
20
+ * 通过循环容器id获取 循环容器内的表单
21
+ * @param loopId
22
+ * @param refs
23
+ */
24
+ export const getFormOfInLoopByLoopId = (options: {
25
+ loopId: string;
26
+ engineRelation: EngineRelationMethods;
27
+ routerId: string;
28
+ refs: RefsType;
29
+ forms?: RefsType[];
30
+ inLoop?: boolean;
31
+ }) => {
32
+ const {
33
+ loopId,
34
+ routerId,
35
+ engineRelation,
36
+ forms = [],
37
+ refs,
38
+ inLoop = false,
39
+ } = options;
40
+ const uids = Object.keys(refs);
41
+ for (let index = 0; index < uids.length; index += 1) {
42
+ const uid = uids[index];
43
+
44
+ if (inLoop) {
45
+ if (refs[uid].compName === 'Form') {
46
+ forms.push(refs[uid]);
47
+ continue;
48
+ }
49
+ }
50
+
51
+ // 先用---分割,解决多层循环块嵌套问题
52
+ const result = uid
53
+ .split('---')
54
+ .filter(Boolean)
55
+ .find((id) => {
56
+ const [compId] = id.split('@@@');
57
+ return compId === loopId;
58
+ });
59
+
60
+ const engineRefs = engineRelation.getEngineRefsByUid(uid, routerId);
61
+ // 页面容器或者BOFramer在循环容器下
62
+ if ((result || inLoop) && engineRefs) {
63
+ // 页面容器和业务组件下也可能存在表单
64
+ getFormOfInLoopByLoopId({
65
+ loopId,
66
+ routerId,
67
+ engineRelation,
68
+ refs: engineRelation.getEngineRefsByUid(uid, routerId)?.refs || {},
69
+ forms,
70
+ inLoop: true,
71
+ });
72
+ }
73
+
74
+ // 不是表单 或者不在循环容器内
75
+ if (refs[uid].compName !== 'Form' || !/[@@@|&&&]/.test(uid)) {
76
+ continue;
77
+ }
78
+
79
+ if (result) {
80
+ forms.push(refs[uid]);
81
+ }
82
+ }
83
+ return forms;
84
+ };
85
+
86
+ /**
87
+ * 获取gridview组件
88
+ * @param forms
89
+ * @param getFieldsValue
90
+ * @returns
91
+ */
92
+ export const getLoopForms = async (
93
+ forms: RefsType[],
94
+ getFieldsValue: (form: any) => void,
95
+ ) => {
96
+ const fieldValues: any = {};
97
+ let firstErrorInfo: any = null;
98
+ for (let index = 0; index < forms.length; index += 1) {
99
+ const form = forms[index];
100
+ const { formCode, scrollToErrorField } = form;
101
+ fieldValues[formCode] = fieldValues[formCode] ?? [];
102
+ try {
103
+ const values = await getFieldsValue(form);
104
+ fieldValues[formCode].push(values);
105
+ } catch (error) {
106
+ if (!firstErrorInfo) {
107
+ firstErrorInfo = {
108
+ error,
109
+ form,
110
+ scrollToErrorField,
111
+ };
112
+ }
113
+ }
114
+ }
115
+
116
+ if (firstErrorInfo) {
117
+ const { scrollToErrorField, error } = firstErrorInfo;
118
+ scrollToErrorField(error);
119
+ return Promise.reject(error);
120
+ }
121
+ return Promise.resolve(fieldValues);
122
+ };
123
+
124
+ /**
125
+ * 通过组件id获取表单列表
126
+ */
127
+ export const getFormByCompId = (compId: string, refs: RefsType) => {
128
+ // 获取是否是表单
129
+ const form = refs[compId];
130
+ if (form) {
131
+ return form;
132
+ }
133
+ const uidArr = Object.keys(refs).filter((uid) => {
134
+ const ids = getFormsIdByUid(uid, refs);
135
+ if (!ids) {
136
+ return false;
137
+ }
138
+ return ids.includes(compId);
139
+ });
140
+
141
+ if (uidArr.length === 0) {
142
+ return null;
143
+ }
144
+
145
+ return uidArr.map((uid) => refs[uid]);
146
+ };
147
+
148
+ export const getFieldsValue = async (
149
+ forms: RefsType | RefsType[],
150
+ getFieldsValue: (form: any) => void,
151
+ ) => {
152
+ // 当表单不存在时,应该获取的是undefined
153
+ if (!forms) {
154
+ return undefined;
155
+ }
156
+
157
+ if (Array.isArray(forms)) {
158
+ return Promise.all(forms.map((form) => getFieldsValue(form)));
159
+ }
160
+ return getFieldsValue(forms);
161
+ };
162
+
163
+ /**
164
+ * 获取表单类型
165
+ */
166
+ export const getFormType = (uid: string) => {
167
+ // uid中包含@符号包含&符号
168
+ const hasAtOrAnd = /[@@@|&&&]/.test(uid);
169
+ const [loopId, formId, itemId] = uid.split(/@@@|&&&/g);
170
+ return {
171
+ type: hasAtOrAnd ? 'inLoop' : 'default',
172
+ loopId,
173
+ formId,
174
+ itemId,
175
+ };
176
+ };
177
+
178
+ interface FirstErrorInfoType {
179
+ error: any;
180
+ form?: any;
181
+ scrollToErrorField: any;
182
+ }
183
+
184
+ /**
185
+ * 当前的refs
186
+ * @param options
187
+ * @param getFieldsValue
188
+ */
189
+ export const getOwnFormValues = async (
190
+ options: {
191
+ currentRefs: RefsType;
192
+ engineRelation: EngineRelationMethods;
193
+ routerId: string;
194
+ compId?: string;
195
+ },
196
+ getFieldsValue: (form: any) => void,
197
+ ) => {
198
+ const { currentRefs, engineRelation, routerId, compId } = options;
199
+
200
+ let firstErrorInfo: FirstErrorInfoType | null = null;
201
+ const values: any = {};
202
+
203
+ const formCodeTypes: Record<string, 'default' | 'array'> = {};
204
+
205
+ /**
206
+ * 获取单个引擎下的表单值
207
+ */
208
+ const getRenderRefsFormValues = async (
209
+ refs: RefsType = {},
210
+ compId?: string,
211
+ ) => {
212
+ const uidArr = Object.keys(refs);
213
+
214
+ for (let index = 0; index < uidArr.length; index += 1) {
215
+ const uid = uidArr[index];
216
+ // 有指定组件时只获取该组件里的form
217
+ if (!compId || compId === uid) {
218
+ const ref = refs[uid];
219
+ if (!['Form', 'DynamicDataContainer'].includes(ref.compName)) {
220
+ // 需要处理BOFramer和PageView这种渲染逻辑
221
+ const uidRefs = engineRelation.getEngineRefsByUid(uid, routerId);
222
+ if (uidRefs) {
223
+ await getRenderRefsFormValues(uidRefs.refs);
224
+ }
225
+ } else {
226
+ const {
227
+ formCode,
228
+ form,
229
+ scrollToErrorField,
230
+ compName,
231
+ _innerDynamicDataContainer,
232
+ } = ref;
233
+ if (!formCode) {
234
+ continue;
235
+ }
236
+
237
+ if (compName === 'Form' && _innerDynamicDataContainer) {
238
+ continue;
239
+ }
240
+
241
+ const { type } = getFormType(uid);
242
+ try {
243
+ const value = await getFieldsValue(ref);
244
+ if (type === 'default') {
245
+ // 1. 首次赋值, 包含循环容器内逻辑
246
+ if (!values[formCode]) {
247
+ values[formCode] = value;
248
+ formCodeTypes[formCode] = 'default';
249
+ continue;
250
+ }
251
+ // 2. 存在编码相同时,切换成数组类型
252
+ if (formCodeTypes[formCode] === 'default') {
253
+ // 处理页面中存在多个相同的表单,但是表单编码一样。这时候表现为数组形式
254
+ values[formCode] = [values[formCode]];
255
+ formCodeTypes[formCode] = 'array';
256
+ }
257
+
258
+ // 3. 给数组添加当前值
259
+ if (formCodeTypes[formCode] === 'array') {
260
+ values[formCode].push(value);
261
+ }
262
+ } else if (type === 'inLoop') {
263
+ // 1. 或许存在一个没包含在循环容器内表单,并且该表单和循环容器下的表单编码相同,
264
+ if (formCodeTypes[formCode] === 'default') {
265
+ values[formCode] = [values[formCode]];
266
+ }
267
+
268
+ formCodeTypes[formCode] = 'array';
269
+ values[formCode] = Array.isArray(values[formCode])
270
+ ? values[formCode]
271
+ : [];
272
+ values[formCode].push(value);
273
+ }
274
+ } catch (error) {
275
+ if (!firstErrorInfo) {
276
+ firstErrorInfo = {
277
+ error,
278
+ form,
279
+ scrollToErrorField,
280
+ };
281
+ }
282
+ }
283
+ }
284
+ } else {
285
+ continue;
286
+ }
287
+ }
288
+ };
289
+
290
+ await getRenderRefsFormValues(currentRefs, compId);
291
+
292
+ // 存在错误时,滚动到第一个出现错误的位置
293
+ if (firstErrorInfo) {
294
+ const { scrollToErrorField, error } = firstErrorInfo as FirstErrorInfoType;
295
+ scrollToErrorField(error);
296
+ return Promise.reject(error);
297
+ }
298
+ return Promise.resolve(values);
299
+ };
300
+
301
+ export const getAllFormValues = (options: {
302
+ currentRefs: RefsType;
303
+ engineRelation: EngineRelationMethods;
304
+ routerId: string;
305
+ }) => {
306
+ const { currentRefs, engineRelation, routerId } = options;
307
+ const forms: RefsType[] = [];
308
+ const getRenderRefsFormValues = (refs: RefsType = {}) => {
309
+ const uidArr = Object.keys(refs);
310
+
311
+ for (let index = 0; index < uidArr.length; index += 1) {
312
+ const uid = uidArr[index];
313
+
314
+ const ref = refs[uid];
315
+ if (ref.compName !== 'Form') {
316
+ // 需要处理BOFramer和PageView这种渲染逻辑
317
+ const uidRefs = engineRelation.getEngineRefsByUid(uid, routerId);
318
+ if (uidRefs) {
319
+ getRenderRefsFormValues(uidRefs.refs);
320
+ }
321
+ } else if (ref.has) {
322
+ forms.push(ref);
323
+ }
324
+ }
325
+ };
326
+ getRenderRefsFormValues(currentRefs);
327
+ return forms;
328
+ };
329
+
330
+ /**
331
+ * 获取业务组件列表 可能存在
332
+ * @param compId
333
+ * @param refs
334
+ */
335
+ export const getBOFramers = (compId: string, refs: RefsType = {}) => {
336
+ const boframerUids = Object.keys(refs).filter(
337
+ (id) => refs[id].compId === compId,
338
+ );
339
+ // 如果没找到组件,就返回null
340
+ if (!boframerUids.length) {
341
+ return null;
342
+ }
343
+
344
+ const boframerRefs: RefsType = {};
345
+
346
+ boframerUids.forEach((uid) => {
347
+ boframerRefs[uid] = refs[uid];
348
+ });
349
+
350
+ return boframerRefs;
351
+ };
352
+
353
+ export const getBOFramerOwnFormValues = async (
354
+ options: {
355
+ refs: RefsType;
356
+ engineRelation: EngineRelationMethods;
357
+ routerId: string;
358
+ compId: string;
359
+ },
360
+ getFieldsValue: (form: any) => void,
361
+ ) => {
362
+ const { engineRelation, routerId, refs, compId } = options;
363
+
364
+ // 2种情况 1只有单个业务组件 2 业务组件放在循环容器下
365
+ const boframerRefs = getBOFramers(compId, refs);
366
+
367
+ let values = {};
368
+ if (boframerRefs) {
369
+ values = await getOwnFormValues(
370
+ { currentRefs: boframerRefs, engineRelation, routerId },
371
+ getFieldsValue,
372
+ );
373
+ }
374
+
375
+ // 理论上获取业务组件 应该都带有表单编码,但是由于需要兼容旧数据 需要把值展开
376
+ if (Object.keys(values).length === 1) {
377
+ const val = Object.values(values)[0] as Object;
378
+ if (Object.prototype.toString.call(val) === '[object Object]') {
379
+ values = val;
380
+ }
381
+ }
382
+ return values;
383
+ };
384
+
385
+ // 获取BOFramer下所有表单
386
+ export const getBoframerOwnForms = (options: {
387
+ currentRefs: RefsType;
388
+ engineRelation: EngineRelationMethods;
389
+ routerId: string;
390
+ compId: string;
391
+ }) => {
392
+ const { compId, currentRefs, engineRelation, routerId } = options;
393
+ const boframers = getBOFramers(compId, currentRefs);
394
+
395
+ const forms: RefsType[] = [];
396
+ const getAllForms = (refs: RefsType | null) => {
397
+ Object.keys(refs || {}).forEach((uid) => {
398
+ const engineRef = engineRelation.getEngineRefsByUid(uid, routerId);
399
+ Object.keys(engineRef?.refs || {}).forEach((compUid) => {
400
+ const r = engineRef?.refs[compUid];
401
+ getAllForms(r);
402
+ if (r.compName === 'Form') {
403
+ forms.push(r);
404
+ }
405
+ });
406
+ });
407
+ };
408
+
409
+ getAllForms(boframers);
410
+ return forms;
411
+ };
@@ -0,0 +1,28 @@
1
+ export type mode = 'grid' | 'pixel' | 'percentage' | '';
2
+
3
+ /**
4
+ * 获取布局模式
5
+ * @param col
6
+ * @returns
7
+ */
8
+ export const getMode = (col: string | number): mode => {
9
+ if (!Number.isNaN(Number(col))) {
10
+ return 'grid';
11
+ }
12
+ if (typeof col === 'string' && col.includes('px')) {
13
+ return 'pixel';
14
+ }
15
+ if (typeof col === 'string' && col.includes('%')) {
16
+ return 'percentage';
17
+ }
18
+ return '';
19
+ };
20
+
21
+ /**
22
+ * 表单项错误滚动使用的className
23
+ * @param fieldName
24
+ * @returns
25
+ */
26
+ export const getFormItemClassName = (fieldName: string) => {
27
+ return `formItem-error-${fieldName}`;
28
+ };
@@ -0,0 +1,11 @@
1
+ export const getExportDefaultObj = (obj: any) => {
2
+ if (typeof obj === 'object') {
3
+ if (
4
+ obj.__esModule === true &&
5
+ Object.prototype.hasOwnProperty.call(obj, 'default')
6
+ ) {
7
+ return obj.default;
8
+ }
9
+ }
10
+ return obj;
11
+ };
@@ -0,0 +1,140 @@
1
+ import React, { useEffect, useImperativeHandle } from 'react';
2
+ import { MonitorFn, useForm } from '../formUtils/FormContext';
3
+ import { FormFieldsHooks } from '../formUtils/FormFields';
4
+ import { useListenProps } from './useListenState';
5
+ import { useLocale } from './useLocale';
6
+ import useRules, { RuleInterface } from './useRules';
7
+
8
+ /**
9
+ *
10
+ * @param ref ref
11
+ * @param handle 额外的方法
12
+ * @param depends 依赖监听
13
+ */
14
+ export const useCommonImperativeHandle = (
15
+ ref: any,
16
+ props: any,
17
+ handle: any = {},
18
+ ) => {
19
+ const {
20
+ disabled: propsDisabled,
21
+ required: propsRequired,
22
+ readOnly: propsReadOnly,
23
+ getEngineApis,
24
+ } = props;
25
+
26
+ const engineApis = getEngineApis();
27
+
28
+ const formContext = useForm();
29
+
30
+ const formFieldsRef = React.createRef<FormFieldsHooks>();
31
+
32
+ // 控件禁用状态
33
+ const [disabled, setDisabled] = useListenProps<boolean>(propsDisabled);
34
+
35
+ // 设置必填
36
+ const [required, setRequired] = useListenProps<boolean>(propsRequired);
37
+
38
+ const [readOnly, setReadOnly] = useListenProps<boolean>(propsReadOnly);
39
+
40
+ const { getLocale, lang } = useLocale(engineApis);
41
+
42
+ // 通用规则生成
43
+ const [finalRules, setExtendRules] = useRules(
44
+ {
45
+ required,
46
+ regexp: props.regexp,
47
+ rules: props.rules,
48
+ message: props.message,
49
+ name: props.name,
50
+ },
51
+ getLocale,
52
+ lang,
53
+ );
54
+
55
+ const clearValue = () => {
56
+ let initValue: any = '';
57
+ if (handle && handle.hasOwnProperty('clearValue')) {
58
+ // 如果存在clearValue 并且clearValue 是方法的时候执行, 否则就是值
59
+ if (typeof handle.clearValue === 'function') {
60
+ handle.clearValue();
61
+ return;
62
+ }
63
+ // 说明是值的情况
64
+ initValue = handle.clearValue;
65
+ }
66
+ // 默认清空成空字符串
67
+ if (typeof engineApis?.onlySyncValue === 'function') {
68
+ engineApis?.onlySyncValue(initValue);
69
+ } else {
70
+ props?.onChange(initValue);
71
+ }
72
+ };
73
+
74
+ useImperativeHandle(ref, () => ({
75
+ disabled,
76
+ setDisabled: (val: boolean | 'toggle') => {
77
+ setDisabled(val === 'toggle' ? !disabled : val);
78
+ },
79
+ required,
80
+ setRequired: (val: boolean | 'toggle') => {
81
+ setRequired(val === 'toggle' ? !required : val);
82
+ },
83
+ readOnly,
84
+ setReadOnly: (val: boolean | 'toggle') => {
85
+ setReadOnly(val === 'toggle' ? !readOnly : val);
86
+ },
87
+ changeValidateStatus: formFieldsRef.current?.changeValidateStatus,
88
+ ...handle,
89
+ clearValue,
90
+ // 同步hoc vlaue使用,目前在设置表单数据的时候需要同步使用
91
+ onlySyncValue: (initValue: any) => {
92
+ if (typeof engineApis?.onlySyncValue === 'function') {
93
+ engineApis?.onlySyncValue(initValue);
94
+ }
95
+ },
96
+
97
+ /**
98
+ * 追加rules,目前只有在零代码使用
99
+ * @param newRules
100
+ * @param isAppendLastTime 是否累计上一次的
101
+ */
102
+ appendRules: (
103
+ newRules: RuleInterface[],
104
+ isAppendLastTime: boolean = true,
105
+ ) => {
106
+ setExtendRules(newRules, isAppendLastTime);
107
+ },
108
+ }));
109
+
110
+ /**
111
+ * 表单被设置禁用 只读时同步更新子组件状态
112
+ */
113
+ useEffect(() => {
114
+ const fn: MonitorFn = (value, type) => {
115
+ if (type === 'disabled') {
116
+ setDisabled(!!value);
117
+ } else if (type === 'readonly') {
118
+ setReadOnly(!!value);
119
+ }
120
+ };
121
+ if (formContext.inForm && formContext.statusMonitor) {
122
+ formContext.statusMonitor.addListener(fn);
123
+ return () => {
124
+ formContext.statusMonitor.removeListener(fn);
125
+ };
126
+ }
127
+ return () => {};
128
+ }, []);
129
+
130
+ return {
131
+ disabled,
132
+ required,
133
+ formFieldsRef,
134
+ finalRules,
135
+ setExtendRules,
136
+ readOnly: formContext.inForm && formContext.printMode ? true : readOnly,
137
+ };
138
+ };
139
+
140
+ export default useCommonImperativeHandle;