amis 1.7.0 → 1.8.0-beta.13
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/lib/Schema.d.ts +10 -2
- package/lib/Schema.js +0 -1
- package/lib/Schema.js.map +2 -2
- package/lib/SchemaRenderer.js +19 -3
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/WithRootStore.d.ts +18 -0
- package/lib/WithStore.js +2 -1
- package/lib/WithStore.js.map +2 -2
- package/lib/actions/CmptAction.js +26 -4
- package/lib/actions/CmptAction.js.map +2 -2
- package/lib/actions/PageAction.d.ts +32 -0
- package/lib/actions/PageAction.js +72 -0
- package/lib/actions/PageAction.js.map +13 -0
- package/lib/actions/index.d.ts +1 -0
- package/lib/actions/index.js +1 -0
- package/lib/actions/index.js.map +2 -2
- package/lib/components/Alert2.js +4 -2
- package/lib/components/Alert2.js.map +2 -2
- package/lib/components/AssociatedSelection.js +9 -2
- package/lib/components/AssociatedSelection.js.map +2 -2
- package/lib/components/Avatar.d.ts +20 -20
- package/lib/components/BarCode.js +1 -1
- package/lib/components/BarCode.js.map +2 -2
- package/lib/components/CalendarMobile.d.ts +84 -84
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/Cascader.d.ts +2 -0
- package/lib/components/Cascader.js +28 -12
- package/lib/components/Cascader.js.map +2 -2
- package/lib/components/Checkbox.d.ts +24 -23
- package/lib/components/Checkbox.js +5 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/CityArea.js +3 -0
- package/lib/components/CityArea.js.map +2 -2
- package/lib/components/Collapse.d.ts +20 -20
- package/lib/components/DatePicker.d.ts +87 -84
- package/lib/components/DatePicker.js +48 -11
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +285 -171
- package/lib/components/DateRangePicker.js +471 -66
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/Drawer.js +1 -1
- package/lib/components/Drawer.js.map +2 -2
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/Modal.js +1 -1
- package/lib/components/Modal.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/Overlay.d.ts +1 -0
- package/lib/components/Overlay.js +4 -3
- package/lib/components/Overlay.js.map +2 -2
- package/lib/components/Progress.d.ts +29 -24
- package/lib/components/Progress.js +52 -21
- package/lib/components/Progress.js.map +2 -2
- package/lib/components/PullRefresh.d.ts +86 -0
- package/lib/components/PullRefresh.js +135 -0
- package/lib/components/PullRefresh.js.map +13 -0
- package/lib/components/Radios.d.ts +22 -22
- package/lib/components/Radios.js +3 -5
- package/lib/components/Radios.js.map +2 -2
- package/lib/components/Range.d.ts +2 -2
- package/lib/components/Range.js +24 -11
- package/lib/components/Range.js.map +2 -2
- package/lib/components/Spinner.d.ts +200 -107
- package/lib/components/Spinner.js +30 -26
- package/lib/components/Spinner.js.map +2 -2
- package/lib/components/Steps.d.ts +6 -0
- package/lib/components/Steps.js +13 -9
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/Tabs.d.ts +27 -23
- package/lib/components/Tabs.js +37 -22
- package/lib/components/Tabs.js.map +2 -2
- package/lib/components/Tooltip.d.ts +4 -0
- package/lib/components/Tooltip.js +6 -4
- package/lib/components/Tooltip.js.map +2 -2
- package/lib/components/TooltipWrapper.d.ts +87 -24
- package/lib/components/TooltipWrapper.js +40 -8
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/Transfer.d.ts +84 -84
- package/lib/components/TransferDropDown.d.ts +84 -84
- package/lib/components/Tree.d.ts +87 -85
- package/lib/components/Tree.js +13 -5
- package/lib/components/Tree.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +84 -84
- package/lib/components/calendar/Calendar.js +3 -12
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/TimeView.d.ts +1 -0
- package/lib/components/calendar/TimeView.js +7 -0
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/calendar/YearsView.js +3 -3
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/components/condition-builder/Expression.d.ts +1 -0
- package/lib/components/condition-builder/Expression.js +4 -4
- package/lib/components/condition-builder/Expression.js.map +2 -2
- package/lib/components/condition-builder/Field.d.ts +1 -0
- package/lib/components/condition-builder/Field.js +3 -2
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Group.d.ts +1 -0
- package/lib/components/condition-builder/Group.js +2 -2
- package/lib/components/condition-builder/Group.js.map +2 -2
- package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
- package/lib/components/condition-builder/GroupOrItem.js +2 -2
- package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
- package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
- package/lib/components/condition-builder/InputSwitch.js +2 -2
- package/lib/components/condition-builder/InputSwitch.js.map +2 -2
- package/lib/components/condition-builder/Item.d.ts +1 -0
- package/lib/components/condition-builder/Item.js +9 -8
- package/lib/components/condition-builder/Item.js.map +2 -2
- package/lib/components/condition-builder/Value.d.ts +1 -0
- package/lib/components/condition-builder/Value.js +5 -5
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/index.d.ts +1 -0
- package/lib/components/condition-builder/index.js +2 -2
- package/lib/components/condition-builder/index.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +90 -86
- package/lib/components/formula/Editor.js +26 -4
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.d.ts +5 -0
- package/lib/components/formula/Picker.js +21 -4
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/icons.js +2 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/factory.d.ts +5 -0
- package/lib/factory.js +24 -3
- package/lib/factory.js.map +2 -2
- package/lib/icons/trash.js +10 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +18 -1
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +18 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +18 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +3 -1
- package/lib/renderers/Action.js +23 -5
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/App.d.ts +1 -0
- package/lib/renderers/App.js +3 -0
- package/lib/renderers/App.js.map +2 -2
- package/lib/renderers/ButtonGroup.d.ts +2 -2
- package/lib/renderers/ButtonGroup.js.map +1 -1
- package/lib/renderers/CRUD.d.ts +8 -0
- package/lib/renderers/CRUD.js +12 -5
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Carousel.d.ts +1 -0
- package/lib/renderers/Carousel.js +13 -1
- package/lib/renderers/Carousel.js.map +2 -2
- package/lib/renderers/Chart.d.ts +1 -0
- package/lib/renderers/Chart.js +3 -0
- package/lib/renderers/Chart.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +5 -0
- package/lib/renderers/Dialog.js +7 -3
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.d.ts +1 -0
- package/lib/renderers/Drawer.js +6 -1
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +2 -0
- package/lib/renderers/DropDownButton.js +13 -4
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/Checkbox.d.ts +5 -2
- package/lib/renderers/Form/Checkbox.js +2 -2
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.d.ts +7 -2
- package/lib/renderers/Form/Checkboxes.js +101 -12
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/Combo.d.ts +6 -4
- package/lib/renderers/Form/Combo.js +132 -45
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +3 -2
- package/lib/renderers/Form/Editor.d.ts +2 -2
- package/lib/renderers/Form/InputCity.d.ts +87 -84
- package/lib/renderers/Form/InputCity.js +48 -3
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +10 -3
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.d.ts +5 -0
- package/lib/renderers/Form/InputDateRange.js +12 -3
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +19 -8
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +4 -0
- package/lib/renderers/Form/InputFormula.js +2 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +18 -7
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputMonthRange.js +5 -1
- package/lib/renderers/Form/InputMonthRange.js.map +2 -2
- package/lib/renderers/Form/InputRange.d.ts +2 -2
- package/lib/renderers/Form/InputRange.js +13 -14
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/InputTable.js +4 -2
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Form/InputText.d.ts +1 -1
- package/lib/renderers/Form/InputText.js +8 -10
- package/lib/renderers/Form/InputText.js.map +2 -2
- package/lib/renderers/Form/InputTree.d.ts +5 -0
- package/lib/renderers/Form/InputTree.js +51 -2
- package/lib/renderers/Form/InputTree.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +79 -76
- package/lib/renderers/Form/Item.js +3 -1
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.d.ts +4 -0
- package/lib/renderers/Form/NestedSelect.js +14 -5
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Options.js +61 -27
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.js +4 -2
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/Textarea.js +2 -1
- package/lib/renderers/Form/Textarea.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.d.ts +11 -2
- package/lib/renderers/Form/TreeSelect.js +56 -10
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.d.ts +3 -0
- package/lib/renderers/Form/index.js +53 -16
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.d.ts +10 -0
- package/lib/renderers/Form/wrapControl.js +41 -19
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Nav.d.ts +82 -67
- package/lib/renderers/Nav.js +49 -13
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.d.ts +21 -0
- package/lib/renderers/Page.js +56 -17
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Progress.d.ts +4 -7
- package/lib/renderers/Progress.js +3 -3
- package/lib/renderers/Progress.js.map +2 -2
- package/lib/renderers/Service.d.ts +3 -0
- package/lib/renderers/Service.js +55 -20
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Spinner.d.ts +58 -2
- package/lib/renderers/Spinner.js +8 -1
- package/lib/renderers/Spinner.js.map +2 -2
- package/lib/renderers/Steps.d.ts +8 -0
- package/lib/renderers/Steps.js +2 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
- package/lib/renderers/Table/ColumnToggler.js +11 -6
- package/lib/renderers/Table/ColumnToggler.js.map +2 -2
- package/lib/renderers/Table/TableCell.js +27 -1
- package/lib/renderers/Table/TableCell.js.map +2 -2
- package/lib/renderers/Table/TableRow.js +1 -1
- package/lib/renderers/Table/TableRow.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +2 -0
- package/lib/renderers/Table/index.js +23 -10
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +14 -2
- package/lib/renderers/Tabs.js +24 -8
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/TooltipWrapper.d.ts +133 -0
- package/lib/renderers/TooltipWrapper.js +70 -0
- package/lib/renderers/TooltipWrapper.js.map +13 -0
- package/lib/renderers/Wizard.d.ts +7 -3
- package/lib/renderers/Wizard.js +269 -152
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/store/combo.d.ts +2 -2
- package/lib/store/crud.d.ts +1 -0
- package/lib/store/crud.js +55 -19
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +1 -1
- package/lib/store/form.js +5 -1
- package/lib/store/form.js.map +2 -2
- package/lib/store/formItem.js +1 -1
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/index.d.ts +5 -0
- package/lib/store/index.js +14 -0
- package/lib/store/index.js.map +2 -2
- package/lib/store/table.d.ts +2 -2
- package/lib/store/table.js +4 -4
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +965 -210
- package/lib/themes/ang.css +955 -175
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +1080 -325
- package/lib/themes/antd.css +956 -176
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1048 -293
- package/lib/themes/cxd.css +961 -180
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +965 -210
- package/lib/themes/dark.css +955 -175
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +1048 -293
- package/lib/themes/default.css +961 -180
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +3 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/ColorScale.d.ts +19 -0
- package/lib/utils/ColorScale.js +104 -0
- package/lib/utils/ColorScale.js.map +13 -0
- package/lib/utils/api.js +20 -4
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/columnsSplit.d.ts +1 -0
- package/lib/utils/columnsSplit.js +40 -0
- package/lib/utils/columnsSplit.js.map +13 -0
- package/lib/utils/debug.d.ts +1 -1
- package/lib/utils/debug.js +16 -22
- package/lib/utils/debug.js.map +2 -2
- package/lib/utils/dom.d.ts +1 -1
- package/lib/utils/dom.js +7 -5
- package/lib/utils/dom.js.map +2 -2
- package/lib/utils/position.js +0 -1
- package/lib/utils/position.js.map +2 -2
- package/lib/utils/scrollPosition.d.ts +6 -0
- package/lib/utils/scrollPosition.js +31 -0
- package/lib/utils/scrollPosition.js.map +13 -0
- package/package.json +3 -2
- package/schema.json +30213 -29222
- package/scss/_properties.scss +67 -25
- package/scss/components/_alert.scss +1 -1
- package/scss/components/_barcode.scss +1 -1
- package/scss/components/_button-group.scss +15 -0
- package/scss/components/_carousel.scss +1 -0
- package/scss/components/_column-toggler.scss +21 -11
- package/scss/components/_debug.scss +3 -3
- package/scss/components/_formula.scss +19 -1
- package/scss/components/_nav.scss +51 -6
- package/scss/components/_progress.scss +7 -14
- package/scss/components/_pull-refresh.scss +25 -0
- package/scss/components/_spinner.scss +134 -56
- package/scss/components/_steps.scss +199 -8
- package/scss/components/_tabs.scss +145 -13
- package/scss/components/_tooltip.scss +76 -9
- package/scss/components/form/_checks.scss +125 -2
- package/scss/components/form/_combo.scss +13 -1
- package/scss/components/form/_date-range.scss +27 -2
- package/scss/components/form/_date.scss +25 -0
- package/scss/components/form/_editor.scss +2 -1
- package/scss/components/form/_file.scss +4 -0
- package/scss/components/form/_form.scss +31 -8
- package/scss/components/form/_number.scss +5 -2
- package/scss/components/form/_select.scss +0 -1
- package/scss/components/form/_textarea.scss +1 -23
- package/scss/components/form/_transfer.scss +3 -2
- package/scss/themes/_antd-variables.scss +1 -1
- package/scss/themes/_common.scss +1 -0
- package/scss/themes/_cxd-variables.scss +6 -5
- package/sdk/ang-ie11.css +1059 -198
- package/sdk/ang.css +1050 -164
- package/sdk/antd-ie11.css +1167 -306
- package/sdk/antd.css +1051 -165
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +1145 -284
- package/sdk/cxd.css +1056 -169
- package/sdk/dark-ie11.css +1056 -195
- package/sdk/dark.css +1050 -164
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +18 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +17 -17
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +1145 -284
- package/sdk/sdk.css +1056 -169
- package/sdk/sdk.js +1321 -1273
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +15 -2
- package/src/SchemaRenderer.tsx +32 -14
- package/src/WithStore.tsx +3 -1
- package/src/actions/CmptAction.ts +28 -0
- package/src/actions/PageAction.ts +62 -0
- package/src/actions/index.ts +1 -0
- package/src/components/Alert2.tsx +9 -3
- package/src/components/AssociatedSelection.tsx +9 -3
- package/src/components/BarCode.tsx +2 -2
- package/src/components/Cascader.tsx +37 -11
- package/src/components/Checkbox.tsx +11 -5
- package/src/components/CityArea.tsx +3 -0
- package/src/components/DatePicker.tsx +68 -22
- package/src/components/DateRangePicker.tsx +551 -88
- package/src/components/Drawer.tsx +1 -0
- package/src/components/Modal.tsx +1 -0
- package/src/components/Overlay.tsx +6 -3
- package/src/components/Progress.tsx +64 -33
- package/src/components/PullRefresh.tsx +197 -0
- package/src/components/Radios.tsx +6 -17
- package/src/components/Range.tsx +26 -12
- package/src/components/Spinner.tsx +77 -42
- package/src/components/Steps.tsx +28 -27
- package/src/components/Tabs.tsx +51 -21
- package/src/components/Tooltip.tsx +12 -3
- package/src/components/TooltipWrapper.tsx +140 -33
- package/src/components/Tree.tsx +19 -5
- package/src/components/calendar/Calendar.tsx +4 -13
- package/src/components/calendar/TimeView.tsx +12 -0
- package/src/components/calendar/YearsView.tsx +3 -4
- package/src/components/condition-builder/Expression.tsx +6 -1
- package/src/components/condition-builder/Field.tsx +5 -1
- package/src/components/condition-builder/Group.tsx +4 -1
- package/src/components/condition-builder/GroupOrItem.tsx +4 -1
- package/src/components/condition-builder/InputSwitch.tsx +4 -1
- package/src/components/condition-builder/Item.tsx +28 -4
- package/src/components/condition-builder/Value.tsx +7 -1
- package/src/components/condition-builder/index.tsx +4 -2
- package/src/components/formula/Editor.tsx +46 -10
- package/src/components/formula/Picker.tsx +32 -1
- package/src/components/icons.tsx +2 -0
- package/src/factory.tsx +31 -3
- package/src/icons/trash.svg +8 -0
- package/src/index.tsx +1 -0
- package/src/locale/de-DE.ts +18 -1
- package/src/locale/en-US.ts +18 -1
- package/src/locale/zh-CN.ts +18 -1
- package/src/renderers/Action.tsx +24 -2
- package/src/renderers/App.tsx +4 -0
- package/src/renderers/ButtonGroup.tsx +2 -2
- package/src/renderers/CRUD.tsx +23 -5
- package/src/renderers/Carousel.tsx +8 -0
- package/src/renderers/Chart.tsx +4 -0
- package/src/renderers/Dialog.tsx +21 -3
- package/src/renderers/Drawer.tsx +14 -2
- package/src/renderers/DropDownButton.tsx +14 -3
- package/src/renderers/Form/Checkbox.tsx +11 -2
- package/src/renderers/Form/Checkboxes.tsx +106 -23
- package/src/renderers/Form/Combo.tsx +179 -66
- package/src/renderers/Form/InputCity.tsx +46 -5
- package/src/renderers/Form/InputDate.tsx +18 -4
- package/src/renderers/Form/InputDateRange.tsx +27 -3
- package/src/renderers/Form/InputFile.tsx +23 -7
- package/src/renderers/Form/InputFormula.tsx +7 -0
- package/src/renderers/Form/InputImage.tsx +22 -6
- package/src/renderers/Form/InputMonthRange.tsx +7 -1
- package/src/renderers/Form/InputRange.tsx +20 -22
- package/src/renderers/Form/InputTable.tsx +6 -2
- package/src/renderers/Form/InputText.tsx +14 -4
- package/src/renderers/Form/InputTree.tsx +40 -2
- package/src/renderers/Form/Item.tsx +7 -0
- package/src/renderers/Form/NestedSelect.tsx +23 -4
- package/src/renderers/Form/Options.tsx +26 -7
- package/src/renderers/Form/Select.tsx +5 -3
- package/src/renderers/Form/Textarea.tsx +3 -1
- package/src/renderers/Form/TreeSelect.tsx +47 -9
- package/src/renderers/Form/index.tsx +56 -25
- package/src/renderers/Form/wrapControl.tsx +23 -12
- package/src/renderers/Nav.tsx +231 -33
- package/src/renderers/Page.tsx +97 -35
- package/src/renderers/Progress.tsx +9 -11
- package/src/renderers/Service.tsx +66 -27
- package/src/renderers/Spinner.tsx +85 -3
- package/src/renderers/Steps.tsx +14 -0
- package/src/renderers/Table/ColumnToggler.tsx +36 -11
- package/src/renderers/Table/TableCell.tsx +39 -1
- package/src/renderers/Table/TableRow.tsx +1 -1
- package/src/renderers/Table/index.tsx +43 -19
- package/src/renderers/Tabs.tsx +90 -31
- package/src/renderers/TooltipWrapper.tsx +262 -0
- package/src/renderers/Wizard.tsx +169 -93
- package/src/store/crud.ts +50 -5
- package/src/store/form.ts +8 -3
- package/src/store/formItem.ts +1 -2
- package/src/store/index.ts +20 -0
- package/src/store/table.ts +4 -4
- package/src/types.ts +8 -1
- package/src/utils/ColorScale.ts +138 -0
- package/src/utils/api.ts +26 -4
- package/src/utils/columnsSplit.tsx +57 -0
- package/src/utils/debug.tsx +17 -24
- package/src/utils/dom.tsx +7 -6
- package/src/utils/position.ts +0 -1
- package/src/utils/scrollPosition.ts +29 -0
@@ -5,12 +5,11 @@
|
|
5
5
|
* @author fex
|
6
6
|
*/
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
8
|
-
exports.DateRangePicker = exports.availableRanges = void 0;
|
8
|
+
exports.DateRangePicker = exports.advancedRanges = exports.availableRanges = void 0;
|
9
9
|
var tslib_1 = require("tslib");
|
10
10
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
11
11
|
var moment_1 = (0, tslib_1.__importDefault)(require("moment"));
|
12
12
|
var react_dom_1 = require("react-dom");
|
13
|
-
var classnames_1 = (0, tslib_1.__importDefault)(require("classnames"));
|
14
13
|
var icons_1 = require("./icons");
|
15
14
|
var Overlay_1 = (0, tslib_1.__importDefault)(require("./Overlay"));
|
16
15
|
var Calendar_1 = (0, tslib_1.__importDefault)(require("./calendar/Calendar"));
|
@@ -20,6 +19,7 @@ var theme_1 = require("../theme");
|
|
20
19
|
var helper_1 = require("../utils/helper");
|
21
20
|
var locale_1 = require("../locale");
|
22
21
|
var CalendarMobile_1 = (0, tslib_1.__importDefault)(require("./CalendarMobile"));
|
22
|
+
var Input_1 = (0, tslib_1.__importDefault)(require("./Input"));
|
23
23
|
exports.availableRanges = {
|
24
24
|
'today': {
|
25
25
|
label: 'Date.today',
|
@@ -39,8 +39,18 @@ exports.availableRanges = {
|
|
39
39
|
return now.add(-1, 'days').endOf('day');
|
40
40
|
}
|
41
41
|
},
|
42
|
-
'
|
43
|
-
label: '
|
42
|
+
'tomorrow': {
|
43
|
+
label: 'Date.tomorrow',
|
44
|
+
startDate: function (now) {
|
45
|
+
return now.add(1, 'days').startOf('day');
|
46
|
+
},
|
47
|
+
endDate: function (now) {
|
48
|
+
return now.add(1, 'days').endOf('day');
|
49
|
+
}
|
50
|
+
},
|
51
|
+
// 兼容一下错误的用法
|
52
|
+
'1daysago': {
|
53
|
+
label: 'DateRange.1daysago',
|
44
54
|
startDate: function (now) {
|
45
55
|
return now.add(-1, 'days');
|
46
56
|
},
|
@@ -148,6 +158,176 @@ exports.availableRanges = {
|
|
148
158
|
}
|
149
159
|
}
|
150
160
|
};
|
161
|
+
exports.advancedRanges = [
|
162
|
+
{
|
163
|
+
regexp: /^(\d+)hoursago$/,
|
164
|
+
resolve: function (__, _, hours) {
|
165
|
+
return {
|
166
|
+
label: __('DateRange.hoursago', { hours: hours }),
|
167
|
+
startDate: function (now) {
|
168
|
+
return now.add(-hours, 'hours').startOf('hour');
|
169
|
+
},
|
170
|
+
endDate: function (now) {
|
171
|
+
return now.add(-1, 'hours').endOf('hours');
|
172
|
+
}
|
173
|
+
};
|
174
|
+
}
|
175
|
+
},
|
176
|
+
{
|
177
|
+
regexp: /^(\d+)hourslater$/,
|
178
|
+
resolve: function (__, _, hours) {
|
179
|
+
return {
|
180
|
+
label: __('DateRange.hourslater', { hours: hours }),
|
181
|
+
startDate: function (now) {
|
182
|
+
return now.startOf('hour');
|
183
|
+
},
|
184
|
+
endDate: function (now) {
|
185
|
+
return now.add(hours, 'hours').endOf('hour');
|
186
|
+
}
|
187
|
+
};
|
188
|
+
}
|
189
|
+
},
|
190
|
+
{
|
191
|
+
regexp: /^(\d+)daysago$/,
|
192
|
+
resolve: function (__, _, days) {
|
193
|
+
return {
|
194
|
+
label: __('DateRange.daysago', { days: days }),
|
195
|
+
startDate: function (now) {
|
196
|
+
return now.add(-days, 'days').startOf('day');
|
197
|
+
},
|
198
|
+
endDate: function (now) {
|
199
|
+
return now.add(-1, 'days').endOf('day');
|
200
|
+
}
|
201
|
+
};
|
202
|
+
}
|
203
|
+
},
|
204
|
+
{
|
205
|
+
regexp: /^(\d+)dayslater$/,
|
206
|
+
resolve: function (__, _, days) {
|
207
|
+
return {
|
208
|
+
label: __('DateRange.dayslater', { days: days }),
|
209
|
+
startDate: function (now) {
|
210
|
+
return now.startOf('day');
|
211
|
+
},
|
212
|
+
endDate: function (now) {
|
213
|
+
return now.add(days, 'days').endOf('day');
|
214
|
+
}
|
215
|
+
};
|
216
|
+
}
|
217
|
+
},
|
218
|
+
{
|
219
|
+
regexp: /^(\d+)weeksago$/,
|
220
|
+
resolve: function (__, _, weeks) {
|
221
|
+
return {
|
222
|
+
label: __('DateRange.weeksago', { weeks: weeks }),
|
223
|
+
startDate: function (now) {
|
224
|
+
return now.startOf('week').add(-weeks, 'weeks');
|
225
|
+
},
|
226
|
+
endDate: function (now) {
|
227
|
+
return now.startOf('week').add(-1, 'days').endOf('day');
|
228
|
+
}
|
229
|
+
};
|
230
|
+
}
|
231
|
+
},
|
232
|
+
{
|
233
|
+
regexp: /^(\d+)weekslater$/,
|
234
|
+
resolve: function (__, _, weeks) {
|
235
|
+
return {
|
236
|
+
label: __('DateRange.weekslater', { weeks: weeks }),
|
237
|
+
startDate: function (now) {
|
238
|
+
return now.startOf('week');
|
239
|
+
},
|
240
|
+
endDate: function (now) {
|
241
|
+
return now.startOf('week').add(weeks, 'weeks').endOf('day');
|
242
|
+
}
|
243
|
+
};
|
244
|
+
}
|
245
|
+
},
|
246
|
+
{
|
247
|
+
regexp: /^(\d+)monthsago$/,
|
248
|
+
resolve: function (__, _, months) {
|
249
|
+
return {
|
250
|
+
label: __('DateRange.monthsago', { months: months }),
|
251
|
+
startDate: function (now) {
|
252
|
+
return now.startOf('months').add(-months, 'months');
|
253
|
+
},
|
254
|
+
endDate: function (now) {
|
255
|
+
return now.startOf('month').add(-1, 'days').endOf('day');
|
256
|
+
}
|
257
|
+
};
|
258
|
+
}
|
259
|
+
},
|
260
|
+
{
|
261
|
+
regexp: /^(\d+)monthslater$/,
|
262
|
+
resolve: function (__, _, months) {
|
263
|
+
return {
|
264
|
+
label: __('DateRange.monthslater', { months: months }),
|
265
|
+
startDate: function (now) {
|
266
|
+
return now.startOf('month');
|
267
|
+
},
|
268
|
+
endDate: function (now) {
|
269
|
+
return now.startOf('month').add(months, 'months').endOf('day');
|
270
|
+
}
|
271
|
+
};
|
272
|
+
}
|
273
|
+
},
|
274
|
+
{
|
275
|
+
regexp: /^(\d+)quartersago$/,
|
276
|
+
resolve: function (__, _, quarters) {
|
277
|
+
return {
|
278
|
+
label: __('DateRange.quartersago', { quarters: quarters }),
|
279
|
+
startDate: function (now) {
|
280
|
+
return now.startOf('quarters').add(-quarters, 'quarters');
|
281
|
+
},
|
282
|
+
endDate: function (now) {
|
283
|
+
return now.startOf('quarter').add(-1, 'days').endOf('day');
|
284
|
+
}
|
285
|
+
};
|
286
|
+
}
|
287
|
+
},
|
288
|
+
{
|
289
|
+
regexp: /^(\d+)quarterslater$/,
|
290
|
+
resolve: function (__, _, quarters) {
|
291
|
+
return {
|
292
|
+
label: __('DateRange.quarterslater', { quarters: quarters }),
|
293
|
+
startDate: function (now) {
|
294
|
+
return now.startOf('quarter');
|
295
|
+
},
|
296
|
+
endDate: function (now) {
|
297
|
+
return now.startOf('quarter').add(quarters, 'quarters').endOf('day');
|
298
|
+
}
|
299
|
+
};
|
300
|
+
}
|
301
|
+
},
|
302
|
+
{
|
303
|
+
regexp: /^(\d+)yearsago$/,
|
304
|
+
resolve: function (__, _, years) {
|
305
|
+
return {
|
306
|
+
label: __('DateRange.yearsago', { years: years }),
|
307
|
+
startDate: function (now) {
|
308
|
+
return now.startOf('years').add(-years, 'years');
|
309
|
+
},
|
310
|
+
endDate: function (now) {
|
311
|
+
return now.startOf('year').add(-1, 'days').endOf('day');
|
312
|
+
}
|
313
|
+
};
|
314
|
+
}
|
315
|
+
},
|
316
|
+
{
|
317
|
+
regexp: /^(\d+)yearslater$/,
|
318
|
+
resolve: function (__, _, years) {
|
319
|
+
return {
|
320
|
+
label: __('DateRange.yearslater', { years: years }),
|
321
|
+
startDate: function (now) {
|
322
|
+
return now.startOf('year');
|
323
|
+
},
|
324
|
+
endDate: function (now) {
|
325
|
+
return now.startOf('year').add(years, 'years').endOf('day');
|
326
|
+
}
|
327
|
+
};
|
328
|
+
}
|
329
|
+
}
|
330
|
+
];
|
151
331
|
var DateRangePicker = /** @class */ (function (_super) {
|
152
332
|
(0, tslib_1.__extends)(DateRangePicker, _super);
|
153
333
|
function DateRangePicker(props) {
|
@@ -155,9 +335,20 @@ var DateRangePicker = /** @class */ (function (_super) {
|
|
155
335
|
// 是否是第一次点击,如果是第一次点击就可以点任意地址
|
156
336
|
_this.isFirstClick = true;
|
157
337
|
_this.nextMonth = (0, moment_1.default)().add(1, 'months');
|
338
|
+
_this.startInputRef = react_1.default.createRef();
|
339
|
+
_this.endInputRef = react_1.default.createRef();
|
340
|
+
_this.calendarRef = react_1.default.createRef();
|
158
341
|
_this.open = _this.open.bind(_this);
|
342
|
+
_this.openStart = _this.openStart.bind(_this);
|
343
|
+
_this.openEnd = _this.openEnd.bind(_this);
|
159
344
|
_this.close = _this.close.bind(_this);
|
160
|
-
_this.
|
345
|
+
_this.startInputChange = _this.startInputChange.bind(_this);
|
346
|
+
_this.endInputChange = _this.endInputChange.bind(_this);
|
347
|
+
_this.handleDateChange = _this.handleDateChange.bind(_this);
|
348
|
+
_this.handleStartDateChange = _this.handleStartDateChange.bind(_this);
|
349
|
+
_this.handeleEndDateChange = _this.handeleEndDateChange.bind(_this);
|
350
|
+
_this.handleTimeStartChange = _this.handleTimeStartChange.bind(_this);
|
351
|
+
_this.handleTimeEndChange = _this.handleTimeEndChange.bind(_this);
|
161
352
|
_this.handleFocus = _this.handleFocus.bind(_this);
|
162
353
|
_this.handleBlur = _this.handleBlur.bind(_this);
|
163
354
|
_this.checkStartIsValidDate = _this.checkStartIsValidDate.bind(_this);
|
@@ -171,8 +362,17 @@ var DateRangePicker = /** @class */ (function (_super) {
|
|
171
362
|
_this.renderDay = _this.renderDay.bind(_this);
|
172
363
|
_this.renderQuarter = _this.renderQuarter.bind(_this);
|
173
364
|
_this.handleMobileChange = _this.handleMobileChange.bind(_this);
|
174
|
-
|
175
|
-
_this.
|
365
|
+
_this.handleOutClick = _this.handleOutClick.bind(_this);
|
366
|
+
var _a = _this.props, format = _a.format, joinValues = _a.joinValues, delimiter = _a.delimiter, value = _a.value, inputFormat = _a.inputFormat;
|
367
|
+
var _b = DateRangePicker.unFormatValue(value, format, joinValues, delimiter), startDate = _b.startDate, endDate = _b.endDate;
|
368
|
+
_this.state = {
|
369
|
+
isOpened: false,
|
370
|
+
isFocused: false,
|
371
|
+
startDate: startDate,
|
372
|
+
endDate: endDate,
|
373
|
+
startInputValue: startDate === null || startDate === void 0 ? void 0 : startDate.format(inputFormat),
|
374
|
+
endInputValue: endDate === null || endDate === void 0 ? void 0 : endDate.format(inputFormat)
|
375
|
+
};
|
176
376
|
return _this;
|
177
377
|
}
|
178
378
|
DateRangePicker.formatValue = function (newValue, format, joinValues, delimiter, utc) {
|
@@ -201,11 +401,36 @@ var DateRangePicker = /** @class */ (function (_super) {
|
|
201
401
|
endDate: value[1] ? (0, moment_1.default)(value[1], format) : undefined
|
202
402
|
};
|
203
403
|
};
|
404
|
+
DateRangePicker.prototype.componentDidMount = function () {
|
405
|
+
document.body.addEventListener('click', this.handleOutClick, true);
|
406
|
+
};
|
407
|
+
DateRangePicker.prototype.componentWillUnmount = function () {
|
408
|
+
document.body.removeEventListener('click', this.handleOutClick, true);
|
409
|
+
};
|
410
|
+
DateRangePicker.prototype.handleOutClick = function (e) {
|
411
|
+
if (!e.target ||
|
412
|
+
!this.dom.current ||
|
413
|
+
this.dom.current.contains(e.target) ||
|
414
|
+
!this.calendarRef.current ||
|
415
|
+
this.calendarRef.current.contains(e.target)) {
|
416
|
+
return;
|
417
|
+
}
|
418
|
+
if (this.state.isOpened) {
|
419
|
+
e.preventDefault();
|
420
|
+
this.close();
|
421
|
+
}
|
422
|
+
};
|
204
423
|
DateRangePicker.prototype.componentDidUpdate = function (prevProps) {
|
205
424
|
var props = this.props;
|
206
|
-
var value = props.value, format = props.format, joinValues = props.joinValues, delimiter = props.delimiter;
|
425
|
+
var value = props.value, format = props.format, joinValues = props.joinValues, inputFormat = props.inputFormat, delimiter = props.delimiter;
|
207
426
|
if (prevProps.value !== value) {
|
208
|
-
|
427
|
+
var _a = DateRangePicker.unFormatValue(value, format, joinValues, delimiter), startDate = _a.startDate, endDate = _a.endDate;
|
428
|
+
this.setState({
|
429
|
+
startDate: startDate,
|
430
|
+
endDate: endDate,
|
431
|
+
startInputValue: startDate === null || startDate === void 0 ? void 0 : startDate.format(inputFormat),
|
432
|
+
endInputValue: endDate === null || endDate === void 0 ? void 0 : endDate.format(inputFormat)
|
433
|
+
});
|
209
434
|
}
|
210
435
|
};
|
211
436
|
DateRangePicker.prototype.focus = function () {
|
@@ -242,9 +467,28 @@ var DateRangePicker = /** @class */ (function (_super) {
|
|
242
467
|
isOpened: true
|
243
468
|
});
|
244
469
|
};
|
470
|
+
DateRangePicker.prototype.openStart = function () {
|
471
|
+
if (this.props.disabled) {
|
472
|
+
return;
|
473
|
+
}
|
474
|
+
this.setState({
|
475
|
+
isOpened: true,
|
476
|
+
editState: 'start'
|
477
|
+
});
|
478
|
+
};
|
479
|
+
DateRangePicker.prototype.openEnd = function () {
|
480
|
+
if (this.props.disabled) {
|
481
|
+
return;
|
482
|
+
}
|
483
|
+
this.setState({
|
484
|
+
isOpened: true,
|
485
|
+
editState: 'end'
|
486
|
+
});
|
487
|
+
};
|
245
488
|
DateRangePicker.prototype.close = function () {
|
246
489
|
this.setState({
|
247
|
-
isOpened: false
|
490
|
+
isOpened: false,
|
491
|
+
editState: undefined
|
248
492
|
}, this.blur);
|
249
493
|
};
|
250
494
|
DateRangePicker.prototype.handleClick = function () {
|
@@ -297,44 +541,180 @@ var DateRangePicker = /** @class */ (function (_super) {
|
|
297
541
|
}
|
298
542
|
return value;
|
299
543
|
};
|
300
|
-
DateRangePicker.prototype.
|
544
|
+
DateRangePicker.prototype.handleDateChange = function (newValue) {
|
545
|
+
var editState = this.state.editState;
|
546
|
+
if (editState === 'start') {
|
547
|
+
this.handleStartDateChange(newValue);
|
548
|
+
}
|
549
|
+
else if (editState === 'end') {
|
550
|
+
this.handeleEndDateChange(newValue);
|
551
|
+
}
|
552
|
+
};
|
553
|
+
DateRangePicker.prototype.handleStartDateChange = function (newValue) {
|
554
|
+
var _a = this.props, timeFormat = _a.timeFormat, minDate = _a.minDate, inputFormat = _a.inputFormat, type = _a.type;
|
555
|
+
var startDate = this.state.startDate;
|
556
|
+
if (minDate && newValue.isBefore(minDate)) {
|
557
|
+
newValue = minDate;
|
558
|
+
}
|
559
|
+
var date = this.filterDate(newValue, startDate || minDate, timeFormat, 'start');
|
560
|
+
var newState = {
|
561
|
+
startDate: date,
|
562
|
+
startInputValue: date.format(inputFormat)
|
563
|
+
};
|
564
|
+
// 这些没有时间的选择点第一次后第二次就是选结束时间
|
565
|
+
if (type === 'input-date-range' ||
|
566
|
+
type === 'input-year-range' ||
|
567
|
+
type === 'input-quarter-range') {
|
568
|
+
newState.editState = 'end';
|
569
|
+
}
|
570
|
+
this.setState(newState);
|
571
|
+
};
|
572
|
+
DateRangePicker.prototype.handeleEndDateChange = function (newValue) {
|
301
573
|
var _this = this;
|
302
|
-
var _a = this.props, embed = _a.embed, timeFormat = _a.timeFormat,
|
574
|
+
var _a = this.props, embed = _a.embed, timeFormat = _a.timeFormat, inputFormat = _a.inputFormat;
|
303
575
|
var _b = this.state, startDate = _b.startDate, endDate = _b.endDate;
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
if (newValue.isBefore(startDate)) {
|
308
|
-
this.isFirstClick = true;
|
309
|
-
}
|
310
|
-
if (minDate && newValue.isBefore(minDate)) {
|
311
|
-
newValue = minDate;
|
312
|
-
}
|
576
|
+
newValue = this.getEndDateByDuration(newValue);
|
577
|
+
// 如果结束时间在前面,需要清空开始时间
|
578
|
+
if (newValue.isBefore(startDate)) {
|
313
579
|
this.setState({
|
314
|
-
startDate:
|
315
|
-
|
580
|
+
startDate: undefined,
|
581
|
+
startInputValue: ''
|
316
582
|
});
|
317
583
|
}
|
584
|
+
var date = this.filterDate(newValue, endDate, timeFormat, 'end');
|
585
|
+
this.setState({
|
586
|
+
endDate: date,
|
587
|
+
endInputValue: date.format(inputFormat)
|
588
|
+
}, function () {
|
589
|
+
embed && _this.confirm();
|
590
|
+
});
|
591
|
+
};
|
592
|
+
// 手动控制输入时间
|
593
|
+
DateRangePicker.prototype.startInputChange = function (e) {
|
594
|
+
var _a = this.props, onChange = _a.onChange, inputFormat = _a.inputFormat, format = _a.format, utc = _a.utc;
|
595
|
+
var value = e.currentTarget.value;
|
596
|
+
this.setState({ startInputValue: value });
|
597
|
+
if (value === '') {
|
598
|
+
onChange('');
|
599
|
+
}
|
318
600
|
else {
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
this.
|
332
|
-
|
333
|
-
|
334
|
-
|
601
|
+
var newDate = this.getStartDateByDuration((0, moment_1.default)(value, inputFormat));
|
602
|
+
this.setState({ startDate: newDate });
|
603
|
+
}
|
604
|
+
};
|
605
|
+
DateRangePicker.prototype.endInputChange = function (e) {
|
606
|
+
var _a = this.props, onChange = _a.onChange, inputFormat = _a.inputFormat, format = _a.format, utc = _a.utc;
|
607
|
+
var value = e.currentTarget.value;
|
608
|
+
this.setState({ endInputValue: value });
|
609
|
+
if (value === '') {
|
610
|
+
onChange('');
|
611
|
+
}
|
612
|
+
else {
|
613
|
+
var newDate = this.getEndDateByDuration((0, moment_1.default)(value, inputFormat));
|
614
|
+
this.setState({ endDate: newDate });
|
615
|
+
}
|
616
|
+
};
|
617
|
+
// 根据 duration 修复结束时间
|
618
|
+
DateRangePicker.prototype.getEndDateByDuration = function (newValue) {
|
619
|
+
var _a = this.props, minDuration = _a.minDuration, maxDuration = _a.maxDuration, type = _a.type;
|
620
|
+
var _b = this.state, startDate = _b.startDate, endDate = _b.endDate, editState = _b.editState;
|
621
|
+
if (!startDate) {
|
622
|
+
return newValue;
|
623
|
+
}
|
624
|
+
// 时间范围必须统一成同一天,不然会不一致
|
625
|
+
if (type === 'input-time-range' && startDate) {
|
626
|
+
newValue.set({
|
627
|
+
year: startDate.year(),
|
628
|
+
month: startDate.month(),
|
629
|
+
date: startDate.date()
|
630
|
+
});
|
631
|
+
}
|
632
|
+
if (minDuration && newValue.isBefore(startDate.clone().add(minDuration))) {
|
633
|
+
newValue = startDate.clone().add(minDuration);
|
634
|
+
}
|
635
|
+
if (maxDuration && newValue.isAfter(startDate.clone().add(maxDuration))) {
|
636
|
+
newValue = startDate.clone().add(maxDuration);
|
637
|
+
}
|
638
|
+
return newValue;
|
639
|
+
};
|
640
|
+
// 根据 duration 修复起始时间
|
641
|
+
DateRangePicker.prototype.getStartDateByDuration = function (newValue) {
|
642
|
+
var _a = this.props, minDuration = _a.minDuration, maxDuration = _a.maxDuration, type = _a.type;
|
643
|
+
var _b = this.state, endDate = _b.endDate, editState = _b.editState;
|
644
|
+
if (!endDate) {
|
645
|
+
return newValue;
|
646
|
+
}
|
647
|
+
// 时间范围必须统一成同一天,不然会不一致
|
648
|
+
if (type === 'input-time-range' && endDate) {
|
649
|
+
newValue.set({
|
650
|
+
year: endDate.year(),
|
651
|
+
month: endDate.month(),
|
652
|
+
date: endDate.date()
|
653
|
+
});
|
654
|
+
}
|
655
|
+
if (minDuration &&
|
656
|
+
newValue.isBefore(endDate.clone().subtract(minDuration))) {
|
657
|
+
newValue = endDate.clone().subtract(minDuration);
|
658
|
+
}
|
659
|
+
if (maxDuration &&
|
660
|
+
newValue.isAfter(endDate.clone().subtract(maxDuration))) {
|
661
|
+
newValue = endDate.clone().subtract(maxDuration);
|
662
|
+
}
|
663
|
+
return newValue;
|
664
|
+
};
|
665
|
+
// 主要用于处理时间的情况
|
666
|
+
DateRangePicker.prototype.handleTimeStartChange = function (newValue) {
|
667
|
+
var _this = this;
|
668
|
+
var _a = this.props, embed = _a.embed, timeFormat = _a.timeFormat, inputFormat = _a.inputFormat, minDuration = _a.minDuration, maxDuration = _a.maxDuration, minDate = _a.minDate;
|
669
|
+
var _b = this.state, startDate = _b.startDate, endDate = _b.endDate;
|
670
|
+
// 时间范围必须统一成同一天,不然会不一致
|
671
|
+
if (endDate) {
|
672
|
+
newValue.set({
|
673
|
+
year: endDate.year(),
|
674
|
+
month: endDate.month(),
|
675
|
+
date: endDate.date()
|
335
676
|
});
|
336
677
|
}
|
337
|
-
|
678
|
+
if (minDate && newValue && newValue.isBefore(minDate, 'second')) {
|
679
|
+
newValue = minDate;
|
680
|
+
}
|
681
|
+
this.setState({
|
682
|
+
startDate: newValue,
|
683
|
+
startInputValue: newValue.format(inputFormat)
|
684
|
+
}, function () {
|
685
|
+
embed && _this.confirm();
|
686
|
+
});
|
687
|
+
};
|
688
|
+
DateRangePicker.prototype.handleTimeEndChange = function (newValue) {
|
689
|
+
var _this = this;
|
690
|
+
var _a = this.props, embed = _a.embed, timeFormat = _a.timeFormat, inputFormat = _a.inputFormat, minDuration = _a.minDuration, maxDuration = _a.maxDuration, maxDate = _a.maxDate;
|
691
|
+
var _b = this.state, startDate = _b.startDate, endDate = _b.endDate;
|
692
|
+
if (startDate) {
|
693
|
+
newValue.set({
|
694
|
+
year: startDate.year(),
|
695
|
+
month: startDate.month(),
|
696
|
+
date: startDate.date()
|
697
|
+
});
|
698
|
+
}
|
699
|
+
if (maxDate && newValue && newValue.isAfter(maxDate, 'second')) {
|
700
|
+
newValue = maxDate;
|
701
|
+
}
|
702
|
+
if (startDate &&
|
703
|
+
minDuration &&
|
704
|
+
newValue.isAfter(startDate.clone().add(minDuration))) {
|
705
|
+
newValue = startDate.clone().add(minDuration);
|
706
|
+
}
|
707
|
+
if (startDate &&
|
708
|
+
maxDuration &&
|
709
|
+
newValue.isBefore(startDate.clone().add(maxDuration))) {
|
710
|
+
newValue = startDate.clone().add(maxDuration);
|
711
|
+
}
|
712
|
+
this.setState({
|
713
|
+
endDate: newValue,
|
714
|
+
endInputValue: newValue.format(inputFormat)
|
715
|
+
}, function () {
|
716
|
+
embed && _this.confirm();
|
717
|
+
});
|
338
718
|
};
|
339
719
|
DateRangePicker.prototype.handleMobileChange = function (data, callback) {
|
340
720
|
this.setState({
|
@@ -374,8 +754,21 @@ var DateRangePicker = /** @class */ (function (_super) {
|
|
374
754
|
}
|
375
755
|
var range = {};
|
376
756
|
if (typeof item === 'string') {
|
377
|
-
|
378
|
-
|
757
|
+
if (exports.availableRanges[item]) {
|
758
|
+
range = exports.availableRanges[item];
|
759
|
+
range.key = item;
|
760
|
+
}
|
761
|
+
else {
|
762
|
+
// 通过正则尝试匹配
|
763
|
+
for (var i = 0, len = exports.advancedRanges.length; i < len; i++) {
|
764
|
+
var value = exports.advancedRanges[i];
|
765
|
+
var m = value.regexp.exec(item);
|
766
|
+
if (m) {
|
767
|
+
range = value.resolve.apply(item, (0, tslib_1.__spreadArray)([__], m, true));
|
768
|
+
range.key = item;
|
769
|
+
}
|
770
|
+
}
|
771
|
+
}
|
379
772
|
}
|
380
773
|
else if (item.startDate &&
|
381
774
|
item.endDate) {
|
@@ -389,6 +782,7 @@ var DateRangePicker = /** @class */ (function (_super) {
|
|
389
782
|
e.preventDefault();
|
390
783
|
e.stopPropagation();
|
391
784
|
var _a = this.props, resetValue = _a.resetValue, onChange = _a.onChange;
|
785
|
+
this.setState({ startInputValue: '', endInputValue: '' });
|
392
786
|
onChange(resetValue);
|
393
787
|
};
|
394
788
|
DateRangePicker.prototype.checkStartIsValidDate = function (currentDate) {
|
@@ -472,62 +866,73 @@ var DateRangePicker = /** @class */ (function (_super) {
|
|
472
866
|
quarter)));
|
473
867
|
};
|
474
868
|
DateRangePicker.prototype.renderCalendar = function () {
|
475
|
-
var _a
|
869
|
+
var _a;
|
870
|
+
var _b = this.props, ns = _b.classPrefix, cx = _b.classnames, dateFormat = _b.dateFormat, timeFormat = _b.timeFormat, inputFormat = _b.inputFormat, ranges = _b.ranges, locale = _b.locale, embed = _b.embed, type = _b.type, _c = _b.viewMode, viewMode = _c === void 0 ? 'days' : _c;
|
476
871
|
var __ = this.props.translate;
|
477
|
-
var
|
478
|
-
return (react_1.default.createElement("div", { className: "".concat(ns, "DateRangePicker-wrap") },
|
872
|
+
var _d = this.state, startDate = _d.startDate, endDate = _d.endDate;
|
873
|
+
return (react_1.default.createElement("div", { className: "".concat(ns, "DateRangePicker-wrap"), ref: this.calendarRef },
|
479
874
|
this.renderRanges(ranges),
|
480
|
-
react_1.default.createElement(Calendar_1.default, { className: "".concat(ns, "DateRangePicker-start"), value: startDate,
|
481
|
-
|
875
|
+
react_1.default.createElement(Calendar_1.default, { className: "".concat(ns, "DateRangePicker-start"), value: startDate,
|
876
|
+
// 区分的原因是 time-range 左侧就只能选起始时间,而其它都能在左侧同时同时选择起始和结束
|
877
|
+
// TODO: 后续得把 time-range 代码拆分出来
|
878
|
+
onChange: type === 'input-datetime-range'
|
879
|
+
? this.handleStartDateChange
|
880
|
+
: viewMode === 'time'
|
881
|
+
? this.handleTimeStartChange
|
882
|
+
: this.handleDateChange, requiredConfirm: false, dateFormat: dateFormat, inputFormat: inputFormat, timeFormat: timeFormat, isValidDate: this.checkStartIsValidDate, viewMode: viewMode, input: false, onClose: this.close, renderDay: this.renderDay, renderQuarter: this.renderQuarter, locale: locale }),
|
883
|
+
react_1.default.createElement(Calendar_1.default, { className: "".concat(ns, "DateRangePicker-end"), value: endDate, onChange: type === 'input-datetime-range'
|
884
|
+
? this.handeleEndDateChange
|
885
|
+
: viewMode === 'time'
|
886
|
+
? this.handleTimeEndChange
|
887
|
+
: this.handleDateChange, requiredConfirm: false, dateFormat: dateFormat, inputFormat: inputFormat, timeFormat: timeFormat, viewDate: this.nextMonth, isEndDate: true, isValidDate: this.checkEndIsValidDate, viewMode: viewMode, input: false, onClose: this.close, renderDay: this.renderDay, renderQuarter: this.renderQuarter, locale: locale }),
|
482
888
|
embed ? null : (react_1.default.createElement("div", { key: "button", className: "".concat(ns, "DateRangePicker-actions") },
|
483
889
|
react_1.default.createElement("a", { className: cx('Button', 'Button--default'), onClick: this.close }, __('cancel')),
|
484
890
|
react_1.default.createElement("a", { className: cx('Button', 'Button--primary', 'm-l-sm', {
|
485
|
-
'is-disabled': !this.state.startDate ||
|
891
|
+
'is-disabled': !this.state.startDate ||
|
892
|
+
!this.state.endDate ||
|
893
|
+
((_a = this.state.endDate) === null || _a === void 0 ? void 0 : _a.isBefore(this.state.startDate))
|
486
894
|
}), onClick: this.confirm }, __('confirm'))))));
|
487
895
|
};
|
488
896
|
DateRangePicker.prototype.render = function () {
|
489
897
|
var _a;
|
490
898
|
var _this = this;
|
491
|
-
var _b = this.props, className = _b.className, popoverClassName = _b.popoverClassName, ns = _b.classPrefix, value = _b.value,
|
899
|
+
var _b = this.props, className = _b.className, popoverClassName = _b.popoverClassName, ns = _b.classPrefix, cx = _b.classnames, value = _b.value, startPlaceholder = _b.startPlaceholder, endPlaceholder = _b.endPlaceholder, popOverContainer = _b.popOverContainer, inputFormat = _b.inputFormat, format = _b.format, joinValues = _b.joinValues, delimiter = _b.delimiter, clearable = _b.clearable, disabled = _b.disabled, embed = _b.embed, overlayPlacement = _b.overlayPlacement, borderMode = _b.borderMode, useMobileUI = _b.useMobileUI, timeFormat = _b.timeFormat, minDate = _b.minDate, maxDate = _b.maxDate, minDuration = _b.minDuration, maxDuration = _b.maxDuration, dateFormat = _b.dateFormat, _c = _b.viewMode, viewMode = _c === void 0 ? 'days' : _c, ranges = _b.ranges;
|
492
900
|
var useCalendarMobile = useMobileUI &&
|
493
901
|
(0, helper_1.isMobile)() &&
|
494
902
|
['days', 'months', 'quarters'].indexOf(viewMode) > -1;
|
495
903
|
var _d = this.state, isOpened = _d.isOpened, isFocused = _d.isFocused, startDate = _d.startDate, endDate = _d.endDate;
|
496
|
-
var selectedDate = DateRangePicker.unFormatValue(value, format, joinValues, delimiter);
|
497
|
-
var startViewValue = selectedDate.startDate
|
498
|
-
? selectedDate.startDate.format(inputFormat)
|
499
|
-
: '';
|
500
|
-
var endViewValue = selectedDate.endDate
|
501
|
-
? selectedDate.endDate.format(inputFormat)
|
502
|
-
: '';
|
503
|
-
var arr = [];
|
504
|
-
startViewValue && arr.push(startViewValue);
|
505
|
-
endViewValue && arr.push(endViewValue);
|
506
904
|
var __ = this.props.translate;
|
507
905
|
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, dateFormat: dateFormat, embed: embed, viewMode: viewMode, close: this.close, confirm: this.confirm, onChange: this.handleMobileChange, footerExtra: this.renderRanges(ranges), showViewMode: viewMode === 'quarters' || viewMode === 'months' ? 'years' : 'months' }));
|
508
906
|
if (embed) {
|
509
|
-
return (react_1.default.createElement("div", { className: (
|
907
|
+
return (react_1.default.createElement("div", { className: cx("".concat(ns, "DateRangeCalendar"), {
|
510
908
|
'is-disabled': disabled
|
511
909
|
}, className) }, useCalendarMobile ? calendarMobile : this.renderCalendar()));
|
512
910
|
}
|
513
911
|
var CalendarMobileTitle = (react_1.default.createElement("div", { className: "".concat(ns, "CalendarMobile-title") }, __('Calendar.datepicker')));
|
514
|
-
return (react_1.default.createElement("div", { tabIndex: 0, onKeyPress: this.handleKeyPress, onFocus: this.handleFocus, onBlur: this.handleBlur, className: (
|
912
|
+
return (react_1.default.createElement("div", { tabIndex: 0, onKeyPress: this.handleKeyPress, onFocus: this.handleFocus, onBlur: this.handleBlur, className: cx("".concat(ns, "DateRangePicker"), (_a = {
|
515
913
|
'is-disabled': disabled,
|
516
914
|
'is-focused': isFocused
|
517
915
|
},
|
518
916
|
_a["".concat(ns, "DateRangePicker--border").concat((0, helper_1.ucFirst)(borderMode))] = borderMode,
|
519
917
|
_a['is-mobile'] = useMobileUI && (0, helper_1.isMobile)(),
|
520
|
-
_a), className), ref: this.dom
|
521
|
-
|
918
|
+
_a), className), ref: this.dom },
|
919
|
+
react_1.default.createElement(Input_1.default, { className: cx('DateRangePicker-input', {
|
920
|
+
isActive: this.state.editState === 'start'
|
921
|
+
}), onChange: this.startInputChange, onClick: this.openStart, ref: this.startInputRef, placeholder: __(startPlaceholder), autoComplete: "off", value: this.state.startInputValue || '', disabled: disabled }),
|
922
|
+
react_1.default.createElement("span", { className: cx('DateRangePicker-input-separator') }, "~"),
|
923
|
+
react_1.default.createElement(Input_1.default, { className: cx('DateRangePicker-input', {
|
924
|
+
isActive: this.state.editState === 'end'
|
925
|
+
}), onChange: this.endInputChange, onClick: this.openEnd, ref: this.endInputRef, placeholder: __(endPlaceholder), autoComplete: "off", value: this.state.endInputValue || '', disabled: disabled }),
|
522
926
|
clearable && !disabled && value ? (react_1.default.createElement("a", { className: "".concat(ns, "DateRangePicker-clear"), onClick: this.clearValue },
|
523
927
|
react_1.default.createElement(icons_1.Icon, { icon: "input-clear", className: "icon" }))) : null,
|
524
928
|
react_1.default.createElement("a", { className: "".concat(ns, "DateRangePicker-toggler") },
|
525
929
|
react_1.default.createElement(icons_1.Icon, { icon: "clock", className: "icon" })),
|
526
|
-
isOpened ? (useMobileUI && (0, helper_1.isMobile)() ? (react_1.default.createElement(PopUp_1.default, { isShow: isOpened, container: popOverContainer, className: (
|
527
|
-
react_1.default.createElement(PopOver_1.default, { classPrefix: ns, className: (
|
930
|
+
isOpened ? (useMobileUI && (0, helper_1.isMobile)() ? (react_1.default.createElement(PopUp_1.default, { isShow: isOpened, container: popOverContainer, className: cx("".concat(ns, "CalendarMobile-pop")), onHide: this.close, header: CalendarMobileTitle }, useCalendarMobile ? calendarMobile : this.renderCalendar())) : (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 },
|
931
|
+
react_1.default.createElement(PopOver_1.default, { classPrefix: ns, className: cx("".concat(ns, "DateRangePicker-popover"), popoverClassName), onHide: this.close, onClick: this.handlePopOverClick }, this.renderCalendar())))) : null));
|
528
932
|
};
|
529
933
|
DateRangePicker.defaultProps = {
|
530
|
-
|
934
|
+
startPlaceholder: 'Calendar.startPick',
|
935
|
+
endPlaceholder: 'Calendar.endPick',
|
531
936
|
format: 'X',
|
532
937
|
inputFormat: 'YYYY-MM-DD',
|
533
938
|
joinValues: true,
|