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/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
|
*/
|
@@ -27,13 +27,13 @@ export interface BadgeSchema extends BaseSchema {
|
|
27
27
|
/**
|
28
28
|
* 角标类型
|
29
29
|
*/
|
30
|
-
mode?: 'text' | 'dot';
|
30
|
+
mode?: 'text' | 'dot' | 'ribbon';
|
31
31
|
|
32
32
|
/**
|
33
33
|
* 角标位置,优先级大于position
|
34
34
|
*/
|
35
35
|
offset?: [number | string, number | string];
|
36
|
-
|
36
|
+
|
37
37
|
/**
|
38
38
|
* 角标位置
|
39
39
|
*/
|
@@ -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 {
|
@@ -80,6 +80,70 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
80
80
|
super(props);
|
81
81
|
}
|
82
82
|
|
83
|
+
renderBadge(
|
84
|
+
text: any,
|
85
|
+
size: number,
|
86
|
+
position: any,
|
87
|
+
offsetStyle: any,
|
88
|
+
sizeStyle: any,
|
89
|
+
animationElement: any
|
90
|
+
) {
|
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) {
|
99
|
+
case 'dot':
|
100
|
+
return (
|
101
|
+
<span
|
102
|
+
className={cx('Badge-dot', `Badge--${position}`, `Badge--${level}`)}
|
103
|
+
style={{...offsetStyle, ...sizeStyle, ...style}}
|
104
|
+
>
|
105
|
+
{animationElement}
|
106
|
+
</span>
|
107
|
+
);
|
108
|
+
case 'text':
|
109
|
+
return (
|
110
|
+
<span
|
111
|
+
className={cx(
|
112
|
+
'Badge-text',
|
113
|
+
`Badge--${position}`,
|
114
|
+
`Badge--${level}`
|
115
|
+
)}
|
116
|
+
style={{...offsetStyle, ...sizeStyle, ...style}}
|
117
|
+
>
|
118
|
+
{text}
|
119
|
+
{animationElement}
|
120
|
+
</span>
|
121
|
+
);
|
122
|
+
case 'ribbon':
|
123
|
+
const outSize = size * Math.sqrt(2) + 5;
|
124
|
+
return (
|
125
|
+
<div
|
126
|
+
className={cx('Badge-ribbon-out', `Badge-ribbon-out--${position}`)}
|
127
|
+
style={{width: outSize, height: outSize}}
|
128
|
+
>
|
129
|
+
<span
|
130
|
+
className={cx(
|
131
|
+
'Badge-ribbon',
|
132
|
+
`Badge-ribbon--${position}`,
|
133
|
+
`Badge--${level}`
|
134
|
+
)}
|
135
|
+
style={{...sizeStyle, ...style}}
|
136
|
+
>
|
137
|
+
{text}
|
138
|
+
{animationElement}
|
139
|
+
</span>
|
140
|
+
</div>
|
141
|
+
);
|
142
|
+
default:
|
143
|
+
return null;
|
144
|
+
}
|
145
|
+
}
|
146
|
+
|
83
147
|
render() {
|
84
148
|
const badge = this.props.badge;
|
85
149
|
if (!badge) {
|
@@ -94,6 +158,7 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
94
158
|
let {
|
95
159
|
mode = 'dot',
|
96
160
|
text,
|
161
|
+
level,
|
97
162
|
size,
|
98
163
|
style,
|
99
164
|
offset,
|
@@ -101,8 +166,7 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
101
166
|
overflowCount = 99,
|
102
167
|
visibleOn,
|
103
168
|
className,
|
104
|
-
animation
|
105
|
-
level = 'danger'
|
169
|
+
animation
|
106
170
|
} = badge;
|
107
171
|
|
108
172
|
if (visibleOn) {
|
@@ -110,13 +174,15 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
110
174
|
}
|
111
175
|
|
112
176
|
if (typeof text === 'string' && text[0] === '$') {
|
113
|
-
text =
|
177
|
+
text = resolveVariableAndFilter(text, data);
|
114
178
|
}
|
115
179
|
|
116
180
|
// 设置默认值
|
117
181
|
if (typeof size === 'undefined') {
|
118
182
|
if (mode === 'dot') {
|
119
183
|
size = 6;
|
184
|
+
} else if (mode === 'ribbon') {
|
185
|
+
size = 12;
|
120
186
|
} else {
|
121
187
|
size = 16;
|
122
188
|
}
|
@@ -132,7 +198,9 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
132
198
|
// 当text、overflowCount都为number类型时,进行封顶值处理
|
133
199
|
if (typeof text === 'number' && typeof overflowCount === 'number') {
|
134
200
|
text = (
|
135
|
-
(text as number) > (overflowCount as number)
|
201
|
+
(text as number) > (overflowCount as number)
|
202
|
+
? `${overflowCount}+`
|
203
|
+
: text
|
136
204
|
) as string | number;
|
137
205
|
}
|
138
206
|
|
@@ -145,6 +213,14 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
145
213
|
sizeStyle = {width: size, height: size};
|
146
214
|
}
|
147
215
|
|
216
|
+
if (mode === 'ribbon') {
|
217
|
+
sizeStyle = {
|
218
|
+
height: size,
|
219
|
+
lineHeight: size + 'px',
|
220
|
+
fontSize: size
|
221
|
+
};
|
222
|
+
}
|
223
|
+
|
148
224
|
let offsetStyle = {};
|
149
225
|
// 如果设置了offset属性,offset在position为'top-right'的基础上进行translate定位
|
150
226
|
if (offset && offset.length) {
|
@@ -152,7 +228,7 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
152
228
|
const left = `calc(50% + ${parseInt(offset[0] as string, 10)}px)`;
|
153
229
|
const right = `calc(-50% + ${parseInt(offset[1] as string, 10)}px)`;
|
154
230
|
offsetStyle = {
|
155
|
-
transform: `translate(${left}, ${right})
|
231
|
+
transform: `translate(${left}, ${right})`
|
156
232
|
};
|
157
233
|
}
|
158
234
|
|
@@ -180,24 +256,16 @@ export class Badge extends React.Component<BadgeProps, object> {
|
|
180
256
|
return (
|
181
257
|
<div className={cx('Badge', className)}>
|
182
258
|
{children}
|
183
|
-
{isDisplay
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
className={cx('Badge-text', `Badge--${position}`, `Badge--${level}`)}
|
194
|
-
style={{...offsetStyle, ...sizeStyle, ...style}}
|
195
|
-
>
|
196
|
-
{text}
|
197
|
-
{animationElement}
|
198
|
-
</span>
|
199
|
-
)
|
200
|
-
) : null}
|
259
|
+
{isDisplay
|
260
|
+
? this.renderBadge(
|
261
|
+
text,
|
262
|
+
size,
|
263
|
+
position,
|
264
|
+
offsetStyle,
|
265
|
+
sizeStyle,
|
266
|
+
animationElement
|
267
|
+
)
|
268
|
+
: null}
|
201
269
|
</div>
|
202
270
|
);
|
203
271
|
}
|
@@ -7,7 +7,7 @@ import React from 'react';
|
|
7
7
|
import TooltipWrapper, {TooltipObject, Trigger} from './TooltipWrapper';
|
8
8
|
import {pickEventsProps} from '../utils/helper';
|
9
9
|
import {ClassNamesFn, themeable} from '../theme';
|
10
|
-
|
10
|
+
import {Icon} from './icons';
|
11
11
|
interface ButtonProps extends React.DOMAttributes<HTMLButtonElement> {
|
12
12
|
id?: string;
|
13
13
|
className?: string;
|
@@ -16,7 +16,7 @@ interface ButtonProps extends React.DOMAttributes<HTMLButtonElement> {
|
|
16
16
|
type: 'button' | 'reset' | 'submit';
|
17
17
|
level: string; // 'link' | 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger' | 'light' | 'dark' | 'default';
|
18
18
|
tooltip?: string | TooltipObject;
|
19
|
-
|
19
|
+
tooltipPlacement: 'top' | 'right' | 'bottom' | 'left';
|
20
20
|
tooltipContainer?: any;
|
21
21
|
tooltipTrigger: Trigger | Array<Trigger>;
|
22
22
|
tooltipRootClose: boolean;
|
@@ -29,6 +29,8 @@ interface ButtonProps extends React.DOMAttributes<HTMLButtonElement> {
|
|
29
29
|
classnames: ClassNamesFn;
|
30
30
|
componentClass: React.ReactType;
|
31
31
|
overrideClassName?: boolean;
|
32
|
+
loading?: boolean;
|
33
|
+
loadingClassName?: string;
|
32
34
|
}
|
33
35
|
|
34
36
|
export class Button extends React.Component<ButtonProps> {
|
@@ -37,14 +39,14 @@ export class Button extends React.Component<ButtonProps> {
|
|
37
39
|
| 'componentClass'
|
38
40
|
| 'level'
|
39
41
|
| 'type'
|
40
|
-
| '
|
42
|
+
| 'tooltipPlacement'
|
41
43
|
| 'tooltipTrigger'
|
42
44
|
| 'tooltipRootClose'
|
43
45
|
> = {
|
44
46
|
componentClass: 'button',
|
45
47
|
level: 'default',
|
46
48
|
type: 'button',
|
47
|
-
|
49
|
+
tooltipPlacement: 'top',
|
48
50
|
tooltipTrigger: ['hover', 'focus'],
|
49
51
|
tooltipRootClose: false
|
50
52
|
};
|
@@ -64,13 +66,15 @@ export class Button extends React.Component<ButtonProps> {
|
|
64
66
|
active,
|
65
67
|
iconOnly,
|
66
68
|
href,
|
69
|
+
loading,
|
70
|
+
loadingClassName,
|
67
71
|
overrideClassName,
|
68
72
|
...rest
|
69
73
|
} = this.props;
|
70
74
|
|
71
75
|
if (href) {
|
72
76
|
Comp = 'a';
|
73
|
-
} else if (Comp === 'button' && disabled) {
|
77
|
+
} else if ((Comp === 'button' && disabled) || loading) {
|
74
78
|
Comp = 'div';
|
75
79
|
}
|
76
80
|
|
@@ -95,6 +99,18 @@ export class Button extends React.Component<ButtonProps> {
|
|
95
99
|
)}
|
96
100
|
disabled={disabled}
|
97
101
|
>
|
102
|
+
{loading && !disabled ? (
|
103
|
+
<span
|
104
|
+
className={cx(
|
105
|
+
overrideClassName
|
106
|
+
? ''
|
107
|
+
: {[`Button--loading Button--loading--${level}`]: level},
|
108
|
+
loadingClassName
|
109
|
+
)}
|
110
|
+
>
|
111
|
+
<Icon icon="loading-outline" className="icon" />
|
112
|
+
</span>
|
113
|
+
) : null}
|
98
114
|
{children}
|
99
115
|
</Comp>
|
100
116
|
);
|
@@ -103,7 +119,7 @@ export class Button extends React.Component<ButtonProps> {
|
|
103
119
|
render() {
|
104
120
|
const {
|
105
121
|
tooltip,
|
106
|
-
|
122
|
+
tooltipPlacement,
|
107
123
|
tooltipContainer,
|
108
124
|
tooltipTrigger,
|
109
125
|
tooltipRootClose,
|
@@ -114,7 +130,7 @@ export class Button extends React.Component<ButtonProps> {
|
|
114
130
|
|
115
131
|
return (
|
116
132
|
<TooltipWrapper
|
117
|
-
placement={
|
133
|
+
placement={tooltipPlacement}
|
118
134
|
tooltip={disabled ? disabledTip : tooltip}
|
119
135
|
container={tooltipContainer}
|
120
136
|
trigger={tooltipTrigger}
|