amis 1.8.0-beta.1 → 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 +9 -2
- package/lib/Schema.js.map +1 -1
- 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/AssociatedSelection.js +9 -2
- package/lib/components/AssociatedSelection.js.map +2 -2
- 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/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/Collapse.d.ts +20 -20
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +8 -5
- 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 +44 -16
- 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/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 +66 -4
- 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 +0 -13
- 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 +87 -85
- package/lib/components/formula/Editor.js +10 -6
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.js +3 -1
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/factory.d.ts +5 -0
- package/lib/factory.js +22 -1
- package/lib/factory.js.map +2 -2
- package/lib/index.js +1 -1
- 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 +2 -0
- 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/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 +1 -0
- package/lib/renderers/Dialog.js +3 -0
- 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/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 +2 -1
- package/lib/renderers/Form/Combo.js +54 -16
- 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 +44 -2
- 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/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.js +13 -14
- package/lib/renderers/Form/InputRange.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 +54 -14
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Progress.d.ts +3 -6
- package/lib/renderers/Progress.js +2 -2
- 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/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 +4 -0
- package/lib/renderers/Tabs.js +22 -6
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/TooltipWrapper.d.ts +35 -6
- package/lib/renderers/TooltipWrapper.js +19 -8
- package/lib/renderers/TooltipWrapper.js.map +2 -2
- 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 +2 -2
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +768 -199
- package/lib/themes/ang.css +723 -142
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +851 -282
- package/lib/themes/antd.css +724 -143
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +879 -310
- package/lib/themes/cxd.css +727 -146
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +769 -200
- package/lib/themes/dark.css +723 -142
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +879 -310
- package/lib/themes/default.css +727 -146
- 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 +29681 -28936
- package/scss/_properties.scss +44 -13
- package/scss/components/_barcode.scss +1 -1
- 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 +1 -1
- package/scss/components/_nav.scss +51 -6
- package/scss/components/_progress.scss +4 -6
- 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/_tooltip.scss +4 -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 +13 -1
- 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 +3 -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 +4 -4
- package/sdk/ang-ie11.css +816 -182
- package/sdk/ang.css +775 -129
- package/sdk/antd-ie11.css +896 -262
- package/sdk/antd.css +776 -130
- 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 +907 -273
- package/sdk/cxd.css +779 -133
- package/sdk/dark-ie11.css +817 -183
- package/sdk/dark.css +775 -129
- 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 +907 -273
- package/sdk/sdk.css +779 -133
- package/sdk/sdk.js +1317 -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 +10 -0
- 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/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/DatePicker.tsx +12 -4
- 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 +57 -22
- 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/Tooltip.tsx +12 -3
- package/src/components/TooltipWrapper.tsx +137 -33
- package/src/components/Tree.tsx +19 -5
- package/src/components/calendar/Calendar.tsx +0 -14
- 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 +20 -15
- package/src/components/formula/Picker.tsx +9 -5
- package/src/factory.tsx +29 -1
- 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 +22 -1
- package/src/renderers/App.tsx +4 -0
- 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 +4 -0
- package/src/renderers/Drawer.tsx +14 -2
- package/src/renderers/Form/Checkbox.tsx +11 -2
- package/src/renderers/Form/Checkboxes.tsx +106 -23
- package/src/renderers/Form/Combo.tsx +104 -49
- package/src/renderers/Form/InputCity.tsx +33 -4
- 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/InputImage.tsx +22 -6
- package/src/renderers/Form/InputMonthRange.tsx +7 -1
- package/src/renderers/Form/InputRange.tsx +18 -16
- 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 +96 -33
- package/src/renderers/Progress.tsx +7 -9
- 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/index.tsx +43 -19
- package/src/renderers/Tabs.tsx +75 -28
- package/src/renderers/TooltipWrapper.tsx +71 -28
- 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 +2 -2
- 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
package/src/renderers/CRUD.tsx
CHANGED
@@ -105,6 +105,16 @@ export interface CRUDCommonSchema extends BaseSchema {
|
|
105
105
|
*/
|
106
106
|
perPage?: number;
|
107
107
|
|
108
|
+
/**
|
109
|
+
* 默认排序字段
|
110
|
+
*/
|
111
|
+
orderBy?: string;
|
112
|
+
|
113
|
+
/**
|
114
|
+
* 默认排序方向
|
115
|
+
*/
|
116
|
+
orderDir?: 'asc' | 'desc';
|
117
|
+
|
108
118
|
/**
|
109
119
|
* 可以默认给定初始参数如: {\"perPage\": 24}
|
110
120
|
*/
|
@@ -772,11 +782,17 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
772
782
|
}
|
773
783
|
|
774
784
|
handleFilterInit(values: object) {
|
775
|
-
const {defaultParams, data, store} = this.props;
|
785
|
+
const {defaultParams, data, store, orderBy, orderDir} = this.props;
|
786
|
+
const params = {...defaultParams};
|
787
|
+
|
788
|
+
if (orderBy) {
|
789
|
+
params['orderBy'] = orderBy;
|
790
|
+
params['orderDir'] = orderDir || 'asc';
|
791
|
+
}
|
776
792
|
|
777
793
|
this.handleFilterSubmit(
|
778
794
|
{
|
779
|
-
...
|
795
|
+
...params,
|
780
796
|
...values,
|
781
797
|
...store.query
|
782
798
|
},
|
@@ -1025,7 +1041,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
1025
1041
|
env,
|
1026
1042
|
loadDataOnce,
|
1027
1043
|
loadDataOnceFetchOnFilter,
|
1028
|
-
source
|
1044
|
+
source,
|
1045
|
+
columns
|
1029
1046
|
} = this.props;
|
1030
1047
|
|
1031
1048
|
// reload 需要清空用户选择。
|
@@ -1066,7 +1083,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
1066
1083
|
pageField,
|
1067
1084
|
perPageField,
|
1068
1085
|
loadDataMode,
|
1069
|
-
syncResponse2Query
|
1086
|
+
syncResponse2Query,
|
1087
|
+
columns: store.columns ?? columns
|
1070
1088
|
})
|
1071
1089
|
.then(value => {
|
1072
1090
|
interval &&
|
@@ -1592,7 +1610,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
1592
1610
|
`bulk-action/${index}`,
|
1593
1611
|
{
|
1594
1612
|
...omit(btn, ['visibleOn', 'hiddenOn', 'disabledOn']),
|
1595
|
-
type: 'button',
|
1613
|
+
type: btn.type || 'button',
|
1596
1614
|
ignoreConfirm: true
|
1597
1615
|
},
|
1598
1616
|
{
|
@@ -278,6 +278,13 @@ export class Carousel extends React.Component<CarouselProps, CarouselState> {
|
|
278
278
|
clearTimeout(this.durationTimeout as number);
|
279
279
|
}
|
280
280
|
|
281
|
+
@autobind
|
282
|
+
changeSlide(index: number) {
|
283
|
+
this.setState({
|
284
|
+
current: index
|
285
|
+
});
|
286
|
+
}
|
287
|
+
|
281
288
|
renderDots() {
|
282
289
|
const {classnames: cx} = this.props;
|
283
290
|
const {current, options} = this.state;
|
@@ -290,6 +297,7 @@ export class Carousel extends React.Component<CarouselProps, CarouselState> {
|
|
290
297
|
{Array.from({length: options.length}).map((_, i) => (
|
291
298
|
<span
|
292
299
|
key={i}
|
300
|
+
onClick={() => this.changeSlide(i)}
|
293
301
|
className={cx('Carousel-dot', current === i ? 'is-active' : '')}
|
294
302
|
/>
|
295
303
|
))}
|
package/src/renderers/Chart.tsx
CHANGED
package/src/renderers/Dialog.tsx
CHANGED
package/src/renderers/Drawer.tsx
CHANGED
@@ -458,7 +458,13 @@ export default class Drawer extends React.Component<DrawerProps> {
|
|
458
458
|
return null;
|
459
459
|
}
|
460
460
|
|
461
|
-
const {
|
461
|
+
const {
|
462
|
+
store,
|
463
|
+
render,
|
464
|
+
classnames: cx,
|
465
|
+
showErrorMsg,
|
466
|
+
footerClassName
|
467
|
+
} = this.props;
|
462
468
|
|
463
469
|
return (
|
464
470
|
<div className={cx('Drawer-footer', footerClassName)}>
|
@@ -623,7 +629,9 @@ export default class Drawer extends React.Component<DrawerProps> {
|
|
623
629
|
onExited={this.handleExited}
|
624
630
|
closeOnEsc={closeOnEsc}
|
625
631
|
closeOnOutside={
|
626
|
-
!store.drawerOpen &&
|
632
|
+
!store.drawerOpen &&
|
633
|
+
!store.dialogOpen &&
|
634
|
+
(closeOnOutside || !showCloseButton)
|
627
635
|
}
|
628
636
|
container={
|
629
637
|
drawerContainer
|
@@ -955,4 +963,8 @@ export class DrawerRenderer extends Drawer {
|
|
955
963
|
const scoped = this.context as IScopedContext;
|
956
964
|
scoped.close(target);
|
957
965
|
}
|
966
|
+
|
967
|
+
setData(values: object) {
|
968
|
+
return this.props.store.updateData(values);
|
969
|
+
}
|
958
970
|
}
|
@@ -19,12 +19,12 @@ export interface CheckboxControlSchema extends FormBaseControl {
|
|
19
19
|
/**
|
20
20
|
* 勾选值
|
21
21
|
*/
|
22
|
-
trueValue?:
|
22
|
+
trueValue?: boolean | string | number;
|
23
23
|
|
24
24
|
/**
|
25
25
|
* 未勾选值
|
26
26
|
*/
|
27
|
-
falseValue?:
|
27
|
+
falseValue?: boolean | string | number;
|
28
28
|
|
29
29
|
/**
|
30
30
|
* 选项说明
|
@@ -35,6 +35,9 @@ export interface CheckboxControlSchema extends FormBaseControl {
|
|
35
35
|
* 角标
|
36
36
|
*/
|
37
37
|
badge?: BadgeSchema;
|
38
|
+
partial?: boolean;
|
39
|
+
optionType?: 'default' | 'button';
|
40
|
+
checked?: boolean;
|
38
41
|
}
|
39
42
|
|
40
43
|
export interface CheckboxProps
|
@@ -89,6 +92,9 @@ export default class CheckboxControl extends React.Component<
|
|
89
92
|
onChange,
|
90
93
|
disabled,
|
91
94
|
render,
|
95
|
+
partial,
|
96
|
+
optionType,
|
97
|
+
checked,
|
92
98
|
classPrefix: ns
|
93
99
|
} = this.props;
|
94
100
|
|
@@ -101,6 +107,9 @@ export default class CheckboxControl extends React.Component<
|
|
101
107
|
falseValue={falseValue}
|
102
108
|
disabled={disabled}
|
103
109
|
onChange={(value: any) => this.dispatchChangeEvent(value)}
|
110
|
+
partial={partial}
|
111
|
+
optionType={optionType}
|
112
|
+
checked={checked}
|
104
113
|
>
|
105
114
|
{option ? render('option', option) : null}
|
106
115
|
</Checkbox>
|
@@ -7,10 +7,11 @@ import {
|
|
7
7
|
} from './Options';
|
8
8
|
import cx from 'classnames';
|
9
9
|
import Checkbox from '../../components/Checkbox';
|
10
|
-
|
10
|
+
|
11
11
|
import {Icon} from '../../components/icons';
|
12
12
|
import {Api} from '../../types';
|
13
13
|
import {autobind, hasAbility} from '../../utils/helper';
|
14
|
+
import {columnsSplit} from '../../utils/columnsSplit';
|
14
15
|
|
15
16
|
/**
|
16
17
|
* 复选框
|
@@ -32,7 +33,7 @@ export interface CheckboxesControlSchema extends FormOptionsControl {
|
|
32
33
|
/**
|
33
34
|
* 每行显示多少个
|
34
35
|
*/
|
35
|
-
columnsCount?: number;
|
36
|
+
columnsCount?: number | number[];
|
36
37
|
}
|
37
38
|
|
38
39
|
export interface CheckboxesProps
|
@@ -47,7 +48,7 @@ export interface CheckboxesProps
|
|
47
48
|
> {
|
48
49
|
placeholder?: any;
|
49
50
|
itemClassName?: string;
|
50
|
-
columnsCount?: number;
|
51
|
+
columnsCount?: number | number[];
|
51
52
|
labelClassName?: string;
|
52
53
|
onAdd?: () => void;
|
53
54
|
addApi?: Api;
|
@@ -55,6 +56,7 @@ export interface CheckboxesProps
|
|
55
56
|
createBtnLabel: string;
|
56
57
|
editable?: boolean;
|
57
58
|
removable?: boolean;
|
59
|
+
optionType?: 'default' | 'button'
|
58
60
|
}
|
59
61
|
|
60
62
|
export default class CheckboxesControl extends React.Component<
|
@@ -67,7 +69,8 @@ export default class CheckboxesControl extends React.Component<
|
|
67
69
|
placeholder: 'placeholder.noOption',
|
68
70
|
creatable: false,
|
69
71
|
inline: true,
|
70
|
-
createBtnLabel: 'Select.createLabel'
|
72
|
+
createBtnLabel: 'Select.createLabel',
|
73
|
+
optionType: 'default'
|
71
74
|
};
|
72
75
|
|
73
76
|
reload() {
|
@@ -97,6 +100,97 @@ export default class CheckboxesControl extends React.Component<
|
|
97
100
|
onDelete && onDelete(item);
|
98
101
|
}
|
99
102
|
|
103
|
+
componentDidMount() {
|
104
|
+
this.updateBorderStyle();
|
105
|
+
window.addEventListener('resize', this.updateBorderStyle);
|
106
|
+
}
|
107
|
+
|
108
|
+
componentWillMount() {
|
109
|
+
window.removeEventListener('resize', this.updateBorderStyle);
|
110
|
+
}
|
111
|
+
|
112
|
+
@autobind
|
113
|
+
updateBorderStyle() {
|
114
|
+
if (this.props.optionType !== 'button') {
|
115
|
+
return;
|
116
|
+
}
|
117
|
+
const wrapDom = this.refs.checkboxRef as HTMLElement;
|
118
|
+
const wrapWidth = wrapDom.clientWidth;
|
119
|
+
const childs = Array.from(wrapDom.children) as HTMLElement[];
|
120
|
+
|
121
|
+
childs.forEach(child => {
|
122
|
+
child.style.borderRadius = '0';
|
123
|
+
child.style.borderLeftWidth = '1px';
|
124
|
+
child.style.borderTopWidth = '1px';
|
125
|
+
});
|
126
|
+
const childTotalWidth = childs.reduce((pre, next) =>
|
127
|
+
pre + next.clientWidth, 0);
|
128
|
+
if (childTotalWidth <= wrapWidth) {
|
129
|
+
if (childs.length === 1) {
|
130
|
+
childs[0].style.borderRadius = "4px";
|
131
|
+
}
|
132
|
+
else {
|
133
|
+
childs[0].style.borderRadius = "4px 0 0 4px";
|
134
|
+
childs[childs.length - 1].style.borderRadius = "0 4px 4px 0";
|
135
|
+
childs.forEach((child, idx) => {
|
136
|
+
idx !== 0 && (child.style.borderLeftWidth = '0');
|
137
|
+
});
|
138
|
+
}
|
139
|
+
}
|
140
|
+
else {
|
141
|
+
let curRowWidth = 0;
|
142
|
+
let curRow = 0;
|
143
|
+
const rowNum = Math.floor(childTotalWidth / wrapWidth);
|
144
|
+
const rowColArr: any[] = [];
|
145
|
+
for (let i = 0; i <= rowNum; i++) {
|
146
|
+
const arr: HTMLElement[] = [];
|
147
|
+
rowColArr[i] = arr;
|
148
|
+
}
|
149
|
+
childs.forEach((child: HTMLElement, idx: number) => {
|
150
|
+
curRowWidth += child.clientWidth;
|
151
|
+
if (curRowWidth > wrapWidth) {
|
152
|
+
curRowWidth = child.clientWidth;
|
153
|
+
curRow++;
|
154
|
+
}
|
155
|
+
if (curRow > rowNum) {
|
156
|
+
return;
|
157
|
+
}
|
158
|
+
rowColArr[curRow].push(child);
|
159
|
+
});
|
160
|
+
|
161
|
+
rowColArr.forEach((row: HTMLElement[], rowIdx: number) => {
|
162
|
+
if (rowIdx === 0) {
|
163
|
+
row.forEach((r: HTMLElement, colIdx: number) => {
|
164
|
+
r.style.borderRadius = '0';
|
165
|
+
colIdx !== 0 && (r.style.borderLeftWidth = '0');
|
166
|
+
row.length > rowColArr[rowIdx + 1].length
|
167
|
+
&& (row[row.length - 1].style.borderBottomRightRadius = "4px");
|
168
|
+
});
|
169
|
+
row[0].style.borderTopLeftRadius = "4px";
|
170
|
+
row[row.length - 1].style.borderTopRightRadius = "4px";
|
171
|
+
}
|
172
|
+
else if (rowIdx === rowNum) {
|
173
|
+
row.forEach((r: HTMLElement, colIdx: number) => {
|
174
|
+
r.style.borderRadius = '0';
|
175
|
+
colIdx !== 0 && (r.style.borderLeftWidth = '0');
|
176
|
+
r.style.borderTopWidth = '0';
|
177
|
+
row[0].style.borderBottomLeftRadius = "4px";
|
178
|
+
row[row.length - 1].style.borderBottomRightRadius = "4px";
|
179
|
+
});
|
180
|
+
}
|
181
|
+
else {
|
182
|
+
row.forEach((r: HTMLElement, colIdx: number) => {
|
183
|
+
r.style.borderRadius = '0';
|
184
|
+
colIdx !== 0 && (r.style.borderLeftWidth = '0');
|
185
|
+
r.style.borderTopWidth = '0';
|
186
|
+
row.length > rowColArr[rowIdx + 1].length
|
187
|
+
&& (row[row.length - 1].style.borderBottomRightRadius = "4px");
|
188
|
+
});
|
189
|
+
}
|
190
|
+
});
|
191
|
+
}
|
192
|
+
}
|
193
|
+
|
100
194
|
renderGroup(option: Option, index: number) {
|
101
195
|
const {classnames: cx, labelField} = this.props;
|
102
196
|
|
@@ -135,7 +229,8 @@ export default class CheckboxesControl extends React.Component<
|
|
135
229
|
labelField,
|
136
230
|
removable,
|
137
231
|
editable,
|
138
|
-
translate: __
|
232
|
+
translate: __,
|
233
|
+
optionType
|
139
234
|
} = this.props;
|
140
235
|
|
141
236
|
return (
|
@@ -148,6 +243,7 @@ export default class CheckboxesControl extends React.Component<
|
|
148
243
|
inline={inline}
|
149
244
|
labelClassName={labelClassName}
|
150
245
|
description={option.description}
|
246
|
+
optionType={optionType}
|
151
247
|
>
|
152
248
|
{String(option[labelField || 'label'])}
|
153
249
|
{removable && hasAbility(option, 'removable') ? (
|
@@ -190,7 +286,8 @@ export default class CheckboxesControl extends React.Component<
|
|
190
286
|
creatable,
|
191
287
|
addApi,
|
192
288
|
createBtnLabel,
|
193
|
-
translate: __
|
289
|
+
translate: __,
|
290
|
+
optionType
|
194
291
|
} = this.props;
|
195
292
|
|
196
293
|
let body: Array<React.ReactNode> = [];
|
@@ -199,7 +296,7 @@ export default class CheckboxesControl extends React.Component<
|
|
199
296
|
body = options.map((option, key) => this.renderItem(option, key));
|
200
297
|
}
|
201
298
|
|
202
|
-
if (checkAll && body.length) {
|
299
|
+
if (checkAll && body.length && optionType === 'default') {
|
203
300
|
body.unshift(
|
204
301
|
<Checkbox
|
205
302
|
key="checkall"
|
@@ -221,24 +318,10 @@ export default class CheckboxesControl extends React.Component<
|
|
221
318
|
);
|
222
319
|
}
|
223
320
|
|
224
|
-
|
225
|
-
let weight = 12 / (columnsCount as number);
|
226
|
-
let cellClassName = `Grid-col--sm${
|
227
|
-
weight === Math.round(weight) ? weight : ''
|
228
|
-
}`;
|
229
|
-
body = chunk(body, columnsCount).map((group, groupIndex) => (
|
230
|
-
<div className={cx('Grid')} key={groupIndex}>
|
231
|
-
{Array.from({length: columnsCount as number}).map((_, index) => (
|
232
|
-
<div key={index} className={cx(cellClassName)}>
|
233
|
-
{group[index]}
|
234
|
-
</div>
|
235
|
-
))}
|
236
|
-
</div>
|
237
|
-
));
|
238
|
-
}
|
321
|
+
body = columnsSplit(body, cx, columnsCount);
|
239
322
|
|
240
323
|
return (
|
241
|
-
<div className={cx(`CheckboxesControl`, className)}>
|
324
|
+
<div className={cx(`CheckboxesControl`, className)} ref="checkboxRef">
|
242
325
|
{body && body.length ? (
|
243
326
|
body
|
244
327
|
) : (
|
@@ -1,13 +1,8 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import {findDOMNode} from 'react-dom';
|
3
3
|
import cloneDeep from 'lodash/cloneDeep';
|
4
|
-
import {
|
5
|
-
|
6
|
-
FormControlProps,
|
7
|
-
FormBaseControl,
|
8
|
-
FormControlSchemaAlias
|
9
|
-
} from './Item';
|
10
|
-
import {Schema, Action, Api} from '../../types';
|
4
|
+
import {FormItem, FormControlProps, FormBaseControl} from './Item';
|
5
|
+
import {Action, Api} from '../../types';
|
11
6
|
import {ComboStore, IComboStore} from '../../store/combo';
|
12
7
|
import {default as CTabs, Tab} from '../../components/Tabs';
|
13
8
|
import Button from '../../components/Button';
|
@@ -26,7 +21,7 @@ import {evalExpression, filter} from '../../utils/tpl';
|
|
26
21
|
import find from 'lodash/find';
|
27
22
|
import Select from '../../components/Select';
|
28
23
|
import {dataMapping, resolveVariable} from '../../utils/tpl-builtin';
|
29
|
-
import {isEffectiveApi} from '../../utils/api';
|
24
|
+
import {isEffectiveApi, str2AsyncFunction} from '../../utils/api';
|
30
25
|
import {Alert2} from '../../components';
|
31
26
|
import memoize from 'lodash/memoize';
|
32
27
|
import {Icon} from '../../components/icons';
|
@@ -34,8 +29,6 @@ import {isAlive} from 'mobx-state-tree';
|
|
34
29
|
import {
|
35
30
|
SchemaApi,
|
36
31
|
SchemaClassName,
|
37
|
-
SchemaCollection,
|
38
|
-
SchemaIcon,
|
39
32
|
SchemaObject,
|
40
33
|
SchemaTpl
|
41
34
|
} from '../../Schema';
|
@@ -369,7 +362,7 @@ export default class ComboControl extends React.Component<ComboProps> {
|
|
369
362
|
this.handleFormInit = this.handleFormInit.bind(this);
|
370
363
|
this.handleAction = this.handleAction.bind(this);
|
371
364
|
this.addItem = this.addItem.bind(this);
|
372
|
-
this.
|
365
|
+
this.deleteItem = this.deleteItem.bind(this);
|
373
366
|
this.dragTipRef = this.dragTipRef.bind(this);
|
374
367
|
this.flush = this.flush.bind(this);
|
375
368
|
this.handleComboTypeChange = this.handleComboTypeChange.bind(this);
|
@@ -525,7 +518,7 @@ export default class ComboControl extends React.Component<ComboProps> {
|
|
525
518
|
this.props.onChange(value, submitOnChange, true);
|
526
519
|
}
|
527
520
|
|
528
|
-
async
|
521
|
+
async deleteItem(key: number) {
|
529
522
|
const {
|
530
523
|
flat,
|
531
524
|
joinValues,
|
@@ -642,7 +635,8 @@ export default class ComboControl extends React.Component<ComboProps> {
|
|
642
635
|
|
643
636
|
if (
|
644
637
|
syncDefaultValue === false ||
|
645
|
-
this.subFormDefaultValues.length !==
|
638
|
+
this.subFormDefaultValues.length !==
|
639
|
+
this.subForms.filter(item => item !== undefined).length
|
646
640
|
) {
|
647
641
|
return;
|
648
642
|
}
|
@@ -698,7 +692,7 @@ export default class ComboControl extends React.Component<ComboProps> {
|
|
698
692
|
const {onAction} = this.props;
|
699
693
|
|
700
694
|
if (action.actionType === 'delete') {
|
701
|
-
action.index !== void 0 && this.
|
695
|
+
action.index !== void 0 && this.deleteItem(action.index);
|
702
696
|
return;
|
703
697
|
}
|
704
698
|
|
@@ -1053,8 +1047,8 @@ export default class ComboControl extends React.Component<ComboProps> {
|
|
1053
1047
|
) {
|
1054
1048
|
toolbar = (
|
1055
1049
|
<div
|
1056
|
-
onClick={this.
|
1057
|
-
key="
|
1050
|
+
onClick={this.deleteItem.bind(this, index)}
|
1051
|
+
key="delete"
|
1058
1052
|
className={cx(
|
1059
1053
|
`Combo-tab-delBtn ${!store.removable ? 'is-disabled' : ''}`
|
1060
1054
|
)}
|
@@ -1160,6 +1154,99 @@ export default class ComboControl extends React.Component<ComboProps> {
|
|
1160
1154
|
);
|
1161
1155
|
}
|
1162
1156
|
|
1157
|
+
renderDelBtn(value: any, index: number) {
|
1158
|
+
const {
|
1159
|
+
classPrefix: ns,
|
1160
|
+
classnames: cx,
|
1161
|
+
render,
|
1162
|
+
store,
|
1163
|
+
deleteIcon,
|
1164
|
+
translate: __,
|
1165
|
+
itemRemovableOn,
|
1166
|
+
disabled,
|
1167
|
+
removable,
|
1168
|
+
deleteBtn
|
1169
|
+
} = this.props;
|
1170
|
+
|
1171
|
+
const finnalRemovable =
|
1172
|
+
store.removable !== false && // minLength ?
|
1173
|
+
!disabled && // 控件自身是否禁用
|
1174
|
+
removable !== false; // 是否可以删除
|
1175
|
+
|
1176
|
+
if (
|
1177
|
+
!(
|
1178
|
+
finnalRemovable && // 表达式判断单条是否可删除
|
1179
|
+
(!itemRemovableOn || evalExpression(itemRemovableOn, value) !== false)
|
1180
|
+
)
|
1181
|
+
) {
|
1182
|
+
// 不符合删除条件,则不渲染删除按钮
|
1183
|
+
return null;
|
1184
|
+
}
|
1185
|
+
|
1186
|
+
// deleteBtn是对象,则根据自定义配置渲染按钮
|
1187
|
+
if (isObject(deleteBtn)) {
|
1188
|
+
return render('delete-btn', {
|
1189
|
+
...deleteBtn,
|
1190
|
+
type: 'button',
|
1191
|
+
className: cx(
|
1192
|
+
'Combo-delController',
|
1193
|
+
deleteBtn ? deleteBtn.classname : ''
|
1194
|
+
),
|
1195
|
+
onClick: (e: any) => {
|
1196
|
+
if (!deleteBtn.onClick) {
|
1197
|
+
this.deleteItem(index);
|
1198
|
+
return;
|
1199
|
+
}
|
1200
|
+
|
1201
|
+
let originClickHandler = deleteBtn.onClick;
|
1202
|
+
if (typeof originClickHandler === 'string') {
|
1203
|
+
originClickHandler = str2AsyncFunction(
|
1204
|
+
deleteBtn.onClick,
|
1205
|
+
'e',
|
1206
|
+
'index',
|
1207
|
+
'props'
|
1208
|
+
);
|
1209
|
+
}
|
1210
|
+
const result = originClickHandler(e, index, this.props);
|
1211
|
+
if (result && result.then) {
|
1212
|
+
result.then(() => {
|
1213
|
+
this.deleteItem(index);
|
1214
|
+
});
|
1215
|
+
} else {
|
1216
|
+
this.deleteItem(index);
|
1217
|
+
}
|
1218
|
+
}
|
1219
|
+
});
|
1220
|
+
}
|
1221
|
+
|
1222
|
+
// deleteBtn是string,则渲染按钮文本
|
1223
|
+
if (typeof deleteBtn === 'string') {
|
1224
|
+
return render('delete-btn', {
|
1225
|
+
type: 'button',
|
1226
|
+
className: cx('Combo-delController'),
|
1227
|
+
label: deleteBtn,
|
1228
|
+
onClick: this.deleteItem.bind(this, index)
|
1229
|
+
});
|
1230
|
+
}
|
1231
|
+
|
1232
|
+
// 如果上述按钮不满足,则渲染默认按钮
|
1233
|
+
return (
|
1234
|
+
<a
|
1235
|
+
onClick={this.deleteItem.bind(this, index)}
|
1236
|
+
key="delete"
|
1237
|
+
className={cx(`Combo-delBtn ${!store.removable ? 'is-disabled' : ''}`)}
|
1238
|
+
data-tooltip={__('delete')}
|
1239
|
+
data-position="bottom"
|
1240
|
+
>
|
1241
|
+
{deleteIcon ? (
|
1242
|
+
<i className={deleteIcon} />
|
1243
|
+
) : (
|
1244
|
+
<Icon icon="status-close" className="icon" />
|
1245
|
+
)}
|
1246
|
+
</a>
|
1247
|
+
);
|
1248
|
+
}
|
1249
|
+
|
1163
1250
|
renderMultipe() {
|
1164
1251
|
if (this.props.tabsMode) {
|
1165
1252
|
return this.renderTabsMode();
|
@@ -1182,12 +1269,10 @@ export default class ComboControl extends React.Component<ComboProps> {
|
|
1182
1269
|
addable,
|
1183
1270
|
removable,
|
1184
1271
|
typeSwitchable,
|
1185
|
-
itemRemovableOn,
|
1186
1272
|
delimiter,
|
1187
1273
|
canAccessSuperData,
|
1188
1274
|
addIcon,
|
1189
1275
|
dragIcon,
|
1190
|
-
deleteIcon,
|
1191
1276
|
noBorder,
|
1192
1277
|
conditions,
|
1193
1278
|
lazyLoad,
|
@@ -1205,11 +1290,6 @@ export default class ComboControl extends React.Component<ComboProps> {
|
|
1205
1290
|
value = value.split(delimiter || ',');
|
1206
1291
|
}
|
1207
1292
|
|
1208
|
-
const finnalRemovable =
|
1209
|
-
store.removable !== false && // minLength ?
|
1210
|
-
!disabled && // 控件自身是否禁用
|
1211
|
-
removable !== false; // 是否可以删除
|
1212
|
-
|
1213
1293
|
return (
|
1214
1294
|
<div
|
1215
1295
|
className={cx(
|
@@ -1225,30 +1305,7 @@ export default class ComboControl extends React.Component<ComboProps> {
|
|
1225
1305
|
<div className={cx(`Combo-items`, itemsWrapperClassName)}>
|
1226
1306
|
{Array.isArray(value) && value.length ? (
|
1227
1307
|
value.map((value, index, thelist) => {
|
1228
|
-
let delBtn: any =
|
1229
|
-
|
1230
|
-
if (
|
1231
|
-
finnalRemovable && // 表达式判断单条是否可删除
|
1232
|
-
(!itemRemovableOn ||
|
1233
|
-
evalExpression(itemRemovableOn, value) !== false)
|
1234
|
-
) {
|
1235
|
-
delBtn = (
|
1236
|
-
<Button
|
1237
|
-
key="remove"
|
1238
|
-
className={cx('Combo-delBtn')}
|
1239
|
-
disabled={!store.removable}
|
1240
|
-
tooltip={__('delete')}
|
1241
|
-
tooltipPlacement="bottom"
|
1242
|
-
onClick={this.removeItem.bind(this, index)}
|
1243
|
-
>
|
1244
|
-
{deleteIcon ? (
|
1245
|
-
<i className={deleteIcon} />
|
1246
|
-
) : (
|
1247
|
-
<Icon icon="status-close" className="icon" />
|
1248
|
-
)}
|
1249
|
-
</Button>
|
1250
|
-
);
|
1251
|
-
}
|
1308
|
+
let delBtn: any = this.renderDelBtn(value, index);
|
1252
1309
|
|
1253
1310
|
const data = this.formatValue(value, index);
|
1254
1311
|
let condition: ComboCondition | null = null;
|
@@ -1372,9 +1429,7 @@ export default class ComboControl extends React.Component<ComboProps> {
|
|
1372
1429
|
)
|
1373
1430
|
) : (
|
1374
1431
|
<Button
|
1375
|
-
level="default"
|
1376
1432
|
className={cx(`Combo-addBtn`, addButtonClassName)}
|
1377
|
-
block
|
1378
1433
|
tooltip={__('Combo.add')}
|
1379
1434
|
onClick={this.addItem}
|
1380
1435
|
>
|