@cloudbase/weda-ui 3.4.2 → 3.4.4
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 +7 -2
- package/dist/configs/components/chart/line.js +872 -0
- package/dist/configs/components/chart/pie.json +7 -2
- package/dist/configs/components/chart/statisticsCard.json +3 -2
- package/dist/configs/components/container.js +64 -0
- package/dist/configs/components/dataView.js +507 -0
- 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 +4 -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 +57 -1
- package/dist/configs/components/formdetail.json +16 -4
- package/dist/configs/components/graphicCard.json +2 -1
- package/dist/configs/components/grid/col.js +125 -0
- package/dist/configs/components/grid/grid.js +131 -0
- package/dist/configs/components/grid/row.js +143 -0
- package/dist/configs/components/image.js +205 -0
- package/dist/configs/components/link.js +78 -0
- package/dist/configs/components/listView.js +988 -0
- 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 +12 -3
- package/dist/configs/components/pagelayout.json +31 -0
- package/dist/configs/components/repeater-item.json +17 -0
- package/dist/configs/components/repeater.js +125 -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 +777 -0
- package/dist/configs/components/tabs.js +120 -0
- package/dist/configs/components/text.js +120 -0
- package/dist/configs/components/wd-bubble.js +204 -0
- package/dist/configs/components/wd-button.js +417 -0
- package/dist/configs/components/wd-divider.js +89 -0
- package/dist/configs/components/wd-icon.js +126 -0
- package/dist/configs/components/wd-image.js +164 -0
- package/dist/configs/components/wd-link.js +234 -0
- package/dist/configs/components/wd-table.js +59 -0
- package/dist/configs/components/wd-text.js +142 -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 +63 -14
- package/dist/configs/type-utils/index.js +92 -0
- package/dist/docs/common/componentList.js +144 -0
- package/dist/docs/common/components/classes-view.js +34 -0
- package/dist/docs/common/components/event-view.js +46 -0
- package/dist/docs/common/components/json-schema-view.js +18 -0
- package/dist/docs/common/components/methods-view.js +32 -0
- package/dist/docs/common/components/properties-view.js +45 -0
- package/dist/docs/common/format.js +60 -35
- package/dist/docs/common/helper.js +1 -0
- package/dist/docs/common/tableView.js +61 -50
- package/dist/enum/index.js +521 -0
- package/dist/index.js +1 -1
- package/dist/style/index.scss +1 -0
- package/dist/web/actions/showMessage/index.css +0 -3
- package/dist/web/actions/showMessage/index.js +1 -1
- package/dist/web/actions/showModal/index.css +0 -3
- package/dist/web/components/button/index.css +2 -5
- package/dist/web/components/button/index.js +4 -4
- package/dist/web/components/calendar/index.css +29 -32
- package/dist/web/components/calendar/index.js +37 -35
- package/dist/web/components/carousel/index.css +11 -14
- package/dist/web/components/carousel/index.js +13 -6
- package/dist/web/components/chart/common/core/eChartBar.js +10 -2
- package/dist/web/components/chart/common/core/eChartLine.js +16 -8
- package/dist/web/components/chart/common/core/eChartPie.js +2 -1
- package/dist/web/components/chart/statisticsCard/index.css +12 -15
- package/dist/web/components/chart/statisticsCard/index.js +6 -1
- package/dist/web/components/dataView/index.js +3 -3
- package/dist/web/components/emptyContent/index.css +26 -0
- package/dist/web/components/emptyContent/index.js +46 -0
- 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 +4 -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 +116 -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 +42 -0
- package/dist/web/components/flow/components/HighlightTextarea/index.js +131 -0
- package/dist/web/components/flow/components/UserSelectModel/UserSelect.js +74 -0
- package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.css +8 -0
- package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.js +86 -0
- package/dist/web/components/flow/components/UserSelectModel/index.js +18 -0
- package/dist/web/components/flow/components/WedaUserTransfer/index.css +3 -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 +80 -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 +75 -0
- package/dist/web/components/flow/frame/types.js +271 -0
- package/dist/web/components/flow/frame/utils.js +90 -0
- package/dist/web/components/flow/modules/basic/Basic.css +16 -0
- package/dist/web/components/flow/modules/basic/Basic.js +48 -0
- package/dist/web/components/flow/modules/basic/BasicMobile.css +29 -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 +87 -0
- package/dist/web/components/flow/modules/chart/index.js +5 -0
- package/dist/web/components/flow/modules/chart/isString.js +5 -0
- package/dist/web/components/flow/modules/combination/index.js +21 -0
- package/dist/web/components/flow/modules/control/ApprovalDrawer.css +144 -0
- package/dist/web/components/flow/modules/control/ApprovalDrawer.js +178 -0
- package/dist/web/components/flow/modules/control/ApprovalPopup.css +115 -0
- package/dist/web/components/flow/modules/control/ApprovalPopup.js +241 -0
- package/dist/web/components/flow/modules/control/Control.css +29 -0
- package/dist/web/components/flow/modules/control/Control.js +93 -0
- package/dist/web/components/flow/modules/control/ControlMobile.css +69 -0
- package/dist/web/components/flow/modules/control/ControlMobile.js +133 -0
- package/dist/web/components/flow/modules/control/FlowTaskInfoModal.css +3 -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 +256 -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 +6 -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 +194 -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.css +2 -5
- package/dist/web/components/form/form/index.js +52 -7
- package/dist/web/components/form/formcell/index.css +29 -17
- package/dist/web/components/form/input/index.css +10 -8
- package/dist/web/components/form/input/index.js +12 -1
- package/dist/web/components/form/location/common/mapChoose.css +88 -91
- package/dist/web/components/form/location/common/selectModal.css +10 -13
- package/dist/web/components/form/location/components/LocationH5/index.css +17 -20
- package/dist/web/components/form/location/components/LocationH5/location.h5.js +2 -3
- package/dist/web/components/form/location/components/LocationH5/location.module.css +0 -3
- package/dist/web/components/form/location/components/LocationPC/index.css +10 -13
- package/dist/web/components/form/location/components/LocationPC/location.PC.js +2 -3
- package/dist/web/components/form/location/index.css +0 -3
- package/dist/web/components/form/radio/index.css +0 -3
- package/dist/web/components/form/select/allTimePicker/calendar.css +15 -18
- package/dist/web/components/form/select/allTimePicker/dataUtils.js +10 -0
- package/dist/web/components/form/select/allTimePicker/index.css +53 -27
- package/dist/web/components/form/select/allTimePicker/index.js +36 -27
- package/dist/web/components/form/select/dropdown-select/h5.js +141 -0
- package/dist/web/components/form/select/dropdown-select/index.css +159 -0
- package/dist/web/components/form/select/dropdown-select/index.js +206 -0
- package/dist/web/components/form/select/dropdown-select/pc.js +113 -0
- package/dist/web/components/form/select/dropdown-select/ui.js +45 -40
- package/dist/web/components/form/select/h5.js +16 -6
- package/dist/web/components/form/select/index.css +17 -6
- package/dist/web/components/form/select/index.js +7 -9
- 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 +63 -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/switch/switch.module.css +0 -3
- package/dist/web/components/form/textarea/index.css +1 -4
- package/dist/web/components/form/textarea/index.js +1 -1
- package/dist/web/components/form/tips/index.css +11 -2
- package/dist/web/components/form/uploader/index.css +14 -17
- 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/index.css +61 -64
- 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 +276 -0
- package/dist/web/components/form/userOrgSelect/common/types.js +1 -0
- package/dist/web/components/form/userOrgSelect/common/utils.js +103 -0
- package/dist/web/components/form/userOrgSelect/component/depart-breadcrumb.js +15 -0
- package/dist/web/components/form/userOrgSelect/component/depart-select/depart-select-pc.js +63 -0
- package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +96 -0
- package/dist/web/components/form/userOrgSelect/component/depart-select/org-modal-pc.js +69 -0
- package/dist/web/components/form/userOrgSelect/component/error-tips.js +11 -0
- package/dist/web/components/form/userOrgSelect/component/index.css +323 -0
- package/dist/web/components/form/userOrgSelect/component/input-tags.js +21 -0
- package/dist/web/components/form/userOrgSelect/component/modal-search-h5.js +25 -0
- package/dist/web/components/form/userOrgSelect/component/modal-search.js +11 -0
- package/dist/web/components/form/userOrgSelect/component/modal-select-h5.js +201 -0
- package/dist/web/components/form/userOrgSelect/component/org-tree-h5.js +19 -0
- package/dist/web/components/form/userOrgSelect/component/org-tree.js +33 -0
- package/dist/web/components/form/userOrgSelect/component/selected-list-h5.js +44 -0
- package/dist/web/components/form/userOrgSelect/component/selected-list.js +15 -0
- package/dist/web/components/form/userOrgSelect/component/user-org-list.js +55 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-h5/index.js +151 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-list-h5.js +107 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +50 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/error-tips.js +11 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/model-user-list.js +99 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/org-tree.js +10 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +75 -0
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +65 -0
- package/dist/web/components/form/userOrgSelect/component/userOrgSelect.css +1160 -0
- package/dist/web/components/form/userOrgSelect/departTreeSelect/departTreeSelect.h5.js +54 -87
- package/dist/web/components/form/userOrgSelect/hooks/use-depart-data.js +88 -0
- package/dist/web/components/form/userOrgSelect/hooks/use-views-data.js +48 -0
- package/dist/web/components/formdetail/index.css +34 -31
- package/dist/web/components/formdetail/index.js +12 -3
- package/dist/web/components/graphicCard/index.css +15 -18
- package/dist/web/components/grid/_utils.css +67 -0
- package/dist/web/components/grid/col.js +33 -0
- package/dist/web/components/grid/grid.css +1185 -0
- package/dist/web/components/grid/grid.js +19 -0
- package/dist/web/components/grid/row.js +14 -0
- package/dist/web/components/image/image.js +9 -1
- package/dist/web/components/image/index.css +2 -5
- package/dist/web/components/image/index.js +1 -1
- package/dist/web/components/index.js +33 -2
- package/dist/web/components/link/index.css +0 -3
- package/dist/web/components/listView/index.css +26 -20
- package/dist/web/components/listView/index.js +234 -81
- package/dist/web/components/lottery/index.css +72 -75
- package/dist/web/components/modal/h5.css +19 -21
- package/dist/web/components/modal/modal.h5.js +12 -11
- package/dist/web/components/modal/modal.pc.js +1 -1
- package/dist/web/components/navLayout/index.css +14 -139
- package/dist/web/components/navigationBar/common.js +5 -4
- package/dist/web/components/navigationBar/h5Menu.js +12 -10
- package/dist/web/components/navigationBar/horizontalMenu.js +42 -35
- package/dist/web/components/navigationBar/index.css +131 -86
- package/dist/web/components/navigationBar/index.js +6 -4
- package/dist/web/components/navigationBar/verticalMenu.js +13 -9
- package/dist/web/components/pageLayout/PageContent/index.css +25 -0
- package/dist/web/components/pageLayout/PageContent/index.js +81 -0
- package/dist/web/components/pageLayout/index.css +4 -0
- package/dist/web/components/pageLayout/index.js +22 -0
- package/dist/web/components/phoneCode/index.js +1 -0
- package/dist/web/components/repeater/index.js +17 -0
- package/dist/web/components/repeater-item/index.js +9 -0
- package/dist/web/components/richText/index.css +8 -7
- package/dist/web/components/richText/index.js +6 -4
- package/dist/web/components/richText/richtext.module.css +2 -5
- package/dist/web/components/richTextView/index.css +7 -10
- package/dist/web/components/swiper/index.css +10 -13
- package/dist/web/components/swiper/index.js +19 -5
- package/dist/web/components/table/BaseTable.js +1240 -0
- package/dist/web/components/table/ExportFileModalByApi/index.css +9 -0
- package/dist/web/components/table/ExportFileModalByApi/index.js +150 -0
- package/dist/web/components/table/FieldRender.js +629 -0
- package/dist/web/components/table/FilterFields.js +518 -0
- package/dist/web/components/table/Form/Enum.js +56 -0
- package/dist/web/components/table/Form/Location.css +11 -0
- package/dist/web/components/table/Form/Location.js +126 -0
- package/dist/web/components/table/ImportFileModal/csvTemplate.json +606 -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/ImportFileModalByApi/index.css +130 -0
- package/dist/web/components/table/ImportFileModalByApi/index.js +321 -0
- package/dist/web/components/table/ImportFileModalByApi/uploadCSVFile.js +115 -0
- package/dist/web/components/table/InOrOutRecordModeal.js +139 -0
- package/dist/web/components/table/QuoteModal.js +16 -0
- package/dist/web/components/table/SelectableBlock/index.css +0 -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 +11 -0
- package/dist/web/components/table/baseTable.css +579 -0
- package/dist/web/components/table/hooks/useImportingStatus.js +69 -0
- package/dist/web/components/table/hooks/useInOutFieldsRecords.js +23 -0
- package/dist/web/components/table/index.css +336 -0
- package/dist/web/components/table/index.js +111 -0
- package/dist/web/components/tabs/index.css +19 -18
- package/dist/web/components/tabs/tabs.h5.js +8 -17
- package/dist/web/components/tabs/tabs.pc.js +1 -1
- package/dist/web/components/text/index.css +7 -9
- package/dist/web/components/text/index.js +2 -2
- package/dist/web/components/uploaderFileView/index.css +0 -3
- package/dist/web/components/uploaderFileView/index.js +6 -5
- package/dist/web/components/uploaderView/index.css +5 -8
- package/dist/web/components/wd-bubble/index.js +3 -0
- package/dist/web/components/wd-bubble/wd-bubble.js +17 -0
- package/dist/web/components/wd-button/convert-legacy-props.js +14 -0
- package/dist/web/components/wd-button/index.js +3 -0
- package/dist/web/components/wd-button/wd-button.js +89 -0
- package/dist/web/components/wd-config-provider/index.js +1 -0
- package/dist/web/components/wd-config-provider/wd-config-context.js +5 -0
- package/dist/web/components/wd-config-provider/wd-config-provider.js +12 -0
- package/dist/web/components/wd-divider/index.js +3 -0
- package/dist/web/components/wd-divider/wd-divider.js +29 -0
- package/dist/web/components/wd-icon/convert-legacy-props.js +14 -0
- package/dist/web/components/wd-icon/index.js +3 -0
- package/dist/web/components/wd-icon/wd-icon.js +63 -0
- package/dist/web/components/wd-image/image.js +171 -0
- package/dist/web/components/wd-image/index.js +82 -0
- package/dist/web/components/wd-link/index.js +3 -0
- package/dist/web/components/wd-link/wd-link.js +105 -0
- package/dist/web/components/wd-table/index.js +3 -0
- package/dist/web/components/wd-table/wd-table.js +24 -0
- package/dist/web/components/wd-text/convert-legacy-props.js +14 -0
- package/dist/web/components/wd-text/index.js +3 -0
- package/dist/web/components/wd-text/wd-text.js +91 -0
- package/dist/web/components/wedaVideo/index.css +2 -5
- package/dist/web/components/wedaVideo/index.js +9 -7
- package/dist/web/index.js +1 -0
- package/dist/web/utils/config-context/index.js +1 -0
- package/dist/web/utils/config-context/use-config.js +9 -0
- package/dist/web/utils/constant.js +95 -1
- package/dist/web/utils/datasource.js +369 -0
- package/dist/web/utils/date.js +137 -0
- package/dist/web/utils/file.js +190 -0
- package/dist/web/utils/getPageQuery.js +16 -0
- package/dist/web/utils/hooks/CreatePortal.js +6 -0
- package/dist/web/utils/hooks/EnumHoc.js +81 -0
- package/dist/web/utils/hooks/context.js +28 -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/{useSetState.js → hooks/useSetState.js} +0 -0
- package/dist/web/utils/{useSyncValue.js → hooks/useSyncValue.js} +0 -0
- package/dist/web/utils/platform.js +137 -28
- package/dist/web/utils/pollingInterface.js +61 -0
- package/dist/web/utils/tcb.js +46 -8
- package/dist/web/utils/tool.js +109 -0
- package/dist/web/utils/widget-api/index.js +18 -0
- package/dist/web/weda-ui.css +128 -4
- package/package.json +59 -29
- 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/dataView.json +0 -290
- package/dist/configs/components/image.json +0 -190
- package/dist/configs/components/link.json +0 -82
- package/dist/configs/components/listView.json +0 -483
- 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/comTool.js +0 -102
- 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/departTreeSelect.pc.js +0 -155
- package/dist/web/components/form/userOrgSelect/departTreeSelect/index.d.ts +0 -2
- package/dist/web/components/form/userOrgSelect/departTreeSelect/index.js +0 -17
- package/dist/web/components/form/userOrgSelect/getUserService.d.ts +0 -11
- package/dist/web/components/form/userOrgSelect/getUserService.js +0 -160
- package/dist/web/components/form/userOrgSelect/index.d.ts +0 -2
- package/dist/web/components/form/userOrgSelect/index.js +0 -17
- package/dist/web/components/form/userOrgSelect/userOrgSelect.css +0 -824
- package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.d.ts +0 -27
- package/dist/web/components/form/userOrgSelect/userTreeSelect.h5.js +0 -278
- 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/form/userOrgSelect/utils.js +0 -95
- 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,141 @@
|
|
|
1
|
+
import React, { useEffect, useRef, useState, useMemo } from 'react';
|
|
2
|
+
import { Portal } from '../../../common/portal';
|
|
3
|
+
import './index.css';
|
|
4
|
+
import { Status } from '../status';
|
|
5
|
+
import Loading from '../status/loading';
|
|
6
|
+
import Retry from '../status/retry';
|
|
7
|
+
import Empty from '../status/empty';
|
|
8
|
+
import AllEmpty from '../status/allEmpty';
|
|
9
|
+
import { PAGE_SIZE, requestFatherRelatedOption, RequestOptionType, } from '../request';
|
|
10
|
+
export function SelectPickerH5({ updateValue, selectedValue, options, isTurnPages, loadMore, onSearchValue, reTry, status, isShow, params, }) {
|
|
11
|
+
const focusRef = useRef();
|
|
12
|
+
const contentRef = useRef();
|
|
13
|
+
const heightRef = useRef(0);
|
|
14
|
+
const indexRef = useRef(1);
|
|
15
|
+
const [inputFocus, setInputFocus] = useState(false);
|
|
16
|
+
const [searchValue, setSearchValue] = useState('');
|
|
17
|
+
const clickIndex = useMemo(() => {
|
|
18
|
+
if (selectedValue) {
|
|
19
|
+
// 优先本地查找
|
|
20
|
+
const index = options === null || options === void 0 ? void 0 : options.findIndex((item) => item.value === selectedValue);
|
|
21
|
+
if (options.length > 0 &&
|
|
22
|
+
options.length <= PAGE_SIZE &&
|
|
23
|
+
searchValue === '') {
|
|
24
|
+
// 没找到接口查询,该代码只执行一次,使用options.length > PAGE_SIZE限制
|
|
25
|
+
if (index === -1) {
|
|
26
|
+
((params === null || params === void 0 ? void 0 : params.dataSourceName) || (params === null || params === void 0 ? void 0 : params.viewId)) &&
|
|
27
|
+
requestFatherRelatedOption(params, 1, RequestOptionType.EQUAL, selectedValue).then((value) => {
|
|
28
|
+
if (value && value.option.length > 0) {
|
|
29
|
+
// eslint-disable-next-line rulesdir/no-call-upper-scope-func-in-use-memo -- 改不动了
|
|
30
|
+
updateValue(value.option[0], true, false);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
// 没有找到选中值value,清空历史选中数据
|
|
34
|
+
// eslint-disable-next-line rulesdir/no-call-upper-scope-func-in-use-memo -- 改不动了
|
|
35
|
+
clear();
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
// eslint-disable-next-line rulesdir/no-call-upper-scope-func-in-use-memo -- 改不动了
|
|
41
|
+
updateValue(options[index], true, false);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return index;
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
return 0;
|
|
48
|
+
}
|
|
49
|
+
}, [options, selectedValue]);
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
if (isShow) {
|
|
52
|
+
onSearchValue(searchValue);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
onSearchValue('');
|
|
56
|
+
}
|
|
57
|
+
}, [searchValue, isShow]);
|
|
58
|
+
const clear = () => {
|
|
59
|
+
setInputFocus(false);
|
|
60
|
+
setSearchValue('');
|
|
61
|
+
updateValue(undefined, true, true);
|
|
62
|
+
};
|
|
63
|
+
const contentScroll = () => {
|
|
64
|
+
if (status !== Status.LOADING || !isTurnPages) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const item = contentRef.current.children.item(0);
|
|
68
|
+
if (!item) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (heightRef.current === 0) {
|
|
72
|
+
const length = options.length + (status === Status.FINISH ? 0 : 1);
|
|
73
|
+
heightRef.current = item.scrollHeight / length;
|
|
74
|
+
}
|
|
75
|
+
const index = Math.ceil((item.scrollTop + item.clientHeight) / heightRef.current);
|
|
76
|
+
// 过滤重复数据
|
|
77
|
+
if (indexRef.current === index) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
indexRef.current = index;
|
|
81
|
+
// 到底了,加载更多
|
|
82
|
+
// -20标识提前20条数据加载,||后面条件为保底条件,防止前面触发不了
|
|
83
|
+
if (options.length >= PAGE_SIZE &&
|
|
84
|
+
((index + 20) % PAGE_SIZE === 0 || options.length + 1 <= index) &&
|
|
85
|
+
status === Status.LOADING) {
|
|
86
|
+
loadMore();
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
return isShow ? (React.createElement(Portal, { type: "div" },
|
|
90
|
+
React.createElement("div", { className: "weda-ui-custom-picker" },
|
|
91
|
+
React.createElement("div", { className: "weda-ui-custom-backdrop", onClick: () => {
|
|
92
|
+
setInputFocus(false);
|
|
93
|
+
setSearchValue('');
|
|
94
|
+
updateValue(undefined, false, true);
|
|
95
|
+
} }),
|
|
96
|
+
React.createElement("div", { className: "weda-ui-custom-picker__inner", style: inputFocus ? { height: 'calc(100vh - 96px)' } : null },
|
|
97
|
+
!inputFocus && (React.createElement("div", { className: "weda-ui-custom-picker__header" },
|
|
98
|
+
React.createElement("div", { className: "weda-ui-custom-picker__header-cancle", onClick: clear }, "\u6E05\u7A7A"))),
|
|
99
|
+
React.createElement("div", { className: "weda-ui-custom-picker__body" },
|
|
100
|
+
React.createElement("div", { style: { margin: inputFocus ? '16px 16px 8px 16px' : '8px 16px' }, className: `weda-ui-custom-search
|
|
101
|
+
${inputFocus ? 'is-focused' : ''}` },
|
|
102
|
+
React.createElement("div", { className: "weda-ui-custom-search-box ", "data-testid": "weda-ui-custom-search-box", onClick: () => {
|
|
103
|
+
setInputFocus(true);
|
|
104
|
+
} },
|
|
105
|
+
inputFocus ? (React.createElement("input", { className: "weda-ui-input", ref: focusRef, value: searchValue, autoFocus: true, onChange: (e) => setSearchValue(e.target.value) })) : (
|
|
106
|
+
// 此处主要为了兼容 iOS
|
|
107
|
+
React.createElement("div", { className: "weda-ui-input" })),
|
|
108
|
+
React.createElement("div", { className: `weda-ui-custom-search-box__label` },
|
|
109
|
+
React.createElement("span", { className: "weda-ui-custom-search-box__search-icon " }),
|
|
110
|
+
React.createElement("span", { className: "weda-ui-custom-search-box__search-placeholder" }, "\u641C\u7D22")),
|
|
111
|
+
inputFocus && searchValue !== '' && (React.createElement("span", { className: "weda-ui-custom-search-box__dismiss-icon", onClick: () => setSearchValue('') }))),
|
|
112
|
+
React.createElement("button", { className: "weda-ui-custom-search__btn-cancle", onClick: () => {
|
|
113
|
+
setInputFocus(false);
|
|
114
|
+
setSearchValue('');
|
|
115
|
+
} }, "\u53D6\u6D88")),
|
|
116
|
+
status === Status.ALl_EMPTY ? (React.createElement(AllEmpty, { height: inputFocus ? 'calc(100vh - 160px)' : '280px' })) : (React.createElement("div", { className: "weda-ui-custom-picker__cloumns weda-ui-custom-picker__cloumns--select ", "data-testid": "weda-ui-custom-picker__cloumns", style: {
|
|
117
|
+
height: inputFocus ? 'calc(100vh - 160px)' : '280px',
|
|
118
|
+
}, onScroll: contentScroll, ref: contentRef },
|
|
119
|
+
React.createElement("ul", { className: "weda-ui-custom-picker__cloumn", style: {
|
|
120
|
+
height: inputFocus ? 'calc(100vh - 190px)' : '250px',
|
|
121
|
+
} }, options === null || options === void 0 ? void 0 :
|
|
122
|
+
options.map((item, index) => {
|
|
123
|
+
return (React.createElement("li", { key: index,
|
|
124
|
+
// is-selected 选中态
|
|
125
|
+
// is-disabled 禁用态,该状态备用,暂时不让生效index === -1
|
|
126
|
+
className: `weda-ui-custom-picker__cloumn-item ${index === clickIndex && !inputFocus
|
|
127
|
+
? 'is-selected'
|
|
128
|
+
: ''} ${index === -1 ? 'is-disabled' : ''}`, onClick: () => {
|
|
129
|
+
setInputFocus(false);
|
|
130
|
+
setSearchValue('');
|
|
131
|
+
updateValue(item, true, true);
|
|
132
|
+
} },
|
|
133
|
+
React.createElement("p", null, item.label)));
|
|
134
|
+
}),
|
|
135
|
+
status === Status.LOADING && (React.createElement("li", { key: 'loading' },
|
|
136
|
+
React.createElement(Loading, null))),
|
|
137
|
+
status === Status.ERROR && (React.createElement("li", { key: 'retry' },
|
|
138
|
+
React.createElement(Retry, { reTry: reTry }))),
|
|
139
|
+
status === Status.EMPTY && (React.createElement("li", { key: 'empty' },
|
|
140
|
+
React.createElement(Empty, null))))))))))) : null;
|
|
141
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
.weda-ui-custom-search {
|
|
2
|
+
display: flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
height: 40px;
|
|
5
|
+
margin: 8px 16px;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.weda-ui-custom-search-box {
|
|
9
|
+
display: flex;
|
|
10
|
+
align-items: center;
|
|
11
|
+
flex: 1 1 0px;
|
|
12
|
+
background-color: #f1f2f5;
|
|
13
|
+
border-radius: 4px;
|
|
14
|
+
height: 100%;
|
|
15
|
+
position: relative;
|
|
16
|
+
transition: all 0.5s linear;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.weda-ui-custom-search .weda-ui-input {
|
|
20
|
+
display: block;
|
|
21
|
+
width: 100%;
|
|
22
|
+
height: 100%;
|
|
23
|
+
border: 0;
|
|
24
|
+
font-size: 16px;
|
|
25
|
+
line-height: 24px;
|
|
26
|
+
background-color: inherit;
|
|
27
|
+
padding: 0 40px 0 40px;
|
|
28
|
+
caret-color: #0052d9;
|
|
29
|
+
color: rgba(0, 0, 0, 0.9);
|
|
30
|
+
border-radius: 4px;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.weda-ui-custom-search-box__label {
|
|
34
|
+
position: absolute;
|
|
35
|
+
top: 0;
|
|
36
|
+
left: 50%;
|
|
37
|
+
transform: translateX(-50%);
|
|
38
|
+
height: 100%;
|
|
39
|
+
display: flex;
|
|
40
|
+
align-items: center;
|
|
41
|
+
color: rgba(0, 0, 0, 0.4);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.weda-ui-custom-search-box__search-icon {
|
|
45
|
+
width: 24px;
|
|
46
|
+
height: 24px;
|
|
47
|
+
margin-right: 4px;
|
|
48
|
+
background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE0Ljc2NTUgMTUuMzI3OUMxMy41Mzc4IDE2LjMyMjEgMTEuOTc0MSAxNi45MTc2IDEwLjI3MTQgMTYuOTE3NkM2LjMyNDUzIDE2LjkxNzYgMy4xMjUgMTMuNzE4MSAzLjEyNSA5Ljc3MTMyQzMuMTI1IDUuODI0NTEgNi4zMjQ1MyAyLjYyNSAxMC4yNzE0IDIuNjI1QzE0LjIxODIgMi42MjUgMTcuNDE3NyA1LjgyNDUxIDE3LjQxNzcgOS43NzEzMkMxNy40MTc3IDExLjQ3NDEgMTYuODIyMSAxMy4wMzc4IDE1LjgyOCAxNC4yNjU1TDIxLjEyNSAxOS41NjI1TDIwLjA2MjYgMjAuNjI1TDE0Ljc2NTUgMTUuMzI3OVpNMTUuOTE1MiA5Ljc3MTMyQzE1LjkxNTIgNi42NTQzNCAxMy4zODg0IDQuMTI3NTIgMTAuMjcxNCA0LjEyNzUyQzcuMTU0MzUgNC4xMjc1MiA0LjYyNzUyIDYuNjU0MzQgNC42Mjc1MiA5Ljc3MTMyQzQuNjI3NTIgMTIuODg4MyA3LjE1NDM1IDE1LjQxNTEgMTAuMjcxNCAxNS40MTUxQzEzLjM4ODQgMTUuNDE1MSAxNS45MTUyIDEyLjg4ODMgMTUuOTE1MiA5Ljc3MTMyWiIgZmlsbD0iYmxhY2siIGZpbGwtb3BhY2l0eT0iMC40Ii8+Cjwvc3ZnPgo=);
|
|
49
|
+
background-repeat: no-repeat;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.weda-ui-custom-search-box__dismiss-icon {
|
|
53
|
+
position: absolute;
|
|
54
|
+
right: 12px;
|
|
55
|
+
width: 24px;
|
|
56
|
+
height: 24px;
|
|
57
|
+
background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIyLjUgMTJDMjIuNSA2LjIwMTAxIDE3Ljc5OSAxLjUgMTIgMS41QzYuMjAxMDEgMS41IDEuNSA2LjIwMTAxIDEuNSAxMkMxLjUgMTcuNzk5IDYuMjAxMDEgMjIuNSAxMiAyMi41QzE3Ljc5OSAyMi41IDIyLjUgMTcuNzk5IDIyLjUgMTJaTTguNTA2MzYgNy40MjEzMUwxMiAxMC45MzYxTDE1LjQ5MzcgNy40MjEzMUwxNi41NTc1IDguNDc4NzZMMTMuMDU3NSAxMkwxNi41NTc1IDE1LjUyMTJMMTUuNDkzNyAxNi41Nzg3TDEyIDEzLjA2MzlMOC41MDYzNyAxNi41Nzg3TDcuNDQyNTEgMTUuNTIxMkwxMC45NDI1IDEyTDcuNDQyNSA4LjQ3ODc2TDguNTA2MzYgNy40MjEzMVoiIGZpbGw9ImJsYWNrIiBmaWxsLW9wYWNpdHk9IjAuNCIvPgo8L3N2Zz4K);
|
|
58
|
+
background-repeat: no-repeat;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.weda-ui-custom-search__btn-cancle {
|
|
62
|
+
flex: 0 0 auto;
|
|
63
|
+
display: none;
|
|
64
|
+
margin-left: 16px;
|
|
65
|
+
color: #0052d9;
|
|
66
|
+
background-color: transparent;
|
|
67
|
+
border: none;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/* 获取焦点后 */
|
|
71
|
+
.weda-ui-custom-search.is-focused .weda-ui-custom-search__btn-cancle {
|
|
72
|
+
display: inline-flex;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.weda-ui-custom-search.is-focused .weda-ui-custom-search-box__label {
|
|
76
|
+
left: 12px;
|
|
77
|
+
transform: translateX(0);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.weda-ui-custom-search.is-focused
|
|
81
|
+
.weda-ui-custom-search-box__search-placeholder {
|
|
82
|
+
display: none;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.weda-ui-custom-picker__cloumn-item.is-current {
|
|
86
|
+
color: rgba(0, 0, 0, 0.9);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.weda-ui-custom-picker__cloumns.weda-ui-custom-picker__cloumns--select
|
|
90
|
+
.weda-ui-custom-picker__cloumn-item {
|
|
91
|
+
height: 48px;
|
|
92
|
+
justify-content: flex-start;
|
|
93
|
+
color: rgba(0, 0, 0, 0.9);
|
|
94
|
+
position: relative;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.weda-ui-custom-picker__cloumns.weda-ui-custom-picker__cloumns--select
|
|
98
|
+
.weda-ui-custom-picker__cloumn-item::before {
|
|
99
|
+
content: '';
|
|
100
|
+
position: absolute;
|
|
101
|
+
bottom: 0;
|
|
102
|
+
background-color: #e7e7e7;
|
|
103
|
+
width: 100%;
|
|
104
|
+
height: 1px;
|
|
105
|
+
transform: scaleY(0.5);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.weda-ui-custom-picker__cloumns.weda-ui-custom-picker__cloumns--select
|
|
109
|
+
.weda-ui-custom-picker__cloumn-item.is-selected {
|
|
110
|
+
color: #0052d9;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.weda-ui-custom-picker__cloumns.weda-ui-custom-picker__cloumns--select
|
|
114
|
+
.weda-ui-custom-picker__cloumn-item.is-selected::after {
|
|
115
|
+
content: '';
|
|
116
|
+
width: 24px;
|
|
117
|
+
height: 24px;
|
|
118
|
+
display: block;
|
|
119
|
+
position: absolute;
|
|
120
|
+
right: 16px;
|
|
121
|
+
background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuNjUwNTMgMTQuODgyM0wxOC45ODQ1IDUuNTQ4MzRMMjAuMzYzNCA2LjkyNzJMOS42NTA1MyAxNy42NEwyLjk2MTQ5IDEwLjk1MUw0LjM0MDM0IDkuNTcyMTVMOS42NTA1MyAxNC44ODIzWiIgZmlsbD0iIzAwNTJEOSIvPgo8L3N2Zz4K);
|
|
122
|
+
background-repeat: no-repeat;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.weda-ui-custom-picker__cloumns.weda-ui-custom-picker__cloumns--select
|
|
126
|
+
.weda-ui-custom-picker__cloumn-item.is-disabled {
|
|
127
|
+
color: rgba(0, 0, 0, 0.26);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/* 下拉选择类型 */
|
|
131
|
+
.weda-ui-custom-picker__cloumns.weda-ui-custom-picker__cloumns--select {
|
|
132
|
+
padding: 0 16px;
|
|
133
|
+
height: 280px;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.weda-ui-custom-picker__cloumns.weda-ui-custom-picker__cloumns--select::before,
|
|
137
|
+
.weda-ui-custom-picker__cloumns.weda-ui-custom-picker__cloumns--select::after {
|
|
138
|
+
display: none;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.weda-ui-custom-picker__cloumns--select .weda-ui-custom-picker__cloumn {
|
|
142
|
+
height: 250px;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.form-select-pc {
|
|
146
|
+
position: relative;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.form-select-pc .pc-clear {
|
|
150
|
+
position: absolute;
|
|
151
|
+
right: 22px;
|
|
152
|
+
top: 25%;
|
|
153
|
+
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PHBhdGggZmlsbD0iIzg4OCIgZD0iTTggMWE3IDcgMCAxIDAgMCAxNEE3IDcgMCAwIDAgOCAxem0zLjUzNiA5LjEyMWwtMS40MTQgMS40MTRMOCA5LjQxNGwtMi4xMjEgMi4xMjEtMS40MTQtMS40MTRMNi41ODYgOCA0LjQ2NCA1Ljg3OWwxLjQxNC0xLjQxNEw4IDYuNTg2bDIuMTIxLTIuMTIxIDEuNDE0IDEuNDE0TDkuNDE0IDhsMi4xMjIgMi4xMjF6Ii8+PC9zdmc+) !important;
|
|
154
|
+
background-repeat: no-repeat;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.wedatea2td-search--simple .wedatea2td-input--search {
|
|
158
|
+
caret-color: #000000;
|
|
159
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
|
2
|
+
import { SelectPickerH5 } from './h5';
|
|
3
|
+
import { formatNeedDataFetch, PAGE_SIZE, requestEnumOption, requestFatherRelatedOption, RequestOptionType, transFormatTeaSelectKey, } from '../request';
|
|
4
|
+
import SelectPickerPc from './pc';
|
|
5
|
+
import { usePlatform } from '../../../../utils/platform';
|
|
6
|
+
import { Status } from '../status';
|
|
7
|
+
import { useDeepCompareEffect } from '@react-hookz/web';
|
|
8
|
+
export function PureSelect({ params, selectedValue, updateValue, placeholder, size, disabled, isShow, }) {
|
|
9
|
+
const isRequestingRef = useRef(false);
|
|
10
|
+
const [status, setStatus] = useState(Status.ALl_EMPTY);
|
|
11
|
+
const [options, setOptions] = useState([]);
|
|
12
|
+
const [page, setPage] = useState(1);
|
|
13
|
+
const [searchOptions, setSearchOptions] = useState([]);
|
|
14
|
+
const [searchPage, setSearchPage] = useState(1);
|
|
15
|
+
const [searchValue, setSearchValue] = useState('');
|
|
16
|
+
const [searchStatus, setSearchStatus] = useState(Status.FINISH);
|
|
17
|
+
const [format, setFormat] = useState('');
|
|
18
|
+
const [isTurnPages, setIsTurnPages] = useState(false);
|
|
19
|
+
const platform = usePlatform();
|
|
20
|
+
const isSearch = useMemo(() => searchValue !== '', [searchValue]);
|
|
21
|
+
useDeepCompareEffect(() => {
|
|
22
|
+
const { format, controlledValue } = params || {
|
|
23
|
+
format: '',
|
|
24
|
+
controlledValue: [],
|
|
25
|
+
};
|
|
26
|
+
const isTurnPages = format === 'father-son' || format === 'related';
|
|
27
|
+
setFormat(format);
|
|
28
|
+
setIsTurnPages(isTurnPages);
|
|
29
|
+
// 手动配置
|
|
30
|
+
if (!formatNeedDataFetch.includes(format)) {
|
|
31
|
+
if (controlledValue.length === 0) {
|
|
32
|
+
setStatus(Status.ALl_EMPTY);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
setStatus(Status.FINISH);
|
|
36
|
+
}
|
|
37
|
+
setOptions(controlledValue);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
// 接口请求
|
|
41
|
+
if (isTurnPages) {
|
|
42
|
+
setStatus(Status.LOADING);
|
|
43
|
+
requestFatherRelatedOption(params, 1, RequestOptionType.ALL)
|
|
44
|
+
.then((value) => {
|
|
45
|
+
setOptions(value.option);
|
|
46
|
+
if (value.option.length === 0) {
|
|
47
|
+
setStatus(platform === 'pc' ? Status.EMPTY : Status.ALl_EMPTY);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
setStatus(value.isLoadMore ? Status.LOADING : Status.FINISH);
|
|
51
|
+
}
|
|
52
|
+
})
|
|
53
|
+
.catch(() => {
|
|
54
|
+
setStatus(Status.ERROR);
|
|
55
|
+
})
|
|
56
|
+
.finally(() => (isRequestingRef.current = false));
|
|
57
|
+
}
|
|
58
|
+
else if (format === 'x-enum') {
|
|
59
|
+
requestEnumOption(params)
|
|
60
|
+
.then((value) => {
|
|
61
|
+
setOptions(value);
|
|
62
|
+
if (value.length === 0) {
|
|
63
|
+
setStatus(platform === 'pc' ? Status.EMPTY : Status.ALl_EMPTY);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
setStatus(Status.FINISH);
|
|
67
|
+
}
|
|
68
|
+
})
|
|
69
|
+
.catch(() => {
|
|
70
|
+
setStatus(Status.ERROR);
|
|
71
|
+
})
|
|
72
|
+
.finally(() => (isRequestingRef.current = false));
|
|
73
|
+
}
|
|
74
|
+
}, [params]);
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
if (page > 1) {
|
|
77
|
+
requestFatherRelated(page);
|
|
78
|
+
}
|
|
79
|
+
}, [page]);
|
|
80
|
+
useEffect(() => {
|
|
81
|
+
if (searchPage > 1) {
|
|
82
|
+
requestFatherRelated(searchPage, searchValue);
|
|
83
|
+
}
|
|
84
|
+
}, [searchPage]);
|
|
85
|
+
const requestFatherRelated = (pageNo, searchValue) => {
|
|
86
|
+
requestFatherRelatedOption(params, pageNo, RequestOptionType.SEARCH, searchValue)
|
|
87
|
+
.then((value) => {
|
|
88
|
+
if (isSearch) {
|
|
89
|
+
setSearchOptions((opt) => opt.concat(value.option));
|
|
90
|
+
if (pageNo === 1 && value.option.length === 0) {
|
|
91
|
+
setSearchStatus(Status.EMPTY);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
setSearchStatus(value.isLoadMore ? Status.LOADING : Status.FINISH);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
setOptions((opt) => opt.concat(value.option));
|
|
99
|
+
if (pageNo === 1 && value.option.length === 0) {
|
|
100
|
+
setStatus(Status.EMPTY);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
setStatus(value.isLoadMore ? Status.LOADING : Status.FINISH);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
})
|
|
107
|
+
.catch(() => isSearch ? setSearchStatus(Status.ERROR) : setStatus(Status.ERROR))
|
|
108
|
+
.finally(() => (isRequestingRef.current = false));
|
|
109
|
+
};
|
|
110
|
+
const currentStatus = useMemo(() => {
|
|
111
|
+
return isSearch ? searchStatus : status;
|
|
112
|
+
}, [isSearch, searchStatus, status]);
|
|
113
|
+
const currentOption = useMemo(() => {
|
|
114
|
+
const option = isSearch ? searchOptions : options;
|
|
115
|
+
return platform === 'h5' ? option : transFormatTeaSelectKey(option);
|
|
116
|
+
}, [isSearch, searchOptions, options, platform]);
|
|
117
|
+
useEffect(() => {
|
|
118
|
+
// 本地搜索
|
|
119
|
+
if (!isTurnPages || options.length < PAGE_SIZE) {
|
|
120
|
+
const searchOpt = options.filter((item) => {
|
|
121
|
+
if (item.label) {
|
|
122
|
+
return item.label.toString().includes(searchValue);
|
|
123
|
+
}
|
|
124
|
+
return false;
|
|
125
|
+
});
|
|
126
|
+
if (searchOpt.length > 0) {
|
|
127
|
+
setSearchOptions(searchOpt);
|
|
128
|
+
setSearchStatus(Status.FINISH);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
setSearchOptions([]);
|
|
132
|
+
setSearchStatus(Status.EMPTY);
|
|
133
|
+
}
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
// 远程搜索
|
|
137
|
+
if (searchValue.trim().length > 0) {
|
|
138
|
+
// eslint-disable-next-line rulesdir/no-timer
|
|
139
|
+
const timer = setTimeout(() => {
|
|
140
|
+
requestFatherRelated(1, searchValue);
|
|
141
|
+
}, 1000);
|
|
142
|
+
return () => clearTimeout(timer);
|
|
143
|
+
}
|
|
144
|
+
}, [searchValue]);
|
|
145
|
+
// 加载更多
|
|
146
|
+
const loadMore = () => {
|
|
147
|
+
if (!isRequestingRef.current &&
|
|
148
|
+
isTurnPages &&
|
|
149
|
+
currentStatus !== Status.FINISH) {
|
|
150
|
+
if (isSearch) {
|
|
151
|
+
if (searchOptions.length >= PAGE_SIZE) {
|
|
152
|
+
isRequestingRef.current = true;
|
|
153
|
+
setSearchPage((page) => page + 1);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
if (options.length >= PAGE_SIZE) {
|
|
158
|
+
isRequestingRef.current = true;
|
|
159
|
+
setPage((page) => page + 1);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
// 重试
|
|
165
|
+
const reTry = () => {
|
|
166
|
+
if (!isRequestingRef.current) {
|
|
167
|
+
isRequestingRef.current = true;
|
|
168
|
+
if (isSearch) {
|
|
169
|
+
setSearchStatus(Status.LOADING);
|
|
170
|
+
requestFatherRelated(searchPage, searchValue);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
setStatus(Status.LOADING);
|
|
174
|
+
requestFatherRelated(page);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
const onSearchValue = (value) => {
|
|
179
|
+
setSearchPage(1);
|
|
180
|
+
setSearchStatus(Status.LOADING);
|
|
181
|
+
setSearchOptions([]);
|
|
182
|
+
setSearchValue(value);
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* 精确查找
|
|
186
|
+
*/
|
|
187
|
+
const findData = async () => {
|
|
188
|
+
if ((params === null || params === void 0 ? void 0 : params.dataSourceName) === undefined || (params === null || params === void 0 ? void 0 : params.viewId) === undefined) {
|
|
189
|
+
return undefined;
|
|
190
|
+
}
|
|
191
|
+
return requestFatherRelatedOption(params, 1, RequestOptionType.EQUAL, selectedValue).then((value) => {
|
|
192
|
+
if (value && value.option.length > 0) {
|
|
193
|
+
if (platform === 'pc' &&
|
|
194
|
+
options.length > 0 &&
|
|
195
|
+
options[0].value != selectedValue) {
|
|
196
|
+
setOptions((opt) => value.option.concat(opt));
|
|
197
|
+
}
|
|
198
|
+
return options[0].value;
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
return undefined;
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
};
|
|
205
|
+
return platform === 'h5' ? (React.createElement(SelectPickerH5, { updateValue: updateValue, options: currentOption, loadMore: loadMore, reTry: reTry, isTurnPages: isTurnPages, status: currentStatus, onSearchValue: onSearchValue, isShow: isShow, params: params, selectedValue: selectedValue })) : (React.createElement(SelectPickerPc, { placeholder: placeholder, size: size, selectedValue: selectedValue, disabled: disabled, updateValue: updateValue, reTry: reTry, loadMore: loadMore, format: format, status: currentStatus, options: currentOption, onSearchValue: onSearchValue, defaultSearchValue: '', findData: findData }));
|
|
206
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import React, { useEffect, useMemo, useState, useRef } from 'react';
|
|
2
|
+
import { useDeepCompareEffect } from '@react-hookz/web';
|
|
3
|
+
import { Select, ConfigProvider, Icon } from 'tea-component';
|
|
4
|
+
import Loading from '../status/loading';
|
|
5
|
+
import Retry from '../status/retry';
|
|
6
|
+
import { Status } from '../status';
|
|
7
|
+
import Empty from '../status/empty';
|
|
8
|
+
import './index.css';
|
|
9
|
+
export default function SelectPickerPc({ format, selectedValue, updateValue, placeholder, size, disabled, reTry, loadMore, status, options, onSearchValue, defaultSearchValue, findData, }) {
|
|
10
|
+
const [showDelete, setShowDelete] = useState(false);
|
|
11
|
+
const [optList, setOptList] = useState(options);
|
|
12
|
+
const findDataRef = useRef(undefined);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
if (findDataRef.current && findDataRef.current.value) {
|
|
15
|
+
const opt = options.filter((item, index) => {
|
|
16
|
+
if (index === 0) {
|
|
17
|
+
// 有回显的数据,回显数据通过findData插入在第一个,所以第一个不能过滤掉
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
// 如果是第一个后面的数据,发现和选中项的 value 一样,则忽略,因为index === 0已经加进去了
|
|
22
|
+
return item.value !== findDataRef.current.value;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
setOptList(opt);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
setOptList(options);
|
|
29
|
+
}
|
|
30
|
+
}, [options]);
|
|
31
|
+
useDeepCompareEffect(() => {
|
|
32
|
+
if (status === Status.ALl_EMPTY) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
// 没有数据
|
|
36
|
+
if (optList.length === 0) {
|
|
37
|
+
updateValue && updateValue(null);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
//有数据
|
|
41
|
+
if (selectedValue) {
|
|
42
|
+
const index = optList === null || optList === void 0 ? void 0 : optList.findIndex((item) => item.value === selectedValue);
|
|
43
|
+
if (index === -1) {
|
|
44
|
+
findData &&
|
|
45
|
+
findData().then((value) => {
|
|
46
|
+
if (value) {
|
|
47
|
+
// 找到了
|
|
48
|
+
findDataRef.current = value;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
// 没找到
|
|
52
|
+
updateValue && updateValue(null);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
// 找到了
|
|
58
|
+
updateValue(optList[index].value);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
// 用户自动输入 '' , undefined , null三种状态清空
|
|
63
|
+
updateValue && updateValue(selectedValue);
|
|
64
|
+
}
|
|
65
|
+
}, [optList, selectedValue, status]);
|
|
66
|
+
const isShowBottomTips = useMemo(() => {
|
|
67
|
+
if (status === Status.LOADING) {
|
|
68
|
+
return React.createElement(Loading, null);
|
|
69
|
+
}
|
|
70
|
+
else if (status === Status.ERROR) {
|
|
71
|
+
return React.createElement(Retry, { reTry: reTry });
|
|
72
|
+
}
|
|
73
|
+
else if (status === Status.EMPTY) {
|
|
74
|
+
return React.createElement(Empty, null);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
return '';
|
|
78
|
+
}
|
|
79
|
+
}, [format, status, optList]);
|
|
80
|
+
return (React.createElement(ConfigProvider, { classPrefix: "wedatea2td" },
|
|
81
|
+
React.createElement("div", { "data-testid": "form-select", className: 'form-select-pc', onMouseEnter: () => {
|
|
82
|
+
setShowDelete(true);
|
|
83
|
+
}, onMouseLeave: () => {
|
|
84
|
+
setShowDelete(false);
|
|
85
|
+
} },
|
|
86
|
+
React.createElement(Select, { searchable: true, matchButtonWidth: true, defaultSearchValue: defaultSearchValue, placeholder: placeholder, appearance: 'button', size: size, tips: "", disabled: disabled, autoClearSearchValue: true, options: optList, value: selectedValue, bottomTips: isShowBottomTips, onChange: updateValue, onScrollBottom: loadMore, onOpen: () => {
|
|
87
|
+
onSearchValue('');
|
|
88
|
+
}, onSearch: (value, context) => {
|
|
89
|
+
const tValue = value.trim();
|
|
90
|
+
if (context.event.type === 'click') {
|
|
91
|
+
if (tValue !== '') {
|
|
92
|
+
// 手动点击搜索
|
|
93
|
+
onSearchValue(tValue);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
// 清空
|
|
97
|
+
onSearchValue('');
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
else if (tValue !== '') {
|
|
101
|
+
// 动态输入搜索
|
|
102
|
+
onSearchValue(tValue);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
// 逐个删除
|
|
106
|
+
onSearchValue('');
|
|
107
|
+
}
|
|
108
|
+
} }),
|
|
109
|
+
selectedValue != null &&
|
|
110
|
+
selectedValue != '' &&
|
|
111
|
+
showDelete &&
|
|
112
|
+
!disabled && (React.createElement(Icon, { "data-testid": "weui-input-test-pc-clear", className: 'pc-clear', type: "dismiss", size: "s", onMouseDown: () => updateValue(null) })))));
|
|
113
|
+
}
|