amis 1.5.6-beta.4 → 1.5.8-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.husky/pre-commit +1 -1
- package/lib/Schema.d.ts +3 -2
- package/lib/Schema.js.map +1 -1
- package/lib/components/AsideNav.d.ts +1 -1
- package/lib/components/AsideNav.js.map +1 -1
- package/lib/components/AssociatedSelection.d.ts +84 -84
- package/lib/components/AssociatedSelection.js +2 -2
- package/lib/components/AssociatedSelection.js.map +2 -2
- package/lib/components/Avatar.d.ts +135 -0
- package/lib/components/Avatar.js +120 -0
- package/lib/components/Avatar.js.map +13 -0
- package/lib/components/BaiduMapPicker.js.map +2 -2
- package/lib/components/CalendarMobile.d.ts +547 -0
- package/lib/components/CalendarMobile.js +432 -0
- package/lib/components/CalendarMobile.js.map +13 -0
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/Card.js +1 -1
- package/lib/components/Card.js.map +2 -2
- package/lib/components/ChainedSelection.d.ts +84 -84
- package/lib/components/ChainedSelection.js +15 -3
- package/lib/components/ChainedSelection.js.map +2 -2
- package/lib/components/CodeMirror.d.ts +26 -0
- package/lib/components/CodeMirror.js +104 -0
- package/lib/components/CodeMirror.js.map +13 -0
- package/lib/components/Collapse.d.ts +22 -21
- package/lib/components/Collapse.js +1 -1
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/ColorPicker.d.ts +85 -84
- package/lib/components/ColorPicker.js +15 -3
- package/lib/components/ColorPicker.js.map +2 -2
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +15 -5
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +86 -84
- package/lib/components/DateRangePicker.js +22 -5
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/GroupedSelection.d.ts +84 -84
- package/lib/components/GroupedSelection.js +14 -2
- package/lib/components/GroupedSelection.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +86 -84
- package/lib/components/MonthRangePicker.js +20 -5
- package/lib/components/MonthRangePicker.js.map +2 -2
- package/lib/components/Overlay.d.ts +1 -1
- package/lib/components/Overlay.js.map +1 -1
- package/lib/components/Picker.js +9 -4
- package/lib/components/Picker.js.map +2 -2
- package/lib/components/PickerColumn.js +0 -1
- package/lib/components/PickerColumn.js.map +2 -2
- package/lib/components/PickerContainer.d.ts +5 -1
- package/lib/components/PickerContainer.js +14 -7
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/PopUp.d.ts +94 -0
- package/lib/components/PopUp.js +58 -0
- package/lib/components/PopUp.js.map +13 -0
- package/lib/components/Rating.d.ts +203 -73
- package/lib/components/Rating.js +147 -31
- package/lib/components/Rating.js.map +2 -2
- package/lib/components/ResultBox.js +2 -1
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/ResultList.d.ts +9 -2
- package/lib/components/ResultList.js +22 -2
- package/lib/components/ResultList.js.map +2 -2
- package/lib/components/Select.d.ts +237 -237
- package/lib/components/Select.js +1 -1
- package/lib/components/Select.js.map +1 -1
- package/lib/components/Selection.d.ts +94 -86
- package/lib/components/Selection.js +11 -2
- package/lib/components/Selection.js.map +2 -2
- package/lib/components/Steps.d.ts +1 -0
- package/lib/components/Steps.js +5 -3
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/TableSelection.d.ts +85 -85
- package/lib/components/TableSelection.js +1 -9
- package/lib/components/TableSelection.js.map +2 -2
- package/lib/components/Tabs.js +31 -33
- package/lib/components/Tabs.js.map +2 -2
- package/lib/components/TabsTransfer.d.ts +87 -256
- package/lib/components/TabsTransfer.js +52 -9
- package/lib/components/TabsTransfer.js.map +2 -2
- package/lib/components/TabsTransferPicker.d.ts +1 -1
- package/lib/components/TabsTransferPicker.js +21 -19
- package/lib/components/TabsTransferPicker.js.map +2 -2
- package/lib/components/Timeline.d.ts +69 -0
- package/lib/components/Timeline.js +16 -0
- package/lib/components/Timeline.js.map +13 -0
- package/lib/components/TimelineItem.d.ts +516 -0
- package/lib/components/TimelineItem.js +41 -0
- package/lib/components/TimelineItem.js.map +13 -0
- package/lib/components/Transfer.d.ts +100 -98
- package/lib/components/Transfer.js +2 -3
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +84 -84
- package/lib/components/TransferDropDown.js +1 -5
- package/lib/components/TransferDropDown.js.map +2 -2
- package/lib/components/TransferPicker.d.ts +1 -1
- package/lib/components/TransferPicker.js +21 -19
- package/lib/components/TransferPicker.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +85 -85
- package/lib/components/TreeSelection.js +7 -1
- package/lib/components/TreeSelection.js.map +2 -2
- package/lib/components/calendar/Calendar.d.ts +5 -0
- package/lib/components/calendar/Calendar.js +15 -2
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/DaysView.d.ts +1 -0
- package/lib/components/calendar/DaysView.js +25 -13
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/calendar/MonthsView.d.ts +28 -0
- package/lib/components/calendar/MonthsView.js +79 -3
- package/lib/components/calendar/MonthsView.js.map +2 -2
- package/lib/components/calendar/QuartersView.d.ts +1 -0
- package/lib/components/calendar/QuartersView.js +2 -2
- package/lib/components/calendar/QuartersView.js.map +2 -2
- package/lib/components/calendar/TimeView.d.ts +5 -0
- package/lib/components/calendar/TimeView.js +8 -5
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/calendar/YearsView.js +6 -4
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/components/condition-builder/Field.js +1 -4
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Func.js +1 -1
- package/lib/components/condition-builder/Func.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +563 -0
- package/lib/components/formula/Editor.js +187 -0
- package/lib/components/formula/Editor.js.map +13 -0
- package/lib/components/formula/FuncList.d.ts +67 -0
- package/lib/components/formula/FuncList.js +36 -0
- package/lib/components/formula/FuncList.js.map +13 -0
- package/lib/components/formula/Picker.d.ts +493 -0
- package/lib/components/formula/Picker.js +48 -0
- package/lib/components/formula/Picker.js.map +13 -0
- package/lib/components/formula/VariableList.d.ts +9 -0
- package/lib/components/formula/VariableList.js +15 -0
- package/lib/components/formula/VariableList.js.map +13 -0
- package/lib/components/formula/plugin.d.ts +18 -0
- package/lib/components/formula/plugin.js +136 -0
- package/lib/components/formula/plugin.js.map +13 -0
- package/lib/components/icons.js +4 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +4 -2
- package/lib/components/index.js.map +2 -2
- package/lib/components/virtual-list/SizeAndPositionManager.js.map +2 -2
- package/lib/components/virtual-list/index.js +1 -2
- package/lib/components/virtual-list/index.js.map +2 -2
- package/lib/factory.js +5 -0
- package/lib/factory.js.map +2 -2
- package/lib/helper.css +57 -57
- package/lib/helper.css.map +1 -1
- package/lib/icons/star.js +12 -0
- package/lib/icons/tree-down.js +7 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +13 -2
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +13 -2
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +12 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Avatar.d.ts +35 -26
- package/lib/renderers/Avatar.js +14 -19
- package/lib/renderers/Avatar.js.map +2 -2
- package/lib/renderers/CRUD.js +1 -2
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.js +6 -5
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Custom.js.map +2 -2
- package/lib/renderers/Each.js +5 -2
- package/lib/renderers/Each.js.map +2 -2
- package/lib/renderers/Flex.js +1 -5
- package/lib/renderers/Flex.js.map +2 -2
- package/lib/renderers/Form/ChartRadios.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.js +2 -1
- package/lib/renderers/Form/DiffEditor.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputColor.d.ts +84 -84
- package/lib/renderers/Form/InputColor.js +1 -1
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +6 -4
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +1 -1
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +38 -0
- package/lib/renderers/Form/InputFormula.js +25 -0
- package/lib/renderers/Form/InputFormula.js.map +13 -0
- package/lib/renderers/Form/InputImage.d.ts +1 -0
- package/lib/renderers/Form/InputImage.js +8 -4
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputMonthRange.js +1 -1
- package/lib/renderers/Form/InputMonthRange.js.map +2 -2
- package/lib/renderers/Form/InputQuarterRange.js +1 -1
- package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
- package/lib/renderers/Form/InputRating.d.ts +37 -0
- package/lib/renderers/Form/InputRating.js +6 -2
- package/lib/renderers/Form/InputRating.js.map +2 -2
- package/lib/renderers/Form/InputYearRange.js +1 -1
- package/lib/renderers/Form/InputYearRange.js.map +2 -2
- package/lib/renderers/Form/Item.js +11 -4
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.js +1 -1
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Select.js +1 -1
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
- package/lib/renderers/Form/TabsTransfer.js +20 -1
- package/lib/renderers/Form/TabsTransfer.js.map +2 -2
- package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
- package/lib/renderers/Form/TabsTransferPicker.js +21 -2
- package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
- package/lib/renderers/Form/Transfer.d.ts +15 -4
- package/lib/renderers/Form/Transfer.js +55 -18
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/TransferPicker.d.ts +3 -32
- package/lib/renderers/Form/TransferPicker.js +1 -1
- package/lib/renderers/Form/TransferPicker.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.d.ts +1 -0
- package/lib/renderers/Form/TreeSelect.js +11 -8
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +2 -1
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/IFrame.js +0 -2
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Json.js +7 -0
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/Nav.js +4 -1
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Remark.d.ts +4 -0
- package/lib/renderers/Remark.js +38 -7
- package/lib/renderers/Remark.js.map +2 -2
- package/lib/renderers/Steps.js +5 -5
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/TableRow.js +4 -1
- package/lib/renderers/Table/TableRow.js.map +2 -2
- package/lib/renderers/Table/index.js +4 -1
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.js +1 -1
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/Timeline.d.ts +65 -0
- package/lib/renderers/Timeline.js +54 -0
- package/lib/renderers/Timeline.js.map +13 -0
- package/lib/renderers/Video.js.map +2 -2
- package/lib/store/combo.js.map +2 -2
- package/lib/store/formItem.js +6 -6
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/table.js +1 -1
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +952 -23
- package/lib/themes/ang.css +952 -23
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +987 -23
- package/lib/themes/antd.css +987 -23
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +991 -24
- package/lib/themes/cxd.css +991 -24
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +953 -23
- package/lib/themes/dark.css +953 -23
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +991 -24
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/RootClose.js +3 -1
- package/lib/utils/RootClose.js.map +2 -2
- package/lib/utils/api.js +2 -2
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/helper.d.ts +1 -1
- package/lib/utils/helper.js +1 -1
- package/lib/utils/helper.js.map +2 -2
- package/package.json +12 -3
- package/schema.json +1224 -671
- package/scss/_properties.scss +11 -1
- package/scss/_variables.scss +1 -1
- package/scss/components/_avatar.scss +27 -9
- package/scss/components/_calendar.scss +280 -0
- package/scss/components/_card.scss +1 -1
- package/scss/components/_collapse-group.scss +1 -3
- package/scss/components/_formula.scss +146 -0
- package/scss/components/_modal.scss +18 -0
- package/scss/components/_panel.scss +45 -0
- package/scss/components/_popup.scss +127 -0
- package/scss/components/_steps.scss +60 -0
- package/scss/components/_timeline.scss +198 -0
- package/scss/components/form/_color.scss +4 -0
- package/scss/components/form/_date-range.scss +4 -0
- package/scss/components/form/_date.scss +3 -0
- package/scss/components/form/_form.scss +168 -0
- package/scss/components/form/_rating.scss +60 -21
- package/scss/components/form/_result-list.scss +2 -0
- package/scss/components/form/_selection.scss +5 -4
- package/scss/components/form/_tree-select.scss +4 -0
- package/scss/helper/background/_background-color.scss +1 -1
- package/scss/helper/border/_border-color.scss +1 -1
- package/scss/helper/typography/_text-color.scss +1 -1
- package/scss/themes/_antd-variables.scss +42 -0
- package/scss/themes/_common.scss +3 -0
- package/scss/themes/_cxd-variables.scss +50 -1
- package/scss/themes/_dark-variables.scss +1 -0
- package/sdk/ang-ie11.css +1692 -19
- package/sdk/ang.css +1705 -24
- package/sdk/antd-ie11.css +1692 -19
- package/sdk/antd.css +1740 -24
- package/sdk/charts.js +17 -17
- package/sdk/codemirror.js +14 -0
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +3 -3
- package/sdk/cxd-ie11.css +1693 -20
- package/sdk/cxd.css +1744 -25
- package/sdk/dark-ie11.css +1693 -20
- package/sdk/dark.css +1706 -24
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css +57 -57
- package/sdk/helper.css.map +1 -1
- package/sdk/locale/de-DE.js +13 -2
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +18 -18
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +1693 -20
- package/sdk/sdk.css +1744 -25
- package/sdk/sdk.js +1235 -1275
- package/sdk/thirds/hls.js/hls.js +18 -18
- package/sdk/thirds/mpegts.js/mpegts.js +2 -2
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +4 -0
- package/src/components/AsideNav.tsx +1 -1
- package/src/components/AssociatedSelection.tsx +5 -1
- package/src/components/Avatar.tsx +253 -0
- package/src/components/BaiduMapPicker.tsx +19 -14
- package/src/components/CalendarMobile.tsx +563 -0
- package/src/components/Card.tsx +2 -2
- package/src/components/ChainedSelection.tsx +16 -3
- package/src/components/CodeMirror.tsx +99 -0
- package/src/components/Collapse.tsx +3 -2
- package/src/components/ColorPicker.tsx +43 -3
- package/src/components/DatePicker.tsx +44 -8
- package/src/components/DateRangePicker.tsx +64 -5
- package/src/components/GroupedSelection.tsx +14 -2
- package/src/components/MonthRangePicker.tsx +59 -5
- package/src/components/Overlay.tsx +1 -1
- package/src/components/Picker.tsx +41 -36
- package/src/components/PickerColumn.tsx +22 -25
- package/src/components/PickerContainer.tsx +23 -7
- package/src/components/PopUp.tsx +118 -0
- package/src/components/Rating.tsx +235 -47
- package/src/components/ResultBox.tsx +4 -1
- package/src/components/ResultList.tsx +36 -6
- package/src/components/Select.tsx +1 -1
- package/src/components/Selection.tsx +21 -3
- package/src/components/Steps.tsx +27 -9
- package/src/components/TableSelection.tsx +1 -44
- package/src/components/Tabs.tsx +65 -54
- package/src/components/TabsTransfer.tsx +78 -9
- package/src/components/TabsTransferPicker.tsx +25 -13
- package/src/components/Timeline.tsx +31 -0
- package/src/components/TimelineItem.tsx +107 -0
- package/src/components/Transfer.tsx +11 -8
- package/src/components/TransferDropDown.tsx +1 -7
- package/src/components/TransferPicker.tsx +25 -14
- package/src/components/TreeSelection.tsx +7 -1
- package/src/components/calendar/Calendar.tsx +26 -6
- package/src/components/calendar/DaysView.tsx +79 -31
- package/src/components/calendar/MonthsView.tsx +116 -2
- package/src/components/calendar/QuartersView.tsx +3 -2
- package/src/components/calendar/TimeView.tsx +26 -16
- package/src/components/calendar/YearsView.tsx +14 -16
- package/src/components/condition-builder/Field.tsx +1 -3
- package/src/components/condition-builder/Func.tsx +1 -1
- package/src/components/formula/Editor.tsx +266 -0
- package/src/components/formula/FuncList.tsx +84 -0
- package/src/components/formula/Picker.tsx +87 -0
- package/src/components/formula/VariableList.tsx +49 -0
- package/src/components/formula/plugin.ts +177 -0
- package/src/components/icons.tsx +4 -0
- package/src/components/index.tsx +2 -0
- package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
- package/src/components/virtual-list/index.tsx +4 -6
- package/src/factory.tsx +6 -0
- package/src/icons/star.svg +12 -0
- package/src/icons/tree-down.svg +5 -0
- package/src/index.tsx +2 -0
- package/src/locale/de-DE.ts +13 -2
- package/src/locale/en-US.ts +13 -2
- package/src/locale/zh-CN.ts +12 -1
- package/src/renderers/Avatar.tsx +83 -74
- package/src/renderers/CRUD.tsx +1 -3
- package/src/renderers/Card.tsx +10 -6
- package/src/renderers/Custom.tsx +6 -3
- package/src/renderers/Each.tsx +4 -4
- package/src/renderers/Flex.tsx +3 -7
- package/src/renderers/Form/ChartRadios.tsx +2 -7
- package/src/renderers/Form/Checkboxes.tsx +1 -1
- package/src/renderers/Form/DiffEditor.tsx +2 -3
- package/src/renderers/Form/InputColor.tsx +1 -2
- package/src/renderers/Form/InputDate.tsx +39 -18
- package/src/renderers/Form/InputDateRange.tsx +1 -0
- package/src/renderers/Form/InputFormula.tsx +80 -0
- package/src/renderers/Form/InputImage.tsx +9 -4
- package/src/renderers/Form/InputMonthRange.tsx +1 -0
- package/src/renderers/Form/InputQuarterRange.tsx +1 -0
- package/src/renderers/Form/InputRating.tsx +66 -3
- package/src/renderers/Form/InputYearRange.tsx +1 -0
- package/src/renderers/Form/Item.tsx +15 -4
- package/src/renderers/Form/NestedSelect.tsx +1 -1
- package/src/renderers/Form/Select.tsx +0 -1
- package/src/renderers/Form/TabsTransfer.tsx +28 -38
- package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
- package/src/renderers/Form/Transfer.tsx +75 -24
- package/src/renderers/Form/TransferPicker.tsx +6 -38
- package/src/renderers/Form/TreeSelect.tsx +80 -63
- package/src/renderers/Form/index.tsx +2 -1
- package/src/renderers/IFrame.tsx +0 -2
- package/src/renderers/Json.tsx +5 -0
- package/src/renderers/Nav.tsx +4 -1
- package/src/renderers/Remark.tsx +67 -18
- package/src/renderers/Steps.tsx +13 -13
- package/src/renderers/Table/TableRow.tsx +3 -1
- package/src/renderers/Table/index.tsx +7 -1
- package/src/renderers/Tabs.tsx +6 -2
- package/src/renderers/Timeline.tsx +141 -0
- package/src/renderers/Video.tsx +4 -20
- package/src/store/combo.ts +1 -3
- package/src/store/formItem.ts +2 -2
- package/src/store/table.ts +2 -1
- package/src/utils/RootClose.ts +5 -1
- package/src/utils/api.ts +5 -2
- package/src/utils/helper.ts +1 -1
@@ -2,11 +2,7 @@
|
|
2
2
|
* @file Picker
|
3
3
|
* @description 移动端列滚动选择器
|
4
4
|
*/
|
5
|
-
import React, {
|
6
|
-
memo,
|
7
|
-
ReactNode,
|
8
|
-
useState
|
9
|
-
} from 'react';
|
5
|
+
import React, {memo, ReactNode, useState, useEffect} from 'react';
|
10
6
|
import {uncontrollable} from 'uncontrollable';
|
11
7
|
|
12
8
|
import {themeable, ThemeProps} from '../theme';
|
@@ -18,7 +14,7 @@ import {PickerColumnItem, default as Column} from './PickerColumn';
|
|
18
14
|
export type PickerValue = string | number;
|
19
15
|
|
20
16
|
export interface PickerProps extends ThemeProps, LocaleProps {
|
21
|
-
title?: String | ReactNode
|
17
|
+
title?: String | ReactNode;
|
22
18
|
labelField?: string;
|
23
19
|
className?: string;
|
24
20
|
showToolbar?: boolean;
|
@@ -28,17 +24,9 @@ export interface PickerProps extends ThemeProps, LocaleProps {
|
|
28
24
|
visibleItemCount?: number;
|
29
25
|
itemHeight?: number;
|
30
26
|
columns: PickerColumnItem[] | PickerColumnItem;
|
31
|
-
onChange?: (
|
32
|
-
|
33
|
-
|
34
|
-
confirm?: boolean
|
35
|
-
) => void;
|
36
|
-
onClose?: (
|
37
|
-
value?: PickerValue[]
|
38
|
-
) => void;
|
39
|
-
onConfirm?: (
|
40
|
-
value?: PickerValue[]
|
41
|
-
) => void;
|
27
|
+
onChange?: (value?: PickerValue[], index?: number, confirm?: boolean) => void;
|
28
|
+
onClose?: (value?: PickerValue[]) => void;
|
29
|
+
onConfirm?: (value?: PickerValue[]) => void;
|
42
30
|
}
|
43
31
|
|
44
32
|
function fixToArray(data: any) {
|
@@ -48,7 +36,7 @@ function fixToArray(data: any) {
|
|
48
36
|
return data;
|
49
37
|
}
|
50
38
|
|
51
|
-
const Picker = memo<PickerProps>(
|
39
|
+
const Picker = memo<PickerProps>(props => {
|
52
40
|
const {
|
53
41
|
labelField,
|
54
42
|
visibleItemCount = 5,
|
@@ -57,7 +45,7 @@ const Picker = memo<PickerProps>((props) => {
|
|
57
45
|
columns = [],
|
58
46
|
itemHeight = 30,
|
59
47
|
showToolbar = true,
|
60
|
-
className='',
|
48
|
+
className = '',
|
61
49
|
classnames: cx,
|
62
50
|
classPrefix: ns,
|
63
51
|
translate: __
|
@@ -65,8 +53,11 @@ const Picker = memo<PickerProps>((props) => {
|
|
65
53
|
|
66
54
|
const _columns = fixToArray(columns);
|
67
55
|
const [innerValue, setInnerValue] = useState<PickerValue[]>(
|
68
|
-
fixToArray(props.value === undefined ? props.defaultValue || [] : value
|
56
|
+
fixToArray(props.value === undefined ? props.defaultValue || [] : value)
|
69
57
|
);
|
58
|
+
useEffect(() => {
|
59
|
+
setInnerValue(value);
|
60
|
+
}, [value]);
|
70
61
|
|
71
62
|
const close = () => {
|
72
63
|
if (props.onClose) {
|
@@ -80,7 +71,11 @@ const Picker = memo<PickerProps>((props) => {
|
|
80
71
|
}
|
81
72
|
};
|
82
73
|
|
83
|
-
const onChange = (
|
74
|
+
const onChange = (
|
75
|
+
itemValue: PickerValue,
|
76
|
+
columnIndex: number,
|
77
|
+
confirm?: boolean
|
78
|
+
) => {
|
84
79
|
const nextInnerValue = [...innerValue];
|
85
80
|
nextInnerValue[columnIndex] = itemValue;
|
86
81
|
setInnerValue(nextInnerValue);
|
@@ -103,7 +98,9 @@ const Picker = memo<PickerProps>((props) => {
|
|
103
98
|
onChange={(val: string | number, i, confirm) => {
|
104
99
|
onChange(val, index, confirm);
|
105
100
|
}}
|
106
|
-
|
101
|
+
key={`column${index}`}
|
102
|
+
/>
|
103
|
+
);
|
107
104
|
};
|
108
105
|
|
109
106
|
const wrapHeight = itemHeight * +visibleItemCount;
|
@@ -114,21 +111,29 @@ const Picker = memo<PickerProps>((props) => {
|
|
114
111
|
};
|
115
112
|
|
116
113
|
return (
|
117
|
-
<div
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
114
|
+
<div className={cx(className, 'PickerColumns', 'PickerColumns-popOver')}>
|
115
|
+
{showToolbar && (
|
116
|
+
<div className={cx('PickerColumns-toolbar')}>
|
117
|
+
<Button
|
118
|
+
className="PickerColumns-cancel"
|
119
|
+
level="default"
|
120
|
+
onClick={close}
|
121
|
+
>
|
122
|
+
{__('cancel')}
|
123
|
+
</Button>
|
124
|
+
<Button
|
125
|
+
className="PickerColumns-confirm"
|
126
|
+
level="primary"
|
127
|
+
onClick={confirm}
|
128
|
+
>
|
129
|
+
{__('confirm')}
|
130
|
+
</Button>
|
131
|
+
</div>
|
132
|
+
)}
|
128
133
|
<div className={cx('PickerColumns-columns')} style={columnsStyle}>
|
129
|
-
|
130
|
-
|
131
|
-
|
134
|
+
{_columns.map((column: PickerColumnItem, index: number) =>
|
135
|
+
renderColumnItem(column, index)
|
136
|
+
)}
|
132
137
|
<div className={cx('PickerColumns-mask')} style={maskStyle}></div>
|
133
138
|
<div className={cx('PickerColumns-frame')} style={frameStyle}></div>
|
134
139
|
</div>
|
@@ -33,7 +33,7 @@ export interface PickerColumnItem {
|
|
33
33
|
index?: number,
|
34
34
|
confirm?: boolean
|
35
35
|
) => void;
|
36
|
-
}
|
36
|
+
}
|
37
37
|
|
38
38
|
export interface PickerColumnProps extends PickerColumnItem, ThemeProps {}
|
39
39
|
|
@@ -64,7 +64,7 @@ function getElementTranslateY(element: HTMLElement | null) {
|
|
64
64
|
function isOptionDisabled(option: PickerOption) {
|
65
65
|
return isObject(option) && option.disabled;
|
66
66
|
}
|
67
|
-
|
67
|
+
|
68
68
|
const PickerColumn = forwardRef<{}, PickerColumnProps>((props, ref) => {
|
69
69
|
const {
|
70
70
|
visibleItemCount = 5,
|
@@ -132,11 +132,9 @@ const PickerColumn = forwardRef<{}, PickerColumnProps>((props, ref) => {
|
|
132
132
|
updateState({index});
|
133
133
|
|
134
134
|
if (emitChange && props.onChange) {
|
135
|
-
requestAnimationFrame(
|
136
|
-
(
|
137
|
-
|
138
|
-
}
|
139
|
-
);
|
135
|
+
requestAnimationFrame(() => {
|
136
|
+
props.onChange?.(options[index], index, confirm);
|
137
|
+
});
|
140
138
|
// setTimeout(() => {
|
141
139
|
// props.onChange?.(options[index], index, confirm);
|
142
140
|
// }, 0);
|
@@ -301,7 +299,7 @@ const PickerColumn = forwardRef<{}, PickerColumnProps>((props, ref) => {
|
|
301
299
|
onClickItem(index);
|
302
300
|
}
|
303
301
|
};
|
304
|
-
|
302
|
+
|
305
303
|
const childData = {
|
306
304
|
className: 'text-ellipsis',
|
307
305
|
children: text
|
@@ -357,23 +355,23 @@ const PickerColumn = forwardRef<{}, PickerColumnProps>((props, ref) => {
|
|
357
355
|
transitionProperty: state.duration ? 'all' : 'none'
|
358
356
|
};
|
359
357
|
return (
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
358
|
+
<div
|
359
|
+
ref={root}
|
360
|
+
className={props.classnames('PickerColumns', props.className)}
|
361
|
+
onTouchStart={onTouchStart}
|
362
|
+
onTouchMove={onTouchMove}
|
363
|
+
onTouchEnd={onTouchEnd}
|
364
|
+
onTouchCancel={onTouchEnd}
|
365
|
+
>
|
366
|
+
<ul
|
367
|
+
ref={wrapper}
|
368
|
+
style={wrapperStyle}
|
369
|
+
className={props.classnames('PickerColumns-columnWrapper')}
|
370
|
+
onTransitionEnd={stopMomentum}
|
367
371
|
>
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
className={props.classnames('PickerColumns-columnWrapper')}
|
372
|
-
onTransitionEnd={stopMomentum}
|
373
|
-
>
|
374
|
-
{renderOptions()}
|
375
|
-
</ul>
|
376
|
-
</div>
|
372
|
+
{renderOptions()}
|
373
|
+
</ul>
|
374
|
+
</div>
|
377
375
|
);
|
378
376
|
});
|
379
377
|
|
@@ -389,4 +387,3 @@ export default themeable(
|
|
389
387
|
value: 'onChange'
|
390
388
|
})
|
391
389
|
);
|
392
|
-
|
@@ -10,14 +10,17 @@ import Button from './Button';
|
|
10
10
|
|
11
11
|
export interface PickerContainerProps extends ThemeProps, LocaleProps {
|
12
12
|
title?: string;
|
13
|
+
showTitle?: boolean;
|
13
14
|
children: (props: {
|
14
15
|
onClick: (e: React.MouseEvent) => void;
|
15
16
|
isOpened: boolean;
|
16
17
|
}) => JSX.Element;
|
17
|
-
|
18
|
+
bodyRender: (props: {
|
18
19
|
onClose: () => void;
|
19
20
|
value: any;
|
20
21
|
onChange: (value: any) => void;
|
22
|
+
setState: (state: any) => void;
|
23
|
+
[propName: string]: any;
|
21
24
|
}) => JSX.Element;
|
22
25
|
value?: any;
|
23
26
|
onConfirm?: (value?: any) => void;
|
@@ -82,11 +85,21 @@ export class PickerContainer extends React.Component<
|
|
82
85
|
this.close(undefined, () => onConfirm?.(this.state.value));
|
83
86
|
}
|
84
87
|
|
88
|
+
@autobind
|
89
|
+
updateState(state: any = {}) {
|
90
|
+
const {isOpened, ...rest} = state;
|
91
|
+
this.setState({
|
92
|
+
...this.state,
|
93
|
+
...rest
|
94
|
+
});
|
95
|
+
}
|
96
|
+
|
85
97
|
render() {
|
86
98
|
const {
|
87
99
|
children,
|
88
|
-
|
100
|
+
bodyRender: popOverRender,
|
89
101
|
title,
|
102
|
+
showTitle,
|
90
103
|
translate: __,
|
91
104
|
size
|
92
105
|
} = this.props;
|
@@ -103,13 +116,16 @@ export class PickerContainer extends React.Component<
|
|
103
116
|
show={this.state.isOpened}
|
104
117
|
onHide={this.close}
|
105
118
|
>
|
106
|
-
|
107
|
-
{
|
108
|
-
|
119
|
+
{showTitle !== false ? (
|
120
|
+
<Modal.Header onClose={this.close}>
|
121
|
+
{__(title || 'Select.placeholder')}
|
122
|
+
</Modal.Header>
|
123
|
+
) : null}
|
109
124
|
<Modal.Body>
|
110
|
-
{
|
125
|
+
{popOverRender({
|
126
|
+
...(this.state as any),
|
127
|
+
setState: this.updateState,
|
111
128
|
onClose: this.close,
|
112
|
-
value: this.state.value,
|
113
129
|
onChange: this.handleChange
|
114
130
|
})}
|
115
131
|
</Modal.Body>
|
@@ -0,0 +1,118 @@
|
|
1
|
+
/**
|
2
|
+
* @file PopUp
|
3
|
+
* @description
|
4
|
+
* @author fex
|
5
|
+
*/
|
6
|
+
|
7
|
+
import React from 'react';
|
8
|
+
import {ClassNamesFn, themeable} from '../theme';
|
9
|
+
import Transition, {
|
10
|
+
ENTERED,
|
11
|
+
EXITING,
|
12
|
+
EXITED,
|
13
|
+
ENTERING
|
14
|
+
} from 'react-transition-group/Transition';
|
15
|
+
import Portal from 'react-overlays/Portal';
|
16
|
+
import {Icon} from './icons';
|
17
|
+
|
18
|
+
export interface PopUpPorps {
|
19
|
+
className?: string;
|
20
|
+
style?: {
|
21
|
+
[styleName: string]: string;
|
22
|
+
};
|
23
|
+
overlay?: boolean;
|
24
|
+
onHide?: () => void;
|
25
|
+
classPrefix: string;
|
26
|
+
classnames: ClassNamesFn;
|
27
|
+
[propName: string]: any;
|
28
|
+
isShow?: boolean;
|
29
|
+
container?: any;
|
30
|
+
hideClose?: boolean;
|
31
|
+
placement?: 'left' | 'center' | 'right';
|
32
|
+
header?: JSX.Element;
|
33
|
+
}
|
34
|
+
|
35
|
+
const fadeStyles: {
|
36
|
+
[propName: string]: string;
|
37
|
+
} = {
|
38
|
+
[ENTERED]: '',
|
39
|
+
[EXITING]: 'out',
|
40
|
+
[EXITED]: '',
|
41
|
+
[ENTERING]: 'in'
|
42
|
+
};
|
43
|
+
export class PopUp extends React.PureComponent<PopUpPorps> {
|
44
|
+
static defaultProps = {
|
45
|
+
className: '',
|
46
|
+
overlay: true,
|
47
|
+
isShow: false,
|
48
|
+
container: document.body,
|
49
|
+
hideClose: false
|
50
|
+
};
|
51
|
+
|
52
|
+
componentDidMount() {}
|
53
|
+
handleClick(e: React.MouseEvent) {
|
54
|
+
e.stopPropagation();
|
55
|
+
}
|
56
|
+
|
57
|
+
render() {
|
58
|
+
const {
|
59
|
+
style,
|
60
|
+
children,
|
61
|
+
overlay,
|
62
|
+
onHide,
|
63
|
+
classPrefix: ns,
|
64
|
+
classnames: cx,
|
65
|
+
className,
|
66
|
+
isShow,
|
67
|
+
container,
|
68
|
+
hideClose,
|
69
|
+
header,
|
70
|
+
placement = 'center',
|
71
|
+
...rest
|
72
|
+
} = this.props;
|
73
|
+
|
74
|
+
const outerStyle: any = {
|
75
|
+
...style
|
76
|
+
};
|
77
|
+
delete outerStyle.top;
|
78
|
+
return (
|
79
|
+
<Portal container={container}>
|
80
|
+
<Transition mountOnEnter unmountOnExit in={isShow} timeout={500} appear>
|
81
|
+
{(status: string) => {
|
82
|
+
return (
|
83
|
+
<div
|
84
|
+
className={cx(`${ns}PopUp`, className, fadeStyles[status])}
|
85
|
+
style={outerStyle}
|
86
|
+
{...rest}
|
87
|
+
onClick={this.handleClick}
|
88
|
+
>
|
89
|
+
{overlay && (
|
90
|
+
<div className={`${ns}PopUp-overlay`} onClick={onHide} />
|
91
|
+
)}
|
92
|
+
<div className={cx(`${ns}PopUp-inner`)}>
|
93
|
+
{!hideClose && (
|
94
|
+
<div className={cx(`${ns}PopUp-closeWrap`)}>
|
95
|
+
{header}
|
96
|
+
<Icon
|
97
|
+
icon="close"
|
98
|
+
className={cx('icon', `${ns}PopUp-close`)}
|
99
|
+
onClick={onHide}
|
100
|
+
/>
|
101
|
+
</div>
|
102
|
+
)}
|
103
|
+
<div
|
104
|
+
className={cx(`${ns}PopUp-content`, `justify-${placement}`)}
|
105
|
+
>
|
106
|
+
{children}
|
107
|
+
</div>
|
108
|
+
</div>
|
109
|
+
</div>
|
110
|
+
);
|
111
|
+
}}
|
112
|
+
</Transition>
|
113
|
+
</Portal>
|
114
|
+
);
|
115
|
+
}
|
116
|
+
}
|
117
|
+
|
118
|
+
export default themeable(PopUp);
|