amis 1.4.2-beta.6 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Schema.d.ts +11 -3
- package/lib/Schema.js.map +1 -1
- package/lib/components/Alert2.d.ts +26 -21
- package/lib/components/Alert2.js +11 -4
- package/lib/components/Alert2.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.js +2 -2
- package/lib/components/Badge.js.map +2 -2
- package/lib/components/Button.js +1 -1
- 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 +20 -20
- package/lib/components/Collapse.d.ts +51 -23
- package/lib/components/Collapse.js +70 -11
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/CollapseGroup.d.ts +88 -0
- package/lib/components/CollapseGroup.js +81 -0
- package/lib/components/CollapseGroup.js.map +13 -0
- package/lib/components/ColorPicker.d.ts +89 -85
- package/lib/components/ColorPicker.js +17 -4
- package/lib/components/ColorPicker.js.map +2 -2
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DateRangePicker.d.ts +84 -84
- package/lib/components/Drawer.js +2 -2
- package/lib/components/Drawer.js.map +2 -2
- package/lib/components/Editor.d.ts +84 -84
- package/lib/components/GridNav.d.ts +52 -0
- package/lib/components/GridNav.js +123 -0
- package/lib/components/GridNav.js.map +13 -0
- 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.d.ts +22 -21
- package/lib/components/InputBox.js +10 -2
- package/lib/components/InputBox.js.map +2 -2
- package/lib/components/Link.d.ts +29 -36
- package/lib/components/Link.js +14 -15
- package/lib/components/Link.js.map +2 -2
- 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/NumberInput.d.ts +20 -20
- package/lib/components/Overlay.js +5 -0
- package/lib/components/Overlay.js.map +2 -2
- 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/PopOver.d.ts +1 -0
- package/lib/components/PopOver.js +12 -1
- package/lib/components/PopOver.js.map +2 -2
- package/lib/components/Progress.d.ts +85 -0
- package/lib/components/Progress.js +81 -0
- package/lib/components/Progress.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/ResultBox.js +10 -2
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/SearchBox.d.ts +84 -84
- package/lib/components/Select.d.ts +245 -237
- package/lib/components/Select.js +25 -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/{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.d.ts +90 -87
- package/lib/components/Toast.js +15 -5
- 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 +488 -0
- package/lib/components/TransferDropDown.js +59 -0
- package/lib/components/TransferDropDown.js.map +13 -0
- package/lib/components/TransferPicker.d.ts +493 -0
- package/lib/components/TransferPicker.js +60 -0
- package/lib/components/TransferPicker.js.map +13 -0
- package/lib/components/Tree.d.ts +115 -84
- package/lib/components/Tree.js +183 -30
- 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/condition-builder/Field.js +4 -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 +10 -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.d.ts +1 -1
- package/lib/envOverwrite.js +24 -9
- package/lib/envOverwrite.js.map +2 -2
- package/lib/factory.d.ts +15 -1
- package/lib/factory.js +35 -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/alert-danger.js +7 -0
- package/lib/icons/alert-info.js +7 -0
- package/lib/icons/alert-success.js +7 -0
- package/lib/icons/alert-warning.js +7 -0
- package/lib/icons/download.js +7 -0
- package/lib/icons/drag-bar.js +10 -3
- package/lib/index.d.ts +5 -0
- package/lib/index.js +6 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +2 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +3 -0
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +5 -2
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +10 -5
- package/lib/renderers/Action.js +23 -5
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/Alert.d.ts +21 -1
- package/lib/renderers/Alert.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 +5 -0
- package/lib/renderers/CRUD.js +25 -4
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.d.ts +5 -0
- package/lib/renderers/Card.js +34 -23
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Collapse.d.ts +25 -20
- package/lib/renderers/Collapse.js +10 -72
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/CollapseGroup.d.ts +42 -0
- package/lib/renderers/CollapseGroup.js +33 -0
- package/lib/renderers/CollapseGroup.js.map +13 -0
- package/lib/renderers/Form/ConditionBuilder.js +2 -2
- package/lib/renderers/Form/ConditionBuilder.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 +86 -85
- package/lib/renderers/Form/InputColor.js +1 -1
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputFile.d.ts +6 -0
- package/lib/renderers/Form/InputFile.js +28 -8
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +11 -4
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +1 -1
- package/lib/renderers/Form/Item.js +2 -1
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/Options.js +25 -4
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +42 -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 +52 -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 +13 -1
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/GridNav.d.ts +99 -0
- package/lib/renderers/GridNav.js +82 -0
- package/lib/renderers/GridNav.js.map +13 -0
- package/lib/renderers/IFrame.js +1 -3
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Image.js +7 -5
- 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 +4 -2
- package/lib/renderers/Link.js +15 -8
- 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/Nav.d.ts +21 -21
- package/lib/renderers/Nav.js +37 -19
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.d.ts +18 -0
- package/lib/renderers/Page.js +53 -9
- 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/Progress.d.ts +23 -3
- package/lib/renderers/Progress.js +15 -19
- package/lib/renderers/Progress.js.map +2 -2
- package/lib/renderers/Property.js +1 -1
- package/lib/renderers/Property.js.map +2 -2
- package/lib/renderers/Table/ColumnToggler.js +1 -1
- package/lib/renderers/Table/ColumnToggler.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 +5 -1
- package/lib/renderers/Table/index.js +65 -30
- 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 -2
- package/lib/store/form.d.ts +1 -1
- package/lib/store/form.js +3 -5
- package/lib/store/form.js.map +2 -2
- package/lib/store/formItem.js +44 -4
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/table.d.ts +3 -2
- package/lib/store/table.js +35 -12
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +934 -222
- package/lib/themes/ang.css +934 -222
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +934 -222
- package/lib/themes/antd.css +934 -222
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +970 -260
- package/lib/themes/cxd.css +970 -260
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +934 -222
- package/lib/themes/dark.css +934 -222
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +970 -260
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +38 -1
- 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 +90 -17
- 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/helper.d.ts +12 -23
- package/lib/utils/helper.js +62 -166
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/tpl-builtin.d.ts +2 -20
- package/lib/utils/tpl-builtin.js +25 -743
- package/lib/utils/tpl-builtin.js.map +2 -2
- package/lib/utils/tpl.js +24 -0
- package/lib/utils/tpl.js.map +2 -2
- package/package.json +5 -2
- package/schema.json +3966 -1263
- package/scss/_mixins.scss +1 -3
- package/scss/_properties.scss +42 -13
- package/scss/base/_common.scss +3 -0
- package/scss/base/_normalize.scss +2 -0
- package/scss/components/_alert.scss +28 -5
- package/scss/components/_anchor-nav.scss +89 -29
- package/scss/components/_button.scss +12 -0
- package/scss/components/_card.scss +9 -15
- package/scss/components/_collapse-group.scss +15 -0
- package/scss/components/_collapse.scss +48 -23
- package/scss/components/_grid-nav.scss +128 -0
- package/scss/components/_images.scss +1 -0
- package/scss/components/_input-box.scss +1 -0
- package/scss/components/_nav.scss +2 -7
- package/scss/components/_page.scss +35 -2
- package/scss/components/_picker-columns.scss +124 -0
- package/scss/components/_popover.scss +13 -0
- package/scss/components/_portlet.scss +51 -0
- package/scss/components/_progress.scss +141 -33
- package/scss/components/_result-box.scss +1 -0
- package/scss/components/_spinner.scss +5 -4
- package/scss/components/_status.scss +1 -1
- package/scss/components/_table.scss +32 -0
- package/scss/components/_toast.scss +41 -11
- package/scss/components/form/_checks.scss +0 -351
- package/scss/components/form/_color.scss +32 -3
- package/scss/components/form/_combo.scss +4 -0
- package/scss/components/form/_fieldset.scss +6 -1
- package/scss/components/form/_file.scss +11 -0
- package/scss/components/form/_form.scss +48 -0
- package/scss/components/form/_selection.scss +354 -0
- package/scss/components/form/_transfer.scss +76 -18
- package/scss/components/form/_tree.scss +42 -0
- package/scss/themes/_common.scss +6 -0
- package/scss/themes/_cxd-variables.scss +13 -6
- package/scss/themes/cxd.scss +19 -20
- package/sdk/ang-ie11.css +1065 -246
- package/sdk/ang.css +1069 -230
- package/sdk/antd-ie11.css +1068 -249
- package/sdk/antd.css +1069 -230
- package/sdk/charts.js +17 -17
- package/sdk/color-picker.js +65 -69
- package/sdk/cropperjs.js +3 -3
- package/sdk/cxd-ie11.css +1081 -268
- package/sdk/cxd.css +1116 -279
- package/sdk/dark-ie11.css +1069 -250
- package/sdk/dark.css +1069 -230
- 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/locale/de-DE.js +2 -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 -28
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +1081 -268
- package/sdk/sdk.css +1116 -279
- package/sdk/sdk.js +1371 -1189
- package/sdk/thirds/hls.js/hls.js +18 -18
- package/sdk/thirds/mpegts.js/mpegts.js +2 -2
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +19 -1
- package/src/components/Alert2.tsx +32 -4
- package/src/components/AnchorNav.tsx +15 -4
- package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +43 -37
- package/src/components/Badge.tsx +3 -3
- package/src/components/Button.tsx +1 -0
- package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
- package/src/components/Collapse.tsx +139 -20
- package/src/components/CollapseGroup.tsx +130 -0
- package/src/components/ColorPicker.tsx +32 -10
- package/src/components/Drawer.tsx +8 -6
- package/src/components/GridNav.tsx +233 -0
- package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
- package/src/components/InputBox.tsx +10 -9
- package/src/components/Link.tsx +28 -37
- package/src/components/ModalManager.ts +1 -1
- package/src/components/Overlay.tsx +6 -0
- package/src/components/PickerColumn.tsx +429 -0
- package/src/components/PickerContainer.tsx +128 -0
- package/src/components/PopOver.tsx +15 -1
- package/src/components/Progress.tsx +140 -0
- package/src/components/Radios.tsx +3 -8
- package/src/components/ResultBox.tsx +9 -9
- package/src/components/Select.tsx +57 -5
- package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
- 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 +48 -21
- package/src/components/Transfer.tsx +71 -50
- package/src/components/TransferDropDown.tsx +120 -0
- package/src/components/TransferPicker.tsx +91 -0
- package/src/components/Tree.tsx +194 -8
- package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
- package/src/components/condition-builder/Field.tsx +7 -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 +10 -0
- package/src/components/index.tsx +13 -13
- package/src/envOverwrite.ts +20 -8
- package/src/factory.tsx +70 -9
- 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/alert-danger.svg +1 -0
- package/src/icons/alert-info.svg +1 -0
- package/src/icons/alert-success.svg +1 -0
- package/src/icons/alert-warning.svg +1 -0
- package/src/icons/download.svg +4 -0
- package/src/icons/drag-bar.svg +12 -6
- package/src/index.tsx +5 -0
- package/src/locale/de-DE.ts +2 -0
- package/src/locale/en-US.ts +3 -0
- package/src/locale/zh-CN.ts +5 -2
- package/src/renderers/Action.tsx +58 -3
- package/src/renderers/Alert.tsx +31 -1
- 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 +29 -3
- package/src/renderers/Card.tsx +76 -36
- package/src/renderers/Collapse.tsx +70 -115
- package/src/renderers/CollapseGroup.tsx +80 -0
- package/src/renderers/Form/ConditionBuilder.tsx +2 -2
- package/src/renderers/Form/InputCity.tsx +4 -8
- package/src/renderers/Form/InputColor.tsx +4 -2
- package/src/renderers/Form/InputFile.tsx +65 -24
- package/src/renderers/Form/InputImage.tsx +11 -3
- package/src/renderers/Form/Item.tsx +3 -2
- package/src/renderers/Form/Options.tsx +29 -3
- package/src/renderers/Form/Select.tsx +162 -21
- package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
- package/src/renderers/Form/Transfer.tsx +19 -4
- package/src/renderers/Form/TransferPicker.tsx +145 -0
- package/src/renderers/Form/TreeSelect.tsx +25 -0
- package/src/renderers/Form/index.tsx +15 -2
- package/src/renderers/Form/wrapControl.tsx +26 -1
- package/src/renderers/GridNav.tsx +204 -0
- package/src/renderers/IFrame.tsx +2 -4
- package/src/renderers/Image.tsx +19 -15
- package/src/renderers/Json.tsx +9 -9
- package/src/renderers/Link.tsx +29 -16
- package/src/renderers/List.tsx +1 -1
- package/src/renderers/Nav.tsx +105 -56
- package/src/renderers/Page.tsx +62 -1
- package/src/renderers/Portlet.tsx +423 -0
- package/src/renderers/Progress.tsx +56 -38
- package/src/renderers/Property.tsx +6 -4
- package/src/renderers/Table/ColumnToggler.tsx +1 -1
- package/src/renderers/Table/TableContent.tsx +40 -2
- package/src/renderers/Table/index.tsx +88 -43
- package/src/renderers/Tabs.tsx +9 -1
- package/src/renderers/WebComponent.tsx +2 -2
- package/src/store/form.ts +3 -9
- package/src/store/formItem.ts +94 -2
- package/src/store/table.ts +55 -14
- package/src/types.ts +58 -1
- package/src/utils/api.ts +120 -26
- package/src/utils/dom.tsx +12 -0
- package/src/utils/helper.ts +55 -185
- package/src/utils/tpl-builtin.ts +40 -866
- package/src/utils/tpl.ts +33 -0
- package/tsconfig-for-declaration.json +1 -1
- 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/Schema.ts
CHANGED
@@ -12,6 +12,7 @@ import {FormSchema} from './renderers/Form';
|
|
12
12
|
import {CarouselSchema} from './renderers/Carousel';
|
13
13
|
import {ChartSchema} from './renderers/Chart';
|
14
14
|
import {CollapseSchema} from './renderers/Collapse';
|
15
|
+
import {CollapseGroupSchema} from './renderers/CollapseGroup';
|
15
16
|
import {ColorSchema} from './renderers/Color';
|
16
17
|
import {ContainerSchema} from './renderers/Container';
|
17
18
|
import {CRUDSchema} from './renderers/CRUD';
|
@@ -39,6 +40,7 @@ import {QRCodeSchema} from './renderers/QRCode';
|
|
39
40
|
import {ServiceSchema} from './renderers/Service';
|
40
41
|
import {StatusSchema} from './renderers/Status';
|
41
42
|
import {TabsSchema} from './renderers/Tabs';
|
43
|
+
import {PortletSchema} from './renderers/Portlet';
|
42
44
|
import {TasksSchema} from './renderers/Tasks';
|
43
45
|
import {VBoxSchema} from './renderers/VBox';
|
44
46
|
import {VideoSchema} from './renderers/Video';
|
@@ -109,6 +111,8 @@ import {TransferControlSchema} from './renderers/Form/Transfer';
|
|
109
111
|
import {TreeSelectControlSchema} from './renderers/Form/TreeSelect';
|
110
112
|
import {UUIDControlSchema} from './renderers/Form/UUID';
|
111
113
|
import {FormControlSchema} from './renderers/Form/Control';
|
114
|
+
import {TransferPickerControlSchema} from './renderers/Form/TransferPicker';
|
115
|
+
import {TabsTransferPickerControlSchema} from './renderers/Form/TabsTransferPicker';
|
112
116
|
|
113
117
|
// 每加个类型,这补充一下。
|
114
118
|
export type SchemaType =
|
@@ -128,6 +132,7 @@ export type SchemaType =
|
|
128
132
|
| 'carousel'
|
129
133
|
| 'chart'
|
130
134
|
| 'collapse'
|
135
|
+
| 'collapse-group'
|
131
136
|
| 'color'
|
132
137
|
| 'container'
|
133
138
|
| 'crud'
|
@@ -308,9 +313,13 @@ export type SchemaType =
|
|
308
313
|
| 'multi-select'
|
309
314
|
| 'textarea'
|
310
315
|
| 'transfer'
|
316
|
+
| 'transfer-picker'
|
317
|
+
| 'tabs-transfer-picker'
|
311
318
|
| 'input-tree'
|
312
319
|
| 'tree-select'
|
313
320
|
| 'table-view'
|
321
|
+
| 'portlet'
|
322
|
+
| 'grid-nav'
|
314
323
|
|
315
324
|
// 原生 input 类型
|
316
325
|
| 'native-date'
|
@@ -333,6 +342,7 @@ export type SchemaObject =
|
|
333
342
|
| CarouselSchema
|
334
343
|
| ChartSchema
|
335
344
|
| CollapseSchema
|
345
|
+
| CollapseGroupSchema
|
336
346
|
| ColorSchema
|
337
347
|
| ContainerSchema
|
338
348
|
| CRUDSchema
|
@@ -375,6 +385,7 @@ export type SchemaObject =
|
|
375
385
|
| FormSchema
|
376
386
|
| AnchorNavSchema
|
377
387
|
| StepsSchema
|
388
|
+
| PortletSchema
|
378
389
|
|
379
390
|
// 表单项
|
380
391
|
| FormControlSchema
|
@@ -429,6 +440,8 @@ export type SchemaObject =
|
|
429
440
|
| TextControlSchema
|
430
441
|
| TextareaControlSchema
|
431
442
|
| TransferControlSchema
|
443
|
+
| TransferPickerControlSchema
|
444
|
+
| TabsTransferPickerControlSchema
|
432
445
|
| TreeControlSchema
|
433
446
|
| TreeSelectControlSchema;
|
434
447
|
|
@@ -478,7 +491,7 @@ export interface SchemaApiObject {
|
|
478
491
|
/**
|
479
492
|
* API 发送类型
|
480
493
|
*/
|
481
|
-
method?: 'get' | 'post' | 'put' | 'delete' | 'patch';
|
494
|
+
method?: 'get' | 'post' | 'put' | 'delete' | 'patch' | 'jsonp';
|
482
495
|
|
483
496
|
/**
|
484
497
|
* API 发送目标地址
|
@@ -723,6 +736,11 @@ export interface BaseSchema {
|
|
723
736
|
* 是否显示表达式
|
724
737
|
*/
|
725
738
|
visibleOn?: SchemaExpression;
|
739
|
+
|
740
|
+
/**
|
741
|
+
* 是否使用移动端交互
|
742
|
+
*/
|
743
|
+
useMobileUI?: boolean;
|
726
744
|
}
|
727
745
|
|
728
746
|
export interface Option {
|
@@ -9,8 +9,13 @@ import {Icon} from './icons';
|
|
9
9
|
|
10
10
|
export interface AlertProps {
|
11
11
|
level: 'danger' | 'info' | 'success' | 'warning';
|
12
|
-
|
12
|
+
title?: string;
|
13
|
+
className?: string;
|
13
14
|
showCloseButton: boolean;
|
15
|
+
showIcon?: boolean;
|
16
|
+
icon?: string | React.ReactNode;
|
17
|
+
iconClassName?: string;
|
18
|
+
closeButtonClassName?: string;
|
14
19
|
onClose?: () => void;
|
15
20
|
classnames: ClassNamesFn;
|
16
21
|
classPrefix: string;
|
@@ -60,21 +65,44 @@ export class Alert extends React.Component<AlertProps, AlertState> {
|
|
60
65
|
className,
|
61
66
|
level,
|
62
67
|
children,
|
63
|
-
showCloseButton
|
68
|
+
showCloseButton,
|
69
|
+
title,
|
70
|
+
icon,
|
71
|
+
showIcon,
|
72
|
+
iconClassName,
|
73
|
+
closeButtonClassName
|
64
74
|
} = this.props;
|
65
75
|
|
76
|
+
const iconNode = icon ? (
|
77
|
+
typeof icon === 'string' ? (
|
78
|
+
<Icon icon={icon} className={cx(`Alert-icon icon`)} />
|
79
|
+
) : React.isValidElement(icon) ? (
|
80
|
+
React.cloneElement(icon, {
|
81
|
+
className: cx(`Alert-icon`, icon.props?.className)
|
82
|
+
})
|
83
|
+
) : null
|
84
|
+
) : showIcon ? (
|
85
|
+
<Icon icon={`alert-${level}`} className={cx(`Alert-icon icon`)} />
|
86
|
+
) : null;
|
87
|
+
|
66
88
|
return this.state.show ? (
|
67
89
|
<div className={cx('Alert', level ? `Alert--${level}` : '', className)}>
|
90
|
+
{showIcon && iconNode ? (
|
91
|
+
<div className={cx('Alert-icon', iconClassName)}>{iconNode}</div>
|
92
|
+
) : null}
|
93
|
+
<div className={cx('Alert-content')}>
|
94
|
+
{title ? <div className={cx('Alert-title')}>{title}</div> : null}
|
95
|
+
<div className={cx('Alert-desc')}>{children}</div>
|
96
|
+
</div>
|
68
97
|
{showCloseButton ? (
|
69
98
|
<button
|
70
|
-
className={cx('Alert-close')}
|
99
|
+
className={cx('Alert-close', closeButtonClassName)}
|
71
100
|
onClick={this.handleClick}
|
72
101
|
type="button"
|
73
102
|
>
|
74
103
|
<Icon icon="close" className="icon" />
|
75
104
|
</button>
|
76
105
|
) : null}
|
77
|
-
{children}
|
78
106
|
</div>
|
79
107
|
) : null;
|
80
108
|
}
|
@@ -46,6 +46,7 @@ export interface AnchorNavProps extends ThemeProps {
|
|
46
46
|
props?: AnchorNavProps
|
47
47
|
) => JSX.Element; // 锚点区域渲染器
|
48
48
|
onSelect?: (key: string | number) => void; // 选中回调方法
|
49
|
+
direction?: 'vertical' | 'horizontal'; // 导航方向
|
49
50
|
}
|
50
51
|
|
51
52
|
export interface AnchorNavState {
|
@@ -56,10 +57,11 @@ export interface AnchorNavState {
|
|
56
57
|
export class AnchorNav extends React.Component<AnchorNavProps, AnchorNavState> {
|
57
58
|
static defaultProps: Pick<
|
58
59
|
AnchorNavProps,
|
59
|
-
'linkClassName' | 'sectionClassName'
|
60
|
+
'linkClassName' | 'sectionClassName' | 'direction'
|
60
61
|
> = {
|
61
62
|
linkClassName: '',
|
62
|
-
sectionClassName: ''
|
63
|
+
sectionClassName: '',
|
64
|
+
direction: 'vertical'
|
63
65
|
};
|
64
66
|
|
65
67
|
// 滚动区域DOM
|
@@ -214,7 +216,8 @@ export class AnchorNav extends React.Component<AnchorNavProps, AnchorNavState> {
|
|
214
216
|
className,
|
215
217
|
linkClassName,
|
216
218
|
sectionClassName,
|
217
|
-
children
|
219
|
+
children,
|
220
|
+
direction
|
218
221
|
} = this.props;
|
219
222
|
|
220
223
|
if (!Array.isArray(children)) {
|
@@ -222,7 +225,15 @@ export class AnchorNav extends React.Component<AnchorNavProps, AnchorNavState> {
|
|
222
225
|
}
|
223
226
|
|
224
227
|
return (
|
225
|
-
<div
|
228
|
+
<div
|
229
|
+
className={cx(
|
230
|
+
'AnchorNav',
|
231
|
+
{
|
232
|
+
[`AnchorNav--${direction}`]: direction
|
233
|
+
},
|
234
|
+
className
|
235
|
+
)}
|
236
|
+
>
|
226
237
|
<ul
|
227
238
|
className={cx('AnchorNav-link-wrap', linkClassName)}
|
228
239
|
role="anchorlist"
|
@@ -5,27 +5,24 @@
|
|
5
5
|
*/
|
6
6
|
|
7
7
|
import React from 'react';
|
8
|
-
import {
|
8
|
+
import {BaseSelectionProps, BaseSelection} from './Selection';
|
9
9
|
import {Options, Option} from './Select';
|
10
|
-
import ListMenu from './ListMenu';
|
11
10
|
import {autobind} from '../utils/helper';
|
12
|
-
import ListRadios from './ListRadios';
|
13
11
|
import {themeable} from '../theme';
|
14
12
|
import {uncontrollable} from 'uncontrollable';
|
15
|
-
import
|
16
|
-
import
|
17
|
-
import
|
18
|
-
import
|
19
|
-
import
|
20
|
-
import TreeRadios from './TreeRadios';
|
13
|
+
import GroupedSelection from './GroupedSelection';
|
14
|
+
import TableSelection from './TableSelection';
|
15
|
+
import TreeSelection from './TreeSelection';
|
16
|
+
import GroupedSelecton from './GroupedSelection';
|
17
|
+
import ChainedSelection from './ChainedSelection';
|
21
18
|
import {Icon} from './icons';
|
22
19
|
import {localeable} from '../locale';
|
23
20
|
|
24
|
-
export interface
|
21
|
+
export interface AssociatedSelectionProps extends BaseSelectionProps {
|
25
22
|
leftOptions: Options;
|
26
23
|
leftDefaultValue?: any;
|
27
|
-
leftMode?: 'tree' | 'list';
|
28
|
-
rightMode?: 'table' | 'list' | 'tree' | 'chained';
|
24
|
+
leftMode?: 'tree' | 'list' | 'group';
|
25
|
+
rightMode?: 'table' | 'list' | 'group' | 'tree' | 'chained';
|
29
26
|
columns?: Array<any>;
|
30
27
|
cellRender?: (
|
31
28
|
column: {
|
@@ -39,15 +36,15 @@ export interface AssociatedCheckboxesProps extends BaseCheckboxesProps {
|
|
39
36
|
) => JSX.Element;
|
40
37
|
}
|
41
38
|
|
42
|
-
export interface
|
39
|
+
export interface AssociatedSelectionState {
|
43
40
|
leftValue?: Option;
|
44
41
|
}
|
45
42
|
|
46
|
-
export class
|
47
|
-
|
48
|
-
|
43
|
+
export class AssociatedSelection extends BaseSelection<
|
44
|
+
AssociatedSelectionProps,
|
45
|
+
AssociatedSelectionState
|
49
46
|
> {
|
50
|
-
state:
|
47
|
+
state: AssociatedSelectionState = {
|
51
48
|
leftValue: this.props.leftDefaultValue
|
52
49
|
};
|
53
50
|
|
@@ -56,7 +53,7 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
|
|
56
53
|
const {options, onDeferLoad} = this.props;
|
57
54
|
|
58
55
|
if (leftValue) {
|
59
|
-
const selectdOption =
|
56
|
+
const selectdOption = BaseSelection.resolveSelected(
|
60
57
|
leftValue,
|
61
58
|
options,
|
62
59
|
(option: Option) => option.ref
|
@@ -78,7 +75,7 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
|
|
78
75
|
const {options, onDeferLoad} = this.props;
|
79
76
|
this.setState({leftValue: value});
|
80
77
|
|
81
|
-
const selectdOption =
|
78
|
+
const selectdOption = BaseSelection.resolveSelected(
|
82
79
|
value,
|
83
80
|
options,
|
84
81
|
(option: Option) => option.ref
|
@@ -107,10 +104,12 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
|
|
107
104
|
value,
|
108
105
|
disabled,
|
109
106
|
leftMode,
|
110
|
-
cellRender
|
107
|
+
cellRender,
|
108
|
+
multiple,
|
109
|
+
onDeferLoad
|
111
110
|
} = this.props;
|
112
111
|
|
113
|
-
const selectdOption =
|
112
|
+
const selectdOption = BaseSelection.resolveSelected(
|
114
113
|
this.state.leftValue,
|
115
114
|
options,
|
116
115
|
(option: Option) => option.ref
|
@@ -118,36 +117,39 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
|
|
118
117
|
const __ = this.props.translate;
|
119
118
|
|
120
119
|
return (
|
121
|
-
<div className={cx('
|
122
|
-
<div className={cx('
|
120
|
+
<div className={cx('AssociatedSelection', className)}>
|
121
|
+
<div className={cx('AssociatedSelection-left')}>
|
123
122
|
{leftMode === 'tree' ? (
|
124
|
-
<
|
123
|
+
<TreeSelection
|
125
124
|
option2value={this.leftOption2Value}
|
126
125
|
options={leftOptions}
|
127
126
|
value={this.state.leftValue}
|
128
127
|
disabled={disabled}
|
129
128
|
onChange={this.handleLeftSelect}
|
130
|
-
|
129
|
+
multiple={false}
|
130
|
+
clearable={false}
|
131
|
+
onDeferLoad={onDeferLoad}
|
131
132
|
/>
|
132
133
|
) : (
|
133
|
-
<
|
134
|
+
<GroupedSelecton
|
134
135
|
option2value={this.leftOption2Value}
|
135
136
|
options={leftOptions}
|
136
137
|
value={this.state.leftValue}
|
137
138
|
disabled={disabled}
|
138
139
|
onChange={this.handleLeftSelect}
|
139
|
-
|
140
|
+
multiple={false}
|
141
|
+
clearable={false}
|
140
142
|
/>
|
141
143
|
)}
|
142
144
|
</div>
|
143
|
-
<div className={cx('
|
145
|
+
<div className={cx('AssociatedSelection-right')}>
|
144
146
|
{this.state.leftValue ? (
|
145
147
|
selectdOption ? (
|
146
148
|
selectdOption.defer && !selectdOption.loaded ? (
|
147
|
-
<div className={cx('
|
149
|
+
<div className={cx('AssociatedSelection-box')}>
|
148
150
|
<div
|
149
151
|
className={cx(
|
150
|
-
'
|
152
|
+
'AssociatedSelection-reload',
|
151
153
|
selectdOption.loading ? 'is-spin' : 'is-clickable'
|
152
154
|
)}
|
153
155
|
onClick={
|
@@ -166,7 +168,7 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
|
|
166
168
|
)}
|
167
169
|
</div>
|
168
170
|
) : rightMode === 'table' ? (
|
169
|
-
<
|
171
|
+
<TableSelection
|
170
172
|
columns={columns!}
|
171
173
|
value={value}
|
172
174
|
disabled={disabled}
|
@@ -174,39 +176,43 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
|
|
174
176
|
onChange={onChange}
|
175
177
|
option2value={option2value}
|
176
178
|
cellRender={cellRender}
|
179
|
+
multiple={multiple}
|
177
180
|
/>
|
178
181
|
) : rightMode === 'tree' ? (
|
179
|
-
<
|
182
|
+
<TreeSelection
|
180
183
|
value={value}
|
181
184
|
disabled={disabled}
|
182
185
|
options={selectdOption.children || []}
|
183
186
|
onChange={onChange}
|
184
187
|
option2value={option2value}
|
188
|
+
multiple={multiple}
|
185
189
|
/>
|
186
190
|
) : rightMode === 'chained' ? (
|
187
|
-
<
|
191
|
+
<ChainedSelection
|
188
192
|
value={value}
|
189
193
|
disabled={disabled}
|
190
194
|
options={selectdOption.children || []}
|
191
195
|
onChange={onChange}
|
192
196
|
option2value={option2value}
|
197
|
+
multiple={multiple}
|
193
198
|
/>
|
194
199
|
) : (
|
195
|
-
<
|
200
|
+
<GroupedSelection
|
196
201
|
value={value}
|
197
202
|
disabled={disabled}
|
198
203
|
options={selectdOption.children || []}
|
199
204
|
onChange={onChange}
|
200
205
|
option2value={option2value}
|
206
|
+
multiple={multiple}
|
201
207
|
/>
|
202
208
|
)
|
203
209
|
) : (
|
204
|
-
<div className={cx('
|
210
|
+
<div className={cx('AssociatedSelection-box')}>
|
205
211
|
{__('Transfer.configError')}
|
206
212
|
</div>
|
207
213
|
)
|
208
214
|
) : (
|
209
|
-
<div className={cx('
|
215
|
+
<div className={cx('AssociatedSelection-box')}>
|
210
216
|
{__('Transfer.selectFromLeft')}
|
211
217
|
</div>
|
212
218
|
)}
|
@@ -218,7 +224,7 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
|
|
218
224
|
|
219
225
|
export default themeable(
|
220
226
|
localeable(
|
221
|
-
uncontrollable(
|
227
|
+
uncontrollable(AssociatedSelection, {
|
222
228
|
value: 'onChange'
|
223
229
|
})
|
224
230
|
)
|
package/src/components/Badge.tsx
CHANGED
@@ -6,7 +6,7 @@ import React from 'react';
|
|
6
6
|
import hoistNonReactStatic from 'hoist-non-react-statics';
|
7
7
|
import {BaseSchema, SchemaExpression} from '../Schema';
|
8
8
|
import {evalExpression} from '../utils/tpl';
|
9
|
-
import {resolveVariable} from '../utils/tpl-builtin';
|
9
|
+
import {resolveVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';
|
10
10
|
import {ClassNamesFn} from '../theme';
|
11
11
|
|
12
12
|
/**
|
@@ -92,7 +92,7 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
92
92
|
let {mode = 'dot', level = 'danger', style} = badge as BadgeSchema;
|
93
93
|
|
94
94
|
if (typeof level === 'string' && level[0] === '$') {
|
95
|
-
level =
|
95
|
+
level = resolveVariableAndFilter(level, data);
|
96
96
|
}
|
97
97
|
|
98
98
|
switch (mode) {
|
@@ -174,7 +174,7 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
174
174
|
}
|
175
175
|
|
176
176
|
if (typeof text === 'string' && text[0] === '$') {
|
177
|
-
text =
|
177
|
+
text = resolveVariableAndFilter(text, data);
|
178
178
|
}
|
179
179
|
|
180
180
|
// 设置默认值
|
@@ -82,6 +82,7 @@ export class Button extends React.Component<ButtonProps> {
|
|
82
82
|
<Comp
|
83
83
|
type={Comp === 'input' || Comp === 'button' ? type : undefined}
|
84
84
|
{...pickEventsProps(rest)}
|
85
|
+
onClick={rest.onClick && disabled ? () => {} : rest.onClick}
|
85
86
|
href={href}
|
86
87
|
className={cx(
|
87
88
|
overrideClassName
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/**
|
2
2
|
* 级联多选框,支持无限极。从左侧到右侧一层层点选。
|
3
3
|
*/
|
4
|
-
import {
|
4
|
+
import {BaseSelection, BaseSelectionProps} from './Selection';
|
5
5
|
import {themeable} from '../theme';
|
6
6
|
import React from 'react';
|
7
7
|
import {uncontrollable} from 'uncontrollable';
|
@@ -12,20 +12,20 @@ import times from 'lodash/times';
|
|
12
12
|
import Spinner from './Spinner';
|
13
13
|
import {localeable} from '../locale';
|
14
14
|
|
15
|
-
export interface
|
15
|
+
export interface ChainedSelectionProps extends BaseSelectionProps {
|
16
16
|
defaultSelectedIndex?: string;
|
17
17
|
}
|
18
18
|
|
19
|
-
export interface
|
19
|
+
export interface ChainedSelectionState {
|
20
20
|
selected: Array<string>;
|
21
21
|
}
|
22
22
|
|
23
|
-
export class
|
24
|
-
|
25
|
-
|
23
|
+
export class ChainedSelection extends BaseSelection<
|
24
|
+
ChainedSelectionProps,
|
25
|
+
ChainedSelectionState
|
26
26
|
> {
|
27
27
|
valueArray: Array<Option>;
|
28
|
-
state:
|
28
|
+
state: ChainedSelectionState = {
|
29
29
|
selected: []
|
30
30
|
};
|
31
31
|
|
@@ -54,6 +54,46 @@ export class ChainedCheckboxes extends BaseCheckboxes<
|
|
54
54
|
);
|
55
55
|
}
|
56
56
|
|
57
|
+
renderItem(option: Option, index: number, depth: number, id: string) {
|
58
|
+
const {
|
59
|
+
labelClassName,
|
60
|
+
disabled,
|
61
|
+
classnames: cx,
|
62
|
+
itemClassName,
|
63
|
+
itemRender,
|
64
|
+
multiple
|
65
|
+
} = this.props;
|
66
|
+
const valueArray = this.valueArray;
|
67
|
+
|
68
|
+
return (
|
69
|
+
<div
|
70
|
+
key={index}
|
71
|
+
className={cx(
|
72
|
+
'ChainedSelection-item',
|
73
|
+
itemClassName,
|
74
|
+
option.className,
|
75
|
+
disabled || option.disabled ? 'is-disabled' : '',
|
76
|
+
!!~valueArray.indexOf(option) ? 'is-active' : ''
|
77
|
+
)}
|
78
|
+
onClick={() => this.toggleOption(option)}
|
79
|
+
>
|
80
|
+
<div className={cx('ChainedSelection-itemLabel')}>
|
81
|
+
{itemRender(option)}
|
82
|
+
</div>
|
83
|
+
|
84
|
+
{multiple ? (
|
85
|
+
<Checkbox
|
86
|
+
size="sm"
|
87
|
+
checked={!!~valueArray.indexOf(option)}
|
88
|
+
disabled={disabled || option.disabled}
|
89
|
+
labelClassName={labelClassName}
|
90
|
+
description={option.description}
|
91
|
+
/>
|
92
|
+
) : null}
|
93
|
+
</div>
|
94
|
+
);
|
95
|
+
}
|
96
|
+
|
57
97
|
renderOption(option: Option, index: number, depth: number, id: string) {
|
58
98
|
const {
|
59
99
|
labelClassName,
|
@@ -69,7 +109,7 @@ export class ChainedCheckboxes extends BaseCheckboxes<
|
|
69
109
|
<div
|
70
110
|
key={index}
|
71
111
|
className={cx(
|
72
|
-
'
|
112
|
+
'ChainedSelection-item',
|
73
113
|
itemClassName,
|
74
114
|
option.className,
|
75
115
|
disabled || option.disabled ? 'is-disabled' : '',
|
@@ -77,7 +117,7 @@ export class ChainedCheckboxes extends BaseCheckboxes<
|
|
77
117
|
)}
|
78
118
|
onClick={() => this.selectOption(option, depth, id)}
|
79
119
|
>
|
80
|
-
<div className={cx('
|
120
|
+
<div className={cx('ChainedSelection-itemLabel')}>
|
81
121
|
{itemRender(option)}
|
82
122
|
</div>
|
83
123
|
|
@@ -86,30 +126,7 @@ export class ChainedCheckboxes extends BaseCheckboxes<
|
|
86
126
|
);
|
87
127
|
}
|
88
128
|
|
89
|
-
return (
|
90
|
-
<div
|
91
|
-
key={index}
|
92
|
-
className={cx(
|
93
|
-
'ChainedCheckboxes-item',
|
94
|
-
itemClassName,
|
95
|
-
option.className,
|
96
|
-
disabled || option.disabled ? 'is-disabled' : ''
|
97
|
-
)}
|
98
|
-
onClick={() => this.toggleOption(option)}
|
99
|
-
>
|
100
|
-
<div className={cx('ChainedCheckboxes-itemLabel')}>
|
101
|
-
{itemRender(option)}
|
102
|
-
</div>
|
103
|
-
|
104
|
-
<Checkbox
|
105
|
-
size="sm"
|
106
|
-
checked={!!~valueArray.indexOf(option)}
|
107
|
-
disabled={disabled || option.disabled}
|
108
|
-
labelClassName={labelClassName}
|
109
|
-
description={option.description}
|
110
|
-
/>
|
111
|
-
</div>
|
112
|
-
);
|
129
|
+
return this.renderItem(option, index, depth, id);
|
113
130
|
}
|
114
131
|
|
115
132
|
render() {
|
@@ -124,7 +141,7 @@ export class ChainedCheckboxes extends BaseCheckboxes<
|
|
124
141
|
translate: __
|
125
142
|
} = this.props;
|
126
143
|
|
127
|
-
this.valueArray =
|
144
|
+
this.valueArray = BaseSelection.value2array(value, options, option2value);
|
128
145
|
let body: Array<React.ReactNode> = [];
|
129
146
|
|
130
147
|
if (Array.isArray(options) && options.length) {
|
@@ -156,9 +173,9 @@ export class ChainedCheckboxes extends BaseCheckboxes<
|
|
156
173
|
let nextIndexes = indexes;
|
157
174
|
|
158
175
|
body.push(
|
159
|
-
<div key={depth} className={cx('
|
176
|
+
<div key={depth} className={cx('ChainedSelection-col')}>
|
160
177
|
{subTitle ? (
|
161
|
-
<div className={cx('
|
178
|
+
<div className={cx('ChainedSelection-subTitle')}>
|
162
179
|
{subTitle}
|
163
180
|
</div>
|
164
181
|
) : null}
|
@@ -176,7 +193,7 @@ export class ChainedCheckboxes extends BaseCheckboxes<
|
|
176
193
|
return this.renderOption(option, index, depth, id);
|
177
194
|
})
|
178
195
|
) : (
|
179
|
-
<div className={cx('
|
196
|
+
<div className={cx('ChainedSelection-placeholder')}>
|
180
197
|
{__(placeholder)}
|
181
198
|
</div>
|
182
199
|
)}
|
@@ -201,11 +218,11 @@ export class ChainedCheckboxes extends BaseCheckboxes<
|
|
201
218
|
}
|
202
219
|
|
203
220
|
return (
|
204
|
-
<div className={cx('
|
221
|
+
<div className={cx('ChainedSelection', className)}>
|
205
222
|
{body && body.length ? (
|
206
223
|
body
|
207
224
|
) : (
|
208
|
-
<div className={cx('
|
225
|
+
<div className={cx('ChainedSelection-placeholder')}>
|
209
226
|
{__(placeholder)}
|
210
227
|
</div>
|
211
228
|
)}
|
@@ -216,7 +233,7 @@ export class ChainedCheckboxes extends BaseCheckboxes<
|
|
216
233
|
|
217
234
|
export default themeable(
|
218
235
|
localeable(
|
219
|
-
uncontrollable(
|
236
|
+
uncontrollable(ChainedSelection, {
|
220
237
|
value: 'onChange'
|
221
238
|
})
|
222
239
|
)
|