@lingxiteam/ebe-utils 0.5.0 → 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,672 @@
1
+ /* eslint-disable consistent-return */
2
+ /* eslint-disable guard-for-in */
3
+ /* eslint-disable no-restricted-syntax */
4
+ /* eslint-disable @typescript-eslint/no-for-in-array */
5
+ /* eslint-disable no-underscore-dangle */
6
+ import { LingXiFC } from '@lingxiteam/types';
7
+ import { BarChart, LineChart, PieChart, RadarChart } from 'echarts/charts';
8
+ import {
9
+ // 数据集组件
10
+ DatasetComponent,
11
+ GridComponent,
12
+ LegendComponent,
13
+ TitleComponent,
14
+ TooltipComponent,
15
+ // 内置数据转换器组件 (filter, sort)
16
+ TransformComponent,
17
+ } from 'echarts/components';
18
+ import * as echarts from 'echarts/core';
19
+ import { LabelLayout, UniversalTransition } from 'echarts/features';
20
+ import { CanvasRenderer } from 'echarts/renderers';
21
+ import { useEffect, useLayoutEffect, useMemo, useRef } from 'react';
22
+ import { bind, clear } from 'size-sensor';
23
+ import { useHiddenStyle, useListenProps } from '../utils';
24
+ import { MyReactEChartsProps } from './PropsType';
25
+
26
+ // 注册必须的组件
27
+ echarts.use([
28
+ TitleComponent,
29
+ TooltipComponent,
30
+ GridComponent,
31
+ DatasetComponent,
32
+ TransformComponent,
33
+ BarChart,
34
+ LineChart,
35
+ LegendComponent,
36
+ PieChart,
37
+ LabelLayout,
38
+ UniversalTransition,
39
+ CanvasRenderer,
40
+ RadarChart,
41
+ ]);
42
+
43
+ /**
44
+ * @description: 遗留常用配置 grid / yAxis / tooltip 等,待追加
45
+ * 配 api参考echarts官网: https://echarts.apache.org/examples/zh/index.html
46
+ */
47
+
48
+ function arrayToJSON(arr: any[], val: any, obj: any) {
49
+ const result = { ...obj };
50
+ let temp = result;
51
+ for (const key in arr) {
52
+ let len = 0;
53
+ if (
54
+ arr.some(
55
+ (i) =>
56
+ ['LineChart', 'BarChart', 'PieChart', 'RadarChart'].indexOf(i) > -1,
57
+ )
58
+ ) {
59
+ if (Number.isNaN(Number(arr[1]))) {
60
+ len = 1;
61
+ } else {
62
+ len = 2;
63
+ }
64
+ }
65
+ if (Number(key) > len && Number(key) < arr.length - 1) {
66
+ temp[arr[key]] = temp[arr[key]] || {};
67
+ temp = temp[arr[key]];
68
+ } else if (String(key) === String(arr.length - 1)) {
69
+ temp[arr[key]] = val;
70
+ }
71
+ }
72
+ return result;
73
+ }
74
+
75
+ export interface ColorStopMap {
76
+ type: string;
77
+ x: number;
78
+ y: number;
79
+ x2: number;
80
+ y2: number;
81
+ colorStops: any[];
82
+ }
83
+ export interface SeriesMap {
84
+ data?: any[];
85
+ type?: string;
86
+ areaStyle?: {
87
+ showColor?: boolean;
88
+ color0?: string;
89
+ color1?: string;
90
+ color?: ColorStopMap;
91
+ };
92
+ label?: { formatter: any };
93
+ lineStyle?: { color: string };
94
+ itemStyle?: { color: string };
95
+ radius?: any;
96
+ center?: any;
97
+ }
98
+
99
+ const ReactECharts: LingXiFC<MyReactEChartsProps> = (props, ref) => {
100
+ const {
101
+ type,
102
+ relateDataType = '3',
103
+ data,
104
+ style,
105
+ className,
106
+ isDataMap,
107
+ dataMapColumns,
108
+ visible = true,
109
+ yAxisNum,
110
+ chartDataSource,
111
+ chartColor,
112
+ getEngineApis,
113
+ refDataReload,
114
+ } = props;
115
+
116
+ const engineApis = getEngineApis?.() || {};
117
+ const { sandBoxSafeRun } = engineApis;
118
+
119
+ const [dataSource, setDataSource] = useListenProps(props.dataSource);
120
+
121
+ const seriesAttr = Object.keys(props).filter((i) => i.indexOf('series') > -1);
122
+ const pieSeriesAttr = Object.keys(props).filter(
123
+ (i) => i.indexOf('pieSeries') > -1,
124
+ );
125
+ const titleAttr = Object.keys(props).filter(
126
+ (i) => i.indexOf('chartTitle') > -1,
127
+ );
128
+ const legendAttr = Object.keys(props).filter(
129
+ (i) => i.indexOf('chartsLegend') > -1,
130
+ );
131
+ const xAxisAttr = Object.keys(props).filter(
132
+ (i) => i.indexOf('chartXAxis') > -1,
133
+ );
134
+ const yAxisAttr = Object.keys(props).filter(
135
+ (i) => i.indexOf('chartYAxis') > -1,
136
+ );
137
+ const gridAttr = Object.keys(props).filter(
138
+ (i) => i.indexOf('chartGrid') > -1,
139
+ );
140
+ const tooltipAttr = Object.keys(props).filter(
141
+ (i) => i.indexOf('chartTooltip') > -1,
142
+ );
143
+ const finalStyle = useHiddenStyle(visible, style);
144
+ const chartRef = useRef<HTMLDivElement>(null);
145
+ const chartNode = useRef<echarts.EChartsType>();
146
+
147
+ // useImperativeHandle(ref, () => ({
148
+ // setTableData: (tableData: { dataSource: any[]; total: any; current: any }) => {
149
+ // setDataSource(tableData?.dataSource || [])
150
+ // }
151
+ // }))
152
+
153
+ const {
154
+ datasource = [],
155
+ xAxislen = 1,
156
+ yAxislen = 1,
157
+ } = useMemo(() => {
158
+ let [xAxislength, yAxislength] = [1, 1];
159
+ let chartData;
160
+ if (relateDataType === '1') {
161
+ chartData = chartDataSource || dataSource;
162
+ } else if (relateDataType === '2') {
163
+ chartData = dataSource;
164
+ } else if (relateDataType === '3') {
165
+ chartData = type === 'pie' ? data : data.data;
166
+ }
167
+ if (['bar', 'line'].includes(type)) {
168
+ if (isDataMap) {
169
+ xAxislength = dataMapColumns
170
+ .map((i) => i.keyVal)
171
+ ?.filter((j) => j.indexOf('x') > -1)?.length;
172
+ yAxislength = dataMapColumns
173
+ .map((i) => i.keyVal)
174
+ ?.filter((j) => j !== 'key' && j.indexOf('y') > -1)?.length;
175
+ } else {
176
+ xAxislength = Array.isArray(chartData)
177
+ ? Object.keys(chartData[0] || {})?.filter((i) => i.indexOf('x') > -1)
178
+ ?.length
179
+ : 1;
180
+ yAxislength = Array.isArray(chartData)
181
+ ? Object.keys(chartData[0] || {})?.filter(
182
+ (i) => i !== 'key' && i.indexOf('y') > -1,
183
+ )?.length
184
+ : 1;
185
+ }
186
+ return {
187
+ datasource: Array.isArray(chartData) ? chartData : [],
188
+ xAxislen: xAxislength || 1,
189
+ yAxislen: yAxislength || 1,
190
+ };
191
+ }
192
+ return { datasource: chartData, xAxislen: 1, yAxislen: 1 };
193
+ }, [
194
+ data,
195
+ dataSource,
196
+ chartDataSource,
197
+ relateDataType,
198
+ type,
199
+ dataMapColumns,
200
+ isDataMap,
201
+ ]);
202
+
203
+ const transferDataMap: { name?: any; value?: any; x?: any } = useMemo(() => {
204
+ let obj = {};
205
+ if (isDataMap) {
206
+ dataMapColumns.forEach((item) => {
207
+ obj = {
208
+ ...obj,
209
+ [item.keyVal]: item.attrVal,
210
+ };
211
+ });
212
+ }
213
+ return obj;
214
+ }, [isDataMap, dataMapColumns]);
215
+
216
+ const getNestObj = (attrs: any[]) => {
217
+ let obj = {};
218
+ for (let i = 0; i < attrs.length; i += 1) {
219
+ const arr = attrs[i].split('_');
220
+ obj = arrayToJSON(arr, (props as any)[attrs[i]], obj);
221
+ }
222
+ return obj;
223
+ };
224
+
225
+ const chartTitle = useMemo(() => {
226
+ return getNestObj(titleAttr);
227
+ }, [titleAttr]);
228
+
229
+ /**
230
+ * @description: 根据xAxis和其他配置项得到最终的x轴配置
231
+ * 最终数据格式:
232
+ * xAxis : [
233
+ {
234
+ show: true,
235
+ type : 'category',
236
+ boundaryGap : false,
237
+ data : ['周一','周二','周三','周四','周五','周六','周日'],
238
+ ...
239
+ }
240
+ ]
241
+ */
242
+ // @ts-ignore
243
+ const chartXAxis = useMemo(() => {
244
+ if (['bar', 'line'].includes(type)) {
245
+ const xAxis = [];
246
+ // const xItem0=getNestObj(xAxisAttr.filter((attr) => attr.indexOf(`chartXAxis0`) > -1));
247
+ // const len=xItem0.type === 'value'?yAxislen:xAxislen;
248
+ for (let i = 0; i < yAxisNum; i += 1) {
249
+ const xAxisItem = xAxisAttr.filter(
250
+ (attr) => attr.indexOf(`chartXAxis${i}`) > -1,
251
+ );
252
+ let obj: { type?: string; data?: any[] } = {
253
+ type: 'category',
254
+ ...getNestObj(xAxisItem),
255
+ };
256
+ if (obj.type === 'value' && +i === +yAxislen) {
257
+ break;
258
+ } else {
259
+ if (+i === +xAxislen) {
260
+ break;
261
+ }
262
+ if (isDataMap) {
263
+ obj = {
264
+ ...obj,
265
+ data:
266
+ datasource?.map((j: Record<string, any>) =>
267
+ i < 1
268
+ ? j[transferDataMap.x || 'x']
269
+ : j[(transferDataMap as any)[`x${i}`] || `x${i}`],
270
+ ) || [],
271
+ };
272
+ } else {
273
+ obj = {
274
+ ...obj,
275
+ data:
276
+ datasource?.map((j: Record<string, any>) =>
277
+ i < 1 ? j.x : j[`x${i}`],
278
+ ) || [],
279
+ };
280
+ }
281
+ }
282
+ xAxis.push(obj);
283
+ }
284
+ return xAxis;
285
+ }
286
+ }, [xAxisAttr, datasource, transferDataMap, isDataMap]);
287
+
288
+ // @ts-ignore
289
+ const chartYAxis = useMemo(() => {
290
+ if (['bar', 'line'].includes(type)) {
291
+ const yAxis = [];
292
+ // const yItem0=getNestObj(yAxisAttr.filter((attr) => attr.indexOf(`chartYAxis0`) > -1));
293
+ // const len=yItem0.type === 'category'?xAxislen:yAxislen;
294
+ for (let i = 0; i < yAxisNum; i += 1) {
295
+ const yAxisItem = yAxisAttr.filter(
296
+ (attr) => attr.indexOf(`chartYAxis${i}`) > -1,
297
+ );
298
+ let obj: {
299
+ type?: string;
300
+ axisLabel?: { formatter?: string };
301
+ data?: any[];
302
+ } = {
303
+ type: 'value',
304
+ ...getNestObj(yAxisItem),
305
+ };
306
+ if (obj.axisLabel?.formatter) {
307
+ obj.axisLabel.formatter = `{value}${obj.axisLabel?.formatter}`;
308
+ } else {
309
+ obj = {
310
+ ...obj,
311
+ axisLabel: {
312
+ ...obj.axisLabel,
313
+ formatter: undefined,
314
+ },
315
+ };
316
+ }
317
+ if (obj.type === 'category') {
318
+ if (+i === +xAxislen) {
319
+ break;
320
+ }
321
+ if (isDataMap) {
322
+ obj = {
323
+ ...obj,
324
+ data:
325
+ datasource?.map((j: Record<string, any>) =>
326
+ i < 1
327
+ ? j[transferDataMap.x || 'x']
328
+ : j[(transferDataMap as any)[`x${i}`] || `x${i}`],
329
+ ) || [],
330
+ };
331
+ } else {
332
+ obj = {
333
+ ...obj,
334
+ data:
335
+ datasource?.map((j: { x: any }) =>
336
+ i < 1 ? j.x : (j as any)[`x${i}`],
337
+ ) || [],
338
+ };
339
+ }
340
+ } else if (+i === +yAxislen) {
341
+ break;
342
+ }
343
+ yAxis.push(obj);
344
+ }
345
+ return yAxis;
346
+ }
347
+ }, [yAxisAttr, transferDataMap, isDataMap]);
348
+
349
+ const chartTooltip = useMemo(() => {
350
+ const obj: {
351
+ position?: any;
352
+ formatter?: any;
353
+ padding?: any;
354
+ trigger?: string;
355
+ } = getNestObj(tooltipAttr);
356
+ if (obj.position) {
357
+ obj.position = Array.isArray(obj.position)
358
+ ? obj.position
359
+ : obj.position?.split(',') || undefined;
360
+ } else {
361
+ obj.position = undefined;
362
+ }
363
+ if (!obj.trigger) {
364
+ obj.trigger = type === 'pie' ? 'item' : 'axis';
365
+ }
366
+ if (obj.formatter) {
367
+ return {
368
+ ...obj,
369
+ padding: obj.padding ? sandBoxSafeRun(`(${obj.padding})`) : undefined,
370
+ formatter: (params: any) => {
371
+ const newdata = [...datasource];
372
+ let formatter: any = '';
373
+ let item = {};
374
+ if (type === 'pie') {
375
+ const xval = isDataMap ? transferDataMap.name : 'name';
376
+ item = newdata.find((i) => i[xval] === params?.name);
377
+ } else {
378
+ const xval = isDataMap ? transferDataMap.x : 'x';
379
+ item = newdata.find((i) => i[xval] === params?.name);
380
+ }
381
+ formatter = sandBoxSafeRun(`(${obj.formatter})`);
382
+ if (typeof formatter === 'function') {
383
+ /**
384
+ * formatter字符串支持以下格式
385
+ * function main({ name, value }) {
386
+ return `${name}:${value}%`;
387
+ }
388
+ 或者
389
+ ({ name, value }) => `${name}:${value}%`
390
+ */
391
+ formatter = formatter(item);
392
+ }
393
+ return formatter;
394
+ },
395
+ };
396
+ }
397
+ return {
398
+ ...obj,
399
+ padding: obj.padding ? sandBoxSafeRun(`(${obj.padding})`) : undefined,
400
+ formatter: undefined,
401
+ };
402
+ }, [tooltipAttr, datasource]);
403
+
404
+ const chartGrid = useMemo(() => {
405
+ if (['bar', 'line'].includes(type)) {
406
+ return getNestObj(gridAttr);
407
+ }
408
+ return null;
409
+ }, [gridAttr]);
410
+
411
+ const chartLegend = useMemo(() => {
412
+ return getNestObj(legendAttr);
413
+ }, [legendAttr]);
414
+
415
+ /**
416
+ * @description: 根据传入的数据源及其他配置项得到最终的图表数据
417
+ * 最终数据格式:
418
+ * LineChart / BarChart
419
+ * series: [
420
+ {
421
+ name: '邮件营销',
422
+ type: 'line',
423
+ stack: true, // 设置后会和其他数据叠加显示
424
+ areaStyle: { normal: {} }, // 是否覆盖下面区域
425
+ data: [120, 132, 101, 134, 90, 230, 210],
426
+ ...
427
+ },
428
+ ]
429
+
430
+ PieChart
431
+ series: [{
432
+ type: 'pie',
433
+ radius: ['70%', '100%'],
434
+ center: ['50%', '50%'],
435
+ color: ['#597EF7', '#54D89A', '#FA8C16'],
436
+ data: [
437
+ { value: 335, name: '直接访问' },
438
+ { value: 310, name: '邮件营销' },
439
+ { value: 234, name: '联盟广告' },
440
+ { value: 135, name: '视频广告' },
441
+ { value: 1548, name: '搜索引擎' },
442
+ ],
443
+ hoverAnimation: true,
444
+ ...
445
+ }],
446
+ */
447
+
448
+ // @ts-ignore
449
+ const chartSeries = useMemo(() => {
450
+ if (datasource) {
451
+ if (['bar', 'line'].includes(type)) {
452
+ const series = [];
453
+ for (let i = 0; i < yAxislen; i += 1) {
454
+ const seriesItem = seriesAttr.filter(
455
+ (attr) => attr.indexOf(`series${i}`) > -1,
456
+ );
457
+ let obj: SeriesMap = getNestObj(seriesItem);
458
+ obj = {
459
+ type,
460
+ ...obj,
461
+ data: datasource?.map((j: Record<string, any>) => j[`y${i}`]) || [],
462
+ };
463
+ if (isDataMap) {
464
+ obj.data =
465
+ datasource?.map(
466
+ (j: Record<string, any>) =>
467
+ j[(transferDataMap as any)[`y${i}`] || `y${i}`],
468
+ ) || [];
469
+ }
470
+ if (
471
+ obj.areaStyle?.showColor &&
472
+ obj.areaStyle?.color0 &&
473
+ obj.areaStyle?.color1
474
+ ) {
475
+ obj = {
476
+ ...obj,
477
+ areaStyle: {
478
+ color: {
479
+ type: 'linear',
480
+ x: 0,
481
+ y: 0,
482
+ x2: 0,
483
+ y2: 1,
484
+ colorStops: [
485
+ {
486
+ offset: 0,
487
+ color: obj.areaStyle?.color0, // 0% 处的颜色
488
+ },
489
+ {
490
+ offset: 1,
491
+ color: obj.areaStyle?.color1, // 100% 处的颜色
492
+ },
493
+ ],
494
+ },
495
+ color0: undefined,
496
+ color1: undefined,
497
+ },
498
+ };
499
+ } else {
500
+ obj = {
501
+ ...obj,
502
+ areaStyle: undefined,
503
+ };
504
+ }
505
+ if (obj.label?.formatter === 'value') {
506
+ obj.label.formatter = function (param: { value: any }) {
507
+ return param.value;
508
+ };
509
+ } else if (obj.label?.formatter === 'lab') {
510
+ obj.label.formatter = '{b}';
511
+ } else if (obj.label?.formatter === 'percent') {
512
+ const newdata = [...datasource];
513
+ let item: any = {};
514
+ const xval = isDataMap ? transferDataMap.x : 'x';
515
+ obj.label.formatter = function (params: {
516
+ name: string;
517
+ value: string;
518
+ }) {
519
+ item = newdata.find((i) => i[xval] === params.name);
520
+ return item[`percent${i}`]
521
+ ? `${item[`percent${i}`]}%`
522
+ : `${params.value}%`;
523
+ };
524
+ } else if (obj.label?.formatter === 'labvalue') {
525
+ obj.label.formatter = function (param: {
526
+ name: string;
527
+ value: string;
528
+ }) {
529
+ return `${param.name}:${param.value}`;
530
+ };
531
+ }
532
+ if (obj.type === 'bar' && obj.lineStyle && obj.lineStyle.color) {
533
+ obj = { ...obj, itemStyle: { color: obj.lineStyle.color } };
534
+ }
535
+ // @ts-ignore
536
+ series.push(obj);
537
+ }
538
+ return series;
539
+ }
540
+ if (type === 'pie') {
541
+ let obj: SeriesMap = { type: 'pie' };
542
+ let newDataSource = [...datasource];
543
+ if (isDataMap) {
544
+ newDataSource = newDataSource.map((item) => ({
545
+ name: item[transferDataMap.name || 'name'],
546
+ value: item[transferDataMap.value || 'value'],
547
+ }));
548
+ }
549
+ obj = {
550
+ ...obj,
551
+ ...getNestObj(pieSeriesAttr),
552
+ data: newDataSource || [],
553
+ };
554
+ obj.radius = Array.isArray(obj.radius)
555
+ ? obj.radius
556
+ : obj.radius?.split(',') || [0, '75%'];
557
+ obj.center = Array.isArray(obj.center)
558
+ ? obj.center
559
+ : obj.center?.split(',') || ['50%', '50%'];
560
+ if (obj.label?.formatter === 'value') {
561
+ obj.label.formatter = function (param: { value: any }) {
562
+ return param.value;
563
+ };
564
+ } else if (obj.label?.formatter === 'lab') {
565
+ obj.label.formatter = '{b}';
566
+ } else if (obj.label?.formatter === 'percent') {
567
+ obj.label.formatter = '{d}%';
568
+ } else if (obj.label?.formatter === 'labvalue') {
569
+ obj.label.formatter = function (param: {
570
+ name: string;
571
+ value: string;
572
+ }) {
573
+ return `${param.name} ${param.value}`;
574
+ };
575
+ } else if (obj.label?.formatter === 'labpercent') {
576
+ obj.label.formatter = '{b}: {d}%';
577
+ }
578
+ return [obj];
579
+ }
580
+ return [{ type: 'pie', data: datasource, radius: '50%' }];
581
+ }
582
+ }, [datasource, seriesAttr, pieSeriesAttr]);
583
+
584
+ /**
585
+ * @description: 组合各个配置项形成最终的图表配置
586
+ */
587
+ const chartOption = useMemo(() => {
588
+ let finalOption: {} = {
589
+ title: chartTitle,
590
+ legend: chartLegend,
591
+ series: chartSeries,
592
+ xAxis: chartXAxis,
593
+ grid: chartGrid,
594
+ yAxis: chartYAxis,
595
+ tooltip: {
596
+ ...chartTooltip,
597
+ },
598
+ };
599
+ if (chartColor) {
600
+ finalOption = {
601
+ ...finalOption,
602
+ color: Array.isArray(chartColor) ? chartColor : chartColor.split(','),
603
+ };
604
+ } else {
605
+ finalOption = {
606
+ ...finalOption,
607
+ color: [
608
+ '#5470c6',
609
+ '#91cc75',
610
+ '#fac858',
611
+ '#ee6666',
612
+ '#73c0de',
613
+ '#3ba272',
614
+ '#fc8452',
615
+ '#9a60b4',
616
+ '#ea7ccc',
617
+ ],
618
+ };
619
+ }
620
+ return finalOption;
621
+ }, [chartTitle, chartLegend, chartYAxis, chartXAxis, chartSeries, chartGrid]);
622
+
623
+ useEffect(() => {
624
+ if (refDataReload) {
625
+ setDataSource(refDataReload);
626
+ }
627
+ }, [refDataReload]);
628
+
629
+ useEffect(() => {
630
+ if (chartNode && chartNode.current) {
631
+ const chartInst = chartNode.current;
632
+ chartInst.off('click');
633
+ chartInst.on('click', (params: any) => {
634
+ if (props.onChartClick) {
635
+ props.onChartClick(params);
636
+ }
637
+ });
638
+ }
639
+ }, [chartOption, props.onChartClick]);
640
+ useEffect(() => {
641
+ if (chartOption && chartNode && chartNode.current) {
642
+ // 第二个参数notMerge表示不与之前设置的option合并,设置true防止减少数据仍保持最多数据的展示效果
643
+ chartNode.current.setOption(chartOption, true);
644
+ }
645
+ }, [chartOption]);
646
+ useLayoutEffect(() => {
647
+ if (chartRef && chartRef.current) {
648
+ chartNode.current = echarts.init(chartRef.current);
649
+ chartNode.current.setOption(chartOption);
650
+ bind(chartRef.current, () => {
651
+ chartNode.current?.resize();
652
+ });
653
+ }
654
+ return () => {
655
+ if (chartRef.current) {
656
+ echarts.dispose(chartRef.current);
657
+ clear(chartRef.current);
658
+ }
659
+ };
660
+ }, []);
661
+
662
+ return (
663
+ <div
664
+ data-compid={(props as any)?.['data-compid']}
665
+ ref={chartRef}
666
+ style={finalStyle}
667
+ className={className}
668
+ />
669
+ );
670
+ };
671
+
672
+ export default ReactECharts;
@@ -0,0 +1,26 @@
1
+ import { LingxiForwardRef } from '@lingxiteam/types';
2
+ import { useImperativeHandle, useState } from 'react';
3
+ import ReactEChartsLoader from './loader';
4
+ import { MyReactEChartsProps } from './PropsType';
5
+
6
+ const ReactECharts = LingxiForwardRef<unknown, MyReactEChartsProps>(
7
+ (props, ref) => {
8
+ const [chartDataSource, setChartDataSource] = useState<any[]>();
9
+
10
+ useImperativeHandle(ref, () => ({
11
+ // 这里暴漏部分指令方法
12
+ // 由于组件采用懒加载延迟执行组件,导致组件在未加载完成的时候已经执行了页面加载完成的生命周期,所以未来的指令方法不应放入懒加载中,避免页面加载完成时机无法调用指令。
13
+ setTableData: (tableData: {
14
+ dataSource: any[];
15
+ total: any;
16
+ current: any;
17
+ }) => {
18
+ setChartDataSource(tableData?.dataSource || []);
19
+ },
20
+ }));
21
+
22
+ return <ReactEChartsLoader {...props} refDataReload={chartDataSource} />;
23
+ },
24
+ );
25
+
26
+ export default ReactECharts;
@@ -0,0 +1,12 @@
1
+ import Loadable from 'react-loadable';
2
+ import { LoadingComponennt } from '../utils/LoaderHelper';
3
+
4
+ const ReactChartsLoader = Loadable({
5
+ loader: async () =>
6
+ (await import(
7
+ /* webpackChunkName: 'pcFactory-ReactECharts' */ './ReactECharts'
8
+ )) as unknown as React.ComponentType<any>,
9
+ loading: LoadingComponennt,
10
+ });
11
+
12
+ export default ReactChartsLoader;