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
@@ -1,116 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.TreeRadios = void 0;
|
4
|
-
var tslib_1 = require("tslib");
|
5
|
-
var theme_1 = require("../theme");
|
6
|
-
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
7
|
-
var uncontrollable_1 = require("uncontrollable");
|
8
|
-
var Checkbox_1 = (0, tslib_1.__importDefault)(require("./Checkbox"));
|
9
|
-
var helper_1 = require("../utils/helper");
|
10
|
-
var Spinner_1 = (0, tslib_1.__importDefault)(require("./Spinner"));
|
11
|
-
var ListRadios_1 = require("./ListRadios");
|
12
|
-
var locale_1 = require("../locale");
|
13
|
-
var icons_1 = require("./icons");
|
14
|
-
var TreeRadios = /** @class */ (function (_super) {
|
15
|
-
(0, tslib_1.__extends)(TreeRadios, _super);
|
16
|
-
function TreeRadios() {
|
17
|
-
var _this = _super !== null && _super.apply(this, arguments) || this;
|
18
|
-
_this.state = {
|
19
|
-
expanded: []
|
20
|
-
};
|
21
|
-
return _this;
|
22
|
-
}
|
23
|
-
TreeRadios.prototype.componentDidMount = function () {
|
24
|
-
this.syncExpanded();
|
25
|
-
};
|
26
|
-
TreeRadios.prototype.componentDidUpdate = function (prevProps) {
|
27
|
-
var props = this.props;
|
28
|
-
if (!this.state.expanded.length &&
|
29
|
-
(props.expand !== prevProps.expand || props.options !== prevProps.options)) {
|
30
|
-
this.syncExpanded();
|
31
|
-
}
|
32
|
-
};
|
33
|
-
TreeRadios.prototype.syncExpanded = function () {
|
34
|
-
var options = this.props.options;
|
35
|
-
var mode = this.props.expand;
|
36
|
-
var expanded = [];
|
37
|
-
if (!Array.isArray(options)) {
|
38
|
-
return;
|
39
|
-
}
|
40
|
-
if (mode === 'first' || mode === 'root') {
|
41
|
-
options.every(function (option, index) {
|
42
|
-
if (Array.isArray(option.children)) {
|
43
|
-
expanded.push("" + index);
|
44
|
-
return mode === 'root';
|
45
|
-
}
|
46
|
-
return true;
|
47
|
-
});
|
48
|
-
}
|
49
|
-
else if (mode === 'all') {
|
50
|
-
(0, helper_1.everyTree)(options, function (option, index, level, paths, indexes) {
|
51
|
-
if (Array.isArray(option.children)) {
|
52
|
-
expanded.push("" + indexes.concat(index).join('-'));
|
53
|
-
}
|
54
|
-
return true;
|
55
|
-
});
|
56
|
-
}
|
57
|
-
this.setState({ expanded: expanded });
|
58
|
-
};
|
59
|
-
TreeRadios.prototype.toggleCollapsed = function (option, index) {
|
60
|
-
var onDeferLoad = this.props.onDeferLoad;
|
61
|
-
var expanded = this.state.expanded.concat();
|
62
|
-
var idx = expanded.indexOf(index);
|
63
|
-
if (~idx) {
|
64
|
-
expanded.splice(idx, 1);
|
65
|
-
}
|
66
|
-
else {
|
67
|
-
expanded.push(index);
|
68
|
-
}
|
69
|
-
this.setState({
|
70
|
-
expanded: expanded
|
71
|
-
}, option.defer && onDeferLoad ? function () { return onDeferLoad(option); } : undefined);
|
72
|
-
};
|
73
|
-
TreeRadios.prototype.renderItem = function (option, index, indexes) {
|
74
|
-
var _this = this;
|
75
|
-
if (indexes === void 0) { indexes = []; }
|
76
|
-
var _a = this.props, disabled = _a.disabled, cx = _a.classnames, itemClassName = _a.itemClassName, itemRender = _a.itemRender, showRadio = _a.showRadio;
|
77
|
-
var id = indexes.join('-');
|
78
|
-
var hasChildren = Array.isArray(option.children) && option.children.length;
|
79
|
-
var checked = option === this.selected;
|
80
|
-
var expaned = !!~this.state.expanded.indexOf(id);
|
81
|
-
return (react_1.default.createElement("div", { key: index, className: cx('TreeRadios-item', disabled || option.disabled || (option.defer && option.loading)
|
82
|
-
? 'is-disabled'
|
83
|
-
: '', expaned ? 'is-expanded' : '', checked ? 'is-active' : '') },
|
84
|
-
react_1.default.createElement("div", { className: cx('TreeRadios-itemInner', itemClassName, option.className, checked ? 'is-active' : ''), onClick: function () { return _this.toggleOption(option); } },
|
85
|
-
hasChildren || option.defer ? (react_1.default.createElement("a", { onClick: function (e) {
|
86
|
-
e.stopPropagation();
|
87
|
-
_this.toggleCollapsed(option, id);
|
88
|
-
}, className: cx('Table-expandBtn', expaned ? 'is-active' : '') },
|
89
|
-
react_1.default.createElement(icons_1.Icon, { icon: "right-arrow-bold", className: "icon" }))) : null,
|
90
|
-
react_1.default.createElement("div", { className: cx('TreeRadios-itemLabel') }, itemRender(option)),
|
91
|
-
option.defer && option.loading ? react_1.default.createElement(Spinner_1.default, { show: true, size: "sm" }) : null,
|
92
|
-
(!option.defer || option.loaded) &&
|
93
|
-
option.value !== undefined &&
|
94
|
-
showRadio !== false ? (react_1.default.createElement(Checkbox_1.default, { type: "radio", size: "sm", checked: checked, disabled: disabled || option.disabled })) : null),
|
95
|
-
hasChildren ? (react_1.default.createElement("div", { className: cx('TreeRadios-sublist') }, option.children.map(function (option, key) {
|
96
|
-
return _this.renderItem(option, key, indexes.concat(key));
|
97
|
-
}))) : null));
|
98
|
-
};
|
99
|
-
TreeRadios.prototype.render = function () {
|
100
|
-
var _this = this;
|
101
|
-
var _a = this.props, value = _a.value, options = _a.options, className = _a.className, placeholder = _a.placeholder, cx = _a.classnames, option2value = _a.option2value, __ = _a.translate;
|
102
|
-
this.selected = ListRadios_1.BaseRadios.resolveSelected(value, options, option2value);
|
103
|
-
var body = [];
|
104
|
-
if (Array.isArray(options) && options.length) {
|
105
|
-
body = options.map(function (option, key) { return _this.renderItem(option, key, [key]); });
|
106
|
-
}
|
107
|
-
return (react_1.default.createElement("div", { className: cx('TreeRadios', className) }, body && body.length ? (body) : (react_1.default.createElement("div", { className: cx('TreeRadios-placeholder') }, __(placeholder)))));
|
108
|
-
};
|
109
|
-
TreeRadios.defaultProps = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, ListRadios_1.BaseRadios.defaultProps), { expand: 'first' });
|
110
|
-
return TreeRadios;
|
111
|
-
}(ListRadios_1.BaseRadios));
|
112
|
-
exports.TreeRadios = TreeRadios;
|
113
|
-
exports.default = (0, theme_1.themeable)((0, locale_1.localeable)((0, uncontrollable_1.uncontrollable)(TreeRadios, {
|
114
|
-
value: 'onChange'
|
115
|
-
})));
|
116
|
-
//# sourceMappingURL=./components/TreeRadios.js.map
|
@@ -1,13 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"version": 3,
|
3
|
-
"file": "TreeRadios.js",
|
4
|
-
"sourceRoot": "",
|
5
|
-
"sources": [
|
6
|
-
"/src/components/TreeRadios.tsx"
|
7
|
-
],
|
8
|
-
"names": [],
|
9
|
-
"mappings": "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",
|
10
|
-
"sourcesContent": [
|
11
|
-
"import {themeable} from '../theme';\nimport React from 'react';\nimport {uncontrollable} from 'uncontrollable';\nimport Checkbox from './Checkbox';\nimport {Option} from './Select';\nimport {autobind, eachTree, everyTree} from '../utils/helper';\nimport Spinner from './Spinner';\nimport {BaseRadiosProps, BaseRadios} from './ListRadios';\nimport {localeable} from '../locale';\nimport {Icon} from './icons';\n\nexport interface TreeRadiosProps extends BaseRadiosProps {\n expand: 'all' | 'first' | 'root' | 'none';\n}\n\nexport interface TreeRadiosState {\n expanded: Array<string>;\n}\n\nexport class TreeRadios extends BaseRadios<TreeRadiosProps, TreeRadiosState> {\n state: TreeRadiosState = {\n expanded: []\n };\n\n static defaultProps = {\n ...BaseRadios.defaultProps,\n expand: 'first' as 'first'\n };\n\n componentDidMount() {\n this.syncExpanded();\n }\n\n componentDidUpdate(prevProps: TreeRadiosProps) {\n const props = this.props;\n\n if (\n !this.state.expanded.length &&\n (props.expand !== prevProps.expand || props.options !== prevProps.options)\n ) {\n this.syncExpanded();\n }\n }\n\n syncExpanded() {\n const options = this.props.options;\n const mode = this.props.expand;\n const expanded: Array<string> = [];\n\n if (!Array.isArray(options)) {\n return;\n }\n\n if (mode === 'first' || mode === 'root') {\n options.every((option, index) => {\n if (Array.isArray(option.children)) {\n expanded.push(`${index}`);\n return mode === 'root';\n }\n return true;\n });\n } else if (mode === 'all') {\n everyTree(options, (option, index, level, paths, indexes) => {\n if (Array.isArray(option.children)) {\n expanded.push(`${indexes.concat(index).join('-')}`);\n }\n return true;\n });\n }\n\n this.setState({expanded});\n }\n\n toggleCollapsed(option: Option, index: string) {\n const onDeferLoad = this.props.onDeferLoad;\n const expanded = this.state.expanded.concat();\n const idx = expanded.indexOf(index);\n\n if (~idx) {\n expanded.splice(idx, 1);\n } else {\n expanded.push(index);\n }\n\n this.setState(\n {\n expanded: expanded\n },\n option.defer && onDeferLoad ? () => onDeferLoad(option) : undefined\n );\n }\n\n renderItem(option: Option, index: number, indexes: Array<number> = []) {\n const {\n disabled,\n classnames: cx,\n itemClassName,\n itemRender,\n showRadio\n } = this.props;\n const id = indexes.join('-');\n let hasChildren = Array.isArray(option.children) && option.children.length;\n\n const checked = option === this.selected;\n const expaned = !!~this.state.expanded.indexOf(id);\n\n return (\n <div\n key={index}\n className={cx(\n 'TreeRadios-item',\n disabled || option.disabled || (option.defer && option.loading)\n ? 'is-disabled'\n : '',\n expaned ? 'is-expanded' : '',\n checked ? 'is-active' : ''\n )}\n >\n <div\n className={cx(\n 'TreeRadios-itemInner',\n itemClassName,\n option.className,\n checked ? 'is-active' : ''\n )}\n onClick={() => this.toggleOption(option)}\n >\n {hasChildren || option.defer ? (\n <a\n onClick={(e: React.MouseEvent<any>) => {\n e.stopPropagation();\n this.toggleCollapsed(option, id);\n }}\n className={cx('Table-expandBtn', expaned ? 'is-active' : '')}\n >\n <Icon icon=\"right-arrow-bold\" className=\"icon\" />\n </a>\n ) : null}\n\n <div className={cx('TreeRadios-itemLabel')}>{itemRender(option)}</div>\n\n {option.defer && option.loading ? <Spinner show size=\"sm\" /> : null}\n\n {(!option.defer || option.loaded) &&\n option.value !== undefined &&\n showRadio !== false ? (\n <Checkbox\n type=\"radio\"\n size=\"sm\"\n checked={checked}\n disabled={disabled || option.disabled}\n />\n ) : null}\n </div>\n {hasChildren ? (\n <div className={cx('TreeRadios-sublist')}>\n {option.children!.map((option, key) =>\n this.renderItem(option, key, indexes.concat(key))\n )}\n </div>\n ) : null}\n </div>\n );\n }\n\n render() {\n const {\n value,\n options,\n className,\n placeholder,\n classnames: cx,\n option2value,\n translate: __\n } = this.props;\n\n this.selected = BaseRadios.resolveSelected(value, options, option2value);\n let body: Array<React.ReactNode> = [];\n\n if (Array.isArray(options) && options.length) {\n body = options.map((option, key) => this.renderItem(option, key, [key]));\n }\n\n return (\n <div className={cx('TreeRadios', className)}>\n {body && body.length ? (\n body\n ) : (\n <div className={cx('TreeRadios-placeholder')}>{__(placeholder)}</div>\n )}\n </div>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(TreeRadios, {\n value: 'onChange'\n })\n )\n);\n"
|
12
|
-
]
|
13
|
-
}
|
@@ -1,159 +0,0 @@
|
|
1
|
-
import {BaseCheckboxes} from './Checkboxes';
|
2
|
-
import {themeable, ThemeProps} from '../theme';
|
3
|
-
import React from 'react';
|
4
|
-
import {uncontrollable} from 'uncontrollable';
|
5
|
-
import Checkbox from './Checkbox';
|
6
|
-
import {Option, Options} from './Select';
|
7
|
-
import {findTree, autobind} from '../utils/helper';
|
8
|
-
import isEqual from 'lodash/isEqual';
|
9
|
-
import {LocaleProps, localeable} from '../locale';
|
10
|
-
|
11
|
-
export interface BaseRadiosProps extends ThemeProps, LocaleProps {
|
12
|
-
options: Options;
|
13
|
-
className?: string;
|
14
|
-
placeholder: string;
|
15
|
-
value?: any;
|
16
|
-
onChange?: (value: any) => void;
|
17
|
-
onDeferLoad?: (option: Option) => void;
|
18
|
-
option2value?: (option: Option) => any;
|
19
|
-
itemClassName?: string;
|
20
|
-
itemRender: (option: Option) => JSX.Element;
|
21
|
-
disabled?: boolean;
|
22
|
-
clearable?: boolean;
|
23
|
-
showRadio?: boolean;
|
24
|
-
onClick?: (e: React.MouseEvent) => void;
|
25
|
-
}
|
26
|
-
|
27
|
-
export class BaseRadios<
|
28
|
-
T extends BaseRadiosProps = BaseRadiosProps,
|
29
|
-
S = {}
|
30
|
-
> extends React.Component<T, S> {
|
31
|
-
selected: Option | undefined | null;
|
32
|
-
|
33
|
-
static defaultProps = {
|
34
|
-
placeholder: 'placeholder.noOption',
|
35
|
-
itemRender: (option: Option) => <span>{option.label}</span>
|
36
|
-
};
|
37
|
-
static resolveSelected(
|
38
|
-
value: any,
|
39
|
-
options: Options,
|
40
|
-
option2value: (option: Option) => any = (option: Option) => option
|
41
|
-
) {
|
42
|
-
return findTree(options, option => isEqual(option2value(option), value));
|
43
|
-
}
|
44
|
-
|
45
|
-
@autobind
|
46
|
-
toggleOption(option: Option) {
|
47
|
-
const {onChange, clearable, value, options, option2value} = this.props;
|
48
|
-
|
49
|
-
let newValue: Option | null = option;
|
50
|
-
|
51
|
-
if (clearable) {
|
52
|
-
const prevSelected = BaseRadios.resolveSelected(
|
53
|
-
value,
|
54
|
-
options,
|
55
|
-
option2value
|
56
|
-
);
|
57
|
-
|
58
|
-
if (prevSelected) {
|
59
|
-
newValue = null;
|
60
|
-
}
|
61
|
-
}
|
62
|
-
|
63
|
-
onChange?.(newValue && option2value ? option2value(newValue) : newValue);
|
64
|
-
}
|
65
|
-
|
66
|
-
renderOption(option: Option, index: number) {
|
67
|
-
const {
|
68
|
-
disabled,
|
69
|
-
classnames: cx,
|
70
|
-
itemClassName,
|
71
|
-
itemRender,
|
72
|
-
showRadio
|
73
|
-
} = this.props;
|
74
|
-
const selected = this.selected;
|
75
|
-
|
76
|
-
if (Array.isArray(option.children)) {
|
77
|
-
return (
|
78
|
-
<div key={index} className={cx('ListRadios-group', option.className)}>
|
79
|
-
<div className={cx('ListRadios-itemLabel')}>{itemRender(option)}</div>
|
80
|
-
|
81
|
-
<div className={cx('ListRadios-items', option.className)}>
|
82
|
-
{option.children.map((child, index) =>
|
83
|
-
this.renderOption(child, index)
|
84
|
-
)}
|
85
|
-
</div>
|
86
|
-
</div>
|
87
|
-
);
|
88
|
-
}
|
89
|
-
|
90
|
-
return (
|
91
|
-
<div
|
92
|
-
key={index}
|
93
|
-
className={cx(
|
94
|
-
'ListRadios-item',
|
95
|
-
itemClassName,
|
96
|
-
option.className,
|
97
|
-
disabled || option.disabled ? 'is-disabled' : '',
|
98
|
-
selected === option ? 'is-active' : ''
|
99
|
-
)}
|
100
|
-
onClick={() => this.toggleOption(option)}
|
101
|
-
>
|
102
|
-
<div className={cx('ListRadios-itemLabel')}>{itemRender(option)}</div>
|
103
|
-
|
104
|
-
{showRadio !== false ? (
|
105
|
-
<Checkbox
|
106
|
-
type="radio"
|
107
|
-
size="sm"
|
108
|
-
checked={selected === option}
|
109
|
-
disabled={disabled || option.disabled}
|
110
|
-
/>
|
111
|
-
) : null}
|
112
|
-
</div>
|
113
|
-
);
|
114
|
-
}
|
115
|
-
|
116
|
-
render() {
|
117
|
-
const {
|
118
|
-
value,
|
119
|
-
options,
|
120
|
-
className,
|
121
|
-
placeholder,
|
122
|
-
classnames: cx,
|
123
|
-
option2value,
|
124
|
-
onClick
|
125
|
-
} = this.props;
|
126
|
-
const __ = this.props.translate;
|
127
|
-
|
128
|
-
this.selected = BaseRadios.resolveSelected(value, options, option2value);
|
129
|
-
let body: Array<React.ReactNode> = [];
|
130
|
-
|
131
|
-
if (Array.isArray(options) && options.length) {
|
132
|
-
body = options.map((option, key) => this.renderOption(option, key));
|
133
|
-
}
|
134
|
-
|
135
|
-
return (
|
136
|
-
<div className={cx('ListRadios', className)} onClick={onClick}>
|
137
|
-
{body && body.length ? (
|
138
|
-
body
|
139
|
-
) : (
|
140
|
-
<div className={cx('ListRadios-placeholder')}>{__(placeholder)}</div>
|
141
|
-
)}
|
142
|
-
</div>
|
143
|
-
);
|
144
|
-
}
|
145
|
-
}
|
146
|
-
|
147
|
-
export class ListRadios extends BaseRadios {}
|
148
|
-
|
149
|
-
const themedListRadios = themeable(
|
150
|
-
localeable(
|
151
|
-
uncontrollable(ListRadios, {
|
152
|
-
value: 'onChange'
|
153
|
-
})
|
154
|
-
)
|
155
|
-
);
|
156
|
-
|
157
|
-
themedListRadios.resolveSelected = BaseRadios.resolveSelected;
|
158
|
-
|
159
|
-
export default themedListRadios;
|
@@ -1,202 +0,0 @@
|
|
1
|
-
import {themeable} from '../theme';
|
2
|
-
import React from 'react';
|
3
|
-
import {uncontrollable} from 'uncontrollable';
|
4
|
-
import Checkbox from './Checkbox';
|
5
|
-
import {Option} from './Select';
|
6
|
-
import {autobind, eachTree, everyTree} from '../utils/helper';
|
7
|
-
import Spinner from './Spinner';
|
8
|
-
import {BaseRadiosProps, BaseRadios} from './ListRadios';
|
9
|
-
import {localeable} from '../locale';
|
10
|
-
import {Icon} from './icons';
|
11
|
-
|
12
|
-
export interface TreeRadiosProps extends BaseRadiosProps {
|
13
|
-
expand: 'all' | 'first' | 'root' | 'none';
|
14
|
-
}
|
15
|
-
|
16
|
-
export interface TreeRadiosState {
|
17
|
-
expanded: Array<string>;
|
18
|
-
}
|
19
|
-
|
20
|
-
export class TreeRadios extends BaseRadios<TreeRadiosProps, TreeRadiosState> {
|
21
|
-
state: TreeRadiosState = {
|
22
|
-
expanded: []
|
23
|
-
};
|
24
|
-
|
25
|
-
static defaultProps = {
|
26
|
-
...BaseRadios.defaultProps,
|
27
|
-
expand: 'first' as 'first'
|
28
|
-
};
|
29
|
-
|
30
|
-
componentDidMount() {
|
31
|
-
this.syncExpanded();
|
32
|
-
}
|
33
|
-
|
34
|
-
componentDidUpdate(prevProps: TreeRadiosProps) {
|
35
|
-
const props = this.props;
|
36
|
-
|
37
|
-
if (
|
38
|
-
!this.state.expanded.length &&
|
39
|
-
(props.expand !== prevProps.expand || props.options !== prevProps.options)
|
40
|
-
) {
|
41
|
-
this.syncExpanded();
|
42
|
-
}
|
43
|
-
}
|
44
|
-
|
45
|
-
syncExpanded() {
|
46
|
-
const options = this.props.options;
|
47
|
-
const mode = this.props.expand;
|
48
|
-
const expanded: Array<string> = [];
|
49
|
-
|
50
|
-
if (!Array.isArray(options)) {
|
51
|
-
return;
|
52
|
-
}
|
53
|
-
|
54
|
-
if (mode === 'first' || mode === 'root') {
|
55
|
-
options.every((option, index) => {
|
56
|
-
if (Array.isArray(option.children)) {
|
57
|
-
expanded.push(`${index}`);
|
58
|
-
return mode === 'root';
|
59
|
-
}
|
60
|
-
return true;
|
61
|
-
});
|
62
|
-
} else if (mode === 'all') {
|
63
|
-
everyTree(options, (option, index, level, paths, indexes) => {
|
64
|
-
if (Array.isArray(option.children)) {
|
65
|
-
expanded.push(`${indexes.concat(index).join('-')}`);
|
66
|
-
}
|
67
|
-
return true;
|
68
|
-
});
|
69
|
-
}
|
70
|
-
|
71
|
-
this.setState({expanded});
|
72
|
-
}
|
73
|
-
|
74
|
-
toggleCollapsed(option: Option, index: string) {
|
75
|
-
const onDeferLoad = this.props.onDeferLoad;
|
76
|
-
const expanded = this.state.expanded.concat();
|
77
|
-
const idx = expanded.indexOf(index);
|
78
|
-
|
79
|
-
if (~idx) {
|
80
|
-
expanded.splice(idx, 1);
|
81
|
-
} else {
|
82
|
-
expanded.push(index);
|
83
|
-
}
|
84
|
-
|
85
|
-
this.setState(
|
86
|
-
{
|
87
|
-
expanded: expanded
|
88
|
-
},
|
89
|
-
option.defer && onDeferLoad ? () => onDeferLoad(option) : undefined
|
90
|
-
);
|
91
|
-
}
|
92
|
-
|
93
|
-
renderItem(option: Option, index: number, indexes: Array<number> = []) {
|
94
|
-
const {
|
95
|
-
disabled,
|
96
|
-
classnames: cx,
|
97
|
-
itemClassName,
|
98
|
-
itemRender,
|
99
|
-
showRadio
|
100
|
-
} = this.props;
|
101
|
-
const id = indexes.join('-');
|
102
|
-
let hasChildren = Array.isArray(option.children) && option.children.length;
|
103
|
-
|
104
|
-
const checked = option === this.selected;
|
105
|
-
const expaned = !!~this.state.expanded.indexOf(id);
|
106
|
-
|
107
|
-
return (
|
108
|
-
<div
|
109
|
-
key={index}
|
110
|
-
className={cx(
|
111
|
-
'TreeRadios-item',
|
112
|
-
disabled || option.disabled || (option.defer && option.loading)
|
113
|
-
? 'is-disabled'
|
114
|
-
: '',
|
115
|
-
expaned ? 'is-expanded' : '',
|
116
|
-
checked ? 'is-active' : ''
|
117
|
-
)}
|
118
|
-
>
|
119
|
-
<div
|
120
|
-
className={cx(
|
121
|
-
'TreeRadios-itemInner',
|
122
|
-
itemClassName,
|
123
|
-
option.className,
|
124
|
-
checked ? 'is-active' : ''
|
125
|
-
)}
|
126
|
-
onClick={() => this.toggleOption(option)}
|
127
|
-
>
|
128
|
-
{hasChildren || option.defer ? (
|
129
|
-
<a
|
130
|
-
onClick={(e: React.MouseEvent<any>) => {
|
131
|
-
e.stopPropagation();
|
132
|
-
this.toggleCollapsed(option, id);
|
133
|
-
}}
|
134
|
-
className={cx('Table-expandBtn', expaned ? 'is-active' : '')}
|
135
|
-
>
|
136
|
-
<Icon icon="right-arrow-bold" className="icon" />
|
137
|
-
</a>
|
138
|
-
) : null}
|
139
|
-
|
140
|
-
<div className={cx('TreeRadios-itemLabel')}>{itemRender(option)}</div>
|
141
|
-
|
142
|
-
{option.defer && option.loading ? <Spinner show size="sm" /> : null}
|
143
|
-
|
144
|
-
{(!option.defer || option.loaded) &&
|
145
|
-
option.value !== undefined &&
|
146
|
-
showRadio !== false ? (
|
147
|
-
<Checkbox
|
148
|
-
type="radio"
|
149
|
-
size="sm"
|
150
|
-
checked={checked}
|
151
|
-
disabled={disabled || option.disabled}
|
152
|
-
/>
|
153
|
-
) : null}
|
154
|
-
</div>
|
155
|
-
{hasChildren ? (
|
156
|
-
<div className={cx('TreeRadios-sublist')}>
|
157
|
-
{option.children!.map((option, key) =>
|
158
|
-
this.renderItem(option, key, indexes.concat(key))
|
159
|
-
)}
|
160
|
-
</div>
|
161
|
-
) : null}
|
162
|
-
</div>
|
163
|
-
);
|
164
|
-
}
|
165
|
-
|
166
|
-
render() {
|
167
|
-
const {
|
168
|
-
value,
|
169
|
-
options,
|
170
|
-
className,
|
171
|
-
placeholder,
|
172
|
-
classnames: cx,
|
173
|
-
option2value,
|
174
|
-
translate: __
|
175
|
-
} = this.props;
|
176
|
-
|
177
|
-
this.selected = BaseRadios.resolveSelected(value, options, option2value);
|
178
|
-
let body: Array<React.ReactNode> = [];
|
179
|
-
|
180
|
-
if (Array.isArray(options) && options.length) {
|
181
|
-
body = options.map((option, key) => this.renderItem(option, key, [key]));
|
182
|
-
}
|
183
|
-
|
184
|
-
return (
|
185
|
-
<div className={cx('TreeRadios', className)}>
|
186
|
-
{body && body.length ? (
|
187
|
-
body
|
188
|
-
) : (
|
189
|
-
<div className={cx('TreeRadios-placeholder')}>{__(placeholder)}</div>
|
190
|
-
)}
|
191
|
-
</div>
|
192
|
-
);
|
193
|
-
}
|
194
|
-
}
|
195
|
-
|
196
|
-
export default themeable(
|
197
|
-
localeable(
|
198
|
-
uncontrollable(TreeRadios, {
|
199
|
-
value: 'onChange'
|
200
|
-
})
|
201
|
-
)
|
202
|
-
);
|