@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,600 @@
1
+ import { LingxiForwardRef } from '@lingxiteam/types';
2
+ import { Col, Form as AntdForm, Row } from 'antd';
3
+ import type { FormLayout } from 'antd/lib/form/Form';
4
+ import { isEqual } from 'lodash';
5
+ import React, {
6
+ Children,
7
+ cloneElement,
8
+ useEffect,
9
+ useImperativeHandle,
10
+ useMemo,
11
+ useRef,
12
+ useState,
13
+ } from 'react';
14
+ import {
15
+ FormContextProps,
16
+ FormProvider,
17
+ getFormItemClassName,
18
+ PrintContainer,
19
+ useDynamicData,
20
+ usePrintMode,
21
+ } from '../utils';
22
+ import { useCreation } from '../utils/ahooks';
23
+ import useBackgroundStyle from '../View/useBackgroundStyle';
24
+ import { useFormStatus } from './useFormStatus';
25
+ import WrapperForm from './WrapperForm';
26
+
27
+ const EMPTY_COL = { span: 'none' }; // 避免每次都创建对象造成无用渲染
28
+ const FULL_COL = { span: 24 };
29
+
30
+ export interface FormProps {
31
+ disabled: boolean;
32
+ layout: FormLayout;
33
+ colSpan: FormContextProps['colSpan'];
34
+ labelCol: number;
35
+ wrapperCol: number;
36
+ colon: boolean;
37
+ labelAlign: FormContextProps['labelAlign'];
38
+ extendProps?: Record<string, any>;
39
+ backgroundType?: any;
40
+ style: React.CSSProperties;
41
+ rowSpace: FormContextProps['rowSpace'];
42
+ colSpace: FormContextProps['colSpace'];
43
+ onValuesChange: (name: string, value: unknown) => void;
44
+ formCode?: string;
45
+ readOnly?: boolean;
46
+ visible?: boolean;
47
+ className?: string;
48
+ _innerDynamicDataContainer?: boolean;
49
+ }
50
+
51
+ const useInit = (cb: () => () => void) => {
52
+ const initialRef = useRef(true);
53
+ const unmountRef = useRef(() => {});
54
+
55
+ if (initialRef.current) {
56
+ initialRef.current = false;
57
+ unmountRef.current = cb();
58
+ }
59
+
60
+ useEffect(
61
+ () => () => {
62
+ if (typeof unmountRef.current === 'function') {
63
+ unmountRef.current();
64
+ }
65
+ },
66
+ [unmountRef.current],
67
+ );
68
+ };
69
+
70
+ export const ViewFormItem = (props: any) => {
71
+ const {
72
+ schemaProps,
73
+ selfSpan,
74
+ colSpan,
75
+ getVisible,
76
+ style,
77
+ stateListener,
78
+ isBlank,
79
+ i,
80
+ uid,
81
+ child,
82
+ } = props;
83
+
84
+ const [, setUpdate] = useState(0);
85
+
86
+ // FIX 直接子容器初始状态直接设置隐藏,导致监听不到变化。在组件初始化就开启监听
87
+ useInit(() => {
88
+ // 监听当前控件显隐状态
89
+ const remove = stateListener(uid, 'visible', (val: any) => {
90
+ setUpdate(Date.now());
91
+ });
92
+ return () => {
93
+ remove();
94
+ };
95
+ });
96
+
97
+ // useEffect(() => {
98
+ // // 监听当前控件显隐状态
99
+ // const remove = stateListener(uid, 'visible', (val: any) => {
100
+ // setUpdate(Date.now());
101
+ // });
102
+ // return () => {
103
+ // remove?.();
104
+ // };
105
+ // }, []);
106
+
107
+ const finalStyle = useMemo(() => {
108
+ const _style = { ...style };
109
+ if (getVisible?.(uid) === false) {
110
+ _style.display = 'none';
111
+ }
112
+ return _style;
113
+ }, [getVisible?.(uid)]);
114
+
115
+ if (isBlank) {
116
+ return <Col key={`blank-${i}`} span={colSpan} style={finalStyle} />;
117
+ }
118
+ return (
119
+ <Col
120
+ key={schemaProps['data-compid']}
121
+ span={selfSpan || colSpan}
122
+ style={finalStyle}
123
+ >
124
+ <AntdForm.Item wrapperCol={FULL_COL}>{child}</AntdForm.Item>
125
+ </Col>
126
+ );
127
+ };
128
+
129
+ type FormChildrenType = Pick<
130
+ FormProps,
131
+ 'colSpan' | 'rowSpace' | 'layout' | 'colSpace'
132
+ > & {
133
+ children?: React.ReactNode;
134
+ formRef?: any;
135
+ engineApis?: any;
136
+ };
137
+ export const FormChildren = (props: FormChildrenType) => {
138
+ const { children, colSpan, formRef, rowSpace, layout, colSpace, engineApis } =
139
+ props;
140
+
141
+ // 兼容存量数据中,表单没有列间距的情况
142
+ const compatColSpace = (() => {
143
+ if (layout !== 'horizontal') {
144
+ return (colSpace as number) ?? 16;
145
+ }
146
+ return colSpace as number;
147
+ })();
148
+
149
+ /**
150
+ * 布局子组件
151
+ */
152
+ const layoutChildren = () => {
153
+ const { getVisible, stateListener } = engineApis;
154
+ const components: (
155
+ | React.ReactChild
156
+ | React.ReactFragment
157
+ | React.ReactPortal
158
+ )[] = [];
159
+ Children.forEach(Children.toArray(children), (child, index) => {
160
+ if (!React.isValidElement(child)) {
161
+ components.push(child);
162
+ return;
163
+ }
164
+
165
+ const { schema } = child.props;
166
+ const { compType, props: schemaProps } = schema || {};
167
+
168
+ if (compType !== undefined && compType !== 2) {
169
+ const {
170
+ formItemIndex,
171
+ hidden,
172
+ style: childStyle,
173
+ selfSpan,
174
+ } = schemaProps;
175
+ const { display: customDisplay, visibility: customVisibility } =
176
+ childStyle || {};
177
+
178
+ const changeColStyle = () => {
179
+ const colStyle: React.CSSProperties = {};
180
+
181
+ if (hidden || (customDisplay && customDisplay === 'none')) {
182
+ colStyle.display = 'none';
183
+ }
184
+
185
+ if (customVisibility) {
186
+ colStyle.visibility = customVisibility;
187
+ }
188
+
189
+ return colStyle;
190
+ };
191
+
192
+ // 中间间隔组件的个数
193
+ const gap = formItemIndex - index || 0;
194
+ new Array(gap).fill(0).forEach((_, i) => {
195
+ components.push(
196
+ <ViewFormItem
197
+ i={i}
198
+ key={`blank-${i}`}
199
+ style={changeColStyle()}
200
+ colSpan={colSpan}
201
+ getVisible={getVisible}
202
+ stateListener={stateListener}
203
+ isBlank
204
+ // child.props.$$componentItem.uid 兼容高代码模式下
205
+ uid={child.props.uid || child.props.$$componentItem.uid}
206
+ />,
207
+ );
208
+ });
209
+
210
+ components.push(
211
+ <ViewFormItem
212
+ style={changeColStyle()}
213
+ schemaProps={schemaProps}
214
+ selfSpan={selfSpan}
215
+ colSpan={colSpan}
216
+ getVisible={getVisible}
217
+ stateListener={stateListener}
218
+ // child.props.$$componentItem.uid 兼容高代码模式下
219
+ uid={child.props.uid || child.props.$$componentItem.uid}
220
+ child={child}
221
+ key={child.key}
222
+ />,
223
+ );
224
+ return;
225
+ }
226
+
227
+ components.push(
228
+ cloneElement(child, { extendProps: { isFormRootChild: true } } as any),
229
+ );
230
+ });
231
+
232
+ return components;
233
+ };
234
+
235
+ return (
236
+ <Row
237
+ ref={formRef}
238
+ className={Number(rowSpace) < 14 ? 'form-tips' : undefined}
239
+ gutter={[compatColSpace, rowSpace as number]}
240
+ >
241
+ {layoutChildren()}
242
+ </Row>
243
+ );
244
+ };
245
+
246
+ const Form = LingxiForwardRef<any, FormProps>((props, ref) => {
247
+ const {
248
+ layout,
249
+ colSpan,
250
+ colon,
251
+ labelAlign,
252
+ extendProps,
253
+ backgroundType,
254
+ getEngineApis,
255
+ rowSpace,
256
+ colSpace,
257
+ formCode,
258
+ onValuesChange,
259
+ $$componentItem,
260
+ visible = true,
261
+ className,
262
+ } = props;
263
+
264
+ const formChildRelation = useRef({});
265
+ const patchSetFormsValueFn = useRef<Record<string, any>>({}).current;
266
+
267
+ const [form] = AntdForm.useForm();
268
+ const engineApis = getEngineApis();
269
+ const formRef = useRef<HTMLDivElement>(null);
270
+ const dynamicContext = useDynamicData() || {};
271
+
272
+ const { showPrintContainer, loadPrint, selectorKey } = usePrintMode(
273
+ props.$$componentItem.uid,
274
+ );
275
+
276
+ // 保存值变化回调,
277
+ const valueChangeFnRef = useRef<(changedValues: any, values: any) => void>();
278
+
279
+ const { backgroundStyle } = useBackgroundStyle({
280
+ engineApis,
281
+ backgroundType,
282
+ mode: 'engine',
283
+ });
284
+
285
+ const { run, addListener, removeListener, status } = useFormStatus({
286
+ disabled: props.disabled,
287
+ readonly: props.readOnly,
288
+ });
289
+
290
+ // 由于需要考虑loop等组件,可能存在多个相同的字段名,自行研发
291
+ const scrollToError = (errorInfo: any) => {
292
+ try {
293
+ const { errorFields = [] } = errorInfo ?? {};
294
+ if (errorFields?.length > 0) {
295
+ const errorFieldsName = errorFields[0].name;
296
+ // 表单项错误滚动使用的className
297
+ const className = getFormItemClassName(errorFieldsName);
298
+ const rowDOM = formRef.current;
299
+ const dom = rowDOM?.querySelector(`.${className}`);
300
+ dom?.scrollIntoView({ behavior: 'smooth' });
301
+ }
302
+ } catch (error) {
303
+ //
304
+ }
305
+ };
306
+
307
+ const uploadChildRelation = (id: string, fileProps: string) => {
308
+ if (id && fileProps) {
309
+ // @ts-ignore
310
+ formChildRelation.current[fileProps] = id;
311
+ }
312
+ };
313
+
314
+ /**
315
+ * 保存表单值预处理表单值的方法
316
+ */
317
+ const preproccessSetFormValues = (
318
+ fileProps: string,
319
+ fn: (value: any) => any,
320
+ ) => {
321
+ if (fileProps) {
322
+ patchSetFormsValueFn[fileProps] = fn;
323
+ }
324
+ };
325
+
326
+ /**
327
+ * 需要上传给动态数据容器的表单方法
328
+ */
329
+
330
+ const formRefHandler = useCreation(
331
+ () => ({
332
+ /**
333
+ * 校验并滚动到某字段
334
+ */
335
+ validateFormAndScroll: (errScroll: boolean = true) => {
336
+ return form.validateFields().catch((errorInfo) => {
337
+ if (errScroll) {
338
+ scrollToError(errorInfo);
339
+ }
340
+ throw errorInfo;
341
+ });
342
+ },
343
+
344
+ /**
345
+ * 滚动到错误的位置
346
+ */
347
+ scrollToErrorField: (errorInfo: any) => {
348
+ scrollToError(errorInfo);
349
+ },
350
+
351
+ /**
352
+ * 获取表单值
353
+ */
354
+ getFieldsValue: () => {
355
+ return form.getFieldsValue();
356
+ },
357
+
358
+ /**
359
+ * 设置表单值
360
+ * @param values
361
+ * @param refs 低代码平台引擎内所有的refs,其他平台不要使用
362
+ */
363
+ setFieldsValue(values: any, refs: Record<string, any>) {
364
+ const target: any = {};
365
+ const relation: any = formChildRelation.current;
366
+ Object.keys(values).forEach((key) => {
367
+ target[key] = values[key];
368
+ if (typeof patchSetFormsValueFn[key] === 'function') {
369
+ target[key] = patchSetFormsValueFn[key](target[key]);
370
+ }
371
+ if (refs && relation) {
372
+ const relation = formChildRelation.current;
373
+ // @ts-ignore
374
+ const comId = relation?.[key];
375
+ if (comId) {
376
+ refs?.[comId]?.onlySyncValue(target[key]);
377
+ }
378
+ }
379
+ if (
380
+ !isEqual(form.getFieldValue(key), target[key]) &&
381
+ typeof onValuesChange === 'function'
382
+ ) {
383
+ if (
384
+ engineApis?.compatConfig.cmd.setFieldsValueToOnValuesChange ===
385
+ true
386
+ ) {
387
+ onValuesChange(key, target[key]);
388
+ }
389
+ }
390
+ });
391
+
392
+ form.setFieldsValue(target);
393
+ },
394
+
395
+ /**
396
+ * 重置表单值
397
+ */
398
+ resetFields() {
399
+ form.resetFields();
400
+ },
401
+
402
+ // 设置禁用状态
403
+ setDisabled: (v: boolean | 'toggle') => {
404
+ run('disabled', v === 'toggle' ? !status.disabled : v);
405
+ },
406
+ // 设置只读状态
407
+ setReadOnly: (v: boolean | 'toggle') => {
408
+ run('readonly', v === 'toggle' ? !status.readonly : v);
409
+ },
410
+ scrollToError,
411
+ // 作为ref标志,表示form已经被渲染了
412
+ has: true,
413
+ form,
414
+ }),
415
+ [status],
416
+ );
417
+
418
+ /**
419
+ * 动态数据容器ref上报
420
+ */
421
+ if (dynamicContext._innerDynamicDataContainer) {
422
+ dynamicContext.updateFormChildRef(formCode!, formRefHandler);
423
+ }
424
+
425
+ useImperativeHandle(ref, () => ({
426
+ formCode: formCode || $$componentItem?.id,
427
+ ...formRefHandler,
428
+ get disabled() {
429
+ return status.disabled ?? false;
430
+ },
431
+ get readOnly() {
432
+ return status.readonly ?? false;
433
+ },
434
+ // 监听值变化回调
435
+ listenerOnValueChange: (fn: (changedValues: any, values: any) => void) => {
436
+ // 主要用来做BOFramer业务组件值变化回调,如果修改数据,请记得
437
+ valueChangeFnRef.current = fn;
438
+ },
439
+
440
+ /**
441
+ * 获取子组件的字段和表单项id的映射关系
442
+ * @returns
443
+ */
444
+ getChildRelation: () => formChildRelation.current,
445
+
446
+ /**
447
+ * 打印模式钩子
448
+ */
449
+ loadPrint,
450
+
451
+ /**
452
+ * 是否在动态数据容器内
453
+ */
454
+ get _innerDynamicDataContainer() {
455
+ return dynamicContext._innerDynamicDataContainer;
456
+ },
457
+ }));
458
+
459
+ // 转化成antd接收的数据
460
+ const labelCol = useMemo(() => ({ span: props.labelCol }), [props.labelCol]);
461
+ const wrapperCol = useMemo(
462
+ () => ({ span: props.wrapperCol }),
463
+ [props.wrapperCol],
464
+ );
465
+
466
+ const providerValue: FormContextProps = useMemo(
467
+ () => ({
468
+ form,
469
+ inForm: true,
470
+ layout,
471
+ colSpan,
472
+ labelCol,
473
+ wrapperCol,
474
+ colon,
475
+ labelAlign,
476
+ rowSpace,
477
+ statusMonitor: {
478
+ addListener,
479
+ removeListener,
480
+ },
481
+ uploadChildRelation,
482
+ preproccessSetFormValues,
483
+ colSpace,
484
+ }),
485
+ [
486
+ form,
487
+ layout,
488
+ colSpan,
489
+ labelCol,
490
+ wrapperCol,
491
+ colon,
492
+ labelAlign,
493
+ addListener,
494
+ removeListener,
495
+ ],
496
+ );
497
+
498
+ const formStyle: React.CSSProperties = {
499
+ ...backgroundStyle,
500
+ ...props.style,
501
+ };
502
+
503
+ if (!visible) {
504
+ formStyle.display = 'none';
505
+ }
506
+
507
+ return (
508
+ <>
509
+ <FormProvider value={providerValue}>
510
+ <WrapperForm>
511
+ <AntdForm
512
+ className={className}
513
+ form={form}
514
+ layout={layout}
515
+ labelCol={layout === 'horizontal' ? labelCol : EMPTY_COL}
516
+ wrapperCol={layout === 'horizontal' ? wrapperCol : EMPTY_COL}
517
+ style={formStyle}
518
+ onValuesChange={(changedValues, values) => {
519
+ const keys = Object.keys(changedValues || {});
520
+ if (typeof onValuesChange === 'function') {
521
+ if (keys.length > 0) {
522
+ const name = keys[0];
523
+ onValuesChange(name, changedValues[name]);
524
+ }
525
+ }
526
+ if (valueChangeFnRef.current) {
527
+ valueChangeFnRef.current(changedValues, values);
528
+ }
529
+ if (dynamicContext._innerDynamicDataContainer) {
530
+ if (keys.length > 0) {
531
+ const name = keys[0];
532
+ dynamicContext.onFormChange(
533
+ formCode!,
534
+ name,
535
+ changedValues[name],
536
+ );
537
+ }
538
+ }
539
+ }}
540
+ {...extendProps}
541
+ // @ts-ignore
542
+ data-compid={props['data-compid']}
543
+ name={formCode}
544
+ >
545
+ <FormChildren formRef={formRef} {...props} engineApis={engineApis}>
546
+ {props.children}
547
+ </FormChildren>
548
+ </AntdForm>
549
+ </WrapperForm>
550
+ </FormProvider>
551
+ {showPrintContainer && (
552
+ <PrintContainer containerProps={{ ...selectorKey }}>
553
+ <FormProvider
554
+ value={
555
+ {
556
+ ...providerValue,
557
+ layout,
558
+ colSpan,
559
+ labelCol,
560
+ wrapperCol,
561
+ colon,
562
+ labelAlign,
563
+ printMode: true,
564
+ inForm: true,
565
+ } as any
566
+ }
567
+ >
568
+ <WrapperForm>
569
+ <AntdForm
570
+ className={className}
571
+ form={form}
572
+ layout={layout}
573
+ labelCol={layout === 'horizontal' ? labelCol : EMPTY_COL}
574
+ wrapperCol={layout === 'horizontal' ? wrapperCol : EMPTY_COL}
575
+ style={formStyle}
576
+ {...extendProps}
577
+ >
578
+ <FormChildren
579
+ formRef={formRef}
580
+ {...props}
581
+ engineApis={engineApis}
582
+ >
583
+ {props.children}
584
+ </FormChildren>
585
+ </AntdForm>
586
+ </WrapperForm>
587
+ </FormProvider>
588
+ </PrintContainer>
589
+ )}
590
+ </>
591
+ );
592
+ });
593
+
594
+ Form.defaultProps = {
595
+ extendProps: {},
596
+ style: {},
597
+ rowSpace: 16,
598
+ };
599
+
600
+ export default Form;
@@ -0,0 +1,14 @@
1
+ import { cloneElement } from 'react';
2
+
3
+ interface WrapperFormProps {
4
+ children: React.ReactElement;
5
+ }
6
+
7
+ const FORM_WRAPPER_CLASSNAME = 'ued-legacy-form-wrap';
8
+
9
+ const WrapperForm: React.FC<WrapperFormProps> = ({ children }) =>
10
+ cloneElement(children, {
11
+ className: `${FORM_WRAPPER_CLASSNAME} ${children.props.className || ''}`,
12
+ });
13
+
14
+ export default WrapperForm;
@@ -0,0 +1,15 @@
1
+ import { FormFields as Item, useForm } from '../utils';
2
+ import Form from './Form';
3
+
4
+ type FormType = typeof Form;
5
+
6
+ (Form as any).Item = Item;
7
+
8
+ (Form as any).useForm = useForm;
9
+
10
+ const formInstance = Form as FormType & {
11
+ Item: typeof Item;
12
+ useForm: typeof useForm;
13
+ };
14
+
15
+ export default formInstance;
@@ -0,0 +1,47 @@
1
+ import { isUndefined } from 'lodash';
2
+ import { useRef } from 'react';
3
+ import { useUpdateEffect } from '../utils/ahooks';
4
+ import { StatusType } from '../utils/formUtils/FormContext';
5
+ import useMonitor from './useMonitor';
6
+
7
+ export type FormStatusType = {
8
+ [key in StatusType]?: unknown;
9
+ };
10
+
11
+ const useSubscriptionStatus = (options: {
12
+ run: (type: StatusType, v: unknown) => void;
13
+ type: StatusType;
14
+ listened: unknown;
15
+ }) => {
16
+ const { run, type, listened } = options;
17
+ useUpdateEffect(() => {
18
+ if (!isUndefined(listened)) {
19
+ run(type, listened);
20
+ }
21
+ }, [listened]);
22
+ };
23
+
24
+ /**
25
+ * 表单状态管理
26
+ */
27
+ export const useFormStatus = (value: FormStatusType) => {
28
+ const refValue = useRef<FormStatusType>({});
29
+ refValue.current = value;
30
+
31
+ const { addListener, removeListener, execListeners } = useMonitor();
32
+
33
+ const run = (type: StatusType, v: unknown) => {
34
+ refValue.current[type] = v;
35
+ execListeners(v, type);
36
+ };
37
+
38
+ useSubscriptionStatus({ run, type: 'disabled', listened: value.disabled });
39
+ useSubscriptionStatus({ run, type: 'readonly', listened: value.readonly });
40
+
41
+ return {
42
+ addListener,
43
+ removeListener,
44
+ run,
45
+ status: refValue.current,
46
+ };
47
+ };
@@ -0,0 +1,40 @@
1
+ import { useCallback, useRef } from 'react';
2
+ import type { MonitorFn, StatusType } from '../utils/formUtils/FormContext';
3
+
4
+ const useMonitor = () => {
5
+ const monitor = useRef<MonitorFn[]>([]).current;
6
+
7
+ /**
8
+ * 增加监听事件
9
+ */
10
+ const addListener = useCallback((fn: MonitorFn) => {
11
+ if (!monitor.includes(fn)) {
12
+ monitor.push(fn);
13
+ }
14
+ }, []);
15
+
16
+ /**
17
+ * 移除监听事件
18
+ */
19
+ const removeListener = useCallback((fn: MonitorFn) => {
20
+ const index = monitor.findIndex((v) => v === fn);
21
+ if (index > -1) {
22
+ monitor.splice(index, 1);
23
+ }
24
+ }, []);
25
+
26
+ /**
27
+ * 执行监听事件
28
+ */
29
+ const execListeners = useCallback((v: unknown, type: StatusType) => {
30
+ monitor.forEach((fn) => fn(v, type));
31
+ }, []);
32
+
33
+ return {
34
+ addListener,
35
+ removeListener,
36
+ execListeners,
37
+ };
38
+ };
39
+
40
+ export default useMonitor;