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
@@ -15,12 +15,14 @@ var icons_1 = require("./icons");
|
|
15
15
|
var Overlay_1 = (0, tslib_1.__importDefault)(require("./Overlay"));
|
16
16
|
var Calendar_1 = (0, tslib_1.__importDefault)(require("./calendar/Calendar"));
|
17
17
|
var PopOver_1 = (0, tslib_1.__importDefault)(require("./PopOver"));
|
18
|
+
var PopUp_1 = (0, tslib_1.__importDefault)(require("./PopUp"));
|
18
19
|
var theme_1 = require("../theme");
|
19
20
|
var helper_1 = require("../utils/helper");
|
20
21
|
var locale_1 = require("../locale");
|
21
22
|
var DateRangePicker_1 = require("./DateRangePicker");
|
22
23
|
var capitalize_1 = (0, tslib_1.__importDefault)(require("lodash/capitalize"));
|
23
24
|
var DateRangePicker_2 = require("./DateRangePicker");
|
25
|
+
var CalendarMobile_1 = (0, tslib_1.__importDefault)(require("./CalendarMobile"));
|
24
26
|
var MonthRangePicker = /** @class */ (function (_super) {
|
25
27
|
(0, tslib_1.__extends)(MonthRangePicker, _super);
|
26
28
|
function MonthRangePicker(props) {
|
@@ -41,6 +43,7 @@ var MonthRangePicker = /** @class */ (function (_super) {
|
|
41
43
|
_this.handleKeyPress = _this.handleKeyPress.bind(_this);
|
42
44
|
_this.handlePopOverClick = _this.handlePopOverClick.bind(_this);
|
43
45
|
_this.renderMonth = _this.renderMonth.bind(_this);
|
46
|
+
_this.handleMobileChange = _this.handleMobileChange.bind(_this);
|
44
47
|
var _a = _this.props, format = _a.format, joinValues = _a.joinValues, delimiter = _a.delimiter, value = _a.value;
|
45
48
|
_this.state = (0, tslib_1.__assign)({ isOpened: false, isFocused: false }, DateRangePicker_1.DateRangePicker.unFormatValue(value, format, joinValues, delimiter));
|
46
49
|
return _this;
|
@@ -162,6 +165,12 @@ var MonthRangePicker = /** @class */ (function (_super) {
|
|
162
165
|
embed && _this.confirm();
|
163
166
|
});
|
164
167
|
};
|
168
|
+
MonthRangePicker.prototype.handleMobileChange = function (data, callback) {
|
169
|
+
this.setState({
|
170
|
+
startDate: data.startDate,
|
171
|
+
endDate: data.endDate
|
172
|
+
}, callback);
|
173
|
+
};
|
165
174
|
MonthRangePicker.prototype.selectRannge = function (range) {
|
166
175
|
var _a = this.props, closeOnSelect = _a.closeOnSelect, minDate = _a.minDate, maxDate = _a.maxDate;
|
167
176
|
this.setState({
|
@@ -302,8 +311,9 @@ var MonthRangePicker = /** @class */ (function (_super) {
|
|
302
311
|
};
|
303
312
|
MonthRangePicker.prototype.render = function () {
|
304
313
|
var _this = this;
|
305
|
-
var _a = this.props, className = _a.className, popoverClassName = _a.popoverClassName, ns = _a.classPrefix, value = _a.value, placeholder = _a.placeholder, popOverContainer = _a.popOverContainer, inputFormat = _a.inputFormat, format = _a.format, joinValues = _a.joinValues, delimiter = _a.delimiter, clearable = _a.clearable, disabled = _a.disabled, embed = _a.embed, overlayPlacement = _a.overlayPlacement;
|
306
|
-
var
|
314
|
+
var _a = this.props, className = _a.className, popoverClassName = _a.popoverClassName, ns = _a.classPrefix, value = _a.value, placeholder = _a.placeholder, popOverContainer = _a.popOverContainer, inputFormat = _a.inputFormat, format = _a.format, joinValues = _a.joinValues, delimiter = _a.delimiter, clearable = _a.clearable, disabled = _a.disabled, embed = _a.embed, overlayPlacement = _a.overlayPlacement, useMobileUI = _a.useMobileUI, timeFormat = _a.timeFormat, minDate = _a.minDate, maxDate = _a.maxDate, minDuration = _a.minDuration, maxDuration = _a.maxDuration, ranges = _a.ranges;
|
315
|
+
var mobileUI = (0, helper_1.isMobile)() && useMobileUI;
|
316
|
+
var _b = this.state, isOpened = _b.isOpened, isFocused = _b.isFocused, startDate = _b.startDate, endDate = _b.endDate;
|
307
317
|
var selectedDate = DateRangePicker_1.DateRangePicker.unFormatValue(value, format, joinValues, delimiter);
|
308
318
|
var startViewValue = selectedDate.startDate
|
309
319
|
? selectedDate.startDate.format(inputFormat)
|
@@ -315,11 +325,15 @@ var MonthRangePicker = /** @class */ (function (_super) {
|
|
315
325
|
startViewValue && arr.push(startViewValue);
|
316
326
|
endViewValue && arr.push(endViewValue);
|
317
327
|
var __ = this.props.translate;
|
328
|
+
var calendarMobile = react_1.default.createElement(CalendarMobile_1.default, { timeFormat: timeFormat, inputFormat: inputFormat, startDate: startDate, endDate: endDate, minDate: minDate, maxDate: maxDate, minDuration: minDuration, maxDuration: maxDuration, embed: embed, viewMode: "months", close: this.close, confirm: this.confirm, onChange: this.handleMobileChange, footerExtra: this.renderRanges(ranges), showViewMode: "years" });
|
318
329
|
if (embed) {
|
319
330
|
return (react_1.default.createElement("div", { className: (0, classnames_1.default)(ns + "DateRangeCalendar", {
|
320
331
|
'is-disabled': disabled
|
321
|
-
}, className) },
|
332
|
+
}, className) }, mobileUI
|
333
|
+
? calendarMobile
|
334
|
+
: this.renderCalendar()));
|
322
335
|
}
|
336
|
+
var CalendarMobileTitle = react_1.default.createElement("div", { className: ns + "CalendarMobile-title" }, __('Calendar.datepicker'));
|
323
337
|
return (react_1.default.createElement("div", { tabIndex: 0, onKeyPress: this.handleKeyPress, onFocus: this.handleFocus, onBlur: this.handleBlur, className: (0, classnames_1.default)(ns + "DateRangePicker", {
|
324
338
|
'is-disabled': disabled,
|
325
339
|
'is-focused': isFocused
|
@@ -329,8 +343,9 @@ var MonthRangePicker = /** @class */ (function (_super) {
|
|
329
343
|
react_1.default.createElement(icons_1.Icon, { icon: "close", className: "icon" }))) : null,
|
330
344
|
react_1.default.createElement("a", { className: ns + "DateRangePicker-toggler" },
|
331
345
|
react_1.default.createElement(icons_1.Icon, { icon: "clock", className: "icon" })),
|
332
|
-
isOpened ? (react_1.default.createElement(
|
333
|
-
react_1.default.createElement(
|
346
|
+
isOpened ? (mobileUI ? (react_1.default.createElement(PopUp_1.default, { isShow: isOpened, className: (0, classnames_1.default)(ns + "CalendarMobile-pop"), onHide: this.close, header: CalendarMobileTitle }, calendarMobile))
|
347
|
+
: react_1.default.createElement(Overlay_1.default, { target: function () { return _this.dom.current; }, onHide: this.close, container: popOverContainer || (function () { return (0, react_dom_1.findDOMNode)(_this); }), rootClose: false, placement: overlayPlacement, show: true },
|
348
|
+
react_1.default.createElement(PopOver_1.default, { classPrefix: ns, className: (0, classnames_1.default)(ns + "DateRangePicker-popover", popoverClassName), onHide: this.close, onClick: this.handlePopOverClick, overlay: true }, this.renderCalendar()))) : null));
|
334
349
|
};
|
335
350
|
MonthRangePicker.defaultProps = {
|
336
351
|
placeholder: 'MonthRange.placeholder',
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/MonthRangePicker.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file MonthRangePicker\n * @description 月份范围选择器\n * @author fex\n */\n\nimport React from 'react';\nimport moment from 'moment';\nimport {findDOMNode} from 'react-dom';\nimport cx from 'classnames';\nimport {Icon} from './icons';\nimport Overlay from './Overlay';\nimport Calendar from './calendar/Calendar';\nimport PopOver from './PopOver';\nimport {themeable, ThemeProps} from '../theme';\nimport {PlainObject} from '../types';\nimport {noop} from '../utils/helper';\nimport {LocaleProps, localeable} from '../locale';\nimport {DateRangePicker} from './DateRangePicker';\nimport capitalize from 'lodash/capitalize';\nimport {ShortCuts, ShortCutDateRange} from './DatePicker';\nimport {availableRanges} from './DateRangePicker';\n\nexport interface MonthRangePickerProps extends ThemeProps, LocaleProps {\n className?: string;\n popoverClassName?: string;\n placeholder?: string;\n theme?: any;\n format: string;\n utc?: boolean;\n inputFormat?: string;\n timeFormat?: string;\n ranges?: string | Array<ShortCuts>;\n clearable?: boolean;\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n minDuration?: moment.Duration;\n maxDuration?: moment.Duration;\n joinValues: boolean;\n delimiter: string;\n value?: any;\n onChange: (value: any) => void;\n data?: any;\n disabled?: boolean;\n closeOnSelect?: boolean;\n overlayPlacement: string;\n resetValue?: any;\n popOverContainer?: any;\n embed?: boolean;\n}\n\nexport interface MonthRangePickerState {\n isOpened: boolean;\n isFocused: boolean;\n startDate?: moment.Moment;\n endDate?: moment.Moment;\n}\n\nexport class MonthRangePicker extends React.Component<\n MonthRangePickerProps,\n MonthRangePickerState\n> {\n static defaultProps = {\n placeholder: 'MonthRange.placeholder',\n format: 'YYYY-MM',\n inputFormat: 'YYYY-MM',\n joinValues: true,\n clearable: true,\n delimiter: ',',\n resetValue: '',\n closeOnSelect: true,\n overlayPlacement: 'auto'\n };\n\n innerDom: any;\n popover: any;\n input?: HTMLInputElement;\n\n dom: React.RefObject<HTMLDivElement>;\n nextMonth = moment().add(1, 'year').startOf('month');\n\n constructor(props: MonthRangePickerProps) {\n super(props);\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.handleStartChange = this.handleStartChange.bind(this);\n this.handleEndChange = this.handleEndChange.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.checkStartIsValidDate = this.checkStartIsValidDate.bind(this);\n this.checkEndIsValidDate = this.checkEndIsValidDate.bind(this);\n this.confirm = this.confirm.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.dom = React.createRef();\n this.handleClick = this.handleClick.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.handlePopOverClick = this.handlePopOverClick.bind(this);\n this.renderMonth = this.renderMonth.bind(this);\n const {format, joinValues, delimiter, value} = this.props;\n\n this.state = {\n isOpened: false,\n isFocused: false,\n ...DateRangePicker.unFormatValue(value, format, joinValues, delimiter)\n };\n }\n\n componentDidUpdate(prevProps: MonthRangePickerProps) {\n const props = this.props;\n const {value, format, joinValues, delimiter} = props;\n\n if (prevProps.value !== value) {\n this.setState({\n ...DateRangePicker.unFormatValue(value, format, joinValues, delimiter)\n });\n }\n }\n\n focus() {\n if (!this.dom.current || this.props.disabled) {\n return;\n }\n\n this.dom.current.focus();\n }\n\n blur() {\n if (!this.dom.current || this.props.disabled) {\n return;\n }\n\n this.dom.current.blur();\n }\n\n handleFocus() {\n this.setState({\n isFocused: true\n });\n }\n\n handleBlur() {\n this.setState({\n isFocused: false\n });\n }\n\n open() {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({\n isOpened: true\n });\n }\n\n close() {\n this.setState(\n {\n isOpened: false\n },\n this.blur\n );\n }\n\n handleClick() {\n this.state.isOpened ? this.close() : this.open();\n }\n\n handlePopOverClick(e: React.MouseEvent<any>) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n handleKeyPress(e: React.KeyboardEvent) {\n if (e.key === ' ') {\n this.handleClick();\n e.preventDefault();\n }\n }\n\n confirm() {\n if (!this.state.startDate || !this.state.endDate) {\n return;\n } else if (this.state.startDate.isAfter(this.state.endDate)) {\n return;\n }\n\n this.props.onChange(\n DateRangePicker.formatValue(\n {\n startDate: this.state.startDate,\n endDate: this.state.endDate\n },\n this.props.format,\n this.props.joinValues,\n this.props.delimiter,\n this.props.utc\n )\n );\n this.close();\n }\n\n filterDate(\n date: moment.Moment,\n originValue?: moment.Moment,\n timeFormat?: string,\n type: 'start' | 'end' = 'start'\n ): moment.Moment {\n let value = date.clone();\n\n value = value[type === 'start' ? 'startOf' : 'endOf']('month');\n\n return value;\n }\n\n handleStartChange(newValue: moment.Moment) {\n const {embed, minDuration, maxDuration} = this.props;\n const {startDate, endDate} = this.state;\n\n if (\n startDate &&\n !endDate &&\n newValue.isSameOrAfter(startDate) &&\n (!minDuration || newValue.isAfter(startDate.clone().add(minDuration))) &&\n (!maxDuration || newValue.isBefore(startDate.clone().add(maxDuration)))\n ) {\n return this.setState(\n {\n endDate: this.filterDate(newValue, endDate, '', 'end')\n },\n () => {\n embed && this.confirm();\n }\n );\n }\n\n this.setState(\n {\n startDate: this.filterDate(newValue, startDate, '', 'start')\n },\n () => {\n embed && this.confirm();\n }\n );\n }\n\n handleEndChange(newValue: moment.Moment) {\n const {embed, minDuration, maxDuration} = this.props;\n const {startDate, endDate} = this.state;\n\n if (\n endDate &&\n !startDate &&\n newValue.isSameOrBefore(endDate) &&\n (!minDuration ||\n newValue.isBefore(endDate.clone().subtract(minDuration))) &&\n (!maxDuration || newValue.isAfter(endDate.clone().subtract(maxDuration)))\n ) {\n return this.setState(\n {\n startDate: this.filterDate(newValue, startDate, '', 'start')\n },\n () => {\n embed && this.confirm();\n }\n );\n }\n\n this.setState(\n {\n endDate: this.filterDate(newValue, endDate, '', 'end')\n },\n () => {\n embed && this.confirm();\n }\n );\n }\n\n selectRannge(range: PlainObject) {\n const {closeOnSelect, minDate, maxDate} = this.props;\n this.setState(\n {\n startDate: minDate\n ? moment.max(range.startDate(moment()), minDate)\n : range.startDate(moment()),\n endDate: maxDate\n ? moment.min(maxDate, range.endDate(moment()))\n : range.endDate(moment())\n },\n closeOnSelect ? this.confirm : noop\n );\n }\n\n renderRanges(ranges: string | Array<ShortCuts> | undefined) {\n if (!ranges) {\n return null;\n }\n const {classPrefix: ns} = this.props;\n let rangeArr: Array<string | ShortCuts>;\n if (typeof ranges === 'string') {\n rangeArr = ranges.split(',');\n } else {\n rangeArr = ranges;\n }\n const __ = this.props.translate;\n\n return (\n <ul className={`${ns}DateRangePicker-rangers`}>\n {rangeArr.map(item => {\n if (!item) {\n return null;\n }\n let range: PlainObject = {};\n if (typeof item === 'string') {\n range = availableRanges[item];\n range.key = item;\n } else if (\n (item as ShortCutDateRange).startDate &&\n (item as ShortCutDateRange).endDate\n ) {\n range = {\n ...item,\n startDate: () => (item as ShortCutDateRange).startDate,\n endDate: () => (item as ShortCutDateRange).endDate\n };\n }\n return (\n <li\n className={`${ns}DateRangePicker-ranger`}\n onClick={() => this.selectRannge(range)}\n key={range.key || range.label}\n >\n <a>{__(range.label)}</a>\n </li>\n );\n })}\n </ul>\n );\n }\n\n clearValue(e: React.MouseEvent<any>) {\n e.preventDefault();\n e.stopPropagation();\n const {resetValue, onChange} = this.props;\n\n onChange(resetValue);\n }\n\n checkStartIsValidDate(currentDate: moment.Moment) {\n let {endDate, startDate} = this.state;\n\n let {minDate, maxDate, minDuration, maxDuration} = this.props;\n\n maxDate =\n maxDate && endDate\n ? maxDate.isBefore(endDate)\n ? maxDate\n : endDate\n : maxDate || endDate;\n\n if (minDate && currentDate.isBefore(minDate, 'day')) {\n return false;\n } else if (maxDate && currentDate.isAfter(maxDate, 'day')) {\n return false;\n } else if (\n // 如果配置了 minDuration 那么 EndDate - minDuration 之后的天数也不能选\n endDate &&\n minDuration &&\n currentDate.isAfter(endDate.clone().subtract(minDuration))\n ) {\n return false;\n } else if (\n endDate &&\n maxDuration &&\n currentDate.isBefore(endDate.clone().subtract(maxDuration))\n ) {\n return false;\n }\n\n return true;\n }\n\n checkEndIsValidDate(currentDate: moment.Moment) {\n let {startDate} = this.state;\n\n let {minDate, maxDate, minDuration, maxDuration} = this.props;\n\n minDate =\n minDate && startDate\n ? minDate.isAfter(startDate)\n ? minDate\n : startDate\n : minDate || startDate;\n\n if (minDate && currentDate.isBefore(minDate, 'day')) {\n return false;\n } else if (maxDate && currentDate.isAfter(maxDate, 'day')) {\n return false;\n } else if (\n startDate &&\n minDuration &&\n currentDate.isBefore(startDate.clone().add(minDuration))\n ) {\n return false;\n } else if (\n startDate &&\n maxDuration &&\n currentDate.isAfter(startDate.clone().add(maxDuration))\n ) {\n return false;\n }\n\n return true;\n }\n\n renderMonth(props: any, month: number, year: number) {\n var currentDate = moment().year(year).month(month);\n var monthStr = currentDate\n .localeData()\n .monthsShort(currentDate.month(month));\n var strLength = 3;\n var monthStrFixedLength = monthStr.substring(0, strLength);\n const {startDate, endDate} = this.state;\n\n if (\n startDate &&\n endDate &&\n currentDate.isBetween(startDate, endDate, 'month', '[]')\n ) {\n props.className += ' rdtBetween';\n }\n\n return (\n <td {...props}>\n <span>{capitalize(monthStrFixedLength)}</span>\n </td>\n );\n }\n\n renderCalendar() {\n const {\n classPrefix: ns,\n classnames: cx,\n locale,\n embed,\n ranges,\n inputFormat,\n timeFormat\n } = this.props;\n const __ = this.props.translate;\n const viewMode: 'months' = 'months';\n const dateFormat = 'YYYY-MM';\n const {startDate, endDate} = this.state;\n\n return (\n <div className={`${ns}DateRangePicker-wrap`}>\n {this.renderRanges(ranges)}\n <Calendar\n className={`${ns}DateRangePicker-start`}\n value={startDate}\n onChange={this.handleStartChange}\n requiredConfirm={false}\n dateFormat={dateFormat}\n inputFormat={inputFormat}\n timeFormat={timeFormat}\n isValidDate={this.checkStartIsValidDate}\n viewMode={viewMode}\n input={false}\n onClose={this.close}\n renderMonth={this.renderMonth}\n locale={locale}\n />\n\n <Calendar\n className={`${ns}DateRangePicker-end`}\n value={\n // 因为如果最后一天,切换月份的时候会切不了,有的月份有 31 号,有的没有。\n endDate?.clone().startOf('month')\n }\n onChange={this.handleEndChange}\n requiredConfirm={false}\n dateFormat={dateFormat}\n inputFormat={inputFormat}\n timeFormat={timeFormat}\n viewDate={this.nextMonth}\n isEndDate\n isValidDate={this.checkEndIsValidDate}\n viewMode={viewMode}\n input={false}\n onClose={this.close}\n renderMonth={this.renderMonth}\n locale={locale}\n />\n\n {embed ? null : (\n <div key=\"button\" className={cx('DateRangePicker-actions')}>\n <a className={cx('Button', 'Button--default')} onClick={this.close}>\n {__('cancel')}\n </a>\n <a\n className={cx('Button', 'Button--primary', 'm-l-sm', {\n 'is-disabled': !this.state.startDate || !this.state.endDate\n })}\n onClick={this.confirm}\n >\n {__('confirm')}\n </a>\n </div>\n )}\n </div>\n );\n }\n\n render() {\n const {\n className,\n popoverClassName,\n classPrefix: ns,\n value,\n placeholder,\n popOverContainer,\n inputFormat,\n format,\n joinValues,\n delimiter,\n clearable,\n disabled,\n embed,\n overlayPlacement\n } = this.props;\n\n const {isOpened, isFocused} = this.state;\n\n const selectedDate = DateRangePicker.unFormatValue(\n value,\n format,\n joinValues,\n delimiter\n );\n const startViewValue = selectedDate.startDate\n ? selectedDate.startDate.format(inputFormat)\n : '';\n const endViewValue = selectedDate.endDate\n ? selectedDate.endDate.format(inputFormat)\n : '';\n const arr = [];\n startViewValue && arr.push(startViewValue);\n endViewValue && arr.push(endViewValue);\n const __ = this.props.translate;\n\n if (embed) {\n return (\n <div\n className={cx(\n `${ns}DateRangeCalendar`,\n {\n 'is-disabled': disabled\n },\n className\n )}\n >\n {this.renderCalendar()}\n </div>\n );\n }\n\n return (\n <div\n tabIndex={0}\n onKeyPress={this.handleKeyPress}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx(\n `${ns}DateRangePicker`,\n {\n 'is-disabled': disabled,\n 'is-focused': isFocused\n },\n className\n )}\n ref={this.dom}\n onClick={this.handleClick}\n >\n {arr.length ? (\n <span className={`${ns}DateRangePicker-value`}>\n {arr.join(__('DateRange.valueConcat'))}\n </span>\n ) : (\n <span className={`${ns}DateRangePicker-placeholder`}>\n {__(placeholder)}\n </span>\n )}\n\n {clearable && !disabled && value ? (\n <a className={`${ns}DateRangePicker-clear`} onClick={this.clearValue}>\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n\n <a className={`${ns}DateRangePicker-toggler`}>\n <Icon icon=\"clock\" className=\"icon\" />\n </a>\n\n {isOpened ? (\n <Overlay\n target={() => this.dom.current}\n onHide={this.close}\n container={popOverContainer || (() => findDOMNode(this))}\n rootClose={false}\n placement={overlayPlacement}\n show\n >\n <PopOver\n classPrefix={ns}\n className={cx(`${ns}DateRangePicker-popover`, popoverClassName)}\n onHide={this.close}\n onClick={this.handlePopOverClick}\n overlay\n >\n {this.renderCalendar()}\n </PopOver>\n </Overlay>\n ) : null}\n </div>\n );\n }\n}\n\nexport default themeable(localeable(MonthRangePicker));\n"
|
11
|
+
"/**\n * @file MonthRangePicker\n * @description 月份范围选择器\n * @author fex\n */\n\nimport React from 'react';\nimport moment from 'moment';\nimport {findDOMNode} from 'react-dom';\nimport cx from 'classnames';\nimport {Icon} from './icons';\nimport Overlay from './Overlay';\nimport Calendar from './calendar/Calendar';\nimport PopOver from './PopOver';\nimport PopUp from './PopUp';\nimport {themeable, ThemeProps} from '../theme';\nimport {PlainObject} from '../types';\nimport {isMobile, noop} from '../utils/helper';\nimport {LocaleProps, localeable} from '../locale';\nimport {DateRangePicker} from './DateRangePicker';\nimport capitalize from 'lodash/capitalize';\nimport {ShortCuts, ShortCutDateRange} from './DatePicker';\nimport {availableRanges} from './DateRangePicker';\nimport CalendarMobile from './CalendarMobile';\n\nexport interface MonthRangePickerProps extends ThemeProps, LocaleProps {\n className?: string;\n popoverClassName?: string;\n placeholder?: string;\n theme?: any;\n format: string;\n utc?: boolean;\n inputFormat?: string;\n timeFormat?: string;\n ranges?: string | Array<ShortCuts>;\n clearable?: boolean;\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n minDuration?: moment.Duration;\n maxDuration?: moment.Duration;\n joinValues: boolean;\n delimiter: string;\n value?: any;\n onChange: (value: any) => void;\n data?: any;\n disabled?: boolean;\n closeOnSelect?: boolean;\n overlayPlacement: string;\n resetValue?: any;\n popOverContainer?: any;\n embed?: boolean;\n useMobileUI?: boolean;\n}\n\nexport interface MonthRangePickerState {\n isOpened: boolean;\n isFocused: boolean;\n startDate?: moment.Moment;\n endDate?: moment.Moment;\n}\n\nexport class MonthRangePicker extends React.Component<\n MonthRangePickerProps,\n MonthRangePickerState\n> {\n static defaultProps = {\n placeholder: 'MonthRange.placeholder',\n format: 'YYYY-MM',\n inputFormat: 'YYYY-MM',\n joinValues: true,\n clearable: true,\n delimiter: ',',\n resetValue: '',\n closeOnSelect: true,\n overlayPlacement: 'auto'\n };\n\n innerDom: any;\n popover: any;\n input?: HTMLInputElement;\n\n dom: React.RefObject<HTMLDivElement>;\n nextMonth = moment().add(1, 'year').startOf('month');\n\n constructor(props: MonthRangePickerProps) {\n super(props);\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.handleStartChange = this.handleStartChange.bind(this);\n this.handleEndChange = this.handleEndChange.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.checkStartIsValidDate = this.checkStartIsValidDate.bind(this);\n this.checkEndIsValidDate = this.checkEndIsValidDate.bind(this);\n this.confirm = this.confirm.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.dom = React.createRef();\n this.handleClick = this.handleClick.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.handlePopOverClick = this.handlePopOverClick.bind(this);\n this.renderMonth = this.renderMonth.bind(this);\n this.handleMobileChange = this.handleMobileChange.bind(this);\n const {format, joinValues, delimiter, value} = this.props;\n\n this.state = {\n isOpened: false,\n isFocused: false,\n ...DateRangePicker.unFormatValue(value, format, joinValues, delimiter)\n };\n }\n\n componentDidUpdate(prevProps: MonthRangePickerProps) {\n const props = this.props;\n const {value, format, joinValues, delimiter} = props;\n\n if (prevProps.value !== value) {\n this.setState({\n ...DateRangePicker.unFormatValue(value, format, joinValues, delimiter)\n });\n }\n }\n\n focus() {\n if (!this.dom.current || this.props.disabled) {\n return;\n }\n\n this.dom.current.focus();\n }\n\n blur() {\n if (!this.dom.current || this.props.disabled) {\n return;\n }\n\n this.dom.current.blur();\n }\n\n handleFocus() {\n this.setState({\n isFocused: true\n });\n }\n\n handleBlur() {\n this.setState({\n isFocused: false\n });\n }\n\n open() {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({\n isOpened: true\n });\n }\n\n close() {\n this.setState(\n {\n isOpened: false\n },\n this.blur\n );\n }\n\n handleClick() {\n this.state.isOpened ? this.close() : this.open();\n }\n\n handlePopOverClick(e: React.MouseEvent<any>) {\n e.stopPropagation();\n e.preventDefault();\n }\n\n handleKeyPress(e: React.KeyboardEvent) {\n if (e.key === ' ') {\n this.handleClick();\n e.preventDefault();\n }\n }\n\n confirm() {\n if (!this.state.startDate || !this.state.endDate) {\n return;\n } else if (this.state.startDate.isAfter(this.state.endDate)) {\n return;\n }\n\n this.props.onChange(\n DateRangePicker.formatValue(\n {\n startDate: this.state.startDate,\n endDate: this.state.endDate\n },\n this.props.format,\n this.props.joinValues,\n this.props.delimiter,\n this.props.utc\n )\n );\n this.close();\n }\n\n filterDate(\n date: moment.Moment,\n originValue?: moment.Moment,\n timeFormat?: string,\n type: 'start' | 'end' = 'start'\n ): moment.Moment {\n let value = date.clone();\n\n value = value[type === 'start' ? 'startOf' : 'endOf']('month');\n\n return value;\n }\n\n handleStartChange(newValue: moment.Moment) {\n const {embed, minDuration, maxDuration} = this.props;\n const {startDate, endDate} = this.state;\n\n if (\n startDate &&\n !endDate &&\n newValue.isSameOrAfter(startDate) &&\n (!minDuration || newValue.isAfter(startDate.clone().add(minDuration))) &&\n (!maxDuration || newValue.isBefore(startDate.clone().add(maxDuration)))\n ) {\n return this.setState(\n {\n endDate: this.filterDate(newValue, endDate, '', 'end')\n },\n () => {\n embed && this.confirm();\n }\n );\n }\n\n this.setState(\n {\n startDate: this.filterDate(newValue, startDate, '', 'start')\n },\n () => {\n embed && this.confirm();\n }\n );\n }\n\n handleEndChange(newValue: moment.Moment) {\n const {embed, minDuration, maxDuration} = this.props;\n const {startDate, endDate} = this.state;\n\n if (\n endDate &&\n !startDate &&\n newValue.isSameOrBefore(endDate) &&\n (!minDuration ||\n newValue.isBefore(endDate.clone().subtract(minDuration))) &&\n (!maxDuration || newValue.isAfter(endDate.clone().subtract(maxDuration)))\n ) {\n return this.setState(\n {\n startDate: this.filterDate(newValue, startDate, '', 'start')\n },\n () => {\n embed && this.confirm();\n }\n );\n }\n\n this.setState(\n {\n endDate: this.filterDate(newValue, endDate, '', 'end')\n },\n () => {\n embed && this.confirm();\n }\n );\n }\n\n handleMobileChange(data: any, callback?: () => void) {\n this.setState(\n {\n startDate: data.startDate,\n endDate: data.endDate\n },\n callback\n );\n }\n\n selectRannge(range: PlainObject) {\n const {closeOnSelect, minDate, maxDate} = this.props;\n this.setState(\n {\n startDate: minDate\n ? moment.max(range.startDate(moment()), minDate)\n : range.startDate(moment()),\n endDate: maxDate\n ? moment.min(maxDate, range.endDate(moment()))\n : range.endDate(moment())\n },\n closeOnSelect ? this.confirm : noop\n );\n }\n\n renderRanges(ranges: string | Array<ShortCuts> | undefined) {\n if (!ranges) {\n return null;\n }\n const {classPrefix: ns} = this.props;\n let rangeArr: Array<string | ShortCuts>;\n if (typeof ranges === 'string') {\n rangeArr = ranges.split(',');\n } else {\n rangeArr = ranges;\n }\n const __ = this.props.translate;\n\n return (\n <ul className={`${ns}DateRangePicker-rangers`}>\n {rangeArr.map(item => {\n if (!item) {\n return null;\n }\n let range: PlainObject = {};\n if (typeof item === 'string') {\n range = availableRanges[item];\n range.key = item;\n } else if (\n (item as ShortCutDateRange).startDate &&\n (item as ShortCutDateRange).endDate\n ) {\n range = {\n ...item,\n startDate: () => (item as ShortCutDateRange).startDate,\n endDate: () => (item as ShortCutDateRange).endDate\n };\n }\n return (\n <li\n className={`${ns}DateRangePicker-ranger`}\n onClick={() => this.selectRannge(range)}\n key={range.key || range.label}\n >\n <a>{__(range.label)}</a>\n </li>\n );\n })}\n </ul>\n );\n }\n\n clearValue(e: React.MouseEvent<any>) {\n e.preventDefault();\n e.stopPropagation();\n const {resetValue, onChange} = this.props;\n\n onChange(resetValue);\n }\n\n checkStartIsValidDate(currentDate: moment.Moment) {\n let {endDate, startDate} = this.state;\n\n let {minDate, maxDate, minDuration, maxDuration} = this.props;\n\n maxDate =\n maxDate && endDate\n ? maxDate.isBefore(endDate)\n ? maxDate\n : endDate\n : maxDate || endDate;\n\n if (minDate && currentDate.isBefore(minDate, 'day')) {\n return false;\n } else if (maxDate && currentDate.isAfter(maxDate, 'day')) {\n return false;\n } else if (\n // 如果配置了 minDuration 那么 EndDate - minDuration 之后的天数也不能选\n endDate &&\n minDuration &&\n currentDate.isAfter(endDate.clone().subtract(minDuration))\n ) {\n return false;\n } else if (\n endDate &&\n maxDuration &&\n currentDate.isBefore(endDate.clone().subtract(maxDuration))\n ) {\n return false;\n }\n\n return true;\n }\n\n checkEndIsValidDate(currentDate: moment.Moment) {\n let {startDate} = this.state;\n\n let {minDate, maxDate, minDuration, maxDuration} = this.props;\n\n minDate =\n minDate && startDate\n ? minDate.isAfter(startDate)\n ? minDate\n : startDate\n : minDate || startDate;\n\n if (minDate && currentDate.isBefore(minDate, 'day')) {\n return false;\n } else if (maxDate && currentDate.isAfter(maxDate, 'day')) {\n return false;\n } else if (\n startDate &&\n minDuration &&\n currentDate.isBefore(startDate.clone().add(minDuration))\n ) {\n return false;\n } else if (\n startDate &&\n maxDuration &&\n currentDate.isAfter(startDate.clone().add(maxDuration))\n ) {\n return false;\n }\n\n return true;\n }\n\n renderMonth(props: any, month: number, year: number) {\n var currentDate = moment().year(year).month(month);\n var monthStr = currentDate\n .localeData()\n .monthsShort(currentDate.month(month));\n var strLength = 3;\n var monthStrFixedLength = monthStr.substring(0, strLength);\n const {startDate, endDate} = this.state;\n\n if (\n startDate &&\n endDate &&\n currentDate.isBetween(startDate, endDate, 'month', '[]')\n ) {\n props.className += ' rdtBetween';\n }\n\n return (\n <td {...props}>\n <span>{capitalize(monthStrFixedLength)}</span>\n </td>\n );\n }\n\n renderCalendar() {\n const {\n classPrefix: ns,\n classnames: cx,\n locale,\n embed,\n ranges,\n inputFormat,\n timeFormat\n } = this.props;\n const __ = this.props.translate;\n const viewMode: 'months' = 'months';\n const dateFormat = 'YYYY-MM';\n const {startDate, endDate} = this.state;\n\n return (\n <div className={`${ns}DateRangePicker-wrap`}>\n {this.renderRanges(ranges)}\n <Calendar\n className={`${ns}DateRangePicker-start`}\n value={startDate}\n onChange={this.handleStartChange}\n requiredConfirm={false}\n dateFormat={dateFormat}\n inputFormat={inputFormat}\n timeFormat={timeFormat}\n isValidDate={this.checkStartIsValidDate}\n viewMode={viewMode}\n input={false}\n onClose={this.close}\n renderMonth={this.renderMonth}\n locale={locale}\n />\n\n <Calendar\n className={`${ns}DateRangePicker-end`}\n value={\n // 因为如果最后一天,切换月份的时候会切不了,有的月份有 31 号,有的没有。\n endDate?.clone().startOf('month')\n }\n onChange={this.handleEndChange}\n requiredConfirm={false}\n dateFormat={dateFormat}\n inputFormat={inputFormat}\n timeFormat={timeFormat}\n viewDate={this.nextMonth}\n isEndDate\n isValidDate={this.checkEndIsValidDate}\n viewMode={viewMode}\n input={false}\n onClose={this.close}\n renderMonth={this.renderMonth}\n locale={locale}\n />\n\n {embed ? null : (\n <div key=\"button\" className={cx('DateRangePicker-actions')}>\n <a className={cx('Button', 'Button--default')} onClick={this.close}>\n {__('cancel')}\n </a>\n <a\n className={cx('Button', 'Button--primary', 'm-l-sm', {\n 'is-disabled': !this.state.startDate || !this.state.endDate\n })}\n onClick={this.confirm}\n >\n {__('confirm')}\n </a>\n </div>\n )}\n </div>\n );\n }\n\n render() {\n const {\n className,\n popoverClassName,\n classPrefix: ns,\n value,\n placeholder,\n popOverContainer,\n inputFormat,\n format,\n joinValues,\n delimiter,\n clearable,\n disabled,\n embed,\n overlayPlacement,\n useMobileUI,\n timeFormat,\n minDate,\n maxDate,\n minDuration,\n maxDuration,\n ranges\n } = this.props;\n const mobileUI = isMobile() && useMobileUI;\n\n const {isOpened, isFocused, startDate, endDate} = this.state;\n\n const selectedDate = DateRangePicker.unFormatValue(\n value,\n format,\n joinValues,\n delimiter\n );\n const startViewValue = selectedDate.startDate\n ? selectedDate.startDate.format(inputFormat)\n : '';\n const endViewValue = selectedDate.endDate\n ? selectedDate.endDate.format(inputFormat)\n : '';\n const arr = [];\n startViewValue && arr.push(startViewValue);\n endViewValue && arr.push(endViewValue);\n const __ = this.props.translate;\n\n const calendarMobile = <CalendarMobile\n timeFormat={timeFormat}\n inputFormat={inputFormat}\n startDate={startDate}\n endDate={endDate}\n minDate={minDate}\n maxDate={maxDate}\n minDuration={minDuration}\n maxDuration={maxDuration}\n embed={embed}\n viewMode=\"months\"\n close={this.close}\n confirm={this.confirm}\n onChange={this.handleMobileChange}\n footerExtra={this.renderRanges(ranges)}\n showViewMode=\"years\"\n />;\n\n if (embed) {\n return (\n <div\n className={cx(\n `${ns}DateRangeCalendar`,\n {\n 'is-disabled': disabled\n },\n className\n )}\n >\n {mobileUI\n ? calendarMobile\n : this.renderCalendar()}\n </div>\n );\n }\n\n const CalendarMobileTitle = <div className={`${ns}CalendarMobile-title`}>{__('Calendar.datepicker')}</div>;\n\n return (\n <div\n tabIndex={0}\n onKeyPress={this.handleKeyPress}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx(\n `${ns}DateRangePicker`,\n {\n 'is-disabled': disabled,\n 'is-focused': isFocused\n },\n className\n )}\n ref={this.dom}\n onClick={this.handleClick}\n >\n {arr.length ? (\n <span className={`${ns}DateRangePicker-value`}>\n {arr.join(__('DateRange.valueConcat'))}\n </span>\n ) : (\n <span className={`${ns}DateRangePicker-placeholder`}>\n {__(placeholder)}\n </span>\n )}\n\n {clearable && !disabled && value ? (\n <a className={`${ns}DateRangePicker-clear`} onClick={this.clearValue}>\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n\n <a className={`${ns}DateRangePicker-toggler`}>\n <Icon icon=\"clock\" className=\"icon\" />\n </a>\n\n {isOpened ? (\n mobileUI ? (\n <PopUp\n isShow={isOpened}\n className={cx(`${ns}CalendarMobile-pop`)}\n onHide={this.close}\n header={CalendarMobileTitle}\n >\n {calendarMobile}\n </PopUp>\n )\n : <Overlay\n target={() => this.dom.current}\n onHide={this.close}\n container={popOverContainer || (() => findDOMNode(this))}\n rootClose={false}\n placement={overlayPlacement}\n show\n >\n <PopOver\n classPrefix={ns}\n className={cx(`${ns}DateRangePicker-popover`, popoverClassName)}\n onHide={this.close}\n onClick={this.handlePopOverClick}\n overlay\n >\n {this.renderCalendar()}\n </PopOver>\n </Overlay>\n ) : null}\n </div>\n );\n }\n}\n\nexport default themeable(localeable(MonthRangePicker));\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -8,6 +8,6 @@
|
|
8
8
|
"names": [],
|
9
9
|
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file Overlay\n * @description\n * @author fex\n */\n\nimport Portal from 'react-overlays/Portal';\nimport classNames from 'classnames';\nimport ReactDOM, {findDOMNode} from 'react-dom';\nimport React, {cloneElement} from 'react';\nimport {calculatePosition, getContainer, ownerDocument} from '../utils/dom';\nimport {autobind, getScrollParent, noop} from '../utils/helper';\nimport {resizeSensor, getComputedStyle} from '../utils/resize-sensor';\nimport {RootClose} from '../utils/RootClose';\n\nfunction onScroll(elem: HTMLElement, callback: () => void) {\n const handler = () => {\n requestAnimationFrame(callback);\n };\n elem.addEventListener('scroll', handler);\n return function () {\n elem.removeEventListener('scroll', handler);\n };\n}\n\nclass Position extends React.Component<any, any> {\n props: any;\n _lastTarget: any;\n resizeDispose: Array<() => void>;\n watchedTarget: any;\n setState: (state: any) => void;\n\n static defaultProps = {\n containerPadding: 0,\n placement: 'right',\n shouldUpdatePosition: false\n };\n\n constructor(props: any) {\n super(props);\n\n this.state = {\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n };\n\n this._lastTarget = null;\n }\n\n updatePosition(target: any) {\n this._lastTarget = target;\n\n if (!target) {\n return this.setState({\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n });\n }\n\n const watchTargetSizeChange = this.props.watchTargetSizeChange;\n const overlay = findDOMNode(this as any) as HTMLElement;\n const container = getContainer(\n this.props.container,\n ownerDocument(this).body\n );\n\n if (\n (!this.watchedTarget || this.watchedTarget !== target) &&\n getComputedStyle(target, 'position') !== 'static'\n ) {\n this.resizeDispose?.forEach(fn => fn());\n this.watchedTarget = target;\n this.resizeDispose = [\n watchTargetSizeChange !== false\n ? resizeSensor(target, () => this.updatePosition(target))\n : noop,\n resizeSensor(overlay, () => this.updatePosition(target))\n ];\n\n const scrollParent = getScrollParent(target);\n if (scrollParent && container.contains(scrollParent)) {\n this.resizeDispose.push(\n onScroll(scrollParent, () => {\n this.updatePosition(target);\n })\n );\n }\n }\n\n this.setState(\n calculatePosition(\n this.props.placement,\n overlay,\n target,\n container,\n this.props.containerPadding\n )\n );\n }\n\n componentDidMount() {\n this.updatePosition(this.getTarget());\n }\n\n getTarget = () => {\n const {target} = this.props;\n const targetElement = typeof target === 'function' ? target() : target;\n return (targetElement && ReactDOM.findDOMNode(targetElement)) || null;\n };\n\n componentDidUpdate(prevProps: any) {\n this.maybeUpdatePosition(this.props.placement !== prevProps.placement);\n }\n\n maybeUpdatePosition = (placementChanged: any) => {\n const target = this.getTarget();\n\n if (\n !this.props.shouldUpdatePosition &&\n target === this._lastTarget &&\n !placementChanged\n ) {\n return;\n }\n\n this.updatePosition(target);\n };\n\n componentWillUnmount() {\n this.resizeDispose?.forEach(fn => fn());\n }\n\n render() {\n const {children, className, ...props} = this.props;\n const {positionLeft, positionTop, ...arrowPosition} = this.state;\n\n // These should not be forwarded to the child.\n delete props.target;\n delete props.container;\n delete props.containerPadding;\n delete props.shouldUpdatePosition;\n\n const child = React.Children.only(children);\n return cloneElement(child, {\n ...props,\n ...arrowPosition,\n // FIXME: Don't forward `positionLeft` and `positionTop` via both props\n // and `props.style`.\n positionLeft,\n positionTop,\n className: classNames(className, child.props.className),\n style: {\n ...child.props.style,\n left: positionLeft,\n top: positionTop\n }\n });\n }\n}\n\ninterface OverlayProps {\n placement?: string;\n show?: boolean;\n transition?: React.
|
11
|
+
"/**\n * @file Overlay\n * @description\n * @author fex\n */\n\nimport Portal from 'react-overlays/Portal';\nimport classNames from 'classnames';\nimport ReactDOM, {findDOMNode} from 'react-dom';\nimport React, {cloneElement} from 'react';\nimport {calculatePosition, getContainer, ownerDocument} from '../utils/dom';\nimport {autobind, getScrollParent, noop} from '../utils/helper';\nimport {resizeSensor, getComputedStyle} from '../utils/resize-sensor';\nimport {RootClose} from '../utils/RootClose';\n\nfunction onScroll(elem: HTMLElement, callback: () => void) {\n const handler = () => {\n requestAnimationFrame(callback);\n };\n elem.addEventListener('scroll', handler);\n return function () {\n elem.removeEventListener('scroll', handler);\n };\n}\n\nclass Position extends React.Component<any, any> {\n props: any;\n _lastTarget: any;\n resizeDispose: Array<() => void>;\n watchedTarget: any;\n setState: (state: any) => void;\n\n static defaultProps = {\n containerPadding: 0,\n placement: 'right',\n shouldUpdatePosition: false\n };\n\n constructor(props: any) {\n super(props);\n\n this.state = {\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n };\n\n this._lastTarget = null;\n }\n\n updatePosition(target: any) {\n this._lastTarget = target;\n\n if (!target) {\n return this.setState({\n positionLeft: 0,\n positionTop: 0,\n arrowOffsetLeft: null,\n arrowOffsetTop: null\n });\n }\n\n const watchTargetSizeChange = this.props.watchTargetSizeChange;\n const overlay = findDOMNode(this as any) as HTMLElement;\n const container = getContainer(\n this.props.container,\n ownerDocument(this).body\n );\n\n if (\n (!this.watchedTarget || this.watchedTarget !== target) &&\n getComputedStyle(target, 'position') !== 'static'\n ) {\n this.resizeDispose?.forEach(fn => fn());\n this.watchedTarget = target;\n this.resizeDispose = [\n watchTargetSizeChange !== false\n ? resizeSensor(target, () => this.updatePosition(target))\n : noop,\n resizeSensor(overlay, () => this.updatePosition(target))\n ];\n\n const scrollParent = getScrollParent(target);\n if (scrollParent && container.contains(scrollParent)) {\n this.resizeDispose.push(\n onScroll(scrollParent, () => {\n this.updatePosition(target);\n })\n );\n }\n }\n\n this.setState(\n calculatePosition(\n this.props.placement,\n overlay,\n target,\n container,\n this.props.containerPadding\n )\n );\n }\n\n componentDidMount() {\n this.updatePosition(this.getTarget());\n }\n\n getTarget = () => {\n const {target} = this.props;\n const targetElement = typeof target === 'function' ? target() : target;\n return (targetElement && ReactDOM.findDOMNode(targetElement)) || null;\n };\n\n componentDidUpdate(prevProps: any) {\n this.maybeUpdatePosition(this.props.placement !== prevProps.placement);\n }\n\n maybeUpdatePosition = (placementChanged: any) => {\n const target = this.getTarget();\n\n if (\n !this.props.shouldUpdatePosition &&\n target === this._lastTarget &&\n !placementChanged\n ) {\n return;\n }\n\n this.updatePosition(target);\n };\n\n componentWillUnmount() {\n this.resizeDispose?.forEach(fn => fn());\n }\n\n render() {\n const {children, className, ...props} = this.props;\n const {positionLeft, positionTop, ...arrowPosition} = this.state;\n\n // These should not be forwarded to the child.\n delete props.target;\n delete props.container;\n delete props.containerPadding;\n delete props.shouldUpdatePosition;\n\n const child = React.Children.only(children);\n return cloneElement(child, {\n ...props,\n ...arrowPosition,\n // FIXME: Don't forward `positionLeft` and `positionTop` via both props\n // and `props.style`.\n positionLeft,\n positionTop,\n className: classNames(className, child.props.className),\n style: {\n ...child.props.style,\n left: positionLeft,\n top: positionTop\n }\n });\n }\n}\n\ninterface OverlayProps {\n placement?: string;\n show?: boolean;\n transition?: React.ElementType;\n containerPadding?: number;\n shouldUpdatePosition?: boolean;\n rootClose?: boolean;\n onHide?(props: any, ...args: any[]): any;\n container?: React.ReactNode | Function;\n target?: React.ReactNode | Function;\n watchTargetSizeChange?: boolean;\n\n onEnter?(node: HTMLElement): any;\n onEntering?(node: HTMLElement): any;\n onEntered?(node: HTMLElement): any;\n onExit?(node: HTMLElement): any;\n onExiting?(node: HTMLElement): any;\n onExited?(node: HTMLElement): any;\n}\ninterface OverlayState {\n exited: boolean;\n}\nexport default class Overlay extends React.Component<\n OverlayProps,\n OverlayState\n> {\n static defaultProps = {\n placement: 'auto'\n };\n constructor(props: OverlayProps) {\n super(props as any);\n\n this.state = {\n exited: !props.show\n };\n }\n\n position: any = null;\n positionRef = (position: any) => {\n this.position = position;\n };\n\n updatePosition() {\n this.position?.maybeUpdatePosition(true);\n }\n\n componentDidUpdate(prevProps: OverlayProps) {\n const props = this.props;\n if (prevProps.show !== props.show && props.show) {\n this.setState({exited: false});\n } else if (props.transition !== prevProps.transition && !props.transition) {\n // Otherwise let handleHidden take care of marking exited.\n this.setState({exited: true});\n }\n }\n\n @autobind\n onHiddenListener(node: HTMLElement) {\n this.setState({exited: true});\n\n if (this.props.onExited) {\n this.props.onExited(node);\n }\n }\n\n render() {\n const {\n container,\n containerPadding,\n target,\n placement,\n shouldUpdatePosition,\n rootClose,\n children,\n watchTargetSizeChange,\n transition: Transition,\n ...props\n } = this.props;\n\n const mountOverlay = props.show || (Transition && !this.state.exited);\n if (!mountOverlay) {\n // Don't bother showing anything if we don't have to.\n return null;\n }\n\n let child = children;\n\n // Position is be inner-most because it adds inline styles into the child,\n // which the other wrappers don't forward correctly.\n child = (\n // @ts-ignore\n <Position\n {...{\n container,\n containerPadding,\n target,\n placement,\n shouldUpdatePosition\n }}\n ref={this.positionRef}\n >\n {child}\n </Position>\n );\n\n if (Transition) {\n let {onExit, onExiting, onEnter, onEntering, onEntered} = props;\n\n // This animates the child node by injecting props, so it must precede\n // anything that adds a wrapping div.\n child = (\n <Transition\n in={props.show}\n appear\n onExit={onExit}\n onExiting={onExiting}\n onExited={this.onHiddenListener}\n onEnter={onEnter}\n onEntering={onEntering}\n onEntered={onEntered}\n >\n {child}\n </Transition>\n );\n }\n\n // This goes after everything else because it adds a wrapping div.\n if (rootClose) {\n return (\n // @ts-ignore\n <Portal container={container}>\n <RootClose onRootClose={props.onHide}>\n {(ref: any) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n ref: ref\n });\n }\n\n return <div ref={ref}>{child}</div>;\n }}\n </RootClose>\n </Portal>\n );\n }\n\n // @ts-ignore\n return <Portal container={container}>{child}</Portal>;\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/components/Picker.js
CHANGED
@@ -21,6 +21,9 @@ var Picker = (0, react_1.memo)(function (props) {
|
|
21
21
|
var labelField = props.labelField, _a = props.visibleItemCount, visibleItemCount = _a === void 0 ? 5 : _a, _b = props.value, value = _b === void 0 ? [] : _b, _c = props.swipeDuration, swipeDuration = _c === void 0 ? 1000 : _c, _d = props.columns, columns = _d === void 0 ? [] : _d, _e = props.itemHeight, itemHeight = _e === void 0 ? 30 : _e, _f = props.showToolbar, showToolbar = _f === void 0 ? true : _f, _g = props.className, className = _g === void 0 ? '' : _g, cx = props.classnames, ns = props.classPrefix, __ = props.translate;
|
22
22
|
var _columns = fixToArray(columns);
|
23
23
|
var _h = (0, react_1.useState)(fixToArray(props.value === undefined ? props.defaultValue || [] : value)), innerValue = _h[0], setInnerValue = _h[1];
|
24
|
+
(0, react_1.useEffect)(function () {
|
25
|
+
setInnerValue(value);
|
26
|
+
}, [value]);
|
24
27
|
var close = function () {
|
25
28
|
if (props.onClose) {
|
26
29
|
props.onClose(innerValue);
|
@@ -42,7 +45,7 @@ var Picker = (0, react_1.memo)(function (props) {
|
|
42
45
|
var renderColumnItem = function (item, index) {
|
43
46
|
return (react_1.default.createElement(PickerColumn_1.default, (0, tslib_1.__assign)({}, item, { classnames: cx, classPrefix: ns, labelField: labelField, itemHeight: itemHeight, swipeDuration: swipeDuration, visibleItemCount: visibleItemCount, value: innerValue[index], onChange: function (val, i, confirm) {
|
44
47
|
onChange(val, index, confirm);
|
45
|
-
} })));
|
48
|
+
}, key: "column" + index })));
|
46
49
|
};
|
47
50
|
var wrapHeight = itemHeight * +visibleItemCount;
|
48
51
|
var frameStyle = { height: itemHeight + "px" };
|
@@ -51,11 +54,13 @@ var Picker = (0, react_1.memo)(function (props) {
|
|
51
54
|
backgroundSize: "100% " + (wrapHeight - itemHeight) / 2 + "px"
|
52
55
|
};
|
53
56
|
return (react_1.default.createElement("div", { className: cx(className, 'PickerColumns', 'PickerColumns-popOver') },
|
54
|
-
showToolbar && react_1.default.createElement("div", { className: cx('PickerColumns-toolbar') },
|
57
|
+
showToolbar && (react_1.default.createElement("div", { className: cx('PickerColumns-toolbar') },
|
55
58
|
react_1.default.createElement(Button_1.default, { className: "PickerColumns-cancel", level: "default", onClick: close }, __('cancel')),
|
56
|
-
react_1.default.createElement(Button_1.default, { className: "PickerColumns-confirm", level: "primary", onClick: confirm }, __('confirm'))),
|
59
|
+
react_1.default.createElement(Button_1.default, { className: "PickerColumns-confirm", level: "primary", onClick: confirm }, __('confirm')))),
|
57
60
|
react_1.default.createElement("div", { className: cx('PickerColumns-columns'), style: columnsStyle },
|
58
|
-
_columns.map(function (column, index) {
|
61
|
+
_columns.map(function (column, index) {
|
62
|
+
return renderColumnItem(column, index);
|
63
|
+
}),
|
59
64
|
react_1.default.createElement("div", { className: cx('PickerColumns-mask'), style: maskStyle }),
|
60
65
|
react_1.default.createElement("div", { className: cx('PickerColumns-frame'), style: frameStyle }))));
|
61
66
|
});
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/Picker.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;AAAA;;;GAGG;AACH,
|
9
|
+
"mappings": ";;;AAAA;;;GAGG;AACH,0DAAkE;AAClE,iDAA8C;AAE9C,kCAA+C;AAC/C,oCAAkD;AAElD,iEAA8B;AAC9B,6EAAmE;AAoBnE,SAAS,UAAU,CAAC,IAAS;IAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,IAAM,MAAM,GAAG,IAAA,YAAI,EAAc,UAAA,KAAK;IAElC,IAAA,UAAU,GAWR,KAAK,WAXG,EACV,KAUE,KAAK,iBAVa,EAApB,gBAAgB,mBAAG,CAAC,KAAA,EACpB,KASE,KAAK,MATG,EAAV,KAAK,mBAAG,EAAE,KAAA,EACV,KAQE,KAAK,cARa,EAApB,aAAa,mBAAG,IAAI,KAAA,EACpB,KAOE,KAAK,QAPK,EAAZ,OAAO,mBAAG,EAAE,KAAA,EACZ,KAME,KAAK,WANQ,EAAf,UAAU,mBAAG,EAAE,KAAA,EACf,KAKE,KAAK,YALW,EAAlB,WAAW,mBAAG,IAAI,KAAA,EAClB,KAIE,KAAK,UAJO,EAAd,SAAS,mBAAG,EAAE,KAAA,EACF,EAAE,GAGZ,KAAK,WAHO,EACD,EAAE,GAEb,KAAK,YAFQ,EACJ,EAAE,GACX,KAAK,UADM,CACL;IAEV,IAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAA,KAA8B,IAAA,gBAAQ,EAC1C,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CACzE,EAFM,UAAU,QAAA,EAAE,aAAa,QAE/B,CAAC;IACF,IAAA,iBAAS,EAAC;QACR,aAAa,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,IAAM,KAAK,GAAG;QACZ,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;SAC3B;IACH,CAAC,CAAC;IAEF,IAAM,OAAO,GAAG;QACd,IAAI,KAAK,CAAC,SAAS,EAAE;YACnB,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;SAC7B;IACH,CAAC,CAAC;IAEF,IAAM,QAAQ,GAAG,UACf,SAAsB,EACtB,WAAmB,EACnB,OAAiB;QAEjB,IAAM,cAAc,kCAAO,UAAU,OAAC,CAAC;QACvC,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;QACxC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,KAAK,CAAC,QAAQ,CAAC,cAAc,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;SACtD;IACH,CAAC,CAAC;IAEF,IAAM,gBAAgB,GAAG,UAAC,IAAsB,EAAE,KAAa;QAC7D,OAAO,CACL,8BAAC,sBAAM,4BACD,IAAI,IACR,UAAU,EAAE,EAAE,EACd,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EACxB,QAAQ,EAAE,UAAC,GAAoB,EAAE,CAAC,EAAE,OAAO;gBACzC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAChC,CAAC,EACD,GAAG,EAAE,WAAS,KAAO,IACrB,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,UAAU,GAAG,UAAU,GAAG,CAAC,gBAAgB,CAAC;IAClD,IAAM,UAAU,GAAG,EAAC,MAAM,EAAK,UAAU,OAAI,EAAC,CAAC;IAC/C,IAAM,YAAY,GAAG,EAAC,MAAM,EAAK,UAAU,OAAI,EAAC,CAAC;IACjD,IAAM,SAAS,GAAG;QAChB,cAAc,EAAE,UAAQ,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,OAAI;KAC1D,CAAC;IAEF,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,uBAAuB,CAAC;QACpE,WAAW,IAAI,CACd,uCAAK,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC;YACzC,8BAAC,gBAAM,IACL,SAAS,EAAC,sBAAsB,EAChC,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,KAAK,IAEb,EAAE,CAAC,QAAQ,CAAC,CACN;YACT,8BAAC,gBAAM,IACL,SAAS,EAAC,uBAAuB,EACjC,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,OAAO,IAEf,EAAE,CAAC,SAAS,CAAC,CACP,CACL,CACP;QACD,uCAAK,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,YAAY;YAC7D,QAAQ,CAAC,GAAG,CAAC,UAAC,MAAwB,EAAE,KAAa;gBACpD,OAAA,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC;YAA/B,CAA+B,CAChC;YACD,uCAAK,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,SAAS,GAAQ;YAClE,uCAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,UAAU,GAAQ,CAChE,CACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kBAAe,IAAA,iBAAS,EACtB,IAAA,mBAAU,EACR,IAAA,+BAAc,EAAC,MAAM,EAAE;IACrB,KAAK,EAAE,UAAU;CAClB,CAAC,CACH,CACF,CAAC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file Picker\n * @description 移动端列滚动选择器\n */\nimport React, {
|
11
|
+
"/**\n * @file Picker\n * @description 移动端列滚动选择器\n */\nimport React, {memo, ReactNode, useState, useEffect} from 'react';\nimport {uncontrollable} from 'uncontrollable';\n\nimport {themeable, ThemeProps} from '../theme';\nimport {localeable, LocaleProps} from '../locale';\n\nimport Button from './Button';\nimport {PickerColumnItem, default as Column} from './PickerColumn';\n\nexport type PickerValue = string | number;\n\nexport interface PickerProps extends ThemeProps, LocaleProps {\n title?: String | ReactNode;\n labelField?: string;\n className?: string;\n showToolbar?: boolean;\n defaultValue?: PickerValue[];\n value?: PickerValue[];\n swipeDuration?: number;\n visibleItemCount?: number;\n itemHeight?: number;\n columns: PickerColumnItem[] | PickerColumnItem;\n onChange?: (value?: PickerValue[], index?: number, confirm?: boolean) => void;\n onClose?: (value?: PickerValue[]) => void;\n onConfirm?: (value?: PickerValue[]) => void;\n}\n\nfunction fixToArray(data: any) {\n if (!Array.isArray(data)) {\n return [data];\n }\n return data;\n}\n\nconst Picker = memo<PickerProps>(props => {\n const {\n labelField,\n visibleItemCount = 5,\n value = [],\n swipeDuration = 1000,\n columns = [],\n itemHeight = 30,\n showToolbar = true,\n className = '',\n classnames: cx,\n classPrefix: ns,\n translate: __\n } = props;\n\n const _columns = fixToArray(columns);\n const [innerValue, setInnerValue] = useState<PickerValue[]>(\n fixToArray(props.value === undefined ? props.defaultValue || [] : value)\n );\n useEffect(() => {\n setInnerValue(value);\n }, [value]);\n\n const close = () => {\n if (props.onClose) {\n props.onClose(innerValue);\n }\n };\n\n const confirm = () => {\n if (props.onConfirm) {\n props.onConfirm(innerValue);\n }\n };\n\n const onChange = (\n itemValue: PickerValue,\n columnIndex: number,\n confirm?: boolean\n ) => {\n const nextInnerValue = [...innerValue];\n nextInnerValue[columnIndex] = itemValue;\n setInnerValue(nextInnerValue);\n if (props.onChange) {\n props.onChange(nextInnerValue, columnIndex, confirm);\n }\n };\n\n const renderColumnItem = (item: PickerColumnItem, index: number) => {\n return (\n <Column\n {...item}\n classnames={cx}\n classPrefix={ns}\n labelField={labelField}\n itemHeight={itemHeight}\n swipeDuration={swipeDuration}\n visibleItemCount={visibleItemCount}\n value={innerValue[index]}\n onChange={(val: string | number, i, confirm) => {\n onChange(val, index, confirm);\n }}\n key={`column${index}`}\n />\n );\n };\n\n const wrapHeight = itemHeight * +visibleItemCount;\n const frameStyle = {height: `${itemHeight}px`};\n const columnsStyle = {height: `${wrapHeight}px`};\n const maskStyle = {\n backgroundSize: `100% ${(wrapHeight - itemHeight) / 2}px`\n };\n\n return (\n <div className={cx(className, 'PickerColumns', 'PickerColumns-popOver')}>\n {showToolbar && (\n <div className={cx('PickerColumns-toolbar')}>\n <Button\n className=\"PickerColumns-cancel\"\n level=\"default\"\n onClick={close}\n >\n {__('cancel')}\n </Button>\n <Button\n className=\"PickerColumns-confirm\"\n level=\"primary\"\n onClick={confirm}\n >\n {__('confirm')}\n </Button>\n </div>\n )}\n <div className={cx('PickerColumns-columns')} style={columnsStyle}>\n {_columns.map((column: PickerColumnItem, index: number) =>\n renderColumnItem(column, index)\n )}\n <div className={cx('PickerColumns-mask')} style={maskStyle}></div>\n <div className={cx('PickerColumns-frame')} style={frameStyle}></div>\n </div>\n </div>\n );\n});\n\nexport default themeable(\n localeable(\n uncontrollable(Picker, {\n value: 'onChange'\n })\n )\n);\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -13,7 +13,6 @@ var hooks_1 = require("../hooks");
|
|
13
13
|
var helper_1 = require("../utils/helper");
|
14
14
|
var theme_1 = require("../theme");
|
15
15
|
var use_touch_1 = (0, tslib_1.__importDefault)(require("../hooks/use-touch"));
|
16
|
-
;
|
17
16
|
var DEFAULT_DURATION = 200;
|
18
17
|
var MOMENTUM_LIMIT_TIME = 300;
|
19
18
|
var MOMENTUM_LIMIT_DISTANCE = 15;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/PickerColumn.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;AAAA;;;GAGG;AACH,0DAOe;AACf,0EAAuC;AACvC,4EAAyC;AACzC,iDAA8C;AAE9C,kCAAsD;AACtD,0CAAsC;AACtC,kCAA+C;AAC/C,8EAA0C;
|
9
|
+
"mappings": ";;;AAAA;;;GAGG;AACH,0DAOe;AACf,0EAAuC;AACvC,4EAAyC;AACzC,iDAA8C;AAE9C,kCAAsD;AACtD,0CAAsC;AACtC,kCAA+C;AAC/C,8EAA0C;AA4B1C,IAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,IAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,IAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC,SAAS,oBAAoB,CAAC,OAA2B;IACvD,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,CAAC,CAAC;KACV;IACD,IAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,eAAe,CAAC;IAC3D,kFAAkF;IAClF,IAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3E,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAoB;IAC5C,OAAO,IAAA,kBAAQ,EAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC;AAC7C,CAAC;AAED,IAAM,YAAY,GAAG,IAAA,kBAAU,EAAwB,UAAC,KAAK,EAAE,GAAG;IAE9D,IAAA,KAOE,KAAK,iBAPa,EAApB,gBAAgB,mBAAG,CAAC,KAAA,EACpB,KAME,KAAK,WANQ,EAAf,UAAU,mBAAG,EAAE,KAAA,EACf,KAAK,GAKH,KAAK,MALF,EACL,KAIE,KAAK,cAJa,EAApB,aAAa,mBAAG,IAAI,KAAA,EACpB,KAGE,KAAK,WAHY,EAAnB,UAAU,mBAAG,MAAM,KAAA,EACnB,KAEE,KAAK,QAFK,EAAZ,OAAO,mBAAG,EAAE,KAAA,EACA,EAAE,GACZ,KAAK,WADO,CACN;IAEV,IAAM,IAAI,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IAC1B,IAAM,WAAW,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IACjC,IAAM,OAAO,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IAE7B,IAAM,MAAM,GAAG,IAAA,cAAM,EAAC,KAAK,CAAC,CAAC;IAC7B,IAAM,WAAW,GAAG,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC;IAC9B,IAAM,oBAAoB,GAAG,IAAA,cAAM,EAAC,IAAI,CAAC,CAAC;IAC1C,IAAM,cAAc,GAAG,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC;IACjC,IAAM,cAAc,GAAG,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC;IAEjC,IAAM,KAAK,GAAG,IAAA,mBAAQ,GAAE,CAAC;IACzB,IAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAC7B,IAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,KAAK,EAAd,CAAc,CAAC,CAAC;IAE/D,IAAM,UAAU,GAAG,IAAA,eAAO,EAAC;QACzB,eAAe;QACf,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEnC,IAAM,WAAW,GAAG,UAAC,KAAa;QAChC,KAAK,GAAG,IAAA,cAAK,EAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE;YACrC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC;SAC7C;QACD,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;YACtC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,CAAC,CAAC;SAC7C;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEI,IAAA,KAAuB,IAAA,mBAAW,EAAC;QACvC,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC;QACrC,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,IAAA,mBAAS,EAAC,OAAO,CAAC;KAC5B,CAAC,EALK,KAAK,QAAA,EAAE,WAAW,QAKvB,CAAC;IAEH;;;;;OAKG;IACH,IAAM,QAAQ,GAAG,UAAC,KAAa,EAAE,UAAoB,EAAE,OAAiB;QACtE,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhC,IAAM,MAAM,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC;QACnC,IAAM,OAAO,GAAG;YACd,WAAW,CAAC,EAAC,KAAK,OAAA,EAAC,CAAC,CAAC;YAErB,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAChC,qBAAqB,CAAC;;oBACpB,MAAA,KAAK,CAAC,QAAQ,+CAAd,KAAK,EAAY,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;gBACnD,CAAC,CAAC,CAAC;gBACH,qBAAqB;gBACrB,sDAAsD;gBACtD,SAAS;aACV;QACH,CAAC,CAAC;QAEF,2DAA2D;QAC3D,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE;YAC7C,YAAY;YACZ,oBAAoB,CAAC,OAAO,GAAG,OAAO,CAAC;SACxC;aAAM;YACL,OAAO,EAAE,CAAC;SACX;QACD,WAAW,CAAC,EAAC,MAAM,QAAA,EAAC,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,IAAM,UAAU,GAAG,UAAC,OAA4B;QAC9C,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YAC7D,WAAW,CAAC,EAAC,OAAO,SAAA,EAAC,CAAC,CAAC;YACvB,IAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,KAAK,KAAK,EAAd,CAAc,CAAC,IAAI,CAAC,CAAC;YAC7D,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAC7B;IACH,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG,UAAC,KAAa;QAChC,IAAI,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;YACpC,OAAO;SACR;QACD,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;QACpC,WAAW,CAAC,EAAC,QAAQ,EAAE,gBAAgB,EAAC,CAAC,CAAC;QAC1C,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,IAAM,aAAa,GAAG,UAAC,MAAyB;QAC9C,IAAI,IAAA,kBAAQ,EAAC,MAAM,CAAC,IAAI,UAAU,IAAI,MAAM,EAAE;YAC5C,YAAY;YACZ,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC;SAC3B;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,IAAM,gBAAgB,GAAG,UAAC,MAAc;QACtC,OAAA,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;IAArD,CAAqD,CAAC;IAExD,IAAM,QAAQ,GAAG,UAAC,QAAgB,EAAE,QAAgB;QAClD,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;QAE5C,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpE,IAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACzC,WAAW,CAAC,EAAC,QAAQ,EAAE,CAAC,aAAa,EAAC,CAAC,CAAC;QACxC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,IAAM,YAAY,GAAG;QACnB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,WAAW,CAAC,EAAC,QAAQ,EAAE,CAAC,EAAC,CAAC,CAAC;QAE3B,IAAI,oBAAoB,CAAC,OAAO,EAAE;YAChC,YAAY;YACZ,oBAAoB,CAAC,OAAO,EAAE,CAAC;YAC/B,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;SACrC;IACH,CAAC,CAAC;IAEF,IAAM,YAAY,GAAG,UAAC,KAAU;QAC9B,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,OAAO;SACR;QAED,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACd,IAAA,MAAM,GAAI,KAAK,OAAT,CAAU;QAErB,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,IAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzD,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC;YAC9C,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;SAC9B;aAAM;YACL,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;SAC9B;QAED,WAAW,CAAC,EAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,QAAA,EAAC,CAAC,CAAC;QACnC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QAC7C,oBAAoB,CAAC,OAAO,GAAG,IAAI,CAAC;IACtC,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG,UAAC,KAAoC;QACvD,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,OAAO;SACR;QAED,KAAK,CAAC,IAAI,CAAC,KAAmB,CAAC,CAAC;QAEhC,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE;YACtB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;SACvB;QAED,IAAM,MAAM,GAAG,IAAA,cAAK,EAClB,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC,MAAM,EAClC,CAAC,CAAC,KAAK,GAAG,UAAU,CAAC,EACrB,UAAU,CACX,CAAC;QAEF,WAAW,CAAC;YACV,MAAM,QAAA;SACP,CAAC,CAAC;QAEH,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,cAAc,CAAC,OAAO,GAAG,mBAAmB,EAAE;YACtD,cAAc,CAAC,OAAO,GAAG,GAAG,CAAC;YAC7B,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC;SACjC;IACH,CAAC,CAAC;IAEF,IAAM,UAAU,GAAG;QACjB,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,OAAO;SACR;QACD,IAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC;QACvD,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC;QAErD,IAAM,aAAa,GACjB,QAAQ,GAAG,mBAAmB;YAC9B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,uBAAuB,CAAC;QAE/C,IAAI,aAAa,EAAE;YACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC7B,OAAO;SACR;QAED,IAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,WAAW,CAAC,EAAC,QAAQ,EAAE,gBAAgB,EAAC,CAAC,CAAC;QAC1C,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEtB,mCAAmC;QACnC,oEAAoE;QACpE,UAAU,CAAC;YACT,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC,CAAC;IAEF,IAAM,aAAa,GAAG;QACpB,IAAM,KAAK,GAAG;YACZ,MAAM,EAAK,UAAU,OAAI;YACzB,UAAU,EAAK,UAAU,OAAI;SAC9B,CAAC;QACF,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,EAAE,KAAa;YAC7C,IAAM,IAAI,GAA0B,aAAa,CAAC,MAAM,CAAC,CAAC;YAC1D,IAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAE1C,IAAM,IAAI,GAAG;gBACX,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,KAAK;gBACV,KAAK,OAAA;gBACL,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3B,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,0BAA0B,EAAE;oBACtD,aAAa,EAAE,QAAQ;oBACvB,aAAa,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK;iBACrC,CAAC;gBACF,OAAO,EAAE;oBACP,WAAW,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;aACF,CAAC;YAEF,IAAM,SAAS,GAAG;gBAChB,SAAS,EAAE,eAAe;gBAC1B,QAAQ,EAAE,IAAI;aACf,CAAC;YAEF,OAAO,CACL,8DAAQ,IAAI,IAAE,GAAG,EAAE,WAAW,KAC3B,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CACpB,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAC3B,CAAC,CAAC,CAAC,CACF,+DAAS,SAAS,EAAI,CACvB,CACE,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAM,QAAQ,GAAG,UAAC,KAAa;QACtB,IAAA,OAAO,GAAI,KAAK,QAAT,CAAU;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC1C,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;gBACxB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;aACpB;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,IAAM,QAAQ,GAAG,IAAA,mBAAW,EAC1B,cAAM,OAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAA1B,CAA0B,EAChC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAC7B,CAAC;IAEF,IAAA,iBAAS,EAAC;QACR,QAAQ,CAAC,YAAY,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,IAAA,uBAAe,EAAC;QACd,UAAU,CAAC,IAAA,mBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,IAAA,2BAAmB,EAAC,GAAG,EAAE,cAAM,OAAA,CAAC;QAC9B,KAAK,OAAA;QACL,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,UAAU,YAAA;QACV,YAAY,cAAA;KACb,CAAC,EAP6B,CAO7B,CAAC,CAAC;IAEJ,IAAM,YAAY,GAAG;QACnB,SAAS,EAAE,qBAAkB,KAAK,CAAC,MAAM,GAAG,UAAU,YAAQ;QAC9D,kBAAkB,EAAK,KAAK,CAAC,QAAQ,OAAI;QACzC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;KACpD,CAAC;IACF,OAAO,CACL,uCACE,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,EAC7D,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,UAAU;QAEzB,sCACE,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,6BAA6B,CAAC,EAC1D,eAAe,EAAE,YAAY,IAE5B,aAAa,EAAE,CACb,CACD,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,YAAY,CAAC,YAAY,GAAG;IAC1B,OAAO,EAAE,EAAE;IACX,gBAAgB,EAAE,CAAC;IACnB,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,EAAE;CACf,CAAC;AAEF,kBAAe,IAAA,iBAAS,EACtB,IAAA,+BAAc,EAAC,YAAY,EAAE;IAC3B,KAAK,EAAE,UAAU;CAClB,CAAC,CACH,CAAC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file Picker\n * @description 移动端列滚动选择器\n */\nimport React, {\n useEffect,\n useMemo,\n useRef,\n useImperativeHandle,\n useCallback,\n forwardRef\n} from 'react';\nimport isObject from 'lodash/isObject';\nimport cloneDeep from 'lodash/cloneDeep';\nimport {uncontrollable} from 'uncontrollable';\n\nimport {useSetState, useUpdateEffect} from '../hooks';\nimport {range} from '../utils/helper';\nimport {themeable, ThemeProps} from '../theme';\nimport useTouch from '../hooks/use-touch';\n\nexport interface PickerColumnItem {\n labelField?: string;\n readonly?: boolean;\n value?: PickerOption;\n swipeDuration?: number;\n visibleItemCount?: number;\n itemHeight?: number;\n options?: PickerOption[];\n optionRender?: (option: string | object | PickerOption) => React.ReactNode;\n onChange?: (\n value?: PickerOption | string,\n index?: number,\n confirm?: boolean\n ) => void;\n};\n\nexport interface PickerColumnProps extends PickerColumnItem, ThemeProps {}\n\nexport type PickerOption = string | number | PickerObjectOption;\n\nexport type PickerObjectOption = {\n value?: string | number;\n text?: string | number;\n disabled?: boolean;\n} & Record<string, {}>;\n\nconst DEFAULT_DURATION = 200;\nconst MOMENTUM_LIMIT_TIME = 300;\nconst MOMENTUM_LIMIT_DISTANCE = 15;\n\nfunction getElementTranslateY(element: HTMLElement | null) {\n if (!element) {\n return 0;\n }\n const style = window.getComputedStyle(element);\n const transform = style.transform || style.webkitTransform;\n // 格式如:matrix( scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY() );\n const translateY = transform.slice(7, transform.length - 1).split(', ')[5];\n\n return Number(translateY);\n}\n\nfunction isOptionDisabled(option: PickerOption) {\n return isObject(option) && option.disabled;\n}\n \nconst PickerColumn = forwardRef<{}, PickerColumnProps>((props, ref) => {\n const {\n visibleItemCount = 5,\n itemHeight = 30,\n value,\n swipeDuration = 1000,\n labelField = 'text',\n options = [],\n classnames: cx\n } = props;\n\n const root = useRef(null);\n const menuItemRef = useRef(null);\n const wrapper = useRef(null);\n\n const moving = useRef(false);\n const startOffset = useRef(0);\n const transitionEndTrigger = useRef(null);\n const touchStartTime = useRef(0);\n const momentumOffset = useRef(0);\n\n const touch = useTouch();\n const count = options.length;\n const defaultIndex = options.findIndex(item => item === value);\n\n const baseOffset = useMemo(() => {\n // 默认转入第一个选项的位置\n return (itemHeight * (+visibleItemCount - 1)) / 2;\n }, [itemHeight, visibleItemCount]);\n\n const adjustIndex = (index: number) => {\n index = range(index, 0, count);\n if (!options) {\n return;\n }\n\n for (let i = index; i < count; i += 1) {\n if (!isOptionDisabled(options[i])) return i;\n }\n for (let i = index - 1; i >= 0; i -= 1) {\n if (!isOptionDisabled(options[i])) return i;\n }\n\n return null;\n };\n\n const [state, updateState] = useSetState({\n index: adjustIndex(defaultIndex) || 0,\n offset: 0,\n duration: 0,\n options: cloneDeep(options)\n });\n\n /**\n *\n * @param index 索引\n * @param emitChange 是否派发变动消息\n * @param confirm 是否为确认类型,为真时触发value改变\n */\n const setIndex = (index: number, emitChange?: boolean, confirm?: boolean) => {\n index = adjustIndex(index) || 0;\n\n const offset = -index * itemHeight;\n const trigger = () => {\n updateState({index});\n\n if (emitChange && props.onChange) {\n requestAnimationFrame(\n () => {\n props.onChange?.(options[index], index, confirm);\n }\n );\n // setTimeout(() => {\n // props.onChange?.(options[index], index, confirm);\n // }, 0);\n }\n };\n\n // trigger the change event after transitionend when moving\n if (moving.current && offset !== state.offset) {\n //@ts-ignore\n transitionEndTrigger.current = trigger;\n } else {\n trigger();\n }\n updateState({offset});\n };\n\n const setOptions = (options: Array<PickerOption>) => {\n if (JSON.stringify(options) !== JSON.stringify(state.options)) {\n updateState({options});\n const index = options.findIndex(item => item === value) || 0;\n setIndex(index, true, true);\n }\n };\n\n const onClickItem = (index: number) => {\n if (moving.current || props.readonly) {\n return;\n }\n transitionEndTrigger.current = null;\n updateState({duration: DEFAULT_DURATION});\n setIndex(index, true, true);\n };\n\n const getOptionText = (option: [] | PickerOption) => {\n if (isObject(option) && labelField in option) {\n //@ts-ignore\n return option[labelField];\n }\n return option;\n };\n\n const getIndexByOffset = (offset: number) =>\n range(Math.round(-offset / itemHeight), 0, count - 1);\n\n const momentum = (distance: number, duration: number) => {\n const speed = Math.abs(distance / duration);\n\n distance = state.offset + (speed / 0.003) * (distance < 0 ? -1 : 1);\n\n const index = getIndexByOffset(distance);\n updateState({duration: +swipeDuration});\n setIndex(index, true);\n };\n\n const stopMomentum = () => {\n moving.current = false;\n updateState({duration: 0});\n\n if (transitionEndTrigger.current) {\n //@ts-ignore\n transitionEndTrigger.current();\n transitionEndTrigger.current = null;\n }\n };\n\n const onTouchStart = (event: any) => {\n if (props.readonly) {\n return;\n }\n\n touch.start(event);\n let {offset} = state;\n\n if (moving.current) {\n const translateY = getElementTranslateY(wrapper.current);\n offset = Math.min(0, translateY - baseOffset);\n startOffset.current = offset;\n } else {\n startOffset.current = offset;\n }\n\n updateState({duration: 0, offset});\n touchStartTime.current = Date.now();\n momentumOffset.current = startOffset.current;\n transitionEndTrigger.current = null;\n };\n\n const onTouchMove = (event: TouchEvent | React.TouchEvent) => {\n if (props.readonly) {\n return;\n }\n\n touch.move(event as TouchEvent);\n\n if (touch.isVertical()) {\n moving.current = true;\n }\n\n const offset = range(\n startOffset.current + touch.deltaY,\n -(count * itemHeight),\n itemHeight\n );\n\n updateState({\n offset\n });\n\n const now = Date.now();\n if (now - touchStartTime.current > MOMENTUM_LIMIT_TIME) {\n touchStartTime.current = now;\n momentumOffset.current = offset;\n }\n };\n\n const onTouchEnd = () => {\n if (props.readonly) {\n return;\n }\n const distance = state.offset - momentumOffset.current;\n const duration = Date.now() - touchStartTime.current;\n\n const allowMomentum =\n duration < MOMENTUM_LIMIT_TIME &&\n Math.abs(distance) > MOMENTUM_LIMIT_DISTANCE;\n\n if (allowMomentum) {\n momentum(distance, duration);\n return;\n }\n\n const index = getIndexByOffset(state.offset);\n updateState({duration: DEFAULT_DURATION});\n setIndex(index, true);\n\n // compatible with desktop scenario\n // use setTimeout to skip the click event triggered after touchstart\n setTimeout(() => {\n moving.current = false;\n }, 0);\n };\n\n const renderOptions = () => {\n const style = {\n height: `${itemHeight}px`,\n lineHeight: `${itemHeight}px`\n };\n return state.options.map((option, index: number) => {\n const text: string | PickerOption = getOptionText(option);\n const disabled = isOptionDisabled(option);\n\n const data = {\n role: 'button',\n key: index,\n style,\n tabIndex: disabled ? -1 : 0,\n className: props.classnames(`PickerColumns-columnItem`, {\n 'is-disabled': disabled,\n 'is-selected': index === state.index\n }),\n onClick: () => {\n onClickItem(index);\n }\n };\n \n const childData = {\n className: 'text-ellipsis',\n children: text\n };\n\n return (\n <li {...data} ref={menuItemRef}>\n {props.optionRender ? (\n props.optionRender(option)\n ) : (\n <div {...childData} />\n )}\n </li>\n );\n });\n };\n\n const setValue = (value: string) => {\n const {options} = state;\n for (let i = 0; i < options.length; i += 1) {\n if (options[i] === value) {\n return setIndex(i);\n }\n }\n return null;\n };\n\n const getValue = useCallback<() => PickerOption>(\n () => state.options[state.index],\n [state.index, state.options]\n );\n\n useEffect(() => {\n setIndex(defaultIndex);\n }, [defaultIndex]);\n\n useUpdateEffect(() => {\n setOptions(cloneDeep(options));\n }, [options]);\n\n useImperativeHandle(ref, () => ({\n state,\n setIndex,\n getValue,\n setValue,\n setOptions,\n stopMomentum\n }));\n\n const wrapperStyle = {\n transform: `translate3d(0, ${state.offset + baseOffset}px, 0)`,\n transitionDuration: `${state.duration}ms`,\n transitionProperty: state.duration ? 'all' : 'none'\n };\n return (\n <div\n ref={root}\n className={props.classnames('PickerColumns', props.className)}\n onTouchStart={onTouchStart}\n onTouchMove={onTouchMove}\n onTouchEnd={onTouchEnd}\n onTouchCancel={onTouchEnd}\n >\n <ul\n ref={wrapper}\n style={wrapperStyle}\n className={props.classnames('PickerColumns-columnWrapper')}\n onTransitionEnd={stopMomentum}\n >\n {renderOptions()}\n </ul>\n </div>\n );\n});\n\nPickerColumn.defaultProps = {\n options: [],\n visibleItemCount: 5,\n swipeDuration: 1000,\n itemHeight: 30\n};\n\nexport default themeable(\n uncontrollable(PickerColumn, {\n value: 'onChange'\n })\n);\n\n"
|
11
|
+
"/**\n * @file Picker\n * @description 移动端列滚动选择器\n */\nimport React, {\n useEffect,\n useMemo,\n useRef,\n useImperativeHandle,\n useCallback,\n forwardRef\n} from 'react';\nimport isObject from 'lodash/isObject';\nimport cloneDeep from 'lodash/cloneDeep';\nimport {uncontrollable} from 'uncontrollable';\n\nimport {useSetState, useUpdateEffect} from '../hooks';\nimport {range} from '../utils/helper';\nimport {themeable, ThemeProps} from '../theme';\nimport useTouch from '../hooks/use-touch';\n\nexport interface PickerColumnItem {\n labelField?: string;\n readonly?: boolean;\n value?: PickerOption;\n swipeDuration?: number;\n visibleItemCount?: number;\n itemHeight?: number;\n options?: PickerOption[];\n optionRender?: (option: string | object | PickerOption) => React.ReactNode;\n onChange?: (\n value?: PickerOption | string,\n index?: number,\n confirm?: boolean\n ) => void;\n}\n\nexport interface PickerColumnProps extends PickerColumnItem, ThemeProps {}\n\nexport type PickerOption = string | number | PickerObjectOption;\n\nexport type PickerObjectOption = {\n value?: string | number;\n text?: string | number;\n disabled?: boolean;\n} & Record<string, {}>;\n\nconst DEFAULT_DURATION = 200;\nconst MOMENTUM_LIMIT_TIME = 300;\nconst MOMENTUM_LIMIT_DISTANCE = 15;\n\nfunction getElementTranslateY(element: HTMLElement | null) {\n if (!element) {\n return 0;\n }\n const style = window.getComputedStyle(element);\n const transform = style.transform || style.webkitTransform;\n // 格式如:matrix( scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY() );\n const translateY = transform.slice(7, transform.length - 1).split(', ')[5];\n\n return Number(translateY);\n}\n\nfunction isOptionDisabled(option: PickerOption) {\n return isObject(option) && option.disabled;\n}\n\nconst PickerColumn = forwardRef<{}, PickerColumnProps>((props, ref) => {\n const {\n visibleItemCount = 5,\n itemHeight = 30,\n value,\n swipeDuration = 1000,\n labelField = 'text',\n options = [],\n classnames: cx\n } = props;\n\n const root = useRef(null);\n const menuItemRef = useRef(null);\n const wrapper = useRef(null);\n\n const moving = useRef(false);\n const startOffset = useRef(0);\n const transitionEndTrigger = useRef(null);\n const touchStartTime = useRef(0);\n const momentumOffset = useRef(0);\n\n const touch = useTouch();\n const count = options.length;\n const defaultIndex = options.findIndex(item => item === value);\n\n const baseOffset = useMemo(() => {\n // 默认转入第一个选项的位置\n return (itemHeight * (+visibleItemCount - 1)) / 2;\n }, [itemHeight, visibleItemCount]);\n\n const adjustIndex = (index: number) => {\n index = range(index, 0, count);\n if (!options) {\n return;\n }\n\n for (let i = index; i < count; i += 1) {\n if (!isOptionDisabled(options[i])) return i;\n }\n for (let i = index - 1; i >= 0; i -= 1) {\n if (!isOptionDisabled(options[i])) return i;\n }\n\n return null;\n };\n\n const [state, updateState] = useSetState({\n index: adjustIndex(defaultIndex) || 0,\n offset: 0,\n duration: 0,\n options: cloneDeep(options)\n });\n\n /**\n *\n * @param index 索引\n * @param emitChange 是否派发变动消息\n * @param confirm 是否为确认类型,为真时触发value改变\n */\n const setIndex = (index: number, emitChange?: boolean, confirm?: boolean) => {\n index = adjustIndex(index) || 0;\n\n const offset = -index * itemHeight;\n const trigger = () => {\n updateState({index});\n\n if (emitChange && props.onChange) {\n requestAnimationFrame(() => {\n props.onChange?.(options[index], index, confirm);\n });\n // setTimeout(() => {\n // props.onChange?.(options[index], index, confirm);\n // }, 0);\n }\n };\n\n // trigger the change event after transitionend when moving\n if (moving.current && offset !== state.offset) {\n //@ts-ignore\n transitionEndTrigger.current = trigger;\n } else {\n trigger();\n }\n updateState({offset});\n };\n\n const setOptions = (options: Array<PickerOption>) => {\n if (JSON.stringify(options) !== JSON.stringify(state.options)) {\n updateState({options});\n const index = options.findIndex(item => item === value) || 0;\n setIndex(index, true, true);\n }\n };\n\n const onClickItem = (index: number) => {\n if (moving.current || props.readonly) {\n return;\n }\n transitionEndTrigger.current = null;\n updateState({duration: DEFAULT_DURATION});\n setIndex(index, true, true);\n };\n\n const getOptionText = (option: [] | PickerOption) => {\n if (isObject(option) && labelField in option) {\n //@ts-ignore\n return option[labelField];\n }\n return option;\n };\n\n const getIndexByOffset = (offset: number) =>\n range(Math.round(-offset / itemHeight), 0, count - 1);\n\n const momentum = (distance: number, duration: number) => {\n const speed = Math.abs(distance / duration);\n\n distance = state.offset + (speed / 0.003) * (distance < 0 ? -1 : 1);\n\n const index = getIndexByOffset(distance);\n updateState({duration: +swipeDuration});\n setIndex(index, true);\n };\n\n const stopMomentum = () => {\n moving.current = false;\n updateState({duration: 0});\n\n if (transitionEndTrigger.current) {\n //@ts-ignore\n transitionEndTrigger.current();\n transitionEndTrigger.current = null;\n }\n };\n\n const onTouchStart = (event: any) => {\n if (props.readonly) {\n return;\n }\n\n touch.start(event);\n let {offset} = state;\n\n if (moving.current) {\n const translateY = getElementTranslateY(wrapper.current);\n offset = Math.min(0, translateY - baseOffset);\n startOffset.current = offset;\n } else {\n startOffset.current = offset;\n }\n\n updateState({duration: 0, offset});\n touchStartTime.current = Date.now();\n momentumOffset.current = startOffset.current;\n transitionEndTrigger.current = null;\n };\n\n const onTouchMove = (event: TouchEvent | React.TouchEvent) => {\n if (props.readonly) {\n return;\n }\n\n touch.move(event as TouchEvent);\n\n if (touch.isVertical()) {\n moving.current = true;\n }\n\n const offset = range(\n startOffset.current + touch.deltaY,\n -(count * itemHeight),\n itemHeight\n );\n\n updateState({\n offset\n });\n\n const now = Date.now();\n if (now - touchStartTime.current > MOMENTUM_LIMIT_TIME) {\n touchStartTime.current = now;\n momentumOffset.current = offset;\n }\n };\n\n const onTouchEnd = () => {\n if (props.readonly) {\n return;\n }\n const distance = state.offset - momentumOffset.current;\n const duration = Date.now() - touchStartTime.current;\n\n const allowMomentum =\n duration < MOMENTUM_LIMIT_TIME &&\n Math.abs(distance) > MOMENTUM_LIMIT_DISTANCE;\n\n if (allowMomentum) {\n momentum(distance, duration);\n return;\n }\n\n const index = getIndexByOffset(state.offset);\n updateState({duration: DEFAULT_DURATION});\n setIndex(index, true);\n\n // compatible with desktop scenario\n // use setTimeout to skip the click event triggered after touchstart\n setTimeout(() => {\n moving.current = false;\n }, 0);\n };\n\n const renderOptions = () => {\n const style = {\n height: `${itemHeight}px`,\n lineHeight: `${itemHeight}px`\n };\n return state.options.map((option, index: number) => {\n const text: string | PickerOption = getOptionText(option);\n const disabled = isOptionDisabled(option);\n\n const data = {\n role: 'button',\n key: index,\n style,\n tabIndex: disabled ? -1 : 0,\n className: props.classnames(`PickerColumns-columnItem`, {\n 'is-disabled': disabled,\n 'is-selected': index === state.index\n }),\n onClick: () => {\n onClickItem(index);\n }\n };\n\n const childData = {\n className: 'text-ellipsis',\n children: text\n };\n\n return (\n <li {...data} ref={menuItemRef}>\n {props.optionRender ? (\n props.optionRender(option)\n ) : (\n <div {...childData} />\n )}\n </li>\n );\n });\n };\n\n const setValue = (value: string) => {\n const {options} = state;\n for (let i = 0; i < options.length; i += 1) {\n if (options[i] === value) {\n return setIndex(i);\n }\n }\n return null;\n };\n\n const getValue = useCallback<() => PickerOption>(\n () => state.options[state.index],\n [state.index, state.options]\n );\n\n useEffect(() => {\n setIndex(defaultIndex);\n }, [defaultIndex]);\n\n useUpdateEffect(() => {\n setOptions(cloneDeep(options));\n }, [options]);\n\n useImperativeHandle(ref, () => ({\n state,\n setIndex,\n getValue,\n setValue,\n setOptions,\n stopMomentum\n }));\n\n const wrapperStyle = {\n transform: `translate3d(0, ${state.offset + baseOffset}px, 0)`,\n transitionDuration: `${state.duration}ms`,\n transitionProperty: state.duration ? 'all' : 'none'\n };\n return (\n <div\n ref={root}\n className={props.classnames('PickerColumns', props.className)}\n onTouchStart={onTouchStart}\n onTouchMove={onTouchMove}\n onTouchEnd={onTouchEnd}\n onTouchCancel={onTouchEnd}\n >\n <ul\n ref={wrapper}\n style={wrapperStyle}\n className={props.classnames('PickerColumns-columnWrapper')}\n onTransitionEnd={stopMomentum}\n >\n {renderOptions()}\n </ul>\n </div>\n );\n});\n\nPickerColumn.defaultProps = {\n options: [],\n visibleItemCount: 5,\n swipeDuration: 1000,\n itemHeight: 30\n};\n\nexport default themeable(\n uncontrollable(PickerColumn, {\n value: 'onChange'\n })\n);\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -4,14 +4,17 @@ import { ThemeProps } from '../theme';
|
|
4
4
|
import { LocaleProps } from '../locale';
|
5
5
|
export interface PickerContainerProps extends ThemeProps, LocaleProps {
|
6
6
|
title?: string;
|
7
|
+
showTitle?: boolean;
|
7
8
|
children: (props: {
|
8
9
|
onClick: (e: React.MouseEvent) => void;
|
9
10
|
isOpened: boolean;
|
10
11
|
}) => JSX.Element;
|
11
|
-
|
12
|
+
bodyRender: (props: {
|
12
13
|
onClose: () => void;
|
13
14
|
value: any;
|
14
15
|
onChange: (value: any) => void;
|
16
|
+
setState: (state: any) => void;
|
17
|
+
[propName: string]: any;
|
15
18
|
}) => JSX.Element;
|
16
19
|
value?: any;
|
17
20
|
onConfirm?: (value?: any) => void;
|
@@ -31,6 +34,7 @@ export declare class PickerContainer extends React.Component<PickerContainerProp
|
|
31
34
|
close(e?: any, callback?: () => void): void;
|
32
35
|
handleChange(value: any): void;
|
33
36
|
confirm(): void;
|
37
|
+
updateState(state?: any): void;
|
34
38
|
render(): JSX.Element;
|
35
39
|
}
|
36
40
|
declare const _default: {
|
@@ -47,20 +47,21 @@ var PickerContainer = /** @class */ (function (_super) {
|
|
47
47
|
var onConfirm = this.props.onConfirm;
|
48
48
|
this.close(undefined, function () { return onConfirm === null || onConfirm === void 0 ? void 0 : onConfirm(_this.state.value); });
|
49
49
|
};
|
50
|
+
PickerContainer.prototype.updateState = function (state) {
|
51
|
+
if (state === void 0) { state = {}; }
|
52
|
+
var isOpened = state.isOpened, rest = (0, tslib_1.__rest)(state, ["isOpened"]);
|
53
|
+
this.setState((0, tslib_1.__assign)((0, tslib_1.__assign)({}, this.state), rest));
|
54
|
+
};
|
50
55
|
PickerContainer.prototype.render = function () {
|
51
|
-
var _a = this.props, children = _a.children,
|
56
|
+
var _a = this.props, children = _a.children, popOverRender = _a.bodyRender, title = _a.title, showTitle = _a.showTitle, __ = _a.translate, size = _a.size;
|
52
57
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
53
58
|
children({
|
54
59
|
isOpened: this.state.isOpened,
|
55
60
|
onClick: this.handleClick
|
56
61
|
}),
|
57
62
|
react_1.default.createElement(Modal_1.default, { size: size, closeOnEsc: true, show: this.state.isOpened, onHide: this.close },
|
58
|
-
react_1.default.createElement(Modal_1.default.Header, { onClose: this.close }, __(title || 'Select.placeholder')),
|
59
|
-
react_1.default.createElement(Modal_1.default.Body, null,
|
60
|
-
onClose: this.close,
|
61
|
-
value: this.state.value,
|
62
|
-
onChange: this.handleChange
|
63
|
-
})),
|
63
|
+
showTitle !== false ? (react_1.default.createElement(Modal_1.default.Header, { onClose: this.close }, __(title || 'Select.placeholder'))) : null,
|
64
|
+
react_1.default.createElement(Modal_1.default.Body, null, popOverRender((0, tslib_1.__assign)((0, tslib_1.__assign)({}, this.state), { setState: this.updateState, onClose: this.close, onChange: this.handleChange }))),
|
64
65
|
react_1.default.createElement(Modal_1.default.Footer, null,
|
65
66
|
react_1.default.createElement(Button_1.default, { onClick: this.close }, __('cancel')),
|
66
67
|
react_1.default.createElement(Button_1.default, { onClick: this.confirm, level: "primary" }, __('confirm'))))));
|
@@ -89,6 +90,12 @@ var PickerContainer = /** @class */ (function (_super) {
|
|
89
90
|
(0, tslib_1.__metadata)("design:paramtypes", []),
|
90
91
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
91
92
|
], PickerContainer.prototype, "confirm", null);
|
93
|
+
(0, tslib_1.__decorate)([
|
94
|
+
helper_1.autobind,
|
95
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
96
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object]),
|
97
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
98
|
+
], PickerContainer.prototype, "updateState", null);
|
92
99
|
return PickerContainer;
|
93
100
|
}(react_1.default.Component));
|
94
101
|
exports.PickerContainer = PickerContainer;
|