amis 1.4.0 → 1.4.2-beta.12
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 +4 -3
- package/lib/components/Badge.js +42 -7
- 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/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/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/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 +245 -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/{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.js +1 -1
- 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 -2
- 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/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 +4 -0
- package/lib/factory.js +4 -2
- 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 +4 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +4 -0
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +7 -3
- 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 +43 -8
- 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.js +3 -2
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/Dialog.js +0 -3
- 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 +9 -1
- package/lib/renderers/DropDownButton.js +8 -4
- 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 -3
- package/lib/renderers/Form/Editor.d.ts +3 -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/InputFile.js +12 -6
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +16 -7
- package/lib/renderers/Form/InputImage.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 +37 -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 +18 -3
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/TransferPicker.d.ts +48 -0
- package/lib/renderers/Form/TransferPicker.js +43 -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.d.ts +5 -0
- package/lib/renderers/Form/index.js +5 -3
- 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 +4 -13
- 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 +1 -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/SparkLine.d.ts +4 -0
- package/lib/renderers/SparkLine.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 +4 -0
- package/lib/renderers/Table/TableCell.js +3 -1
- package/lib/renderers/Table/TableCell.js.map +2 -2
- package/lib/renderers/Table/TableContent.d.ts +4 -1
- package/lib/renderers/Table/TableContent.js +21 -1
- package/lib/renderers/Table/TableContent.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +19 -2
- package/lib/renderers/Table/index.js +172 -57
- 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/combo.d.ts +2 -16
- package/lib/store/crud.js +3 -7
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +1 -1
- package/lib/store/form.js +5 -6
- package/lib/store/form.js.map +2 -2
- package/lib/store/service.js +5 -4
- package/lib/store/service.js.map +2 -2
- package/lib/store/table.d.ts +260 -3
- package/lib/store/table.js +64 -6
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +1175 -255
- package/lib/themes/ang.css +1175 -255
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +1175 -255
- package/lib/themes/antd.css +1175 -255
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1761 -514
- package/lib/themes/cxd.css +1761 -514
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +1175 -255
- package/lib/themes/dark.css +1175 -255
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +1761 -514
- 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 +31 -15
- package/lib/utils/api.js.map +2 -2
- 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/package.json +1 -2
- package/schema.json +3534 -1028
- package/scss/_mixins.scss +27 -0
- package/scss/_properties.scss +84 -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 +52 -1
- 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/_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/_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/_form.scss +48 -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 +6 -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 +1596 -515
- package/sdk/ang.css +1395 -256
- package/sdk/antd-ie11.css +1397 -318
- package/sdk/antd.css +1395 -256
- package/sdk/charts.js +13 -13
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +2739 -1361
- package/sdk/cxd.css +2095 -588
- package/sdk/dark-ie11.css +1593 -512
- package/sdk/dark.css +1395 -256
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/iconfont.svg +2513 -0
- package/sdk/iconfont.ttf +0 -0
- package/sdk/iconfont.woff +0 -0
- package/sdk/ie11-patch.css +1 -0
- package/sdk/locale/de-DE.js +4 -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 +18 -32
- package/sdk/rich-text.js +62 -64
- package/sdk/sdk-ie11.css +2739 -1361
- package/sdk/sdk.css +2095 -588
- package/sdk/sdk.js +1189 -1133
- 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 +96 -28
- package/src/components/Button.tsx +23 -7
- package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
- package/src/components/Collapse.tsx +14 -9
- package/src/components/DatePicker.tsx +1 -1
- package/src/components/DateRangePicker.tsx +23 -11
- 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/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 +60 -5
- package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
- package/src/components/SparkLine.tsx +4 -1
- 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 +7 -2
- package/src/components/calendar/DaysView.tsx +2 -2
- package/src/components/condition-builder/Field.tsx +5 -5
- 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/icons.tsx +15 -0
- package/src/components/index.tsx +13 -13
- package/src/envOverwrite.ts +0 -1
- package/src/factory.tsx +18 -3
- 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 +4 -0
- package/src/locale/en-US.ts +4 -0
- package/src/locale/zh-CN.ts +7 -3
- 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 +63 -28
- package/src/renderers/Card.tsx +63 -34
- package/src/renderers/Chart.tsx +6 -2
- package/src/renderers/Collapse.tsx +4 -2
- package/src/renderers/Dialog.tsx +0 -4
- package/src/renderers/Drawer.tsx +0 -4
- package/src/renderers/DropDownButton.tsx +26 -12
- package/src/renderers/Form/Checkbox.tsx +8 -0
- package/src/renderers/Form/Combo.tsx +2 -3
- package/src/renderers/Form/InputCity.tsx +4 -8
- package/src/renderers/Form/InputFile.tsx +30 -20
- package/src/renderers/Form/InputImage.tsx +16 -5
- 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 +158 -21
- package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
- package/src/renderers/Form/Transfer.tsx +19 -4
- package/src/renderers/Form/TransferPicker.tsx +139 -0
- package/src/renderers/Form/TreeSelect.tsx +25 -0
- package/src/renderers/Form/index.tsx +16 -2
- 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 +9 -9
- 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 +1 -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/SparkLine.tsx +5 -0
- package/src/renderers/Table/ColumnToggler.tsx +544 -0
- package/src/renderers/Table/ItemActionsWrapper.tsx +44 -0
- package/src/renderers/Table/TableCell.tsx +16 -1
- package/src/renderers/Table/TableContent.tsx +40 -2
- package/src/renderers/Table/index.tsx +257 -80
- 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/service.ts +5 -4
- package/src/store/table.ts +94 -6
- package/src/types.ts +57 -0
- package/src/utils/api.ts +52 -23
- 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/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/Card.tsx
CHANGED
@@ -166,6 +166,11 @@ export interface CardSchema extends BaseSchema {
|
|
166
166
|
* 底部按钮集合。
|
167
167
|
*/
|
168
168
|
actions?: Array<ActionSchema>;
|
169
|
+
|
170
|
+
/**
|
171
|
+
* 工具栏按钮
|
172
|
+
*/
|
173
|
+
toolbar?: Array<ActionSchema>;
|
169
174
|
}
|
170
175
|
|
171
176
|
export interface CardProps
|
@@ -273,30 +278,47 @@ export class Card extends React.Component<CardProps> {
|
|
273
278
|
multiple,
|
274
279
|
hideCheckToggler,
|
275
280
|
classnames: cx,
|
276
|
-
classPrefix: ns
|
281
|
+
classPrefix: ns,
|
282
|
+
toolbar,
|
283
|
+
render
|
277
284
|
} = this.props;
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
285
|
+
const toolbars: Array<JSX.Element> = [];
|
286
|
+
|
287
|
+
if (selectable && !hideCheckToggler) {
|
288
|
+
toolbars.push(
|
289
|
+
<Checkbox
|
290
|
+
key="check"
|
291
|
+
className={cx('Card-checkbox')}
|
292
|
+
type={multiple ? 'checkbox' : 'radio'}
|
293
|
+
disabled={!checkable}
|
294
|
+
checked={selected}
|
295
|
+
onChange={checkOnItemClick ? noop : this.handleCheck}
|
296
|
+
/>
|
284
297
|
);
|
285
|
-
}
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
298
|
+
}
|
299
|
+
|
300
|
+
if (Array.isArray(toolbar)) {
|
301
|
+
toolbar.forEach((action, index) =>
|
302
|
+
toolbars.push(
|
303
|
+
render(
|
304
|
+
`toolbar/${index}`,
|
305
|
+
{
|
306
|
+
type: 'button',
|
307
|
+
level: 'link',
|
308
|
+
size: 'sm',
|
309
|
+
...(action as any)
|
310
|
+
},
|
311
|
+
{
|
312
|
+
key: index
|
313
|
+
}
|
314
|
+
)
|
315
|
+
)
|
296
316
|
);
|
297
317
|
}
|
298
318
|
|
299
|
-
return
|
319
|
+
return toolbars.length ? (
|
320
|
+
<div className={cx('Card-toolbar')}>{toolbars}</div>
|
321
|
+
) : null;
|
300
322
|
}
|
301
323
|
|
302
324
|
renderActions() {
|
@@ -451,12 +473,14 @@ export class Card extends React.Component<CardProps> {
|
|
451
473
|
imageClassName,
|
452
474
|
avatarTextClassName,
|
453
475
|
href,
|
454
|
-
itemAction
|
476
|
+
itemAction,
|
477
|
+
dragging
|
455
478
|
} = this.props;
|
456
479
|
|
480
|
+
const toolbar = this.renderToolbar();
|
457
481
|
let heading = null;
|
458
482
|
|
459
|
-
if (header) {
|
483
|
+
if (header || toolbar) {
|
460
484
|
const {
|
461
485
|
highlight: highlightTpl,
|
462
486
|
avatar: avatarTpl,
|
@@ -465,31 +489,31 @@ export class Card extends React.Component<CardProps> {
|
|
465
489
|
subTitle: subTitleTpl,
|
466
490
|
subTitlePlaceholder,
|
467
491
|
desc: descTpl
|
468
|
-
} = header;
|
492
|
+
} = header || {};
|
469
493
|
|
470
494
|
const descPlaceholder =
|
471
|
-
header
|
495
|
+
header?.descriptionPlaceholder || header?.descPlaceholder;
|
472
496
|
|
473
497
|
const highlight = !!evalExpression(highlightTpl!, data as object);
|
474
498
|
const avatar = filter(avatarTpl, data, '| raw');
|
475
499
|
const avatarText = filter(avatarTextTpl, data);
|
476
500
|
const title = filter(titleTpl, data);
|
477
501
|
const subTitle = filter(subTitleTpl, data);
|
478
|
-
const desc = filter(header
|
502
|
+
const desc = filter(header?.description || descTpl, data);
|
479
503
|
|
480
504
|
heading = (
|
481
|
-
<div className={cx('Card-heading', header
|
505
|
+
<div className={cx('Card-heading', header?.className)}>
|
482
506
|
{avatar ? (
|
483
507
|
<span
|
484
508
|
className={cx(
|
485
509
|
'Card-avtar',
|
486
|
-
header
|
510
|
+
header?.avatarClassName || avatarClassName
|
487
511
|
)}
|
488
512
|
>
|
489
513
|
<img
|
490
514
|
className={cx(
|
491
515
|
'Card-img',
|
492
|
-
header
|
516
|
+
header?.imageClassName || imageClassName
|
493
517
|
)}
|
494
518
|
src={avatar}
|
495
519
|
/>
|
@@ -498,7 +522,7 @@ export class Card extends React.Component<CardProps> {
|
|
498
522
|
<span
|
499
523
|
className={cx(
|
500
524
|
'Card-avtarText',
|
501
|
-
header
|
525
|
+
header?.avatarTextClassName || avatarTextClassName
|
502
526
|
)}
|
503
527
|
>
|
504
528
|
{avatarText}
|
@@ -509,7 +533,7 @@ export class Card extends React.Component<CardProps> {
|
|
509
533
|
<i
|
510
534
|
className={cx(
|
511
535
|
'Card-highlight',
|
512
|
-
header
|
536
|
+
header?.highlightClassName || highlightClassName
|
513
537
|
)}
|
514
538
|
/>
|
515
539
|
) : null}
|
@@ -518,7 +542,7 @@ export class Card extends React.Component<CardProps> {
|
|
518
542
|
<div
|
519
543
|
className={cx(
|
520
544
|
'Card-title',
|
521
|
-
header
|
545
|
+
header?.titleClassName || titleClassName
|
522
546
|
)}
|
523
547
|
>
|
524
548
|
{render('title', title)}
|
@@ -529,7 +553,7 @@ export class Card extends React.Component<CardProps> {
|
|
529
553
|
<div
|
530
554
|
className={cx(
|
531
555
|
'Card-subTitle',
|
532
|
-
header
|
556
|
+
header?.subTitleClassName || subTitleClassName
|
533
557
|
)}
|
534
558
|
>
|
535
559
|
{render('sub-title', subTitle || subTitlePlaceholder!, {
|
@@ -542,8 +566,8 @@ export class Card extends React.Component<CardProps> {
|
|
542
566
|
<div
|
543
567
|
className={cx(
|
544
568
|
'Card-desc',
|
545
|
-
header
|
546
|
-
header
|
569
|
+
header?.descriptionClassName ||
|
570
|
+
header?.descClassName ||
|
547
571
|
descClassName
|
548
572
|
)}
|
549
573
|
>
|
@@ -553,6 +577,7 @@ export class Card extends React.Component<CardProps> {
|
|
553
577
|
</div>
|
554
578
|
) : null}
|
555
579
|
</div>
|
580
|
+
{toolbar}
|
556
581
|
</div>
|
557
582
|
);
|
558
583
|
}
|
@@ -570,7 +595,11 @@ export class Card extends React.Component<CardProps> {
|
|
570
595
|
'Card--link': href || itemAction
|
571
596
|
})}
|
572
597
|
>
|
573
|
-
{
|
598
|
+
{dragging ? (
|
599
|
+
<div className={cx('Card-dragBtn')}>
|
600
|
+
<Icon icon="drag-bar" className="icon" />
|
601
|
+
</div>
|
602
|
+
) : null}
|
574
603
|
{heading}
|
575
604
|
{body ? (
|
576
605
|
<div className={cx('Card-body', bodyClassName)}>{body}</div>
|
package/src/renderers/Chart.tsx
CHANGED
@@ -12,7 +12,11 @@ import {
|
|
12
12
|
isPureVariable,
|
13
13
|
dataMapping
|
14
14
|
} from '../utils/tpl-builtin';
|
15
|
-
import {
|
15
|
+
import {
|
16
|
+
isApiOutdated,
|
17
|
+
isEffectiveApi,
|
18
|
+
normalizeApiResponseData
|
19
|
+
} from '../utils/api';
|
16
20
|
import {ScopedContext, IScopedContext} from '../Scoped';
|
17
21
|
import {createObject, findObjectsWithKey} from '../utils/helper';
|
18
22
|
import Spinner from '../components/Spinner';
|
@@ -342,7 +346,7 @@ export class Chart extends React.Component<ChartProps> {
|
|
342
346
|
}
|
343
347
|
delete this.reloadCancel;
|
344
348
|
|
345
|
-
const data = result.data
|
349
|
+
const data = normalizeApiResponseData(result.data);
|
346
350
|
// 说明返回的是数据接口。
|
347
351
|
if (!data.series && this.props.config) {
|
348
352
|
const ctx = createObject(this.props.data, data);
|
@@ -176,8 +176,10 @@ export default class Collapse extends React.Component<
|
|
176
176
|
onClick={this.toggleCollapsed}
|
177
177
|
className={cx(`Collapse-header`, headingClassName)}
|
178
178
|
>
|
179
|
-
{
|
180
|
-
|
179
|
+
<div className={cx('Collapse-header-wrapper')}>
|
180
|
+
{render('heading', finalTitle, {className: 'Collapse-header-tpl'})}
|
181
|
+
{collapsable && <span className={cx('Collapse-arrow')} />}
|
182
|
+
</div>
|
181
183
|
</HeadingComponent>
|
182
184
|
) : null,
|
183
185
|
|
package/src/renderers/Dialog.tsx
CHANGED
@@ -629,10 +629,6 @@ export class DialogRenderer extends Dialog {
|
|
629
629
|
tryChildrenToHandle(action: Action, ctx: object, rawAction?: Action) {
|
630
630
|
const scoped = this.context as IScopedContext;
|
631
631
|
|
632
|
-
if (action.fromDialog) {
|
633
|
-
return false;
|
634
|
-
}
|
635
|
-
|
636
632
|
const targets: Array<any> = [];
|
637
633
|
const {onConfirm, store} = this.props;
|
638
634
|
|
package/src/renderers/Drawer.tsx
CHANGED
@@ -687,10 +687,6 @@ export class DrawerRenderer extends Drawer {
|
|
687
687
|
tryChildrenToHandle(action: Action, ctx: object, rawAction?: Action) {
|
688
688
|
const scoped = this.context as IScopedContext;
|
689
689
|
|
690
|
-
if (action.fromDialog) {
|
691
|
-
return false;
|
692
|
-
}
|
693
|
-
|
694
690
|
const targets: Array<any> = [];
|
695
691
|
const {onConfirm, store} = this.props;
|
696
692
|
|
@@ -7,10 +7,11 @@ import type {TooltipObject, Trigger} from '../components/TooltipWrapper';
|
|
7
7
|
import {isDisabled, isVisible, noop} from '../utils/helper';
|
8
8
|
import {filter} from '../utils/tpl';
|
9
9
|
import {Icon} from '../components/icons';
|
10
|
-
import {BaseSchema, SchemaClassName} from '../Schema';
|
10
|
+
import {BaseSchema, SchemaClassName, SchemaIcon} from '../Schema';
|
11
11
|
import {ActionSchema} from './Action';
|
12
12
|
import {DividerSchema} from './Divider';
|
13
13
|
import {RootClose} from '../utils/RootClose';
|
14
|
+
import {generateIcon} from '../utils/icon';
|
14
15
|
|
15
16
|
/**
|
16
17
|
* 下拉按钮渲染器。
|
@@ -77,10 +78,20 @@ export interface DropdownButtonSchema extends BaseSchema {
|
|
77
78
|
*/
|
78
79
|
iconOnly?: boolean;
|
79
80
|
|
81
|
+
/**
|
82
|
+
* 右侧图标
|
83
|
+
*/
|
84
|
+
rightIcon?: SchemaIcon;
|
85
|
+
|
80
86
|
/**
|
81
87
|
* 触发条件,默认是 click
|
82
88
|
*/
|
83
89
|
trigger?: 'click' | 'hover';
|
90
|
+
|
91
|
+
/**
|
92
|
+
* 是否显示下拉按钮
|
93
|
+
*/
|
94
|
+
hideCaret?: boolean;
|
84
95
|
}
|
85
96
|
|
86
97
|
export interface DropDownButtonProps
|
@@ -270,11 +281,17 @@ export default class DropDownButton extends React.Component<
|
|
270
281
|
align,
|
271
282
|
iconOnly,
|
272
283
|
icon,
|
284
|
+
rightIcon,
|
273
285
|
isActived,
|
274
286
|
trigger,
|
275
|
-
data
|
287
|
+
data,
|
288
|
+
hideCaret
|
276
289
|
} = this.props;
|
277
290
|
|
291
|
+
const iconElement = generateIcon(cx, icon, 'm-r-xs');
|
292
|
+
|
293
|
+
const rightIconElement = generateIcon(cx, rightIcon, 'm-l-xs');
|
294
|
+
|
278
295
|
return (
|
279
296
|
<div
|
280
297
|
className={cx(
|
@@ -317,17 +334,14 @@ export default class DropDownButton extends React.Component<
|
|
317
334
|
size ? `Button--${size}` : ''
|
318
335
|
)}
|
319
336
|
>
|
320
|
-
{
|
321
|
-
typeof icon === 'string' ? (
|
322
|
-
<i className={cx(icon, 'm-r-xs')} />
|
323
|
-
) : (
|
324
|
-
icon
|
325
|
-
)
|
326
|
-
) : null}
|
337
|
+
{iconElement}
|
327
338
|
{typeof label === 'string' ? filter(label, data) : label}
|
328
|
-
|
329
|
-
|
330
|
-
|
339
|
+
{rightIconElement}
|
340
|
+
{!hideCaret ? (
|
341
|
+
<span className={cx('DropDown-caret')}>
|
342
|
+
<Icon icon="caret" className="icon" />
|
343
|
+
</span>
|
344
|
+
) : null}
|
331
345
|
</button>
|
332
346
|
</TooltipWrapper>
|
333
347
|
{this.state.isOpened ? this.renderOuter() : null}
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
2
2
|
import {FormItem, FormControlProps, FormBaseControl} from './Item';
|
3
3
|
import cx from 'classnames';
|
4
4
|
import Checkbox from '../../components/Checkbox';
|
5
|
+
import {withBadge, BadgeSchema} from '../../components/Badge';
|
5
6
|
|
6
7
|
/**
|
7
8
|
* Checkbox 勾选框。
|
@@ -27,6 +28,11 @@ export interface CheckboxControlSchema extends FormBaseControl {
|
|
27
28
|
* 选项说明
|
28
29
|
*/
|
29
30
|
option?: string;
|
31
|
+
|
32
|
+
/**
|
33
|
+
* 角标
|
34
|
+
*/
|
35
|
+
badge?: BadgeSchema;
|
30
36
|
}
|
31
37
|
|
32
38
|
export interface CheckboxProps
|
@@ -78,4 +84,6 @@ export default class CheckboxControl extends React.Component<
|
|
78
84
|
type: 'checkbox',
|
79
85
|
sizeMutable: false
|
80
86
|
})
|
87
|
+
// @ts-ignore
|
88
|
+
@withBadge
|
81
89
|
export class CheckboxControlRenderer extends CheckboxControl {}
|
@@ -251,7 +251,6 @@ export interface ComboControlSchema extends FormBaseControl {
|
|
251
251
|
/**
|
252
252
|
* 最大值验证错误提示
|
253
253
|
*/
|
254
|
-
|
255
254
|
maxLengthValidateFailed?: string;
|
256
255
|
};
|
257
256
|
}
|
@@ -1010,7 +1009,7 @@ export default class ComboControl extends React.Component<ComboProps> {
|
|
1010
1009
|
{deleteIcon ? (
|
1011
1010
|
<i className={deleteIcon} />
|
1012
1011
|
) : (
|
1013
|
-
<Icon icon="close" className="icon" />
|
1012
|
+
<Icon icon="status-close" className="icon" />
|
1014
1013
|
)}
|
1015
1014
|
</div>
|
1016
1015
|
);
|
@@ -1189,7 +1188,7 @@ export default class ComboControl extends React.Component<ComboProps> {
|
|
1189
1188
|
{deleteIcon ? (
|
1190
1189
|
<i className={deleteIcon} />
|
1191
1190
|
) : (
|
1192
|
-
<Icon icon="close" className="icon" />
|
1191
|
+
<Icon icon="status-close" className="icon" />
|
1193
1192
|
)}
|
1194
1193
|
</a>
|
1195
1194
|
);
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import {FormItem, FormControlProps, FormBaseControl} from './Item';
|
3
3
|
import {ClassNamesFn, themeable, ThemeProps} from '../../theme';
|
4
|
-
import
|
4
|
+
import Spinner from '../../components/Spinner';
|
5
|
+
import Select from '../../components/Select';
|
5
6
|
import {autobind} from '../../utils/helper';
|
6
7
|
import {Option} from './Options';
|
7
8
|
import {localeable, LocaleProps} from '../../locale';
|
@@ -293,13 +294,8 @@ export class CityPicker extends React.Component<
|
|
293
294
|
|
294
295
|
@autobind
|
295
296
|
syncOut() {
|
296
|
-
const {
|
297
|
-
|
298
|
-
allowStreet,
|
299
|
-
joinValues,
|
300
|
-
extractValue,
|
301
|
-
delimiter
|
302
|
-
} = this.props;
|
297
|
+
const {onChange, allowStreet, joinValues, extractValue, delimiter} =
|
298
|
+
this.props;
|
303
299
|
|
304
300
|
const {code, province, city, district, street} = this.state;
|
305
301
|
|
@@ -20,6 +20,7 @@ import {
|
|
20
20
|
SchemaClassName,
|
21
21
|
SchemaTokenizeableString
|
22
22
|
} from '../../Schema';
|
23
|
+
import merge from 'lodash/merge';
|
23
24
|
|
24
25
|
/**
|
25
26
|
* File 文件上传控件
|
@@ -356,11 +357,12 @@ export default class FileControl extends React.Component<FileProps, FileState> {
|
|
356
357
|
if (value && value instanceof Blob) {
|
357
358
|
files = [value as any];
|
358
359
|
} else if (value) {
|
359
|
-
files = (
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
360
|
+
files = (
|
361
|
+
Array.isArray(value)
|
362
|
+
? value
|
363
|
+
: joinValues
|
364
|
+
? `${(value as any)[valueField] || value}`.split(delimiter)
|
365
|
+
: [value as any]
|
364
366
|
)
|
365
367
|
.map(item => FileControl.valueToFile(item, props) as FileValue)
|
366
368
|
.filter(item => item);
|
@@ -402,11 +404,12 @@ export default class FileControl extends React.Component<FileProps, FileState> {
|
|
402
404
|
let files: Array<FileValue> = [];
|
403
405
|
|
404
406
|
if (value) {
|
405
|
-
files = (
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
407
|
+
files = (
|
408
|
+
Array.isArray(value)
|
409
|
+
? value
|
410
|
+
: joinValues && typeof value === 'string'
|
411
|
+
? value.split(delimiter)
|
412
|
+
: [value as any]
|
410
413
|
)
|
411
414
|
.map(item => {
|
412
415
|
let obj = FileControl.valueToFile(
|
@@ -851,8 +854,8 @@ export default class FileControl extends React.Component<FileProps, FileState> {
|
|
851
854
|
}
|
852
855
|
|
853
856
|
syncAutoFill() {
|
854
|
-
const {autoFill, multiple, onBulkChange} = this.props;
|
855
|
-
if (!isEmpty(autoFill)) {
|
857
|
+
const {autoFill, multiple, onBulkChange, data} = this.props;
|
858
|
+
if (!isEmpty(autoFill) && onBulkChange) {
|
856
859
|
const files = this.state.files.filter(
|
857
860
|
file => ~['uploaded', 'init', 'ready'].indexOf(file.state as string)
|
858
861
|
);
|
@@ -864,7 +867,12 @@ export default class FileControl extends React.Component<FileProps, FileState> {
|
|
864
867
|
}
|
865
868
|
: files[0]
|
866
869
|
);
|
867
|
-
|
870
|
+
Object.keys(toSync).forEach(key => {
|
871
|
+
if (isPlainObject(toSync[key]) && isPlainObject(data[key])) {
|
872
|
+
toSync[key] = merge({}, data[key], toSync[key]);
|
873
|
+
}
|
874
|
+
});
|
875
|
+
onBulkChange(toSync);
|
868
876
|
}
|
869
877
|
}
|
870
878
|
|
@@ -1223,13 +1231,15 @@ export default class FileControl extends React.Component<FileProps, FileState> {
|
|
1223
1231
|
onClick={this.handleSelect}
|
1224
1232
|
>
|
1225
1233
|
<Icon icon="upload" className="icon" />
|
1226
|
-
|
1227
|
-
|
1228
|
-
|
1229
|
-
|
1230
|
-
|
1231
|
-
|
1232
|
-
|
1234
|
+
<span>
|
1235
|
+
{!multiple && files.length
|
1236
|
+
? __('File.repick')
|
1237
|
+
: multiple && files.length
|
1238
|
+
? __('File.continueAdd')
|
1239
|
+
: btnLabel
|
1240
|
+
? btnLabel
|
1241
|
+
: __('File.upload')}
|
1242
|
+
</span>
|
1233
1243
|
</Button>
|
1234
1244
|
) : null}
|
1235
1245
|
|
@@ -29,6 +29,8 @@ import {
|
|
29
29
|
SchemaUrlPath
|
30
30
|
} from '../../Schema';
|
31
31
|
import {filter} from '../../utils/tpl';
|
32
|
+
import isPlainObject from 'lodash/isPlainObject';
|
33
|
+
import merge from 'lodash/merge';
|
32
34
|
|
33
35
|
/**
|
34
36
|
* Image 图片上传控件
|
@@ -790,8 +792,8 @@ export default class ImageControl extends React.Component<
|
|
790
792
|
}
|
791
793
|
|
792
794
|
syncAutoFill() {
|
793
|
-
const {autoFill, multiple, onBulkChange} = this.props;
|
794
|
-
if (!isEmpty(autoFill)) {
|
795
|
+
const {autoFill, multiple, onBulkChange, data} = this.props;
|
796
|
+
if (!isEmpty(autoFill) && onBulkChange) {
|
795
797
|
const files = this.state.files.filter(
|
796
798
|
file => ~['uploaded', 'init', 'ready'].indexOf(file.state as string)
|
797
799
|
);
|
@@ -803,7 +805,13 @@ export default class ImageControl extends React.Component<
|
|
803
805
|
}
|
804
806
|
: files[0]
|
805
807
|
);
|
806
|
-
|
808
|
+
|
809
|
+
Object.keys(toSync).forEach(key => {
|
810
|
+
if (isPlainObject(toSync[key]) && isPlainObject(data[key])) {
|
811
|
+
toSync[key] = merge({}, data[key], toSync[key]);
|
812
|
+
}
|
813
|
+
});
|
814
|
+
onBulkChange(toSync);
|
807
815
|
}
|
808
816
|
}
|
809
817
|
|
@@ -1377,7 +1385,6 @@ export default class ImageControl extends React.Component<
|
|
1377
1385
|
fixedSize ? fixedSizeClassName : ''
|
1378
1386
|
)}
|
1379
1387
|
>
|
1380
|
-
<p>{__('File.uploading')}</p>
|
1381
1388
|
<div className={cx('ImageControl-progress')}>
|
1382
1389
|
<span
|
1383
1390
|
style={{
|
@@ -1390,6 +1397,7 @@ export default class ImageControl extends React.Component<
|
|
1390
1397
|
)}
|
1391
1398
|
/>
|
1392
1399
|
</div>
|
1400
|
+
<p>{__('File.uploading')}</p>
|
1393
1401
|
</div>
|
1394
1402
|
</>
|
1395
1403
|
) : (
|
@@ -1524,7 +1532,10 @@ export default class ImageControl extends React.Component<
|
|
1524
1532
|
thumbRatio={thumbRatio}
|
1525
1533
|
/>
|
1526
1534
|
) : (
|
1527
|
-
|
1535
|
+
<>
|
1536
|
+
<Icon icon="plus" className="icon" />
|
1537
|
+
<span>{__('File.upload')}</span>
|
1538
|
+
</>
|
1528
1539
|
)}
|
1529
1540
|
|
1530
1541
|
{isFocused ? (
|
@@ -314,7 +314,7 @@ export interface FormItemProps extends RendererProps {
|
|
314
314
|
submitOnChange?: boolean,
|
315
315
|
changeImmediately?: boolean
|
316
316
|
) => void;
|
317
|
-
onBulkChange
|
317
|
+
onBulkChange?: (
|
318
318
|
values: {[propName: string]: any},
|
319
319
|
submitOnChange?: boolean
|
320
320
|
) => void;
|
@@ -48,6 +48,8 @@ import {
|
|
48
48
|
SchemaObject,
|
49
49
|
SchemaTokenizeableString
|
50
50
|
} from '../../Schema';
|
51
|
+
import isPlainObject from 'lodash/isPlainObject';
|
52
|
+
import merge from 'lodash/merge';
|
51
53
|
|
52
54
|
export {Option};
|
53
55
|
|
@@ -270,7 +272,8 @@ export function registerOptionsControl(config: OptionsConfig) {
|
|
270
272
|
: [];
|
271
273
|
static ComposedComponent = Control;
|
272
274
|
|
273
|
-
|
275
|
+
toDispose: Array<() => void> = [];
|
276
|
+
|
274
277
|
input: any;
|
275
278
|
mounted = false;
|
276
279
|
|
@@ -302,9 +305,18 @@ export function registerOptionsControl(config: OptionsConfig) {
|
|
302
305
|
data
|
303
306
|
);
|
304
307
|
|
305
|
-
this.
|
306
|
-
(
|
307
|
-
|
308
|
+
this.toDispose.push(
|
309
|
+
reaction(
|
310
|
+
() => JSON.stringify([formItem.loading, formItem.filteredOptions]),
|
311
|
+
() => this.mounted && this.forceUpdate()
|
312
|
+
)
|
313
|
+
);
|
314
|
+
|
315
|
+
this.toDispose.push(
|
316
|
+
reaction(
|
317
|
+
() => JSON.stringify(formItem.options),
|
318
|
+
() => this.mounted && this.syncAutoFill(formItem.tmpValue)
|
319
|
+
)
|
308
320
|
);
|
309
321
|
// 默认全选。这里会和默认值\回填值逻辑冲突,所以如果有配置source则不执行默认全选
|
310
322
|
if (
|
@@ -432,14 +444,20 @@ export function registerOptionsControl(config: OptionsConfig) {
|
|
432
444
|
|
433
445
|
componentWillUnmount() {
|
434
446
|
this.props.removeHook?.(this.reload, 'init');
|
435
|
-
this.
|
447
|
+
this.toDispose.forEach(fn => fn());
|
448
|
+
this.toDispose = [];
|
436
449
|
}
|
437
450
|
|
438
451
|
syncAutoFill(value: any) {
|
439
452
|
const {autoFill, multiple, onBulkChange, data} = this.props;
|
440
453
|
const formItem = this.props.formItem as IFormItemStore;
|
441
454
|
|
442
|
-
if (
|
455
|
+
if (
|
456
|
+
onBulkChange &&
|
457
|
+
autoFill &&
|
458
|
+
!isEmpty(autoFill) &&
|
459
|
+
formItem.filteredOptions.length
|
460
|
+
) {
|
443
461
|
const selectedOptions = formItem.getSelectedOptions(value);
|
444
462
|
const toSync = dataMapping(
|
445
463
|
autoFill,
|
@@ -471,7 +489,14 @@ export function registerOptionsControl(config: OptionsConfig) {
|
|
471
489
|
selectedOptions[0]
|
472
490
|
)
|
473
491
|
);
|
474
|
-
|
492
|
+
|
493
|
+
Object.keys(toSync).forEach(key => {
|
494
|
+
if (isPlainObject(toSync[key]) && isPlainObject(data[key])) {
|
495
|
+
toSync[key] = merge({}, data[key], toSync[key]);
|
496
|
+
}
|
497
|
+
});
|
498
|
+
|
499
|
+
onBulkChange(toSync);
|
475
500
|
}
|
476
501
|
}
|
477
502
|
|
@@ -397,14 +397,15 @@ export default class PickerControl extends React.PureComponent<
|
|
397
397
|
options,
|
398
398
|
multiple,
|
399
399
|
valueField,
|
400
|
-
embed
|
400
|
+
embed,
|
401
|
+
source
|
401
402
|
} = this.props;
|
402
403
|
|
403
404
|
return render('modal-body', this.state.schema, {
|
404
405
|
value: selectedOptions,
|
405
406
|
valueField,
|
406
407
|
primaryField: valueField,
|
407
|
-
options: options,
|
408
|
+
options: source ? [] : options,
|
408
409
|
multiple,
|
409
410
|
onSelect: embed ? this.handleChange : undefined,
|
410
411
|
ref: this.crudRef,
|