@cloudbase/weda-ui 3.4.2 → 3.4.3
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/dist/configs/components/auth.json +2 -1
- package/dist/configs/components/button.js +240 -0
- package/dist/configs/components/calendar.json +4 -2
- package/dist/configs/components/carousel.json +2 -1
- package/dist/configs/components/chart/bar.json +3 -2
- package/dist/configs/components/chart/line.js +868 -0
- package/dist/configs/components/chart/pie.json +3 -2
- package/dist/configs/components/chart/statisticsCard.json +3 -2
- package/dist/configs/components/container.js +64 -0
- package/dist/configs/components/dataView.json +16 -1
- package/dist/configs/components/drawer.json +2 -1
- package/dist/configs/components/flow/flow.json +26 -0
- package/dist/configs/components/flow/flowbasic.json +122 -0
- package/dist/configs/components/flow/flowchart.json +22 -0
- package/dist/configs/components/flow/flowcontrol.json +66 -0
- package/dist/configs/components/flow/flowlayout.json +31 -0
- package/dist/configs/components/flow/flowprocess.json +122 -0
- package/dist/configs/components/form/checkbox.json +2 -1
- package/dist/configs/components/form/departTreeSelect.json +2 -1
- package/dist/configs/components/form/form.json +2 -1
- package/dist/configs/components/form/input.json +2 -1
- package/dist/configs/components/form/location.json +2 -1
- package/dist/configs/components/form/radio.json +2 -1
- package/dist/configs/components/form/richText.json +2 -1
- package/dist/configs/components/form/select.json +6 -1
- package/dist/configs/components/form/switch.json +2 -1
- package/dist/configs/components/form/textarea.json +2 -1
- package/dist/configs/components/form/tips.json +2 -1
- package/dist/configs/components/form/uploader.json +2 -1
- package/dist/configs/components/form/uploaderFile.json +2 -1
- package/dist/configs/components/form/userTreeSelect.json +2 -1
- package/dist/configs/components/formdetail.json +4 -2
- package/dist/configs/components/graphicCard.json +2 -1
- package/dist/configs/components/image.js +195 -0
- package/dist/configs/components/link.js +68 -0
- package/dist/configs/components/listView.json +33 -1
- package/dist/configs/components/lottery.json +6 -2
- package/dist/configs/components/modal.js +72 -0
- package/dist/configs/components/navLayout.json +3 -2
- package/dist/configs/components/navigationBar.json +3 -2
- package/dist/configs/components/pagelayout.json +31 -0
- package/dist/configs/components/richtextview.json +4 -3
- package/dist/configs/components/scrollVeiw.json +5 -3
- package/dist/configs/components/slot.json +2 -1
- package/dist/configs/components/swiper.json +3 -2
- package/dist/configs/components/table.json +734 -0
- package/dist/configs/components/tabs.js +120 -0
- package/dist/configs/components/text.js +109 -0
- package/dist/configs/components/wd-bubble.json +170 -0
- package/dist/configs/components/wedaVideo.json +7 -2
- package/dist/configs/components/wxOpenApi/phone.js +126 -0
- package/dist/configs/components/wxOpenApi/phoneCode.js +117 -0
- package/dist/configs/components/wxOpenApi/share.js +164 -0
- package/dist/configs/components/wxOpenApi/userInfo.js +168 -0
- package/dist/configs/index.js +30 -12
- package/dist/configs/type-utils/index.js +89 -0
- package/dist/web/components/button/index.js +1 -1
- package/dist/web/components/carousel/index.js +10 -5
- package/dist/web/components/flow/components/FlowModuleText/Content.js +6 -0
- package/dist/web/components/flow/components/FlowModuleText/Title.js +16 -0
- package/dist/web/components/flow/components/FlowModuleText/index.css +7 -0
- package/dist/web/components/flow/components/FlowModuleText/index.js +7 -0
- package/dist/web/components/flow/components/FlowModuleText/utils.js +34 -0
- package/dist/web/components/flow/components/FlowStatusText/index.js +37 -0
- package/dist/web/components/flow/components/FlowUserSelect/index.css +119 -0
- package/dist/web/components/flow/components/FlowUserSelect/index.js +115 -0
- package/dist/web/components/flow/components/HighLightComment/index.js +31 -0
- package/dist/web/components/flow/components/HighlightTextarea/index.css +45 -0
- package/dist/web/components/flow/components/HighlightTextarea/index.js +131 -0
- package/dist/web/components/flow/components/UserSelectModel/UserSelect.js +71 -0
- package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.css +11 -0
- package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.js +83 -0
- package/dist/web/components/flow/components/UserSelectModel/index.js +18 -0
- package/dist/web/components/flow/components/WedaUserTransfer/index.css +6 -0
- package/dist/web/components/flow/components/WedaUserTransfer/index.js +162 -0
- package/dist/web/components/flow/components/index.js +7 -0
- package/dist/web/components/flow/constants/index.js +65 -0
- package/dist/web/components/flow/frame/getCommonFlowData.js +78 -0
- package/dist/web/components/flow/frame/hooks/index.js +2 -0
- package/dist/web/components/flow/frame/hooks/useCommonFlowRequest.js +148 -0
- package/dist/web/components/flow/frame/hooks/useElementMediaQuery.js +15 -0
- package/dist/web/components/flow/frame/index.js +58 -0
- package/dist/web/components/flow/frame/types.js +265 -0
- package/dist/web/components/flow/frame/utils.js +81 -0
- package/dist/web/components/flow/modules/basic/Basic.css +19 -0
- package/dist/web/components/flow/modules/basic/Basic.js +48 -0
- package/dist/web/components/flow/modules/basic/BasicMobile.css +32 -0
- package/dist/web/components/flow/modules/basic/BasicMobile.js +41 -0
- package/dist/web/components/flow/modules/basic/index.js +13 -0
- package/dist/web/components/flow/modules/basic/utils.js +20 -0
- package/dist/web/components/flow/modules/chart/Chart.js +302 -0
- package/dist/web/components/flow/modules/chart/constants.js +28 -0
- package/dist/web/components/flow/modules/chart/index.css +90 -0
- package/dist/web/components/flow/modules/chart/index.js +5 -0
- package/dist/web/components/flow/modules/combination/index.js +21 -0
- package/dist/web/components/flow/modules/control/ApprovalDrawer.css +147 -0
- package/dist/web/components/flow/modules/control/ApprovalDrawer.js +178 -0
- package/dist/web/components/flow/modules/control/ApprovalPopup.css +118 -0
- package/dist/web/components/flow/modules/control/ApprovalPopup.js +237 -0
- package/dist/web/components/flow/modules/control/Control.css +32 -0
- package/dist/web/components/flow/modules/control/Control.js +90 -0
- package/dist/web/components/flow/modules/control/ControlMobile.css +72 -0
- package/dist/web/components/flow/modules/control/ControlMobile.js +133 -0
- package/dist/web/components/flow/modules/control/FlowTaskInfoModal.css +6 -0
- package/dist/web/components/flow/modules/control/FlowTaskInfoModal.js +31 -0
- package/dist/web/components/flow/modules/control/constants/index.js +35 -0
- package/dist/web/components/flow/modules/control/index.js +15 -0
- package/dist/web/components/flow/modules/control/provider/index.js +17 -0
- package/dist/web/components/flow/modules/control/provider/useControlModel.js +243 -0
- package/dist/web/components/flow/modules/control/provider/useMobileModel.js +86 -0
- package/dist/web/components/flow/modules/control/provider/useRevokeAndBackHook.js +82 -0
- package/dist/web/components/flow/modules/control/utils/ControlModelUtils.js +57 -0
- package/dist/web/components/flow/modules/control/utils/index.js +2 -0
- package/dist/web/components/flow/modules/layout/index.css +9 -0
- package/dist/web/components/flow/modules/layout/index.js +22 -0
- package/dist/web/components/flow/modules/process/Process.js +73 -0
- package/dist/web/components/flow/modules/process/ProcessMobile.js +81 -0
- package/dist/web/components/flow/modules/process/index.css +188 -0
- package/dist/web/components/flow/modules/process/index.js +14 -0
- package/dist/web/components/flow/modules/process/utils/index.js +32 -0
- package/dist/web/components/flow/services/flow.js +111 -0
- package/dist/web/components/flow/services/ideData/chart.js +88 -0
- package/dist/web/components/flow/services/ideData/index.js +5 -0
- package/dist/web/components/flow/services/ideData/instance.js +23 -0
- package/dist/web/components/flow/services/ideData/pageDetail.js +41 -0
- package/dist/web/components/flow/services/ideData/process.js +27 -0
- package/dist/web/components/flow/services/index.js +2 -0
- package/dist/web/components/flow/services/user.js +23 -0
- package/dist/web/components/flow/services/utils.js +28 -0
- package/dist/web/components/form/enumSelect/NormalSelect.js +1 -1
- package/dist/web/components/form/form/index.js +4 -3
- package/dist/web/components/form/input/index.css +6 -1
- package/dist/web/components/form/input/index.js +1 -1
- package/dist/web/components/form/select/allTimePicker/dataUtils.js +10 -0
- package/dist/web/components/form/select/allTimePicker/index.js +36 -27
- package/dist/web/components/form/select/dropdown-select/h5.js +130 -0
- package/dist/web/components/form/select/dropdown-select/index.css +159 -0
- package/dist/web/components/form/select/dropdown-select/index.js +173 -0
- package/dist/web/components/form/select/dropdown-select/pc.js +73 -0
- package/dist/web/components/form/select/dropdown-select/ui.js +42 -40
- package/dist/web/components/form/select/h5.js +16 -6
- package/dist/web/components/form/select/index.css +8 -1
- package/dist/web/components/form/select/index.js +5 -7
- package/dist/web/components/form/select/request.js +106 -0
- package/dist/web/components/form/select/status/allEmpty.js +5 -0
- package/dist/web/components/form/select/status/empty.js +18 -0
- package/dist/web/components/form/select/status/index.css +66 -0
- package/dist/web/components/form/select/status/index.js +7 -0
- package/dist/web/components/form/select/status/loading.js +20 -0
- package/dist/web/components/form/select/status/propsType.js +1 -0
- package/dist/web/components/form/select/status/retry.js +20 -0
- package/dist/web/components/form/switch/index.js +1 -1
- package/dist/web/components/form/textarea/index.js +1 -1
- package/dist/web/components/form/uploader/uploader.h5.js +4 -4
- package/dist/web/components/form/uploader/uploader.pc.js +1 -1
- package/dist/web/components/form/uploaderFile/uploadFile.h5.js +1 -1
- package/dist/web/components/form/uploaderFile/uploadFile.pc.js +1 -1
- package/dist/web/components/form/userOrgSelect/common/fetch-data-service.js +194 -0
- package/dist/web/components/form/userOrgSelect/common/types.js +1 -0
- package/dist/web/components/form/userOrgSelect/common/utils.js +15 -0
- package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.js +1 -1
- package/dist/web/components/form/userOrgSelect/getUserService.js +10 -5
- package/dist/web/components/form/userOrgSelect/hooks/use-depart-data.js +93 -0
- package/dist/web/components/form/userOrgSelect/index.js +1 -1
- package/dist/web/components/form/userOrgSelect/user-select-pc/error-tips.js +11 -0
- package/dist/web/components/form/userOrgSelect/user-select-pc/index.css +216 -0
- package/dist/web/components/form/userOrgSelect/user-select-pc/index.js +195 -0
- package/dist/web/components/form/userOrgSelect/user-select-pc/model-user-list.js +99 -0
- package/dist/web/components/form/userOrgSelect/user-select-pc/org-tree.js +15 -0
- package/dist/web/components/form/userOrgSelect/user-select-pc/search-user.js +80 -0
- package/dist/web/components/form/userOrgSelect/user-select-pc/selected-user-list.js +12 -0
- package/dist/web/components/form/userOrgSelect/user-select-pc/user-model.js +36 -0
- package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.js +71 -47
- package/dist/web/components/image/index.js +1 -1
- package/dist/web/components/index.js +17 -0
- package/dist/web/components/listView/index.css +9 -1
- package/dist/web/components/listView/index.js +66 -50
- package/dist/web/components/modal/modal.h5.js +1 -1
- package/dist/web/components/modal/modal.pc.js +1 -1
- package/dist/web/components/navigationBar/index.css +2 -1
- package/dist/web/components/pageLayout/PageContent/index.css +28 -0
- package/dist/web/components/pageLayout/PageContent/index.js +81 -0
- package/dist/web/components/pageLayout/index.css +7 -0
- package/dist/web/components/pageLayout/index.js +21 -0
- package/dist/web/components/phoneCode/index.js +1 -0
- package/dist/web/components/richText/index.css +5 -1
- package/dist/web/components/richText/index.js +2 -2
- package/dist/web/components/richText/richtext.module.css +2 -2
- package/dist/web/components/table/BaseTable.js +1171 -0
- package/dist/web/components/table/FieldRender.js +622 -0
- package/dist/web/components/table/FilterFields.js +512 -0
- package/dist/web/components/table/Form/Enum.js +56 -0
- package/dist/web/components/table/Form/Location.css +14 -0
- package/dist/web/components/table/Form/Location.js +126 -0
- package/dist/web/components/table/ImportFileModal/csvTemplate.json +547 -0
- package/dist/web/components/table/ImportFileModal/index.css +263 -0
- package/dist/web/components/table/ImportFileModal/index.js +310 -0
- package/dist/web/components/table/ImportFileModal/submitFormatter.js +32 -0
- package/dist/web/components/table/ImportFileModal/validate.js +127 -0
- package/dist/web/components/table/QuoteModal.js +16 -0
- package/dist/web/components/table/SelectableBlock/index.css +2 -0
- package/dist/web/components/table/SelectableBlock/index.js +81 -0
- package/dist/web/components/table/UserDepartment/ViewCell.js +11 -0
- package/dist/web/components/table/UserDepartment/utils.js +80 -0
- package/dist/web/components/table/UserDepartment/viewCell.css +14 -0
- package/dist/web/components/table/index.css +569 -0
- package/dist/web/components/table/index.js +109 -0
- package/dist/web/components/tabs/tabs.h5.js +1 -1
- package/dist/web/components/tabs/tabs.pc.js +1 -1
- package/dist/web/components/text/index.css +2 -1
- package/dist/web/components/text/index.js +2 -2
- package/dist/web/components/uploaderFileView/index.js +6 -5
- package/dist/web/components/wd-bubble/index.css +21 -0
- package/dist/web/components/wd-bubble/index.js +17 -0
- package/dist/web/components/wedaVideo/index.js +1 -1
- package/dist/web/index.js +1 -0
- package/dist/web/utils/constant.js +94 -1
- package/dist/web/utils/datasource.js +357 -0
- package/dist/web/utils/date.js +137 -0
- package/dist/web/utils/file.js +168 -0
- package/dist/web/utils/getPageQuery.js +16 -0
- package/dist/web/utils/hooks/EnumHoc.js +61 -0
- package/dist/web/utils/hooks/context.js +24 -0
- package/dist/web/utils/hooks/globalConnect.js +26 -0
- package/dist/web/utils/{use-cloud-id-temp-url.js → hooks/use-cloud-id-temp-url.js} +2 -2
- package/dist/web/utils/hooks/useRequest.js +25 -0
- package/dist/web/utils/{useSetState.js → hooks/useSetState.js} +0 -0
- package/dist/web/utils/{useSyncValue.js → hooks/useSyncValue.js} +0 -0
- package/dist/web/utils/platform.js +112 -23
- package/dist/web/utils/tcb.js +30 -8
- package/dist/web/utils/tool.js +21 -0
- package/package.json +18 -6
- package/dist/configs/components/button.json +0 -239
- package/dist/configs/components/chart/line.json +0 -881
- package/dist/configs/components/container.json +0 -64
- package/dist/configs/components/image.json +0 -190
- package/dist/configs/components/link.json +0 -82
- package/dist/configs/components/modal.json +0 -73
- package/dist/configs/components/tabs.json +0 -122
- package/dist/configs/components/text.json +0 -112
- package/dist/configs/components/wxOpenApi/phone.json +0 -127
- package/dist/configs/components/wxOpenApi/phoneCode.json +0 -109
- package/dist/configs/components/wxOpenApi/share.json +0 -161
- package/dist/configs/components/wxOpenApi/userInfo.json +0 -168
- package/dist/configs/index.d.ts +0 -105
- package/dist/docs/common/format.d.ts +0 -13
- package/dist/docs/common/tableView.d.ts +0 -30
- package/dist/index.d.ts +0 -2
- package/dist/setupTests.d.ts +0 -2
- package/dist/web/actions/index.d.ts +0 -3
- package/dist/web/actions/showMessage/index.d.ts +0 -17
- package/dist/web/actions/showModal/index.d.ts +0 -4
- package/dist/web/actions/showToast/index.d.ts +0 -1
- package/dist/web/components/button/index.d.ts +0 -33
- package/dist/web/components/calendar/index.d.ts +0 -19
- package/dist/web/components/calendar/util.d.ts +0 -13
- package/dist/web/components/carousel/index.d.ts +0 -41
- package/dist/web/components/chart/bar/index.d.ts +0 -3
- package/dist/web/components/chart/bar/index.old.d.ts +0 -40
- package/dist/web/components/chart/common/Chart.d.ts +0 -9
- package/dist/web/components/chart/common/chart-custom-connector.d.ts +0 -6
- package/dist/web/components/chart/common/chart-error.d.ts +0 -2
- package/dist/web/components/chart/common/config/bar.d.ts +0 -48
- package/dist/web/components/chart/common/config/global.d.ts +0 -13
- package/dist/web/components/chart/common/config/line.d.ts +0 -46
- package/dist/web/components/chart/common/config/pie.d.ts +0 -29
- package/dist/web/components/chart/common/core/eChartBar.d.ts +0 -66
- package/dist/web/components/chart/common/core/eChartBase.d.ts +0 -127
- package/dist/web/components/chart/common/core/eChartLine.d.ts +0 -60
- package/dist/web/components/chart/common/core/eChartPie.d.ts +0 -48
- package/dist/web/components/chart/common/core/type.d.ts +0 -35
- package/dist/web/components/chart/common/data-transform.d.ts +0 -8
- package/dist/web/components/chart/common/echarts.d.ts +0 -5
- package/dist/web/components/chart/common/useChart.d.ts +0 -8
- package/dist/web/components/chart/line/index.d.ts +0 -3
- package/dist/web/components/chart/line/index.old.d.ts +0 -38
- package/dist/web/components/chart/pie/index.d.ts +0 -3
- package/dist/web/components/chart/pie/index.old.d.ts +0 -27
- package/dist/web/components/chart/statisticsCard/index.d.ts +0 -85
- package/dist/web/components/chart/statisticsCard/interface.d.ts +0 -13
- package/dist/web/components/common/error-boundary.d.ts +0 -5
- package/dist/web/components/common/portal.d.ts +0 -7
- package/dist/web/components/common/use-loop-render-detect.d.ts +0 -11
- package/dist/web/components/container/index.d.ts +0 -6
- package/dist/web/components/dataView/index.d.ts +0 -6
- package/dist/web/components/dataView/interface.d.ts +0 -5
- package/dist/web/components/drawer/index.d.ts +0 -13
- package/dist/web/components/form/checkbox/index.d.ts +0 -13
- package/dist/web/components/form/enumSelect/MultipleSelect.d.ts +0 -78
- package/dist/web/components/form/enumSelect/NormalSelect.d.ts +0 -83
- package/dist/web/components/form/enumSelect/SelectContainer.d.ts +0 -16
- package/dist/web/components/form/enumSelect/index.d.ts +0 -82
- package/dist/web/components/form/enumSelect/props/defaultProps.d.ts +0 -34
- package/dist/web/components/form/enumSelect/props/propsTypes.d.ts +0 -39
- package/dist/web/components/form/form/index.d.ts +0 -32
- package/dist/web/components/form/formcell/index.d.ts +0 -8
- package/dist/web/components/form/input/index.d.ts +0 -14
- package/dist/web/components/form/location/common/mapChoose.d.ts +0 -15
- package/dist/web/components/form/location/common/mapView.d.ts +0 -19
- package/dist/web/components/form/location/common/propsConfig.d.ts +0 -59
- package/dist/web/components/form/location/common/selectModal.d.ts +0 -21
- package/dist/web/components/form/location/common/useLocationInfo.d.ts +0 -36
- package/dist/web/components/form/location/components/LocationH5/location.h5.d.ts +0 -8
- package/dist/web/components/form/location/components/LocationPC/Header.d.ts +0 -12
- package/dist/web/components/form/location/components/LocationPC/location.PC.d.ts +0 -8
- package/dist/web/components/form/location/constants.d.ts +0 -2
- package/dist/web/components/form/location/index.d.ts +0 -1
- package/dist/web/components/form/radio/index.d.ts +0 -11
- package/dist/web/components/form/renderDecorator.d.ts +0 -6
- package/dist/web/components/form/select/allTimePicker/calendar.d.ts +0 -13
- package/dist/web/components/form/select/allTimePicker/dataUtils.d.ts +0 -24
- package/dist/web/components/form/select/allTimePicker/index.d.ts +0 -14
- package/dist/web/components/form/select/dropdown-select/ui.d.ts +0 -15
- package/dist/web/components/form/select/h5.d.ts +0 -16
- package/dist/web/components/form/select/index.d.ts +0 -66
- package/dist/web/components/form/select/region/index.d.ts +0 -6
- package/dist/web/components/form/select/time.d.ts +0 -9
- package/dist/web/components/form/select/use-options.d.ts +0 -26
- package/dist/web/components/form/select/use-options.js +0 -103
- package/dist/web/components/form/select/year.d.ts +0 -7
- package/dist/web/components/form/switch/index.d.ts +0 -6
- package/dist/web/components/form/textarea/index.d.ts +0 -12
- package/dist/web/components/form/tips/index.d.ts +0 -8
- package/dist/web/components/form/uploader/index.d.ts +0 -3
- package/dist/web/components/form/uploader/uploader.h5.d.ts +0 -20
- package/dist/web/components/form/uploader/uploader.pc.d.ts +0 -30
- package/dist/web/components/form/uploaderFile/index.d.ts +0 -4
- package/dist/web/components/form/uploaderFile/uploadFile.h5.d.ts +0 -23
- package/dist/web/components/form/uploaderFile/uploadFile.pc.d.ts +0 -35
- package/dist/web/components/form/userOrgSelect/comTool.d.ts +0 -8
- package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.d.ts +0 -19
- package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.d.ts +0 -4
- package/dist/web/components/form/userOrgSelect/departTreeSelect/index.d.ts +0 -2
- package/dist/web/components/form/userOrgSelect/getUserService.d.ts +0 -11
- package/dist/web/components/form/userOrgSelect/index.d.ts +0 -2
- package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.d.ts +0 -27
- package/dist/web/components/form/userOrgSelect/userTreeSelect.pc.d.ts +0 -9
- package/dist/web/components/form/userOrgSelect/userTreeSelect.pc.js +0 -273
- package/dist/web/components/form/userOrgSelect/utils.d.ts +0 -37
- package/dist/web/components/formdetail/index.d.ts +0 -31
- package/dist/web/components/graphicCard/index.d.ts +0 -47
- package/dist/web/components/image/image.d.ts +0 -9
- package/dist/web/components/image/index.d.ts +0 -13
- package/dist/web/components/index.d.ts +0 -50
- package/dist/web/components/link/index.d.ts +0 -24
- package/dist/web/components/listView/index.d.ts +0 -7
- package/dist/web/components/listView/interface.d.ts +0 -127
- package/dist/web/components/lottery/index.d.ts +0 -22
- package/dist/web/components/lottery/lotteryUtil.d.ts +0 -23
- package/dist/web/components/modal/index.d.ts +0 -17
- package/dist/web/components/modal/modal.h5.d.ts +0 -4
- package/dist/web/components/modal/modal.pc.d.ts +0 -3
- package/dist/web/components/navLayout/index.d.ts +0 -65
- package/dist/web/components/navigationBar/common.d.ts +0 -15
- package/dist/web/components/navigationBar/h5Menu.d.ts +0 -14
- package/dist/web/components/navigationBar/horizontalMenu.d.ts +0 -12
- package/dist/web/components/navigationBar/index.d.ts +0 -13
- package/dist/web/components/navigationBar/verticalMenu.d.ts +0 -13
- package/dist/web/components/phone/index.d.ts +0 -18
- package/dist/web/components/phoneCode/index.d.ts +0 -18
- package/dist/web/components/picker/datePicker.d.ts +0 -10
- package/dist/web/components/picker/picker.d.ts +0 -6
- package/dist/web/components/picker/timePicker.d.ts +0 -7
- package/dist/web/components/richText/const.d.ts +0 -1
- package/dist/web/components/richText/index.d.ts +0 -50
- package/dist/web/components/richTextView/index.d.ts +0 -7
- package/dist/web/components/scrollView/index.d.ts +0 -25
- package/dist/web/components/share/index.d.ts +0 -34
- package/dist/web/components/slot/index.d.ts +0 -6
- package/dist/web/components/swiper/index.d.ts +0 -24
- package/dist/web/components/tabs/index.d.ts +0 -13
- package/dist/web/components/tabs/tabs.h5.d.ts +0 -4
- package/dist/web/components/tabs/tabs.pc.d.ts +0 -3
- package/dist/web/components/text/index.d.ts +0 -15
- package/dist/web/components/uploaderFileView/index.d.ts +0 -10
- package/dist/web/components/uploaderView/index.d.ts +0 -17
- package/dist/web/components/userInfo/index.d.ts +0 -26
- package/dist/web/components/wedaVideo/index.d.ts +0 -17
- package/dist/web/index.d.ts +0 -8
- package/dist/web/utils/classnames.d.ts +0 -2
- package/dist/web/utils/console.d.ts +0 -3
- package/dist/web/utils/constant.d.ts +0 -23
- package/dist/web/utils/debounce.d.ts +0 -2
- package/dist/web/utils/getLocalCounter.d.ts +0 -1
- package/dist/web/utils/isObjectEqual.d.ts +0 -2
- package/dist/web/utils/loading-fallback.d.ts +0 -2
- package/dist/web/utils/lodash.d.ts +0 -1
- package/dist/web/utils/platform.d.ts +0 -28
- package/dist/web/utils/tcb.d.ts +0 -33
- package/dist/web/utils/tmap.d.ts +0 -3
- package/dist/web/utils/use-cloud-id-temp-url.d.ts +0 -1
- package/dist/web/utils/useSetState.d.ts +0 -1
- package/dist/web/utils/useSyncValue.d.ts +0 -4
- package/dist/web/utils/weui.d.ts +0 -1
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import React, { useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { Transfer, Table, SearchBox, Bubble, Text, Modal, Button, LoadingTip, } from 'tea-component';
|
|
3
|
+
import to from 'await-to-js';
|
|
4
|
+
import { useGlobalContext } from '../../../../utils/hooks/context';
|
|
5
|
+
import { getWedaUserList } from '../../services';
|
|
6
|
+
import './index.css';
|
|
7
|
+
const { selectable, removeable, scrollable, radioable } = Table.addons;
|
|
8
|
+
export function WedaUserTransfer({ visible, onClose, setOptions, multiple = true, isMobile = false, onSelectedChange, value, tableClassName, }) {
|
|
9
|
+
var _a;
|
|
10
|
+
const [targetKeys, setTargetKeys] = useState([]);
|
|
11
|
+
const [selectedRows, setSelectedRows] = useState([]);
|
|
12
|
+
const [inputValue, setInputValue] = useState('');
|
|
13
|
+
const [userList, setUserList] = useState([]);
|
|
14
|
+
const originUserList = useRef([]);
|
|
15
|
+
const [loading, setLoading] = useState(false);
|
|
16
|
+
const { callWedaApi, IS_WEDA_IDE } = useGlobalContext();
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
getWedaUser({ PageNo: 1, PageSize: 200 });
|
|
19
|
+
}, []);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
if (!visible) {
|
|
22
|
+
onSearchUser('');
|
|
23
|
+
}
|
|
24
|
+
}, [visible]);
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
var _a;
|
|
27
|
+
if (isMobile) {
|
|
28
|
+
setTargetKeys(value);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
setTargetKeys(value === null || value === void 0 ? void 0 : value.map((i) => i === null || i === void 0 ? void 0 : i.value));
|
|
32
|
+
}
|
|
33
|
+
if ((_a = originUserList.current) === null || _a === void 0 ? void 0 : _a.length) {
|
|
34
|
+
const initSelected = value === null || value === void 0 ? void 0 : value.map((i) => {
|
|
35
|
+
var _a;
|
|
36
|
+
return (_a = originUserList.current) === null || _a === void 0 ? void 0 : _a.find((user) => {
|
|
37
|
+
if (isMobile)
|
|
38
|
+
return (user === null || user === void 0 ? void 0 : user.UserId) === i;
|
|
39
|
+
return (user === null || user === void 0 ? void 0 : user.UserId) === (i === null || i === void 0 ? void 0 : i.value);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
setSelectedRows(initSelected || []);
|
|
43
|
+
}
|
|
44
|
+
}, [value, (_a = originUserList.current) === null || _a === void 0 ? void 0 : _a.length]);
|
|
45
|
+
const getWedaUser = async (params) => {
|
|
46
|
+
setLoading(true);
|
|
47
|
+
const [err, result] = await to(getWedaUserList(params, { callWedaApi, IS_WEDA_IDE }));
|
|
48
|
+
setLoading(false);
|
|
49
|
+
if (!err) {
|
|
50
|
+
originUserList.current = (result === null || result === void 0 ? void 0 : result.UserList) || [];
|
|
51
|
+
setUserList((result === null || result === void 0 ? void 0 : result.UserList) || []);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
const onSourceTableChange = (keys, context) => {
|
|
55
|
+
if (multiple) {
|
|
56
|
+
setTargetKeys(keys);
|
|
57
|
+
const selectedRows = transSelectedRows(context);
|
|
58
|
+
setSelectedRows(selectedRows);
|
|
59
|
+
onSelectedChange === null || onSelectedChange === void 0 ? void 0 : onSelectedChange({ keys, rows: selectedRows });
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
setTargetKeys([keys]);
|
|
63
|
+
setSelectedRows([context === null || context === void 0 ? void 0 : context.record]);
|
|
64
|
+
onSelectedChange === null || onSelectedChange === void 0 ? void 0 : onSelectedChange({ keys: [keys], rows: [context === null || context === void 0 ? void 0 : context.record] });
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
const transSelectedRows = (context) => {
|
|
68
|
+
const { checked, record, recordKey } = context;
|
|
69
|
+
const index = selectedRows.findIndex((val) => (val === null || val === void 0 ? void 0 : val.UserId) === recordKey);
|
|
70
|
+
const newSelectedRows = selectedRows.concat();
|
|
71
|
+
if (checked) {
|
|
72
|
+
newSelectedRows.push(record);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
newSelectedRows.splice(index, 1);
|
|
76
|
+
}
|
|
77
|
+
return newSelectedRows;
|
|
78
|
+
};
|
|
79
|
+
const onSearchUser = (value) => {
|
|
80
|
+
var _a;
|
|
81
|
+
setInputValue(value);
|
|
82
|
+
if (value) {
|
|
83
|
+
const list = (_a = originUserList.current) === null || _a === void 0 ? void 0 : _a.filter((item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.Name) === null || _a === void 0 ? void 0 : _a.includes(value); });
|
|
84
|
+
setUserList(list);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
setUserList(originUserList.current);
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
const onSubmitUser = () => {
|
|
91
|
+
setOptions(selectedRows.map((item) => ({
|
|
92
|
+
text: item.Name,
|
|
93
|
+
value: item.UserId,
|
|
94
|
+
})));
|
|
95
|
+
onCloseModal();
|
|
96
|
+
};
|
|
97
|
+
const onRemoveUser = (key) => {
|
|
98
|
+
setTargetKeys(targetKeys === null || targetKeys === void 0 ? void 0 : targetKeys.filter((i) => i !== key));
|
|
99
|
+
setSelectedRows(selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows.filter((i) => i.UserId !== key));
|
|
100
|
+
};
|
|
101
|
+
const onCloseModal = () => {
|
|
102
|
+
setTargetKeys([]);
|
|
103
|
+
setSelectedRows([]);
|
|
104
|
+
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
105
|
+
};
|
|
106
|
+
if (isMobile) {
|
|
107
|
+
if (loading) {
|
|
108
|
+
return React.createElement(LoadingTip, { loadingText: "\u52A0\u8F7D\u4E2D" });
|
|
109
|
+
}
|
|
110
|
+
return (React.createElement(React.Fragment, null,
|
|
111
|
+
React.createElement(SearchBox, { className: "weda-workbench__flow-user-search", value: inputValue, onChange: (value) => onSearchUser(value) }),
|
|
112
|
+
React.createElement(SourceTable, { dataSource: userList, targetKeys: targetKeys, onChange: onSourceTableChange, multiple: multiple, className: tableClassName })));
|
|
113
|
+
}
|
|
114
|
+
return (React.createElement(Modal, { visible: visible, caption: "\u4EBA\u5458\u9009\u62E9", onClose: onCloseModal, size: "l" },
|
|
115
|
+
React.createElement(Modal.Body, null,
|
|
116
|
+
React.createElement(Transfer, { leftCell: React.createElement(Transfer.Cell, { scrollable: false, title: "\u8BF7\u9009\u62E9\u7528\u6237", header: React.createElement(SearchBox, { value: inputValue, onChange: (value) => onSearchUser(value) }) },
|
|
117
|
+
React.createElement(SourceTable, { dataSource: userList, targetKeys: targetKeys, onChange: onSourceTableChange, multiple: multiple, className: tableClassName })), rightCell: React.createElement(Transfer.Cell, { title: `已选择 (${(targetKeys === null || targetKeys === void 0 ? void 0 : targetKeys.length) || 0})` },
|
|
118
|
+
React.createElement(TargetTable, { dataSource: selectedRows, onRemove: onRemoveUser })) })),
|
|
119
|
+
React.createElement(Modal.Footer, null,
|
|
120
|
+
React.createElement(Button, { type: "primary", onClick: onSubmitUser }, "\u786E\u5B9A"),
|
|
121
|
+
React.createElement(Button, { type: "weak", onClick: onCloseModal }, "\u53D6\u6D88"))));
|
|
122
|
+
}
|
|
123
|
+
const columns = [
|
|
124
|
+
{
|
|
125
|
+
key: 'Name',
|
|
126
|
+
header: '用户名',
|
|
127
|
+
render: (record) => (record === null || record === void 0 ? void 0 : record.Name) ? (React.createElement(Bubble, { content: record === null || record === void 0 ? void 0 : record.Name },
|
|
128
|
+
React.createElement(Text, { overflow: true, style: { cursor: 'pointer' } }, record === null || record === void 0 ? void 0 : record.Name))) : (React.createElement(Text, null, "-")),
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
key: 'UserDepartment',
|
|
132
|
+
header: '所属部门',
|
|
133
|
+
render: (record) => {
|
|
134
|
+
var _a, _b;
|
|
135
|
+
const showStr = (_a = record === null || record === void 0 ? void 0 : record.Orgs) === null || _a === void 0 ? void 0 : _a.map((i) => (i === null || i === void 0 ? void 0 : i.OrgName) || '').join();
|
|
136
|
+
return ((_b = record === null || record === void 0 ? void 0 : record.Orgs) === null || _b === void 0 ? void 0 : _b.length) ? (React.createElement(Bubble, { content: showStr },
|
|
137
|
+
React.createElement(Text, { overflow: true, style: { cursor: 'pointer' } }, showStr))) : (React.createElement(Text, null, "-"));
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
];
|
|
141
|
+
function SourceTable({ dataSource, targetKeys, onChange, multiple, className, }) {
|
|
142
|
+
const addons = [
|
|
143
|
+
scrollable({
|
|
144
|
+
maxHeight: 310,
|
|
145
|
+
}),
|
|
146
|
+
multiple
|
|
147
|
+
? selectable({
|
|
148
|
+
value: targetKeys,
|
|
149
|
+
onChange,
|
|
150
|
+
rowSelect: true,
|
|
151
|
+
})
|
|
152
|
+
: radioable({
|
|
153
|
+
value: targetKeys === null || targetKeys === void 0 ? void 0 : targetKeys[0],
|
|
154
|
+
onChange,
|
|
155
|
+
rowSelect: true,
|
|
156
|
+
}),
|
|
157
|
+
];
|
|
158
|
+
return (React.createElement(Table, { records: dataSource, recordKey: "UserId", rowDisabled: (record) => record.status === 'stopped', rowClassName: (record) => record.status, columns: columns, addons: addons, className: className }));
|
|
159
|
+
}
|
|
160
|
+
function TargetTable({ dataSource, onRemove }) {
|
|
161
|
+
return (React.createElement(Table, { records: dataSource, recordKey: "UserId", columns: columns, addons: [removeable({ onRemove })] }));
|
|
162
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export const STATUS_NUMBER_MAPPING = {
|
|
2
|
+
1: 'START',
|
|
3
|
+
2: 'PASS',
|
|
4
|
+
3: 'DOWN',
|
|
5
|
+
4: 'TURN',
|
|
6
|
+
5: 'REVOKE',
|
|
7
|
+
6: 'TRANS',
|
|
8
|
+
7: 'COUNTERSIGN',
|
|
9
|
+
8: 'STOP',
|
|
10
|
+
9: 'SKIP_PASS',
|
|
11
|
+
10: 'SKIP_DOWN',
|
|
12
|
+
11: 'PENDING',
|
|
13
|
+
12: 'END',
|
|
14
|
+
13: 'HANDLED',
|
|
15
|
+
14: 'HANDLING',
|
|
16
|
+
15: 'CC',
|
|
17
|
+
16: 'DROP', // 作废
|
|
18
|
+
};
|
|
19
|
+
export const STATUS = {
|
|
20
|
+
START: 'start',
|
|
21
|
+
PASS: 'pass',
|
|
22
|
+
DOWN: 'down',
|
|
23
|
+
TURN: 'trun',
|
|
24
|
+
REVOKE: 'revoke',
|
|
25
|
+
TRANS: 'trans',
|
|
26
|
+
COUNTERSIGN: 'countersign',
|
|
27
|
+
STOP: 'stop',
|
|
28
|
+
SKIP_PASS: 'skip_pass',
|
|
29
|
+
SKIP_DOWN: 'skip_down',
|
|
30
|
+
PENDING: 'pending',
|
|
31
|
+
END: 'end',
|
|
32
|
+
HANDLED: 'handled',
|
|
33
|
+
HANDLING: 'handling',
|
|
34
|
+
CC: 'cc',
|
|
35
|
+
DROP: 'DROP', // 作废
|
|
36
|
+
};
|
|
37
|
+
export const STATUS_TEXT = {
|
|
38
|
+
pass: { theme: 'success', text: '审批通过' },
|
|
39
|
+
trun: { theme: 'primary', text: '已转办' },
|
|
40
|
+
down: { theme: 'error', text: '驳回' },
|
|
41
|
+
pending: { theme: 'warning', text: '待审批' },
|
|
42
|
+
trans: { theme: 'default', text: '回退' },
|
|
43
|
+
revoke: { theme: 'default', text: '撤销' },
|
|
44
|
+
skip_pass: { theme: 'success', text: '跳过(同意)' },
|
|
45
|
+
skip_down: { theme: 'error', text: '跳过(驳回)' },
|
|
46
|
+
end: { theme: 'error', text: '结束' },
|
|
47
|
+
countersign: { theme: 'default', text: '加签' },
|
|
48
|
+
stop: { theme: 'error', text: '终止' },
|
|
49
|
+
handled: { theme: 'success', text: '已处理' },
|
|
50
|
+
handling: { theme: 'warning', text: '待处理' },
|
|
51
|
+
};
|
|
52
|
+
export const PAGE_TYPE = {
|
|
53
|
+
/** 待我处理 */
|
|
54
|
+
TO_DO: 'TODO',
|
|
55
|
+
/** 我创建的 */
|
|
56
|
+
CREATE: 'CREATE',
|
|
57
|
+
/** 我已处理 */
|
|
58
|
+
DONE: 'DONE',
|
|
59
|
+
/** 抄送我的 */
|
|
60
|
+
COPY: 'CC',
|
|
61
|
+
/** 草稿箱 */
|
|
62
|
+
DRAFT: 'DRAFT',
|
|
63
|
+
/** 新建流程 */
|
|
64
|
+
CREATEFLOW: 'CREATEFLOW',
|
|
65
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import to from 'await-to-js';
|
|
2
|
+
import { fetchProcess, getApprovalPageDetail, fetchInstanceOperation, } from '../services';
|
|
3
|
+
import { PAGE_TYPE } from '../constants';
|
|
4
|
+
import { IFlowDetailProps, IPageInfoProps, } from './types';
|
|
5
|
+
import { CommonFlowDataUtils } from './utils';
|
|
6
|
+
export async function getCommonFlowData(config, flowTaskId) {
|
|
7
|
+
const { currentPageType } = config;
|
|
8
|
+
const pageTypeParams = currentPageType === PAGE_TYPE.CREATEFLOW
|
|
9
|
+
? PAGE_TYPE.TO_DO
|
|
10
|
+
: currentPageType;
|
|
11
|
+
const flowDetail = await getProcessInstance(config, pageTypeParams, flowTaskId);
|
|
12
|
+
const pageInfo = await getPageInfo(config, flowDetail, pageTypeParams);
|
|
13
|
+
const flowSteps = await fetchFlowSteps(config, flowDetail);
|
|
14
|
+
return {
|
|
15
|
+
flowDetail,
|
|
16
|
+
...pageInfo,
|
|
17
|
+
...flowSteps,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export async function getProcessInstance(config, pageTypeParams, flowTaskId) {
|
|
21
|
+
const { isWedaIde, callWedaApi } = config;
|
|
22
|
+
const params = {
|
|
23
|
+
flowTaskId,
|
|
24
|
+
pageType: pageTypeParams,
|
|
25
|
+
};
|
|
26
|
+
const options = { isWedaIde, callWedaApi };
|
|
27
|
+
const [err, res] = await to(fetchProcess(params, options));
|
|
28
|
+
if (!err) {
|
|
29
|
+
return res;
|
|
30
|
+
}
|
|
31
|
+
return new IFlowDetailProps();
|
|
32
|
+
}
|
|
33
|
+
export async function getPageInfo(config, flowDetail, pageType) {
|
|
34
|
+
const params = {
|
|
35
|
+
instanceId: flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.instanceId,
|
|
36
|
+
flowCode: flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.flowCode,
|
|
37
|
+
nodeId: flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.currentNodeId,
|
|
38
|
+
id: flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.ccId,
|
|
39
|
+
appVersion: flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.flowVersion,
|
|
40
|
+
isCompleted: flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.isCompleted,
|
|
41
|
+
pageType,
|
|
42
|
+
taskId: flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.taskId,
|
|
43
|
+
};
|
|
44
|
+
const [err, res] = await to(getApprovalPageDetail(params, config));
|
|
45
|
+
if (!err) {
|
|
46
|
+
const initialValues = CommonFlowDataUtils.translateObjectMap(res);
|
|
47
|
+
const { isReadonly } = CommonFlowDataUtils.getFormState(config);
|
|
48
|
+
const flowLoadData = {
|
|
49
|
+
initialValues,
|
|
50
|
+
formType: isReadonly ? 'read' : 'create',
|
|
51
|
+
};
|
|
52
|
+
return {
|
|
53
|
+
pageInfo: res,
|
|
54
|
+
flowLoadData,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
pageInfo: new IPageInfoProps(),
|
|
59
|
+
flowLoadData: { initialValues: {}, formType: 'read' },
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
export async function fetchFlowSteps(config, flowDetail) {
|
|
63
|
+
var _a;
|
|
64
|
+
const [err, res] = await to(fetchInstanceOperation({ instanceId: flowDetail.instanceId }, config));
|
|
65
|
+
if (!err) {
|
|
66
|
+
const processData = (res === null || res === void 0 ? void 0 : res.elementInfos) || [];
|
|
67
|
+
const steps = CommonFlowDataUtils.transProcessData(processData, config.safeJsonParse);
|
|
68
|
+
const ccUserMaps = ((_a = processData === null || processData === void 0 ? void 0 : processData[0]) === null || _a === void 0 ? void 0 : _a.ccUserMaps) || {};
|
|
69
|
+
return {
|
|
70
|
+
steps,
|
|
71
|
+
ccUserMaps,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
steps: [],
|
|
76
|
+
ccUserMaps: {},
|
|
77
|
+
};
|
|
78
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { useEffect, useRef } from 'react';
|
|
2
|
+
import EventEmitter from 'eventemitter3'; // eslint-disable-line
|
|
3
|
+
/** 流程通用接口请求hook */
|
|
4
|
+
export function useCommonFlowRequest({ moduleName, request, onListen, }) {
|
|
5
|
+
const flowRequestRef = useRef();
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
flowRequestRef.current = CommonRequestInstance.getFlow();
|
|
8
|
+
flowRequestRef.current.initModule(moduleName);
|
|
9
|
+
flowRequestRef.current.listen(moduleName, onListen);
|
|
10
|
+
flowRequestRef.current.request(requestData, moduleName);
|
|
11
|
+
return () => {
|
|
12
|
+
var _a;
|
|
13
|
+
(_a = flowRequestRef.current) === null || _a === void 0 ? void 0 : _a.destroyModule(moduleName);
|
|
14
|
+
};
|
|
15
|
+
}, []);
|
|
16
|
+
const requestData = async () => {
|
|
17
|
+
var _a;
|
|
18
|
+
const data = await request();
|
|
19
|
+
(_a = flowRequestRef.current) === null || _a === void 0 ? void 0 : _a.requestSuccess(data);
|
|
20
|
+
};
|
|
21
|
+
const reload = () => {
|
|
22
|
+
flowRequestRef.current.reload(requestData, moduleName);
|
|
23
|
+
};
|
|
24
|
+
return { reload };
|
|
25
|
+
}
|
|
26
|
+
const EVENT_NAME = 'flow-send-data';
|
|
27
|
+
/**
|
|
28
|
+
* 流程各个组件的请求控制中心
|
|
29
|
+
* @description
|
|
30
|
+
* - 管理五个流程组件中公用的后端流程数据,只进行一次请求,将请求结果发送到流程中五个组件内部
|
|
31
|
+
*/
|
|
32
|
+
class CommonRequestInstance {
|
|
33
|
+
constructor() {
|
|
34
|
+
/** 请求状态 */
|
|
35
|
+
Object.defineProperty(this, "requestState", {
|
|
36
|
+
enumerable: true,
|
|
37
|
+
configurable: true,
|
|
38
|
+
writable: true,
|
|
39
|
+
value: 'init'
|
|
40
|
+
});
|
|
41
|
+
/** 数据接收状态 */
|
|
42
|
+
Object.defineProperty(this, "receivedState", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
configurable: true,
|
|
45
|
+
writable: true,
|
|
46
|
+
value: {}
|
|
47
|
+
});
|
|
48
|
+
/** 模块卸载状态 */
|
|
49
|
+
Object.defineProperty(this, "moduleMountState", {
|
|
50
|
+
enumerable: true,
|
|
51
|
+
configurable: true,
|
|
52
|
+
writable: true,
|
|
53
|
+
value: {}
|
|
54
|
+
});
|
|
55
|
+
/** 消息通知实体 */
|
|
56
|
+
Object.defineProperty(this, "messageHub", {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
configurable: true,
|
|
59
|
+
writable: true,
|
|
60
|
+
value: new EventEmitter()
|
|
61
|
+
});
|
|
62
|
+
/** 公用数据缓存 */
|
|
63
|
+
Object.defineProperty(this, "cacheData", {
|
|
64
|
+
enumerable: true,
|
|
65
|
+
configurable: true,
|
|
66
|
+
writable: true,
|
|
67
|
+
value: void 0
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
static getFlow() {
|
|
71
|
+
if (!CommonRequestInstance.flow) {
|
|
72
|
+
CommonRequestInstance.flow = new CommonRequestInstance();
|
|
73
|
+
}
|
|
74
|
+
return CommonRequestInstance.flow;
|
|
75
|
+
}
|
|
76
|
+
/** 初始化模块信息,为模块卸载状态注册初始化标记 */
|
|
77
|
+
initModule(moduleName) {
|
|
78
|
+
this.moduleMountState[moduleName] = true;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* 模块销毁
|
|
82
|
+
* @description 模块对应的UI组件卸载之后,需要标记到`moduleMountState`中,当所有模块对应组件都被卸载,则将此实例属性重置
|
|
83
|
+
*/
|
|
84
|
+
destroyModule(moduleName) {
|
|
85
|
+
this.moduleMountState[moduleName] = false;
|
|
86
|
+
this.receivedState[moduleName] = false;
|
|
87
|
+
const allUnmount = Object.values(this.moduleMountState).every((state) => !state);
|
|
88
|
+
if (allUnmount) {
|
|
89
|
+
this.requestState = 'init';
|
|
90
|
+
this.moduleMountState = {};
|
|
91
|
+
this.receivedState = {};
|
|
92
|
+
}
|
|
93
|
+
this.messageHub.removeAllListeners();
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* 流程请求控制
|
|
97
|
+
* @description
|
|
98
|
+
* - 当请求状态是loading,执行return 避免重复请求
|
|
99
|
+
* - 当请求状态是loaded,发送已请求的缓存数据
|
|
100
|
+
*/
|
|
101
|
+
request(callback, moduleName) {
|
|
102
|
+
if (this.requestState === 'loaded') {
|
|
103
|
+
if (!this.receivedState[moduleName]) {
|
|
104
|
+
this.send(this.cacheData);
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (this.requestState === 'loading') {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
this.requestState = 'loading';
|
|
113
|
+
callback === null || callback === void 0 ? void 0 : callback();
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* 重新请求数据
|
|
117
|
+
*/
|
|
118
|
+
reload(callback, moduleName) {
|
|
119
|
+
this.requestState = 'reload';
|
|
120
|
+
this.receivedState = {};
|
|
121
|
+
this.request(callback, moduleName);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* 数据请求成功后的回调
|
|
125
|
+
*/
|
|
126
|
+
requestSuccess(data) {
|
|
127
|
+
this.cacheData = data;
|
|
128
|
+
this.send(data);
|
|
129
|
+
this.requestState = 'loaded';
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* 向各个模块发送数据
|
|
133
|
+
*/
|
|
134
|
+
send(data) {
|
|
135
|
+
this.messageHub.emit(EVENT_NAME, data);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* 模块接收数据
|
|
139
|
+
*/
|
|
140
|
+
listen(moduleName, callback) {
|
|
141
|
+
this.messageHub.on(EVENT_NAME, (data) => {
|
|
142
|
+
if (!this.receivedState[moduleName]) {
|
|
143
|
+
callback === null || callback === void 0 ? void 0 : callback(data);
|
|
144
|
+
this.receivedState[moduleName] = true;
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
export function useElementMediaQuery(element, maxWidth = 768) {
|
|
3
|
+
const [isNarrowElement, setIsNarrowElement] = useState(false);
|
|
4
|
+
useEffect(() => {
|
|
5
|
+
if (element) {
|
|
6
|
+
const resizeObserver = new ResizeObserver((entries) => {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
const width = (_b = (_a = entries === null || entries === void 0 ? void 0 : entries[0]) === null || _a === void 0 ? void 0 : _a.contentRect) === null || _b === void 0 ? void 0 : _b.width;
|
|
9
|
+
setIsNarrowElement(width < maxWidth);
|
|
10
|
+
});
|
|
11
|
+
resizeObserver.observe(element);
|
|
12
|
+
}
|
|
13
|
+
}, [element]);
|
|
14
|
+
return isNarrowElement;
|
|
15
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import React, { useState, useRef, useMemo } from 'react';
|
|
2
|
+
import { ConfigProvider } from 'tea-component';
|
|
3
|
+
import { useMediaQuery } from '@react-hookz/web';
|
|
4
|
+
import { useGlobalContext } from '../../../utils/hooks/context';
|
|
5
|
+
import { globalContextConnect } from '../../../utils/hooks/globalConnect';
|
|
6
|
+
import { safeJsonParse } from '../../../utils/tool';
|
|
7
|
+
import { getCommonFlowData } from './getCommonFlowData';
|
|
8
|
+
import { ICommonFlowDataProps } from './types';
|
|
9
|
+
import { CommonFlowDataUtils } from './utils';
|
|
10
|
+
import { useCommonFlowRequest, useElementMediaQuery, } from './hooks';
|
|
11
|
+
export * from './types';
|
|
12
|
+
/**
|
|
13
|
+
* 各个模块 通用的高阶函数 返回一个Container组件,包含一些公共属性和逻辑
|
|
14
|
+
*/
|
|
15
|
+
export function createModuleFrame(Component, moduleName) {
|
|
16
|
+
const BaseModuleContainer = (props) => {
|
|
17
|
+
const { events } = props;
|
|
18
|
+
const [loading, setLoading] = useState(false);
|
|
19
|
+
const [commonFlowData, setCommonFlowData] = useState(new ICommonFlowDataProps());
|
|
20
|
+
const containerRef = useRef();
|
|
21
|
+
const isH5 = useMediaQuery('(max-width: 1024px)');
|
|
22
|
+
const isNarrowElement = useElementMediaQuery(containerRef.current, 768);
|
|
23
|
+
const { IS_WEDA_IDE, callWedaApi } = useGlobalContext();
|
|
24
|
+
const { currentPageType, flowTaskId } = useMemo(() => {
|
|
25
|
+
return CommonFlowDataUtils.getCurrentFlowPageQuery(IS_WEDA_IDE);
|
|
26
|
+
}, [location.hash]);
|
|
27
|
+
const { reload } = useCommonFlowRequest({
|
|
28
|
+
moduleName,
|
|
29
|
+
request: async () => {
|
|
30
|
+
var _a;
|
|
31
|
+
setLoading(true);
|
|
32
|
+
const data = await getCommonFlowData({
|
|
33
|
+
...flowLocalProps,
|
|
34
|
+
currentPageType: CommonFlowDataUtils.getCurrentFlowPageQuery(IS_WEDA_IDE)
|
|
35
|
+
.currentPageType,
|
|
36
|
+
}, flowTaskId);
|
|
37
|
+
setLoading(false);
|
|
38
|
+
(_a = events === null || events === void 0 ? void 0 : events.flowLoad) === null || _a === void 0 ? void 0 : _a.call(events, data.flowLoadData);
|
|
39
|
+
return data;
|
|
40
|
+
},
|
|
41
|
+
onListen: (data) => {
|
|
42
|
+
setCommonFlowData(data);
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
const flowLocalProps = {
|
|
46
|
+
isH5,
|
|
47
|
+
isNarrowElement,
|
|
48
|
+
isWedaIde: IS_WEDA_IDE,
|
|
49
|
+
currentPageType,
|
|
50
|
+
callWedaApi,
|
|
51
|
+
safeJsonParse,
|
|
52
|
+
};
|
|
53
|
+
return (React.createElement(ConfigProvider, { classPrefix: "wedatea2td" },
|
|
54
|
+
React.createElement("div", { ...props, ref: containerRef },
|
|
55
|
+
React.createElement(Component, { ide: props, flowLocalProps: flowLocalProps, commonFlowData: commonFlowData, loading: loading, reload: reload }))));
|
|
56
|
+
};
|
|
57
|
+
return globalContextConnect(BaseModuleContainer);
|
|
58
|
+
}
|