amis 1.4.1 → 1.4.2-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +2 -2
- package/lib/components/Badge.js +13 -7
- package/lib/components/Badge.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.d.ts +22 -21
- package/lib/components/InputBox.js +11 -3
- 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/ResultBox.js +10 -2
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/RichText.js +17 -53
- 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 +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 +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/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/download.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 +5 -0
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +8 -3
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +8 -0
- package/lib/renderers/Action.js +17 -4
- 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 +5 -1
- package/lib/renderers/DropDownButton.js +8 -6
- 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.d.ts +6 -0
- package/lib/renderers/Form/InputFile.js +30 -10
- 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 +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 +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 +62 -36
- package/lib/renderers/Nav.js +272 -96
- package/lib/renderers/Nav.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 +69 -11
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +888 -238
- package/lib/themes/ang.css +888 -238
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +888 -238
- package/lib/themes/antd.css +888 -238
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1446 -457
- package/lib/themes/cxd.css +1446 -457
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +888 -238
- package/lib/themes/dark.css +888 -238
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +1446 -457
- 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 -1
- package/schema.json +3341 -998
- package/scss/_mixins.scss +1 -3
- package/scss/_properties.scss +63 -4
- package/scss/_utilities.scss +4 -0
- package/scss/base/_common.scss +3 -0
- package/scss/base/_normalize.scss +2 -0
- package/scss/components/_anchor-nav.scss +88 -29
- package/scss/components/_button.scss +4 -5
- 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/_images.scss +2 -1
- package/scss/components/_input-box.scss +1 -0
- package/scss/components/_link.scss +6 -0
- package/scss/components/_mapping.scss +6 -0
- package/scss/components/_nav.scss +231 -223
- package/scss/components/_page.scss +5 -4
- 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 +2 -0
- package/scss/components/_result-box.scss +1 -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 +16 -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 +7 -0
- package/scss/themes/_cxd-colors.scss +56 -0
- package/scss/themes/_cxd-variables.scss +217 -89
- package/scss/themes/cxd.scss +370 -0
- package/sdk/ang-ie11.css +1117 -392
- package/sdk/ang.css +1110 -342
- package/sdk/antd-ie11.css +1105 -380
- package/sdk/antd.css +1110 -342
- package/sdk/charts.js +13 -13
- package/sdk/color-picker.js +65 -69
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +2086 -1062
- package/sdk/cxd.css +1643 -495
- package/sdk/dark-ie11.css +1117 -392
- package/sdk/dark.css +1110 -342
- 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 +20 -28
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +2086 -1062
- package/sdk/sdk.css +1643 -495
- package/sdk/sdk.js +1219 -1165
- 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 +38 -26
- 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 +11 -10
- 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/ResultBox.tsx +9 -9
- package/src/components/RichText.tsx +17 -57
- 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 +120 -0
- package/src/components/TransferPicker.tsx +91 -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/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/download.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 +5 -0
- package/src/locale/zh-CN.ts +8 -3
- package/src/renderers/Action.tsx +33 -2
- 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 +18 -13
- 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 +66 -24
- package/src/renderers/Form/InputImage.tsx +16 -5
- package/src/renderers/Form/Item.tsx +3 -2
- package/src/renderers/Form/Options.tsx +32 -7
- package/src/renderers/Form/Picker.tsx +3 -2
- 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 +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 +325 -122
- 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 +103 -11
- 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 -4
- 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/sdk.zip +0 -0
- package/src/components/ListRadios.tsx +0 -159
- package/src/components/TreeRadios.tsx +0 -202
package/src/Schema.ts
CHANGED
@@ -39,6 +39,7 @@ import {QRCodeSchema} from './renderers/QRCode';
|
|
39
39
|
import {ServiceSchema} from './renderers/Service';
|
40
40
|
import {StatusSchema} from './renderers/Status';
|
41
41
|
import {TabsSchema} from './renderers/Tabs';
|
42
|
+
import {PortletSchema} from './renderers/Portlet';
|
42
43
|
import {TasksSchema} from './renderers/Tasks';
|
43
44
|
import {VBoxSchema} from './renderers/VBox';
|
44
45
|
import {VideoSchema} from './renderers/Video';
|
@@ -109,6 +110,8 @@ import {TransferControlSchema} from './renderers/Form/Transfer';
|
|
109
110
|
import {TreeSelectControlSchema} from './renderers/Form/TreeSelect';
|
110
111
|
import {UUIDControlSchema} from './renderers/Form/UUID';
|
111
112
|
import {FormControlSchema} from './renderers/Form/Control';
|
113
|
+
import {TransferPickerControlSchema} from './renderers/Form/TransferPicker';
|
114
|
+
import {TabsTransferPickerControlSchema} from './renderers/Form/TabsTransferPicker';
|
112
115
|
|
113
116
|
// 每加个类型,这补充一下。
|
114
117
|
export type SchemaType =
|
@@ -308,9 +311,12 @@ export type SchemaType =
|
|
308
311
|
| 'multi-select'
|
309
312
|
| 'textarea'
|
310
313
|
| 'transfer'
|
314
|
+
| 'transfer-picker'
|
315
|
+
| 'tabs-transfer-picker'
|
311
316
|
| 'input-tree'
|
312
317
|
| 'tree-select'
|
313
318
|
| 'table-view'
|
319
|
+
| 'portlet'
|
314
320
|
|
315
321
|
// 原生 input 类型
|
316
322
|
| 'native-date'
|
@@ -375,6 +381,7 @@ export type SchemaObject =
|
|
375
381
|
| FormSchema
|
376
382
|
| AnchorNavSchema
|
377
383
|
| StepsSchema
|
384
|
+
| PortletSchema
|
378
385
|
|
379
386
|
// 表单项
|
380
387
|
| FormControlSchema
|
@@ -429,6 +436,8 @@ export type SchemaObject =
|
|
429
436
|
| TextControlSchema
|
430
437
|
| TextareaControlSchema
|
431
438
|
| TransferControlSchema
|
439
|
+
| TransferPickerControlSchema
|
440
|
+
| TabsTransferPickerControlSchema
|
432
441
|
| TreeControlSchema
|
433
442
|
| TreeSelectControlSchema;
|
434
443
|
|
@@ -492,6 +501,24 @@ export interface SchemaApiObject {
|
|
492
501
|
[propName: string]: any;
|
493
502
|
};
|
494
503
|
|
504
|
+
/**
|
505
|
+
* 默认数据映射中的key如果带点,或者带大括号,会转成对象比如:
|
506
|
+
*
|
507
|
+
* {
|
508
|
+
* 'a.b': '123'
|
509
|
+
* }
|
510
|
+
*
|
511
|
+
* 经过数据映射后变成
|
512
|
+
* {
|
513
|
+
* a: {
|
514
|
+
* b: '123
|
515
|
+
* }
|
516
|
+
* }
|
517
|
+
*
|
518
|
+
* 如果想要关闭此功能,请设置 convertKeyToPath 为 false
|
519
|
+
*/
|
520
|
+
convertKeyToPath?: boolean;
|
521
|
+
|
495
522
|
/**
|
496
523
|
* 用来做接口返回的数据映射。
|
497
524
|
*/
|
@@ -705,6 +732,11 @@ export interface BaseSchema {
|
|
705
732
|
* 是否显示表达式
|
706
733
|
*/
|
707
734
|
visibleOn?: SchemaExpression;
|
735
|
+
|
736
|
+
/**
|
737
|
+
* 是否使用移动端交互
|
738
|
+
*/
|
739
|
+
useMobileUI?: boolean;
|
708
740
|
}
|
709
741
|
|
710
742
|
export interface Option {
|
package/src/components/Alert.tsx
CHANGED
@@ -113,7 +113,9 @@ export class Alert extends React.Component<AlertProps, AlertState> {
|
|
113
113
|
|
114
114
|
this.setState(
|
115
115
|
{
|
116
|
-
show: false
|
116
|
+
show: false,
|
117
|
+
prompt: false,
|
118
|
+
confirm: false
|
117
119
|
},
|
118
120
|
isConfirm ? () => this._resolve(confirmed) /*this._reject()*/ : undefined
|
119
121
|
);
|
@@ -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,11 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
|
|
107
104
|
value,
|
108
105
|
disabled,
|
109
106
|
leftMode,
|
110
|
-
cellRender
|
107
|
+
cellRender,
|
108
|
+
multiple
|
111
109
|
} = this.props;
|
112
110
|
|
113
|
-
const selectdOption =
|
111
|
+
const selectdOption = BaseSelection.resolveSelected(
|
114
112
|
this.state.leftValue,
|
115
113
|
options,
|
116
114
|
(option: Option) => option.ref
|
@@ -118,36 +116,38 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
|
|
118
116
|
const __ = this.props.translate;
|
119
117
|
|
120
118
|
return (
|
121
|
-
<div className={cx('
|
122
|
-
<div className={cx('
|
119
|
+
<div className={cx('AssociatedSelection', className)}>
|
120
|
+
<div className={cx('AssociatedSelection-left')}>
|
123
121
|
{leftMode === 'tree' ? (
|
124
|
-
<
|
122
|
+
<TreeSelection
|
125
123
|
option2value={this.leftOption2Value}
|
126
124
|
options={leftOptions}
|
127
125
|
value={this.state.leftValue}
|
128
126
|
disabled={disabled}
|
129
127
|
onChange={this.handleLeftSelect}
|
130
|
-
|
128
|
+
multiple={false}
|
129
|
+
clearable={false}
|
131
130
|
/>
|
132
131
|
) : (
|
133
|
-
<
|
132
|
+
<GroupedSelecton
|
134
133
|
option2value={this.leftOption2Value}
|
135
134
|
options={leftOptions}
|
136
135
|
value={this.state.leftValue}
|
137
136
|
disabled={disabled}
|
138
137
|
onChange={this.handleLeftSelect}
|
139
|
-
|
138
|
+
multiple={false}
|
139
|
+
clearable={false}
|
140
140
|
/>
|
141
141
|
)}
|
142
142
|
</div>
|
143
|
-
<div className={cx('
|
143
|
+
<div className={cx('AssociatedSelection-right')}>
|
144
144
|
{this.state.leftValue ? (
|
145
145
|
selectdOption ? (
|
146
146
|
selectdOption.defer && !selectdOption.loaded ? (
|
147
|
-
<div className={cx('
|
147
|
+
<div className={cx('AssociatedSelection-box')}>
|
148
148
|
<div
|
149
149
|
className={cx(
|
150
|
-
'
|
150
|
+
'AssociatedSelection-reload',
|
151
151
|
selectdOption.loading ? 'is-spin' : 'is-clickable'
|
152
152
|
)}
|
153
153
|
onClick={
|
@@ -166,7 +166,7 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
|
|
166
166
|
)}
|
167
167
|
</div>
|
168
168
|
) : rightMode === 'table' ? (
|
169
|
-
<
|
169
|
+
<TableSelection
|
170
170
|
columns={columns!}
|
171
171
|
value={value}
|
172
172
|
disabled={disabled}
|
@@ -174,39 +174,43 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
|
|
174
174
|
onChange={onChange}
|
175
175
|
option2value={option2value}
|
176
176
|
cellRender={cellRender}
|
177
|
+
multiple={multiple}
|
177
178
|
/>
|
178
179
|
) : rightMode === 'tree' ? (
|
179
|
-
<
|
180
|
+
<TreeSelection
|
180
181
|
value={value}
|
181
182
|
disabled={disabled}
|
182
183
|
options={selectdOption.children || []}
|
183
184
|
onChange={onChange}
|
184
185
|
option2value={option2value}
|
186
|
+
multiple={multiple}
|
185
187
|
/>
|
186
188
|
) : rightMode === 'chained' ? (
|
187
|
-
<
|
189
|
+
<ChainedSelection
|
188
190
|
value={value}
|
189
191
|
disabled={disabled}
|
190
192
|
options={selectdOption.children || []}
|
191
193
|
onChange={onChange}
|
192
194
|
option2value={option2value}
|
195
|
+
multiple={multiple}
|
193
196
|
/>
|
194
197
|
) : (
|
195
|
-
<
|
198
|
+
<GroupedSelection
|
196
199
|
value={value}
|
197
200
|
disabled={disabled}
|
198
201
|
options={selectdOption.children || []}
|
199
202
|
onChange={onChange}
|
200
203
|
option2value={option2value}
|
204
|
+
multiple={multiple}
|
201
205
|
/>
|
202
206
|
)
|
203
207
|
) : (
|
204
|
-
<div className={cx('
|
208
|
+
<div className={cx('AssociatedSelection-box')}>
|
205
209
|
{__('Transfer.configError')}
|
206
210
|
</div>
|
207
211
|
)
|
208
212
|
) : (
|
209
|
-
<div className={cx('
|
213
|
+
<div className={cx('AssociatedSelection-box')}>
|
210
214
|
{__('Transfer.selectFromLeft')}
|
211
215
|
</div>
|
212
216
|
)}
|
@@ -218,7 +222,7 @@ export class AssociatedCheckboxes extends BaseCheckboxes<
|
|
218
222
|
|
219
223
|
export default themeable(
|
220
224
|
localeable(
|
221
|
-
uncontrollable(
|
225
|
+
uncontrollable(AssociatedSelection, {
|
222
226
|
value: 'onChange'
|
223
227
|
})
|
224
228
|
)
|
package/src/components/Badge.tsx
CHANGED
@@ -6,14 +6,14 @@ 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
|
/**
|
13
13
|
* Badge 角标。
|
14
14
|
* 文档:https://baidu.gitee.io/amis/docs/components/badge
|
15
15
|
*/
|
16
|
-
export interface BadgeSchema extends BaseSchema {
|
16
|
+
export interface BadgeSchema extends Omit<BaseSchema, 'type'> {
|
17
17
|
/**
|
18
18
|
* 文本内容
|
19
19
|
*/
|
@@ -64,7 +64,7 @@ export interface BadgeSchema extends BaseSchema {
|
|
64
64
|
/**
|
65
65
|
* 提示类型
|
66
66
|
*/
|
67
|
-
level?: 'info' | 'warning' | 'success' | 'danger';
|
67
|
+
level?: 'info' | 'warning' | 'success' | 'danger' | SchemaExpression;
|
68
68
|
}
|
69
69
|
|
70
70
|
export interface BadgeProps {
|
@@ -88,13 +88,14 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
88
88
|
sizeStyle: any,
|
89
89
|
animationElement: any
|
90
90
|
) {
|
91
|
-
const {classnames: cx, badge} = this.props;
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
}
|
97
|
-
|
91
|
+
const {classnames: cx, badge, data} = this.props;
|
92
|
+
let {mode = 'dot', level = 'danger', style} = badge as BadgeSchema;
|
93
|
+
|
94
|
+
if (typeof level === 'string' && level[0] === '$') {
|
95
|
+
level = resolveVariableAndFilter(level, data);
|
96
|
+
}
|
97
|
+
|
98
|
+
switch (mode) {
|
98
99
|
case 'dot':
|
99
100
|
return (
|
100
101
|
<span
|
@@ -107,7 +108,11 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
107
108
|
case 'text':
|
108
109
|
return (
|
109
110
|
<span
|
110
|
-
className={cx(
|
111
|
+
className={cx(
|
112
|
+
'Badge-text',
|
113
|
+
`Badge--${position}`,
|
114
|
+
`Badge--${level}`
|
115
|
+
)}
|
111
116
|
style={{...offsetStyle, ...sizeStyle, ...style}}
|
112
117
|
>
|
113
118
|
{text}
|
@@ -122,14 +127,17 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
122
127
|
style={{width: outSize, height: outSize}}
|
123
128
|
>
|
124
129
|
<span
|
125
|
-
className={cx(
|
130
|
+
className={cx(
|
131
|
+
'Badge-ribbon',
|
132
|
+
`Badge-ribbon--${position}`,
|
133
|
+
`Badge--${level}`
|
134
|
+
)}
|
126
135
|
style={{...sizeStyle, ...style}}
|
127
136
|
>
|
128
137
|
{text}
|
129
138
|
{animationElement}
|
130
139
|
</span>
|
131
140
|
</div>
|
132
|
-
|
133
141
|
);
|
134
142
|
default:
|
135
143
|
return null;
|
@@ -150,6 +158,7 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
150
158
|
let {
|
151
159
|
mode = 'dot',
|
152
160
|
text,
|
161
|
+
level,
|
153
162
|
size,
|
154
163
|
style,
|
155
164
|
offset,
|
@@ -165,14 +174,14 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
165
174
|
}
|
166
175
|
|
167
176
|
if (typeof text === 'string' && text[0] === '$') {
|
168
|
-
text =
|
177
|
+
text = resolveVariableAndFilter(text, data);
|
169
178
|
}
|
170
179
|
|
171
180
|
// 设置默认值
|
172
181
|
if (typeof size === 'undefined') {
|
173
182
|
if (mode === 'dot') {
|
174
183
|
size = 6;
|
175
|
-
} else if (mode === 'ribbon'){
|
184
|
+
} else if (mode === 'ribbon') {
|
176
185
|
size = 12;
|
177
186
|
} else {
|
178
187
|
size = 16;
|
@@ -189,7 +198,9 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
189
198
|
// 当text、overflowCount都为number类型时,进行封顶值处理
|
190
199
|
if (typeof text === 'number' && typeof overflowCount === 'number') {
|
191
200
|
text = (
|
192
|
-
(text as number) > (overflowCount as number)
|
201
|
+
(text as number) > (overflowCount as number)
|
202
|
+
? `${overflowCount}+`
|
203
|
+
: text
|
193
204
|
) as string | number;
|
194
205
|
}
|
195
206
|
|
@@ -217,7 +228,7 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
217
228
|
const left = `calc(50% + ${parseInt(offset[0] as string, 10)}px)`;
|
218
229
|
const right = `calc(-50% + ${parseInt(offset[1] as string, 10)}px)`;
|
219
230
|
offsetStyle = {
|
220
|
-
transform: `translate(${left}, ${right})
|
231
|
+
transform: `translate(${left}, ${right})`
|
221
232
|
};
|
222
233
|
}
|
223
234
|
|
@@ -245,15 +256,16 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
245
256
|
return (
|
246
257
|
<div className={cx('Badge', className)}>
|
247
258
|
{children}
|
248
|
-
{isDisplay
|
249
|
-
this.renderBadge(
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
259
|
+
{isDisplay
|
260
|
+
? this.renderBadge(
|
261
|
+
text,
|
262
|
+
size,
|
263
|
+
position,
|
264
|
+
offsetStyle,
|
265
|
+
sizeStyle,
|
266
|
+
animationElement
|
267
|
+
)
|
268
|
+
: null}
|
257
269
|
</div>
|
258
270
|
);
|
259
271
|
}
|
@@ -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
|
)
|