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
@@ -9,6 +9,7 @@ var Spinner_1 = (0, tslib_1.__importDefault)(require("../../components/Spinner")
|
|
9
9
|
var Select_1 = (0, tslib_1.__importDefault)(require("../../components/Select"));
|
10
10
|
var CityArea_1 = (0, tslib_1.__importDefault)(require("../../components/CityArea"));
|
11
11
|
var helper_1 = require("../../utils/helper");
|
12
|
+
var types_1 = require("../../types");
|
12
13
|
var Options_1 = require("./Options");
|
13
14
|
var locale_1 = require("../../locale");
|
14
15
|
var CityPicker = /** @class */ (function (_super) {
|
@@ -158,7 +159,7 @@ var CityPicker = /** @class */ (function (_super) {
|
|
158
159
|
};
|
159
160
|
CityPicker.prototype.syncOut = function () {
|
160
161
|
var _a = this.props, onChange = _a.onChange, allowStreet = _a.allowStreet, joinValues = _a.joinValues, extractValue = _a.extractValue, delimiter = _a.delimiter;
|
161
|
-
var _b = this.state, code = _b.code, province = _b.province, city = _b.city, district = _b.district, street = _b.street;
|
162
|
+
var _b = this.state, code = _b.code, province = _b.province, city = _b.city, district = _b.district, street = _b.street, provinceCode = _b.provinceCode, cityCode = _b.cityCode, districtCode = _b.districtCode;
|
162
163
|
if (typeof extractValue === 'undefined' ? joinValues : extractValue) {
|
163
164
|
code
|
164
165
|
? onChange(allowStreet && street
|
@@ -169,8 +170,11 @@ var CityPicker = /** @class */ (function (_super) {
|
|
169
170
|
else {
|
170
171
|
onChange({
|
171
172
|
code: code,
|
173
|
+
provinceCode: provinceCode,
|
172
174
|
province: province,
|
175
|
+
cityCode: cityCode,
|
173
176
|
city: city,
|
177
|
+
districtCode: districtCode,
|
174
178
|
district: district,
|
175
179
|
street: street
|
176
180
|
});
|
@@ -265,11 +269,52 @@ var LocationControl = /** @class */ (function (_super) {
|
|
265
269
|
function LocationControl() {
|
266
270
|
return _super !== null && _super.apply(this, arguments) || this;
|
267
271
|
}
|
272
|
+
LocationControl.prototype.doAction = function (action, data, throwErrors) {
|
273
|
+
var _a = this.props, resetValue = _a.resetValue, onChange = _a.onChange;
|
274
|
+
var actionType = action === null || action === void 0 ? void 0 : action.actionType;
|
275
|
+
if (!!~['clear', 'reset'].indexOf(actionType)) {
|
276
|
+
onChange(resetValue !== null && resetValue !== void 0 ? resetValue : '');
|
277
|
+
}
|
278
|
+
};
|
279
|
+
LocationControl.prototype.handleChange = function (value) {
|
280
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
281
|
+
var _a, dispatchEvent, data, onChange, rendererEvent;
|
282
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
283
|
+
switch (_b.label) {
|
284
|
+
case 0:
|
285
|
+
_a = this.props, dispatchEvent = _a.dispatchEvent, data = _a.data, onChange = _a.onChange;
|
286
|
+
return [4 /*yield*/, dispatchEvent('change', (0, helper_1.createObject)(data, {
|
287
|
+
value: value
|
288
|
+
}))];
|
289
|
+
case 1:
|
290
|
+
rendererEvent = _b.sent();
|
291
|
+
if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
|
292
|
+
return [2 /*return*/];
|
293
|
+
}
|
294
|
+
onChange(value);
|
295
|
+
return [2 /*return*/];
|
296
|
+
}
|
297
|
+
});
|
298
|
+
});
|
299
|
+
};
|
268
300
|
LocationControl.prototype.render = function () {
|
269
|
-
var _a = this.props, value = _a.value,
|
301
|
+
var _a = this.props, value = _a.value, allowCity = _a.allowCity, allowDistrict = _a.allowDistrict, extractValue = _a.extractValue, joinValues = _a.joinValues, allowStreet = _a.allowStreet, disabled = _a.disabled, searchable = _a.searchable, env = _a.env, useMobileUI = _a.useMobileUI;
|
270
302
|
var mobileUI = useMobileUI && (0, helper_1.isMobile)();
|
271
|
-
return mobileUI ? (react_1.default.createElement(CityArea_1.default, { value: value, popOverContainer: env && env.getModalContainer ? env.getModalContainer : undefined, onChange:
|
303
|
+
return mobileUI ? (react_1.default.createElement(CityArea_1.default, { value: value, popOverContainer: env && env.getModalContainer ? env.getModalContainer : undefined, onChange: this.handleChange, allowCity: allowCity, allowDistrict: allowDistrict, extractValue: extractValue, joinValues: joinValues, allowStreet: allowStreet, disabled: disabled, useMobileUI: useMobileUI })) : (react_1.default.createElement(ThemedCity, { searchable: searchable, value: value, onChange: this.handleChange, allowCity: allowCity, allowDistrict: allowDistrict, extractValue: extractValue, joinValues: joinValues, allowStreet: allowStreet, disabled: disabled }));
|
272
304
|
};
|
305
|
+
var _f;
|
306
|
+
(0, tslib_1.__decorate)([
|
307
|
+
helper_1.autobind,
|
308
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
309
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_f = typeof types_1.Action !== "undefined" && types_1.Action) === "function" ? _f : Object, Object, Boolean]),
|
310
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
311
|
+
], LocationControl.prototype, "doAction", null);
|
312
|
+
(0, tslib_1.__decorate)([
|
313
|
+
helper_1.autobind,
|
314
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
315
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object]),
|
316
|
+
(0, tslib_1.__metadata)("design:returntype", Promise)
|
317
|
+
], LocationControl.prototype, "handleChange", null);
|
273
318
|
return LocationControl;
|
274
319
|
}(react_1.default.Component));
|
275
320
|
exports.LocationControl = LocationControl;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputCity.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AACnE,qCAAgE;AAChE,kFAA+C;AAC/C,gFAA6C;AAC7C,oFAAiD;AACjD,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport {ClassNamesFn, themeable, ThemeProps} from '../../theme';\nimport Spinner from '../../components/Spinner';\nimport Select from '../../components/Select';\nimport CityArea from '../../components/CityArea';\nimport {autobind, isMobile} from '../../utils/helper';\nimport {Option} from './Options';\nimport {localeable, LocaleProps} from '../../locale';\n\n/**\n * City 城市选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/city\n */\nexport interface InputCityControlSchema extends FormBaseControl {\n /**\n * 指定为城市选择框。\n */\n type: 'input-city';\n\n /**\n * 开启后只会存城市的 code 信息\n */\n extractValue?: boolean;\n\n /**\n * 是否将各个信息拼接成字符串。\n */\n joinValues?: boolean;\n\n /**\n * 拼接的符号是啥?\n */\n delimiter?: string;\n\n /**\n * 允许选择城市?\n */\n allowCity?: boolean;\n\n /**\n * 允许选择地区?\n */\n allowDistrict?: boolean;\n\n /**\n * 允许选择街道?\n */\n allowStreet?: boolean;\n\n /**\n * 是否显示搜索框\n */\n searchable?: boolean;\n}\n\nexport interface CityPickerProps\n extends Omit<InputCityControlSchema, 'type' | 'className'>,\n LocaleProps,\n ThemeProps {\n value: any;\n onChange: (value: any) => void;\n\n extractValue: boolean;\n delimiter: string;\n allowCity: boolean;\n allowDistrict: boolean;\n allowStreet: boolean;\n useMobileUI?: boolean;\n}\n\nexport interface CityPickerState {\n code: number;\n province: string;\n provinceCode: number;\n city: string;\n cityCode: number;\n district: string;\n districtCode: number;\n street: string;\n\n db?: {\n province: Array<string>;\n city: {\n [propName: number]: Array<number>;\n };\n district: {\n [propName: number]:\n | {\n [propName: number]: Array<number>;\n }\n | Array<number>;\n };\n [propName: string]: any;\n };\n}\n\nexport class CityPicker extends React.Component<\n CityPickerProps,\n CityPickerState\n> {\n static defaultProps = {\n joinValues: true,\n extractValue: true,\n delimiter: ',',\n allowCity: true,\n allowDistrict: true,\n allowStreet: false\n };\n\n state: CityPickerState = {\n code: 0,\n province: '',\n provinceCode: 0,\n city: '',\n cityCode: 0,\n district: '',\n districtCode: 0,\n street: ''\n };\n\n componentDidMount() {\n this.loadDb(() => this.syncIn());\n }\n\n componentDidUpdate(prevProps: CityPickerProps) {\n const props = this.props;\n\n if (props.value !== prevProps.value) {\n this.loadDb(() => this.syncIn(props));\n }\n }\n\n loadDb(callback?: () => void) {\n if (this.state.db) {\n callback?.();\n return;\n }\n\n import('./CityDB').then(db => {\n this.setState(\n {\n db: {\n ...db.default,\n province: db.province as any,\n city: db.city,\n district: db.district\n }\n },\n callback\n );\n });\n\n // require.ensure(['./CityDB'], (db: any) =>\n // this.setState(\n // {\n // db: {\n // ...db.default,\n // province: db.province,\n // city: db.city,\n // district: db.district\n // }\n // },\n // callback\n // )\n // );\n }\n\n @autobind\n handleProvinceChange(option: Option) {\n this.setState(\n {\n province: option.label as string,\n provinceCode: option.value as number,\n city: '',\n cityCode: 0,\n district: '',\n districtCode: 0,\n street: '',\n code: option.value\n },\n this.syncOut\n );\n }\n\n @autobind\n handleCityChange(option: Option) {\n if (option.value % 100) {\n return this.handleDistrictChange(option, {\n cityCode: option.value as number\n });\n }\n\n this.setState(\n {\n city: option.label as string,\n cityCode: option.value as number,\n district: '',\n districtCode: 0,\n street: '',\n code: option.value\n },\n this.syncOut\n );\n }\n\n @autobind\n handleDistrictChange(\n option: Option,\n otherStates: Partial<CityPickerState> = {}\n ) {\n this.setState(\n {\n ...(otherStates as any),\n district: option.label as string,\n districtCode: option.value as number,\n street: '',\n code: option.value as number\n },\n this.syncOut\n );\n }\n\n @autobind\n handleStreetChange(e: React.ChangeEvent<HTMLInputElement>) {\n this.setState({\n street: e.currentTarget.value\n });\n }\n\n @autobind\n handleStreetEnd() {\n this.syncOut();\n }\n\n @autobind\n syncIn(props = this.props) {\n const db = this.state.db!;\n const {value, delimiter} = props;\n\n if (!db) {\n return;\n }\n\n const state = {\n code: 0,\n province: '',\n provinceCode: 0,\n city: '',\n cityCode: 0,\n district: '',\n districtCode: 0,\n street: ''\n };\n\n let code =\n (value && value.code) ||\n (typeof value === 'number' && value) ||\n (typeof value === 'string' && /(\\d{6})/.test(value) && RegExp.$1);\n\n if (code && db[code]) {\n code = parseInt(code, 10);\n state.code = code;\n\n const provinceCode = code - (code % 10000);\n if (db[provinceCode]) {\n state.provinceCode = provinceCode;\n state.province = db[provinceCode];\n }\n\n const cityCode = code - (code % 100);\n if (db[cityCode]) {\n state.cityCode = cityCode;\n state.city = db[cityCode];\n } else if (~db.city[provinceCode]?.indexOf(code)) {\n state.cityCode = code;\n state.city = db[code];\n }\n\n if (code % 100) {\n state.district = db[code];\n state.districtCode = code;\n }\n } else if (value) {\n // todo 模糊查找\n }\n\n if (value && value.street) {\n state.street = value.street;\n } else if (typeof value === 'string' && ~value.indexOf(delimiter)) {\n state.street = value.slice(value.indexOf(delimiter) + delimiter.length);\n }\n\n this.setState(state);\n }\n\n @autobind\n syncOut() {\n const {onChange, allowStreet, joinValues, extractValue, delimiter} =\n this.props;\n\n const {code, province, city, district, street} = this.state;\n\n if (typeof extractValue === 'undefined' ? joinValues : extractValue) {\n code\n ? onChange(\n allowStreet && street\n ? [code, street].join(delimiter)\n : String(code)\n )\n : onChange('');\n } else {\n onChange({\n code,\n province,\n city,\n district,\n street\n });\n }\n }\n\n render() {\n const {\n classnames: cx,\n className,\n disabled,\n allowCity,\n allowDistrict,\n allowStreet,\n searchable,\n translate: __\n } = this.props;\n\n const {provinceCode, cityCode, districtCode, street, db} = this.state;\n\n return db ? (\n <div className={cx('CityPicker', className)}>\n <Select\n searchable={searchable}\n disabled={disabled}\n options={db.province.map(item => ({\n label: db[item],\n value: item\n }))}\n value={provinceCode}\n onChange={this.handleProvinceChange}\n />\n\n {provinceCode &&\n allowDistrict &&\n Array.isArray(db.district[provinceCode]) ? (\n <Select\n searchable={searchable}\n disabled={disabled}\n options={(db.district[provinceCode] as Array<number>).map(item => ({\n label: db[item],\n value: item\n }))}\n value={districtCode}\n onChange={this.handleDistrictChange}\n />\n ) : allowCity &&\n db.city[provinceCode] &&\n db.city[provinceCode].length ? (\n <Select\n searchable={searchable}\n disabled={disabled}\n options={db.city[provinceCode].map(item => ({\n label: db[item],\n value: item\n }))}\n value={cityCode}\n onChange={this.handleCityChange}\n />\n ) : null}\n\n {cityCode &&\n allowDistrict &&\n (db.district[provinceCode]?.[cityCode] as any)?.length ? (\n <Select\n searchable={searchable}\n disabled={disabled}\n options={(db.district[provinceCode][cityCode] as Array<number>).map(\n item => ({\n label: db[item],\n value: item\n })\n )}\n value={districtCode}\n onChange={this.handleDistrictChange}\n />\n ) : null}\n\n {allowStreet && provinceCode ? (\n <input\n className={cx('CityPicker-input')}\n value={street}\n onChange={this.handleStreetChange}\n onBlur={this.handleStreetEnd}\n placeholder={__('City.street')}\n disabled={disabled}\n />\n ) : null}\n </div>\n ) : (\n <Spinner show size=\"sm\" />\n );\n }\n}\n\nconst ThemedCity = themeable(localeable(CityPicker));\nexport default ThemedCity;\n\nexport interface LocationControlProps extends FormControlProps {\n allowCity?: boolean;\n allowDistrict?: boolean;\n extractValue?: boolean;\n joinValues?: boolean;\n allowStreet?: boolean;\n}\nexport class LocationControl extends React.Component<LocationControlProps> {\n render() {\n const {\n value,\n onChange,\n allowCity,\n allowDistrict,\n extractValue,\n joinValues,\n allowStreet,\n disabled,\n searchable,\n env,\n useMobileUI\n } = this.props;\n const mobileUI = useMobileUI && isMobile();\n return mobileUI ? (\n <CityArea\n value={value}\n popOverContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n onChange={onChange}\n allowCity={allowCity}\n allowDistrict={allowDistrict}\n extractValue={extractValue}\n joinValues={joinValues}\n allowStreet={allowStreet}\n disabled={disabled}\n useMobileUI={useMobileUI}\n />\n ) : (\n <ThemedCity\n searchable={searchable}\n value={value}\n onChange={onChange}\n allowCity={allowCity}\n allowDistrict={allowDistrict}\n extractValue={extractValue}\n joinValues={joinValues}\n allowStreet={allowStreet}\n disabled={disabled}\n />\n );\n }\n}\n\n@FormItem({\n type: 'input-city',\n sizeMutable: false\n})\nexport class CheckboxControlRenderer extends LocationControl {}\n"
|
11
|
+
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport {ClassNamesFn, themeable, ThemeProps} from '../../theme';\nimport Spinner from '../../components/Spinner';\nimport Select from '../../components/Select';\nimport CityArea from '../../components/CityArea';\nimport {autobind, isMobile, createObject} from '../../utils/helper';\nimport {Action} from '../../types';\nimport {Option} from './Options';\nimport {localeable, LocaleProps} from '../../locale';\n\n/**\n * City 城市选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/city\n */\nexport interface InputCityControlSchema extends FormBaseControl {\n /**\n * 指定为城市选择框。\n */\n type: 'input-city';\n\n /**\n * 开启后只会存城市的 code 信息\n */\n extractValue?: boolean;\n\n /**\n * 是否将各个信息拼接成字符串。\n */\n joinValues?: boolean;\n\n /**\n * 拼接的符号是啥?\n */\n delimiter?: string;\n\n /**\n * 允许选择城市?\n */\n allowCity?: boolean;\n\n /**\n * 允许选择地区?\n */\n allowDistrict?: boolean;\n\n /**\n * 允许选择街道?\n */\n allowStreet?: boolean;\n\n /**\n * 是否显示搜索框\n */\n searchable?: boolean;\n}\n\nexport interface CityPickerProps\n extends Omit<InputCityControlSchema, 'type' | 'className'>,\n LocaleProps,\n ThemeProps {\n value: any;\n onChange: (value: any) => void;\n\n extractValue: boolean;\n delimiter: string;\n allowCity: boolean;\n allowDistrict: boolean;\n allowStreet: boolean;\n useMobileUI?: boolean;\n}\n\nexport interface CityPickerState {\n code: number;\n province: string;\n provinceCode: number;\n city: string;\n cityCode: number;\n district: string;\n districtCode: number;\n street: string;\n\n db?: {\n province: Array<string>;\n city: {\n [propName: number]: Array<number>;\n };\n district: {\n [propName: number]:\n | {\n [propName: number]: Array<number>;\n }\n | Array<number>;\n };\n [propName: string]: any;\n };\n}\n\nexport class CityPicker extends React.Component<\n CityPickerProps,\n CityPickerState\n> {\n static defaultProps = {\n joinValues: true,\n extractValue: true,\n delimiter: ',',\n allowCity: true,\n allowDistrict: true,\n allowStreet: false\n };\n\n state: CityPickerState = {\n code: 0,\n province: '',\n provinceCode: 0,\n city: '',\n cityCode: 0,\n district: '',\n districtCode: 0,\n street: ''\n };\n\n componentDidMount() {\n this.loadDb(() => this.syncIn());\n }\n\n componentDidUpdate(prevProps: CityPickerProps) {\n const props = this.props;\n\n if (props.value !== prevProps.value) {\n this.loadDb(() => this.syncIn(props));\n }\n }\n\n loadDb(callback?: () => void) {\n if (this.state.db) {\n callback?.();\n return;\n }\n\n import('./CityDB').then(db => {\n this.setState(\n {\n db: {\n ...db.default,\n province: db.province as any,\n city: db.city,\n district: db.district\n }\n },\n callback\n );\n });\n\n // require.ensure(['./CityDB'], (db: any) =>\n // this.setState(\n // {\n // db: {\n // ...db.default,\n // province: db.province,\n // city: db.city,\n // district: db.district\n // }\n // },\n // callback\n // )\n // );\n }\n\n @autobind\n handleProvinceChange(option: Option) {\n this.setState(\n {\n province: option.label as string,\n provinceCode: option.value as number,\n city: '',\n cityCode: 0,\n district: '',\n districtCode: 0,\n street: '',\n code: option.value\n },\n this.syncOut\n );\n }\n\n @autobind\n handleCityChange(option: Option) {\n if (option.value % 100) {\n return this.handleDistrictChange(option, {\n cityCode: option.value as number\n });\n }\n\n this.setState(\n {\n city: option.label as string,\n cityCode: option.value as number,\n district: '',\n districtCode: 0,\n street: '',\n code: option.value\n },\n this.syncOut\n );\n }\n\n @autobind\n handleDistrictChange(\n option: Option,\n otherStates: Partial<CityPickerState> = {}\n ) {\n this.setState(\n {\n ...(otherStates as any),\n district: option.label as string,\n districtCode: option.value as number,\n street: '',\n code: option.value as number\n },\n this.syncOut\n );\n }\n\n @autobind\n handleStreetChange(e: React.ChangeEvent<HTMLInputElement>) {\n this.setState({\n street: e.currentTarget.value\n });\n }\n\n @autobind\n handleStreetEnd() {\n this.syncOut();\n }\n\n @autobind\n syncIn(props = this.props) {\n const db = this.state.db!;\n const {value, delimiter} = props;\n\n if (!db) {\n return;\n }\n\n const state = {\n code: 0,\n province: '',\n provinceCode: 0,\n city: '',\n cityCode: 0,\n district: '',\n districtCode: 0,\n street: ''\n };\n\n let code =\n (value && value.code) ||\n (typeof value === 'number' && value) ||\n (typeof value === 'string' && /(\\d{6})/.test(value) && RegExp.$1);\n\n if (code && db[code]) {\n code = parseInt(code, 10);\n state.code = code;\n\n const provinceCode = code - (code % 10000);\n if (db[provinceCode]) {\n state.provinceCode = provinceCode;\n state.province = db[provinceCode];\n }\n\n const cityCode = code - (code % 100);\n if (db[cityCode]) {\n state.cityCode = cityCode;\n state.city = db[cityCode];\n } else if (~db.city[provinceCode]?.indexOf(code)) {\n state.cityCode = code;\n state.city = db[code];\n }\n\n if (code % 100) {\n state.district = db[code];\n state.districtCode = code;\n }\n } else if (value) {\n // todo 模糊查找\n }\n\n if (value && value.street) {\n state.street = value.street;\n } else if (typeof value === 'string' && ~value.indexOf(delimiter)) {\n state.street = value.slice(value.indexOf(delimiter) + delimiter.length);\n }\n\n this.setState(state);\n }\n\n @autobind\n syncOut() {\n const {onChange, allowStreet, joinValues, extractValue, delimiter} =\n this.props;\n\n const {\n code,\n province,\n city,\n district,\n street,\n provinceCode,\n cityCode,\n districtCode\n } = this.state;\n\n if (typeof extractValue === 'undefined' ? joinValues : extractValue) {\n code\n ? onChange(\n allowStreet && street\n ? [code, street].join(delimiter)\n : String(code)\n )\n : onChange('');\n } else {\n onChange({\n code,\n provinceCode,\n province,\n cityCode,\n city,\n districtCode,\n district,\n street\n });\n }\n }\n\n render() {\n const {\n classnames: cx,\n className,\n disabled,\n allowCity,\n allowDistrict,\n allowStreet,\n searchable,\n translate: __\n } = this.props;\n\n const {provinceCode, cityCode, districtCode, street, db} = this.state;\n\n return db ? (\n <div className={cx('CityPicker', className)}>\n <Select\n searchable={searchable}\n disabled={disabled}\n options={db.province.map(item => ({\n label: db[item],\n value: item\n }))}\n value={provinceCode}\n onChange={this.handleProvinceChange}\n />\n\n {provinceCode &&\n allowDistrict &&\n Array.isArray(db.district[provinceCode]) ? (\n <Select\n searchable={searchable}\n disabled={disabled}\n options={(db.district[provinceCode] as Array<number>).map(item => ({\n label: db[item],\n value: item\n }))}\n value={districtCode}\n onChange={this.handleDistrictChange}\n />\n ) : allowCity &&\n db.city[provinceCode] &&\n db.city[provinceCode].length ? (\n <Select\n searchable={searchable}\n disabled={disabled}\n options={db.city[provinceCode].map(item => ({\n label: db[item],\n value: item\n }))}\n value={cityCode}\n onChange={this.handleCityChange}\n />\n ) : null}\n\n {cityCode &&\n allowDistrict &&\n (db.district[provinceCode]?.[cityCode] as any)?.length ? (\n <Select\n searchable={searchable}\n disabled={disabled}\n options={(db.district[provinceCode][cityCode] as Array<number>).map(\n item => ({\n label: db[item],\n value: item\n })\n )}\n value={districtCode}\n onChange={this.handleDistrictChange}\n />\n ) : null}\n\n {allowStreet && provinceCode ? (\n <input\n className={cx('CityPicker-input')}\n value={street}\n onChange={this.handleStreetChange}\n onBlur={this.handleStreetEnd}\n placeholder={__('City.street')}\n disabled={disabled}\n />\n ) : null}\n </div>\n ) : (\n <Spinner show size=\"sm\" />\n );\n }\n}\n\nconst ThemedCity = themeable(localeable(CityPicker));\nexport default ThemedCity;\n\nexport interface LocationControlProps extends FormControlProps {\n allowCity?: boolean;\n allowDistrict?: boolean;\n extractValue?: boolean;\n joinValues?: boolean;\n allowStreet?: boolean;\n}\nexport class LocationControl extends React.Component<LocationControlProps> {\n\n @autobind\n doAction(action: Action, data: object, throwErrors: boolean) {\n const {resetValue, onChange} = this.props;\n const actionType = action?.actionType as string;\n\n if (!!~['clear', 'reset'].indexOf(actionType)) {\n onChange(resetValue ?? '');\n }\n }\n\n @autobind\n async handleChange(value: number | string) {\n const {dispatchEvent, data, onChange} = this.props;\n\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value\n })\n );\n\n if (rendererEvent?.prevented) {\n return;\n }\n \n onChange(value);\n }\n\n render() {\n const {\n value,\n allowCity,\n allowDistrict,\n extractValue,\n joinValues,\n allowStreet,\n disabled,\n searchable,\n env,\n useMobileUI\n } = this.props;\n const mobileUI = useMobileUI && isMobile();\n return mobileUI ? (\n <CityArea\n value={value}\n popOverContainer={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n onChange={this.handleChange}\n allowCity={allowCity}\n allowDistrict={allowDistrict}\n extractValue={extractValue}\n joinValues={joinValues}\n allowStreet={allowStreet}\n disabled={disabled}\n useMobileUI={useMobileUI}\n />\n ) : (\n <ThemedCity\n searchable={searchable}\n value={value}\n onChange={this.handleChange}\n allowCity={allowCity}\n allowDistrict={allowDistrict}\n extractValue={extractValue}\n joinValues={joinValues}\n allowStreet={allowStreet}\n disabled={disabled}\n />\n );\n }\n}\n\n@FormItem({\n type: 'input-city',\n sizeMutable: false\n})\nexport class CheckboxControlRenderer extends LocationControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -98,7 +98,11 @@ var DateControl = /** @class */ (function (_super) {
|
|
98
98
|
DateControl.prototype.doAction = function (action, data, throwErrors) {
|
99
99
|
var _a = this.props, resetValue = _a.resetValue, onChange = _a.onChange;
|
100
100
|
if (action.actionType === 'clear') {
|
101
|
-
onChange(
|
101
|
+
onChange('');
|
102
|
+
return;
|
103
|
+
}
|
104
|
+
if (action.actionType === 'reset' && resetValue) {
|
105
|
+
onChange(resetValue);
|
102
106
|
}
|
103
107
|
};
|
104
108
|
// 值的变化
|
@@ -118,11 +122,14 @@ var DateControl = /** @class */ (function (_super) {
|
|
118
122
|
};
|
119
123
|
DateControl.prototype.render = function () {
|
120
124
|
var _a = this.props, className = _a.className, defaultValue = _a.defaultValue, defaultData = _a.defaultData, cx = _a.classnames, minDate = _a.minDate, maxDate = _a.maxDate, type = _a.type, format = _a.format, timeFormat = _a.timeFormat, valueFormat = _a.valueFormat, env = _a.env, largeMode = _a.largeMode, render = _a.render, useMobileUI = _a.useMobileUI, rest = (0, tslib_1.__rest)(_a, ["className", "defaultValue", "defaultData", "classnames", "minDate", "maxDate", "type", "format", "timeFormat", "valueFormat", "env", "largeMode", "render", "useMobileUI"]);
|
125
|
+
var mobileUI = useMobileUI && (0, helper_1.isMobile)();
|
121
126
|
if (type === 'time' && timeFormat) {
|
122
127
|
format = timeFormat;
|
123
128
|
}
|
124
|
-
|
125
|
-
|
129
|
+
return (react_1.default.createElement("div", { className: cx("DateControl", {
|
130
|
+
'is-date': /date$/.test(type),
|
131
|
+
'is-datetime': /datetime$/.test(type)
|
132
|
+
}, className) },
|
126
133
|
react_1.default.createElement(DatePicker_1.default, (0, tslib_1.__assign)({}, rest, { useMobileUI: useMobileUI, popOverContainer: mobileUI && env && env.getModalContainer
|
127
134
|
? env.getModalContainer
|
128
135
|
: mobileUI
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputDate.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport {\n filterDate,\n isPureVariable,\n resolveVariableAndFilter\n} from '../../utils/tpl-builtin';\nimport moment from 'moment';\nimport 'moment/locale/zh-cn';\nimport DatePicker from '../../components/DatePicker';\nimport {SchemaObject} from '../../Schema';\nimport {createObject, anyChanged, isMobile, autobind} from '../../utils/helper';\nimport {Action} from '../../types';\n\nexport interface InputDateBaseControlSchema extends FormBaseControl {\n /**\n * 指定为日期选择控件\n */\n type:\n | 'input-date'\n | 'input-datetime'\n | 'input-time'\n | 'input-month'\n | 'input-quarter'\n | 'input-year';\n\n /**\n * 是否显示清除按钮\n */\n clearable?: boolean;\n\n /**\n * 日期存储格式\n */\n format?: string;\n\n /**\n * 日期展示格式\n */\n inputFormat?: string;\n\n /**\n * 设定是否存储 utc 时间。\n */\n utc?: boolean;\n\n /**\n * 是否为内联模式?\n */\n emebed?: boolean;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n}\n\n/**\n * Date日期选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/date\n */\nexport interface DateControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期选择控件\n */\n type: 'input-date';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD\n */\n inputFormat?: string;\n\n /**\n * 点选日期后是否关闭弹窗\n */\n closeOnSelect?: boolean;\n\n /**\n * 限制最小日期\n */\n minDate?: string;\n\n /**\n * 限制最大日期\n */\n maxDate?: string;\n}\n\n/**\n * Datetime日期时间选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/datetime\n */\nexport interface DateTimeControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期时间选择控件\n */\n type: 'input-datetime';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD HH:mm\n */\n inputFormat?: string;\n\n /**\n * 时间的格式。\n *\n * @default HH:mm\n */\n timeFormat?: string;\n\n /**\n * 限制最小日期\n */\n minDate?: string;\n\n /**\n * 限制最大日期\n */\n maxDate?: string;\n\n /**\n * 不记得了\n */\n timeConstraints?: any;\n}\n\n/**\n * Time 时间选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/time\n */\nexport interface TimeControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期时间选择控件\n */\n type: 'input-time';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD HH:mm\n */\n inputFormat?: string;\n\n /**\n * 时间的格式。\n *\n * @default HH:mm\n */\n timeFormat?: string;\n\n /**\n * 不记得了\n */\n timeConstraints?: any;\n}\n\n/**\n * Month 月份选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/Month\n */\nexport interface MonthControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-month';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\n/**\n * 季度选择控件\n */\nexport interface QuarterControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-quarter';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\n/**\n * 年份选择控件\n */\nexport interface YearControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-year';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\nexport interface DateProps extends FormControlProps {\n inputFormat?: string;\n timeFormat?: string;\n format?: string;\n valueFormat?: string;\n timeConstraints?: {\n hours?: {\n min: number;\n max: number;\n step: number;\n };\n minutes?: {\n min: number;\n max: number;\n step: number;\n };\n seconds: {\n min: number;\n max: number;\n step: number;\n };\n };\n closeOnSelect?: boolean;\n disabled: boolean;\n iconClassName?: string;\n utc?: boolean; // 设定是否存储 utc 时间。\n minDate?: string;\n maxDate?: string;\n}\n\ninterface DateControlState {\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n schedules?: Array<{\n startTime: Date;\n endTime: Date;\n content: any;\n className?: string;\n }>;\n}\n\nexport default class DateControl extends React.PureComponent<\n DateProps,\n DateControlState\n> {\n static defaultProps = {\n format: 'X',\n viewMode: 'days',\n inputFormat: 'YYYY-MM-DD',\n timeConstraints: {\n minutes: {\n step: 1\n }\n },\n clearable: true\n };\n\n constructor(props: DateProps) {\n super(props);\n\n const {\n minDate,\n maxDate,\n value,\n defaultValue,\n setPrinstineValue,\n data,\n format,\n utc\n } = props;\n\n if (defaultValue && value === defaultValue) {\n const date = filterDate(defaultValue, data, format);\n setPrinstineValue((utc ? moment.utc(date) : date).format(format));\n }\n\n let schedulesData = props.schedules;\n if (typeof schedulesData === 'string') {\n const resolved = resolveVariableAndFilter(schedulesData, data, '| raw');\n if (Array.isArray(resolved)) {\n schedulesData = resolved;\n }\n }\n\n this.state = {\n minDate: minDate ? filterDate(minDate, data, format) : undefined,\n maxDate: maxDate ? filterDate(maxDate, data, format) : undefined,\n schedules: schedulesData\n };\n }\n\n componentDidUpdate(prevProps: DateProps) {\n const props = this.props;\n\n if (prevProps.defaultValue !== props.defaultValue) {\n const date = filterDate(props.defaultValue, props.data, props.format);\n props.setPrinstineValue(\n (props.utc ? moment.utc(date) : date).format(props.format)\n );\n }\n\n if (\n prevProps.minDate !== props.minDate ||\n prevProps.maxDate !== props.maxDate ||\n prevProps.data !== props.data\n ) {\n this.setState({\n minDate: props.minDate\n ? filterDate(props.minDate, props.data, this.props.format)\n : undefined,\n maxDate: props.maxDate\n ? filterDate(props.maxDate, props.data, this.props.format)\n : undefined\n });\n }\n\n if (\n anyChanged(['schedules', 'data'], prevProps, props) &&\n typeof props.schedules === 'string' &&\n isPureVariable(props.schedules)\n ) {\n const schedulesData = resolveVariableAndFilter(\n props.schedules,\n props.data,\n '| raw'\n );\n const preSchedulesData = resolveVariableAndFilter(\n prevProps.schedules,\n prevProps.data,\n '| raw'\n );\n if (Array.isArray(schedulesData) && preSchedulesData !== schedulesData) {\n this.setState({\n schedules: schedulesData\n });\n }\n }\n }\n\n // 日程点击事件\n onScheduleClick(scheduleData: any) {\n const {scheduleAction, onAction, data, translate: __} = this.props;\n const defaultscheduleAction = {\n actionType: 'dialog',\n dialog: {\n title: __('Schedule'),\n actions: [],\n body: {\n type: 'table',\n columns: [\n {\n name: 'time',\n label: __('Time')\n },\n {\n name: 'content',\n label: __('Content')\n }\n ],\n data: '${scheduleData}'\n }\n }\n };\n\n onAction &&\n onAction(\n null,\n scheduleAction || defaultscheduleAction,\n createObject(data, scheduleData)\n );\n }\n\n // 派发有event的事件\n @autobind\n dispatchEvent(e: React.SyntheticEvent<HTMLElement>) {\n const {dispatchEvent, data} = this.props;\n dispatchEvent(e, data);\n }\n\n // 动作\n doAction(action: Action, data: object, throwErrors: boolean) {\n const {resetValue, onChange} = this.props;\n if (action.actionType === 'clear') {\n onChange(resetValue ?? '');\n }\n }\n\n // 值的变化\n @autobind\n async handleChange(nextValue: any) {\n const {dispatchEvent, data} = this.props;\n const dispatcher = dispatchEvent('change', createObject(data, nextValue));\n if (dispatcher?.prevented) {\n return;\n }\n this.props.onChange(nextValue);\n }\n\n render() {\n let {\n className,\n defaultValue,\n defaultData,\n classnames: cx,\n minDate,\n maxDate,\n type,\n format,\n timeFormat,\n valueFormat,\n env,\n largeMode,\n render,\n useMobileUI,\n ...rest\n } = this.props;\n\n if (type === 'time' && timeFormat) {\n format = timeFormat;\n }\n\n const mobileUI = useMobileUI && isMobile();\n\n return (\n <div className={cx(`DateControl`, className)}>\n <DatePicker\n {...rest}\n useMobileUI={useMobileUI}\n popOverContainer={\n mobileUI && env && env.getModalContainer\n ? env.getModalContainer\n : mobileUI\n ? undefined\n : rest.popOverContainer\n }\n timeFormat={timeFormat}\n format={valueFormat || format}\n {...this.state}\n classnames={cx}\n schedules={this.state.schedules}\n largeMode={largeMode}\n onScheduleClick={this.onScheduleClick.bind(this)}\n onChange={this.handleChange}\n onFocus={this.dispatchEvent}\n onBlur={this.dispatchEvent}\n />\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-date',\n weight: -150\n})\nexport class DateControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Date.placeholder',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: '',\n strictMode: false\n };\n}\n\n@FormItem({\n type: 'input-datetime'\n})\nexport class DatetimeControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'DateTime.placeholder',\n inputFormat: 'YYYY-MM-DD HH:mm:ss',\n dateFormat: 'LL',\n timeFormat: 'HH:mm:ss',\n closeOnSelect: false,\n strictMode: false\n };\n}\n\n@FormItem({\n type: 'input-time'\n})\nexport class TimeControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Time.placeholder',\n inputFormat: 'HH:mm',\n dateFormat: '',\n timeFormat: 'HH:mm',\n viewMode: 'time',\n closeOnSelect: false\n };\n}\n\n@FormItem({\n type: 'input-month'\n})\nexport class MonthControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Month.placeholder',\n inputFormat: 'YYYY-MM',\n dateFormat: 'MM',\n timeFormat: '',\n viewMode: 'months',\n closeOnSelect: true\n };\n}\n\n@FormItem({\n type: 'input-quarter'\n})\nexport class QuarterControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Quarter.placeholder',\n inputFormat: 'YYYY [Q]Q',\n dateFormat: 'YYYY [Q]Q',\n timeFormat: '',\n viewMode: 'quarters',\n closeOnSelect: true\n };\n}\n\n@FormItem({\n type: 'input-year'\n})\nexport class YearControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Year.placeholder',\n inputFormat: 'YYYY',\n dateFormat: 'YYYY',\n timeFormat: '',\n viewMode: 'years',\n closeOnSelect: true\n };\n}\n"
|
11
|
+
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport {\n filterDate,\n isPureVariable,\n resolveVariableAndFilter\n} from '../../utils/tpl-builtin';\nimport moment from 'moment';\nimport 'moment/locale/zh-cn';\nimport DatePicker from '../../components/DatePicker';\nimport {SchemaObject} from '../../Schema';\nimport {createObject, anyChanged, isMobile, autobind} from '../../utils/helper';\nimport {Action} from '../../types';\n\nexport interface InputDateBaseControlSchema extends FormBaseControl {\n /**\n * 指定为日期选择控件\n */\n type:\n | 'input-date'\n | 'input-datetime'\n | 'input-time'\n | 'input-month'\n | 'input-quarter'\n | 'input-year';\n\n /**\n * 是否显示清除按钮\n */\n clearable?: boolean;\n\n /**\n * 日期存储格式\n */\n format?: string;\n\n /**\n * 日期展示格式\n */\n inputFormat?: string;\n\n /**\n * 设定是否存储 utc 时间。\n */\n utc?: boolean;\n\n /**\n * 是否为内联模式?\n */\n emebed?: boolean;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n}\n\n/**\n * Date日期选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/date\n */\nexport interface DateControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期选择控件\n */\n type: 'input-date';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD\n */\n inputFormat?: string;\n\n /**\n * 点选日期后是否关闭弹窗\n */\n closeOnSelect?: boolean;\n\n /**\n * 限制最小日期\n */\n minDate?: string;\n\n /**\n * 限制最大日期\n */\n maxDate?: string;\n}\n\n/**\n * Datetime日期时间选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/datetime\n */\nexport interface DateTimeControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期时间选择控件\n */\n type: 'input-datetime';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD HH:mm\n */\n inputFormat?: string;\n\n /**\n * 时间的格式。\n *\n * @default HH:mm\n */\n timeFormat?: string;\n\n /**\n * 限制最小日期\n */\n minDate?: string;\n\n /**\n * 限制最大日期\n */\n maxDate?: string;\n\n /**\n * 不记得了\n */\n timeConstraints?: any;\n}\n\n/**\n * Time 时间选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/time\n */\nexport interface TimeControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为日期时间选择控件\n */\n type: 'input-time';\n\n /**\n * 日期存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 日期展示格式\n * @default YYYY-MM-DD HH:mm\n */\n inputFormat?: string;\n\n /**\n * 时间的格式。\n *\n * @default HH:mm\n */\n timeFormat?: string;\n\n /**\n * 不记得了\n */\n timeConstraints?: any;\n}\n\n/**\n * Month 月份选择控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/Month\n */\nexport interface MonthControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-month';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\n/**\n * 季度选择控件\n */\nexport interface QuarterControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-quarter';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\n/**\n * 年份选择控件\n */\nexport interface YearControlSchema extends InputDateBaseControlSchema {\n /**\n * 指定为月份时间选择控件\n */\n type: 'input-year';\n\n /**\n * 月份存储格式\n * @default X\n */\n format?: string;\n\n /**\n * 月份展示格式\n * @default YYYY-MM\n */\n inputFormat?: string;\n}\n\nexport interface DateProps extends FormControlProps {\n inputFormat?: string;\n timeFormat?: string;\n format?: string;\n valueFormat?: string;\n timeConstraints?: {\n hours?: {\n min: number;\n max: number;\n step: number;\n };\n minutes?: {\n min: number;\n max: number;\n step: number;\n };\n seconds: {\n min: number;\n max: number;\n step: number;\n };\n };\n closeOnSelect?: boolean;\n disabled: boolean;\n iconClassName?: string;\n utc?: boolean; // 设定是否存储 utc 时间。\n minDate?: string;\n maxDate?: string;\n}\n\ninterface DateControlState {\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n schedules?: Array<{\n startTime: Date;\n endTime: Date;\n content: any;\n className?: string;\n }>;\n}\n\nexport default class DateControl extends React.PureComponent<\n DateProps,\n DateControlState\n> {\n static defaultProps = {\n format: 'X',\n viewMode: 'days',\n inputFormat: 'YYYY-MM-DD',\n timeConstraints: {\n minutes: {\n step: 1\n }\n },\n clearable: true\n };\n\n constructor(props: DateProps) {\n super(props);\n\n const {\n minDate,\n maxDate,\n value,\n defaultValue,\n setPrinstineValue,\n data,\n format,\n utc\n } = props;\n\n if (defaultValue && value === defaultValue) {\n const date = filterDate(defaultValue, data, format);\n setPrinstineValue((utc ? moment.utc(date) : date).format(format));\n }\n\n let schedulesData = props.schedules;\n if (typeof schedulesData === 'string') {\n const resolved = resolveVariableAndFilter(schedulesData, data, '| raw');\n if (Array.isArray(resolved)) {\n schedulesData = resolved;\n }\n }\n\n this.state = {\n minDate: minDate ? filterDate(minDate, data, format) : undefined,\n maxDate: maxDate ? filterDate(maxDate, data, format) : undefined,\n schedules: schedulesData\n };\n }\n\n componentDidUpdate(prevProps: DateProps) {\n const props = this.props;\n\n if (prevProps.defaultValue !== props.defaultValue) {\n const date = filterDate(props.defaultValue, props.data, props.format);\n props.setPrinstineValue(\n (props.utc ? moment.utc(date) : date).format(props.format)\n );\n }\n\n if (\n prevProps.minDate !== props.minDate ||\n prevProps.maxDate !== props.maxDate ||\n prevProps.data !== props.data\n ) {\n this.setState({\n minDate: props.minDate\n ? filterDate(props.minDate, props.data, this.props.format)\n : undefined,\n maxDate: props.maxDate\n ? filterDate(props.maxDate, props.data, this.props.format)\n : undefined\n });\n }\n\n if (\n anyChanged(['schedules', 'data'], prevProps, props) &&\n typeof props.schedules === 'string' &&\n isPureVariable(props.schedules)\n ) {\n const schedulesData = resolveVariableAndFilter(\n props.schedules,\n props.data,\n '| raw'\n );\n const preSchedulesData = resolveVariableAndFilter(\n prevProps.schedules,\n prevProps.data,\n '| raw'\n );\n if (Array.isArray(schedulesData) && preSchedulesData !== schedulesData) {\n this.setState({\n schedules: schedulesData\n });\n }\n }\n }\n\n // 日程点击事件\n onScheduleClick(scheduleData: any) {\n const {scheduleAction, onAction, data, translate: __} = this.props;\n const defaultscheduleAction = {\n actionType: 'dialog',\n dialog: {\n title: __('Schedule'),\n actions: [],\n body: {\n type: 'table',\n columns: [\n {\n name: 'time',\n label: __('Time')\n },\n {\n name: 'content',\n label: __('Content')\n }\n ],\n data: '${scheduleData}'\n }\n }\n };\n\n onAction &&\n onAction(\n null,\n scheduleAction || defaultscheduleAction,\n createObject(data, scheduleData)\n );\n }\n\n // 派发有event的事件\n @autobind\n dispatchEvent(e: React.SyntheticEvent<HTMLElement>) {\n const {dispatchEvent, data} = this.props;\n dispatchEvent(e, data);\n }\n\n // 动作\n doAction(action: Action, data: object, throwErrors: boolean) {\n const {resetValue, onChange} = this.props;\n\n if (action.actionType === 'clear') {\n onChange('');\n return;\n }\n\n if (action.actionType === 'reset' && resetValue) {\n onChange(resetValue);\n }\n }\n\n // 值的变化\n @autobind\n async handleChange(nextValue: any) {\n const {dispatchEvent, data} = this.props;\n const dispatcher = dispatchEvent('change', createObject(data, nextValue));\n if (dispatcher?.prevented) {\n return;\n }\n this.props.onChange(nextValue);\n }\n\n render() {\n let {\n className,\n defaultValue,\n defaultData,\n classnames: cx,\n minDate,\n maxDate,\n type,\n format,\n timeFormat,\n valueFormat,\n env,\n largeMode,\n render,\n useMobileUI,\n ...rest\n } = this.props;\n const mobileUI = useMobileUI && isMobile();\n\n if (type === 'time' && timeFormat) {\n format = timeFormat;\n }\n\n return (\n <div\n className={cx(\n `DateControl`,\n {\n 'is-date': /date$/.test(type),\n 'is-datetime': /datetime$/.test(type)\n },\n className\n )}\n >\n <DatePicker\n {...rest}\n useMobileUI={useMobileUI}\n popOverContainer={\n mobileUI && env && env.getModalContainer\n ? env.getModalContainer\n : mobileUI\n ? undefined\n : rest.popOverContainer\n }\n timeFormat={timeFormat}\n format={valueFormat || format}\n {...this.state}\n classnames={cx}\n schedules={this.state.schedules}\n largeMode={largeMode}\n onScheduleClick={this.onScheduleClick.bind(this)}\n onChange={this.handleChange}\n onFocus={this.dispatchEvent}\n onBlur={this.dispatchEvent}\n />\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-date',\n weight: -150\n})\nexport class DateControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Date.placeholder',\n dateFormat: 'YYYY-MM-DD',\n timeFormat: '',\n strictMode: false\n };\n}\n\n@FormItem({\n type: 'input-datetime'\n})\nexport class DatetimeControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'DateTime.placeholder',\n inputFormat: 'YYYY-MM-DD HH:mm:ss',\n dateFormat: 'LL',\n timeFormat: 'HH:mm:ss',\n closeOnSelect: false,\n strictMode: false\n };\n}\n\n@FormItem({\n type: 'input-time'\n})\nexport class TimeControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Time.placeholder',\n inputFormat: 'HH:mm',\n dateFormat: '',\n timeFormat: 'HH:mm',\n viewMode: 'time',\n closeOnSelect: false\n };\n}\n\n@FormItem({\n type: 'input-month'\n})\nexport class MonthControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Month.placeholder',\n inputFormat: 'YYYY-MM',\n dateFormat: 'MM',\n timeFormat: '',\n viewMode: 'months',\n closeOnSelect: true\n };\n}\n\n@FormItem({\n type: 'input-quarter'\n})\nexport class QuarterControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Quarter.placeholder',\n inputFormat: 'YYYY [Q]Q',\n dateFormat: 'YYYY [Q]Q',\n timeFormat: '',\n viewMode: 'quarters',\n closeOnSelect: true\n };\n}\n\n@FormItem({\n type: 'input-year'\n})\nexport class YearControlRenderer extends DateControl {\n static defaultProps = {\n ...DateControl.defaultProps,\n placeholder: 'Year.placeholder',\n inputFormat: 'YYYY',\n dateFormat: 'YYYY',\n timeFormat: '',\n viewMode: 'years',\n closeOnSelect: true\n };\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
2
2
|
import { FormControlProps, FormBaseControl } from './Item';
|
3
3
|
import 'moment/locale/zh-cn';
|
4
4
|
import { Action } from '../../types';
|
5
|
+
import type { ShortCuts } from '../../components/DatePicker';
|
5
6
|
/**
|
6
7
|
* DateRange 日期范围控件
|
7
8
|
* 文档:https://baidu.gitee.io/amis/docs/components/form/date-range
|
@@ -56,6 +57,10 @@ export interface DateRangeControlSchema extends FormBaseControl {
|
|
56
57
|
* 开启后变成非弹出模式,即内联模式。
|
57
58
|
*/
|
58
59
|
embed?: boolean;
|
60
|
+
/**
|
61
|
+
* 日期范围快捷键
|
62
|
+
*/
|
63
|
+
ranges?: string | Array<ShortCuts>;
|
59
64
|
}
|
60
65
|
export interface DateRangeProps extends FormControlProps, Omit<DateRangeControlSchema, 'type' | 'className' | 'descriptionClassName' | 'inputClassName'> {
|
61
66
|
delimiter: string;
|
@@ -48,7 +48,11 @@ var DateRangeControl = /** @class */ (function (_super) {
|
|
48
48
|
DateRangeControl.prototype.doAction = function (action, data, throwErrors) {
|
49
49
|
var _a = this.props, resetValue = _a.resetValue, onChange = _a.onChange;
|
50
50
|
if (action.actionType === 'clear') {
|
51
|
-
onChange(
|
51
|
+
onChange('');
|
52
|
+
return;
|
53
|
+
}
|
54
|
+
if (action.actionType === 'reset' && resetValue) {
|
55
|
+
onChange(resetValue);
|
52
56
|
}
|
53
57
|
};
|
54
58
|
// 值的变化
|
@@ -67,9 +71,14 @@ var DateRangeControl = /** @class */ (function (_super) {
|
|
67
71
|
});
|
68
72
|
};
|
69
73
|
DateRangeControl.prototype.render = function () {
|
70
|
-
var _a
|
74
|
+
var _a;
|
75
|
+
var _b = this.props, className = _b.className, ns = _b.classPrefix, defaultValue = _b.defaultValue, defaultData = _b.defaultData, minDate = _b.minDate, maxDate = _b.maxDate, minDuration = _b.minDuration, maxDuration = _b.maxDuration, data = _b.data, format = _b.format, env = _b.env, useMobileUI = _b.useMobileUI, rest = (0, tslib_1.__rest)(_b, ["className", "classPrefix", "defaultValue", "defaultData", "minDate", "maxDate", "minDuration", "maxDuration", "data", "format", "env", "useMobileUI"]);
|
71
76
|
var mobileUI = useMobileUI && (0, helper_1.isMobile)();
|
72
|
-
|
77
|
+
var comptType = (_a = this.props) === null || _a === void 0 ? void 0 : _a.type;
|
78
|
+
return (react_1.default.createElement("div", { className: (0, classnames_1.default)("".concat(ns, "DateRangeControl"), {
|
79
|
+
'is-date': /date-/.test(comptType),
|
80
|
+
'is-datetime': /datetime-/.test(comptType)
|
81
|
+
}, className) },
|
73
82
|
react_1.default.createElement(DateRangePicker_1.default, (0, tslib_1.__assign)({}, rest, { useMobileUI: useMobileUI, classPrefix: ns, popOverContainer: mobileUI && env && env.getModalContainer
|
74
83
|
? env.getModalContainer
|
75
84
|
: mobileUI
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputDateRange.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AACnE,uEAA4B;AAC5B,uDAAkE;AAClE,+BAA6B;AAE7B,+FAE0C;AAC1C,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport {filterDate, parseDuration} from '../../utils/tpl-builtin';\nimport 'moment/locale/zh-cn';\nimport includes from 'lodash/includes';\nimport DateRangePicker, {\n DateRangePicker as BaseDateRangePicker\n} from '../../components/DateRangePicker';\nimport {
|
11
|
+
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport {filterDate, parseDuration} from '../../utils/tpl-builtin';\nimport 'moment/locale/zh-cn';\nimport includes from 'lodash/includes';\nimport DateRangePicker, {\n DateRangePicker as BaseDateRangePicker\n} from '../../components/DateRangePicker';\nimport {isMobile, createObject, autobind} from '../../utils/helper';\nimport {Action} from '../../types';\n\nimport type {ShortCuts} from '../../components/DatePicker';\n\n/**\n * DateRange 日期范围控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/date-range\n */\nexport interface DateRangeControlSchema extends FormBaseControl {\n /**\n * 指定为日期范围控件\n */\n type: 'input-date-range' | 'input-datetime-range' | 'input-time-range';\n\n /**\n * 分割符, 因为有两个值,开始时间和结束时间,所以要有连接符。默认为英文逗号。\n *\n */\n delimiter?: string;\n\n /**\n * 默认 `X` 即时间戳格式,用来提交的时间格式。更多格式类型请参考 moment.\n */\n format?: string;\n\n /**\n * 默认 `YYYY-MM-DD` 用来配置显示的时间格式。\n */\n inputFormat?: string;\n\n /**\n * 开启后将选中的选项 value 的值用连接符拼接起来,作为当前表单项的值。如: `value1,value2` 否则为 `[value1, value2]`\n */\n joinValues?: boolean;\n\n /**\n * 最大日期限制,支持变量 $xxx 来取值,或者用相对值如:* `-2mins` 2分钟前\\n * `+2days` 2天后\\n* `-10week` 十周前\\n可用单位: `min`、`hour`、`day`、`week`、`month`、`year`。所有单位支持复数形式。\n */\n maxDate?: string;\n\n /**\n * 最小日期限制,支持变量 $xxx 来取值,或者用相对值如:* `-2mins` 2分钟前\\n * `+2days` 2天后\\n* `-10week` 十周前\\n可用单位: `min`、`hour`、`day`、`week`、`month`、`year`。所有单位支持复数形式。\n */\n minDate?: string;\n\n /**\n * 最大跨度,比如 2days\n */\n maxDuration?: string;\n\n /**\n * 最小跨度,比如 2days\n */\n minDuration?: string;\n\n /**\n * 这里面 value 需要特殊说明一下,因为支持相对值。* `-2mins` 2分钟前\\n * `+2days` 2天后\\n* `-10week` 十周前\\n可用单位: `min`、`hour`、`day`、`week`、`month`、`year`。所有单位支持复数形式。\n */\n value?: any;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 开启后变成非弹出模式,即内联模式。\n */\n embed?: boolean;\n\n /**\n * 日期范围快捷键\n */\n ranges?: string | Array<ShortCuts>;\n}\n\nexport interface DateRangeProps\n extends FormControlProps,\n Omit<\n DateRangeControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {\n delimiter: string;\n format: string;\n joinValues: boolean;\n}\n\nexport default class DateRangeControl extends React.Component<DateRangeProps> {\n static defaultProps = {\n format: 'X',\n joinValues: true,\n delimiter: ','\n };\n\n constructor(props: DateRangeProps) {\n super(props);\n\n const {\n defaultValue,\n setPrinstineValue,\n delimiter,\n format,\n data,\n value,\n joinValues,\n utc\n } = props;\n\n if (defaultValue && value === defaultValue) {\n let arr =\n typeof defaultValue === 'string'\n ? defaultValue.split(delimiter)\n : defaultValue;\n setPrinstineValue(\n BaseDateRangePicker.formatValue(\n {\n startDate: filterDate(arr[0], data, format),\n endDate: filterDate(arr[1], data, format)\n },\n format,\n joinValues,\n delimiter,\n utc\n )\n );\n }\n }\n\n componentDidUpdate(prevProps: DateRangeProps) {\n const {\n defaultValue,\n delimiter,\n joinValues,\n setPrinstineValue,\n data,\n utc,\n format\n } = this.props;\n\n if (prevProps.defaultValue !== defaultValue) {\n let arr =\n typeof defaultValue === 'string'\n ? defaultValue.split(delimiter)\n : defaultValue;\n\n setPrinstineValue(\n arr\n ? BaseDateRangePicker.formatValue(\n {\n startDate: filterDate(arr[0], data, format),\n endDate: filterDate(arr[1], data, format)\n },\n format,\n joinValues,\n delimiter,\n utc\n )\n : undefined\n );\n }\n }\n\n // 派发有event的事件\n @autobind\n dispatchEvent(e: React.SyntheticEvent<HTMLElement>) {\n const {dispatchEvent, data} = this.props;\n dispatchEvent(e, data);\n }\n\n // 动作\n doAction(action: Action, data: object, throwErrors: boolean) {\n const {resetValue, onChange} = this.props;\n\n if (action.actionType === 'clear') {\n onChange('');\n return;\n }\n\n if (action.actionType === 'reset' && resetValue) {\n onChange(resetValue);\n }\n }\n\n // 值的变化\n @autobind\n async handleChange(nextValue: any) {\n const {dispatchEvent, data} = this.props;\n const dispatcher = dispatchEvent('change', createObject(data, nextValue));\n if (dispatcher?.prevented) {\n return;\n }\n this.props.onChange(nextValue);\n }\n\n render() {\n const {\n className,\n classPrefix: ns,\n defaultValue,\n defaultData,\n minDate,\n maxDate,\n minDuration,\n maxDuration,\n data,\n format,\n env,\n useMobileUI,\n ...rest\n } = this.props;\n const mobileUI = useMobileUI && isMobile();\n const comptType = this.props?.type;\n\n return (\n <div\n className={cx(\n `${ns}DateRangeControl`,\n {\n 'is-date': /date-/.test(comptType),\n 'is-datetime': /datetime-/.test(comptType)\n },\n className\n )}\n >\n <DateRangePicker\n {...rest}\n useMobileUI={useMobileUI}\n classPrefix={ns}\n popOverContainer={\n mobileUI && env && env.getModalContainer\n ? env.getModalContainer\n : mobileUI\n ? undefined\n : rest.popOverContainer\n }\n data={data}\n format={format}\n minDate={minDate ? filterDate(minDate, data, format) : undefined}\n maxDate={maxDate ? filterDate(maxDate, data, format) : undefined}\n minDuration={minDuration ? parseDuration(minDuration) : undefined}\n maxDuration={maxDuration ? parseDuration(maxDuration) : undefined}\n onChange={this.handleChange}\n onFocus={this.dispatchEvent}\n onBlur={this.dispatchEvent}\n />\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-date-range'\n})\nexport class DateRangeControlRenderer extends DateRangeControl {\n static defaultProps = {\n ...DateRangeControl.defaultProps,\n timeFormat: ''\n };\n}\n\n@FormItem({\n type: 'input-datetime-range',\n sizeMutable: false\n})\nexport class DateTimeRangeControlRenderer extends DateRangeControl {\n static defaultProps = {\n ...DateRangeControl.defaultProps,\n timeFormat: 'HH:mm',\n inputFormat: 'YYYY-MM-DD HH:mm'\n };\n}\n\n@FormItem({\n type: 'input-time-range',\n sizeMutable: false\n})\nexport class TimeRangeControlRenderer extends DateRangeControl {\n static defaultProps = {\n ...DateRangeControl.defaultProps,\n format: 'HH:mm',\n timeFormat: 'HH:mm',\n inputFormat: 'HH:mm',\n viewMode: 'time',\n ranges: ''\n };\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -17,6 +17,7 @@ var TooltipWrapper_1 = (0, tslib_1.__importDefault)(require("../../components/To
|
|
17
17
|
var react_dropzone_1 = (0, tslib_1.__importDefault)(require("react-dropzone"));
|
18
18
|
var tpl_builtin_1 = require("../../utils/tpl-builtin");
|
19
19
|
var merge_1 = (0, tslib_1.__importDefault)(require("lodash/merge"));
|
20
|
+
var omit_1 = (0, tslib_1.__importDefault)(require("lodash/omit"));
|
20
21
|
var preventEvent = function (e) { return e.stopPropagation(); };
|
21
22
|
function getNameFromUrl(url) {
|
22
23
|
if (/(?:\/|^)([^\/]+?)$/.test(url)) {
|
@@ -392,7 +393,7 @@ var FileControl = /** @class */ (function (_super) {
|
|
392
393
|
}
|
393
394
|
onProgress(1);
|
394
395
|
value = ret.data.value || ret.data.url || ret.data;
|
395
|
-
return [4 /*yield*/, this.dispatchEvent('success', file)];
|
396
|
+
return [4 /*yield*/, this.dispatchEvent('success', (0, tslib_1.__assign)((0, tslib_1.__assign)({}, file), { value: value, state: 'uploaded' }))];
|
396
397
|
case 1:
|
397
398
|
dispatcher = _a.sent();
|
398
399
|
if (dispatcher === null || dispatcher === void 0 ? void 0 : dispatcher.prevented) {
|
@@ -496,10 +497,12 @@ var FileControl = /** @class */ (function (_super) {
|
|
496
497
|
});
|
497
498
|
};
|
498
499
|
FileControl.prototype.syncAutoFill = function () {
|
499
|
-
var _a = this.props, autoFill = _a.autoFill, multiple = _a.multiple, onBulkChange = _a.onBulkChange, data = _a.data;
|
500
|
-
|
500
|
+
var _a = this.props, autoFill = _a.autoFill, multiple = _a.multiple, onBulkChange = _a.onBulkChange, data = _a.data, name = _a.name;
|
501
|
+
// 排除自身的字段,否则会无限更新state
|
502
|
+
var excludeSelfAutoFill = (0, omit_1.default)(autoFill, name || '');
|
503
|
+
if (!(0, helper_1.isEmpty)(excludeSelfAutoFill) && onBulkChange) {
|
501
504
|
var files = this.state.files.filter(function (file) { return ~['uploaded', 'init', 'ready'].indexOf(file.state); });
|
502
|
-
var toSync_1 = (0, tpl_builtin_1.dataMapping)(
|
505
|
+
var toSync_1 = (0, tpl_builtin_1.dataMapping)(excludeSelfAutoFill, multiple
|
503
506
|
? {
|
504
507
|
items: files
|
505
508
|
}
|
@@ -721,12 +724,20 @@ var FileControl = /** @class */ (function (_super) {
|
|
721
724
|
};
|
722
725
|
FileControl.prototype.dispatchEvent = function (e, data) {
|
723
726
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
724
|
-
var dispatchEvent;
|
727
|
+
var dispatchEvent, getEventData, value;
|
725
728
|
return (0, tslib_1.__generator)(this, function (_a) {
|
726
729
|
dispatchEvent = this.props.dispatchEvent;
|
727
|
-
|
730
|
+
getEventData = function (item) { return ({
|
731
|
+
name: item.path || item.name,
|
732
|
+
value: item.value,
|
733
|
+
state: item.state,
|
734
|
+
error: item.error
|
735
|
+
}); };
|
736
|
+
value = data
|
737
|
+
? getEventData(data)
|
738
|
+
: this.state.files.map(function (item) { return getEventData(item); });
|
728
739
|
return [2 /*return*/, dispatchEvent(e, (0, helper_1.createObject)(this.props.data, {
|
729
|
-
file:
|
740
|
+
file: value
|
730
741
|
}))];
|
731
742
|
});
|
732
743
|
});
|
@@ -774,7 +785,7 @@ var FileControl = /** @class */ (function (_super) {
|
|
774
785
|
'is-active': isDragActive
|
775
786
|
}) }),
|
776
787
|
react_1.default.createElement("input", (0, tslib_1.__assign)({ disabled: disabled }, getInputProps())),
|
777
|
-
drag ? (react_1.default.createElement("div", { className: cx('FileControl-acceptTip'), onClick: _this.handleSelect },
|
788
|
+
drag || isDragActive ? (react_1.default.createElement("div", { className: cx('FileControl-acceptTip'), onClick: _this.handleSelect },
|
778
789
|
react_1.default.createElement(icons_1.Icon, { icon: "cloud-upload", className: "icon" }),
|
779
790
|
react_1.default.createElement("span", null, __('File.dragDrop')),
|
780
791
|
maxSize ? (react_1.default.createElement("div", { className: cx('FileControl-sizeTip') }, __('File.sizeLimit', { maxSize: maxSize }))) : null)) : (react_1.default.createElement(react_1.default.Fragment, null,
|