@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.
- package/lib/pcpublic/src/components/pcfactory/src/StdUpload/assets/closeIcon.png +0 -0
- package/lib/pcpublic/src/components/pcfactory/src/StdUpload/assets/fileName.png +0 -0
- package/lib/pcpublic/src/components/pcfactory/src/StdUpload/assets/img.png +0 -0
- package/lib/pcpublic/src/components/pcfactory/src/Table/hooks/useFormatCell.ts +279 -0
- package/lib/pcpublic/src/components/pcfactory/src/utils/Empty/customLocale.tsx +6 -0
- package/lib/public/src/components/ExpBusiObjModal/index.less +28 -0
- package/lib/public/src/components/ExpBusiObjModal/index.tsx +315 -0
- package/lib/public/src/components/ImportBusiObjModal/index.tsx +5 -0
- package/lib/public/src/components/PreviewFile/index.less +200 -0
- package/lib/public/src/components/PreviewFile/index.tsx +787 -0
- package/lib/public/src/components/PreviewFile/utils.ts +90 -0
- package/lib/public/src/components/common/PreviewFile/index.less +200 -0
- package/lib/public/src/components/common/PreviewFile/index.tsx +787 -0
- package/lib/public/src/components/common/PreviewFile/utils.ts +90 -0
- package/lib/public/src/components/pcfactory/src/Alert/index.tsx +22 -0
- package/lib/public/src/components/pcfactory/src/Animation/index.tsx +186 -0
- package/lib/public/src/components/pcfactory/src/Animation/useAnimation.ts +270 -0
- package/lib/public/src/components/pcfactory/src/Animation/useBackgroundStyle.ts +74 -0
- package/lib/public/src/components/pcfactory/src/Audio/index.tsx +240 -0
- package/lib/public/src/components/pcfactory/src/BarChart/index.tsx +3 -0
- package/lib/public/src/components/pcfactory/src/Button/index.tsx +151 -0
- package/lib/public/src/components/pcfactory/src/Card/index.tsx +201 -0
- package/lib/public/src/components/pcfactory/src/Card/useExtendBtn.tsx +195 -0
- package/lib/public/src/components/pcfactory/src/Cascader/index.tsx +398 -0
- package/lib/public/src/components/pcfactory/src/ChartBar/index.tsx +15 -0
- package/lib/public/src/components/pcfactory/src/ChartBar/loader.tsx +12 -0
- package/lib/public/src/components/pcfactory/src/ChartLine/ChartLine.tsx +48 -0
- package/lib/public/src/components/pcfactory/src/ChartLine/PropsType.ts +88 -0
- package/lib/public/src/components/pcfactory/src/ChartLine/index.tsx +15 -0
- package/lib/public/src/components/pcfactory/src/ChartLine/loader.tsx +12 -0
- package/lib/public/src/components/pcfactory/src/Checkbox/index.tsx +144 -0
- package/lib/public/src/components/pcfactory/src/CheckboxGroup/index.tsx +319 -0
- package/lib/public/src/components/pcfactory/src/Collapse/index.tsx +195 -0
- package/lib/public/src/components/pcfactory/src/CollapsePanel/index.tsx +186 -0
- package/lib/public/src/components/pcfactory/src/Condition/index.tsx +22 -0
- package/lib/public/src/components/pcfactory/src/DatePicker/index.tsx +756 -0
- package/lib/public/src/components/pcfactory/src/Description/index.tsx +447 -0
- package/lib/public/src/components/pcfactory/src/Description/utils/getLabelSizeMode.ts +40 -0
- package/lib/public/src/components/pcfactory/src/Divider/components/CenterLineDivider/index.tsx +190 -0
- package/lib/public/src/components/pcfactory/src/Divider/components/CenterTabDivider/index.tsx +77 -0
- package/lib/public/src/components/pcfactory/src/Divider/components/LeftCardDivider/index.tsx +87 -0
- package/lib/public/src/components/pcfactory/src/Divider/components/LeftLineDivider/index.tsx +106 -0
- package/lib/public/src/components/pcfactory/src/Divider/components/LeftTabDivider/index.tsx +60 -0
- package/lib/public/src/components/pcfactory/src/Divider/components/LeftTopDivider/index.tsx +55 -0
- package/lib/public/src/components/pcfactory/src/Divider/components/LxDashed/index.module.less +10 -0
- package/lib/public/src/components/pcfactory/src/Divider/components/LxDashed/index.tsx +143 -0
- package/lib/public/src/components/pcfactory/src/Divider/components/LxSolid/index.module.less +10 -0
- package/lib/public/src/components/pcfactory/src/Divider/components/LxSolid/index.tsx +126 -0
- package/lib/public/src/components/pcfactory/src/Divider/index.tsx +210 -0
- package/lib/public/src/components/pcfactory/src/Dropdown/index.tsx +385 -0
- package/lib/public/src/components/pcfactory/src/DynamicTabs/PropsType.ts +31 -0
- package/lib/public/src/components/pcfactory/src/DynamicTabs/TabPage.tsx +63 -0
- package/lib/public/src/components/pcfactory/src/DynamicTabs/index.tsx +214 -0
- package/lib/public/src/components/pcfactory/src/Form/Form.tsx +600 -0
- package/lib/public/src/components/pcfactory/src/Form/WrapperForm.ts +14 -0
- package/lib/public/src/components/pcfactory/src/Form/index.tsx +15 -0
- package/lib/public/src/components/pcfactory/src/Form/useFormStatus.ts +47 -0
- package/lib/public/src/components/pcfactory/src/Form/useMonitor.ts +40 -0
- package/lib/public/src/components/pcfactory/src/FormGroup/TitleComp.tsx +107 -0
- package/lib/public/src/components/pcfactory/src/FormGroup/index.tsx +181 -0
- package/lib/public/src/components/pcfactory/src/FreeLayout/index.tsx +151 -0
- package/lib/public/src/components/pcfactory/src/Gantt/Gantt.tsx +460 -0
- package/lib/public/src/components/pcfactory/src/Gantt/const.ts +122 -0
- package/lib/public/src/components/pcfactory/src/Gantt/index.tsx +16 -0
- package/lib/public/src/components/pcfactory/src/Gantt/loader.tsx +12 -0
- package/lib/public/src/components/pcfactory/src/GridView/GridView.tsx +435 -0
- package/lib/public/src/components/pcfactory/src/GridView/index.tsx +24 -0
- package/lib/public/src/components/pcfactory/src/GridView/loader.tsx +12 -0
- package/lib/public/src/components/pcfactory/src/HorizontalView/index.tsx +32 -0
- package/lib/public/src/components/pcfactory/src/Icon/IconED/index.tsx +42 -0
- package/lib/public/src/components/pcfactory/src/Icon/PropsType.ts +57 -0
- package/lib/public/src/components/pcfactory/src/Icon/hooks/index.tsx +300 -0
- package/lib/public/src/components/pcfactory/src/Icon/index.tsx +69 -0
- package/lib/public/src/components/pcfactory/src/IconFont/index.tsx +24 -0
- package/lib/public/src/components/pcfactory/src/Img/BasicImage/index.tsx +90 -0
- package/lib/public/src/components/pcfactory/src/Img/assets/placeholder.png +0 -0
- package/lib/public/src/components/pcfactory/src/Img/index.tsx +91 -0
- package/lib/public/src/components/pcfactory/src/Input/index.tsx +425 -0
- package/lib/public/src/components/pcfactory/src/InputNumber/index.tsx +263 -0
- package/lib/public/src/components/pcfactory/src/LXPieChart/LXPieChart.tsx +23 -0
- package/lib/public/src/components/pcfactory/src/LXPieChart/PropsType.ts +11 -0
- package/lib/public/src/components/pcfactory/src/LXPieChart/index.less +6 -0
- package/lib/public/src/components/pcfactory/src/LXPieChart/index.tsx +15 -0
- package/lib/public/src/components/pcfactory/src/LXPieChart/loader.tsx +12 -0
- package/lib/public/src/components/pcfactory/src/LXRadarChart/LXRadarChat.tsx +25 -0
- package/lib/public/src/components/pcfactory/src/LXRadarChart/PropsType.ts +9 -0
- package/lib/public/src/components/pcfactory/src/LXRadarChart/index.less +7 -0
- package/lib/public/src/components/pcfactory/src/LXRadarChart/index.tsx +17 -0
- package/lib/public/src/components/pcfactory/src/LXRadarChart/loader.tsx +12 -0
- package/lib/public/src/components/pcfactory/src/Layout/index.tsx +130 -0
- package/lib/public/src/components/pcfactory/src/Layout/utils.ts +48 -0
- package/lib/public/src/components/pcfactory/src/LineChart/index.tsx +3 -0
- package/lib/public/src/components/pcfactory/src/Link/index.tsx +117 -0
- package/lib/public/src/components/pcfactory/src/LoopList/index.tsx +551 -0
- package/lib/public/src/components/pcfactory/src/Menu/index.tsx +422 -0
- package/lib/public/src/components/pcfactory/src/ModalSelect/BaseModalSelect.tsx +95 -0
- package/lib/public/src/components/pcfactory/src/ModalSelect/index.tsx +453 -0
- package/lib/public/src/components/pcfactory/src/MultipleSelect/index.tsx +3 -0
- package/lib/public/src/components/pcfactory/src/Pagination/index.tsx +104 -0
- package/lib/public/src/components/pcfactory/src/Password/index.tsx +88 -0
- package/lib/public/src/components/pcfactory/src/PictureVerifyCode/assets/placeholder.png +0 -0
- package/lib/public/src/components/pcfactory/src/PictureVerifyCode/index.tsx +76 -0
- package/lib/public/src/components/pcfactory/src/PieChart/index.tsx +3 -0
- package/lib/public/src/components/pcfactory/src/Progress/index.tsx +155 -0
- package/lib/public/src/components/pcfactory/src/QRCode/const.ts +5 -0
- package/lib/public/src/components/pcfactory/src/QRCode/index.tsx +146 -0
- package/lib/public/src/components/pcfactory/src/QuillEditor/QuillEditor.tsx +197 -0
- package/lib/public/src/components/pcfactory/src/QuillEditor/index.tsx +37 -0
- package/lib/public/src/components/pcfactory/src/QuillEditor/loader.ts +12 -0
- package/lib/public/src/components/pcfactory/src/RadarChart/RadarChartHook.ts +449 -0
- package/lib/public/src/components/pcfactory/src/RadarChart/RadarChartType.ts +39 -0
- package/lib/public/src/components/pcfactory/src/RadarChart/RadarECharts.tsx +86 -0
- package/lib/public/src/components/pcfactory/src/RadarChart/index.tsx +16 -0
- package/lib/public/src/components/pcfactory/src/RadarChart/loader.tsx +12 -0
- package/lib/public/src/components/pcfactory/src/RadarChart/radarDefaultConfig.js +55 -0
- package/lib/public/src/components/pcfactory/src/Radio/index.tsx +260 -0
- package/lib/public/src/components/pcfactory/src/RangePicker/index.tsx +3 -0
- package/lib/public/src/components/pcfactory/src/Rate/index.tsx +187 -0
- package/lib/public/src/components/pcfactory/src/ReactECharts/PropsType.ts +37 -0
- package/lib/public/src/components/pcfactory/src/ReactECharts/ReactECharts.tsx +672 -0
- package/lib/public/src/components/pcfactory/src/ReactECharts/index.tsx +26 -0
- package/lib/public/src/components/pcfactory/src/ReactECharts/loader.tsx +12 -0
- package/lib/public/src/components/pcfactory/src/RemoteComponent/components/FishRender.tsx +31 -0
- package/lib/public/src/components/pcfactory/src/RemoteComponent/components/ReactRender.tsx +55 -0
- package/lib/public/src/components/pcfactory/src/RemoteComponent/components/VueRender.tsx +32 -0
- package/lib/public/src/components/pcfactory/src/RemoteComponent/constant.ts +9 -0
- package/lib/public/src/components/pcfactory/src/RemoteComponent/index.tsx +82 -0
- package/lib/public/src/components/pcfactory/src/RemoteComponent/remote-component.config.ts +12 -0
- package/lib/public/src/components/pcfactory/src/Result/index.tsx +27 -0
- package/lib/public/src/components/pcfactory/src/RichTextEditor/LcdpUeditorMain.tsx +105 -0
- package/lib/public/src/components/pcfactory/src/RichTextEditor/RichTextEditor.tsx +234 -0
- package/lib/public/src/components/pcfactory/src/RichTextEditor/RichTextEditorMain.tsx +41 -0
- package/lib/public/src/components/pcfactory/src/RichTextEditor/index.tsx +33 -0
- package/lib/public/src/components/pcfactory/src/RichTextEditor/loader.ts +12 -0
- package/lib/public/src/components/pcfactory/src/Row/Row.tsx +66 -0
- package/lib/public/src/components/pcfactory/src/Row/index.tsx +9 -0
- package/lib/public/src/components/pcfactory/src/Row/loader.tsx +12 -0
- package/lib/public/src/components/pcfactory/src/Select/index.tsx +628 -0
- package/lib/public/src/components/pcfactory/src/Select/selectUtils.ts +257 -0
- package/lib/public/src/components/pcfactory/src/Slider/index.tsx +351 -0
- package/lib/public/src/components/pcfactory/src/StdUpload/DownloadProgress/DownloadProgress.tsx +27 -0
- package/lib/public/src/components/pcfactory/src/StdUpload/DownloadProgress/index.ts +3 -0
- package/lib/public/src/components/pcfactory/src/StdUpload/UploadItem.tsx +257 -0
- package/lib/public/src/components/pcfactory/src/StdUpload/assets/default.png +0 -0
- package/lib/public/src/components/pcfactory/src/StdUpload/assets/js.png +0 -0
- package/lib/public/src/components/pcfactory/src/StdUpload/assets/pdf.png +0 -0
- package/lib/public/src/components/pcfactory/src/StdUpload/assets/ppt.png +0 -0
- package/lib/public/src/components/pcfactory/src/StdUpload/assets/txt.png +0 -0
- package/lib/public/src/components/pcfactory/src/StdUpload/assets/word.png +0 -0
- package/lib/public/src/components/pcfactory/src/StdUpload/assets/xls.png +0 -0
- package/lib/public/src/components/pcfactory/src/StdUpload/assets/zip.png +0 -0
- package/lib/public/src/components/pcfactory/src/StdUpload/index.tsx +1050 -0
- package/lib/public/src/components/pcfactory/src/StdUpload/uploadItem.less +64 -0
- package/lib/public/src/components/pcfactory/src/Steps/constant/checkcircle.tsx +29 -0
- package/lib/public/src/components/pcfactory/src/Steps/constant/index.ts +2 -0
- package/lib/public/src/components/pcfactory/src/Steps/constant/vector.tsx +13 -0
- package/lib/public/src/components/pcfactory/src/Steps/index.tsx +343 -0
- package/lib/public/src/components/pcfactory/src/SuperSelect/ComSelect.tsx +538 -0
- package/lib/public/src/components/pcfactory/src/SuperSelect/index.tsx +127 -0
- package/lib/public/src/components/pcfactory/src/SuperSelect/loader.tsx +12 -0
- package/lib/public/src/components/pcfactory/src/Swiper/index.tsx +184 -0
- package/lib/public/src/components/pcfactory/src/Switch/index.tsx +219 -0
- package/lib/public/src/components/pcfactory/src/TabPane/index.tsx +145 -0
- package/lib/public/src/components/pcfactory/src/Table/BodyCell/index.tsx +278 -0
- package/lib/public/src/components/pcfactory/src/Table/EditComponent/index.tsx +554 -0
- package/lib/public/src/components/pcfactory/src/Table/FormatCell/GhostTag/index.tsx +34 -0
- package/lib/public/src/components/pcfactory/src/Table/FormatCell/Hyperlink/index.tsx +26 -0
- package/lib/public/src/components/pcfactory/src/Table/FormatCell/PointTag/index.tsx +41 -0
- package/lib/public/src/components/pcfactory/src/Table/FormatCell/PureColourFill/index.tsx +32 -0
- package/lib/public/src/components/pcfactory/src/Table/FormatCell/PureFadeColourTag/index.tsx +34 -0
- package/lib/public/src/components/pcfactory/src/Table/FormatCell/index.tsx +227 -0
- package/lib/public/src/components/pcfactory/src/Table/HeaderCell/HeaderCellTitle/index.tsx +63 -0
- package/lib/public/src/components/pcfactory/src/Table/HeaderCell/index.tsx +32 -0
- package/lib/public/src/components/pcfactory/src/Table/TableHead/index.tsx +501 -0
- package/lib/public/src/components/pcfactory/src/Table/TableSummaryRow/index.tsx +46 -0
- package/lib/public/src/components/pcfactory/src/Table/constant.ts +73 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/index.ts +32 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/useCMDActions.ts +325 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/useCheckStrict.ts +176 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/useColumns.tsx +1851 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/useCommon.ts +39 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/useDataSource.ts +201 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/useExpandable.tsx +324 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/useFilter.tsx +274 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/useFormatCell.ts +309 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/usePagination.ts +104 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/useRowEdit.ts +302 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/useRowMerge.ts +93 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/useScroll.ts +120 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/useSelection.ts +467 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/useSort.ts +39 -0
- package/lib/public/src/components/pcfactory/src/Table/hooks/useSummaryCol.ts +191 -0
- package/lib/public/src/components/pcfactory/src/Table/index.tsx +525 -0
- package/lib/public/src/components/pcfactory/src/Table/utils/SequenceId.ts +104 -0
- package/lib/public/src/components/pcfactory/src/Table/utils/index.ts +442 -0
- package/lib/public/src/components/pcfactory/src/Tabs/index.tsx +209 -0
- package/lib/public/src/components/pcfactory/src/Tag/index.tsx +39 -0
- package/lib/public/src/components/pcfactory/src/Text/index.tsx +191 -0
- package/lib/public/src/components/pcfactory/src/TextArea/ForIETextArea.tsx +96 -0
- package/lib/public/src/components/pcfactory/src/TextArea/index.tsx +255 -0
- package/lib/public/src/components/pcfactory/src/TimePicker/index.tsx +3 -0
- package/lib/public/src/components/pcfactory/src/TlrView/index.tsx +3 -0
- package/lib/public/src/components/pcfactory/src/TooltipView/PropsType.ts +22 -0
- package/lib/public/src/components/pcfactory/src/TooltipView/TooltipViewED/index.tsx +10 -0
- package/lib/public/src/components/pcfactory/src/TooltipView/hooks/index.tsx +90 -0
- package/lib/public/src/components/pcfactory/src/TooltipView/index.tsx +13 -0
- package/lib/public/src/components/pcfactory/src/Transfer/index.tsx +753 -0
- package/lib/public/src/components/pcfactory/src/Tree/TreeNodeMenu/index.tsx +102 -0
- package/lib/public/src/components/pcfactory/src/Tree/index.tsx +1303 -0
- package/lib/public/src/components/pcfactory/src/TreeSelect/index.tsx +639 -0
- package/lib/public/src/components/pcfactory/src/TreeTable/hooks/index.ts +4 -0
- package/lib/public/src/components/pcfactory/src/TreeTable/hooks/useCMDAction.ts +82 -0
- package/lib/public/src/components/pcfactory/src/TreeTable/hooks/useExpandable.tsx +61 -0
- package/lib/public/src/components/pcfactory/src/TreeTable/index.tsx +273 -0
- package/lib/public/src/components/pcfactory/src/Upload/Upload.tsx +740 -0
- package/lib/public/src/components/pcfactory/src/Upload/index.tsx +29 -0
- package/lib/public/src/components/pcfactory/src/Upload/loader.tsx +13 -0
- package/lib/public/src/components/pcfactory/src/VerificationCode/assets/placeholder.png +0 -0
- package/lib/public/src/components/pcfactory/src/VerificationCode/index.tsx +297 -0
- package/lib/public/src/components/pcfactory/src/VerticalView/index.tsx +25 -0
- package/lib/public/src/components/pcfactory/src/VideoPlayer/index.tsx +159 -0
- package/lib/public/src/components/pcfactory/src/View/index.tsx +150 -0
- package/lib/public/src/components/pcfactory/src/View/useBackgroundStyle.ts +75 -0
- package/lib/public/src/components/pcfactory/src/VirtualGroup/index.tsx +16 -0
- package/lib/public/src/components/pcfactory/src/Webview/index.tsx +104 -0
- package/lib/public/src/components/pcfactory/src/index.component.ts +253 -0
- package/lib/public/src/components/pcfactory/src/styles/common.less +107 -0
- package/lib/public/src/components/pcfactory/src/styles/compatible.less +976 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Alert.less +25 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Audio.less +198 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Button.less +32 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Card.less +155 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Cascader.less +54 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Checkbox.less +7 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Collapse.less +214 -0
- package/lib/public/src/components/pcfactory/src/styles/components/DatePicker.less +22 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Description.less +64 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Divider.less +530 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Drawer.less +54 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Dropdown.less +11 -0
- package/lib/public/src/components/pcfactory/src/styles/components/DynamicDataContainer.less +16 -0
- package/lib/public/src/components/pcfactory/src/styles/components/DynamicTabs.less +254 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Form.less +265 -0
- package/lib/public/src/components/pcfactory/src/styles/components/FormGroup.less +111 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Gantt.less +139 -0
- package/lib/public/src/components/pcfactory/src/styles/components/GridView.less +62 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Icon.less +20 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Input.less +164 -0
- package/lib/public/src/components/pcfactory/src/styles/components/InputNumber.less +124 -0
- package/lib/public/src/components/pcfactory/src/styles/components/InputPassword.less +3 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Link.less +4 -0
- package/lib/public/src/components/pcfactory/src/styles/components/LoopList.less +67 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Menu.less +54 -0
- package/lib/public/src/components/pcfactory/src/styles/components/ModalSelect.less +42 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Popconfirm.less +7 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Progress.less +57 -0
- package/lib/public/src/components/pcfactory/src/styles/components/QuillEditor.less +15 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Radio.less +7 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Rate.less +16 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Result.less +26 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Select.less +146 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Slider.less +78 -0
- package/lib/public/src/components/pcfactory/src/styles/components/StdUpload.less +225 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Step.less +91 -0
- package/lib/public/src/components/pcfactory/src/styles/components/SuperSelect.less +83 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Swiper.less +106 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Switch.less +49 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Table.less +1229 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Tabs.less +291 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Tag.less +107 -0
- package/lib/public/src/components/pcfactory/src/styles/components/TextArea.less +12 -0
- package/lib/public/src/components/pcfactory/src/styles/components/TooltipView.less +43 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Transfer.less +155 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Tree.less +329 -0
- package/lib/public/src/components/pcfactory/src/styles/components/TreeSelect.less +65 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Upload.less +26 -0
- package/lib/public/src/components/pcfactory/src/styles/components/VerificationCode.less +162 -0
- package/lib/public/src/components/pcfactory/src/styles/components/Webview.less +31 -0
- package/lib/public/src/components/pcfactory/src/styles/index.less +10 -0
- package/lib/public/src/components/pcfactory/src/styles/index.ued.less +65 -0
- package/lib/public/src/components/pcfactory/src/styles/theme/variables/antdVariables.less +84 -0
- package/lib/public/src/components/pcfactory/src/styles/theme/variables/common.less +9 -0
- package/lib/public/src/components/pcfactory/src/styles/theme/variables/customVariables.less +35 -0
- package/lib/public/src/components/pcfactory/src/styles/theme/variables/index.less +2 -0
- package/lib/public/src/components/pcfactory/src/utils/ChannelContainer.tsx +150 -0
- package/lib/public/src/components/pcfactory/src/utils/ChildRender.ts +103 -0
- package/lib/public/src/components/pcfactory/src/utils/CustomModule.tsx +134 -0
- package/lib/public/src/components/pcfactory/src/utils/DummyFormContext.ts +136 -0
- package/lib/public/src/components/pcfactory/src/utils/Empty/customLocale.tsx +6 -0
- package/lib/public/src/components/pcfactory/src/utils/Empty/empty.tsx +37 -0
- package/lib/public/src/components/pcfactory/src/utils/LoaderHelper.tsx +29 -0
- package/lib/public/src/components/pcfactory/src/utils/PropsType.ts +21 -0
- package/lib/public/src/components/pcfactory/src/utils/WithSyncValue.ts +218 -0
- package/lib/public/src/components/pcfactory/src/utils/ahooks/index.ts +22 -0
- package/lib/public/src/components/pcfactory/src/utils/ahooks/useCreation.ts +23 -0
- package/lib/public/src/components/pcfactory/src/utils/ahooks/useDeepCompareEffect.ts +27 -0
- package/lib/public/src/components/pcfactory/src/utils/ahooks/useMap.ts +46 -0
- package/lib/public/src/components/pcfactory/src/utils/ahooks/useMemoizedFn.ts +27 -0
- package/lib/public/src/components/pcfactory/src/utils/ahooks/usePrevious.ts +19 -0
- package/lib/public/src/components/pcfactory/src/utils/ahooks/useSafeState.ts +26 -0
- package/lib/public/src/components/pcfactory/src/utils/ahooks/useSetState.ts +26 -0
- package/lib/public/src/components/pcfactory/src/utils/ahooks/useUnmountedRef.ts +14 -0
- package/lib/public/src/components/pcfactory/src/utils/ahooks/useUpdate.ts +9 -0
- package/lib/public/src/components/pcfactory/src/utils/ahooks/useUpdateEffect.ts +16 -0
- package/lib/public/src/components/pcfactory/src/utils/basicStatusTransfer.ts +32 -0
- package/lib/public/src/components/pcfactory/src/utils/common.ts +367 -0
- package/lib/public/src/components/pcfactory/src/utils/dynamicUtils/DynamicContext.tsx +106 -0
- package/lib/public/src/components/pcfactory/src/utils/formUtils/FormContext.tsx +131 -0
- package/lib/public/src/components/pcfactory/src/utils/formUtils/FormFields.tsx +646 -0
- package/lib/public/src/components/pcfactory/src/utils/formUtils/WrapperContainer.tsx +123 -0
- package/lib/public/src/components/pcfactory/src/utils/formUtils/cmdHelper.ts +411 -0
- package/lib/public/src/components/pcfactory/src/utils/formUtils/common.ts +28 -0
- package/lib/public/src/components/pcfactory/src/utils/getExportDefaultObj.ts +11 -0
- package/lib/public/src/components/pcfactory/src/utils/hooks/useCommonImperativeHandle.ts +140 -0
- package/lib/public/src/components/pcfactory/src/utils/hooks/useDataMask.ts +83 -0
- package/lib/public/src/components/pcfactory/src/utils/hooks/useDoubleClick.ts +63 -0
- package/lib/public/src/components/pcfactory/src/utils/hooks/useFuncExpExecute.ts +86 -0
- package/lib/public/src/components/pcfactory/src/utils/hooks/useGetStaticAttrData.ts +41 -0
- package/lib/public/src/components/pcfactory/src/utils/hooks/useHiddenStyle.ts +43 -0
- package/lib/public/src/components/pcfactory/src/utils/hooks/useInitReactQuill.ts +90 -0
- package/lib/public/src/components/pcfactory/src/utils/hooks/useListenState.ts +26 -0
- package/lib/public/src/components/pcfactory/src/utils/hooks/useLocale.ts +129 -0
- package/lib/public/src/components/pcfactory/src/utils/hooks/usePrintMode.tsx +80 -0
- package/lib/public/src/components/pcfactory/src/utils/hooks/useRules.ts +89 -0
- package/lib/public/src/components/pcfactory/src/utils/hooks/useTestHelper.ts +26 -0
- package/lib/public/src/components/pcfactory/src/utils/hooks/useToggleBoolean.ts +33 -0
- package/lib/public/src/components/pcfactory/src/utils/index.ts +19 -0
- package/lib/public/src/components/pcfactory/src/utils/polyfill.js +305 -0
- package/lib/public/src/components/pcfactory/src/utils/renderReadOnly.tsx +105 -0
- package/lib/public/src/components/pcfactory/src/variables.ts +2 -0
- package/lib/public/src/components/pcfactory/typings.d.ts +27 -0
- package/lib/public/src/hooks/useGenerateContext.ts +73 -0
- package/lib/public/src/styles/common.less +41 -0
- package/lib/public/src/styles/index.less +4 -0
- package/lib/public/src/styles/index.ts +1 -0
- package/lib/public/src/styles/theme/variables.less +130 -0
- package/lib/public/src/utils/LcdpSpin/index.less +13 -0
- package/lib/public/src/utils/LcdpSpin/index.tsx +12 -0
- package/lib/public/src/utils/ModalManager/Drawer/index.less +30 -0
- package/lib/public/src/utils/ModalManager/Drawer/index.tsx +109 -0
- package/lib/public/src/utils/ModalManager/Modal/index.less +7 -0
- package/lib/public/src/utils/ModalManager/Modal/index.tsx +96 -0
- package/lib/public/src/utils/ModalManager/index.tsx +278 -0
- package/lib/public/src/utils/Security/encipher/des.ts +52 -0
- package/lib/public/src/utils/customFuncMapping.ts +107 -0
- package/lib/public/src/utils/formUtils.ts +458 -0
- package/lib/public/src/utils/i18n/i18n.ts +15 -0
- package/lib/public/src/utils/i18n/index.ts +7 -0
- package/lib/public/src/utils/i18n/locale/app/en_US.ts +77 -0
- package/lib/public/src/utils/i18n/locale/app/index.ts +9 -0
- package/lib/public/src/utils/i18n/locale/app/otherLocale.ts +2 -0
- package/lib/public/src/utils/i18n/locale/app/zh_CN.ts +65 -0
- package/lib/public/src/utils/i18n/locale/app/zh_HK.ts +66 -0
- package/lib/public/src/utils/i18n/locale/base/en_US.ts +449 -0
- package/lib/public/src/utils/i18n/locale/base/index.ts +5 -0
- package/lib/public/src/utils/i18n/locale/base/zh_CN.ts +413 -0
- package/lib/public/src/utils/i18n/locale/base/zh_HK.ts +411 -0
- package/lib/public/src/utils/i18n/locale/pc/en_US.ts +131 -0
- package/lib/public/src/utils/i18n/locale/pc/index.ts +9 -0
- package/lib/public/src/utils/i18n/locale/pc/otherLocale.ts +2 -0
- package/lib/public/src/utils/i18n/locale/pc/zh_CN.ts +105 -0
- package/lib/public/src/utils/i18n/locale/pc/zh_HK.ts +105 -0
- package/lib/public/src/utils/i18n/localeMonitor.ts +71 -0
- package/lib/public/src/utils/i18n/locales.ts +30 -0
- package/lib/public/src/utils/i18n/replaceMessage.ts +29 -0
- package/lib/public/src/utils/i18n/types.ts +2 -0
- package/lib/public/src/utils/i18n/useLocale.ts +129 -0
- package/lib/public/src/utils/messageApi.ts +93 -0
- package/lib/public/src/utils/useTool.ts +428 -0
- package/package.json +2 -2
- /package/lib/public/src/utils/functors/{dateAdd.ts → DATEADD.ts} +0 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
@import (reference) '~antd/lib/style/themes/default.less';
|
|
2
|
+
@import './common.less';
|
|
3
|
+
/**
|
|
4
|
+
* 此文件定义 antd 原生变量
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// 通用变量
|
|
8
|
+
@ant-prefix: pcfactory;
|
|
9
|
+
@primary-color: #4477ee;
|
|
10
|
+
@success-color: #41e19b;
|
|
11
|
+
@error-color: #ff7474;
|
|
12
|
+
@info-color: @primary-color;
|
|
13
|
+
@warning-color: #ff9d49;
|
|
14
|
+
@text-color: @custom-black-10;
|
|
15
|
+
@border-color-base: #e5e5e5;
|
|
16
|
+
@border-radius-base: 2px;
|
|
17
|
+
@border-color-split: @border-color-base;
|
|
18
|
+
@heading-color: @text-color;
|
|
19
|
+
@item-hover-bg: fade(@text-color, 4%);
|
|
20
|
+
@item-active-bg: fade(@primary-color, 6%);
|
|
21
|
+
@disabled-bg: #f7f8fa;
|
|
22
|
+
@disabled-color: @custom-black-2;
|
|
23
|
+
// vertical padding for all form controls
|
|
24
|
+
@control-padding-horizontal: 8px;
|
|
25
|
+
@control-padding-horizontal-sm: @control-padding-horizontal;
|
|
26
|
+
|
|
27
|
+
// 表格
|
|
28
|
+
@table-header-bg: #fafafa;
|
|
29
|
+
@table-header-bg-sm: @table-header-bg;
|
|
30
|
+
@table-padding-horizontal: 8px;
|
|
31
|
+
@table-padding-horizontal-md: @table-padding-horizontal;
|
|
32
|
+
@table-padding-horizontal-sm: @table-padding-horizontal-md;
|
|
33
|
+
@table-padding-vertical: 10px;
|
|
34
|
+
@table-padding-vertical-md: @table-padding-vertical - 2px;
|
|
35
|
+
@table-padding-vertical-sm: @table-padding-vertical-md - 2px;
|
|
36
|
+
@table-row-hover-bg: rgb(251, 251, 251);
|
|
37
|
+
@table-selected-row-bg: #f0f6ff;
|
|
38
|
+
|
|
39
|
+
// 表单
|
|
40
|
+
@form-explain-font-size: 12px;
|
|
41
|
+
@form-explain-height: 16px;
|
|
42
|
+
|
|
43
|
+
// 卡片
|
|
44
|
+
@card-head-color: @heading-color;
|
|
45
|
+
|
|
46
|
+
// 按钮
|
|
47
|
+
@btn-default-color: @text-color;
|
|
48
|
+
|
|
49
|
+
// 输入框
|
|
50
|
+
@input-hover-border-color: @primary-color;
|
|
51
|
+
@input-height-sm: 28px;
|
|
52
|
+
@input-height-base: 32px;
|
|
53
|
+
@input-height-lg: 36px;
|
|
54
|
+
@input-padding-horizontal-base: @control-padding-horizontal;
|
|
55
|
+
@input-padding-horizontal-sm: @input-padding-horizontal-base;
|
|
56
|
+
@input-padding-horizontal-lg: @input-padding-horizontal-base;
|
|
57
|
+
@input-padding-vertical-sm: 4px;
|
|
58
|
+
@input-padding-vertical-base: 4px;
|
|
59
|
+
@input-padding-vertical-lg: 6px;
|
|
60
|
+
|
|
61
|
+
// 下拉框
|
|
62
|
+
@select-item-selected-font-weight: 500;
|
|
63
|
+
@select-item-selected-bg: #fff;
|
|
64
|
+
@select-item-active-bg: @select-item-selected-bg;
|
|
65
|
+
|
|
66
|
+
// 警告提示
|
|
67
|
+
@alert-message-color: @custom-black-8;
|
|
68
|
+
@alert-success-border-color: fade(@success-color, 80%);
|
|
69
|
+
@alert-success-bg-color: fade(@success-color, 10%);
|
|
70
|
+
@alert-success-icon-color: @success-color;
|
|
71
|
+
@alert-info-border-color: fade(@info-color, 80%);
|
|
72
|
+
@alert-info-bg-color: fade(@info-color, 10%);
|
|
73
|
+
@alert-info-icon-color: @info-color;
|
|
74
|
+
@alert-warning-border-color: fade(@warning-color, 80%);
|
|
75
|
+
@alert-warning-bg-color: fade(@warning-color, 10%);
|
|
76
|
+
@alert-warning-icon-color: @warning-color;
|
|
77
|
+
@alert-error-border-color: fade(@error-color, 80%);
|
|
78
|
+
@alert-error-bg-color: fade(@error-color, 10%);
|
|
79
|
+
@alert-error-icon-color: @error-color;
|
|
80
|
+
|
|
81
|
+
// 折叠面板
|
|
82
|
+
@collapse-background-color: @component-background;
|
|
83
|
+
@collapse-background-gray-color: fade(@text-color, 4%);
|
|
84
|
+
@collapse-header-line-height: 24px;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// 颜色色板相关
|
|
2
|
+
@custom-black-10: #1c242e;
|
|
3
|
+
@custom-black-8: fade(@custom-black-10, 85%);
|
|
4
|
+
@custom-black-7: fade(@custom-black-10, 75%);
|
|
5
|
+
@custom-black-6: fade(@custom-black-10, 65%);
|
|
6
|
+
@custom-black-5: fade(@custom-black-10, 55%);
|
|
7
|
+
@custom-black-4: fade(@custom-black-10, 45%);
|
|
8
|
+
@custom-black-3: fade(@custom-black-10, 35%);
|
|
9
|
+
@custom-black-2: fade(@custom-black-10, 25%);
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@import './common.less';
|
|
2
|
+
/**
|
|
3
|
+
* 此文件定义 自定义变量
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// 来自于涛哥自定义的变量,边距字号相关
|
|
7
|
+
@padding-xxxs: 2px;
|
|
8
|
+
@padding-xxs: 4px;
|
|
9
|
+
@padding-20: 20px;
|
|
10
|
+
@font-weight-default: 400;
|
|
11
|
+
@font-weight-bold: 500;
|
|
12
|
+
@font-weight-bolder: 600;
|
|
13
|
+
|
|
14
|
+
// 表格相关
|
|
15
|
+
@table-border-color: #f0f0f0;
|
|
16
|
+
@table-zebra-stripe-bg: @table-row-hover-bg;
|
|
17
|
+
@table-td-height: 48px;
|
|
18
|
+
@table-middle-td-height: 40px;
|
|
19
|
+
@table-small-td-height: 32px;
|
|
20
|
+
@table-data-input-height: @table-td-height - @table-padding-vertical * 2;
|
|
21
|
+
@middle-table-data-input-height: @table-middle-td-height - @table-padding-vertical-md * 2;
|
|
22
|
+
@small-table-data-input-height: 20px;
|
|
23
|
+
@small-table-data-input-line-height: @table-small-td-height - @table-padding-vertical-sm * 2;
|
|
24
|
+
|
|
25
|
+
// 滚动条颜色相关
|
|
26
|
+
@scrollbar-thumb-color: #d8d8d8;
|
|
27
|
+
|
|
28
|
+
// 输入框相关
|
|
29
|
+
@input-affix-padding: @input-padding-horizontal-base * 2 + 14px;
|
|
30
|
+
|
|
31
|
+
// 来自于涛哥自定义的变量,暂时只发现在树选择中使用到,之后根据使用场景,再进行划分
|
|
32
|
+
@icon-btn-light-color: @custom-black-2;
|
|
33
|
+
@icon-btn-default-color: @custom-black-4;
|
|
34
|
+
@icon-btn-hover-color: @custom-black-7;
|
|
35
|
+
@select-tree-tag-background-color: #f5f5f5;
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import React, {
|
|
2
|
+
FC,
|
|
3
|
+
forwardRef,
|
|
4
|
+
ForwardRefExoticComponent,
|
|
5
|
+
FunctionComponent,
|
|
6
|
+
useCallback,
|
|
7
|
+
useRef,
|
|
8
|
+
useState,
|
|
9
|
+
} from 'react';
|
|
10
|
+
// TODO: 替换成自定义hooks 待处理
|
|
11
|
+
import { useDeepCompareEffect } from 'ahooks';
|
|
12
|
+
import { get, isEqualWith, set } from 'lodash';
|
|
13
|
+
|
|
14
|
+
// 通道容器,解决父子组件之间值的传递和获取。
|
|
15
|
+
|
|
16
|
+
export interface PanelContentProps {
|
|
17
|
+
children: React.ReactElement;
|
|
18
|
+
extendProps: Record<string, any>;
|
|
19
|
+
uploadChannelProps: (props: Record<string, any>, key: string) => void;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface ChannelContainerOptions {
|
|
23
|
+
uploadChannelProps: (props: Record<string, any>, key: string) => void;
|
|
24
|
+
getProps: (c: React.ReactElement) => any;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface ChannelContainerProps {
|
|
28
|
+
children: (options: ChannelContainerOptions) => React.ReactElement;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* 容器组件 收集子组件的值
|
|
33
|
+
* @param props
|
|
34
|
+
* @returns
|
|
35
|
+
*/
|
|
36
|
+
const Container: FC<ChannelContainerProps> = (props) => {
|
|
37
|
+
const { children } = props;
|
|
38
|
+
const childrenProps = useRef<Record<string, any>>({}).current;
|
|
39
|
+
const [, forceUpdate] = useState({});
|
|
40
|
+
const uploadChannelProps = useCallback(
|
|
41
|
+
(props: Record<string, any>, key: string) => {
|
|
42
|
+
childrenProps[key] = props;
|
|
43
|
+
if (
|
|
44
|
+
!isEqualWith(props, childrenProps[key], (v1, v2) => {
|
|
45
|
+
if (typeof v1 === 'function' && typeof v2 === 'function') {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
})
|
|
50
|
+
) {
|
|
51
|
+
forceUpdate({});
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
[],
|
|
55
|
+
);
|
|
56
|
+
// @ts-ignore
|
|
57
|
+
const getProps = useCallback((c) => childrenProps[c.key] || {}, []);
|
|
58
|
+
|
|
59
|
+
return children({ uploadChannelProps, getProps });
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
Container.displayName = 'ChannelContainer';
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* 包裹子组件,可以给子组件传递额外的数据,也可以监听属性值变化
|
|
66
|
+
* @param props
|
|
67
|
+
* @returns
|
|
68
|
+
*/
|
|
69
|
+
const Item: FC<PanelContentProps> = (props) => {
|
|
70
|
+
const { children, extendProps, uploadChannelProps } = props;
|
|
71
|
+
return React.cloneElement(children, {
|
|
72
|
+
extendProps: {
|
|
73
|
+
...extendProps,
|
|
74
|
+
uploadChannelProps: (childProps: Record<string, any>) => {
|
|
75
|
+
uploadChannelProps(childProps, `${children.key}`);
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
Item.defaultProps = {
|
|
82
|
+
extendProps: {},
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
Item.displayName = 'ChannelContainerItem';
|
|
86
|
+
|
|
87
|
+
export interface useRuntimePropsType {
|
|
88
|
+
(
|
|
89
|
+
props: Record<string, any>,
|
|
90
|
+
keyPath: string[],
|
|
91
|
+
uploadChannelProps: (props: Record<string, any>) => void,
|
|
92
|
+
): void;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* 实时上报数据给父节点 配合RuntimeContainer使用
|
|
97
|
+
* 可自定义配置属性,可自定义props内容。
|
|
98
|
+
* 自动根据keyPath取props的值,并上报keyPath到RuntimeContainer,
|
|
99
|
+
* 不可与withRuntimeItem同时使用
|
|
100
|
+
* @param props 字段对应的数据值
|
|
101
|
+
* @param depthKey 需要上报的字段
|
|
102
|
+
*/
|
|
103
|
+
const useChannelProps: useRuntimePropsType = (
|
|
104
|
+
props,
|
|
105
|
+
depthKey = [],
|
|
106
|
+
uploadChannelProps,
|
|
107
|
+
) => {
|
|
108
|
+
const target = {};
|
|
109
|
+
depthKey.forEach((key) =>
|
|
110
|
+
set(target, key.split('.'), get(props, key.split('.'))),
|
|
111
|
+
);
|
|
112
|
+
useDeepCompareEffect(() => {
|
|
113
|
+
if (uploadChannelProps) {
|
|
114
|
+
uploadChannelProps(target);
|
|
115
|
+
}
|
|
116
|
+
}, [target]);
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* 实时上报数据给父节点 配合RuntimeContainer使用
|
|
121
|
+
* 针对上报静态属性,可以通过高阶函数的方式包裹子组件,并配置需要上报的属性
|
|
122
|
+
* 自动根据keyPath取props的值,并上报keyPath到RuntimeContainer
|
|
123
|
+
* 不可与withRuntimeItem同时使用
|
|
124
|
+
* @param Component 子组件
|
|
125
|
+
* @param options
|
|
126
|
+
* @returns
|
|
127
|
+
*/
|
|
128
|
+
function withChannelItem<T extends Record<string, any>>(
|
|
129
|
+
Component: FunctionComponent<any> | ForwardRefExoticComponent<any>,
|
|
130
|
+
options: { keyPath: string[] },
|
|
131
|
+
) {
|
|
132
|
+
const { keyPath } = options;
|
|
133
|
+
return forwardRef((props: T, ref) => {
|
|
134
|
+
const { uploadChannelProps, ...restProps } = props;
|
|
135
|
+
useChannelProps(props, keyPath, uploadChannelProps);
|
|
136
|
+
return <Component {...restProps} ref={ref} />;
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
(Container as any).Item = React.memo(Item);
|
|
141
|
+
(Container as any).useChannelProps = useChannelProps;
|
|
142
|
+
(Container as any).withChannelItem = withChannelItem;
|
|
143
|
+
|
|
144
|
+
const ChannelContainer = Container as typeof Container & {
|
|
145
|
+
Item: typeof Item;
|
|
146
|
+
useChannelProps: typeof useChannelProps;
|
|
147
|
+
withChannelItem: typeof withChannelItem;
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
export default ChannelContainer;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { createContext, useContext, useRef, useState } from 'react';
|
|
2
|
+
import { useUpdate } from './ahooks';
|
|
3
|
+
|
|
4
|
+
export interface ChildRenderContextProps {
|
|
5
|
+
collectChildData?: (id: string, data: any) => void;
|
|
6
|
+
collectChildren?: (id: string, children: any) => void;
|
|
7
|
+
update?: () => void;
|
|
8
|
+
getCurrentData?: (id: string) => { currentIndex: number; props: any };
|
|
9
|
+
parentProps?: any;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const childRenderContext = createContext<ChildRenderContextProps>({});
|
|
13
|
+
|
|
14
|
+
export const ChildRenderProvider = childRenderContext.Provider;
|
|
15
|
+
|
|
16
|
+
export const useChildRenderContext = () => {
|
|
17
|
+
return useContext(childRenderContext);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
// 给上下文提供通用方法
|
|
21
|
+
export const useChildRender = () => {
|
|
22
|
+
// 完成收集子元素
|
|
23
|
+
const [collectComplete, setColletComplete] = useState<boolean>(false);
|
|
24
|
+
const update = useUpdate();
|
|
25
|
+
|
|
26
|
+
const childRef = useRef<{
|
|
27
|
+
list: string[];
|
|
28
|
+
data: Map<string, any>;
|
|
29
|
+
renderChild: Map<string, { current: any }>;
|
|
30
|
+
props: Map<string, any>;
|
|
31
|
+
parentProps: any;
|
|
32
|
+
}>({
|
|
33
|
+
list: [],
|
|
34
|
+
data: new Map(),
|
|
35
|
+
renderChild: new Map(),
|
|
36
|
+
props: new Map(),
|
|
37
|
+
parentProps: {},
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const getIndex = (_id: string) => {
|
|
41
|
+
return childRef.current.list
|
|
42
|
+
.filter((id) => {
|
|
43
|
+
return childRef.current.data.get(id)?.visible ?? true;
|
|
44
|
+
})
|
|
45
|
+
.findIndex((id) => id === _id);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
// 渲染子组件
|
|
49
|
+
const renderChildren = () => {
|
|
50
|
+
const { renderChild: childData, list } = childRef.current;
|
|
51
|
+
if (collectComplete) {
|
|
52
|
+
return list.map((key) => {
|
|
53
|
+
return childData.get(key)?.current ?? null;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return null;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
return {
|
|
60
|
+
childRef,
|
|
61
|
+
collectComplete,
|
|
62
|
+
// 更新子控件列表
|
|
63
|
+
resetList: (list: string[]) => {
|
|
64
|
+
childRef.current.list = list;
|
|
65
|
+
},
|
|
66
|
+
// 渲染子组件
|
|
67
|
+
renderChildren,
|
|
68
|
+
addChildProps: (id: string, data: any) => {
|
|
69
|
+
childRef.current.props.set(id, data);
|
|
70
|
+
},
|
|
71
|
+
addParentProps: (_props: any) => {
|
|
72
|
+
childRef.current.parentProps = _props;
|
|
73
|
+
},
|
|
74
|
+
// 提供给childRenderContext上下文使用
|
|
75
|
+
context: {
|
|
76
|
+
collectChildData: (id: string, data: any) => {
|
|
77
|
+
childRef.current.data.set(id, data);
|
|
78
|
+
},
|
|
79
|
+
// 根据id获取当前数据
|
|
80
|
+
getCurrentData: (id: string) => {
|
|
81
|
+
const result = {
|
|
82
|
+
currentIndex: getIndex(id),
|
|
83
|
+
props: childRef.current.props.get(id) || {},
|
|
84
|
+
};
|
|
85
|
+
return result;
|
|
86
|
+
},
|
|
87
|
+
collectChildren: (id: string, child: { current: any }) => {
|
|
88
|
+
childRef.current.renderChild.set(id, child);
|
|
89
|
+
if (
|
|
90
|
+
childRef.current.renderChild.size === childRef.current.list.length
|
|
91
|
+
) {
|
|
92
|
+
setColletComplete(true);
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
update() {
|
|
96
|
+
update();
|
|
97
|
+
},
|
|
98
|
+
get parentProps() {
|
|
99
|
+
return childRef.current.parentProps;
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
};
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { EngineApisType } from '@lingxiteam/types';
|
|
2
|
+
import React, { FC, useMemo } from 'react';
|
|
3
|
+
import ReactDOM from 'react-dom';
|
|
4
|
+
import { getExportDefaultObj } from './getExportDefaultObj';
|
|
5
|
+
|
|
6
|
+
export function isAtLeastReact17(version: string): boolean {
|
|
7
|
+
const major = version.match(/^([^.]+)/);
|
|
8
|
+
return major !== null && parseInt(major[0], 10) >= 17;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const withErrorBoundary = (
|
|
12
|
+
Component: React.ComponentType,
|
|
13
|
+
options: {
|
|
14
|
+
id: string;
|
|
15
|
+
render?: (error: Error, componentStack: string | null) => React.ReactNode;
|
|
16
|
+
},
|
|
17
|
+
) =>
|
|
18
|
+
class CustomErrorModule extends React.Component {
|
|
19
|
+
state: Readonly<{
|
|
20
|
+
error: Error | null;
|
|
21
|
+
componentStack: string | null;
|
|
22
|
+
}> = {
|
|
23
|
+
error: null,
|
|
24
|
+
componentStack: null,
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
componentDidCatch(
|
|
28
|
+
error: Error & { cause?: Error },
|
|
29
|
+
{ componentStack }: React.ErrorInfo,
|
|
30
|
+
) {
|
|
31
|
+
if (isAtLeastReact17(React.version)) {
|
|
32
|
+
const errorBoundaryError = new Error(error.message);
|
|
33
|
+
errorBoundaryError.name = `React ErrorBoundary ${errorBoundaryError.name}`;
|
|
34
|
+
errorBoundaryError.stack = componentStack;
|
|
35
|
+
error.cause = errorBoundaryError;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
this.setState({ error, componentStack });
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
render(): React.ReactNode {
|
|
42
|
+
const { error, componentStack } = this.state;
|
|
43
|
+
if (error) {
|
|
44
|
+
if (typeof options.render === 'function') {
|
|
45
|
+
return options.render(error, componentStack);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
console.error(`组件${options.id}自定义渲染时出错:`, error);
|
|
49
|
+
console.error(`组件${options.id}自定义渲染时出错:`, componentStack);
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return <Component {...this.props} />;
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
interface CustomModuleProps {
|
|
58
|
+
/**
|
|
59
|
+
* 代码
|
|
60
|
+
*/
|
|
61
|
+
code: string;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* 组件属性
|
|
65
|
+
*/
|
|
66
|
+
compProps: Record<string, any>;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* 引擎能力
|
|
70
|
+
*/
|
|
71
|
+
sandBoxLoadModule: EngineApisType['sandBoxLoadModule'];
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* 错误组件提供的信息
|
|
75
|
+
*/
|
|
76
|
+
errorInfo: {
|
|
77
|
+
// 组件id
|
|
78
|
+
id: string;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* 自定义错误渲染信息 默认只打印错误日志,不做错误展示
|
|
82
|
+
* @param error
|
|
83
|
+
* @param componentStack
|
|
84
|
+
* @returns
|
|
85
|
+
*/
|
|
86
|
+
render?: (error: Error, componentStack: string | null) => React.ReactNode;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* any
|
|
91
|
+
*/
|
|
92
|
+
allowMap?: Record<string, any>;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const CustomModule: FC<CustomModuleProps> = ({
|
|
96
|
+
sandBoxLoadModule,
|
|
97
|
+
code,
|
|
98
|
+
compProps,
|
|
99
|
+
errorInfo,
|
|
100
|
+
allowMap,
|
|
101
|
+
}) => {
|
|
102
|
+
// 加载到组件模块
|
|
103
|
+
const Component = useMemo(() => {
|
|
104
|
+
if (!code) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
const module = sandBoxLoadModule(code, { allowMap });
|
|
108
|
+
return withErrorBoundary(getExportDefaultObj(module), errorInfo);
|
|
109
|
+
}, [code]);
|
|
110
|
+
|
|
111
|
+
return Component ? <Component {...compProps} /> : null;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export const getJSXHtml = (
|
|
115
|
+
reactNode: React.ReactElement,
|
|
116
|
+
cb?: (html: string) => void,
|
|
117
|
+
options: { id?: string } = {},
|
|
118
|
+
) => {
|
|
119
|
+
const { id = `__JSX_id__${Math.random()}` } = options || {};
|
|
120
|
+
let tempDOM = document.getElementById(id);
|
|
121
|
+
if (!tempDOM) {
|
|
122
|
+
tempDOM = document.createElement('jsx');
|
|
123
|
+
tempDOM.style.display = 'none';
|
|
124
|
+
tempDOM.id = id;
|
|
125
|
+
document.head.appendChild(tempDOM);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
ReactDOM.render(reactNode, tempDOM, () => {
|
|
129
|
+
cb?.(tempDOM?.innerHTML || '');
|
|
130
|
+
tempDOM?.remove();
|
|
131
|
+
});
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
export default CustomModule;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
const DummyFormContext = React.createContext<any>(null);
|
|
4
|
+
|
|
5
|
+
const useDummyFormContext = () => {
|
|
6
|
+
return React.useContext(DummyFormContext) || {};
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
// 以下是用于嵌套fieldName写法的东西
|
|
10
|
+
const CHECK_ARR = ['[', ']', '.'];
|
|
11
|
+
// 判断当前索引是否在引号的字符串引用范围内
|
|
12
|
+
const inRange = (ind: number, rangearr: any[]) => {
|
|
13
|
+
let result = false;
|
|
14
|
+
rangearr.find((r) => {
|
|
15
|
+
if (ind > r.end || ind < r.start) {
|
|
16
|
+
// 如果索引已经超过了区间的范围,那么根本不用考虑
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
if (r.end >= ind && r.start <= ind) {
|
|
20
|
+
result = true;
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
return false;
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
return result;
|
|
27
|
+
};
|
|
28
|
+
// 检查路径。这个方法返回被切分好的标识符数组,空数组代表这个路径是不合法的
|
|
29
|
+
const pathSplit = (str: string) => {
|
|
30
|
+
const result = [];
|
|
31
|
+
|
|
32
|
+
let lastchar: string;
|
|
33
|
+
let rangestartind: number;
|
|
34
|
+
let quotechar: string;
|
|
35
|
+
const quoterange: any[] = [];
|
|
36
|
+
const strarr = [...str];
|
|
37
|
+
// 第一次遍历,进行简易的词法分析,本次仅额外处理形如[""]的完整字符串强调形式
|
|
38
|
+
strarr.forEach((c, ind) => {
|
|
39
|
+
if (['"', "'"].includes(c) && lastchar === '[') {
|
|
40
|
+
// 发现下标字符串的起始范围,启用记录
|
|
41
|
+
rangestartind = ind;
|
|
42
|
+
quotechar = c;
|
|
43
|
+
} else if (quotechar && lastchar === quotechar && c === ']') {
|
|
44
|
+
// 到达结束标记
|
|
45
|
+
quoterange.push({
|
|
46
|
+
start: rangestartind,
|
|
47
|
+
end: ind - 1,
|
|
48
|
+
});
|
|
49
|
+
quotechar = '';
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
lastchar = c;
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
let id = '';
|
|
56
|
+
// 贪心法拆分标识符
|
|
57
|
+
strarr.forEach((c, ind) => {
|
|
58
|
+
if (inRange(ind, quoterange)) {
|
|
59
|
+
if (!['"', "'"].includes(c)) {
|
|
60
|
+
id += c;
|
|
61
|
+
}
|
|
62
|
+
} else if (!CHECK_ARR.includes(c)) {
|
|
63
|
+
id += c;
|
|
64
|
+
} else if (id) {
|
|
65
|
+
result.push(id);
|
|
66
|
+
id = '';
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
if (id) {
|
|
70
|
+
result.push(id);
|
|
71
|
+
}
|
|
72
|
+
// TODO 检查标识符序列是否合法,如果不合法的话抛出空数组?
|
|
73
|
+
// 这个事情暂时在我这边不还原得很清楚
|
|
74
|
+
|
|
75
|
+
return result;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
const getObjByPath = (obj: any, path: string) => {
|
|
79
|
+
if (!obj) return undefined;
|
|
80
|
+
const sp = pathSplit(path);
|
|
81
|
+
// chained: 表示这个值取自一个链式写法 notcompletechain:表示途径属性链不完整,比如一个对象里的a字段对象里没有b字段,但取它的a.b,虽然不会报错(得到undefined),但这属性链条不完整
|
|
82
|
+
const finalresult = {
|
|
83
|
+
chained: false,
|
|
84
|
+
notcompletechain: false,
|
|
85
|
+
value: undefined,
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
let temp = obj;
|
|
89
|
+
if (sp.length > 0) {
|
|
90
|
+
finalresult.chained = true;
|
|
91
|
+
sp.forEach((k) => {
|
|
92
|
+
if (!temp || !(k in temp)) {
|
|
93
|
+
finalresult.notcompletechain = true;
|
|
94
|
+
}
|
|
95
|
+
temp = temp?.[k];
|
|
96
|
+
});
|
|
97
|
+
finalresult.value = temp;
|
|
98
|
+
} else {
|
|
99
|
+
finalresult.value = obj[path];
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return finalresult;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
const setObjByPath = (obj: any, path: string, val: any) => {
|
|
106
|
+
if (!obj) return;
|
|
107
|
+
|
|
108
|
+
const sp = pathSplit(path);
|
|
109
|
+
let result = obj;
|
|
110
|
+
const lastResult = obj;
|
|
111
|
+
let lastkey = '';
|
|
112
|
+
if (sp.length > 0) {
|
|
113
|
+
sp.forEach((k, ind) => {
|
|
114
|
+
if (ind < sp.length - 1) {
|
|
115
|
+
if (lastkey && /^\d+$/g.test(k)) {
|
|
116
|
+
// 如果有全数字,只要不是第一层,优先尝试给它处理成数组
|
|
117
|
+
lastResult[lastkey] = Array.isArray(lastResult[lastkey])
|
|
118
|
+
? lastResult[lastkey]
|
|
119
|
+
: [];
|
|
120
|
+
result = lastResult[lastkey]; // 把上一层改为数组
|
|
121
|
+
result[k] = result[k] || {};
|
|
122
|
+
result = result[k];
|
|
123
|
+
} else {
|
|
124
|
+
result[k] = result[k] || {};
|
|
125
|
+
result = result[k];
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
lastkey = k;
|
|
129
|
+
});
|
|
130
|
+
result[lastkey] = val;
|
|
131
|
+
} else {
|
|
132
|
+
obj[path] = val;
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
export { DummyFormContext, useDummyFormContext, getObjByPath, setObjByPath };
|