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
@@ -55,6 +55,11 @@ export interface InputFormulaControlSchema extends FormBaseControl {
|
|
55
55
|
*/
|
56
56
|
inputMode?: 'button' | 'input-button';
|
57
57
|
|
58
|
+
/**
|
59
|
+
* 外层input是否允许输入,否需要点击fx在弹窗中输入
|
60
|
+
*/
|
61
|
+
allowInput?: boolean;
|
62
|
+
|
58
63
|
/**
|
59
64
|
* 按钮图标
|
60
65
|
*/
|
@@ -139,6 +144,7 @@ export class InputFormulaRenderer extends React.Component<InputFormulaProps> {
|
|
139
144
|
className,
|
140
145
|
classPrefix: ns,
|
141
146
|
classnames: cx,
|
147
|
+
allowInput = true,
|
142
148
|
borderMode,
|
143
149
|
placeholder,
|
144
150
|
inputMode,
|
@@ -156,6 +162,7 @@ export class InputFormulaRenderer extends React.Component<InputFormulaProps> {
|
|
156
162
|
className={className}
|
157
163
|
value={value}
|
158
164
|
disabled={disabled}
|
165
|
+
allowInput={allowInput}
|
159
166
|
onChange={onChange}
|
160
167
|
evalMode={evalMode}
|
161
168
|
variables={variables}
|
@@ -31,6 +31,7 @@ import {
|
|
31
31
|
import {filter} from '../../utils/tpl';
|
32
32
|
import isPlainObject from 'lodash/isPlainObject';
|
33
33
|
import merge from 'lodash/merge';
|
34
|
+
import omit from 'lodash/omit';
|
34
35
|
|
35
36
|
/**
|
36
37
|
* Image 图片上传控件
|
@@ -817,13 +818,16 @@ export default class ImageControl extends React.Component<
|
|
817
818
|
}
|
818
819
|
|
819
820
|
syncAutoFill() {
|
820
|
-
const {autoFill, multiple, onBulkChange, data} = this.props;
|
821
|
-
|
821
|
+
const {autoFill, multiple, onBulkChange, data, name} = this.props;
|
822
|
+
// 排除自身的字段,否则会无限更新state
|
823
|
+
const excludeSelfAutoFill = omit(autoFill, name || '');
|
824
|
+
|
825
|
+
if (!isEmpty(excludeSelfAutoFill) && onBulkChange && this.initAutoFill) {
|
822
826
|
const files = this.state.files.filter(
|
823
827
|
file => ~['uploaded', 'init', 'ready'].indexOf(file.state as string)
|
824
828
|
);
|
825
829
|
const toSync = dataMapping(
|
826
|
-
|
830
|
+
excludeSelfAutoFill,
|
827
831
|
multiple
|
828
832
|
? {
|
829
833
|
items: files
|
@@ -1077,7 +1081,11 @@ export default class ImageControl extends React.Component<
|
|
1077
1081
|
};
|
1078
1082
|
obj.value = obj.value || obj.url;
|
1079
1083
|
|
1080
|
-
const dispatcher = await this.dispatchEvent('success',
|
1084
|
+
const dispatcher = await this.dispatchEvent('success', {
|
1085
|
+
...file,
|
1086
|
+
value: obj.value,
|
1087
|
+
state: 'uploaded'
|
1088
|
+
});
|
1081
1089
|
if (dispatcher?.prevented) {
|
1082
1090
|
return;
|
1083
1091
|
}
|
@@ -1248,8 +1256,16 @@ export default class ImageControl extends React.Component<
|
|
1248
1256
|
|
1249
1257
|
async dispatchEvent(e: string, data?: Record<string, any>) {
|
1250
1258
|
const {dispatchEvent} = this.props;
|
1251
|
-
|
1252
|
-
|
1259
|
+
const getEventData = (item: Record<string, any>) => ({
|
1260
|
+
name: item.path || item.name,
|
1261
|
+
value: item.value,
|
1262
|
+
state: item.state,
|
1263
|
+
error: item.error
|
1264
|
+
});
|
1265
|
+
const value = data
|
1266
|
+
? getEventData(data)
|
1267
|
+
: this.files.map(item => getEventData(item));
|
1268
|
+
return dispatchEvent(e, createObject(this.props.data, {file: value}));
|
1253
1269
|
}
|
1254
1270
|
|
1255
1271
|
// 动作
|
@@ -170,8 +170,14 @@ export default class MonthRangeControl extends React.Component<MonthRangeProps>
|
|
170
170
|
// 动作
|
171
171
|
doAction(action: Action, data: object, throwErrors: boolean) {
|
172
172
|
const {resetValue, onChange} = this.props;
|
173
|
+
|
173
174
|
if (action.actionType === 'clear') {
|
174
|
-
onChange(
|
175
|
+
onChange('');
|
176
|
+
return;
|
177
|
+
}
|
178
|
+
|
179
|
+
if (action.actionType === 'reset' && resetValue) {
|
180
|
+
onChange(resetValue);
|
175
181
|
}
|
176
182
|
}
|
177
183
|
|
@@ -22,12 +22,8 @@ import {Action} from '../../types';
|
|
22
22
|
export type Value = string | MultipleValue | number | [number, number];
|
23
23
|
export type FormatValue = MultipleValue | number;
|
24
24
|
export type TooltipPosType = 'auto' | 'top' | 'right' | 'bottom' | 'left';
|
25
|
-
export type
|
26
|
-
|
27
|
-
| 'afterChange'
|
28
|
-
| 'blur'
|
29
|
-
| 'focus';
|
30
|
-
export type InputTextRendererAction = 'clear';
|
25
|
+
export type InputRangeRendererEvent = 'change' | 'blur' | 'focus';
|
26
|
+
export type InputRangeRendererAction = 'clear';
|
31
27
|
export interface RangeControlSchema extends FormBaseControl {
|
32
28
|
type: 'input-range';
|
33
29
|
|
@@ -275,7 +271,7 @@ export function formatValue(
|
|
275
271
|
max: max === undefined || max > props.max ? props.max : max
|
276
272
|
};
|
277
273
|
}
|
278
|
-
return +value
|
274
|
+
return +value < props.min ? props.min : Math.min(+value, props.max);
|
279
275
|
}
|
280
276
|
|
281
277
|
/**
|
@@ -288,11 +284,13 @@ export class Input extends React.Component<RangeItemProps, any> {
|
|
288
284
|
*/
|
289
285
|
@autobind
|
290
286
|
onChange(value: number) {
|
291
|
-
const {multiple, value: originValue, type} = this.props;
|
287
|
+
const {multiple, value: originValue, type, min} = this.props;
|
292
288
|
const _value = this.getValue(value, type);
|
293
289
|
|
294
290
|
this.props.updateValue(
|
295
|
-
multiple
|
291
|
+
multiple
|
292
|
+
? {...(originValue as MultipleValue), [type]: _value}
|
293
|
+
: value ?? min
|
296
294
|
);
|
297
295
|
}
|
298
296
|
|
@@ -338,7 +336,8 @@ export class Input extends React.Component<RangeItemProps, any> {
|
|
338
336
|
*/
|
339
337
|
getValue(value: string | number, type?: string) {
|
340
338
|
const {max, min, step, value: stateValue} = this.props as RangeItemProps;
|
341
|
-
|
339
|
+
// value为null、undefined时,取对应的min/max
|
340
|
+
value = value ?? (type === 'min' ? min : max);
|
342
341
|
// 校正value为step的倍数
|
343
342
|
let _value = Math.round(parseFloat(value + '') / step) * step;
|
344
343
|
// 同步value与步长小数位数
|
@@ -461,21 +460,26 @@ export default class RangeControl extends React.PureComponent<
|
|
461
460
|
}
|
462
461
|
|
463
462
|
componentDidUpdate(prevProps: RangeProps) {
|
464
|
-
const {value} = prevProps;
|
463
|
+
const {value, min, max} = prevProps;
|
465
464
|
const {
|
466
465
|
value: nextPropsValue,
|
467
466
|
multiple,
|
468
467
|
delimiter,
|
469
|
-
min,
|
470
|
-
max,
|
468
|
+
min: nextPropsMin,
|
469
|
+
max: nextPropsMax,
|
471
470
|
onChange
|
472
471
|
} = this.props;
|
473
|
-
|
472
|
+
|
473
|
+
if (
|
474
|
+
value !== nextPropsValue ||
|
475
|
+
min !== nextPropsMin ||
|
476
|
+
max !== nextPropsMax
|
477
|
+
) {
|
474
478
|
const value = formatValue(nextPropsValue, {
|
475
479
|
multiple,
|
476
480
|
delimiter,
|
477
|
-
min,
|
478
|
-
max
|
481
|
+
min: nextPropsMin,
|
482
|
+
max: nextPropsMax
|
479
483
|
});
|
480
484
|
this.setState({
|
481
485
|
value: this.getValue(value)
|
@@ -588,12 +592,6 @@ export default class RangeControl extends React.PureComponent<
|
|
588
592
|
region
|
589
593
|
} = props;
|
590
594
|
|
591
|
-
// 指定parts -> 重新计算步长
|
592
|
-
if (parts > 1) {
|
593
|
-
props.step = (props.max - props.min) / props.parts;
|
594
|
-
props.showSteps = true;
|
595
|
-
}
|
596
|
-
|
597
595
|
// 处理自定义json配置
|
598
596
|
let renderMarks:
|
599
597
|
| MarksType
|
@@ -1082,7 +1082,9 @@ export default class FormTable extends React.Component<TableProps, TableState> {
|
|
1082
1082
|
prefixRow,
|
1083
1083
|
formInited,
|
1084
1084
|
perPage,
|
1085
|
-
classnames: cx
|
1085
|
+
classnames: cx,
|
1086
|
+
rowClassName,
|
1087
|
+
rowClassNameExpr
|
1086
1088
|
} = this.props;
|
1087
1089
|
|
1088
1090
|
if (formInited === false) {
|
@@ -1131,7 +1133,9 @@ export default class FormTable extends React.Component<TableProps, TableState> {
|
|
1131
1133
|
expandConfig,
|
1132
1134
|
canAccessSuperData,
|
1133
1135
|
reUseRow: false,
|
1134
|
-
offset
|
1136
|
+
offset,
|
1137
|
+
rowClassName,
|
1138
|
+
rowClassNameExpr
|
1135
1139
|
}
|
1136
1140
|
)}
|
1137
1141
|
{(addable && showAddBtn !== false) || showPager ? (
|
@@ -93,7 +93,6 @@ export type InputTextRendererEvent =
|
|
93
93
|
| 'focus'
|
94
94
|
| 'click'
|
95
95
|
| 'change'
|
96
|
-
| 'clear'
|
97
96
|
| 'enter';
|
98
97
|
|
99
98
|
export interface TextProps extends OptionsControlProps {
|
@@ -179,7 +178,7 @@ export default class TextControl extends React.PureComponent<
|
|
179
178
|
term: ''
|
180
179
|
})
|
181
180
|
);
|
182
|
-
} else {
|
181
|
+
} else if (addHook) {
|
183
182
|
this.unHook = addHook(async (data: any) => {
|
184
183
|
await formItem.loadOptions(
|
185
184
|
autoComplete,
|
@@ -239,7 +238,6 @@ export default class TextControl extends React.PureComponent<
|
|
239
238
|
len && this.input.setSelectionRange(len, len);
|
240
239
|
}
|
241
240
|
|
242
|
-
@bindRendererEvent<TextProps, InputTextRendererEvent>('clear')
|
243
241
|
clearValue() {
|
244
242
|
const {onChange, resetValue} = this.props;
|
245
243
|
|
@@ -546,6 +544,8 @@ export default class TextControl extends React.PureComponent<
|
|
546
544
|
multiple,
|
547
545
|
creatable,
|
548
546
|
borderMode,
|
547
|
+
showCounter,
|
548
|
+
maxLength,
|
549
549
|
translate: __
|
550
550
|
} = this.props;
|
551
551
|
let type = this.props.type?.replace(/^(?:native|input)\-/, '');
|
@@ -664,6 +664,16 @@ export default class TextControl extends React.PureComponent<
|
|
664
664
|
</a>
|
665
665
|
) : null}
|
666
666
|
|
667
|
+
{showCounter ? (
|
668
|
+
<span className={cx('TextControl-counter')}>
|
669
|
+
{`${this.valueToString(value)?.length}${
|
670
|
+
typeof maxLength === 'number' && maxLength
|
671
|
+
? `/${maxLength}`
|
672
|
+
: ''
|
673
|
+
}`}
|
674
|
+
</span>
|
675
|
+
) : null}
|
676
|
+
|
667
677
|
{loading ? (
|
668
678
|
<Spinner
|
669
679
|
show
|
@@ -832,8 +842,8 @@ export default class TextControl extends React.PureComponent<
|
|
832
842
|
</div>
|
833
843
|
) : (
|
834
844
|
<div className={cx(`${ns}TextControl-addOn`, addOn.className)}>
|
835
|
-
{addOn.label ? filter(addOn.label, data) : null}
|
836
845
|
{iconElement}
|
846
|
+
{addOn.label ? filter(addOn.label, data) : null}
|
837
847
|
</div>
|
838
848
|
)
|
839
849
|
) : null;
|
@@ -8,6 +8,8 @@ import {
|
|
8
8
|
} from './Options';
|
9
9
|
import {Spinner} from '../../components';
|
10
10
|
import {SchemaApi} from '../../Schema';
|
11
|
+
import {autobind, createObject} from '../../utils/helper';
|
12
|
+
import {Action} from '../../types';
|
11
13
|
|
12
14
|
/**
|
13
15
|
* Tree 下拉选择框。
|
@@ -98,12 +100,48 @@ export default class TreeControl extends React.Component<TreeProps> {
|
|
98
100
|
enableNodePath: false,
|
99
101
|
pathSeparator: '/'
|
100
102
|
};
|
103
|
+
treeRef: any
|
101
104
|
|
102
105
|
reload() {
|
103
106
|
const reload = this.props.reloadOptions;
|
104
107
|
reload && reload();
|
105
108
|
}
|
106
109
|
|
110
|
+
doAction(action: Action, data: any, throwErrors: boolean) {
|
111
|
+
const {resetValue, onChange, options} = this.props;
|
112
|
+
if (action.actionType && ['clear', 'reset'].includes(action.actionType)) {
|
113
|
+
onChange && onChange(resetValue ?? '');
|
114
|
+
}
|
115
|
+
if (action.actionType === 'expand') {
|
116
|
+
this.treeRef.syncUnFolded(this.props, action.openLevel);
|
117
|
+
}
|
118
|
+
if (action.actionType === 'collapse') {
|
119
|
+
this.treeRef.syncUnFolded(this.props, 0);
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
@autobind
|
126
|
+
async handleChange(value: any) {
|
127
|
+
const {onChange, dispatchEvent, data} = this.props;
|
128
|
+
|
129
|
+
const rendererEvent = await dispatchEvent('change', createObject(data, {
|
130
|
+
value
|
131
|
+
}));
|
132
|
+
|
133
|
+
if (rendererEvent?.prevented) {
|
134
|
+
return;
|
135
|
+
}
|
136
|
+
|
137
|
+
onChange && onChange(value);
|
138
|
+
}
|
139
|
+
|
140
|
+
@autobind
|
141
|
+
domRef(ref: any) {
|
142
|
+
this.treeRef = ref;
|
143
|
+
}
|
144
|
+
|
107
145
|
render() {
|
108
146
|
const {
|
109
147
|
className,
|
@@ -112,7 +150,6 @@ export default class TreeControl extends React.Component<TreeProps> {
|
|
112
150
|
value,
|
113
151
|
enableNodePath,
|
114
152
|
pathSeparator = '/',
|
115
|
-
onChange,
|
116
153
|
disabled,
|
117
154
|
joinValues,
|
118
155
|
extractValue,
|
@@ -162,11 +199,12 @@ export default class TreeControl extends React.Component<TreeProps> {
|
|
162
199
|
{loading ? null : (
|
163
200
|
<TreeSelector
|
164
201
|
classPrefix={ns}
|
202
|
+
onRef={this.domRef}
|
165
203
|
labelField={labelField}
|
166
204
|
valueField={valueField}
|
167
205
|
iconField={iconField}
|
168
206
|
disabled={disabled}
|
169
|
-
onChange={
|
207
|
+
onChange={this.handleChange}
|
170
208
|
joinValues={joinValues}
|
171
209
|
extractValue={extractValue}
|
172
210
|
delimiter={delimiter}
|
@@ -25,6 +25,7 @@ import {
|
|
25
25
|
BaseSchema,
|
26
26
|
SchemaApi,
|
27
27
|
SchemaClassName,
|
28
|
+
SchemaExpression,
|
28
29
|
SchemaObject,
|
29
30
|
SchemaType
|
30
31
|
} from '../../Schema';
|
@@ -87,6 +88,11 @@ export interface FormBaseControl
|
|
87
88
|
*/
|
88
89
|
readOnly?: boolean;
|
89
90
|
|
91
|
+
/**
|
92
|
+
* 只读条件
|
93
|
+
*/
|
94
|
+
readOnlyOn?: SchemaExpression;
|
95
|
+
|
90
96
|
/**
|
91
97
|
* 不设置时,当表单提交过后表单项每次修改都会触发重新验证,
|
92
98
|
* 如果设置了,则由此配置项来决定要不要每次修改都触发验证。
|
@@ -552,6 +558,7 @@ export class FormItemWrap extends React.Component<FormItemProps> {
|
|
552
558
|
`Form-item Form-item--horizontal`,
|
553
559
|
className,
|
554
560
|
{
|
561
|
+
'Form-item--horizontal-justify': horizontal.justify,
|
555
562
|
[`is-error`]: model && !model.valid,
|
556
563
|
[`is-required`]: required
|
557
564
|
},
|
@@ -61,6 +61,11 @@ export interface NestedSelectControlSchema extends FormOptionsControl {
|
|
61
61
|
*/
|
62
62
|
onlyChildren?: boolean;
|
63
63
|
|
64
|
+
/**
|
65
|
+
* 单选时只允许选择叶子节点
|
66
|
+
*/
|
67
|
+
onlyLeaf?: boolean;
|
68
|
+
|
64
69
|
/**
|
65
70
|
* 是否隐藏选择框中已选中节点的祖先节点的文本信息
|
66
71
|
*/
|
@@ -91,6 +96,7 @@ export default class NestedSelectControl extends React.Component<
|
|
91
96
|
cascade: false,
|
92
97
|
withChildren: false,
|
93
98
|
onlyChildren: false,
|
99
|
+
onlyLeaf: false,
|
94
100
|
searchPromptText: 'Select.searchPromptText',
|
95
101
|
noResultsText: 'noResult',
|
96
102
|
checkAll: true,
|
@@ -241,7 +247,7 @@ export default class NestedSelectControl extends React.Component<
|
|
241
247
|
);
|
242
248
|
})
|
243
249
|
: label}
|
244
|
-
{!isEnd && '>'}
|
250
|
+
{!isEnd && ' > '}
|
245
251
|
</span>
|
246
252
|
);
|
247
253
|
})
|
@@ -252,7 +258,7 @@ export default class NestedSelectControl extends React.Component<
|
|
252
258
|
|
253
259
|
@autobind
|
254
260
|
async handleOptionClick(option: Option) {
|
255
|
-
const {multiple, onChange, joinValues, extractValue, valueField} =
|
261
|
+
const {multiple, onChange, joinValues, extractValue, valueField, onlyLeaf} =
|
256
262
|
this.props;
|
257
263
|
|
258
264
|
if (multiple) {
|
@@ -265,10 +271,21 @@ export default class NestedSelectControl extends React.Component<
|
|
265
271
|
? option[valueField || 'value']
|
266
272
|
: option;
|
267
273
|
|
274
|
+
if (value === undefined) {
|
275
|
+
return;
|
276
|
+
}
|
277
|
+
|
278
|
+
if (onlyLeaf && option.children) {
|
279
|
+
return;
|
280
|
+
}
|
281
|
+
|
268
282
|
const isPrevented = await this.dispatchEvent('change', {
|
269
283
|
value
|
270
284
|
});
|
271
285
|
isPrevented || onChange(value);
|
286
|
+
|
287
|
+
isPrevented || this.handleResultClear();
|
288
|
+
|
272
289
|
!multiple && this.close();
|
273
290
|
}
|
274
291
|
|
@@ -383,6 +400,8 @@ export default class NestedSelectControl extends React.Component<
|
|
383
400
|
value: newValue
|
384
401
|
});
|
385
402
|
isPrevented || onChange(newValue);
|
403
|
+
|
404
|
+
isPrevented || this.handleResultClear();
|
386
405
|
}
|
387
406
|
|
388
407
|
allChecked(options: Options): boolean {
|
@@ -421,7 +440,7 @@ export default class NestedSelectControl extends React.Component<
|
|
421
440
|
});
|
422
441
|
|
423
442
|
const isPrevented = await this.dispatchEvent('focus', e);
|
424
|
-
isPrevented || onFocus && onFocus(e);
|
443
|
+
isPrevented || (onFocus && onFocus(e));
|
425
444
|
}
|
426
445
|
}
|
427
446
|
|
@@ -434,7 +453,7 @@ export default class NestedSelectControl extends React.Component<
|
|
434
453
|
});
|
435
454
|
|
436
455
|
const isPrevented = await this.dispatchEvent('blur', e);
|
437
|
-
isPrevented || onBlur && onBlur(e);
|
456
|
+
isPrevented || (onBlur && onBlur(e));
|
438
457
|
}
|
439
458
|
|
440
459
|
@autobind
|
@@ -454,10 +454,10 @@ export function registerOptionsControl(config: OptionsConfig) {
|
|
454
454
|
this.toDispose = [];
|
455
455
|
}
|
456
456
|
|
457
|
-
async
|
457
|
+
async dispatchOptionEvent(eventName: string, eventData: any = '') {
|
458
458
|
const {dispatchEvent, options, data} = this.props;
|
459
459
|
const rendererEvent = await dispatchEvent(
|
460
|
-
|
460
|
+
eventName,
|
461
461
|
createObject(data, {
|
462
462
|
value: eventData,
|
463
463
|
options,
|
@@ -599,7 +599,7 @@ export function registerOptionsControl(config: OptionsConfig) {
|
|
599
599
|
value
|
600
600
|
);
|
601
601
|
|
602
|
-
const isPrevented = await this.
|
602
|
+
const isPrevented = await this.dispatchOptionEvent('change', newValue);
|
603
603
|
isPrevented || (onChange && onChange(newValue, submitOnChange, changeImmediately));
|
604
604
|
}
|
605
605
|
|
@@ -667,7 +667,7 @@ export function registerOptionsControl(config: OptionsConfig) {
|
|
667
667
|
? []
|
668
668
|
: formItem.filteredOptions.concat();
|
669
669
|
const newValue = this.formatValueArray(valueArray);
|
670
|
-
const isPrevented = await this.
|
670
|
+
const isPrevented = await this.dispatchOptionEvent('change', newValue);
|
671
671
|
isPrevented || (onChange && onChange(newValue));
|
672
672
|
}
|
673
673
|
|
@@ -767,7 +767,7 @@ export function registerOptionsControl(config: OptionsConfig) {
|
|
767
767
|
}
|
768
768
|
|
769
769
|
@autobind
|
770
|
-
deferLoad(option: Option) {
|
770
|
+
async deferLoad(option: Option) {
|
771
771
|
const {deferApi, source, env, formItem, data} = this.props;
|
772
772
|
const api = option.deferApi || deferApi || source;
|
773
773
|
|
@@ -779,7 +779,9 @@ export function registerOptionsControl(config: OptionsConfig) {
|
|
779
779
|
return;
|
780
780
|
}
|
781
781
|
|
782
|
-
formItem?.deferLoadOptions(option, api, createObject(data, option));
|
782
|
+
const json = await formItem?.deferLoadOptions(option, api, createObject(data, option));
|
783
|
+
// 触发事件通知,加载完成
|
784
|
+
this.dispatchOptionEvent('loadFinished',json);
|
783
785
|
}
|
784
786
|
|
785
787
|
@autobind
|
@@ -992,10 +994,15 @@ export function registerOptionsControl(config: OptionsConfig) {
|
|
992
994
|
[valueField || 'value']: result[labelField || 'label']
|
993
995
|
};
|
994
996
|
}
|
997
|
+
// 触发事件通知
|
998
|
+
const isPrevented = await this.dispatchOptionEvent('add', {...result, idx});
|
999
|
+
if (isPrevented) {
|
1000
|
+
return;
|
1001
|
+
}
|
995
1002
|
|
996
1003
|
// 如果是懒加载的,只懒加载当前节点。
|
997
1004
|
if (parent?.defer) {
|
998
|
-
this.deferLoad(parent);
|
1005
|
+
await this.deferLoad(parent);
|
999
1006
|
} else if (source && addApi) {
|
1000
1007
|
// 如果配置了 source 且配置了 addApi 直接重新拉取接口就够了
|
1001
1008
|
// 不能不判断 addApi 就刷新,因为有些场景就是临时添加的。
|
@@ -1095,6 +1102,12 @@ export function registerOptionsControl(config: OptionsConfig) {
|
|
1095
1102
|
return;
|
1096
1103
|
}
|
1097
1104
|
|
1105
|
+
// 触发事件通知
|
1106
|
+
const isPrevented = await this.dispatchOptionEvent('edit', result);
|
1107
|
+
if (isPrevented) {
|
1108
|
+
return;
|
1109
|
+
}
|
1110
|
+
|
1098
1111
|
if (source && editApi) {
|
1099
1112
|
this.reload();
|
1100
1113
|
} else {
|
@@ -1141,6 +1154,12 @@ export function registerOptionsControl(config: OptionsConfig) {
|
|
1141
1154
|
return;
|
1142
1155
|
}
|
1143
1156
|
|
1157
|
+
// 触发事件通知
|
1158
|
+
const isPrevented = await this.dispatchOptionEvent('delete', ctx);
|
1159
|
+
if (isPrevented) {
|
1160
|
+
return;
|
1161
|
+
}
|
1162
|
+
|
1144
1163
|
// 通过 deleteApi 删除。
|
1145
1164
|
try {
|
1146
1165
|
if (!deleteApi) {
|
@@ -228,7 +228,7 @@ export default class SelectControl extends React.Component<SelectProps, any> {
|
|
228
228
|
'change',
|
229
229
|
createObject(data, {
|
230
230
|
value: newValue,
|
231
|
-
options
|
231
|
+
options
|
232
232
|
})
|
233
233
|
);
|
234
234
|
if (rendererEvent?.prevented) {
|
@@ -409,8 +409,10 @@ export default class SelectControl extends React.Component<SelectProps, any> {
|
|
409
409
|
onBlur={(e: any) => this.dispatchEvent('blur', e)}
|
410
410
|
onFocus={(e: any) => this.dispatchEvent('focus', e)}
|
411
411
|
onAdd={() => this.dispatchEvent('add')}
|
412
|
-
onEdit={(item: any) => this.dispatchEvent('edit', item)}
|
413
|
-
onDelete={(item: any) =>
|
412
|
+
onEdit={(item: any) => this.dispatchEvent('edit', {value: item})}
|
413
|
+
onDelete={(item: any) =>
|
414
|
+
this.dispatchEvent('delete', {value: item})
|
415
|
+
}
|
414
416
|
loading={loading}
|
415
417
|
noResultsText={noResultsText}
|
416
418
|
renderMenu={menuTpl ? this.renderMenu : undefined}
|
@@ -211,12 +211,14 @@ export default class TextAreaControl extends React.Component<
|
|
211
211
|
`TextareaControl`,
|
212
212
|
{
|
213
213
|
[`TextareaControl--border${ucFirst(borderMode)}`]: borderMode,
|
214
|
-
'is-focused': this.state.focused
|
214
|
+
'is-focused': this.state.focused,
|
215
|
+
'is-disabled': disabled
|
215
216
|
},
|
216
217
|
className
|
217
218
|
)}
|
218
219
|
>
|
219
220
|
<Textarea
|
221
|
+
className={cx(`TextareaControl-input`)}
|
220
222
|
autoComplete="off"
|
221
223
|
ref={this.inputRef}
|
222
224
|
name={name}
|