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
@@ -251,12 +251,18 @@ export default class Service extends React.Component<ServiceProps> {
|
|
251
251
|
let dataProviderFunc = dataProvider;
|
252
252
|
|
253
253
|
if (typeof dataProvider === 'string' && dataProvider) {
|
254
|
-
dataProviderFunc = str2AsyncFunction(
|
254
|
+
dataProviderFunc = str2AsyncFunction(
|
255
|
+
dataProvider,
|
256
|
+
'data',
|
257
|
+
'setData',
|
258
|
+
'env'
|
259
|
+
)!;
|
255
260
|
}
|
256
261
|
if (typeof dataProviderFunc === 'function') {
|
257
262
|
const unsubscribe = await dataProviderFunc(
|
258
263
|
store.data,
|
259
|
-
this.dataProviderSetData
|
264
|
+
this.dataProviderSetData,
|
265
|
+
this.props.env
|
260
266
|
);
|
261
267
|
if (typeof unsubscribe === 'function') {
|
262
268
|
this.dataProviderUnsubscribe = unsubscribe;
|
@@ -363,6 +369,7 @@ export default class Service extends React.Component<ServiceProps> {
|
|
363
369
|
initFetch,
|
364
370
|
initFetchOn,
|
365
371
|
store,
|
372
|
+
dataProvider,
|
366
373
|
messages: {fetchSuccess, fetchFailed}
|
367
374
|
} = this.props;
|
368
375
|
|
@@ -386,6 +393,10 @@ export default class Service extends React.Component<ServiceProps> {
|
|
386
393
|
})
|
387
394
|
.then(this.afterDataFetch);
|
388
395
|
}
|
396
|
+
|
397
|
+
if (dataProvider) {
|
398
|
+
this.runDataProvider();
|
399
|
+
}
|
389
400
|
}
|
390
401
|
|
391
402
|
silentReload(target?: string, query?: any) {
|
@@ -411,22 +422,35 @@ export default class Service extends React.Component<ServiceProps> {
|
|
411
422
|
// 会被覆写
|
412
423
|
}
|
413
424
|
|
425
|
+
@autobind
|
426
|
+
handleDialogConfirm(
|
427
|
+
values: object[],
|
428
|
+
action: Action,
|
429
|
+
ctx: any,
|
430
|
+
targets: Array<any>
|
431
|
+
) {
|
432
|
+
const {store} = this.props;
|
433
|
+
store.closeDialog(true);
|
434
|
+
}
|
435
|
+
|
436
|
+
@autobind
|
437
|
+
handleDialogClose(confirmed = false) {
|
438
|
+
const {store} = this.props;
|
439
|
+
store.closeDialog(confirmed);
|
440
|
+
}
|
441
|
+
|
414
442
|
openFeedback(dialog: any, ctx: any) {
|
415
443
|
return new Promise(resolve => {
|
416
444
|
const {store} = this.props;
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
store.openDialog(ctx, undefined, confirmed => {
|
427
|
-
resolve(confirmed);
|
428
|
-
});
|
429
|
-
}
|
445
|
+
|
446
|
+
store.setCurrentAction({
|
447
|
+
type: 'button',
|
448
|
+
actionType: 'dialog',
|
449
|
+
dialog: dialog
|
450
|
+
});
|
451
|
+
store.openDialog(ctx, undefined, confirmed => {
|
452
|
+
resolve(confirmed);
|
453
|
+
});
|
430
454
|
});
|
431
455
|
}
|
432
456
|
|
@@ -486,18 +510,12 @@ export default class Service extends React.Component<ServiceProps> {
|
|
486
510
|
renderBody() {
|
487
511
|
const {render, store, body: schema, classnames: cx} = this.props;
|
488
512
|
|
489
|
-
return (
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
onAction: this.handleAction,
|
496
|
-
onChange: this.handleChange
|
497
|
-
}) as JSX.Element
|
498
|
-
}
|
499
|
-
</div>
|
500
|
-
);
|
513
|
+
return render('body', store.schema || schema, {
|
514
|
+
key: store.schemaKey || 'body',
|
515
|
+
onQuery: this.handleQuery,
|
516
|
+
onAction: this.handleAction,
|
517
|
+
onChange: this.handleChange
|
518
|
+
}) as JSX.Element;
|
501
519
|
}
|
502
520
|
|
503
521
|
render() {
|
@@ -527,6 +545,23 @@ export default class Service extends React.Component<ServiceProps> {
|
|
527
545
|
{this.renderBody()}
|
528
546
|
|
529
547
|
<Spinner size="lg" overlay key="info" show={store.loading} />
|
548
|
+
|
549
|
+
{render(
|
550
|
+
// 单独给 feedback 服务的,handleAction 里面先不要处理弹窗
|
551
|
+
'modal',
|
552
|
+
{
|
553
|
+
...((store.action as Action) &&
|
554
|
+
((store.action as Action).dialog as object)),
|
555
|
+
type: 'dialog'
|
556
|
+
},
|
557
|
+
{
|
558
|
+
key: 'dialog',
|
559
|
+
data: store.dialogData,
|
560
|
+
onConfirm: this.handleDialogConfirm,
|
561
|
+
onClose: this.handleDialogClose,
|
562
|
+
show: store.dialogOpen
|
563
|
+
}
|
564
|
+
)}
|
530
565
|
</div>
|
531
566
|
);
|
532
567
|
}
|
@@ -579,4 +614,8 @@ export class ServiceRenderer extends Service {
|
|
579
614
|
const scoped = this.context as IScopedContext;
|
580
615
|
scoped.reload(target, data);
|
581
616
|
}
|
617
|
+
|
618
|
+
setData(values: object) {
|
619
|
+
return super.afterDataFetch(values);
|
620
|
+
}
|
582
621
|
}
|
@@ -1,14 +1,96 @@
|
|
1
1
|
import Spinner from '../components/Spinner';
|
2
2
|
import {Renderer, RendererProps} from '../factory';
|
3
3
|
import React from 'react';
|
4
|
+
import {BaseSchema, SchemaCollection} from '../Schema';
|
4
5
|
|
5
|
-
interface
|
6
|
+
export interface SpinnerSchema extends BaseSchema {
|
7
|
+
/**
|
8
|
+
* 组件类型
|
9
|
+
*/
|
10
|
+
type: 'spinner';
|
11
|
+
|
12
|
+
/**
|
13
|
+
* 控制Spinner显示与隐藏
|
14
|
+
*/
|
15
|
+
show: boolean;
|
16
|
+
|
17
|
+
/**
|
18
|
+
* 自定义spinner的class
|
19
|
+
*/
|
20
|
+
className?: string;
|
21
|
+
|
22
|
+
/**
|
23
|
+
* spin图标位置包裹元素的自定义class
|
24
|
+
*/
|
25
|
+
spinnerClassName?: string;
|
26
|
+
|
27
|
+
/**
|
28
|
+
* 作为容器使用时最外层元素的class
|
29
|
+
*/
|
30
|
+
spinnerWrapClassName?: string;
|
31
|
+
|
32
|
+
/**
|
33
|
+
* @deprecated 已废弃,没有作用
|
34
|
+
*/
|
35
|
+
mode?: string;
|
36
|
+
|
37
|
+
/**
|
38
|
+
* spinner Icon 大小
|
39
|
+
*/
|
40
|
+
size?: 'sm' | 'lg' | '';
|
41
|
+
|
42
|
+
/**
|
43
|
+
* 自定义icon
|
44
|
+
*/
|
45
|
+
icon?: string;
|
46
|
+
|
47
|
+
/**
|
48
|
+
* spinner文案
|
49
|
+
*/
|
50
|
+
tip?: string;
|
51
|
+
|
52
|
+
/**
|
53
|
+
* spinner文案位置
|
54
|
+
*/
|
55
|
+
tipPlacement?: 'top' | 'right' | 'bottom' | 'left';
|
56
|
+
|
57
|
+
/**
|
58
|
+
* 延迟显示
|
59
|
+
*/
|
60
|
+
delay?: number;
|
61
|
+
|
62
|
+
/**
|
63
|
+
* 是否显示遮罩层
|
64
|
+
*/
|
65
|
+
overlay?: boolean;
|
66
|
+
|
67
|
+
/**
|
68
|
+
* 作为容器使用时内容
|
69
|
+
*/
|
70
|
+
body?: SchemaCollection;
|
71
|
+
}
|
72
|
+
|
73
|
+
interface SpinnerRenderProps
|
74
|
+
extends RendererProps,
|
75
|
+
Omit<SpinnerSchema, 'className'> {}
|
6
76
|
|
7
77
|
@Renderer({
|
8
78
|
type: 'spinner'
|
9
79
|
})
|
10
|
-
export class SpinnerRenderer extends React.Component<
|
80
|
+
export class SpinnerRenderer extends React.Component<SpinnerRenderProps> {
|
81
|
+
renderBody() {
|
82
|
+
const {body, render} = this.props;
|
83
|
+
return body ? render('body', body) : null;
|
84
|
+
}
|
11
85
|
render() {
|
12
|
-
|
86
|
+
const {classnames: cx, spinnerWrapClassName, body, ...rest} = this.props;
|
87
|
+
return body ? (
|
88
|
+
<div className={cx(`Spinner-wrap`, spinnerWrapClassName)}>
|
89
|
+
<Spinner {...rest}></Spinner>
|
90
|
+
{this.renderBody()}
|
91
|
+
</div>
|
92
|
+
) : (
|
93
|
+
<Spinner {...rest}></Spinner>
|
94
|
+
);
|
13
95
|
}
|
14
96
|
}
|
package/src/renderers/Steps.tsx
CHANGED
@@ -70,6 +70,16 @@ export interface StepsSchema extends BaseSchema {
|
|
70
70
|
* 展示模式
|
71
71
|
*/
|
72
72
|
mode?: 'horizontal' | 'vertical';
|
73
|
+
|
74
|
+
/**
|
75
|
+
* 标签放置位置
|
76
|
+
*/
|
77
|
+
labelPlacement?: 'horizontal' | 'vertical';
|
78
|
+
|
79
|
+
/**
|
80
|
+
* 点状步骤条
|
81
|
+
*/
|
82
|
+
progressDot?: boolean;
|
73
83
|
}
|
74
84
|
|
75
85
|
export interface StepsProps
|
@@ -82,6 +92,8 @@ export function StepsCmpt(props: StepsProps) {
|
|
82
92
|
steps,
|
83
93
|
status,
|
84
94
|
mode,
|
95
|
+
labelPlacement,
|
96
|
+
progressDot,
|
85
97
|
data,
|
86
98
|
source,
|
87
99
|
config,
|
@@ -139,6 +151,8 @@ export function StepsCmpt(props: StepsProps) {
|
|
139
151
|
className={className}
|
140
152
|
status={status}
|
141
153
|
mode={mode}
|
154
|
+
progressDot={progressDot}
|
155
|
+
labelPlacement={labelPlacement}
|
142
156
|
useMobileUI={useMobileUI}
|
143
157
|
></Steps>
|
144
158
|
);
|
@@ -13,6 +13,8 @@ import type {TooltipObject} from '../../components/TooltipWrapper';
|
|
13
13
|
import {noop, autobind} from '../../utils/helper';
|
14
14
|
import {filter} from '../../utils/tpl';
|
15
15
|
import {Icon} from '../../components/icons';
|
16
|
+
import {getIcon} from '../../components/icons';
|
17
|
+
import {generateIcon} from '../../utils/icon';
|
16
18
|
import {RootClose} from '../../utils/RootClose';
|
17
19
|
import {IColumn} from '../../store/table';
|
18
20
|
|
@@ -112,6 +114,11 @@ export interface ColumnTogglerProps extends RendererProps {
|
|
112
114
|
*/
|
113
115
|
columns: Array<IColumn>;
|
114
116
|
|
117
|
+
/**
|
118
|
+
* 弹窗底部按钮大小
|
119
|
+
*/
|
120
|
+
footerBtnSize?: 'xs' | 'sm' | 'md' | 'lg';
|
121
|
+
|
115
122
|
onColumnToggle: (columns: Array<IColumn>) => void;
|
116
123
|
modalContainer?: () => HTMLElement;
|
117
124
|
}
|
@@ -326,7 +333,8 @@ export default class ColumnToggler extends React.Component<
|
|
326
333
|
modalContainer,
|
327
334
|
draggable,
|
328
335
|
overlay,
|
329
|
-
translate: __
|
336
|
+
translate: __,
|
337
|
+
footerBtnSize
|
330
338
|
} = this.props;
|
331
339
|
|
332
340
|
const {enableSorting, tempColumns} = this.state;
|
@@ -372,13 +380,14 @@ export default class ColumnToggler extends React.Component<
|
|
372
380
|
<a className={cx('ColumnToggler-menuItem-dragBar')}>
|
373
381
|
<Icon icon="drag-bar" className={cx('icon')} />
|
374
382
|
</a>
|
375
|
-
<span>
|
376
|
-
{column.label
|
383
|
+
<span className={cx('ColumnToggler-menuItem-label')}>
|
384
|
+
<span>{column.label || '-'}</span>
|
377
385
|
</span>
|
378
386
|
</>
|
379
387
|
) : (
|
380
388
|
<Checkbox
|
381
389
|
size="sm"
|
390
|
+
labelClassName={cx('ColumnToggler-menuItem-label')}
|
382
391
|
classPrefix={ns}
|
383
392
|
checked={column.toggled}
|
384
393
|
disabled={!column.toggable || enableSorting}
|
@@ -388,9 +397,7 @@ export default class ColumnToggler extends React.Component<
|
|
388
397
|
index
|
389
398
|
)}
|
390
399
|
>
|
391
|
-
<span>
|
392
|
-
{column.label ? render('tpl', column.label) : null}
|
393
|
-
</span>
|
400
|
+
<span>{column.label || '-'}</span>
|
394
401
|
</Checkbox>
|
395
402
|
)}
|
396
403
|
</li>
|
@@ -430,10 +437,18 @@ export default class ColumnToggler extends React.Component<
|
|
430
437
|
</Button>
|
431
438
|
</div>
|
432
439
|
<div>
|
433
|
-
<Button
|
440
|
+
<Button
|
441
|
+
size={footerBtnSize}
|
442
|
+
className="mr-3"
|
443
|
+
onClick={this.close}
|
444
|
+
>
|
434
445
|
{__('cancel')}
|
435
446
|
</Button>
|
436
|
-
<Button
|
447
|
+
<Button
|
448
|
+
size={footerBtnSize}
|
449
|
+
level="primary"
|
450
|
+
onClick={this.onConfirm}
|
451
|
+
>
|
437
452
|
{__('confirm')}
|
438
453
|
</Button>
|
439
454
|
</div>
|
@@ -492,11 +507,21 @@ export default class ColumnToggler extends React.Component<
|
|
492
507
|
>
|
493
508
|
{icon ? (
|
494
509
|
typeof icon === 'string' ? (
|
495
|
-
|
510
|
+
getIcon(icon!) ? (
|
511
|
+
<Icon icon={icon} className={cx('icon', {'m-r-xs': !!label})} />
|
512
|
+
) : (
|
513
|
+
generateIcon(cx, icon, label ? 'm-r-xs' : '')
|
514
|
+
)
|
515
|
+
) : React.isValidElement(icon) ? (
|
516
|
+
React.cloneElement(icon, {
|
517
|
+
className: cx({'m-r-xs': !!label})
|
518
|
+
})
|
496
519
|
) : (
|
497
|
-
icon
|
520
|
+
<Icon icon="columns" className="icon m-r-none" />
|
498
521
|
)
|
499
|
-
) :
|
522
|
+
) : (
|
523
|
+
<Icon icon="columns" className="icon m-r-none" />
|
524
|
+
)}
|
500
525
|
{typeof label === 'string' ? filter(label, data) : label}
|
501
526
|
{hideExpandIcon || draggable ? null : (
|
502
527
|
<span className={cx('ColumnToggler-caret')}>
|
@@ -7,6 +7,11 @@ import {observer} from 'mobx-react';
|
|
7
7
|
import omit = require('lodash/omit');
|
8
8
|
import {filter} from '../../utils/tpl';
|
9
9
|
import {Badge} from '../../components/Badge';
|
10
|
+
import ColorScale from '../../utils/ColorScale';
|
11
|
+
import {
|
12
|
+
isPureVariable,
|
13
|
+
resolveVariableAndFilter
|
14
|
+
} from '../../utils/tpl-builtin';
|
10
15
|
|
11
16
|
export interface TableCellProps extends RendererProps {
|
12
17
|
wrapperComponent?: React.ReactType;
|
@@ -34,7 +39,7 @@ export class TableCell extends React.Component<RendererProps> {
|
|
34
39
|
className,
|
35
40
|
classNameExpr,
|
36
41
|
render,
|
37
|
-
style,
|
42
|
+
style = {},
|
38
43
|
wrapperComponent: Component,
|
39
44
|
column,
|
40
45
|
value,
|
@@ -106,6 +111,39 @@ export class TableCell extends React.Component<RendererProps> {
|
|
106
111
|
};
|
107
112
|
}
|
108
113
|
|
114
|
+
if (column.backgroundScale) {
|
115
|
+
const backgroundScale = column.backgroundScale;
|
116
|
+
let min = backgroundScale.min;
|
117
|
+
let max = backgroundScale.max;
|
118
|
+
|
119
|
+
if (isPureVariable(min)) {
|
120
|
+
min = resolveVariableAndFilter(min, data, '| raw');
|
121
|
+
}
|
122
|
+
if (isPureVariable(max)) {
|
123
|
+
max = resolveVariableAndFilter(max, data, '| raw');
|
124
|
+
}
|
125
|
+
|
126
|
+
if (typeof min === 'undefined') {
|
127
|
+
min = Math.min(...data.rows.map((r: any) => r[column.name]));
|
128
|
+
}
|
129
|
+
if (typeof max === 'undefined') {
|
130
|
+
max = Math.max(...data.rows.map((r: any) => r[column.name]));
|
131
|
+
}
|
132
|
+
|
133
|
+
const colorScale = new ColorScale(
|
134
|
+
min,
|
135
|
+
max,
|
136
|
+
backgroundScale.colors || ['#FFEF9C', '#FF7127']
|
137
|
+
);
|
138
|
+
let value = data[column.name];
|
139
|
+
if (isPureVariable(backgroundScale.source)) {
|
140
|
+
value = resolveVariableAndFilter(backgroundScale.source, data, '| raw');
|
141
|
+
}
|
142
|
+
|
143
|
+
const color = colorScale.getColor(Number(value)).toHexString();
|
144
|
+
style.background = color;
|
145
|
+
}
|
146
|
+
|
109
147
|
if (!Component) {
|
110
148
|
return body as JSX.Element;
|
111
149
|
}
|
@@ -195,7 +195,7 @@ export class TableRow extends React.Component<TableRowProps> {
|
|
195
195
|
'is-checked': item.checked,
|
196
196
|
'is-modified': item.modified,
|
197
197
|
'is-moved': item.moved,
|
198
|
-
'is-expanded': item.expanded,
|
198
|
+
'is-expanded': item.expanded && item.expandable,
|
199
199
|
'is-expandable': item.expandable,
|
200
200
|
[`Table-tr--hasItemAction`]: itemAction,
|
201
201
|
[`Table-tr--odd`]: itemIndex % 2 === 0,
|
@@ -370,6 +370,7 @@ export interface TableProps extends RendererProps {
|
|
370
370
|
type ExportExcelToolbar = SchemaNode & {
|
371
371
|
api?: SchemaApi;
|
372
372
|
columns?: string[];
|
373
|
+
exportColumns?: any[];
|
373
374
|
filename?: string;
|
374
375
|
};
|
375
376
|
|
@@ -472,6 +473,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
472
473
|
} = {};
|
473
474
|
renderedToolbars: Array<string> = [];
|
474
475
|
subForms: any = {};
|
476
|
+
timer: ReturnType<typeof setTimeout>;
|
475
477
|
|
476
478
|
constructor(props: TableProps) {
|
477
479
|
super(props);
|
@@ -659,7 +661,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
659
661
|
const footToolbarHeight = footToolbar ? offset(footToolbar).height : 0;
|
660
662
|
// 有时候会拿不到 footToolbar,等一下在执行
|
661
663
|
if (!footToolbarHeight && footerToolbar && footerToolbar.length) {
|
662
|
-
setTimeout(() => {
|
664
|
+
this.timer = setTimeout(() => {
|
663
665
|
this.updateAutoFillHeight();
|
664
666
|
}, 100);
|
665
667
|
return;
|
@@ -777,6 +779,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
777
779
|
this.unSensor && this.unSensor();
|
778
780
|
|
779
781
|
formItem && isAlive(formItem) && formItem.setSubStore(null);
|
782
|
+
clearTimeout(this.timer);
|
780
783
|
}
|
781
784
|
|
782
785
|
subFormRef(form: any, x: number, y: number) {
|
@@ -1662,7 +1665,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
1662
1665
|
{store.rows.length && multiple ? (
|
1663
1666
|
<Checkbox
|
1664
1667
|
classPrefix={ns}
|
1665
|
-
partial={!store.allChecked}
|
1668
|
+
partial={store.someChecked && !store.allChecked}
|
1666
1669
|
checked={store.someChecked}
|
1667
1670
|
disabled={store.disabledHeadCheckbox}
|
1668
1671
|
onChange={this.handleCheckAll}
|
@@ -2200,9 +2203,8 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2200
2203
|
classPrefix={ns}
|
2201
2204
|
key="columns-toggable"
|
2202
2205
|
size={config?.size || 'sm'}
|
2203
|
-
|
2204
|
-
|
2205
|
-
}
|
2206
|
+
icon={config?.icon}
|
2207
|
+
label={config?.label}
|
2206
2208
|
draggable={config?.draggable}
|
2207
2209
|
columns={store.columnsData}
|
2208
2210
|
onColumnToggle={this.handleColumnToggle}
|
@@ -2259,18 +2261,25 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2259
2261
|
classPrefix: ns,
|
2260
2262
|
classnames: cx,
|
2261
2263
|
translate: __,
|
2262
|
-
|
2263
|
-
|
2264
|
+
data,
|
2265
|
+
render
|
2264
2266
|
} = this.props;
|
2265
2267
|
|
2268
|
+
let columns = store.filteredColumns || [];
|
2269
|
+
|
2266
2270
|
if (!columns) {
|
2267
2271
|
return null;
|
2268
2272
|
}
|
2269
2273
|
|
2270
|
-
return (
|
2271
|
-
|
2272
|
-
|
2273
|
-
|
2274
|
+
return render(
|
2275
|
+
'exportExcel',
|
2276
|
+
{
|
2277
|
+
label: __('CRUD.exportExcel'),
|
2278
|
+
...(toolbar as any),
|
2279
|
+
type: 'button'
|
2280
|
+
},
|
2281
|
+
{
|
2282
|
+
onAction: () => {
|
2274
2283
|
import('exceljs').then(async (ExcelJS: any) => {
|
2275
2284
|
let rows = [];
|
2276
2285
|
let tmpStore;
|
@@ -2310,10 +2319,28 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2310
2319
|
});
|
2311
2320
|
worksheet.views = [{state: 'frozen', xSplit: 0, ySplit: 1}];
|
2312
2321
|
|
2313
|
-
|
2322
|
+
let exportColumnNames = toolbar.columns;
|
2323
|
+
|
2324
|
+
if (isPureVariable(exportColumnNames)) {
|
2325
|
+
exportColumnNames = resolveVariableAndFilter(
|
2326
|
+
exportColumnNames,
|
2327
|
+
data,
|
2328
|
+
'| raw'
|
2329
|
+
);
|
2330
|
+
}
|
2331
|
+
|
2332
|
+
// 自定义导出列配置
|
2333
|
+
if (toolbar.exportColumns && Array.isArray(toolbar.exportColumns)) {
|
2334
|
+
columns = toolbar.exportColumns;
|
2335
|
+
}
|
2336
|
+
|
2337
|
+
const filteredColumns = exportColumnNames
|
2314
2338
|
? columns.filter(column => {
|
2315
|
-
const filterColumnsNames =
|
2316
|
-
if (
|
2339
|
+
const filterColumnsNames = exportColumnNames!;
|
2340
|
+
if (
|
2341
|
+
column.name &&
|
2342
|
+
filterColumnsNames.indexOf(column.name) !== -1
|
2343
|
+
) {
|
2317
2344
|
return true;
|
2318
2345
|
}
|
2319
2346
|
return false;
|
@@ -2494,11 +2521,8 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2494
2521
|
saveAs(blob, filename + '.xlsx');
|
2495
2522
|
}
|
2496
2523
|
});
|
2497
|
-
}
|
2498
|
-
|
2499
|
-
>
|
2500
|
-
{(toolbar as Schema).label || __('CRUD.exportExcel')}
|
2501
|
-
</Button>
|
2524
|
+
}
|
2525
|
+
}
|
2502
2526
|
);
|
2503
2527
|
}
|
2504
2528
|
|