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
@@ -0,0 +1,99 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import 'codemirror/lib/codemirror.css';
|
3
|
+
import type CodeMirror from 'codemirror';
|
4
|
+
import {autobind} from '../utils/helper';
|
5
|
+
import {resizeSensor} from '../utils/resize-sensor';
|
6
|
+
|
7
|
+
export interface CodeMirrorEditorProps {
|
8
|
+
className?: string;
|
9
|
+
value?: string;
|
10
|
+
onChange?: (value: string) => void;
|
11
|
+
onFocus?: (e: any) => void;
|
12
|
+
onBlur?: (e: any) => void;
|
13
|
+
editorFactory?: (
|
14
|
+
dom: HTMLElement,
|
15
|
+
cm: typeof CodeMirror,
|
16
|
+
props?: any
|
17
|
+
) => CodeMirror.Editor;
|
18
|
+
editorDidMount?: (cm: typeof CodeMirror, editor: CodeMirror.Editor) => void;
|
19
|
+
editorWillUnMount?: (
|
20
|
+
cm: typeof CodeMirror,
|
21
|
+
editor: CodeMirror.Editor
|
22
|
+
) => void;
|
23
|
+
}
|
24
|
+
|
25
|
+
export class CodeMirrorEditor extends React.Component<CodeMirrorEditorProps> {
|
26
|
+
dom = React.createRef<HTMLDivElement>();
|
27
|
+
|
28
|
+
editor?: CodeMirror.Editor;
|
29
|
+
toDispose: Array<() => void> = [];
|
30
|
+
unmounted = false;
|
31
|
+
async componentDidMount() {
|
32
|
+
const cm = (await import('codemirror')).default;
|
33
|
+
// @ts-ignore
|
34
|
+
await import('codemirror/mode/javascript/javascript');
|
35
|
+
// @ts-ignore
|
36
|
+
await import('codemirror/mode/htmlmixed/htmlmixed');
|
37
|
+
await import('codemirror/addon/mode/simple');
|
38
|
+
await import('codemirror/addon/mode/multiplex');
|
39
|
+
if (this.unmounted) {
|
40
|
+
return;
|
41
|
+
}
|
42
|
+
|
43
|
+
this.editor =
|
44
|
+
this.props.editorFactory?.(this.dom.current!, cm, this.props) ??
|
45
|
+
cm(this.dom.current!, {
|
46
|
+
value: this.props.value || ''
|
47
|
+
});
|
48
|
+
|
49
|
+
this.props.editorDidMount?.(cm, this.editor);
|
50
|
+
this.editor.on('change', this.handleChange);
|
51
|
+
|
52
|
+
this.toDispose.push(
|
53
|
+
resizeSensor(this.dom.current as HTMLElement, () =>
|
54
|
+
this.editor?.refresh()
|
55
|
+
)
|
56
|
+
);
|
57
|
+
// todo 以后优化这个,解决弹窗里面默认光标太小的问题
|
58
|
+
setTimeout(() => this.editor?.refresh(), 350);
|
59
|
+
this.toDispose.push(() => {
|
60
|
+
this.props.editorWillUnMount?.(cm, this.editor!);
|
61
|
+
});
|
62
|
+
}
|
63
|
+
|
64
|
+
componentDidUpdate(prevProps: CodeMirrorEditorProps) {
|
65
|
+
const props = this.props;
|
66
|
+
|
67
|
+
if (props.value !== prevProps.value) {
|
68
|
+
this.editor && this.setValue(props.value);
|
69
|
+
}
|
70
|
+
}
|
71
|
+
|
72
|
+
componentWillUnmount() {
|
73
|
+
this.unmounted = true;
|
74
|
+
this.editor?.off('change', this.handleChange);
|
75
|
+
this.toDispose.forEach(fn => fn());
|
76
|
+
this.toDispose = [];
|
77
|
+
}
|
78
|
+
|
79
|
+
@autobind
|
80
|
+
handleChange(editor: any) {
|
81
|
+
this.props.onChange?.(editor.getValue());
|
82
|
+
}
|
83
|
+
|
84
|
+
setValue(value?: string) {
|
85
|
+
const doc = this.editor!.getDoc();
|
86
|
+
if (value && value !== doc.getValue()) {
|
87
|
+
const cursor = doc.getCursor();
|
88
|
+
doc.setValue(value);
|
89
|
+
doc.setCursor(cursor);
|
90
|
+
}
|
91
|
+
}
|
92
|
+
|
93
|
+
render() {
|
94
|
+
const {className} = this.props;
|
95
|
+
return <div className={className} ref={this.dom}></div>;
|
96
|
+
}
|
97
|
+
}
|
98
|
+
|
99
|
+
export default CodeMirrorEditor;
|
@@ -26,13 +26,14 @@ const collapseStyles: {
|
|
26
26
|
export interface CollapseProps {
|
27
27
|
key?: string;
|
28
28
|
id?: string;
|
29
|
+
propKey?: string;
|
29
30
|
mountOnEnter?: boolean;
|
30
31
|
unmountOnExit?: boolean;
|
31
32
|
className?: string;
|
32
33
|
classPrefix: string;
|
33
34
|
classnames: ClassNamesFn;
|
34
35
|
headerPosition?: 'top' | 'bottom';
|
35
|
-
header?: React.
|
36
|
+
header?: React.ReactNode;
|
36
37
|
body: any;
|
37
38
|
bodyClassName?: string;
|
38
39
|
disabled?: boolean;
|
@@ -78,7 +79,7 @@ export class Collapse extends React.Component<CollapseProps, CollapseState> {
|
|
78
79
|
super(props);
|
79
80
|
|
80
81
|
this.toggleCollapsed = this.toggleCollapsed.bind(this);
|
81
|
-
this.state.collapsed = !!props.collapsed;
|
82
|
+
this.state.collapsed = props.collapsable ? !!props.collapsed : false;
|
82
83
|
}
|
83
84
|
|
84
85
|
static getDerivedStateFromProps(
|
@@ -11,8 +11,9 @@ import {Icon} from './icons';
|
|
11
11
|
import Overlay from './Overlay';
|
12
12
|
import {uncontrollable} from 'uncontrollable';
|
13
13
|
import PopOver from './PopOver';
|
14
|
+
import PopUp from './PopUp';
|
14
15
|
import {ClassNamesFn, themeable, ThemeProps} from '../theme';
|
15
|
-
import {autobind, isObject} from '../utils/helper';
|
16
|
+
import {autobind, isMobile, isObject} from '../utils/helper';
|
16
17
|
import {localeable, LocaleProps} from '../locale';
|
17
18
|
|
18
19
|
export type PresetColor = {color: string; title: string} | string;
|
@@ -32,6 +33,7 @@ export interface ColorProps extends LocaleProps, ThemeProps {
|
|
32
33
|
presetColors?: PresetColor[];
|
33
34
|
resetValue?: string;
|
34
35
|
allowCustomColor?: boolean;
|
36
|
+
useMobileUI?: boolean;
|
35
37
|
}
|
36
38
|
|
37
39
|
export interface ColorControlState {
|
@@ -218,7 +220,8 @@ export class ColorControl extends React.PureComponent<
|
|
218
220
|
placement,
|
219
221
|
classnames: cx,
|
220
222
|
presetColors,
|
221
|
-
allowCustomColor
|
223
|
+
allowCustomColor,
|
224
|
+
useMobileUI
|
222
225
|
} = this.props;
|
223
226
|
|
224
227
|
const __ = this.props.translate;
|
@@ -270,7 +273,7 @@ export class ColorControl extends React.PureComponent<
|
|
270
273
|
<Icon icon="caret" className="icon" onClick={this.handleClick} />
|
271
274
|
</span>
|
272
275
|
|
273
|
-
{isOpened ? (
|
276
|
+
{!(useMobileUI && isMobile()) && isOpened ? (
|
274
277
|
<Overlay
|
275
278
|
placement={placement || 'auto'}
|
276
279
|
target={() => findDOMNode(this)}
|
@@ -317,6 +320,43 @@ export class ColorControl extends React.PureComponent<
|
|
317
320
|
</PopOver>
|
318
321
|
</Overlay>
|
319
322
|
) : null}
|
323
|
+
{useMobileUI && isMobile() && (
|
324
|
+
<PopUp
|
325
|
+
className={cx(`${ns}ColorPicker-popup`)}
|
326
|
+
isShow={isOpened}
|
327
|
+
onHide={this.handleClick}
|
328
|
+
>
|
329
|
+
{allowCustomColor ? (
|
330
|
+
<SketchPicker
|
331
|
+
styles={{}}
|
332
|
+
disableAlpha={!!~['rgb', 'hex'].indexOf(format as string)}
|
333
|
+
color={value}
|
334
|
+
presetColors={presetColors}
|
335
|
+
onChangeComplete={this.handleChange}
|
336
|
+
/>
|
337
|
+
) : (
|
338
|
+
<GithubPicker
|
339
|
+
color={value}
|
340
|
+
colors={
|
341
|
+
Array.isArray(presetColors)
|
342
|
+
? (presetColors
|
343
|
+
.filter(
|
344
|
+
item => typeof item === 'string' || isObject(item)
|
345
|
+
)
|
346
|
+
.map(item =>
|
347
|
+
typeof item === 'string'
|
348
|
+
? item
|
349
|
+
: isObject(item)
|
350
|
+
? item?.color
|
351
|
+
: item
|
352
|
+
) as string[])
|
353
|
+
: undefined
|
354
|
+
}
|
355
|
+
onChangeComplete={this.handleChange}
|
356
|
+
/>
|
357
|
+
)}
|
358
|
+
</PopUp>
|
359
|
+
)}
|
320
360
|
</div>
|
321
361
|
);
|
322
362
|
}
|
@@ -9,13 +9,14 @@ import moment from 'moment';
|
|
9
9
|
import 'moment/locale/zh-cn';
|
10
10
|
import {Icon} from './icons';
|
11
11
|
import PopOver from './PopOver';
|
12
|
+
import PopUp from './PopUp';
|
12
13
|
import Overlay from './Overlay';
|
13
14
|
import {ClassNamesFn, themeable, ThemeProps} from '../theme';
|
14
15
|
import {PlainObject} from '../types';
|
15
16
|
import Calendar from './calendar/Calendar';
|
16
17
|
import 'react-datetime/css/react-datetime.css';
|
17
18
|
import {localeable, LocaleProps, TranslateFn} from '../locale';
|
18
|
-
import {ucFirst} from '../utils/helper';
|
19
|
+
import {isMobile, ucFirst} from '../utils/helper';
|
19
20
|
|
20
21
|
const availableShortcuts: {[propName: string]: any} = {
|
21
22
|
now: {
|
@@ -279,10 +280,10 @@ export interface DateProps extends LocaleProps, ThemeProps {
|
|
279
280
|
// 是否为内嵌模式,如果开启就不是 picker 了,直接页面点选。
|
280
281
|
embed?: boolean;
|
281
282
|
schedules?: Array<{
|
282
|
-
startTime: Date
|
283
|
-
endTime: Date
|
284
|
-
content: any
|
285
|
-
className?: string
|
283
|
+
startTime: Date;
|
284
|
+
endTime: Date;
|
285
|
+
content: any;
|
286
|
+
className?: string;
|
286
287
|
}>;
|
287
288
|
scheduleClassNames?: Array<string>;
|
288
289
|
largeMode?: boolean;
|
@@ -314,7 +315,13 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
|
|
314
315
|
shortcuts: '',
|
315
316
|
closeOnSelect: true,
|
316
317
|
overlayPlacement: 'auto',
|
317
|
-
scheduleClassNames: [
|
318
|
+
scheduleClassNames: [
|
319
|
+
'bg-warning',
|
320
|
+
'bg-danger',
|
321
|
+
'bg-success',
|
322
|
+
'bg-info',
|
323
|
+
'bg-secondary'
|
324
|
+
]
|
318
325
|
};
|
319
326
|
state: DatePickerState = {
|
320
327
|
isOpened: false,
|
@@ -559,6 +566,8 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
|
|
559
566
|
borderMode,
|
560
567
|
embed,
|
561
568
|
minDate,
|
569
|
+
useMobileUI,
|
570
|
+
maxDate,
|
562
571
|
schedules,
|
563
572
|
largeMode,
|
564
573
|
scheduleClassNames,
|
@@ -569,7 +578,6 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
|
|
569
578
|
const isOpened = this.state.isOpened;
|
570
579
|
let date: moment.Moment | undefined = this.state.value;
|
571
580
|
|
572
|
-
|
573
581
|
if (embed) {
|
574
582
|
let schedulesData: DateProps['schedules'] = undefined;
|
575
583
|
if (schedules && Array.isArray(schedules)) {
|
@@ -615,6 +623,7 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
|
|
615
623
|
onClose={this.close}
|
616
624
|
locale={locale}
|
617
625
|
minDate={minDate}
|
626
|
+
maxDate={maxDate}
|
618
627
|
// utc={utc}
|
619
628
|
schedules={schedulesData}
|
620
629
|
largeMode={largeMode}
|
@@ -662,7 +671,7 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
|
|
662
671
|
<Icon icon="clock" className="icon" />
|
663
672
|
</a>
|
664
673
|
|
665
|
-
{isOpened ? (
|
674
|
+
{!(useMobileUI && isMobile()) && isOpened ? (
|
666
675
|
<Overlay
|
667
676
|
target={this.getTarget}
|
668
677
|
container={popOverContainer || this.getParent}
|
@@ -693,11 +702,38 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
|
|
693
702
|
onClose={this.close}
|
694
703
|
locale={locale}
|
695
704
|
minDate={minDate}
|
705
|
+
maxDate={maxDate}
|
696
706
|
// utc={utc}
|
697
707
|
/>
|
698
708
|
</PopOver>
|
699
709
|
</Overlay>
|
700
710
|
) : null}
|
711
|
+
{useMobileUI && isMobile() ? (
|
712
|
+
<PopUp
|
713
|
+
className={cx(`${ns}DatePicker-popup`)}
|
714
|
+
isShow={isOpened}
|
715
|
+
onHide={this.handleClick}
|
716
|
+
>
|
717
|
+
{this.renderShortCuts(shortcuts)}
|
718
|
+
|
719
|
+
<Calendar
|
720
|
+
value={date}
|
721
|
+
onChange={this.handleChange}
|
722
|
+
requiredConfirm={!!(dateFormat && timeFormat)}
|
723
|
+
dateFormat={dateFormat}
|
724
|
+
inputFormat={inputFormat}
|
725
|
+
timeFormat={timeFormat}
|
726
|
+
isValidDate={this.checkIsValidDate}
|
727
|
+
viewMode={viewMode}
|
728
|
+
timeConstraints={timeConstraints}
|
729
|
+
input={false}
|
730
|
+
onClose={this.close}
|
731
|
+
locale={locale}
|
732
|
+
minDate={minDate}
|
733
|
+
// utc={utc}
|
734
|
+
/>
|
735
|
+
</PopUp>
|
736
|
+
) : null}
|
701
737
|
</div>
|
702
738
|
);
|
703
739
|
}
|
@@ -13,10 +13,12 @@ import Overlay from './Overlay';
|
|
13
13
|
import {ShortCuts, ShortCutDateRange} from './DatePicker';
|
14
14
|
import Calendar from './calendar/Calendar';
|
15
15
|
import PopOver from './PopOver';
|
16
|
+
import PopUp from './PopUp';
|
16
17
|
import {ClassNamesFn, themeable, ThemeProps} from '../theme';
|
17
18
|
import {PlainObject} from '../types';
|
18
|
-
import {noop, ucFirst} from '../utils/helper';
|
19
|
+
import {isMobile, noop, ucFirst} from '../utils/helper';
|
19
20
|
import {LocaleProps, localeable} from '../locale';
|
21
|
+
import CalendarMobile from './CalendarMobile';
|
20
22
|
|
21
23
|
export interface DateRangePickerProps extends ThemeProps, LocaleProps {
|
22
24
|
className?: string;
|
@@ -47,6 +49,7 @@ export interface DateRangePickerProps extends ThemeProps, LocaleProps {
|
|
47
49
|
embed?: boolean;
|
48
50
|
viewMode?: 'days' | 'months' | 'years' | 'time' | 'quarters';
|
49
51
|
borderMode?: 'full' | 'half' | 'none';
|
52
|
+
useMobileUI?: boolean;
|
50
53
|
}
|
51
54
|
|
52
55
|
export interface DateRangePickerState {
|
@@ -285,6 +288,7 @@ export class DateRangePicker extends React.Component<
|
|
285
288
|
this.handlePopOverClick = this.handlePopOverClick.bind(this);
|
286
289
|
this.renderDay = this.renderDay.bind(this);
|
287
290
|
this.renderQuarter = this.renderQuarter.bind(this);
|
291
|
+
this.handleMobileChange = this.handleMobileChange.bind(this);
|
288
292
|
const {format, joinValues, delimiter, value} = this.props;
|
289
293
|
|
290
294
|
this.state = {
|
@@ -497,6 +501,16 @@ export class DateRangePicker extends React.Component<
|
|
497
501
|
);
|
498
502
|
}
|
499
503
|
|
504
|
+
handleMobileChange(data: any, callback?: () => void) {
|
505
|
+
this.setState(
|
506
|
+
{
|
507
|
+
startDate: data.startDate,
|
508
|
+
endDate: data.endDate
|
509
|
+
},
|
510
|
+
callback
|
511
|
+
);
|
512
|
+
}
|
513
|
+
|
500
514
|
selectRannge(range: PlainObject) {
|
501
515
|
const {closeOnSelect, minDate, maxDate} = this.props;
|
502
516
|
const now = moment();
|
@@ -760,10 +774,20 @@ export class DateRangePicker extends React.Component<
|
|
760
774
|
disabled,
|
761
775
|
embed,
|
762
776
|
overlayPlacement,
|
763
|
-
borderMode
|
777
|
+
borderMode,
|
778
|
+
useMobileUI,
|
779
|
+
timeFormat,
|
780
|
+
minDate,
|
781
|
+
maxDate,
|
782
|
+
minDuration,
|
783
|
+
maxDuration,
|
784
|
+
dateFormat,
|
785
|
+
viewMode = 'days',
|
786
|
+
ranges
|
764
787
|
} = this.props;
|
788
|
+
const useCalendarMobile = useMobileUI && isMobile() && ['days', 'months', 'quarters'].indexOf(viewMode) > -1;
|
765
789
|
|
766
|
-
const {isOpened, isFocused} = this.state;
|
790
|
+
const {isOpened, isFocused, startDate, endDate} = this.state;
|
767
791
|
|
768
792
|
const selectedDate = DateRangePicker.unFormatValue(
|
769
793
|
value,
|
@@ -782,6 +806,25 @@ export class DateRangePicker extends React.Component<
|
|
782
806
|
endViewValue && arr.push(endViewValue);
|
783
807
|
const __ = this.props.translate;
|
784
808
|
|
809
|
+
const calendarMobile = <CalendarMobile
|
810
|
+
timeFormat={timeFormat}
|
811
|
+
inputFormat={inputFormat}
|
812
|
+
startDate={startDate}
|
813
|
+
endDate={endDate}
|
814
|
+
minDate={minDate}
|
815
|
+
maxDate={maxDate}
|
816
|
+
minDuration={minDuration}
|
817
|
+
maxDuration={maxDuration}
|
818
|
+
dateFormat={dateFormat}
|
819
|
+
embed={embed}
|
820
|
+
viewMode={viewMode}
|
821
|
+
close={this.close}
|
822
|
+
confirm={this.confirm}
|
823
|
+
onChange={this.handleMobileChange}
|
824
|
+
footerExtra={this.renderRanges(ranges)}
|
825
|
+
showViewMode={viewMode === 'quarters' || viewMode === 'months' ? 'years' : 'months'}
|
826
|
+
/>;
|
827
|
+
|
785
828
|
if (embed) {
|
786
829
|
return (
|
787
830
|
<div
|
@@ -793,11 +836,15 @@ export class DateRangePicker extends React.Component<
|
|
793
836
|
className
|
794
837
|
)}
|
795
838
|
>
|
796
|
-
{
|
839
|
+
{useCalendarMobile
|
840
|
+
? calendarMobile
|
841
|
+
: this.renderCalendar()}
|
797
842
|
</div>
|
798
843
|
);
|
799
844
|
}
|
800
845
|
|
846
|
+
const CalendarMobileTitle = <div className={`${ns}CalendarMobile-title`}>{__('Calendar.datepicker')}</div>;
|
847
|
+
|
801
848
|
return (
|
802
849
|
<div
|
803
850
|
tabIndex={0}
|
@@ -837,7 +884,19 @@ export class DateRangePicker extends React.Component<
|
|
837
884
|
</a>
|
838
885
|
|
839
886
|
{isOpened ? (
|
840
|
-
|
887
|
+
useMobileUI && isMobile() ? (
|
888
|
+
<PopUp
|
889
|
+
isShow={isOpened}
|
890
|
+
className={cx(`${ns}CalendarMobile-pop`)}
|
891
|
+
onHide={this.close}
|
892
|
+
header={CalendarMobileTitle}
|
893
|
+
>
|
894
|
+
{useCalendarMobile
|
895
|
+
? calendarMobile
|
896
|
+
: this.renderCalendar()}
|
897
|
+
</PopUp>
|
898
|
+
)
|
899
|
+
: <Overlay
|
841
900
|
target={() => this.dom.current}
|
842
901
|
onHide={this.close}
|
843
902
|
container={popOverContainer || (() => findDOMNode(this))}
|
@@ -27,7 +27,13 @@ export class GroupedSelection extends BaseSelection {
|
|
27
27
|
className={cx('GroupedSelection-group', option.className)}
|
28
28
|
>
|
29
29
|
<div className={cx('GroupedSelection-itemLabel')}>
|
30
|
-
{itemRender(option
|
30
|
+
{itemRender(option, {
|
31
|
+
index: index,
|
32
|
+
multiple: multiple,
|
33
|
+
checked: false,
|
34
|
+
onChange: () => undefined,
|
35
|
+
disabled: disabled || option.disabled
|
36
|
+
})}
|
31
37
|
</div>
|
32
38
|
|
33
39
|
<div className={cx('GroupedSelection-items', option.className)}>
|
@@ -52,7 +58,13 @@ export class GroupedSelection extends BaseSelection {
|
|
52
58
|
onClick={() => this.toggleOption(option)}
|
53
59
|
>
|
54
60
|
<div className={cx('GroupedSelection-itemLabel')}>
|
55
|
-
{itemRender(option
|
61
|
+
{itemRender(option, {
|
62
|
+
index: index,
|
63
|
+
multiple: multiple,
|
64
|
+
checked: !!~valueArray.indexOf(option),
|
65
|
+
onChange: () => this.toggleOption(option),
|
66
|
+
disabled: disabled || option.disabled
|
67
|
+
})}
|
56
68
|
</div>
|
57
69
|
|
58
70
|
{multiple ? (
|
@@ -12,14 +12,16 @@ import {Icon} from './icons';
|
|
12
12
|
import Overlay from './Overlay';
|
13
13
|
import Calendar from './calendar/Calendar';
|
14
14
|
import PopOver from './PopOver';
|
15
|
+
import PopUp from './PopUp';
|
15
16
|
import {themeable, ThemeProps} from '../theme';
|
16
17
|
import {PlainObject} from '../types';
|
17
|
-
import {noop} from '../utils/helper';
|
18
|
+
import {isMobile, noop} from '../utils/helper';
|
18
19
|
import {LocaleProps, localeable} from '../locale';
|
19
20
|
import {DateRangePicker} from './DateRangePicker';
|
20
21
|
import capitalize from 'lodash/capitalize';
|
21
22
|
import {ShortCuts, ShortCutDateRange} from './DatePicker';
|
22
23
|
import {availableRanges} from './DateRangePicker';
|
24
|
+
import CalendarMobile from './CalendarMobile';
|
23
25
|
|
24
26
|
export interface MonthRangePickerProps extends ThemeProps, LocaleProps {
|
25
27
|
className?: string;
|
@@ -47,6 +49,7 @@ export interface MonthRangePickerProps extends ThemeProps, LocaleProps {
|
|
47
49
|
resetValue?: any;
|
48
50
|
popOverContainer?: any;
|
49
51
|
embed?: boolean;
|
52
|
+
useMobileUI?: boolean;
|
50
53
|
}
|
51
54
|
|
52
55
|
export interface MonthRangePickerState {
|
@@ -97,6 +100,7 @@ export class MonthRangePicker extends React.Component<
|
|
97
100
|
this.handleKeyPress = this.handleKeyPress.bind(this);
|
98
101
|
this.handlePopOverClick = this.handlePopOverClick.bind(this);
|
99
102
|
this.renderMonth = this.renderMonth.bind(this);
|
103
|
+
this.handleMobileChange = this.handleMobileChange.bind(this);
|
100
104
|
const {format, joinValues, delimiter, value} = this.props;
|
101
105
|
|
102
106
|
this.state = {
|
@@ -278,6 +282,16 @@ export class MonthRangePicker extends React.Component<
|
|
278
282
|
);
|
279
283
|
}
|
280
284
|
|
285
|
+
handleMobileChange(data: any, callback?: () => void) {
|
286
|
+
this.setState(
|
287
|
+
{
|
288
|
+
startDate: data.startDate,
|
289
|
+
endDate: data.endDate
|
290
|
+
},
|
291
|
+
callback
|
292
|
+
);
|
293
|
+
}
|
294
|
+
|
281
295
|
selectRannge(range: PlainObject) {
|
282
296
|
const {closeOnSelect, minDate, maxDate} = this.props;
|
283
297
|
this.setState(
|
@@ -528,10 +542,18 @@ export class MonthRangePicker extends React.Component<
|
|
528
542
|
clearable,
|
529
543
|
disabled,
|
530
544
|
embed,
|
531
|
-
overlayPlacement
|
545
|
+
overlayPlacement,
|
546
|
+
useMobileUI,
|
547
|
+
timeFormat,
|
548
|
+
minDate,
|
549
|
+
maxDate,
|
550
|
+
minDuration,
|
551
|
+
maxDuration,
|
552
|
+
ranges
|
532
553
|
} = this.props;
|
554
|
+
const mobileUI = isMobile() && useMobileUI;
|
533
555
|
|
534
|
-
const {isOpened, isFocused} = this.state;
|
556
|
+
const {isOpened, isFocused, startDate, endDate} = this.state;
|
535
557
|
|
536
558
|
const selectedDate = DateRangePicker.unFormatValue(
|
537
559
|
value,
|
@@ -550,6 +572,24 @@ export class MonthRangePicker extends React.Component<
|
|
550
572
|
endViewValue && arr.push(endViewValue);
|
551
573
|
const __ = this.props.translate;
|
552
574
|
|
575
|
+
const calendarMobile = <CalendarMobile
|
576
|
+
timeFormat={timeFormat}
|
577
|
+
inputFormat={inputFormat}
|
578
|
+
startDate={startDate}
|
579
|
+
endDate={endDate}
|
580
|
+
minDate={minDate}
|
581
|
+
maxDate={maxDate}
|
582
|
+
minDuration={minDuration}
|
583
|
+
maxDuration={maxDuration}
|
584
|
+
embed={embed}
|
585
|
+
viewMode="months"
|
586
|
+
close={this.close}
|
587
|
+
confirm={this.confirm}
|
588
|
+
onChange={this.handleMobileChange}
|
589
|
+
footerExtra={this.renderRanges(ranges)}
|
590
|
+
showViewMode="years"
|
591
|
+
/>;
|
592
|
+
|
553
593
|
if (embed) {
|
554
594
|
return (
|
555
595
|
<div
|
@@ -561,11 +601,15 @@ export class MonthRangePicker extends React.Component<
|
|
561
601
|
className
|
562
602
|
)}
|
563
603
|
>
|
564
|
-
{
|
604
|
+
{mobileUI
|
605
|
+
? calendarMobile
|
606
|
+
: this.renderCalendar()}
|
565
607
|
</div>
|
566
608
|
);
|
567
609
|
}
|
568
610
|
|
611
|
+
const CalendarMobileTitle = <div className={`${ns}CalendarMobile-title`}>{__('Calendar.datepicker')}</div>;
|
612
|
+
|
569
613
|
return (
|
570
614
|
<div
|
571
615
|
tabIndex={0}
|
@@ -604,7 +648,17 @@ export class MonthRangePicker extends React.Component<
|
|
604
648
|
</a>
|
605
649
|
|
606
650
|
{isOpened ? (
|
607
|
-
|
651
|
+
mobileUI ? (
|
652
|
+
<PopUp
|
653
|
+
isShow={isOpened}
|
654
|
+
className={cx(`${ns}CalendarMobile-pop`)}
|
655
|
+
onHide={this.close}
|
656
|
+
header={CalendarMobileTitle}
|
657
|
+
>
|
658
|
+
{calendarMobile}
|
659
|
+
</PopUp>
|
660
|
+
)
|
661
|
+
: <Overlay
|
608
662
|
target={() => this.dom.current}
|
609
663
|
onHide={this.close}
|
610
664
|
container={popOverContainer || (() => findDOMNode(this))}
|
@@ -165,7 +165,7 @@ class Position extends React.Component<any, any> {
|
|
165
165
|
interface OverlayProps {
|
166
166
|
placement?: string;
|
167
167
|
show?: boolean;
|
168
|
-
transition?: React.
|
168
|
+
transition?: React.ElementType;
|
169
169
|
containerPadding?: number;
|
170
170
|
shouldUpdatePosition?: boolean;
|
171
171
|
rootClose?: boolean;
|