amis 1.3.5-beta.7 → 1.4.2-beta.11
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/README.md +1 -1
- package/lib/Schema.d.ts +26 -2
- package/lib/Schema.js.map +1 -1
- package/lib/components/Alert.js +3 -1
- package/lib/components/Alert.js.map +2 -2
- package/lib/components/AnchorNav.d.ts +22 -21
- package/lib/components/AnchorNav.js +7 -3
- package/lib/components/AnchorNav.js.map +2 -2
- package/lib/components/ArrayInput.d.ts +84 -84
- package/lib/components/AssociatedSelection.d.ts +930 -0
- package/lib/components/AssociatedSelection.js +89 -0
- package/lib/components/AssociatedSelection.js.map +13 -0
- package/lib/components/Badge.d.ts +16 -3
- package/lib/components/Badge.js +54 -5
- package/lib/components/Badge.js.map +2 -2
- package/lib/components/Button.d.ts +24 -22
- package/lib/components/Button.js +13 -7
- package/lib/components/Button.js.map +2 -2
- package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
- package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
- package/lib/components/ChainedSelection.js.map +13 -0
- package/lib/components/Checkbox.d.ts +1 -1
- package/lib/components/Checkbox.js +1 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/Collapse.js +1 -1
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/ColorPicker.d.ts +84 -84
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +1 -1
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +84 -84
- package/lib/components/DateRangePicker.js +1 -1
- 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/Editor.d.ts +84 -84
- package/lib/components/GroupedSelection.d.ts +907 -0
- package/lib/components/GroupedSelection.js +48 -0
- package/lib/components/GroupedSelection.js.map +13 -0
- package/lib/components/InputBox.js +1 -1
- package/lib/components/InputBox.js.map +2 -2
- package/lib/components/Link.d.ts +84 -0
- package/lib/components/Link.js +43 -0
- package/lib/components/Link.js.map +13 -0
- 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/ModalManager.js +1 -1
- package/lib/components/ModalManager.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/MonthRangePicker.js +1 -1
- package/lib/components/MonthRangePicker.js.map +2 -2
- package/lib/components/NumberInput.d.ts +20 -20
- package/lib/components/PickerColumn.d.ts +514 -0
- package/lib/components/PickerColumn.js +279 -0
- package/lib/components/PickerColumn.js.map +13 -0
- package/lib/components/PickerContainer.d.ts +513 -0
- package/lib/components/PickerContainer.js +96 -0
- package/lib/components/PickerContainer.js.map +13 -0
- package/lib/components/Radios.d.ts +22 -21
- package/lib/components/Radios.js +1 -0
- package/lib/components/Radios.js.map +2 -2
- package/lib/components/Rating.d.ts +21 -21
- package/lib/components/ResultBox.d.ts +84 -84
- package/lib/components/RichText.d.ts +6 -1
- package/lib/components/RichText.js +207 -8
- package/lib/components/RichText.js.map +2 -2
- package/lib/components/SearchBox.d.ts +84 -84
- package/lib/components/SearchBox.js +4 -4
- package/lib/components/SearchBox.js.map +2 -2
- package/lib/components/Select.d.ts +252 -237
- package/lib/components/Select.js +28 -4
- package/lib/components/Select.js.map +2 -2
- package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
- package/lib/components/Selection.js +134 -0
- package/lib/components/Selection.js.map +13 -0
- package/lib/components/SparkLine.d.ts +85 -84
- package/lib/components/SparkLine.js +2 -2
- package/lib/components/SparkLine.js.map +2 -2
- package/lib/components/Steps.d.ts +3 -3
- package/lib/components/Steps.js.map +1 -1
- package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
- package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
- package/lib/components/TableSelection.js.map +13 -0
- package/lib/components/Tabs.d.ts +20 -20
- package/lib/components/TabsTransfer.d.ts +84 -84
- package/lib/components/TabsTransfer.js +9 -9
- package/lib/components/TabsTransfer.js.map +2 -2
- package/lib/components/TabsTransferPicker.d.ts +489 -0
- package/lib/components/TabsTransferPicker.js +60 -0
- package/lib/components/TabsTransferPicker.js.map +13 -0
- package/lib/components/Toast.js +2 -2
- package/lib/components/Toast.js.map +2 -2
- package/lib/components/Transfer.d.ts +908 -274
- package/lib/components/Transfer.js +31 -24
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +487 -0
- package/lib/components/TransferDropDown.js +59 -0
- package/lib/components/TransferDropDown.js.map +13 -0
- package/lib/components/TransferPicker.d.ts +489 -0
- package/lib/components/TransferPicker.js +60 -0
- package/lib/components/TransferPicker.js.map +13 -0
- package/lib/components/Tree.d.ts +84 -84
- package/lib/components/Tree.js +5 -3
- package/lib/components/Tree.js.map +2 -2
- package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
- package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
- package/lib/components/TreeSelection.js.map +13 -0
- package/lib/components/WithRemoteConfig.d.ts +8 -0
- package/lib/components/WithRemoteConfig.js +29 -3
- package/lib/components/WithRemoteConfig.js.map +2 -2
- package/lib/components/calendar/DaysView.js +2 -2
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/condition-builder/Field.js +5 -3
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Func.js +2 -2
- package/lib/components/condition-builder/Func.js.map +2 -2
- 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.js +3 -3
- package/lib/components/condition-builder/Item.js.map +2 -2
- package/lib/components/condition-builder/Value.js +2 -1
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/types.d.ts +5 -0
- package/lib/components/condition-builder/types.js.map +1 -1
- package/lib/components/icons.js +14 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +8 -8
- package/lib/components/index.js +16 -16
- package/lib/components/index.js.map +2 -2
- package/lib/envOverwrite.js.map +2 -2
- package/lib/factory.d.ts +9 -1
- package/lib/factory.js +13 -6
- package/lib/factory.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/hooks/index.d.ts +5 -0
- package/lib/hooks/index.js +14 -0
- package/lib/hooks/index.js.map +13 -0
- package/lib/hooks/use-set-state.d.ts +2 -0
- package/lib/hooks/use-set-state.js +15 -0
- package/lib/hooks/use-set-state.js.map +13 -0
- package/lib/hooks/use-touch.d.ts +16 -0
- package/lib/hooks/use-touch.js +73 -0
- package/lib/hooks/use-touch.js.map +13 -0
- package/lib/hooks/use-update-effect.d.ts +3 -0
- package/lib/hooks/use-update-effect.js +17 -0
- package/lib/hooks/use-update-effect.js.map +13 -0
- package/lib/icons/clock.js +10 -0
- package/lib/icons/loading-outline.js +7 -0
- package/lib/icons/status-close.js +11 -0
- package/lib/icons/status-fail.js +11 -0
- package/lib/icons/status-info.js +10 -0
- package/lib/icons/status-success.js +11 -0
- package/lib/icons/status-warning.js +10 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +4 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +5 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +6 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +9 -4
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +17 -1
- package/lib/renderers/Action.js +21 -8
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/AnchorNav.d.ts +1 -0
- package/lib/renderers/AnchorNav.js +2 -2
- package/lib/renderers/AnchorNav.js.map +2 -2
- package/lib/renderers/Avatar.js +3 -3
- package/lib/renderers/Avatar.js.map +2 -2
- package/lib/renderers/Breadcrumb.js +1 -1
- package/lib/renderers/Breadcrumb.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +9 -0
- package/lib/renderers/CRUD.js +48 -23
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.d.ts +4 -0
- package/lib/renderers/Card.js +29 -23
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Chart.js +1 -1
- package/lib/renderers/Chart.js.map +2 -2
- package/lib/renderers/Collapse.d.ts +1 -1
- package/lib/renderers/Collapse.js +8 -3
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +0 -252
- package/lib/renderers/Dialog.js +1 -4
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.js +0 -3
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +13 -1
- package/lib/renderers/DropDownButton.js +9 -5
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/Checkbox.d.ts +5 -0
- package/lib/renderers/Form/Checkbox.js +4 -0
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Combo.js +2 -2
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +4 -5
- package/lib/renderers/Form/Editor.d.ts +3 -4
- package/lib/renderers/Form/Editor.js +1 -1
- package/lib/renderers/Form/Editor.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputCity.js +7 -6
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputColor.d.ts +84 -84
- package/lib/renderers/Form/InputExcel.d.ts +5 -0
- package/lib/renderers/Form/InputExcel.js +24 -3
- package/lib/renderers/Form/InputExcel.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +12 -6
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +8 -0
- package/lib/renderers/Form/InputImage.js +18 -8
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputTable.d.ts +23 -5
- package/lib/renderers/Form/InputTable.js +32 -3
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +1 -1
- package/lib/renderers/Form/Item.js.map +1 -1
- package/lib/renderers/Form/Options.js +19 -6
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Picker.js +2 -2
- package/lib/renderers/Form/Picker.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +41 -4
- package/lib/renderers/Form/Select.js +23 -3
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
- package/lib/renderers/Form/TabsTransferPicker.js +29 -0
- package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
- package/lib/renderers/Form/Transfer.js +3 -2
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/TransferPicker.d.ts +48 -0
- package/lib/renderers/Form/TransferPicker.js +29 -0
- package/lib/renderers/Form/TransferPicker.js.map +13 -0
- package/lib/renderers/Form/TreeSelect.js +2 -2
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +1 -1
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +15 -3
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/IFrame.js +3 -5
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Image.d.ts +1 -0
- package/lib/renderers/Image.js +15 -1
- package/lib/renderers/Image.js.map +2 -2
- package/lib/renderers/Json.d.ts +4 -0
- package/lib/renderers/Json.js +7 -12
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/Link.d.ts +18 -3
- package/lib/renderers/Link.js +27 -15
- package/lib/renderers/Link.js.map +2 -2
- package/lib/renderers/List.js +1 -1
- package/lib/renderers/List.js.map +2 -2
- package/lib/renderers/Log.d.ts +2 -2
- package/lib/renderers/Log.js +7 -1
- package/lib/renderers/Log.js.map +2 -2
- package/lib/renderers/Mapping.d.ts +9 -2
- package/lib/renderers/Mapping.js +18 -6
- package/lib/renderers/Mapping.js.map +2 -2
- package/lib/renderers/Nav.d.ts +81 -25
- package/lib/renderers/Nav.js +292 -31
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.js +4 -1
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Portlet.d.ts +125 -0
- package/lib/renderers/Portlet.js +156 -0
- package/lib/renderers/Portlet.js.map +13 -0
- package/lib/renderers/Property.js +2 -1
- package/lib/renderers/Property.js.map +2 -2
- package/lib/renderers/SearchBox.d.ts +6 -1
- package/lib/renderers/SearchBox.js +19 -5
- package/lib/renderers/SearchBox.js.map +2 -2
- package/lib/renderers/Service.d.ts +10 -1
- package/lib/renderers/Service.js +85 -3
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/SparkLine.d.ts +4 -0
- package/lib/renderers/SparkLine.js.map +2 -2
- package/lib/renderers/Steps.d.ts +4 -4
- package/lib/renderers/Steps.js +5 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/ColumnToggler.d.ts +113 -0
- package/lib/renderers/Table/ColumnToggler.js +216 -0
- package/lib/renderers/Table/ColumnToggler.js.map +13 -0
- package/lib/renderers/Table/ItemActionsWrapper.d.ts +11 -0
- package/lib/renderers/Table/ItemActionsWrapper.js +31 -0
- package/lib/renderers/Table/ItemActionsWrapper.js.map +13 -0
- package/lib/renderers/Table/TableBody.d.ts +5 -1
- package/lib/renderers/Table/TableBody.js.map +1 -1
- package/lib/renderers/Table/TableCell.js +3 -1
- package/lib/renderers/Table/TableCell.js.map +2 -2
- package/lib/renderers/Table/TableContent.d.ts +5 -2
- package/lib/renderers/Table/TableContent.js +21 -1
- package/lib/renderers/Table/TableContent.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +27 -5
- package/lib/renderers/Table/index.js +251 -101
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.js +9 -1
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/WebComponent.js +1 -1
- package/lib/renderers/WebComponent.js.map +2 -2
- package/lib/store/app.d.ts +0 -1
- package/lib/store/combo.d.ts +2 -18
- package/lib/store/crud.d.ts +0 -1
- package/lib/store/crud.js +3 -7
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +1 -2
- package/lib/store/form.js +5 -6
- package/lib/store/form.js.map +2 -2
- package/lib/store/modal.d.ts +1 -1
- package/lib/store/modal.js +4 -0
- package/lib/store/modal.js.map +2 -2
- package/lib/store/root.d.ts +0 -1
- package/lib/store/service.d.ts +0 -1
- package/lib/store/service.js +5 -17
- package/lib/store/service.js.map +2 -2
- package/lib/store/table.d.ts +260 -5
- package/lib/store/table.js +83 -7
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +1360 -244
- package/lib/themes/ang.css +1360 -244
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +1360 -244
- package/lib/themes/antd.css +1360 -244
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1960 -517
- package/lib/themes/cxd.css +1960 -517
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +1360 -244
- package/lib/themes/dark.css +1360 -244
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +1960 -517
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +37 -0
- package/lib/types.js +0 -5
- package/lib/types.js.map +2 -2
- package/lib/utils/api.d.ts +3 -2
- package/lib/utils/api.js +43 -15
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/attachmentAdpator.d.ts +7 -0
- package/lib/utils/attachmentAdpator.js +82 -0
- package/lib/utils/attachmentAdpator.js.map +13 -0
- package/lib/utils/dom.d.ts +4 -0
- package/lib/utils/dom.js +11 -1
- package/lib/utils/dom.js.map +2 -2
- package/lib/utils/handleAction.d.ts +7 -0
- package/lib/utils/handleAction.js +30 -0
- package/lib/utils/handleAction.js.map +13 -0
- package/lib/utils/helper.d.ts +3 -1
- package/lib/utils/helper.js +14 -5
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/icon.js +3 -0
- package/lib/utils/icon.js.map +2 -2
- package/lib/utils/tpl-builtin.d.ts +1 -1
- package/lib/utils/tpl-builtin.js +25 -15
- package/lib/utils/tpl-builtin.js.map +2 -2
- package/lib/utils/validations.js +62 -5
- package/lib/utils/validations.js.map +2 -2
- package/package.json +1 -2
- package/schema.json +3638 -1030
- package/scss/_mixins.scss +27 -0
- package/scss/_properties.scss +88 -13
- package/scss/_utilities.scss +4 -0
- package/scss/base/_normalize.scss +2 -0
- package/scss/components/_anchor-nav.scss +88 -29
- package/scss/components/_badge.scss +67 -2
- package/scss/components/_button.scss +34 -3
- package/scss/components/_card.scss +8 -14
- package/scss/components/_collapse.scss +41 -8
- package/scss/components/_column-toggler.scss +234 -0
- package/scss/components/_dropdown.scss +2 -1
- package/scss/components/_image-gallery.scss +1 -1
- package/scss/components/_images.scss +2 -1
- package/scss/components/_link.scss +6 -0
- package/scss/components/_mapping.scss +6 -0
- package/scss/components/_markdown.scss +266 -0
- package/scss/components/_nav.scss +236 -154
- package/scss/components/_page.scss +5 -4
- package/scss/components/_picker-columns.scss +123 -0
- package/scss/components/_popover.scss +17 -0
- package/scss/components/_portlet.scss +51 -0
- package/scss/components/_progress.scss +2 -0
- package/scss/components/_spinner.scss +6 -2
- package/scss/components/_status.scss +1 -1
- package/scss/components/_steps.scss +1 -1
- package/scss/components/_table.scss +51 -1
- package/scss/components/form/_checks.scss +0 -351
- package/scss/components/form/_color.scss +1 -0
- package/scss/components/form/_date-range.scss +2 -0
- package/scss/components/form/_date.scss +2 -0
- package/scss/components/form/_fieldset.scss +6 -3
- package/scss/components/form/_file.scss +5 -4
- package/scss/components/form/_group.scss +4 -0
- package/scss/components/form/_image.scss +7 -2
- package/scss/components/form/_list.scss +1 -0
- package/scss/components/form/_location.scss +1 -1
- package/scss/components/form/_selection.scss +354 -0
- package/scss/components/form/_text.scss +13 -0
- package/scss/components/form/_textarea.scss +10 -0
- package/scss/components/form/_transfer.scss +77 -18
- package/scss/themes/_common.scss +7 -0
- package/scss/themes/_cxd-colors.scss +56 -0
- package/scss/themes/_cxd-variables.scss +219 -91
- package/scss/themes/cxd.scss +370 -0
- package/sdk/ang-ie11.css +1752 -431
- package/sdk/ang.css +1706 -323
- package/sdk/antd-ie11.css +1739 -420
- package/sdk/antd.css +1706 -323
- package/sdk/charts.js +13 -13
- package/sdk/color-picker.js +65 -69
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +3015 -1397
- package/sdk/cxd.css +2402 -651
- package/sdk/dark-ie11.css +1750 -429
- package/sdk/dark.css +1706 -323
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/ie11-patch.css +1 -0
- package/sdk/locale/de-DE.js +5 -0
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +20 -30
- package/sdk/rich-text.js +62 -64
- package/sdk/sdk-ie11.css +3015 -1397
- package/sdk/sdk.css +2402 -651
- package/sdk/sdk.js +1278 -1220
- 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 +32 -0
- package/src/components/Alert.tsx +3 -1
- package/src/components/AnchorNav.tsx +15 -4
- package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +41 -37
- package/src/components/Badge.tsx +126 -23
- package/src/components/Button.tsx +23 -7
- package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
- package/src/components/Checkbox.tsx +5 -2
- package/src/components/Collapse.tsx +14 -9
- package/src/components/DatePicker.tsx +1 -1
- package/src/components/DateRangePicker.tsx +23 -11
- package/src/components/Drawer.tsx +3 -2
- package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
- package/src/components/InputBox.tsx +1 -1
- package/src/components/Link.tsx +85 -0
- package/src/components/Modal.tsx +3 -2
- package/src/components/ModalManager.ts +1 -1
- package/src/components/MonthRangePicker.tsx +10 -2
- package/src/components/PickerColumn.tsx +429 -0
- package/src/components/PickerContainer.tsx +128 -0
- package/src/components/Radios.tsx +3 -8
- package/src/components/RichText.tsx +244 -3
- package/src/components/SearchBox.tsx +4 -5
- package/src/components/Select.tsx +61 -5
- package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
- package/src/components/SparkLine.tsx +4 -1
- package/src/components/Steps.tsx +3 -3
- package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
- package/src/components/TabsTransfer.tsx +13 -7
- package/src/components/TabsTransferPicker.tsx +85 -0
- package/src/components/Toast.tsx +5 -5
- package/src/components/Transfer.tsx +71 -50
- package/src/components/TransferDropDown.tsx +117 -0
- package/src/components/TransferPicker.tsx +84 -0
- package/src/components/Tree.tsx +6 -8
- package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
- package/src/components/WithRemoteConfig.tsx +44 -4
- package/src/components/calendar/DaysView.tsx +2 -2
- package/src/components/condition-builder/Field.tsx +6 -7
- package/src/components/condition-builder/Func.tsx +3 -3
- package/src/components/condition-builder/InputSwitch.tsx +3 -3
- package/src/components/condition-builder/Item.tsx +5 -12
- package/src/components/condition-builder/Value.tsx +3 -0
- package/src/components/condition-builder/types.ts +6 -0
- package/src/components/icons.tsx +15 -0
- package/src/components/index.tsx +13 -13
- package/src/envOverwrite.ts +0 -1
- package/src/factory.tsx +31 -6
- package/src/hooks/index.ts +5 -0
- package/src/hooks/use-set-state.ts +19 -0
- package/src/hooks/use-touch.ts +100 -0
- package/src/hooks/use-update-effect.ts +16 -0
- package/src/icons/clock.svg +1 -0
- package/src/icons/loading-outline.svg +4 -0
- package/src/icons/status-close.svg +10 -0
- package/src/icons/status-fail.svg +10 -0
- package/src/icons/status-info.svg +8 -0
- package/src/icons/status-success.svg +10 -0
- package/src/icons/status-warning.svg +8 -0
- package/src/index.tsx +3 -0
- package/src/locale/de-DE.ts +5 -0
- package/src/locale/en-US.ts +6 -1
- package/src/locale/zh-CN.ts +9 -4
- package/src/renderers/Action.tsx +99 -15
- package/src/renderers/AnchorNav.tsx +4 -0
- package/src/renderers/Avatar.tsx +8 -4
- package/src/renderers/Breadcrumb.tsx +5 -1
- package/src/renderers/CRUD.tsx +70 -56
- package/src/renderers/Card.tsx +63 -34
- package/src/renderers/Chart.tsx +6 -2
- package/src/renderers/Collapse.tsx +9 -3
- package/src/renderers/Dialog.tsx +1 -5
- package/src/renderers/Drawer.tsx +0 -4
- package/src/renderers/DropDownButton.tsx +34 -12
- package/src/renderers/Form/Checkbox.tsx +8 -0
- package/src/renderers/Form/Combo.tsx +2 -3
- package/src/renderers/Form/Editor.tsx +19 -20
- package/src/renderers/Form/InputCity.tsx +4 -8
- package/src/renderers/Form/InputExcel.tsx +28 -3
- package/src/renderers/Form/InputFile.tsx +30 -20
- package/src/renderers/Form/InputImage.tsx +39 -13
- package/src/renderers/Form/InputTable.tsx +88 -9
- package/src/renderers/Form/Item.tsx +1 -1
- package/src/renderers/Form/Options.tsx +32 -7
- package/src/renderers/Form/Picker.tsx +3 -2
- package/src/renderers/Form/Select.tsx +144 -21
- package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
- package/src/renderers/Form/Transfer.tsx +3 -2
- package/src/renderers/Form/TransferPicker.tsx +123 -0
- package/src/renderers/Form/TreeSelect.tsx +25 -0
- package/src/renderers/Form/index.tsx +1 -1
- package/src/renderers/Form/wrapControl.tsx +28 -3
- package/src/renderers/IFrame.tsx +4 -5
- package/src/renderers/Image.tsx +10 -0
- package/src/renderers/Json.tsx +19 -10
- package/src/renderers/Link.tsx +53 -14
- package/src/renderers/List.tsx +1 -1
- package/src/renderers/Log.tsx +16 -3
- package/src/renderers/Mapping.tsx +27 -11
- package/src/renderers/Nav.tsx +392 -60
- package/src/renderers/Page.tsx +3 -1
- package/src/renderers/Portlet.tsx +423 -0
- package/src/renderers/Property.tsx +3 -2
- package/src/renderers/SearchBox.tsx +23 -4
- package/src/renderers/Service.tsx +101 -3
- package/src/renderers/SparkLine.tsx +5 -0
- package/src/renderers/Steps.tsx +12 -9
- package/src/renderers/Table/ColumnToggler.tsx +544 -0
- package/src/renderers/Table/ItemActionsWrapper.tsx +44 -0
- package/src/renderers/Table/TableBody.tsx +1 -1
- package/src/renderers/Table/TableCell.tsx +16 -1
- package/src/renderers/Table/TableContent.tsx +41 -3
- package/src/renderers/Table/index.tsx +318 -92
- package/src/renderers/Tabs.tsx +9 -1
- package/src/renderers/WebComponent.tsx +2 -2
- package/src/store/crud.ts +3 -8
- package/src/store/form.ts +5 -10
- package/src/store/modal.ts +4 -0
- package/src/store/service.ts +5 -23
- package/src/store/table.ts +103 -4
- package/src/types.ts +57 -0
- package/src/utils/api.ts +63 -23
- package/src/utils/attachmentAdpator.ts +90 -0
- package/src/utils/dom.tsx +12 -0
- package/src/utils/handleAction.ts +41 -0
- package/src/utils/helper.ts +12 -3
- package/src/utils/icon.tsx +4 -0
- package/src/utils/tpl-builtin.ts +48 -17
- package/src/utils/validations.ts +80 -12
- package/dump.rdb +0 -0
- package/lib/components/AssociatedCheckboxes.d.ts +0 -762
- package/lib/components/AssociatedCheckboxes.js +0 -90
- package/lib/components/AssociatedCheckboxes.js.map +0 -13
- package/lib/components/ChainedCheckboxes.js.map +0 -13
- package/lib/components/Checkboxes.js +0 -101
- package/lib/components/Checkboxes.js.map +0 -13
- package/lib/components/ListCheckboxes.d.ts +0 -739
- package/lib/components/ListCheckboxes.js +0 -48
- package/lib/components/ListCheckboxes.js.map +0 -13
- package/lib/components/ListRadios.d.ts +0 -763
- package/lib/components/ListRadios.js +0 -86
- package/lib/components/ListRadios.js.map +0 -13
- package/lib/components/TableCheckboxes.js.map +0 -13
- package/lib/components/TreeCheckboxes.js.map +0 -13
- package/lib/components/TreeRadios.d.ts +0 -838
- package/lib/components/TreeRadios.js +0 -116
- package/lib/components/TreeRadios.js.map +0 -13
- package/src/components/ListRadios.tsx +0 -159
- package/src/components/TreeRadios.tsx +0 -202
package/src/renderers/Action.tsx
CHANGED
@@ -4,8 +4,14 @@ import {Renderer, RendererProps} from '../factory';
|
|
4
4
|
import {filter} from '../utils/tpl';
|
5
5
|
import Button from '../components/Button';
|
6
6
|
import pick from 'lodash/pick';
|
7
|
+
import omit from 'lodash/omit';
|
7
8
|
|
8
9
|
export interface ButtonSchema extends BaseSchema {
|
10
|
+
/**
|
11
|
+
* 主要用于用户行为跟踪里区分是哪个按钮
|
12
|
+
*/
|
13
|
+
id?: string;
|
14
|
+
|
9
15
|
/**
|
10
16
|
* 是否为块状展示,默认为内联。
|
11
17
|
*/
|
@@ -35,6 +41,10 @@ export interface ButtonSchema extends BaseSchema {
|
|
35
41
|
* 右侧 icon 上的 css 类名
|
36
42
|
*/
|
37
43
|
rightIconClassName?: SchemaClassName;
|
44
|
+
/**
|
45
|
+
* loading 上的css 类名
|
46
|
+
*/
|
47
|
+
loadingClassName?: SchemaClassName;
|
38
48
|
|
39
49
|
/**
|
40
50
|
* 按钮文字
|
@@ -131,6 +141,15 @@ export interface ButtonSchema extends BaseSchema {
|
|
131
141
|
* 键盘快捷键
|
132
142
|
*/
|
133
143
|
hotKey?: string;
|
144
|
+
/**
|
145
|
+
* 是否显示loading效果
|
146
|
+
*/
|
147
|
+
loadingOn?: string;
|
148
|
+
|
149
|
+
/**
|
150
|
+
* 自定义事件处理函数
|
151
|
+
*/
|
152
|
+
onClick?: string | any;
|
134
153
|
}
|
135
154
|
|
136
155
|
export interface AjaxActionSchema extends ButtonSchema {
|
@@ -319,6 +338,7 @@ export type ActionSchema =
|
|
319
338
|
| VanillaAction;
|
320
339
|
|
321
340
|
const ActionProps = [
|
341
|
+
'id',
|
322
342
|
'dialog',
|
323
343
|
'drawer',
|
324
344
|
'url',
|
@@ -416,44 +436,80 @@ export const createSyntheticEvent = <T extends Element, E extends Event>(
|
|
416
436
|
export interface ActionProps
|
417
437
|
extends Omit<
|
418
438
|
ButtonSchema,
|
419
|
-
'className' | 'iconClassName' | 'rightIconClassName'
|
439
|
+
'className' | 'iconClassName' | 'rightIconClassName' | 'loadingClassName'
|
420
440
|
>,
|
421
441
|
ThemeProps,
|
422
442
|
Omit<
|
423
443
|
AjaxActionSchema,
|
424
|
-
|
444
|
+
| 'type'
|
445
|
+
| 'className'
|
446
|
+
| 'iconClassName'
|
447
|
+
| 'rightIconClassName'
|
448
|
+
| 'loadingClassName'
|
425
449
|
>,
|
426
450
|
Omit<
|
427
451
|
UrlActionSchema,
|
428
|
-
|
452
|
+
| 'type'
|
453
|
+
| 'className'
|
454
|
+
| 'iconClassName'
|
455
|
+
| 'rightIconClassName'
|
456
|
+
| 'loadingClassName'
|
429
457
|
>,
|
430
458
|
Omit<
|
431
459
|
LinkActionSchema,
|
432
|
-
|
460
|
+
| 'type'
|
461
|
+
| 'className'
|
462
|
+
| 'iconClassName'
|
463
|
+
| 'rightIconClassName'
|
464
|
+
| 'loadingClassName'
|
433
465
|
>,
|
434
466
|
Omit<
|
435
467
|
DialogActionSchema,
|
436
|
-
|
468
|
+
| 'type'
|
469
|
+
| 'className'
|
470
|
+
| 'iconClassName'
|
471
|
+
| 'rightIconClassName'
|
472
|
+
| 'loadingClassName'
|
437
473
|
>,
|
438
474
|
Omit<
|
439
475
|
DrawerActionSchema,
|
440
|
-
|
476
|
+
| 'type'
|
477
|
+
| 'className'
|
478
|
+
| 'iconClassName'
|
479
|
+
| 'rightIconClassName'
|
480
|
+
| 'loadingClassName'
|
441
481
|
>,
|
442
482
|
Omit<
|
443
483
|
CopyActionSchema,
|
444
|
-
|
484
|
+
| 'type'
|
485
|
+
| 'className'
|
486
|
+
| 'iconClassName'
|
487
|
+
| 'rightIconClassName'
|
488
|
+
| 'loadingClassName'
|
445
489
|
>,
|
446
490
|
Omit<
|
447
491
|
ReloadActionSchema,
|
448
|
-
|
492
|
+
| 'type'
|
493
|
+
| 'className'
|
494
|
+
| 'iconClassName'
|
495
|
+
| 'rightIconClassName'
|
496
|
+
| 'loadingClassName'
|
449
497
|
>,
|
450
498
|
Omit<
|
451
499
|
EmailActionSchema,
|
452
|
-
|
500
|
+
| 'type'
|
501
|
+
| 'className'
|
502
|
+
| 'iconClassName'
|
503
|
+
| 'rightIconClassName'
|
504
|
+
| 'loadingClassName'
|
453
505
|
>,
|
454
506
|
Omit<
|
455
507
|
OtherActionSchema,
|
456
|
-
|
508
|
+
| 'type'
|
509
|
+
| 'className'
|
510
|
+
| 'iconClassName'
|
511
|
+
| 'rightIconClassName'
|
512
|
+
| 'loadingClassName'
|
457
513
|
> {
|
458
514
|
actionType: any;
|
459
515
|
onAction?: (
|
@@ -521,7 +577,8 @@ export class Action extends React.Component<ActionProps, ActionState> {
|
|
521
577
|
|
522
578
|
@autobind
|
523
579
|
async handleAction(e: React.MouseEvent<any>) {
|
524
|
-
const {onAction, disabled, countDown} = this.props;
|
580
|
+
const {onAction, disabled, countDown, env} = this.props;
|
581
|
+
|
525
582
|
// https://reactjs.org/docs/legacy-event-pooling.html
|
526
583
|
e.persist();
|
527
584
|
let onClick = this.props.onClick;
|
@@ -543,9 +600,26 @@ export class Action extends React.Component<ActionProps, ActionState> {
|
|
543
600
|
|
544
601
|
e.preventDefault();
|
545
602
|
const action = pick(this.props, ActionProps) as ActionSchema;
|
603
|
+
const actionType = action.actionType;
|
604
|
+
|
605
|
+
// ajax 会在 wrapFetcher 里记录,这里再处理就重复了,因此去掉
|
606
|
+
// add 一般是 input-table 之类的,会触发 formItemChange,为了避免重复也去掉
|
607
|
+
if (
|
608
|
+
actionType !== 'ajax' &&
|
609
|
+
actionType !== 'download' &&
|
610
|
+
actionType !== 'add'
|
611
|
+
) {
|
612
|
+
env?.tracker(
|
613
|
+
{
|
614
|
+
eventType: actionType || this.props.type || 'click',
|
615
|
+
eventData: omit(action, ['type', 'actionType', 'tooltipPlacement'])
|
616
|
+
},
|
617
|
+
this.props
|
618
|
+
);
|
619
|
+
}
|
546
620
|
|
547
621
|
// download 是一种 ajax 的简写
|
548
|
-
if (
|
622
|
+
if (actionType === 'download') {
|
549
623
|
action.actionType = 'ajax';
|
550
624
|
const api = normalizeApi((action as AjaxActionSchema).api);
|
551
625
|
api.responseType = 'blob';
|
@@ -619,6 +693,7 @@ export class Action extends React.Component<ActionProps, ActionState> {
|
|
619
693
|
iconClassName,
|
620
694
|
rightIcon,
|
621
695
|
rightIconClassName,
|
696
|
+
loadingClassName,
|
622
697
|
primary,
|
623
698
|
size,
|
624
699
|
level,
|
@@ -638,7 +713,10 @@ export class Action extends React.Component<ActionProps, ActionState> {
|
|
638
713
|
isMenuItem,
|
639
714
|
active,
|
640
715
|
activeLevel,
|
716
|
+
tooltipTrigger,
|
641
717
|
tooltipContainer,
|
718
|
+
tooltipRootClose,
|
719
|
+
loading,
|
642
720
|
classnames: cx
|
643
721
|
} = this.props;
|
644
722
|
|
@@ -678,6 +756,8 @@ export class Action extends React.Component<ActionProps, ActionState> {
|
|
678
756
|
? activeLevel
|
679
757
|
: level || (primary ? 'primary' : undefined)
|
680
758
|
}
|
759
|
+
loadingClassName={loadingClassName}
|
760
|
+
loading={loading}
|
681
761
|
onClick={this.handleAction}
|
682
762
|
type={type && ~allowedType.indexOf(type) ? type : 'button'}
|
683
763
|
disabled={disabled}
|
@@ -685,12 +765,14 @@ export class Action extends React.Component<ActionProps, ActionState> {
|
|
685
765
|
overrideClassName={isMenuItem}
|
686
766
|
tooltip={filterContents(tooltip, data)}
|
687
767
|
disabledTip={filterContents(disabledTip, data)}
|
688
|
-
|
768
|
+
tooltipPlacement={tooltipPlacement}
|
689
769
|
tooltipContainer={tooltipContainer}
|
770
|
+
tooltipTrigger={tooltipTrigger}
|
771
|
+
tooltipRootClose={tooltipRootClose}
|
690
772
|
block={block}
|
691
773
|
iconOnly={!!(icon && !label && level !== 'link')}
|
692
774
|
>
|
693
|
-
{iconElement}
|
775
|
+
{!loading ? iconElement : ''}
|
694
776
|
{label ? <span>{filter(String(label), data)}</span> : null}
|
695
777
|
{rightIconElement}
|
696
778
|
</Button>
|
@@ -736,13 +818,15 @@ export class ActionRenderer extends React.Component<
|
|
736
818
|
}
|
737
819
|
|
738
820
|
render() {
|
739
|
-
const {env, disabled, btnDisabled, ...rest} = this.props;
|
821
|
+
const {env, disabled, btnDisabled, loading, ...rest} = this.props;
|
740
822
|
|
741
823
|
return (
|
742
824
|
<Action
|
743
825
|
{...(rest as any)}
|
826
|
+
env={env}
|
744
827
|
disabled={disabled || btnDisabled}
|
745
828
|
onAction={this.handleAction}
|
829
|
+
loading={loading}
|
746
830
|
isCurrentUrl={this.isCurrentAction}
|
747
831
|
tooltipContainer={
|
748
832
|
env.getModalContainer ? env.getModalContainer : undefined
|
@@ -65,6 +65,8 @@ export interface AnchorNavSchema extends BaseSchema {
|
|
65
65
|
* 楼层样式名
|
66
66
|
*/
|
67
67
|
sectionClassName?: SchemaClassName;
|
68
|
+
|
69
|
+
direction?: 'vertical' | 'horizontal';
|
68
70
|
}
|
69
71
|
|
70
72
|
export interface AnchorNavProps
|
@@ -148,6 +150,7 @@ export default class AnchorNav extends React.Component<
|
|
148
150
|
className,
|
149
151
|
linkClassName,
|
150
152
|
sectionClassName,
|
153
|
+
direction,
|
151
154
|
sectionRender,
|
152
155
|
render,
|
153
156
|
data
|
@@ -187,6 +190,7 @@ export default class AnchorNav extends React.Component<
|
|
187
190
|
sectionClassName={sectionClassName}
|
188
191
|
onSelect={this.handleSelect}
|
189
192
|
active={this.state.active}
|
193
|
+
direction={direction}
|
190
194
|
>
|
191
195
|
{children}
|
192
196
|
</CAnchorNav>
|
package/src/renderers/Avatar.tsx
CHANGED
@@ -10,7 +10,11 @@ import {
|
|
10
10
|
SchemaUrlPath
|
11
11
|
} from '../Schema';
|
12
12
|
import {BadgeSchema, withBadge} from '../components/Badge';
|
13
|
-
import {
|
13
|
+
import {
|
14
|
+
isPureVariable,
|
15
|
+
resolveVariable,
|
16
|
+
resolveVariableAndFilter
|
17
|
+
} from '../utils/tpl-builtin';
|
14
18
|
|
15
19
|
/**
|
16
20
|
* Avatar 用户头像显示
|
@@ -102,15 +106,15 @@ export class AvatarField extends React.Component<AvatarProps, object> {
|
|
102
106
|
};
|
103
107
|
|
104
108
|
if (isPureVariable(text)) {
|
105
|
-
text =
|
109
|
+
text = resolveVariableAndFilter(text, data);
|
106
110
|
}
|
107
111
|
|
108
112
|
if (isPureVariable(src)) {
|
109
|
-
src =
|
113
|
+
src = resolveVariableAndFilter(src, data, '| raw');
|
110
114
|
}
|
111
115
|
|
112
116
|
if (isPureVariable(icon)) {
|
113
|
-
icon =
|
117
|
+
icon = resolveVariableAndFilter(icon, data);
|
114
118
|
}
|
115
119
|
|
116
120
|
let avatar = <i className={icon} />;
|
@@ -77,7 +77,11 @@ export class BreadcrumbField extends React.Component<BreadcrumbProps, object> {
|
|
77
77
|
|
78
78
|
const crumbItems = items
|
79
79
|
? items
|
80
|
-
: (
|
80
|
+
: (resolveVariableAndFilter(
|
81
|
+
source,
|
82
|
+
data,
|
83
|
+
'| raw'
|
84
|
+
) as Array<BreadcrumbItemSchema>);
|
81
85
|
|
82
86
|
const crumbs = crumbItems
|
83
87
|
.map<React.ReactNode>((item, index) => (
|
package/src/renderers/CRUD.tsx
CHANGED
@@ -1,43 +1,28 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
|
3
|
-
import PropTypes from 'prop-types';
|
4
3
|
import {Renderer, RendererProps} from '../factory';
|
5
|
-
import {
|
6
|
-
SchemaNode,
|
7
|
-
Schema,
|
8
|
-
Action,
|
9
|
-
Api,
|
10
|
-
ApiObject,
|
11
|
-
PlainObject
|
12
|
-
} from '../types';
|
4
|
+
import {SchemaNode, Schema, Action, PlainObject} from '../types';
|
13
5
|
import {CRUDStore, ICRUDStore} from '../store/crud';
|
14
6
|
import {
|
15
7
|
createObject,
|
16
8
|
extendObject,
|
17
9
|
anyChanged,
|
18
10
|
isObjectShallowModified,
|
19
|
-
noop,
|
20
11
|
isVisible,
|
21
12
|
getPropValue,
|
22
13
|
getVariable,
|
23
14
|
qsstringify,
|
24
|
-
qsparse
|
15
|
+
qsparse,
|
16
|
+
isArrayChildrenModified
|
25
17
|
} from '../utils/helper';
|
26
|
-
import {
|
27
|
-
import partition from 'lodash/partition';
|
28
|
-
import Scoped, {ScopedContext, IScopedContext} from '../Scoped';
|
18
|
+
import {ScopedContext, IScopedContext} from '../Scoped';
|
29
19
|
import Button from '../components/Button';
|
30
20
|
import Select from '../components/Select';
|
31
21
|
import getExprProperties from '../utils/filter-schema';
|
32
22
|
import pick from 'lodash/pick';
|
33
23
|
import {findDOMNode} from 'react-dom';
|
34
24
|
import {evalExpression, filter} from '../utils/tpl';
|
35
|
-
import {
|
36
|
-
isValidApi,
|
37
|
-
buildApi,
|
38
|
-
isEffectiveApi,
|
39
|
-
isApiOutdated
|
40
|
-
} from '../utils/api';
|
25
|
+
import {isEffectiveApi, isApiOutdated, str2function} from '../utils/api';
|
41
26
|
import omit from 'lodash/omit';
|
42
27
|
import find from 'lodash/find';
|
43
28
|
import findIndex from 'lodash/findIndex';
|
@@ -48,7 +33,6 @@ import {
|
|
48
33
|
BaseSchema,
|
49
34
|
SchemaApi,
|
50
35
|
SchemaClassName,
|
51
|
-
SchemaCollection,
|
52
36
|
SchemaExpression,
|
53
37
|
SchemaMessage,
|
54
38
|
SchemaName,
|
@@ -298,6 +282,16 @@ export interface CRUDCommonSchema extends BaseSchema {
|
|
298
282
|
* 默认只有当分页数大于 1 是才显示,如果总是想显示请配置。
|
299
283
|
*/
|
300
284
|
alwaysShowPagination?: boolean;
|
285
|
+
|
286
|
+
/**
|
287
|
+
* 开启查询区域,会根据列元素的searchable属性值,自动生成查询条件表单
|
288
|
+
*/
|
289
|
+
autoGenerateFilter?: boolean;
|
290
|
+
|
291
|
+
/**
|
292
|
+
* 内容区域占满屏幕剩余空间
|
293
|
+
*/
|
294
|
+
autoFillHeight?: boolean;
|
301
295
|
}
|
302
296
|
|
303
297
|
export type CRUDCardsSchema = CRUDCommonSchema & {
|
@@ -362,6 +356,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
362
356
|
'footerToolbar',
|
363
357
|
'filterTogglable',
|
364
358
|
'filterDefaultVisible',
|
359
|
+
'autoGenerateFilter',
|
365
360
|
'syncResponse2Query',
|
366
361
|
'keepItemSelectionOnPageChange',
|
367
362
|
'labelTpl',
|
@@ -376,7 +371,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
376
371
|
'onInit',
|
377
372
|
'onSaved',
|
378
373
|
'onQuery',
|
379
|
-
'formStore'
|
374
|
+
'formStore',
|
375
|
+
'autoFillHeight'
|
380
376
|
];
|
381
377
|
static defaultProps = {
|
382
378
|
toolbarInline: true,
|
@@ -392,7 +388,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
392
388
|
filterTogglable: false,
|
393
389
|
filterDefaultVisible: true,
|
394
390
|
loadDataOnce: false,
|
395
|
-
loadDataOnceFetchOnFilter: true
|
391
|
+
loadDataOnceFetchOnFilter: true,
|
392
|
+
autoFillHeight: false
|
396
393
|
};
|
397
394
|
|
398
395
|
control: any;
|
@@ -478,8 +475,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
478
475
|
this.handleFilterInit({});
|
479
476
|
}
|
480
477
|
|
481
|
-
|
482
|
-
if (this.props.pickerMode && val) {
|
478
|
+
let val: any;
|
479
|
+
if (this.props.pickerMode && (val = getPropValue(this.props))) {
|
483
480
|
store.setSelectedItems(val);
|
484
481
|
}
|
485
482
|
}
|
@@ -500,8 +497,14 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
500
497
|
this.renderFooterToolbar = this.renderFooterToolbar.bind(this);
|
501
498
|
}
|
502
499
|
|
503
|
-
|
504
|
-
if (
|
500
|
+
let val: any;
|
501
|
+
if (
|
502
|
+
this.props.pickerMode &&
|
503
|
+
isArrayChildrenModified(
|
504
|
+
(val = getPropValue(this.props)),
|
505
|
+
getPropValue(prevProps)
|
506
|
+
)
|
507
|
+
) {
|
505
508
|
store.setSelectedItems(val);
|
506
509
|
}
|
507
510
|
|
@@ -654,6 +657,13 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
654
657
|
return Promise.resolve({
|
655
658
|
items: store.selectedItems.concat()
|
656
659
|
});
|
660
|
+
} else if (action.onClick) {
|
661
|
+
store.setCurrentAction(action);
|
662
|
+
let onClick = action.onClick;
|
663
|
+
if (typeof onClick === 'string') {
|
664
|
+
onClick = str2function(onClick, 'event', 'props', 'data');
|
665
|
+
}
|
666
|
+
onClick && onClick(e, this.props, ctx);
|
657
667
|
} else {
|
658
668
|
onAction(e, action, ctx, throwErrors, delegate || this.context);
|
659
669
|
}
|
@@ -1057,7 +1067,10 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
1057
1067
|
(!stopAutoRefreshWhen ||
|
1058
1068
|
!(
|
1059
1069
|
(stopAutoRefreshWhenModalIsOpen && store.hasModalOpened) ||
|
1060
|
-
evalExpression(
|
1070
|
+
evalExpression(
|
1071
|
+
stopAutoRefreshWhen,
|
1072
|
+
createObject(store.data, store.query)
|
1073
|
+
)
|
1061
1074
|
)) &&
|
1062
1075
|
(this.timer = setTimeout(
|
1063
1076
|
silentPolling
|
@@ -1497,15 +1510,11 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
1497
1510
|
hasBulkActions() {
|
1498
1511
|
const {bulkActions, itemActions, store} = this.props;
|
1499
1512
|
|
1500
|
-
if (
|
1501
|
-
(!bulkActions || !bulkActions.length) &&
|
1502
|
-
(!itemActions || !itemActions.length)
|
1503
|
-
) {
|
1513
|
+
if (!bulkActions || !bulkActions.length) {
|
1504
1514
|
return false;
|
1505
1515
|
}
|
1506
1516
|
|
1507
1517
|
let bulkBtns: Array<ActionSchema> = [];
|
1508
|
-
let itemBtns: Array<ActionSchema> = [];
|
1509
1518
|
const ctx = store.mergedData;
|
1510
1519
|
|
1511
1520
|
if (bulkActions && bulkActions.length) {
|
@@ -1517,21 +1526,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
1517
1526
|
.filter(item => !item.hidden && item.visible !== false);
|
1518
1527
|
}
|
1519
1528
|
|
1520
|
-
|
1521
|
-
store.data,
|
1522
|
-
store.selectedItems.length ? store.selectedItems[0] : {}
|
1523
|
-
);
|
1524
|
-
|
1525
|
-
if (itemActions && itemActions.length) {
|
1526
|
-
itemBtns = itemActions
|
1527
|
-
.map(item => ({
|
1528
|
-
...item,
|
1529
|
-
...getExprProperties(item as Schema, itemData)
|
1530
|
-
}))
|
1531
|
-
.filter(item => !item.hidden && item.visible !== false);
|
1532
|
-
}
|
1533
|
-
|
1534
|
-
return bulkBtns.length || itemBtns.length;
|
1529
|
+
return bulkBtns.length;
|
1535
1530
|
}
|
1536
1531
|
|
1537
1532
|
renderBulkActions(childProps: any) {
|
@@ -1539,11 +1534,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
1539
1534
|
|
1540
1535
|
const items = childProps.items;
|
1541
1536
|
|
1542
|
-
if (
|
1543
|
-
!items.length ||
|
1544
|
-
((!bulkActions || !bulkActions.length) &&
|
1545
|
-
(!itemActions || !itemActions.length))
|
1546
|
-
) {
|
1537
|
+
if (!items.length || !bulkActions || !bulkActions.length) {
|
1547
1538
|
return null;
|
1548
1539
|
}
|
1549
1540
|
|
@@ -1595,7 +1586,6 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
1595
1586
|
render(
|
1596
1587
|
`bulk-action/${index}`,
|
1597
1588
|
{
|
1598
|
-
size: 'sm',
|
1599
1589
|
...omit(btn, ['visibleOn', 'hiddenOn', 'disabledOn']),
|
1600
1590
|
type: 'button',
|
1601
1591
|
ignoreConfirm: true
|
@@ -1619,7 +1609,6 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
1619
1609
|
render(
|
1620
1610
|
`bulk-action/${index}`,
|
1621
1611
|
{
|
1622
|
-
size: 'sm',
|
1623
1612
|
...omit(btn, ['visibleOn', 'hiddenOn', 'disabledOn']),
|
1624
1613
|
type: 'button'
|
1625
1614
|
},
|
@@ -1813,6 +1802,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
1813
1802
|
return null;
|
1814
1803
|
}
|
1815
1804
|
|
1805
|
+
const {render, store, translate: __} = this.props;
|
1816
1806
|
const type = (toolbar as Schema).type || toolbar;
|
1817
1807
|
|
1818
1808
|
if (type === 'bulkActions' || type === 'bulk-actions') {
|
@@ -1829,8 +1819,25 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
1829
1819
|
return this.renderFilterToggler();
|
1830
1820
|
} else if (type === 'export-csv') {
|
1831
1821
|
return this.renderExportCSV(toolbar as Schema);
|
1822
|
+
} else if (type === 'reload') {
|
1823
|
+
let reloadButton = {
|
1824
|
+
label: '',
|
1825
|
+
icon: 'fa fa-sync',
|
1826
|
+
tooltip: __('reload'),
|
1827
|
+
tooltipPlacement: 'top',
|
1828
|
+
type: 'button'
|
1829
|
+
};
|
1830
|
+
if (typeof toolbar === 'object') {
|
1831
|
+
reloadButton = {...reloadButton, ...omit(toolbar, ['type', 'align'])};
|
1832
|
+
}
|
1833
|
+
return render(`toolbar/${index}`, reloadButton, {
|
1834
|
+
onAction: () => {
|
1835
|
+
this.reload();
|
1836
|
+
}
|
1837
|
+
});
|
1832
1838
|
} else if (Array.isArray(toolbar)) {
|
1833
1839
|
const children: Array<any> = toolbar
|
1840
|
+
.filter((toolbar: any) => isVisible(toolbar, store.filterData))
|
1834
1841
|
.map((toolbar, index) => ({
|
1835
1842
|
dom: this.renderToolbar(toolbar, index, childProps, toolbarRenderer),
|
1836
1843
|
toolbar
|
@@ -1872,7 +1879,6 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
1872
1879
|
return result;
|
1873
1880
|
}
|
1874
1881
|
|
1875
|
-
const {render, store} = this.props;
|
1876
1882
|
const $$editable = childProps.$$editable;
|
1877
1883
|
|
1878
1884
|
return render(`toolbar/${index}`, toolbar, {
|
@@ -2015,6 +2021,9 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
2015
2021
|
popOverContainer,
|
2016
2022
|
translate: __,
|
2017
2023
|
onQuery,
|
2024
|
+
autoGenerateFilter,
|
2025
|
+
onSelect,
|
2026
|
+
autoFillHeight,
|
2018
2027
|
...rest
|
2019
2028
|
} = this.props;
|
2020
2029
|
|
@@ -2065,6 +2074,8 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
2065
2074
|
key: 'body',
|
2066
2075
|
className: cx('Crud-body', bodyClassName),
|
2067
2076
|
ref: this.controlRef,
|
2077
|
+
autoGenerateFilter: !filter && autoGenerateFilter,
|
2078
|
+
autoFillHeight: autoFillHeight,
|
2068
2079
|
selectable: !!(
|
2069
2080
|
(this.hasBulkActionsToolbar() && this.hasBulkActions()) ||
|
2070
2081
|
pickerMode
|
@@ -2097,6 +2108,9 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
2097
2108
|
onSelect: this.handleSelect,
|
2098
2109
|
onPopOverOpened: this.handleChildPopOverOpen,
|
2099
2110
|
onPopOverClosed: this.handleChildPopOverClose,
|
2111
|
+
onSearchableFromReset: this.handleFilterReset,
|
2112
|
+
onSearchableFromSubmit: this.handleFilterSubmit,
|
2113
|
+
onSearchableFromInit: this.handleFilterInit,
|
2100
2114
|
headerToolbarRender: this.renderHeaderToolbar,
|
2101
2115
|
footerToolbarRender: this.renderFooterToolbar,
|
2102
2116
|
data: store.mergedData
|