@cloudbase/weda-ui 3.4.1 → 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/actions/showModal.json +21 -0
- package/dist/configs/actions/showToast.json +11 -2
- 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 +3 -2
- package/dist/configs/components/chart/bar.json +5 -4
- package/dist/configs/components/chart/line.js +868 -0
- package/dist/configs/components/chart/pie.json +5 -4
- package/dist/configs/components/chart/statisticsCard.json +9 -8
- package/dist/configs/components/container.js +64 -0
- package/dist/configs/components/dataView.json +18 -3
- 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 +3 -2
- package/dist/configs/components/form/input.json +2 -1
- package/dist/configs/components/form/location.json +3 -2
- 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 +5 -3
- package/dist/configs/components/graphicCard.json +3 -2
- package/dist/configs/components/image.js +195 -0
- package/dist/configs/components/link.js +68 -0
- package/dist/configs/components/listView.json +72 -10
- package/dist/configs/components/lottery.json +7 -3
- package/dist/configs/components/modal.js +72 -0
- package/dist/configs/components/navLayout.json +4 -3
- package/dist/configs/components/navigationBar.json +4 -3
- package/dist/configs/components/pagelayout.json +31 -0
- package/dist/configs/components/richtextview.json +5 -4
- package/dist/configs/components/scrollVeiw.json +98 -75
- package/dist/configs/components/slot.json +2 -1
- package/dist/configs/components/swiper.json +4 -3
- 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 +8 -3
- 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 +19 -7
- 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/comTool.js +2 -4
- 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.h5.js +3 -4
- package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.pc.js +4 -5
- 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 +72 -50
- 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 +26 -4
- 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 -72
- 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 -160
- 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 -271
- 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,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TagGroup, Tag, Text } from 'tea-component';
|
|
3
|
+
import { UserOrgContext } from './index';
|
|
4
|
+
import './index.css';
|
|
5
|
+
export const SelectedUserList = () => {
|
|
6
|
+
const { selectedUserList, setSelectedUserList } = React.useContext(UserOrgContext) || {};
|
|
7
|
+
const onClose = (item) => {
|
|
8
|
+
//检查是否当前页用户被关闭
|
|
9
|
+
setSelectedUserList(selectedUserList.filter((e) => (e === null || e === void 0 ? void 0 : e.id) !== (item === null || item === void 0 ? void 0 : item.id)));
|
|
10
|
+
};
|
|
11
|
+
return (React.createElement("div", { className: "weda-ui-user-select-result" }, selectedUserList && selectedUserList.length > 0 ? (React.createElement(TagGroup, null, (selectedUserList || []).map((item) => (React.createElement(Tag, { key: item === null || item === void 0 ? void 0 : item.id, onClose: () => onClose(item) }, item === null || item === void 0 ? void 0 : item.userName))))) : (React.createElement(Text, { className: "weda-ui-user-select-input__placeholder", theme: "label" }, "\u65E0\u9009\u4E2D\u6210\u5458"))));
|
|
12
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React, { useState, useEffect } from 'react';
|
|
2
|
+
import { Button, Modal } from 'tea-component';
|
|
3
|
+
import { SearchUser } from './search-user';
|
|
4
|
+
import { UserOrgContext } from './index';
|
|
5
|
+
import { OrgTree } from './org-tree';
|
|
6
|
+
import { ModelUserList } from './model-user-list';
|
|
7
|
+
import { SelectedUserList } from './selected-user-list';
|
|
8
|
+
import './index.css';
|
|
9
|
+
export const UserModel = (props) => {
|
|
10
|
+
const { open, setOpen, onCancel, onConfirm } = props;
|
|
11
|
+
const { selectedUserList, setSelectedUserIds } = React.useContext(UserOrgContext) || {};
|
|
12
|
+
//const [scroll, setScroll] = useState(false);
|
|
13
|
+
const [selectedOrgId, setSelectedOrgId] = useState(null);
|
|
14
|
+
//当前页人员列表
|
|
15
|
+
const [curPageUserList, setCurPageUserList] = useState(null);
|
|
16
|
+
const [searchUserList, setSearchUserList] = useState([]);
|
|
17
|
+
// 是否有搜索项
|
|
18
|
+
const [keyWords, setKeyWords] = useState('');
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
setSelectedUserIds((selectedUserList || []).map((e) => e === null || e === void 0 ? void 0 : e.id));
|
|
21
|
+
}, [selectedUserList]);
|
|
22
|
+
return (React.createElement(Modal, { visible: open, caption: "\u9009\u62E9\u6210\u5458", onClose: () => setOpen(false), className: "weda-ui weda-ui-user-select-modal" },
|
|
23
|
+
React.createElement(Modal.Body, null,
|
|
24
|
+
React.createElement("div", { className: "weda-ui-user-select-container" },
|
|
25
|
+
React.createElement(SearchUser, { searchUserList: searchUserList, setSearchUserList: setSearchUserList, setKeyWords: setKeyWords, keyWords: keyWords, onReset: () => setSearchUserList([]) }),
|
|
26
|
+
keyWords.length === 0 && (React.createElement(React.Fragment, null,
|
|
27
|
+
React.createElement("div", { className: "weda-ui-user-select-container-list" },
|
|
28
|
+
React.createElement("div", { className: "weda-ui-user-select-container-list__start" },
|
|
29
|
+
React.createElement(OrgTree, { selectedOrgId: selectedOrgId, setSelectedOrgId: setSelectedOrgId })),
|
|
30
|
+
React.createElement("div", { className: "weda-ui-user-select-container-list__end" },
|
|
31
|
+
React.createElement(ModelUserList, { selectedOrgId: selectedOrgId, curPageUserList: curPageUserList, setCurPageUserList: setCurPageUserList })))))),
|
|
32
|
+
React.createElement(SelectedUserList, null)),
|
|
33
|
+
React.createElement(Modal.Footer, null,
|
|
34
|
+
React.createElement(Button, { type: "weak", onClick: onCancel }, "\u53D6\u6D88"),
|
|
35
|
+
React.createElement(Button, { type: "primary", onClick: onConfirm }, "\u786E\u5B9A"))));
|
|
36
|
+
};
|
|
@@ -11,6 +11,7 @@ import './userOrgSelect.css';
|
|
|
11
11
|
import isObjectEqual from '../../../utils/isObjectEqual';
|
|
12
12
|
import destr from 'destr';
|
|
13
13
|
import { ErrorStatus, ModalSearch } from './comTool';
|
|
14
|
+
import { useSyncValue } from '../../../utils/hooks/useSyncValue';
|
|
14
15
|
export function UserTreeSelectH5({ id, className, style, events = emptyObject, label = '成员选择', labelVisible = true, name = 'formUserTreeSelect', placeholder = '请选择成员', defaultValueType = 'noneUser', defaultValue = emptyArray, confirmValue = '', disabled = false, layout = 'horizontal', requiredFlag = false, decorator, multiple = false, //是否多选
|
|
15
16
|
focus: autoFocus = false, onChange = null, modelOpen = false, request = defaultRequest, }) {
|
|
16
17
|
var _a;
|
|
@@ -27,8 +28,8 @@ focus: autoFocus = false, onChange = null, modelOpen = false, request = defaultR
|
|
|
27
28
|
});
|
|
28
29
|
// 两次默认值不同, 需要刷新
|
|
29
30
|
const prevDefaultRef = React.useRef(null);
|
|
30
|
-
const prevConfirmRef = React.useRef(null);
|
|
31
|
-
const [
|
|
31
|
+
//const prevConfirmRef = React.useRef(null);
|
|
32
|
+
const [confirmUserList, setConfirmUserList] = useState([]);
|
|
32
33
|
const [visible, setVisible] = React.useState(false);
|
|
33
34
|
const [isSearch, setIsSearch] = useState(false);
|
|
34
35
|
const [orgsTreeData, setOrgsTreeData] = useState([]);
|
|
@@ -38,6 +39,7 @@ focus: autoFocus = false, onChange = null, modelOpen = false, request = defaultR
|
|
|
38
39
|
errorStatus: false,
|
|
39
40
|
errorMessage: null,
|
|
40
41
|
});
|
|
42
|
+
const [selectUserIds, setSelectUserIds] = useSyncValue(defaultValue, isObjectEqual);
|
|
41
43
|
const handleFocus = (value) => {
|
|
42
44
|
setIsSearch(value);
|
|
43
45
|
};
|
|
@@ -51,7 +53,7 @@ focus: autoFocus = false, onChange = null, modelOpen = false, request = defaultR
|
|
|
51
53
|
try {
|
|
52
54
|
const sValue = (_a = event === null || event === void 0 ? void 0 : event.target) === null || _a === void 0 ? void 0 : _a.value;
|
|
53
55
|
if (sValue) {
|
|
54
|
-
setSearchValue(
|
|
56
|
+
setSearchValue([sValue]);
|
|
55
57
|
const { Users = [] } = await request('SearchByCondition', {
|
|
56
58
|
KeyWords: sValue.trim(),
|
|
57
59
|
SearchCondition: {
|
|
@@ -85,15 +87,7 @@ focus: autoFocus = false, onChange = null, modelOpen = false, request = defaultR
|
|
|
85
87
|
setVisible(false);
|
|
86
88
|
};
|
|
87
89
|
const onConfirm = (selectItem = []) => {
|
|
88
|
-
|
|
89
|
-
const contentList = selectItem.map((e) => e === null || e === void 0 ? void 0 : e.content);
|
|
90
|
-
setValue([...contentList]);
|
|
91
|
-
const idList = selectItem.map((e) => e === null || e === void 0 ? void 0 : e.userId);
|
|
92
|
-
prevDefaultRef.current = [...idList];
|
|
93
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(multiple ? idList : (_a = selectItem[0]) === null || _a === void 0 ? void 0 : _a.userId);
|
|
94
|
-
(_b = events === null || events === void 0 ? void 0 : events.change) === null || _b === void 0 ? void 0 : _b.call(events, multiple
|
|
95
|
-
? { value: idList, data: selectItem }
|
|
96
|
-
: { value: (_c = selectItem[0]) === null || _c === void 0 ? void 0 : _c.userId, data: selectItem });
|
|
90
|
+
setConfirmUserList(selectItem);
|
|
97
91
|
setOrgsTreeData([]);
|
|
98
92
|
initOrgsData();
|
|
99
93
|
setVisible(false);
|
|
@@ -101,55 +95,81 @@ focus: autoFocus = false, onChange = null, modelOpen = false, request = defaultR
|
|
|
101
95
|
useEffect(() => {
|
|
102
96
|
setVisible(modelOpen);
|
|
103
97
|
}, [modelOpen]);
|
|
98
|
+
useEffect(() => {
|
|
99
|
+
// 仅执行一次
|
|
100
|
+
if (defaultValueType === 'loginUser') {
|
|
101
|
+
getLoginUserInfo();
|
|
102
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
103
|
+
}
|
|
104
|
+
}, [defaultValueType]);
|
|
105
|
+
useEffect(() => {
|
|
106
|
+
if (defaultValueType === 'confirmUser') {
|
|
107
|
+
setSelectUserIds(confirmValue);
|
|
108
|
+
}
|
|
109
|
+
}, [defaultValueType, confirmValue]);
|
|
110
|
+
const getLoginUserInfo = async () => {
|
|
111
|
+
if (isInIde()) {
|
|
112
|
+
setConfirmUserList([{ userName: '显示登录人名称', id: 'loginmock' }]);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
const logginUserInfo = await getUserInfo();
|
|
116
|
+
setSelectUserIds(multiple ? [logginUserInfo === null || logginUserInfo === void 0 ? void 0 : logginUserInfo.userId] : logginUserInfo === null || logginUserInfo === void 0 ? void 0 : logginUserInfo.userId);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
useEffect(() => {
|
|
120
|
+
var _a, _b, _c;
|
|
121
|
+
setSelectItem(confirmUserList.map((list) => {
|
|
122
|
+
var _a;
|
|
123
|
+
return { userId: list === null || list === void 0 ? void 0 : list.value, content: (_a = list === null || list === void 0 ? void 0 : list.data) === null || _a === void 0 ? void 0 : _a.content };
|
|
124
|
+
}));
|
|
125
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(multiple
|
|
126
|
+
? confirmUserList.length > 0
|
|
127
|
+
? confirmUserList.map((e) => {
|
|
128
|
+
return e === null || e === void 0 ? void 0 : e.userId;
|
|
129
|
+
})
|
|
130
|
+
: null
|
|
131
|
+
: (_a = confirmUserList[0]) === null || _a === void 0 ? void 0 : _a.userId);
|
|
132
|
+
(_b = events === null || events === void 0 ? void 0 : events.change) === null || _b === void 0 ? void 0 : _b.call(events, multiple
|
|
133
|
+
? {
|
|
134
|
+
value: confirmUserList.length > 0
|
|
135
|
+
? confirmUserList.map((e) => {
|
|
136
|
+
return e === null || e === void 0 ? void 0 : e.userId;
|
|
137
|
+
})
|
|
138
|
+
: null,
|
|
139
|
+
data: confirmUserList,
|
|
140
|
+
}
|
|
141
|
+
: {
|
|
142
|
+
value: ((_c = confirmUserList[0]) === null || _c === void 0 ? void 0 : _c.userId) || null,
|
|
143
|
+
data: confirmUserList[0] || null,
|
|
144
|
+
});
|
|
145
|
+
}, [confirmUserList]);
|
|
104
146
|
useEffect(() => {
|
|
105
147
|
initOrgsData();
|
|
106
|
-
|
|
107
|
-
!isObjectEqual(prevDefaultRef.current
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
getDefaultUser();
|
|
112
|
-
prevDefaultRef.current = defaultValue;
|
|
113
|
-
prevConfirmRef.current = confirmValue;
|
|
148
|
+
try {
|
|
149
|
+
if (!isObjectEqual(prevDefaultRef.current, selectUserIds)) {
|
|
150
|
+
getDefaultUser(selectUserIds);
|
|
151
|
+
prevDefaultRef.current = selectUserIds;
|
|
152
|
+
}
|
|
114
153
|
}
|
|
154
|
+
catch (e) { }
|
|
115
155
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
116
|
-
}, [defaultValueType,
|
|
117
|
-
const getDefaultUser = useCallback(async () => {
|
|
118
|
-
var _a;
|
|
156
|
+
}, [defaultValueType, selectUserIds]);
|
|
157
|
+
const getDefaultUser = useCallback(async (defaultValue) => {
|
|
119
158
|
try {
|
|
120
|
-
|
|
121
|
-
if (defaultValueType === 'loginUser') {
|
|
122
|
-
if (isInIde()) {
|
|
123
|
-
setValue(['显示登录人名称']);
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
const logginUserInfo = await getUserInfo();
|
|
127
|
-
setValue([(logginUserInfo === null || logginUserInfo === void 0 ? void 0 : logginUserInfo.name) || '-']);
|
|
128
|
-
prevDefaultRef.current = logginUserInfo === null || logginUserInfo === void 0 ? void 0 : logginUserInfo.userId;
|
|
129
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(logginUserInfo === null || logginUserInfo === void 0 ? void 0 : logginUserInfo.userId);
|
|
130
|
-
(_a = events === null || events === void 0 ? void 0 : events.change) === null || _a === void 0 ? void 0 : _a.call(events, {
|
|
131
|
-
value: logginUserInfo === null || logginUserInfo === void 0 ? void 0 : logginUserInfo.userId,
|
|
132
|
-
data: logginUserInfo,
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
else if ((defaultValueType === 'confirmUser' && confirmValue.length !== 0) ||
|
|
137
|
-
defaultValue.length !== 0) {
|
|
138
|
-
const userIdList = filterStrList(confirmValue.length !== 0 ? confirmValue : defaultValue);
|
|
159
|
+
if (defaultValue && defaultValue.length !== 0) {
|
|
139
160
|
const userSelectList = await request('getUserById', {
|
|
140
|
-
idList:
|
|
161
|
+
idList: filterStrList(defaultValue) || [],
|
|
141
162
|
}, 'callDataSource');
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}));
|
|
163
|
+
setConfirmUserList(userSelectList);
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
setConfirmUserList([]);
|
|
147
167
|
}
|
|
148
168
|
}
|
|
149
169
|
catch (e) {
|
|
150
170
|
setErrorInfo({ errorStatus: true, errorMessage: e });
|
|
151
171
|
}
|
|
152
|
-
}, [
|
|
172
|
+
}, []);
|
|
153
173
|
// 初始化数据
|
|
154
174
|
const initOrgsData = useCallback(async () => {
|
|
155
175
|
try {
|
|
@@ -221,7 +241,9 @@ focus: autoFocus = false, onChange = null, modelOpen = false, request = defaultR
|
|
|
221
241
|
return renderDecorator(React.createElement(ConfigProvider, { classPrefix: "wedatea2td" },
|
|
222
242
|
React.createElement("div", { className: subCls },
|
|
223
243
|
React.createElement("div", { className: "weui-cell__bd weui-flex" },
|
|
224
|
-
React.createElement("input", { className: "weui-input", placeholder: placeholder, value:
|
|
244
|
+
React.createElement("input", { "data-testid": "defaultValueText", className: "weui-input", placeholder: placeholder, value: (confirmUserList || [])
|
|
245
|
+
.map((e) => { var _a; return (_a = e.data) === null || _a === void 0 ? void 0 : _a.content; })
|
|
246
|
+
.join(','), disabled: disabled, name: name, autoFocus: autoFocus, readOnly: true, onClick: onFocus, role: "input" })),
|
|
225
247
|
React.createElement(Modal, { visible: visible, onClose: onClose, destroyOnClose: true, className: `weda-ui weda-select-user-dept__dialog` },
|
|
226
248
|
React.createElement(Modal.Body, { className: ((_a = selectItem[0]) === null || _a === void 0 ? void 0 : _a.userId) ? 'is-selected-value' : '' },
|
|
227
249
|
React.createElement("div", { className: "weda-select-user-dept__dialog-header", id: count.toString() },
|
|
@@ -4,7 +4,7 @@ import classNames from '../../utils/classnames';
|
|
|
4
4
|
import './index.css';
|
|
5
5
|
import { ImageInner } from './image';
|
|
6
6
|
import { emptyObject } from '../../utils/constant';
|
|
7
|
-
import { useTempUrl } from '../../utils/use-cloud-id-temp-url';
|
|
7
|
+
import { useTempUrl } from '../../utils/hooks/use-cloud-id-temp-url';
|
|
8
8
|
export default function Image({
|
|
9
9
|
// 系统属性
|
|
10
10
|
className, events = emptyObject, style,
|
|
@@ -94,6 +94,23 @@ export { default as Share } from './share';
|
|
|
94
94
|
export { default as Lottery } from './lottery';
|
|
95
95
|
export { default as UserTreeSelect } from './form/userOrgSelect/index';
|
|
96
96
|
export { default as DepartTreeSelect } from './form/userOrgSelect/departTreeSelect/index';
|
|
97
|
+
export { default as WdBubble } from './wd-bubble';
|
|
97
98
|
export { default as FormDetail } from './formdetail';
|
|
99
|
+
export { PageLayout } from './pageLayout';
|
|
100
|
+
export const ModelTable = loadable(() => import('./table'), { fallback });
|
|
101
|
+
export const ModelFlowChart = loadable(() => import('./flow/modules/chart'), {
|
|
102
|
+
fallback,
|
|
103
|
+
});
|
|
104
|
+
export const ModelFlow = loadable(() => import('./flow/modules/combination'), {
|
|
105
|
+
fallback,
|
|
106
|
+
});
|
|
107
|
+
export const ModelFlowControl = loadable(() => import('./flow/modules/control'), { fallback });
|
|
108
|
+
export const ModelFlowBasic = loadable(() => import('./flow/modules/basic'), {
|
|
109
|
+
fallback,
|
|
110
|
+
});
|
|
111
|
+
export const ModelFlowLayout = loadable(() => import('./flow/modules/layout'), {
|
|
112
|
+
fallback,
|
|
113
|
+
});
|
|
114
|
+
export const ModelFlowProcess = loadable(() => import('./flow/modules/process'), { fallback });
|
|
98
115
|
import 'weui/dist/style/weui.css';
|
|
99
116
|
import '../weda-ui.css';
|
|
@@ -176,5 +176,13 @@
|
|
|
176
176
|
color: rgba(0, 0, 0, 0.4);
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
+
.weda-list-view__load-completed {
|
|
180
|
+
text-align: center;
|
|
181
|
+
padding: 0.35714rem 0;
|
|
182
|
+
color: rgba(0, 0, 0, 0.4);
|
|
183
|
+
opacity: 0.4;
|
|
184
|
+
font-size: 0.85714rem;
|
|
185
|
+
}
|
|
186
|
+
|
|
179
187
|
/*# sourceURL=webpack://./src/web/components/listView/index.css */
|
|
180
|
-
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
188
|
+
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8uL3NyYy93ZWIvY29tcG9uZW50cy9saXN0Vmlldy9pbmRleC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2Isc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBLFdBQVc7QUFDWDtFQUNFLGtCQUFrQjtFQUNsQixZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsZUFBZTtFQUNmLHdCQUF3QjtBQUMxQjs7QUFFQTs7RUFFRSw2QkFBNkI7RUFDN0Isa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixTQUFTO0VBQ1QsT0FBTztFQUNQLFFBQVE7RUFDUixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixxQkFBcUI7QUFDdkI7O0FBRUEsV0FBVztBQUNYO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0UsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsdUJBQXVCO0VBQ3ZCLG9CQUFvQjtFQUNwQixvQkFBb0I7RUFDcEIsc0JBQXNCO0VBQ3RCLHlCQUF5QjtFQUN6QixrQkFBa0I7RUFDbEIsc0JBQXNCO0VBQ3RCLGVBQWU7QUFDakI7O0FBRUEsb0JBQW9CO0FBQ3BCO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsdUJBQXVCO0VBQ3ZCLDBCQUEwQjtFQUMxQixzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsa0JBQWtCO0FBQ3BCOztBQUVBOzs7RUFHRSxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLGNBQWM7QUFDaEI7O0FBRUEsWUFBWTtBQUNaOztFQUVFLDZCQUE2QjtBQUMvQjtBQUNBOzs7RUFHRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixrQkFBa0I7RUFDbEIsb0RBQW9EO0VBQ3BELHNCQUFzQjtBQUN4Qjs7QUFFQTs7Ozs7O0VBTUUsb0JBQW9CO0VBQ3BCLHNCQUFzQjtFQUN0Qix5QkFBeUI7RUFDekIscUJBQXFCO0VBQ3JCLGVBQWU7QUFDakI7O0FBRUE7Ozs7OztFQU1FLHlCQUF5QjtBQUMzQjs7QUFFQTs7Ozs7O0VBTUUsa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZixZQUFZO0VBQ1oseURBQTJDO0FBQzdDOztBQUVBOzs7Ozs7RUFNRSxVQUFVO0FBQ1o7O0FBRUE7OztFQUdFLGdCQUFnQjtFQUNoQix5QkFBeUI7QUFDM0I7O0FBRUE7OztFQUdFLGlCQUFpQjtBQUNuQjs7QUFFQTs7O0VBR0Usb0JBQW9CO0VBQ3BCLHNCQUFzQjtFQUN0Qix5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLHlCQUF5QjtFQUN6QixZQUFZO0VBQ1oscUJBQXFCO0FBQ3ZCIiwic291cmNlc0NvbnRlbnQiOlsiLndlZGEtbGlzdC12aWV3X19jb250YWlub3Ige1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi53ZWRhLWxpc3Qtdmlld19fY29udGFpbm9yLl93YS1jb21wLWNvbnRhaW5lci1lbXB0eS1jaGlsZHJlbiB7XG4gIGhlaWdodDogdW5zZXQ7XG59XG5cbi8qIOWIl+ihqOWGheWuueWMuuWfnyAqL1xuLndlZGEtbGlzdC12aWV3X19jb250YWlub3IgLndlZGEtbGlzdC12aWV3X19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWdyb3c6IDI7XG59XG5cbi53ZWRhLWxpc3Qtdmlld19fY29udGFpbm9yIC53ZWRhLWxpc3Qtdmlld19fY29udGVudC1ibGFuayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ud2VkYS1saXN0LXZpZXdfX2NvbnRhaW5vciAud2VkYS1saXN0LXZpZXdfX2VtcHR5IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cblxuLndlZGEtbGlzdC12aWV3LWNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogMC4yMTQyOXJlbTtcbn1cblxuLndlZGEtbGlzdC12aWV3X19jb250YWlub3JcbiAgLndlZGEtbGlzdC12aWV3X19tb3JlLndlZGEtbGlzdC12aWV3X19jb250ZW50LWxvYWRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjM1NzE0cmVtIDA7XG59XG5cbi8qIOWKoOi9veabtOWkmuWMuuWfnyAqL1xuLndlZGEtbGlzdC12aWV3X19jb250YWlub3IgLndlZGEtbGlzdC12aWV3X19tb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi53ZWRhLWxpc3Qtdmlld19fY29udGFpbm9yIC53ZWRhLWxpc3Qtdmlld19fbW9yZSAud2VkYS1saXN0LXZpZXdfX2JvdHRvbS1sb2FkIHtcbiAgcGFkZGluZy10b3A6IDAuMDcxNDNyZW07XG59XG5cbi53ZWRhLWxpc3Qtdmlld19fY29udGFpbm9yIC53ZWRhLWxpc3Qtdmlld19fbW9yZSAud2VkYS1saXN0LXZpZXdfX21vcmUtdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAwLjcxNDI5cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjg1NzE0ZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjg1NzE0ZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiDliqDovb3mm7TlpJrnmoRTeW1ib2wgLi4uICovXG4ud2VkYS1saXN0LXZpZXdfX2NvbnRhaW5vciAud2VkYS1saXN0LXZpZXdfX21vcmUgLndlZGEtbGlzdC12aWV3X19tb3JlLXN5bWJvbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMS40Mjg1N3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMjg1NzFyZW07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi53ZWRhLWxpc3Qtdmlld19fY29udGFpbm9yIC53ZWRhLWxpc3Qtdmlld19fbW9yZSAud2VkYS1saXN0LXZpZXdfX3N5bWJvbC1pdGVtIHtcbiAgd2lkdGg6IDAuNTcxNDNyZW07XG4gIGhlaWdodDogMC41NzE0M3JlbTtcbiAgYmFja2dyb3VuZDogI2M0YzRjNDtcbiAgbWFyZ2luLWxlZnQ6IDAuNDI4NTdyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLndlZGEtbGlzdC12aWV3X19jb250YWlub3JcbiAgLndlZGEtbGlzdC12aWV3X19tb3JlXG4gIC53ZWRhLWxpc3Qtdmlld19fc3ltYm9sLWl0ZW06Zmlyc3QtY2hpbGQge1xuICB3aWR0aDogMC40Mjg1N3JlbTtcbiAgaGVpZ2h0OiAwLjQyODU3cmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyog5Yqg6L295pu05aSaIOWIhumhtSAqL1xuLndlZGEtbGlzdC12aWV3X19jb250YWlub3JcbiAgLndlZGEtbGlzdC12aWV3X19tb3JlLndlZGEtbGlzdC12aWV3X19tb3JlLWJvdHRvbUxvYWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi53ZWRhLWxpc3Qtdmlld19fY29udGFpbm9yXG4gIC53ZWRhLWxpc3Qtdmlld19fbW9yZVxuICAud2VkYS1saXN0LXZpZXdfX21vcmUtcGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwLjcxNDI5cmVtIDEuMjg1NzFyZW0gMC44NTcxNHJlbSAxLjE0Mjg2cmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ud2VkYS1saXN0LXZpZXdfX2NvbnRhaW5vclxuICAud2VkYS1saXN0LXZpZXdfX21vcmVcbiAgLndlZGEtbGlzdC12aWV3X19wYWdpbmF0aW9uLXByZSxcbi53ZWRhLWxpc3Qtdmlld19fY29udGFpbm9yXG4gIC53ZWRhLWxpc3Qtdmlld19fbW9yZVxuICAud2VkYS1saXN0LXZpZXdfX3BhZ2luYXRpb24tbmV4dCB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNGVtO1xuICBsaW5lLWhlaWdodDogMS43MTQyOGVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBwYWRkaW5nOiAwIDEuNzE0MjlyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLndlZGEtbGlzdC12aWV3X19jb250YWlub3JcbiAgLndlZGEtbGlzdC12aWV3X19tb3JlXG4gIC53ZWRhLWxpc3Qtdmlld19fcGFnaW5hdGlvbi1wcmUuYWN0aXZlLFxuLndlZGEtbGlzdC12aWV3X19jb250YWlub3JcbiAgLndlZGEtbGlzdC12aWV3X19tb3JlXG4gIC53ZWRhLWxpc3Qtdmlld19fcGFnaW5hdGlvbi1uZXh0LmFjdGl2ZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG59XG5cbi53ZWRhLWxpc3Qtdmlld19fY29udGFpbm9yXG4gIC53ZWRhLWxpc3Qtdmlld19fbW9yZVxuICAud2VkYS1saXN0LXZpZXdfX3BhZ2luYXRpb24tcHJlOjpiZWZvcmUsXG4ud2VkYS1saXN0LXZpZXdfX2NvbnRhaW5vclxuICAud2VkYS1saXN0LXZpZXdfX21vcmVcbiAgLndlZGEtbGlzdC12aWV3X19wYWdpbmF0aW9uLW5leHQ6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEuNzE0MjhlbTtcbiAgaGVpZ2h0OiAxLjcxNDI4ZW07XG4gIHRvcDogMC43MTQyOXJlbTtcbiAgb3BhY2l0eTogMC4yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoYXJyb3ctcmlnaHQtbGluZS5zdmcpO1xufVxuXG4ud2VkYS1saXN0LXZpZXdfX2NvbnRhaW5vclxuICAud2VkYS1saXN0LXZpZXdfX21vcmVcbiAgLmFjdGl2ZS53ZWRhLWxpc3Qtdmlld19fcGFnaW5hdGlvbi1wcmU6OmJlZm9yZSxcbi53ZWRhLWxpc3Qtdmlld19fY29udGFpbm9yXG4gIC53ZWRhLWxpc3Qtdmlld19fbW9yZVxuICAuYWN0aXZlLndlZGEtbGlzdC12aWV3X19wYWdpbmF0aW9uLW5leHQ6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLndlZGEtbGlzdC12aWV3X19jb250YWlub3JcbiAgLndlZGEtbGlzdC12aWV3X19tb3JlXG4gIC53ZWRhLWxpc3Qtdmlld19fcGFnaW5hdGlvbi1wcmU6OmJlZm9yZSB7XG4gIGxlZnQ6IDEuMTQyODZyZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi53ZWRhLWxpc3Qtdmlld19fY29udGFpbm9yXG4gIC53ZWRhLWxpc3Qtdmlld19fbW9yZVxuICAud2VkYS1saXN0LXZpZXdfX3BhZ2luYXRpb24tbmV4dDo6YWZ0ZXIge1xuICByaWdodDogMS4yODU3MXJlbTtcbn1cblxuLndlZGEtbGlzdC12aWV3X19jb250YWlub3JcbiAgLndlZGEtbGlzdC12aWV3X19tb3JlXG4gIC53ZWRhLWxpc3Qtdmlld19fcGFnaW5hdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiAwLjg1NzE0ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjcxNDI4ZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbi53ZWRhLWxpc3Qtdmlld19fbG9hZC1jb21wbGV0ZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuMzU3MTRyZW0gMDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgb3BhY2l0eTogMC40O1xuICBmb250LXNpemU6IDAuODU3MTRyZW07XG59XG4iXSwic291cmNlUm9vdCI6IiJ9 */
|
|
@@ -13,10 +13,12 @@ const getIdeMockData = (length = 3) => Array.from({ length }).map(() => Object.c
|
|
|
13
13
|
*/
|
|
14
14
|
export default function ListView(props) {
|
|
15
15
|
var _a, _b, _c;
|
|
16
|
-
const { dataSourceType, bindConnectMetadata, connectorMethod, connectorParams: rawConnectorParams, datasource, orderBy, orderType, where, template, pageSize = 5, pagination, events, className, children, isRecords = true, //是否展示回调recoreds字段
|
|
16
|
+
const { dataSourceType, bindConnectMetadata, connectorMethod, connectorParams: rawConnectorParams, datasource, orderBy, orderType, where: rawWhere, template, pageSize = 5, pagination, events, className, children, isRecords = true, //是否展示回调recoreds字段
|
|
17
17
|
isSetStatus = false, //是否开启加载状态
|
|
18
|
+
loadCompletedText = '', // 加载到底提示
|
|
18
19
|
appCloud = { callDataSource, isInIde }, beforeDataChange = (v) => v, ...rest } = props;
|
|
19
20
|
const connectorParams = rawConnectorParams && JSON.parse(JSON.stringify(rawConnectorParams));
|
|
21
|
+
const where = rawWhere && JSON.parse(JSON.stringify(rawWhere));
|
|
20
22
|
const isModel = dataSourceType !== 'custom-connector';
|
|
21
23
|
const methodName = isModel
|
|
22
24
|
? ((_a = datasource === null || datasource === void 0 ? void 0 : datasource.extra) === null || _a === void 0 ? void 0 : _a.methodName) || 'wedaGetRecords'
|
|
@@ -24,7 +26,6 @@ export default function ListView(props) {
|
|
|
24
26
|
const dataSourceName = isModel
|
|
25
27
|
? datasource === null || datasource === void 0 ? void 0 : datasource.name
|
|
26
28
|
: (_b = bindConnectMetadata === null || bindConnectMetadata === void 0 ? void 0 : bindConnectMetadata.datasource) === null || _b === void 0 ? void 0 : _b.name;
|
|
27
|
-
const [pageNo, setPageNo] = useState(1); // 分页状态
|
|
28
29
|
const [entry, setEntry] = useState(null); // 触底的observer对象
|
|
29
30
|
const [status, setStatus] = useState(''); // 查询状态
|
|
30
31
|
const paramRef = useRef({
|
|
@@ -35,6 +36,12 @@ export default function ListView(props) {
|
|
|
35
36
|
}); // 最新请求参数
|
|
36
37
|
const dataRef = useRef({ total: 0, records: [] }); // 最新数据列表
|
|
37
38
|
const observeRef = useRef(null); // 当前监听对象
|
|
39
|
+
const delayRef = useRef({
|
|
40
|
+
version: null,
|
|
41
|
+
initTimer: null,
|
|
42
|
+
statusTimer: null,
|
|
43
|
+
eventTimer: null,
|
|
44
|
+
}); // 请求防抖、异步时使用最后一次请求
|
|
38
45
|
const isIdeMockData = !(dataSourceName && methodName) && ((_c = appCloud === null || appCloud === void 0 ? void 0 : appCloud.isInIde) === null || _c === void 0 ? void 0 : _c.call(appCloud)); // 在ide环境且未绑定数据源时,存在mock数据逻辑
|
|
39
46
|
const shouldBottomLoad = pagination === 'bottomLoad' &&
|
|
40
47
|
(entry === null || entry === void 0 ? void 0 : entry.isIntersecting) &&
|
|
@@ -50,7 +57,7 @@ export default function ListView(props) {
|
|
|
50
57
|
// props 基本类型监听,需重新分页;处于 ide 且未绑定数据源时返回mock数据
|
|
51
58
|
useEffect(() => {
|
|
52
59
|
var _a, _b;
|
|
53
|
-
|
|
60
|
+
clearDelay();
|
|
54
61
|
if (!isIdeMockData) {
|
|
55
62
|
fetchData({
|
|
56
63
|
dataSourceName,
|
|
@@ -63,7 +70,7 @@ export default function ListView(props) {
|
|
|
63
70
|
pageSize,
|
|
64
71
|
},
|
|
65
72
|
pagination,
|
|
66
|
-
});
|
|
73
|
+
}, { isInitData: true });
|
|
67
74
|
}
|
|
68
75
|
else {
|
|
69
76
|
(_b = events === null || events === void 0 ? void 0 : events.onDataChange) === null || _b === void 0 ? void 0 : _b.call(events, {
|
|
@@ -85,18 +92,18 @@ export default function ListView(props) {
|
|
|
85
92
|
var _a, _b, _c, _d;
|
|
86
93
|
if (isModel) {
|
|
87
94
|
if (!isequal((_b = (_a = paramRef.current) === null || _a === void 0 ? void 0 : _a.params) === null || _b === void 0 ? void 0 : _b.where, where)) {
|
|
88
|
-
|
|
95
|
+
clearDelay();
|
|
89
96
|
fetchData({
|
|
90
97
|
params: { pageNo: 1, where },
|
|
91
|
-
});
|
|
98
|
+
}, { isInitData: true });
|
|
92
99
|
}
|
|
93
100
|
}
|
|
94
101
|
else {
|
|
95
102
|
if (!isequal((_d = (_c = paramRef.current) === null || _c === void 0 ? void 0 : _c.params) === null || _d === void 0 ? void 0 : _d.connectorParams, connectorParams)) {
|
|
96
|
-
|
|
103
|
+
clearDelay();
|
|
97
104
|
fetchData({
|
|
98
105
|
params: { pageNo: 1, connectorParams },
|
|
99
|
-
});
|
|
106
|
+
}, { isInitData: true });
|
|
100
107
|
}
|
|
101
108
|
}
|
|
102
109
|
});
|
|
@@ -109,6 +116,11 @@ export default function ListView(props) {
|
|
|
109
116
|
});
|
|
110
117
|
}
|
|
111
118
|
}, [shouldBottomLoad]);
|
|
119
|
+
// 清除延迟状态
|
|
120
|
+
const clearDelay = () => {
|
|
121
|
+
clearTimeout(delayRef.current.statusTimer);
|
|
122
|
+
clearTimeout(delayRef.current.eventTimer);
|
|
123
|
+
};
|
|
112
124
|
// 触底监控对象
|
|
113
125
|
const nodeRefCallback = useCallback((node) => {
|
|
114
126
|
var _a;
|
|
@@ -130,18 +142,21 @@ export default function ListView(props) {
|
|
|
130
142
|
/**
|
|
131
143
|
* 列表视图拉取数据
|
|
132
144
|
* 方法仅依赖入参和paramRef的参数
|
|
145
|
+
* isInitData: 是否初始化数据默认否
|
|
133
146
|
*/
|
|
134
|
-
const fetchData = async (param) => {
|
|
147
|
+
const fetchData = async (param, options) => {
|
|
135
148
|
var _a;
|
|
136
|
-
|
|
137
|
-
const
|
|
149
|
+
const fetchVersion = (delayRef.current.version = Date.now());
|
|
150
|
+
const { isInitData } = options || {};
|
|
151
|
+
// 合并参数并保存,useEffect 中需要比对
|
|
152
|
+
paramRef.current = {
|
|
138
153
|
...paramRef.current,
|
|
139
154
|
...param,
|
|
140
155
|
params: { ...paramRef.current.params, ...param === null || param === void 0 ? void 0 : param.params },
|
|
141
156
|
};
|
|
142
|
-
const { dataSourceName, methodName, params } =
|
|
157
|
+
const { dataSourceName, methodName, params } = paramRef.current;
|
|
143
158
|
const { orderBy, orderType, pageNo, pageSize, where, connectorParams } = params || {};
|
|
144
|
-
if (
|
|
159
|
+
if (!(dataSourceName && methodName))
|
|
145
160
|
return;
|
|
146
161
|
setStatus('loading');
|
|
147
162
|
let tcbParams = {};
|
|
@@ -161,7 +176,8 @@ export default function ListView(props) {
|
|
|
161
176
|
whereEffected.length > 0 && (tcbParams['where'] = whereEffected);
|
|
162
177
|
}
|
|
163
178
|
else {
|
|
164
|
-
|
|
179
|
+
// 内部分页参数覆盖查询入参
|
|
180
|
+
tcbParams = Object.assign({}, connectorParams, tcbParams);
|
|
165
181
|
}
|
|
166
182
|
// tcb结果和事件
|
|
167
183
|
let data = [];
|
|
@@ -174,22 +190,23 @@ export default function ListView(props) {
|
|
|
174
190
|
methodName,
|
|
175
191
|
params: tcbParams,
|
|
176
192
|
}, true));
|
|
177
|
-
|
|
178
|
-
|
|
193
|
+
if (fetchVersion !== delayRef.current.version)
|
|
194
|
+
return;
|
|
195
|
+
isInitData && (dataRef.current = { total: 0, records: [] });
|
|
196
|
+
onEvents(data, eventDatasource);
|
|
179
197
|
}
|
|
180
198
|
catch (e) {
|
|
181
|
-
setStatus(
|
|
199
|
+
setStatus('fail');
|
|
182
200
|
(_a = events === null || events === void 0 ? void 0 : events.queryFail) === null || _a === void 0 ? void 0 : _a.call(events, { datasource: eventDatasource, data: null });
|
|
183
201
|
}
|
|
184
202
|
};
|
|
185
203
|
/**
|
|
186
204
|
* 根据fetchData方法返回值,回调给外部事件
|
|
187
205
|
*/
|
|
188
|
-
const
|
|
189
|
-
var _a, _b
|
|
190
|
-
const bottomLoadTimer = 150;
|
|
206
|
+
const onEvents = (data, datasource) => {
|
|
207
|
+
var _a, _b;
|
|
191
208
|
const fetchRecords = [].concat(!isRecords && !isModel ? data : (data === null || data === void 0 ? void 0 : data.records) || []);
|
|
192
|
-
const total = (
|
|
209
|
+
const total = Number(data === null || data === void 0 ? void 0 : data.total) || 0;
|
|
193
210
|
if (['loadMoreButton', 'bottomLoad'].includes(paramRef.current.pagination)) {
|
|
194
211
|
dataRef.current = {
|
|
195
212
|
total,
|
|
@@ -199,22 +216,25 @@ export default function ListView(props) {
|
|
|
199
216
|
else {
|
|
200
217
|
dataRef.current = { total, records: fetchRecords };
|
|
201
218
|
}
|
|
202
|
-
(
|
|
219
|
+
(_a = events === null || events === void 0 ? void 0 : events.onDataChange) === null || _a === void 0 ? void 0 : _a.call(events, {
|
|
203
220
|
data: beforeDataChange(dataRef.current.records || []),
|
|
204
221
|
state: getContextState(),
|
|
205
222
|
});
|
|
206
223
|
if (total === 0) {
|
|
207
|
-
setStatus(
|
|
208
|
-
(
|
|
224
|
+
setStatus('empty');
|
|
225
|
+
(_b = events === null || events === void 0 ? void 0 : events.queryEmpty) === null || _b === void 0 ? void 0 : _b.call(events, {
|
|
209
226
|
datasource,
|
|
210
227
|
data: beforeDataChange([]),
|
|
211
228
|
});
|
|
212
229
|
}
|
|
213
230
|
else {
|
|
214
231
|
const statusCb = () => setStatus('success');
|
|
215
|
-
pagination === 'bottomLoad'
|
|
216
|
-
|
|
217
|
-
|
|
232
|
+
if (pagination === 'bottomLoad') {
|
|
233
|
+
delayRef.current.statusTimer = window.setTimeout(statusCb, 150);
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
statusCb();
|
|
237
|
+
}
|
|
218
238
|
}
|
|
219
239
|
const successCb = () => {
|
|
220
240
|
var _a;
|
|
@@ -223,10 +243,12 @@ export default function ListView(props) {
|
|
|
223
243
|
data: beforeDataChange(dataRef.current.records),
|
|
224
244
|
});
|
|
225
245
|
};
|
|
226
|
-
pagination === 'bottomLoad'
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
246
|
+
if (pagination === 'bottomLoad') {
|
|
247
|
+
delayRef.current.eventTimer = window.setTimeout(successCb, 200);
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
successCb();
|
|
251
|
+
}
|
|
230
252
|
};
|
|
231
253
|
/**
|
|
232
254
|
* 计算上下文对象数据
|
|
@@ -234,28 +256,21 @@ export default function ListView(props) {
|
|
|
234
256
|
const getContextState = (state = {}) => {
|
|
235
257
|
var _a, _b;
|
|
236
258
|
const total = (_b = (_a = dataRef.current) === null || _a === void 0 ? void 0 : _a.total) !== null && _b !== void 0 ? _b : 0;
|
|
237
|
-
|
|
238
|
-
if (!isModel) {
|
|
239
|
-
connectorParams =
|
|
240
|
-
Object.prototype.toString.call(connectorParams) === '[object Object]'
|
|
241
|
-
? connectorParams
|
|
242
|
-
: {};
|
|
243
|
-
pageNo = connectorParams.pageNo;
|
|
244
|
-
pageSize = connectorParams.pageSize;
|
|
245
|
-
}
|
|
259
|
+
const { pageNo, pageSize } = paramRef.current.params;
|
|
246
260
|
return { total, pageNo, pageSize, ...state };
|
|
247
261
|
};
|
|
248
262
|
/**
|
|
249
263
|
* 分页,加载更多
|
|
250
264
|
*/
|
|
251
265
|
const renderLoadMore = () => {
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
266
|
+
var _a, _b;
|
|
267
|
+
const pageNo = ((_b = (_a = paramRef.current) === null || _a === void 0 ? void 0 : _a.params) === null || _b === void 0 ? void 0 : _b.pageNo) || 1;
|
|
268
|
+
const MoreButton = (React.createElement("div", { className: `${BLOCK_NAME}__more-text`, onClick: () => fetchData({ params: { pageNo: pageNo + 1 } }) }, "\u52A0\u8F7D\u66F4\u591A"));
|
|
269
|
+
if (isIdeMockData)
|
|
270
|
+
return MoreButton;
|
|
256
271
|
if (status === 'loading')
|
|
257
272
|
return LoadingSymbol;
|
|
258
|
-
return
|
|
273
|
+
return !hasNextPage() ? LoadEnd : MoreButton;
|
|
259
274
|
};
|
|
260
275
|
/**
|
|
261
276
|
* 分页,底部刷新
|
|
@@ -267,10 +282,11 @@ export default function ListView(props) {
|
|
|
267
282
|
* 分页,分页器,含ideMockData的判断
|
|
268
283
|
*/
|
|
269
284
|
const renderPagination = () => {
|
|
270
|
-
var _a, _b;
|
|
271
|
-
const
|
|
272
|
-
const
|
|
273
|
-
const
|
|
285
|
+
var _a, _b, _c, _d;
|
|
286
|
+
const pageNo = ((_b = (_a = paramRef.current) === null || _a === void 0 ? void 0 : _a.params) === null || _b === void 0 ? void 0 : _b.pageNo) || 1;
|
|
287
|
+
const preDisabeld = pageNo <= 1 || status === 'loading';
|
|
288
|
+
const nextDisabeld = !hasNextPage() || status === 'loading';
|
|
289
|
+
const total = (_d = (_c = dataRef.current) === null || _c === void 0 ? void 0 : _c.total) !== null && _d !== void 0 ? _d : 0;
|
|
274
290
|
return (React.createElement("div", { className: `${BLOCK_NAME}__more-pagination` },
|
|
275
291
|
React.createElement("div", { className: classNames(`${BLOCK_NAME}__pagination-pre`, preDisabeld ? '' : 'active'), onClick: () => !preDisabeld && fetchData({ params: { pageNo: pageNo - 1 } }) }, "\u4E0A\u4E00\u9875"),
|
|
276
292
|
React.createElement("div", { className: classNames(`${BLOCK_NAME}__pagination-text`) },
|
|
@@ -302,7 +318,7 @@ export default function ListView(props) {
|
|
|
302
318
|
/**
|
|
303
319
|
* 加载到底状态组件
|
|
304
320
|
*/
|
|
305
|
-
const LoadEnd = React.createElement("div",
|
|
321
|
+
const LoadEnd = status === 'success' && loadCompletedText && (React.createElement("div", { className: `${BLOCK_NAME}__load-completed` }, String(loadCompletedText)));
|
|
306
322
|
return (React.createElement("div", { ...rest, className: classNames('weda-ui', `${BLOCK_NAME}__containor`, className) },
|
|
307
323
|
children && (React.createElement("div", { className: classNames(template === 'cardList' ? `${BLOCK_NAME}-card` : '', `${BLOCK_NAME}__content`, ['empty', 'fail'].includes(status) && isSetStatus
|
|
308
324
|
? `${BLOCK_NAME}__content-blank`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Container, Text, Button } from '../index';
|
|
3
3
|
import './h5.css';
|
|
4
|
-
import { useSyncValue } from '../../utils/useSyncValue';
|
|
4
|
+
import { useSyncValue } from '../../utils/hooks/useSyncValue';
|
|
5
5
|
export function ModalH5(props) {
|
|
6
6
|
const { events, visible, content, isDefaultButton, customButton, customContent, outerRef, } = props;
|
|
7
7
|
const [isVisible, setIsVisible] = useSyncValue(visible);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Modal, Button, ConfigProvider } from 'tea-component';
|
|
3
3
|
import classNames from '../../utils/classnames';
|
|
4
|
-
import { useSyncValue } from '../../utils/useSyncValue';
|
|
4
|
+
import { useSyncValue } from '../../utils/hooks/useSyncValue';
|
|
5
5
|
export function ModalPc(props) {
|
|
6
6
|
const { className, content, visible, customButton, customContent, isDefaultButton, size, events, outerRef, ...restProps } = props;
|
|
7
7
|
const [isVisible, setIsVisible] = useSyncValue(visible);
|