@lingxiteam/ebe-utils 0.3.20 → 0.3.22

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 (370) 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/PreviewFile/index.less +200 -0
  9. package/lib/public/src/components/PreviewFile/index.tsx +787 -0
  10. package/lib/public/src/components/PreviewFile/utils.ts +90 -0
  11. package/lib/public/src/components/common/PreviewFile/index.less +200 -0
  12. package/lib/public/src/components/common/PreviewFile/index.tsx +787 -0
  13. package/lib/public/src/components/common/PreviewFile/utils.ts +90 -0
  14. package/lib/public/src/components/pcfactory/src/Alert/index.tsx +22 -0
  15. package/lib/public/src/components/pcfactory/src/Animation/index.tsx +186 -0
  16. package/lib/public/src/components/pcfactory/src/Animation/useAnimation.ts +270 -0
  17. package/lib/public/src/components/pcfactory/src/Animation/useBackgroundStyle.ts +74 -0
  18. package/lib/public/src/components/pcfactory/src/Audio/index.tsx +240 -0
  19. package/lib/public/src/components/pcfactory/src/BarChart/index.tsx +3 -0
  20. package/lib/public/src/components/pcfactory/src/Button/index.tsx +151 -0
  21. package/lib/public/src/components/pcfactory/src/Card/index.tsx +201 -0
  22. package/lib/public/src/components/pcfactory/src/Card/useExtendBtn.tsx +195 -0
  23. package/lib/public/src/components/pcfactory/src/Cascader/index.tsx +398 -0
  24. package/lib/public/src/components/pcfactory/src/ChartBar/index.tsx +15 -0
  25. package/lib/public/src/components/pcfactory/src/ChartBar/loader.tsx +12 -0
  26. package/lib/public/src/components/pcfactory/src/ChartLine/ChartLine.tsx +48 -0
  27. package/lib/public/src/components/pcfactory/src/ChartLine/PropsType.ts +88 -0
  28. package/lib/public/src/components/pcfactory/src/ChartLine/index.tsx +15 -0
  29. package/lib/public/src/components/pcfactory/src/ChartLine/loader.tsx +12 -0
  30. package/lib/public/src/components/pcfactory/src/Checkbox/index.tsx +144 -0
  31. package/lib/public/src/components/pcfactory/src/CheckboxGroup/index.tsx +319 -0
  32. package/lib/public/src/components/pcfactory/src/Collapse/index.tsx +195 -0
  33. package/lib/public/src/components/pcfactory/src/CollapsePanel/index.tsx +186 -0
  34. package/lib/public/src/components/pcfactory/src/Condition/index.tsx +22 -0
  35. package/lib/public/src/components/pcfactory/src/DatePicker/index.tsx +756 -0
  36. package/lib/public/src/components/pcfactory/src/Description/index.tsx +447 -0
  37. package/lib/public/src/components/pcfactory/src/Description/utils/getLabelSizeMode.ts +40 -0
  38. package/lib/public/src/components/pcfactory/src/Divider/components/CenterLineDivider/index.tsx +190 -0
  39. package/lib/public/src/components/pcfactory/src/Divider/components/CenterTabDivider/index.tsx +77 -0
  40. package/lib/public/src/components/pcfactory/src/Divider/components/LeftCardDivider/index.tsx +87 -0
  41. package/lib/public/src/components/pcfactory/src/Divider/components/LeftLineDivider/index.tsx +106 -0
  42. package/lib/public/src/components/pcfactory/src/Divider/components/LeftTabDivider/index.tsx +60 -0
  43. package/lib/public/src/components/pcfactory/src/Divider/components/LeftTopDivider/index.tsx +55 -0
  44. package/lib/public/src/components/pcfactory/src/Divider/components/LxDashed/index.module.less +10 -0
  45. package/lib/public/src/components/pcfactory/src/Divider/components/LxDashed/index.tsx +143 -0
  46. package/lib/public/src/components/pcfactory/src/Divider/components/LxSolid/index.module.less +10 -0
  47. package/lib/public/src/components/pcfactory/src/Divider/components/LxSolid/index.tsx +126 -0
  48. package/lib/public/src/components/pcfactory/src/Divider/index.tsx +210 -0
  49. package/lib/public/src/components/pcfactory/src/Dropdown/index.tsx +385 -0
  50. package/lib/public/src/components/pcfactory/src/DynamicTabs/PropsType.ts +31 -0
  51. package/lib/public/src/components/pcfactory/src/DynamicTabs/TabPage.tsx +63 -0
  52. package/lib/public/src/components/pcfactory/src/DynamicTabs/index.tsx +214 -0
  53. package/lib/public/src/components/pcfactory/src/Form/Form.tsx +600 -0
  54. package/lib/public/src/components/pcfactory/src/Form/WrapperForm.ts +14 -0
  55. package/lib/public/src/components/pcfactory/src/Form/index.tsx +15 -0
  56. package/lib/public/src/components/pcfactory/src/Form/useFormStatus.ts +47 -0
  57. package/lib/public/src/components/pcfactory/src/Form/useMonitor.ts +40 -0
  58. package/lib/public/src/components/pcfactory/src/FormGroup/TitleComp.tsx +107 -0
  59. package/lib/public/src/components/pcfactory/src/FormGroup/index.tsx +181 -0
  60. package/lib/public/src/components/pcfactory/src/FreeLayout/index.tsx +151 -0
  61. package/lib/public/src/components/pcfactory/src/Gantt/Gantt.tsx +460 -0
  62. package/lib/public/src/components/pcfactory/src/Gantt/const.ts +122 -0
  63. package/lib/public/src/components/pcfactory/src/Gantt/index.tsx +16 -0
  64. package/lib/public/src/components/pcfactory/src/Gantt/loader.tsx +12 -0
  65. package/lib/public/src/components/pcfactory/src/GridView/GridView.tsx +435 -0
  66. package/lib/public/src/components/pcfactory/src/GridView/index.tsx +24 -0
  67. package/lib/public/src/components/pcfactory/src/GridView/loader.tsx +12 -0
  68. package/lib/public/src/components/pcfactory/src/HorizontalView/index.tsx +32 -0
  69. package/lib/public/src/components/pcfactory/src/Icon/IconED/index.tsx +42 -0
  70. package/lib/public/src/components/pcfactory/src/Icon/PropsType.ts +57 -0
  71. package/lib/public/src/components/pcfactory/src/Icon/hooks/index.tsx +300 -0
  72. package/lib/public/src/components/pcfactory/src/Icon/index.tsx +69 -0
  73. package/lib/public/src/components/pcfactory/src/IconFont/index.tsx +24 -0
  74. package/lib/public/src/components/pcfactory/src/Img/BasicImage/index.tsx +90 -0
  75. package/lib/public/src/components/pcfactory/src/Img/assets/placeholder.png +0 -0
  76. package/lib/public/src/components/pcfactory/src/Img/index.tsx +91 -0
  77. package/lib/public/src/components/pcfactory/src/Input/index.tsx +425 -0
  78. package/lib/public/src/components/pcfactory/src/InputNumber/index.tsx +263 -0
  79. package/lib/public/src/components/pcfactory/src/LXPieChart/LXPieChart.tsx +23 -0
  80. package/lib/public/src/components/pcfactory/src/LXPieChart/PropsType.ts +11 -0
  81. package/lib/public/src/components/pcfactory/src/LXPieChart/index.less +6 -0
  82. package/lib/public/src/components/pcfactory/src/LXPieChart/index.tsx +15 -0
  83. package/lib/public/src/components/pcfactory/src/LXPieChart/loader.tsx +12 -0
  84. package/lib/public/src/components/pcfactory/src/LXRadarChart/LXRadarChat.tsx +25 -0
  85. package/lib/public/src/components/pcfactory/src/LXRadarChart/PropsType.ts +9 -0
  86. package/lib/public/src/components/pcfactory/src/LXRadarChart/index.less +7 -0
  87. package/lib/public/src/components/pcfactory/src/LXRadarChart/index.tsx +17 -0
  88. package/lib/public/src/components/pcfactory/src/LXRadarChart/loader.tsx +12 -0
  89. package/lib/public/src/components/pcfactory/src/Layout/index.tsx +130 -0
  90. package/lib/public/src/components/pcfactory/src/Layout/utils.ts +48 -0
  91. package/lib/public/src/components/pcfactory/src/LineChart/index.tsx +3 -0
  92. package/lib/public/src/components/pcfactory/src/Link/index.tsx +117 -0
  93. package/lib/public/src/components/pcfactory/src/LoopList/index.tsx +551 -0
  94. package/lib/public/src/components/pcfactory/src/Menu/index.tsx +422 -0
  95. package/lib/public/src/components/pcfactory/src/ModalSelect/BaseModalSelect.tsx +95 -0
  96. package/lib/public/src/components/pcfactory/src/ModalSelect/index.tsx +453 -0
  97. package/lib/public/src/components/pcfactory/src/MultipleSelect/index.tsx +3 -0
  98. package/lib/public/src/components/pcfactory/src/Pagination/index.tsx +104 -0
  99. package/lib/public/src/components/pcfactory/src/Password/index.tsx +88 -0
  100. package/lib/public/src/components/pcfactory/src/PictureVerifyCode/assets/placeholder.png +0 -0
  101. package/lib/public/src/components/pcfactory/src/PictureVerifyCode/index.tsx +76 -0
  102. package/lib/public/src/components/pcfactory/src/PieChart/index.tsx +3 -0
  103. package/lib/public/src/components/pcfactory/src/Progress/index.tsx +155 -0
  104. package/lib/public/src/components/pcfactory/src/QRCode/const.ts +5 -0
  105. package/lib/public/src/components/pcfactory/src/QRCode/index.tsx +146 -0
  106. package/lib/public/src/components/pcfactory/src/QuillEditor/QuillEditor.tsx +197 -0
  107. package/lib/public/src/components/pcfactory/src/QuillEditor/index.tsx +37 -0
  108. package/lib/public/src/components/pcfactory/src/QuillEditor/loader.ts +12 -0
  109. package/lib/public/src/components/pcfactory/src/RadarChart/RadarChartHook.ts +449 -0
  110. package/lib/public/src/components/pcfactory/src/RadarChart/RadarChartType.ts +39 -0
  111. package/lib/public/src/components/pcfactory/src/RadarChart/RadarECharts.tsx +86 -0
  112. package/lib/public/src/components/pcfactory/src/RadarChart/index.tsx +16 -0
  113. package/lib/public/src/components/pcfactory/src/RadarChart/loader.tsx +12 -0
  114. package/lib/public/src/components/pcfactory/src/RadarChart/radarDefaultConfig.js +55 -0
  115. package/lib/public/src/components/pcfactory/src/Radio/index.tsx +260 -0
  116. package/lib/public/src/components/pcfactory/src/RangePicker/index.tsx +3 -0
  117. package/lib/public/src/components/pcfactory/src/Rate/index.tsx +187 -0
  118. package/lib/public/src/components/pcfactory/src/ReactECharts/PropsType.ts +37 -0
  119. package/lib/public/src/components/pcfactory/src/ReactECharts/ReactECharts.tsx +672 -0
  120. package/lib/public/src/components/pcfactory/src/ReactECharts/index.tsx +26 -0
  121. package/lib/public/src/components/pcfactory/src/ReactECharts/loader.tsx +12 -0
  122. package/lib/public/src/components/pcfactory/src/RemoteComponent/components/FishRender.tsx +31 -0
  123. package/lib/public/src/components/pcfactory/src/RemoteComponent/components/ReactRender.tsx +55 -0
  124. package/lib/public/src/components/pcfactory/src/RemoteComponent/components/VueRender.tsx +32 -0
  125. package/lib/public/src/components/pcfactory/src/RemoteComponent/constant.ts +9 -0
  126. package/lib/public/src/components/pcfactory/src/RemoteComponent/index.tsx +82 -0
  127. package/lib/public/src/components/pcfactory/src/RemoteComponent/remote-component.config.ts +12 -0
  128. package/lib/public/src/components/pcfactory/src/Result/index.tsx +27 -0
  129. package/lib/public/src/components/pcfactory/src/RichTextEditor/LcdpUeditorMain.tsx +105 -0
  130. package/lib/public/src/components/pcfactory/src/RichTextEditor/RichTextEditor.tsx +234 -0
  131. package/lib/public/src/components/pcfactory/src/RichTextEditor/RichTextEditorMain.tsx +41 -0
  132. package/lib/public/src/components/pcfactory/src/RichTextEditor/index.tsx +33 -0
  133. package/lib/public/src/components/pcfactory/src/RichTextEditor/loader.ts +12 -0
  134. package/lib/public/src/components/pcfactory/src/Row/Row.tsx +66 -0
  135. package/lib/public/src/components/pcfactory/src/Row/index.tsx +9 -0
  136. package/lib/public/src/components/pcfactory/src/Row/loader.tsx +12 -0
  137. package/lib/public/src/components/pcfactory/src/Select/index.tsx +628 -0
  138. package/lib/public/src/components/pcfactory/src/Select/selectUtils.ts +257 -0
  139. package/lib/public/src/components/pcfactory/src/Slider/index.tsx +351 -0
  140. package/lib/public/src/components/pcfactory/src/StdUpload/DownloadProgress/DownloadProgress.tsx +27 -0
  141. package/lib/public/src/components/pcfactory/src/StdUpload/DownloadProgress/index.ts +3 -0
  142. package/lib/public/src/components/pcfactory/src/StdUpload/UploadItem.tsx +257 -0
  143. package/lib/public/src/components/pcfactory/src/StdUpload/assets/default.png +0 -0
  144. package/lib/public/src/components/pcfactory/src/StdUpload/assets/js.png +0 -0
  145. package/lib/public/src/components/pcfactory/src/StdUpload/assets/pdf.png +0 -0
  146. package/lib/public/src/components/pcfactory/src/StdUpload/assets/ppt.png +0 -0
  147. package/lib/public/src/components/pcfactory/src/StdUpload/assets/txt.png +0 -0
  148. package/lib/public/src/components/pcfactory/src/StdUpload/assets/word.png +0 -0
  149. package/lib/public/src/components/pcfactory/src/StdUpload/assets/xls.png +0 -0
  150. package/lib/public/src/components/pcfactory/src/StdUpload/assets/zip.png +0 -0
  151. package/lib/public/src/components/pcfactory/src/StdUpload/index.tsx +1050 -0
  152. package/lib/public/src/components/pcfactory/src/StdUpload/uploadItem.less +64 -0
  153. package/lib/public/src/components/pcfactory/src/Steps/constant/checkcircle.tsx +29 -0
  154. package/lib/public/src/components/pcfactory/src/Steps/constant/index.ts +2 -0
  155. package/lib/public/src/components/pcfactory/src/Steps/constant/vector.tsx +13 -0
  156. package/lib/public/src/components/pcfactory/src/Steps/index.tsx +343 -0
  157. package/lib/public/src/components/pcfactory/src/SuperSelect/ComSelect.tsx +538 -0
  158. package/lib/public/src/components/pcfactory/src/SuperSelect/index.tsx +127 -0
  159. package/lib/public/src/components/pcfactory/src/SuperSelect/loader.tsx +12 -0
  160. package/lib/public/src/components/pcfactory/src/Swiper/index.tsx +184 -0
  161. package/lib/public/src/components/pcfactory/src/Switch/index.tsx +219 -0
  162. package/lib/public/src/components/pcfactory/src/TabPane/index.tsx +145 -0
  163. package/lib/public/src/components/pcfactory/src/Table/BodyCell/index.tsx +278 -0
  164. package/lib/public/src/components/pcfactory/src/Table/EditComponent/index.tsx +554 -0
  165. package/lib/public/src/components/pcfactory/src/Table/FormatCell/GhostTag/index.tsx +34 -0
  166. package/lib/public/src/components/pcfactory/src/Table/FormatCell/Hyperlink/index.tsx +26 -0
  167. package/lib/public/src/components/pcfactory/src/Table/FormatCell/PointTag/index.tsx +41 -0
  168. package/lib/public/src/components/pcfactory/src/Table/FormatCell/PureColourFill/index.tsx +32 -0
  169. package/lib/public/src/components/pcfactory/src/Table/FormatCell/PureFadeColourTag/index.tsx +34 -0
  170. package/lib/public/src/components/pcfactory/src/Table/FormatCell/index.tsx +227 -0
  171. package/lib/public/src/components/pcfactory/src/Table/HeaderCell/HeaderCellTitle/index.tsx +63 -0
  172. package/lib/public/src/components/pcfactory/src/Table/HeaderCell/index.tsx +32 -0
  173. package/lib/public/src/components/pcfactory/src/Table/TableHead/index.tsx +501 -0
  174. package/lib/public/src/components/pcfactory/src/Table/TableSummaryRow/index.tsx +46 -0
  175. package/lib/public/src/components/pcfactory/src/Table/constant.ts +73 -0
  176. package/lib/public/src/components/pcfactory/src/Table/hooks/index.ts +32 -0
  177. package/lib/public/src/components/pcfactory/src/Table/hooks/useCMDActions.ts +325 -0
  178. package/lib/public/src/components/pcfactory/src/Table/hooks/useCheckStrict.ts +176 -0
  179. package/lib/public/src/components/pcfactory/src/Table/hooks/useColumns.tsx +1851 -0
  180. package/lib/public/src/components/pcfactory/src/Table/hooks/useCommon.ts +39 -0
  181. package/lib/public/src/components/pcfactory/src/Table/hooks/useDataSource.ts +201 -0
  182. package/lib/public/src/components/pcfactory/src/Table/hooks/useExpandable.tsx +324 -0
  183. package/lib/public/src/components/pcfactory/src/Table/hooks/useFilter.tsx +274 -0
  184. package/lib/public/src/components/pcfactory/src/Table/hooks/useFormatCell.ts +309 -0
  185. package/lib/public/src/components/pcfactory/src/Table/hooks/usePagination.ts +104 -0
  186. package/lib/public/src/components/pcfactory/src/Table/hooks/useRowEdit.ts +302 -0
  187. package/lib/public/src/components/pcfactory/src/Table/hooks/useRowMerge.ts +93 -0
  188. package/lib/public/src/components/pcfactory/src/Table/hooks/useScroll.ts +120 -0
  189. package/lib/public/src/components/pcfactory/src/Table/hooks/useSelection.ts +467 -0
  190. package/lib/public/src/components/pcfactory/src/Table/hooks/useSort.ts +39 -0
  191. package/lib/public/src/components/pcfactory/src/Table/hooks/useSummaryCol.ts +191 -0
  192. package/lib/public/src/components/pcfactory/src/Table/index.tsx +525 -0
  193. package/lib/public/src/components/pcfactory/src/Table/utils/SequenceId.ts +104 -0
  194. package/lib/public/src/components/pcfactory/src/Table/utils/index.ts +442 -0
  195. package/lib/public/src/components/pcfactory/src/Tabs/index.tsx +209 -0
  196. package/lib/public/src/components/pcfactory/src/Tag/index.tsx +39 -0
  197. package/lib/public/src/components/pcfactory/src/Text/index.tsx +191 -0
  198. package/lib/public/src/components/pcfactory/src/TextArea/ForIETextArea.tsx +96 -0
  199. package/lib/public/src/components/pcfactory/src/TextArea/index.tsx +255 -0
  200. package/lib/public/src/components/pcfactory/src/TimePicker/index.tsx +3 -0
  201. package/lib/public/src/components/pcfactory/src/TlrView/index.tsx +3 -0
  202. package/lib/public/src/components/pcfactory/src/TooltipView/PropsType.ts +22 -0
  203. package/lib/public/src/components/pcfactory/src/TooltipView/TooltipViewED/index.tsx +10 -0
  204. package/lib/public/src/components/pcfactory/src/TooltipView/hooks/index.tsx +90 -0
  205. package/lib/public/src/components/pcfactory/src/TooltipView/index.tsx +13 -0
  206. package/lib/public/src/components/pcfactory/src/Transfer/index.tsx +753 -0
  207. package/lib/public/src/components/pcfactory/src/Tree/TreeNodeMenu/index.tsx +102 -0
  208. package/lib/public/src/components/pcfactory/src/Tree/index.tsx +1303 -0
  209. package/lib/public/src/components/pcfactory/src/TreeSelect/index.tsx +639 -0
  210. package/lib/public/src/components/pcfactory/src/TreeTable/hooks/index.ts +4 -0
  211. package/lib/public/src/components/pcfactory/src/TreeTable/hooks/useCMDAction.ts +82 -0
  212. package/lib/public/src/components/pcfactory/src/TreeTable/hooks/useExpandable.tsx +61 -0
  213. package/lib/public/src/components/pcfactory/src/TreeTable/index.tsx +273 -0
  214. package/lib/public/src/components/pcfactory/src/Upload/Upload.tsx +740 -0
  215. package/lib/public/src/components/pcfactory/src/Upload/index.tsx +29 -0
  216. package/lib/public/src/components/pcfactory/src/Upload/loader.tsx +13 -0
  217. package/lib/public/src/components/pcfactory/src/VerificationCode/assets/placeholder.png +0 -0
  218. package/lib/public/src/components/pcfactory/src/VerificationCode/index.tsx +297 -0
  219. package/lib/public/src/components/pcfactory/src/VerticalView/index.tsx +25 -0
  220. package/lib/public/src/components/pcfactory/src/VideoPlayer/index.tsx +159 -0
  221. package/lib/public/src/components/pcfactory/src/View/index.tsx +150 -0
  222. package/lib/public/src/components/pcfactory/src/View/useBackgroundStyle.ts +75 -0
  223. package/lib/public/src/components/pcfactory/src/VirtualGroup/index.tsx +16 -0
  224. package/lib/public/src/components/pcfactory/src/Webview/index.tsx +104 -0
  225. package/lib/public/src/components/pcfactory/src/index.component.ts +253 -0
  226. package/lib/public/src/components/pcfactory/src/styles/common.less +107 -0
  227. package/lib/public/src/components/pcfactory/src/styles/compatible.less +976 -0
  228. package/lib/public/src/components/pcfactory/src/styles/components/Alert.less +25 -0
  229. package/lib/public/src/components/pcfactory/src/styles/components/Audio.less +198 -0
  230. package/lib/public/src/components/pcfactory/src/styles/components/Button.less +32 -0
  231. package/lib/public/src/components/pcfactory/src/styles/components/Card.less +155 -0
  232. package/lib/public/src/components/pcfactory/src/styles/components/Cascader.less +54 -0
  233. package/lib/public/src/components/pcfactory/src/styles/components/Checkbox.less +7 -0
  234. package/lib/public/src/components/pcfactory/src/styles/components/Collapse.less +214 -0
  235. package/lib/public/src/components/pcfactory/src/styles/components/DatePicker.less +22 -0
  236. package/lib/public/src/components/pcfactory/src/styles/components/Description.less +64 -0
  237. package/lib/public/src/components/pcfactory/src/styles/components/Divider.less +530 -0
  238. package/lib/public/src/components/pcfactory/src/styles/components/Drawer.less +54 -0
  239. package/lib/public/src/components/pcfactory/src/styles/components/Dropdown.less +11 -0
  240. package/lib/public/src/components/pcfactory/src/styles/components/DynamicDataContainer.less +16 -0
  241. package/lib/public/src/components/pcfactory/src/styles/components/DynamicTabs.less +254 -0
  242. package/lib/public/src/components/pcfactory/src/styles/components/Form.less +265 -0
  243. package/lib/public/src/components/pcfactory/src/styles/components/FormGroup.less +111 -0
  244. package/lib/public/src/components/pcfactory/src/styles/components/Gantt.less +139 -0
  245. package/lib/public/src/components/pcfactory/src/styles/components/GridView.less +62 -0
  246. package/lib/public/src/components/pcfactory/src/styles/components/Icon.less +20 -0
  247. package/lib/public/src/components/pcfactory/src/styles/components/Input.less +164 -0
  248. package/lib/public/src/components/pcfactory/src/styles/components/InputNumber.less +124 -0
  249. package/lib/public/src/components/pcfactory/src/styles/components/InputPassword.less +3 -0
  250. package/lib/public/src/components/pcfactory/src/styles/components/Link.less +4 -0
  251. package/lib/public/src/components/pcfactory/src/styles/components/LoopList.less +67 -0
  252. package/lib/public/src/components/pcfactory/src/styles/components/Menu.less +54 -0
  253. package/lib/public/src/components/pcfactory/src/styles/components/ModalSelect.less +42 -0
  254. package/lib/public/src/components/pcfactory/src/styles/components/Popconfirm.less +7 -0
  255. package/lib/public/src/components/pcfactory/src/styles/components/Progress.less +57 -0
  256. package/lib/public/src/components/pcfactory/src/styles/components/QuillEditor.less +15 -0
  257. package/lib/public/src/components/pcfactory/src/styles/components/Radio.less +7 -0
  258. package/lib/public/src/components/pcfactory/src/styles/components/Rate.less +16 -0
  259. package/lib/public/src/components/pcfactory/src/styles/components/Result.less +26 -0
  260. package/lib/public/src/components/pcfactory/src/styles/components/Select.less +146 -0
  261. package/lib/public/src/components/pcfactory/src/styles/components/Slider.less +78 -0
  262. package/lib/public/src/components/pcfactory/src/styles/components/StdUpload.less +225 -0
  263. package/lib/public/src/components/pcfactory/src/styles/components/Step.less +91 -0
  264. package/lib/public/src/components/pcfactory/src/styles/components/SuperSelect.less +83 -0
  265. package/lib/public/src/components/pcfactory/src/styles/components/Swiper.less +106 -0
  266. package/lib/public/src/components/pcfactory/src/styles/components/Switch.less +49 -0
  267. package/lib/public/src/components/pcfactory/src/styles/components/Table.less +1229 -0
  268. package/lib/public/src/components/pcfactory/src/styles/components/Tabs.less +291 -0
  269. package/lib/public/src/components/pcfactory/src/styles/components/Tag.less +107 -0
  270. package/lib/public/src/components/pcfactory/src/styles/components/TextArea.less +12 -0
  271. package/lib/public/src/components/pcfactory/src/styles/components/TooltipView.less +43 -0
  272. package/lib/public/src/components/pcfactory/src/styles/components/Transfer.less +155 -0
  273. package/lib/public/src/components/pcfactory/src/styles/components/Tree.less +329 -0
  274. package/lib/public/src/components/pcfactory/src/styles/components/TreeSelect.less +65 -0
  275. package/lib/public/src/components/pcfactory/src/styles/components/Upload.less +26 -0
  276. package/lib/public/src/components/pcfactory/src/styles/components/VerificationCode.less +162 -0
  277. package/lib/public/src/components/pcfactory/src/styles/components/Webview.less +31 -0
  278. package/lib/public/src/components/pcfactory/src/styles/index.less +10 -0
  279. package/lib/public/src/components/pcfactory/src/styles/index.ued.less +65 -0
  280. package/lib/public/src/components/pcfactory/src/styles/theme/variables/antdVariables.less +84 -0
  281. package/lib/public/src/components/pcfactory/src/styles/theme/variables/common.less +9 -0
  282. package/lib/public/src/components/pcfactory/src/styles/theme/variables/customVariables.less +35 -0
  283. package/lib/public/src/components/pcfactory/src/styles/theme/variables/index.less +2 -0
  284. package/lib/public/src/components/pcfactory/src/utils/ChannelContainer.tsx +150 -0
  285. package/lib/public/src/components/pcfactory/src/utils/ChildRender.ts +103 -0
  286. package/lib/public/src/components/pcfactory/src/utils/CustomModule.tsx +134 -0
  287. package/lib/public/src/components/pcfactory/src/utils/DummyFormContext.ts +136 -0
  288. package/lib/public/src/components/pcfactory/src/utils/Empty/customLocale.tsx +6 -0
  289. package/lib/public/src/components/pcfactory/src/utils/Empty/empty.tsx +37 -0
  290. package/lib/public/src/components/pcfactory/src/utils/LoaderHelper.tsx +29 -0
  291. package/lib/public/src/components/pcfactory/src/utils/PropsType.ts +21 -0
  292. package/lib/public/src/components/pcfactory/src/utils/WithSyncValue.ts +218 -0
  293. package/lib/public/src/components/pcfactory/src/utils/ahooks/index.ts +22 -0
  294. package/lib/public/src/components/pcfactory/src/utils/ahooks/useCreation.ts +23 -0
  295. package/lib/public/src/components/pcfactory/src/utils/ahooks/useDeepCompareEffect.ts +27 -0
  296. package/lib/public/src/components/pcfactory/src/utils/ahooks/useMap.ts +46 -0
  297. package/lib/public/src/components/pcfactory/src/utils/ahooks/useMemoizedFn.ts +27 -0
  298. package/lib/public/src/components/pcfactory/src/utils/ahooks/usePrevious.ts +19 -0
  299. package/lib/public/src/components/pcfactory/src/utils/ahooks/useSafeState.ts +26 -0
  300. package/lib/public/src/components/pcfactory/src/utils/ahooks/useSetState.ts +26 -0
  301. package/lib/public/src/components/pcfactory/src/utils/ahooks/useUnmountedRef.ts +14 -0
  302. package/lib/public/src/components/pcfactory/src/utils/ahooks/useUpdate.ts +9 -0
  303. package/lib/public/src/components/pcfactory/src/utils/ahooks/useUpdateEffect.ts +16 -0
  304. package/lib/public/src/components/pcfactory/src/utils/basicStatusTransfer.ts +32 -0
  305. package/lib/public/src/components/pcfactory/src/utils/common.ts +367 -0
  306. package/lib/public/src/components/pcfactory/src/utils/dynamicUtils/DynamicContext.tsx +106 -0
  307. package/lib/public/src/components/pcfactory/src/utils/formUtils/FormContext.tsx +131 -0
  308. package/lib/public/src/components/pcfactory/src/utils/formUtils/FormFields.tsx +646 -0
  309. package/lib/public/src/components/pcfactory/src/utils/formUtils/WrapperContainer.tsx +123 -0
  310. package/lib/public/src/components/pcfactory/src/utils/formUtils/cmdHelper.ts +411 -0
  311. package/lib/public/src/components/pcfactory/src/utils/formUtils/common.ts +28 -0
  312. package/lib/public/src/components/pcfactory/src/utils/getExportDefaultObj.ts +11 -0
  313. package/lib/public/src/components/pcfactory/src/utils/hooks/useCommonImperativeHandle.ts +140 -0
  314. package/lib/public/src/components/pcfactory/src/utils/hooks/useDataMask.ts +83 -0
  315. package/lib/public/src/components/pcfactory/src/utils/hooks/useDoubleClick.ts +63 -0
  316. package/lib/public/src/components/pcfactory/src/utils/hooks/useFuncExpExecute.ts +86 -0
  317. package/lib/public/src/components/pcfactory/src/utils/hooks/useGetStaticAttrData.ts +41 -0
  318. package/lib/public/src/components/pcfactory/src/utils/hooks/useHiddenStyle.ts +43 -0
  319. package/lib/public/src/components/pcfactory/src/utils/hooks/useInitReactQuill.ts +90 -0
  320. package/lib/public/src/components/pcfactory/src/utils/hooks/useListenState.ts +26 -0
  321. package/lib/public/src/components/pcfactory/src/utils/hooks/useLocale.ts +129 -0
  322. package/lib/public/src/components/pcfactory/src/utils/hooks/usePrintMode.tsx +80 -0
  323. package/lib/public/src/components/pcfactory/src/utils/hooks/useRules.ts +89 -0
  324. package/lib/public/src/components/pcfactory/src/utils/hooks/useTestHelper.ts +26 -0
  325. package/lib/public/src/components/pcfactory/src/utils/hooks/useToggleBoolean.ts +33 -0
  326. package/lib/public/src/components/pcfactory/src/utils/index.ts +19 -0
  327. package/lib/public/src/components/pcfactory/src/utils/polyfill.js +305 -0
  328. package/lib/public/src/components/pcfactory/src/utils/renderReadOnly.tsx +105 -0
  329. package/lib/public/src/components/pcfactory/src/variables.ts +2 -0
  330. package/lib/public/src/components/pcfactory/typings.d.ts +27 -0
  331. package/lib/public/src/hooks/useGenerateContext.ts +73 -0
  332. package/lib/public/src/styles/common.less +41 -0
  333. package/lib/public/src/styles/index.less +4 -0
  334. package/lib/public/src/styles/index.ts +1 -0
  335. package/lib/public/src/styles/theme/variables.less +130 -0
  336. package/lib/public/src/utils/LcdpSpin/index.less +13 -0
  337. package/lib/public/src/utils/LcdpSpin/index.tsx +12 -0
  338. package/lib/public/src/utils/ModalManager/Drawer/index.less +30 -0
  339. package/lib/public/src/utils/ModalManager/Drawer/index.tsx +109 -0
  340. package/lib/public/src/utils/ModalManager/Modal/index.less +7 -0
  341. package/lib/public/src/utils/ModalManager/Modal/index.tsx +96 -0
  342. package/lib/public/src/utils/ModalManager/index.tsx +278 -0
  343. package/lib/public/src/utils/Security/encipher/des.ts +52 -0
  344. package/lib/public/src/utils/customFuncMapping.ts +107 -0
  345. package/lib/public/src/utils/formUtils.ts +458 -0
  346. package/lib/public/src/utils/i18n/i18n.ts +15 -0
  347. package/lib/public/src/utils/i18n/index.ts +7 -0
  348. package/lib/public/src/utils/i18n/locale/app/en_US.ts +77 -0
  349. package/lib/public/src/utils/i18n/locale/app/index.ts +9 -0
  350. package/lib/public/src/utils/i18n/locale/app/otherLocale.ts +2 -0
  351. package/lib/public/src/utils/i18n/locale/app/zh_CN.ts +65 -0
  352. package/lib/public/src/utils/i18n/locale/app/zh_HK.ts +66 -0
  353. package/lib/public/src/utils/i18n/locale/base/en_US.ts +449 -0
  354. package/lib/public/src/utils/i18n/locale/base/index.ts +5 -0
  355. package/lib/public/src/utils/i18n/locale/base/zh_CN.ts +413 -0
  356. package/lib/public/src/utils/i18n/locale/base/zh_HK.ts +411 -0
  357. package/lib/public/src/utils/i18n/locale/pc/en_US.ts +131 -0
  358. package/lib/public/src/utils/i18n/locale/pc/index.ts +9 -0
  359. package/lib/public/src/utils/i18n/locale/pc/otherLocale.ts +2 -0
  360. package/lib/public/src/utils/i18n/locale/pc/zh_CN.ts +105 -0
  361. package/lib/public/src/utils/i18n/locale/pc/zh_HK.ts +105 -0
  362. package/lib/public/src/utils/i18n/localeMonitor.ts +71 -0
  363. package/lib/public/src/utils/i18n/locales.ts +30 -0
  364. package/lib/public/src/utils/i18n/replaceMessage.ts +29 -0
  365. package/lib/public/src/utils/i18n/types.ts +2 -0
  366. package/lib/public/src/utils/i18n/useLocale.ts +129 -0
  367. package/lib/public/src/utils/messageApi.ts +93 -0
  368. package/lib/public/src/utils/useTool.ts +428 -0
  369. package/package.json +2 -2
  370. /package/lib/public/src/utils/functors/{dateAdd.ts → DATEADD.ts} +0 -0
@@ -0,0 +1,300 @@
1
+ import { createFromIconfontCN } from '@ant-design/icons';
2
+ import { Icon as LegacyIcon } from '@lingxiteam/icons';
3
+ import classnames from 'classnames';
4
+ import { useMemo } from 'react';
5
+ import { useLocale } from '../../utils/hooks/useLocale';
6
+ import { IconCfg, UseIconProps } from '../PropsType';
7
+
8
+ export const ICON_FILE_IMAGE = 'ICON_IMAGE';
9
+ export const ICON_FILE_ICONFONT = 'ICONFONT';
10
+
11
+ /**
12
+ * 判断 icon 配置是否有效
13
+ * 注:需要与下述渲染判断逻辑保持同步!
14
+ * @param icon
15
+ */
16
+ export const handleIsValidIconCfg = (icon: IconCfg) => {
17
+ if (icon?.svgContent) {
18
+ return true;
19
+ }
20
+
21
+ if (icon?.fontAddress) {
22
+ return true;
23
+ }
24
+
25
+ if (icon?.iconFile && Object.keys(icon.iconFile).length > 0) {
26
+ if (
27
+ [ICON_FILE_ICONFONT, ICON_FILE_IMAGE].includes(
28
+ icon?.iconFile?.fileSubType,
29
+ )
30
+ ) {
31
+ return true;
32
+ }
33
+ return false;
34
+ }
35
+
36
+ if (icon?.iconFileInfo && Object.keys(icon.iconFileInfo).length > 0) {
37
+ const { svgContent, materialId, fileName } = icon.iconFileInfo || {};
38
+ if (svgContent) {
39
+ return true;
40
+ }
41
+ if (materialId && fileName) {
42
+ return true;
43
+ }
44
+ return false;
45
+ }
46
+
47
+ if (icon?.isIconFont) {
48
+ return true;
49
+ }
50
+
51
+ if (icon?.type && icon?.theme) {
52
+ return true;
53
+ }
54
+
55
+ return false;
56
+ };
57
+
58
+ const useIcon = (props: UseIconProps) => {
59
+ const {
60
+ isUsePrimary: nIsUsePrimary,
61
+ rotate,
62
+ iconItems,
63
+ mode,
64
+ icon: myIcon = {},
65
+ placeholder = null,
66
+ getFileIconUrl = () => {},
67
+ getDesignPlatormIconUrl = () => {},
68
+
69
+ // ---- FIXME: 以下配置暂时保留,但新功能请从 icon 传入,禁止使用-----
70
+ type: nType,
71
+ theme: nTheme,
72
+ isIconFont: nIsIconFont,
73
+ fontAddress: nFontAddress,
74
+ svgContent: nSvgContent,
75
+ iconFileInfo: nIconFileInfo,
76
+ iconFile: nIconFile,
77
+ // ----------------
78
+
79
+ visible = true,
80
+ getEngineApis,
81
+ // hidden, // TODO: 不知道做什么用?
82
+ ...resProps
83
+ } = props;
84
+
85
+ const { getLocale } = useLocale(getEngineApis?.());
86
+
87
+ const {
88
+ type,
89
+ theme,
90
+ isIconFont,
91
+ fontAddress,
92
+ svgContent,
93
+ iconFileInfo,
94
+ iconFile,
95
+ isUsePrimary,
96
+ color,
97
+ } = useMemo(() => {
98
+ const iconInfo =
99
+ Array.isArray(iconItems) &&
100
+ (iconItems.find((c) => c.rule) || iconItems[0]);
101
+ if (mode === 'custom' && iconInfo && !myIcon?.isAction) {
102
+ return {
103
+ type: iconInfo?.icon?.type,
104
+ theme: iconInfo?.icon?.theme,
105
+ isIconFont: iconInfo?.icon?.isIconFont,
106
+ fontAddress: iconInfo?.icon?.fontAddress,
107
+ svgContent: iconInfo?.icon?.svgContent,
108
+ iconFileInfo: iconInfo?.icon?.iconFileInfo,
109
+ iconFile: iconInfo?.icon?.iconFile,
110
+ isUsePrimary: iconInfo?.isUsePrimary,
111
+ color: iconInfo?.color,
112
+ };
113
+ }
114
+ return {
115
+ type: myIcon.type || nType,
116
+ theme: myIcon.theme || nTheme,
117
+ isIconFont: myIcon.isIconFont || nIsIconFont,
118
+ fontAddress: myIcon.fontAddress || nFontAddress,
119
+ svgContent: myIcon.svgContent || nSvgContent,
120
+ iconFileInfo: myIcon.iconFileInfo || nIconFileInfo,
121
+ iconFile: myIcon.iconFile || nIconFile,
122
+ isUsePrimary: nIsUsePrimary,
123
+ };
124
+ }, [
125
+ iconItems,
126
+ mode,
127
+ JSON.stringify(myIcon),
128
+ nIconFile,
129
+ nIconFileInfo,
130
+ nSvgContent,
131
+ nFontAddress,
132
+ nIsIconFont,
133
+ nTheme,
134
+ nType,
135
+ nIsUsePrimary,
136
+ ]);
137
+
138
+ const renderIcon = () => {
139
+ if (svgContent) {
140
+ return (
141
+ <div
142
+ // eslint-disable-next-line react/no-danger
143
+ dangerouslySetInnerHTML={{
144
+ __html: svgContent,
145
+ }}
146
+ />
147
+ );
148
+ }
149
+
150
+ const _style = {
151
+ ...resProps?.style,
152
+ color: isUsePrimary ? undefined : color || resProps.style?.color,
153
+ };
154
+
155
+ // 图标来源于 iconfont 在线
156
+ if (fontAddress) {
157
+ const IconFont = createFromIconfontCN({
158
+ scriptUrl: fontAddress,
159
+ });
160
+ return (
161
+ <IconFont
162
+ type={type}
163
+ rotate={rotate}
164
+ {...resProps}
165
+ style={_style}
166
+ className={`ued-icon ${resProps?.className || ''} ${
167
+ isUsePrimary ? 'fill-primary' : ''
168
+ }`}
169
+ />
170
+ );
171
+ }
172
+
173
+ // 图标来源于 文件资源
174
+ if (iconFile && Object.keys(iconFile).length > 0) {
175
+ const { fileId, fileCode, fileHttp } = iconFile;
176
+ const { getFileIconUrlByCode, getFileIconUrlById } =
177
+ getFileIconUrl() || {};
178
+
179
+ let iconUrl;
180
+ if (fileId && typeof getFileIconUrlById === 'function') {
181
+ iconUrl = getFileIconUrlById(fileId);
182
+ } else if (fileCode && typeof getFileIconUrlByCode === 'function') {
183
+ iconUrl = getFileIconUrlByCode(fileCode);
184
+ } else if (fileHttp) {
185
+ iconUrl = fileHttp;
186
+ }
187
+
188
+ switch (iconFile?.fileSubType) {
189
+ // 文件是图片
190
+ case ICON_FILE_IMAGE:
191
+ return (
192
+ <img
193
+ alt={getLocale?.('icon.imgFormatWarning')}
194
+ src={iconUrl}
195
+ {...resProps}
196
+ style={{
197
+ ...(resProps.style || {}),
198
+ color: isUsePrimary
199
+ ? undefined
200
+ : color || resProps.style?.color,
201
+ width: resProps?.style?.fontSize,
202
+ height: resProps?.style?.fontSize,
203
+ }}
204
+ className={`ued-icon ${resProps?.className || ''} ${
205
+ isUsePrimary ? 'fill-primary' : ''
206
+ }`}
207
+ />
208
+ );
209
+ // 文件是 iconfont.js
210
+ case ICON_FILE_ICONFONT: {
211
+ const IconFont = createFromIconfontCN({
212
+ scriptUrl: iconUrl,
213
+ });
214
+ return (
215
+ <IconFont
216
+ type={type}
217
+ rotate={rotate}
218
+ {...resProps}
219
+ style={_style}
220
+ className={`ued-icon ${resProps?.className || ''} ${
221
+ isUsePrimary ? 'fill-primary' : ''
222
+ }`}
223
+ />
224
+ );
225
+ }
226
+ default:
227
+ return placeholder;
228
+ }
229
+ }
230
+
231
+ // 图标来源于 设计平台
232
+ if (iconFileInfo && Object.keys(iconFileInfo).length > 0) {
233
+ const { svgContent, materialId, fileName } = iconFileInfo || {};
234
+ const designPlatformiconCls = 'ued-icon-of-design-platform';
235
+ if (svgContent) {
236
+ return (
237
+ <span
238
+ style={_style}
239
+ className={classnames(
240
+ 'anticon',
241
+ `ued-icon ${designPlatformiconCls} ${resProps?.className || ''}`,
242
+ )}
243
+ // eslint-disable-next-line react/no-danger
244
+ dangerouslySetInnerHTML={{ __html: svgContent }}
245
+ />
246
+ );
247
+ }
248
+ if (materialId && fileName) {
249
+ const iconUrl = getDesignPlatormIconUrl(materialId, fileName);
250
+ return (
251
+ <img
252
+ className={`ued-icon ${designPlatformiconCls} ${
253
+ resProps?.className || ''
254
+ }`}
255
+ src={iconUrl}
256
+ alt=""
257
+ />
258
+ );
259
+ }
260
+ return placeholder;
261
+ }
262
+
263
+ // 存量存在项目本地的 iconfont 配置数据 ??
264
+ if (isIconFont) {
265
+ return (
266
+ <svg
267
+ style={_style}
268
+ aria-hidden="true"
269
+ className={`ued-icon ${resProps?.className || ''} ${
270
+ isUsePrimary ? 'fill-primary' : ''
271
+ }`}
272
+ >
273
+ <use xlinkHref={`#${type}`} />
274
+ </svg>
275
+ );
276
+ }
277
+
278
+ // 其他认为,图标为 antd 默认内置图标
279
+ if (type && theme) {
280
+ return (
281
+ <LegacyIcon
282
+ type={type}
283
+ theme={theme}
284
+ rotate={rotate}
285
+ {...resProps}
286
+ style={_style}
287
+ className={`ued-icon ${resProps?.className || ''} ${
288
+ isUsePrimary ? 'fill-primary' : ''
289
+ }`}
290
+ />
291
+ );
292
+ }
293
+
294
+ return placeholder;
295
+ };
296
+
297
+ return visible ? renderIcon() : null;
298
+ };
299
+
300
+ export { useIcon };
@@ -0,0 +1,69 @@
1
+ import { LingxiForwardRef } from '@lingxiteam/types';
2
+ import { useImperativeHandle, useMemo, useState } from 'react';
3
+ import { useIcon } from './hooks';
4
+ import type { IconProps } from './PropsType';
5
+
6
+ const MyIcon = LingxiForwardRef<any, IconProps>((props, ref) => {
7
+ const {
8
+ visible = true,
9
+ engineApis: receivedEngineApis,
10
+ getEngineApis,
11
+ $$componentItem,
12
+ className = '',
13
+ ...restProps
14
+ } = props;
15
+
16
+ const appId = $$componentItem?.appId || props.appId;
17
+
18
+ const [changeContent, setChangeContent] = useState({});
19
+
20
+ const engineApis = receivedEngineApis || getEngineApis?.() || {};
21
+
22
+ const myClassName = useMemo(() => {
23
+ if ($$componentItem?.type === 'Icon') {
24
+ /**
25
+ * 用于主题,如果是单独使用的是,在className 增加一个变量,防止在主题设置图标的时候,影响影响引用图标的其他控件
26
+ */
27
+ return `pcFactory-icon ${className || ''}`;
28
+ }
29
+ return className;
30
+ }, [className]);
31
+
32
+ useImperativeHandle(ref, () => ({
33
+ changeContent(_content: any) {
34
+ setChangeContent({ icon: { ..._content, type: _content.iconType } });
35
+ },
36
+ }));
37
+
38
+ const getFileIconUrl = () => {
39
+ return {
40
+ getFileIconUrlByCode: (fileCode: string) =>
41
+ engineApis?.service?.getAppFileUrlByFileCode(fileCode, { appId }),
42
+ };
43
+ };
44
+
45
+ const getDesignPlatormIconUrl = () => {
46
+ return engineApis?.service?.getMaterialFile;
47
+ };
48
+
49
+ if (restProps?.style?.fill) {
50
+ restProps.style.color = restProps.style.fill;
51
+ }
52
+
53
+ const icon = useIcon({
54
+ ...restProps,
55
+ ...changeContent,
56
+ className: myClassName,
57
+ getFileIconUrl,
58
+ getDesignPlatormIconUrl,
59
+ getEngineApis,
60
+ });
61
+
62
+ if (!visible) {
63
+ return null;
64
+ }
65
+
66
+ return icon;
67
+ });
68
+
69
+ export default MyIcon;
@@ -0,0 +1,24 @@
1
+ import type { FC } from 'react';
2
+ import React from 'react';
3
+
4
+ interface IconFontProps extends React.HTMLProps<HTMLDivElement> {
5
+ iconClass?: any;
6
+ }
7
+
8
+ const IconFont: FC<IconFontProps> = (props) => {
9
+ const { className, style, iconClass, width = 13, height = 13 } = props;
10
+
11
+ return (
12
+ <svg
13
+ className={className} // eslint-disable-line
14
+ style={style}
15
+ aria-hidden="true"
16
+ width={width}
17
+ height={height}
18
+ >
19
+ <use xlinkHref={`#${iconClass}`} />
20
+ </svg>
21
+ );
22
+ };
23
+
24
+ export default IconFont;
@@ -0,0 +1,90 @@
1
+ import { useEffect, useRef, useState } from 'react';
2
+
3
+ const MyImage = (props: any) => {
4
+ const {
5
+ defaultSrc,
6
+ errorSrc,
7
+ alt,
8
+ getContainerStyle,
9
+ imgDisplay,
10
+ style,
11
+ ...restProps
12
+ } = props;
13
+ const imageRef = useRef<HTMLImageElement>(null);
14
+ const [src, setSrc] = useState(props.src);
15
+ const [imgStyle, setImgStyle] = useState({});
16
+ const [complete, setComplete] = useState(false);
17
+ useEffect(() => {
18
+ if (props.src) {
19
+ setSrc(props.src);
20
+ }
21
+ }, [props.src]);
22
+
23
+ // useEffect(() => {
24
+ // if (imageRef.current) {
25
+ // if (props.src) {
26
+ // imageRef.current.onload = () => {
27
+ // if (getContainerStyle && imgDisplay) {
28
+ // const { width, height } = getContainerStyle();
29
+ // const i_width = imageRef.current?.width || style.width;
30
+ // const i_height = imageRef.current?.height || style.width;
31
+ // if (imgDisplay === 'fillcut') {
32
+ // // 以图片最大的
33
+ // setImgStyle({
34
+ // width: Math.max(width, i_width),
35
+ // height: Math.max(height, i_height),
36
+ // });
37
+ // }
38
+ // }
39
+ // // setSrc(props.src);
40
+ // };
41
+ // imageRef.current.onerror = () => setSrc(errorSrc);
42
+ // imageRef.current.src = props.src;
43
+ // } else if(errorSrc) {
44
+ // setSrc(errorSrc)
45
+ // } else {
46
+ // setSrc(props.defaultSrc);
47
+ // }
48
+ // }
49
+ // }, [props.src, errorSrc, defaultSrc]);
50
+
51
+ // return <img {...restProps} ref={imageRef} alt={alt} style={{ ...style, ...imgStyle }} />;
52
+
53
+ const myStyle = { ...style, ...imgStyle };
54
+ // TODO 目前需要优先展示默认图片(默认图片由配置人员配置),当图片加载完成后,再展示真实图片,(@苏楠有没有更好办好)
55
+ return (
56
+ <>
57
+ <img
58
+ {...restProps}
59
+ style={complete ? myStyle : { ...myStyle, display: 'none' }}
60
+ src={src}
61
+ alt={alt}
62
+ ref={imageRef}
63
+ onLoad={() => {
64
+ setComplete(true);
65
+ if (getContainerStyle && imgDisplay) {
66
+ const { width, height } = getContainerStyle();
67
+ const iWidth = imageRef.current?.width || style.width;
68
+ const iHeight = imageRef.current?.height || style.width;
69
+ if (imgDisplay === 'fillcut') {
70
+ // 以图片最大的
71
+ setImgStyle({
72
+ width: Math.max(width, iWidth),
73
+ height: Math.max(height, iHeight),
74
+ });
75
+ }
76
+ }
77
+ }}
78
+ onError={() => {
79
+ setSrc(errorSrc);
80
+ setComplete(true);
81
+ }}
82
+ />
83
+ {!complete && (
84
+ <img {...restProps} alt={alt} src={props.defaultSrc} style={myStyle} />
85
+ )}
86
+ </>
87
+ );
88
+ };
89
+
90
+ export default MyImage;
@@ -0,0 +1,91 @@
1
+ import React, { useEffect, useImperativeHandle, useState } from 'react';
2
+ // @ts-ignore
3
+ import IconPlaceholder from './assets/placeholder.png';
4
+ import Img from './BasicImage';
5
+
6
+ export interface MyImgProps {
7
+ visible?: boolean;
8
+ name?: string;
9
+ alt: string;
10
+ imgSrc?: string;
11
+ fileId?: string;
12
+ src: string;
13
+ fileName?: string;
14
+ fileCode?: string;
15
+ errorSrc?: string;
16
+ srcType?: 'fileCode' | 'src';
17
+ style?: React.CSSProperties;
18
+ getContainerStyle?: () => React.CSSProperties;
19
+ imgDisplay?: string;
20
+ onClick?: () => void;
21
+ getEngineApis?: any;
22
+ }
23
+
24
+ const MyImg = React.forwardRef<any, MyImgProps>((props, ref) => {
25
+ const {
26
+ visible = true,
27
+ alt,
28
+ fileId,
29
+ src,
30
+ fileName = '',
31
+ fileCode,
32
+ srcType,
33
+ getEngineApis,
34
+ ...restProps
35
+ } = props;
36
+
37
+ const engineApis = getEngineApis?.() || {};
38
+
39
+ const [imgSrc, setImgSrc] = useState<string>();
40
+ const [errorSrc, setErrorSrc] = useState<string>();
41
+
42
+ useEffect(() => {
43
+ // srcType设置兼容存量数据,当存量数据无srcType时根据旧的资源优先级进行赋值
44
+ let mySrcType = srcType;
45
+ if (!mySrcType) {
46
+ // 存量数据判断,建议三个月以上的时间之后再进行删除
47
+ if (fileCode) {
48
+ mySrcType = 'fileCode';
49
+ } else {
50
+ mySrcType = 'src';
51
+ }
52
+ }
53
+ if (mySrcType === 'fileCode' && fileCode) {
54
+ setImgSrc(engineApis?.service?.getAppFileUrlByFileCode(fileCode));
55
+ } else {
56
+ setImgSrc(src);
57
+ }
58
+ }, [src, fileName, fileId, srcType, fileCode]);
59
+
60
+ useEffect(() => {
61
+ if (props.errorSrc) {
62
+ const tempSrc = engineApis?.service?.getAppFileUrlByFileCode(
63
+ props.errorSrc,
64
+ );
65
+ setErrorSrc(tempSrc);
66
+ }
67
+ }, [props.errorSrc]);
68
+
69
+ useImperativeHandle(ref, () => ({
70
+ setSrc: (href: string) => {
71
+ setImgSrc(href);
72
+ },
73
+ setCompFileId: (fileId: string) => {
74
+ setImgSrc(engineApis?.service?.getAppFileUrlById(fileId));
75
+ },
76
+ get value() {
77
+ return { url: imgSrc };
78
+ },
79
+ }));
80
+
81
+ return visible ? (
82
+ <Img
83
+ {...restProps}
84
+ src={imgSrc}
85
+ alt={alt}
86
+ errorSrc={errorSrc}
87
+ defaultSrc={IconPlaceholder}
88
+ />
89
+ ) : null;
90
+ });
91
+ export default MyImg;