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
@@ -0,0 +1,123 @@
|
|
1
|
+
import {
|
2
|
+
OptionsControlProps,
|
3
|
+
OptionsControl,
|
4
|
+
FormOptionsControl
|
5
|
+
} from './Options';
|
6
|
+
import React from 'react';
|
7
|
+
import {Api} from '../../types';
|
8
|
+
import Spinner from '../../components/Spinner';
|
9
|
+
import {BaseTransferRenderer} from './Transfer';
|
10
|
+
import TabsTransfer from '../../components/TabsTransfer';
|
11
|
+
import {SchemaApi} from '../../Schema';
|
12
|
+
import TransferPicker from '../../components/TransferPicker';
|
13
|
+
import TabsTransferPicker from '../../components/TabsTransferPicker';
|
14
|
+
|
15
|
+
/**
|
16
|
+
* TabsTransferPicker 穿梭器的弹框形态
|
17
|
+
* 文档:https://baidu.gitee.io/amis/docs/components/form/tabs-transfer-picker
|
18
|
+
*/
|
19
|
+
export interface TabsTransferPickerControlSchema extends FormOptionsControl {
|
20
|
+
type: 'tabs-transfer-picker';
|
21
|
+
|
22
|
+
/**
|
23
|
+
* 是否显示剪头
|
24
|
+
*/
|
25
|
+
showArrow?: boolean;
|
26
|
+
|
27
|
+
/**
|
28
|
+
* 可排序?
|
29
|
+
*/
|
30
|
+
sortable?: boolean;
|
31
|
+
|
32
|
+
/**
|
33
|
+
* 搜索结果展示模式
|
34
|
+
*/
|
35
|
+
searchResultMode?: 'table' | 'list' | 'tree' | 'chained';
|
36
|
+
|
37
|
+
/**
|
38
|
+
* 可搜索?
|
39
|
+
*/
|
40
|
+
searchable?: boolean;
|
41
|
+
|
42
|
+
/**
|
43
|
+
* 搜索 API
|
44
|
+
*/
|
45
|
+
searchApi?: SchemaApi;
|
46
|
+
|
47
|
+
/**
|
48
|
+
* 左侧的标题文字
|
49
|
+
*/
|
50
|
+
selectTitle?: string;
|
51
|
+
|
52
|
+
/**
|
53
|
+
* 右侧结果的标题文字
|
54
|
+
*/
|
55
|
+
resultTitle?: string;
|
56
|
+
|
57
|
+
/**
|
58
|
+
* 弹窗大小
|
59
|
+
*/
|
60
|
+
pickerSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
61
|
+
}
|
62
|
+
|
63
|
+
export interface TabsTransferProps
|
64
|
+
extends OptionsControlProps,
|
65
|
+
Omit<
|
66
|
+
TabsTransferPickerControlSchema,
|
67
|
+
| 'type'
|
68
|
+
| 'options'
|
69
|
+
| 'inputClassName'
|
70
|
+
| 'className'
|
71
|
+
| 'descriptionClassName'
|
72
|
+
> {}
|
73
|
+
|
74
|
+
@OptionsControl({
|
75
|
+
type: 'tabs-transfer-picker'
|
76
|
+
})
|
77
|
+
export class TabsTransferPickerRenderer extends BaseTransferRenderer<TabsTransferProps> {
|
78
|
+
render() {
|
79
|
+
const {
|
80
|
+
className,
|
81
|
+
classnames: cx,
|
82
|
+
options,
|
83
|
+
selectedOptions,
|
84
|
+
sortable,
|
85
|
+
loading,
|
86
|
+
searchable,
|
87
|
+
searchResultMode,
|
88
|
+
showArrow,
|
89
|
+
deferLoad,
|
90
|
+
disabled,
|
91
|
+
selectTitle,
|
92
|
+
resultTitle,
|
93
|
+
pickerSize,
|
94
|
+
columns,
|
95
|
+
leftMode,
|
96
|
+
leftOptions
|
97
|
+
} = this.props;
|
98
|
+
|
99
|
+
return (
|
100
|
+
<div className={cx('TabsTransferControl', className)}>
|
101
|
+
<TabsTransferPicker
|
102
|
+
value={selectedOptions}
|
103
|
+
disabled={disabled}
|
104
|
+
options={options}
|
105
|
+
onChange={this.handleChange}
|
106
|
+
option2value={this.option2value}
|
107
|
+
sortable={sortable}
|
108
|
+
searchResultMode={searchResultMode}
|
109
|
+
onSearch={searchable ? this.handleSearch : undefined}
|
110
|
+
showArrow={showArrow}
|
111
|
+
onDeferLoad={deferLoad}
|
112
|
+
selectTitle={selectTitle}
|
113
|
+
resultTitle={resultTitle}
|
114
|
+
size={pickerSize}
|
115
|
+
leftMode={leftMode}
|
116
|
+
leftOptions={leftOptions}
|
117
|
+
/>
|
118
|
+
|
119
|
+
<Spinner overlay key="info" show={loading} />
|
120
|
+
</div>
|
121
|
+
);
|
122
|
+
}
|
123
|
+
}
|
@@ -207,8 +207,9 @@ export class BaseTransferRenderer<
|
|
207
207
|
(option: Option) => {
|
208
208
|
return !!(
|
209
209
|
(Array.isArray(option.children) && option.children.length) ||
|
210
|
-
|
211
|
-
|
210
|
+
(option[(valueField as string) || 'value'] &&
|
211
|
+
(regexp.test(option[(labelField as string) || 'label']) ||
|
212
|
+
regexp.test(option[(valueField as string) || 'value'])))
|
212
213
|
);
|
213
214
|
},
|
214
215
|
0,
|
@@ -248,7 +249,6 @@ export class BaseTransferRenderer<
|
|
248
249
|
const {
|
249
250
|
className,
|
250
251
|
classnames: cx,
|
251
|
-
options,
|
252
252
|
selectedOptions,
|
253
253
|
showArrow,
|
254
254
|
sortable,
|
@@ -259,7 +259,6 @@ export class BaseTransferRenderer<
|
|
259
259
|
searchResultMode,
|
260
260
|
searchResultColumns,
|
261
261
|
deferLoad,
|
262
|
-
leftOptions,
|
263
262
|
leftMode,
|
264
263
|
rightMode,
|
265
264
|
disabled,
|
@@ -269,6 +268,22 @@ export class BaseTransferRenderer<
|
|
269
268
|
resultItemRender
|
270
269
|
} = this.props;
|
271
270
|
|
271
|
+
// 目前 LeftOptions 没有接口可以动态加载
|
272
|
+
// 为了方便可以快速实现动态化,让选项的第一个成员携带
|
273
|
+
// LeftOptions 信息
|
274
|
+
let {options, leftOptions, leftDefaultValue} = this.props;
|
275
|
+
if (
|
276
|
+
selectMode === 'associated' &&
|
277
|
+
options &&
|
278
|
+
options.length === 1 &&
|
279
|
+
options[0].leftOptions &&
|
280
|
+
Array.isArray(options[0].children)
|
281
|
+
) {
|
282
|
+
leftOptions = options[0].leftOptions;
|
283
|
+
leftDefaultValue = options[0].leftDefaultValue ?? leftDefaultValue;
|
284
|
+
options = options[0].children;
|
285
|
+
}
|
286
|
+
|
272
287
|
return (
|
273
288
|
<div className={cx('TransferControl', className)}>
|
274
289
|
<Transfer
|
@@ -0,0 +1,145 @@
|
|
1
|
+
import {
|
2
|
+
OptionsControlProps,
|
3
|
+
OptionsControl,
|
4
|
+
FormOptionsControl
|
5
|
+
} from './Options';
|
6
|
+
import React from 'react';
|
7
|
+
import {Api} from '../../types';
|
8
|
+
import Spinner from '../../components/Spinner';
|
9
|
+
import {BaseTransferRenderer} from './Transfer';
|
10
|
+
import TabsTransfer from '../../components/TabsTransfer';
|
11
|
+
import {SchemaApi} from '../../Schema';
|
12
|
+
import TransferPicker from '../../components/TransferPicker';
|
13
|
+
|
14
|
+
/**
|
15
|
+
* TransferPicker 穿梭器的弹框形态
|
16
|
+
* 文档:https://baidu.gitee.io/amis/docs/components/form/transfer-picker
|
17
|
+
*/
|
18
|
+
export interface TransferPickerControlSchema extends FormOptionsControl {
|
19
|
+
type: 'transfer-picker';
|
20
|
+
/**
|
21
|
+
* 边框模式,全边框,还是半边框,或者没边框。
|
22
|
+
*/
|
23
|
+
borderMode?: 'full' | 'half' | 'none';
|
24
|
+
|
25
|
+
/**
|
26
|
+
* 是否显示剪头
|
27
|
+
*/
|
28
|
+
showArrow?: boolean;
|
29
|
+
|
30
|
+
/**
|
31
|
+
* 可排序?
|
32
|
+
*/
|
33
|
+
sortable?: boolean;
|
34
|
+
|
35
|
+
/**
|
36
|
+
* 搜索结果展示模式
|
37
|
+
*/
|
38
|
+
searchResultMode?: 'table' | 'list' | 'tree' | 'chained';
|
39
|
+
|
40
|
+
/**
|
41
|
+
* 可搜索?
|
42
|
+
*/
|
43
|
+
searchable?: boolean;
|
44
|
+
|
45
|
+
/**
|
46
|
+
* 搜索 API
|
47
|
+
*/
|
48
|
+
searchApi?: SchemaApi;
|
49
|
+
|
50
|
+
/**
|
51
|
+
* 左侧的标题文字
|
52
|
+
*/
|
53
|
+
selectTitle?: string;
|
54
|
+
|
55
|
+
/**
|
56
|
+
* 右侧结果的标题文字
|
57
|
+
*/
|
58
|
+
resultTitle?: string;
|
59
|
+
|
60
|
+
/**
|
61
|
+
* 弹窗大小
|
62
|
+
*/
|
63
|
+
pickerSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
64
|
+
}
|
65
|
+
|
66
|
+
export interface TabsTransferProps
|
67
|
+
extends OptionsControlProps,
|
68
|
+
Omit<
|
69
|
+
TransferPickerControlSchema,
|
70
|
+
| 'type'
|
71
|
+
| 'options'
|
72
|
+
| 'inputClassName'
|
73
|
+
| 'className'
|
74
|
+
| 'descriptionClassName'
|
75
|
+
> {}
|
76
|
+
|
77
|
+
@OptionsControl({
|
78
|
+
type: 'transfer-picker'
|
79
|
+
})
|
80
|
+
export class TransferPickerRenderer extends BaseTransferRenderer<TabsTransferProps> {
|
81
|
+
render() {
|
82
|
+
const {
|
83
|
+
className,
|
84
|
+
classnames: cx,
|
85
|
+
selectedOptions,
|
86
|
+
sortable,
|
87
|
+
loading,
|
88
|
+
searchable,
|
89
|
+
searchResultMode,
|
90
|
+
showArrow,
|
91
|
+
deferLoad,
|
92
|
+
disabled,
|
93
|
+
selectTitle,
|
94
|
+
resultTitle,
|
95
|
+
pickerSize,
|
96
|
+
columns,
|
97
|
+
leftMode,
|
98
|
+
selectMode,
|
99
|
+
borderMode
|
100
|
+
} = this.props;
|
101
|
+
|
102
|
+
// 目前 LeftOptions 没有接口可以动态加载
|
103
|
+
// 为了方便可以快速实现动态化,让选项的第一个成员携带
|
104
|
+
// LeftOptions 信息
|
105
|
+
let {options, leftOptions, leftDefaultValue} = this.props;
|
106
|
+
if (
|
107
|
+
selectMode === 'associated' &&
|
108
|
+
options &&
|
109
|
+
options.length === 1 &&
|
110
|
+
options[0].leftOptions &&
|
111
|
+
Array.isArray(options[0].children)
|
112
|
+
) {
|
113
|
+
leftOptions = options[0].leftOptions;
|
114
|
+
leftDefaultValue = options[0].leftDefaultValue ?? leftDefaultValue;
|
115
|
+
options = options[0].children;
|
116
|
+
}
|
117
|
+
|
118
|
+
return (
|
119
|
+
<div className={cx('TransferControl', className)}>
|
120
|
+
<TransferPicker
|
121
|
+
borderMode={borderMode}
|
122
|
+
selectMode={selectMode}
|
123
|
+
value={selectedOptions}
|
124
|
+
disabled={disabled}
|
125
|
+
options={options}
|
126
|
+
onChange={this.handleChange}
|
127
|
+
option2value={this.option2value}
|
128
|
+
sortable={sortable}
|
129
|
+
searchResultMode={searchResultMode}
|
130
|
+
onSearch={searchable ? this.handleSearch : undefined}
|
131
|
+
showArrow={showArrow}
|
132
|
+
onDeferLoad={deferLoad}
|
133
|
+
selectTitle={selectTitle}
|
134
|
+
resultTitle={resultTitle}
|
135
|
+
size={pickerSize}
|
136
|
+
columns={columns}
|
137
|
+
leftMode={leftMode}
|
138
|
+
leftOptions={leftOptions}
|
139
|
+
/>
|
140
|
+
|
141
|
+
<Spinner overlay key="info" show={loading} />
|
142
|
+
</div>
|
143
|
+
);
|
144
|
+
}
|
145
|
+
}
|
@@ -478,6 +478,19 @@ export default class TreeSelectControl extends React.Component<
|
|
478
478
|
minLength,
|
479
479
|
labelField,
|
480
480
|
nodePath,
|
481
|
+
onAdd,
|
482
|
+
creatable,
|
483
|
+
createTip,
|
484
|
+
addControls,
|
485
|
+
onEdit,
|
486
|
+
editable,
|
487
|
+
editTip,
|
488
|
+
editControls,
|
489
|
+
removable,
|
490
|
+
removeTip,
|
491
|
+
onDelete,
|
492
|
+
rootCreatable,
|
493
|
+
rootCreateTip,
|
481
494
|
translate: __,
|
482
495
|
deferLoad,
|
483
496
|
expandTreeOptions
|
@@ -533,6 +546,18 @@ export default class TreeSelectControl extends React.Component<
|
|
533
546
|
pathSeparator={pathSeparator}
|
534
547
|
maxLength={maxLength}
|
535
548
|
minLength={minLength}
|
549
|
+
onAdd={onAdd}
|
550
|
+
creatable={creatable}
|
551
|
+
createTip={createTip}
|
552
|
+
rootCreatable={rootCreatable}
|
553
|
+
rootCreateTip={rootCreateTip}
|
554
|
+
onEdit={onEdit}
|
555
|
+
editable={editable}
|
556
|
+
editTip={editTip}
|
557
|
+
removable={removable}
|
558
|
+
removeTip={removeTip}
|
559
|
+
onDelete={onDelete}
|
560
|
+
bultinCUD={!addControls && !editControls}
|
536
561
|
onDeferLoad={deferLoad}
|
537
562
|
onExpandTree={expandTreeOptions}
|
538
563
|
/>
|
@@ -202,6 +202,11 @@ export interface FormSchema extends BaseSchema {
|
|
202
202
|
*/
|
203
203
|
mode?: 'normal' | 'inline' | 'horizontal';
|
204
204
|
|
205
|
+
/**
|
206
|
+
* 表单项显示为几列
|
207
|
+
*/
|
208
|
+
columnCount?: number;
|
209
|
+
|
205
210
|
/**
|
206
211
|
* 如果是水平排版,这个属性可以细化水平排版的左右宽度占比。
|
207
212
|
*/
|
@@ -347,6 +352,7 @@ export default class Form extends React.Component<FormProps, object> {
|
|
347
352
|
right: 10,
|
348
353
|
offset: 2
|
349
354
|
},
|
355
|
+
columnCount: 0,
|
350
356
|
panelClassName: 'Panel--default',
|
351
357
|
messages: {
|
352
358
|
fetchFailed: 'fetchFailed',
|
@@ -367,6 +373,7 @@ export default class Form extends React.Component<FormProps, object> {
|
|
367
373
|
'initFetch',
|
368
374
|
'wrapWithPanel',
|
369
375
|
'mode',
|
376
|
+
'columnCount',
|
370
377
|
'collapsable',
|
371
378
|
'horizontal',
|
372
379
|
'panelClassName',
|
@@ -827,7 +834,7 @@ export default class Form extends React.Component<FormProps, object> {
|
|
827
834
|
);
|
828
835
|
}
|
829
836
|
|
830
|
-
if (store.persistData) {
|
837
|
+
if (store.persistData && store.inited) {
|
831
838
|
store.setLocalPersistData();
|
832
839
|
}
|
833
840
|
}
|
@@ -1418,6 +1425,7 @@ export default class Form extends React.Component<FormProps, object> {
|
|
1418
1425
|
debug,
|
1419
1426
|
$path,
|
1420
1427
|
store,
|
1428
|
+
columnCount,
|
1421
1429
|
render
|
1422
1430
|
} = this.props;
|
1423
1431
|
|
@@ -1429,7 +1437,12 @@ export default class Form extends React.Component<FormProps, object> {
|
|
1429
1437
|
|
1430
1438
|
return (
|
1431
1439
|
<WrapperComponent
|
1432
|
-
className={cx(
|
1440
|
+
className={cx(
|
1441
|
+
`Form`,
|
1442
|
+
`Form--${mode || 'normal'}`,
|
1443
|
+
columnCount ? `Form--column Form--column-${columnCount}` : null,
|
1444
|
+
className
|
1445
|
+
)}
|
1433
1446
|
onSubmit={this.handleFormSubmit}
|
1434
1447
|
noValidate
|
1435
1448
|
>
|
@@ -479,8 +479,17 @@ export function wrapControl<
|
|
479
479
|
const {
|
480
480
|
formStore: form,
|
481
481
|
onChange,
|
482
|
-
$schema: {
|
482
|
+
$schema: {
|
483
|
+
name,
|
484
|
+
id,
|
485
|
+
label,
|
486
|
+
type,
|
487
|
+
onChange: onFormItemChange,
|
488
|
+
maxLength,
|
489
|
+
minLength
|
490
|
+
},
|
483
491
|
data,
|
492
|
+
env,
|
484
493
|
validateOnChange,
|
485
494
|
formSubmited
|
486
495
|
} = this.props;
|
@@ -495,6 +504,22 @@ export function wrapControl<
|
|
495
504
|
return;
|
496
505
|
}
|
497
506
|
|
507
|
+
if (type !== 'input-password') {
|
508
|
+
env?.tracker(
|
509
|
+
{
|
510
|
+
eventType: 'formItemChange',
|
511
|
+
eventData: {
|
512
|
+
id,
|
513
|
+
name,
|
514
|
+
label,
|
515
|
+
type,
|
516
|
+
value
|
517
|
+
}
|
518
|
+
},
|
519
|
+
this.props
|
520
|
+
);
|
521
|
+
}
|
522
|
+
|
498
523
|
this.model.changeEmitedValue(value);
|
499
524
|
if (
|
500
525
|
onFormItemChange?.(value, oldValue, this.model, form) === false
|
@@ -506,8 +531,8 @@ export function wrapControl<
|
|
506
531
|
|
507
532
|
if (
|
508
533
|
// 如果配置了 minLength 或者 maxLength 就切成及时验证
|
509
|
-
|
510
|
-
|
534
|
+
this.model.rules.minLength ||
|
535
|
+
this.model.rules.maxLength ||
|
511
536
|
validateOnChange === true ||
|
512
537
|
(validateOnChange !== false && (formSubmited || validated))
|
513
538
|
) {
|
package/src/renderers/IFrame.tsx
CHANGED
@@ -6,7 +6,7 @@ import {ScopedContext, IScopedContext} from '../Scoped';
|
|
6
6
|
import {buildApi, isApiOutdated} from '../utils/api';
|
7
7
|
import {BaseSchema, SchemaUrlPath} from '../Schema';
|
8
8
|
import {ActionSchema} from './Action';
|
9
|
-
import {
|
9
|
+
import {dataMapping} from '../utils/tpl-builtin';
|
10
10
|
|
11
11
|
/**
|
12
12
|
* IFrame 渲染器
|
@@ -149,7 +149,7 @@ export default class IFrame extends React.Component<IFrameProps, object> {
|
|
149
149
|
|
150
150
|
render() {
|
151
151
|
const {width, height} = this.state;
|
152
|
-
let {className, src, frameBorder, data, style} = this.props;
|
152
|
+
let {className, src, name, frameBorder, data, style} = this.props;
|
153
153
|
|
154
154
|
let tempStyle: any = {};
|
155
155
|
|
@@ -161,9 +161,7 @@ export default class IFrame extends React.Component<IFrameProps, object> {
|
|
161
161
|
...style
|
162
162
|
};
|
163
163
|
|
164
|
-
|
165
|
-
src = resolveVariableAndFilter(src, data, '| raw');
|
166
|
-
}
|
164
|
+
src = dataMapping(src, data);
|
167
165
|
|
168
166
|
const finalSrc = src ? buildApi(src, data).url : undefined;
|
169
167
|
|
@@ -177,6 +175,7 @@ export default class IFrame extends React.Component<IFrameProps, object> {
|
|
177
175
|
|
178
176
|
return (
|
179
177
|
<iframe
|
178
|
+
name={name}
|
180
179
|
className={className}
|
181
180
|
frameBorder={frameBorder}
|
182
181
|
style={style}
|
package/src/renderers/Image.tsx
CHANGED
@@ -7,6 +7,7 @@ import {Icon} from '../components/icons';
|
|
7
7
|
import {LocaleProps, localeable} from '../locale';
|
8
8
|
import {BaseSchema, SchemaClassName, SchemaTpl, SchemaUrlPath} from '../Schema';
|
9
9
|
import {resolveVariable} from '../utils/tpl-builtin';
|
10
|
+
import handleAction from '../utils/handleAction';
|
10
11
|
|
11
12
|
/**
|
12
13
|
* 图片展示控件。
|
@@ -322,6 +323,14 @@ export class ImageField extends React.Component<ImageFieldProps, object> {
|
|
322
323
|
);
|
323
324
|
}
|
324
325
|
|
326
|
+
@autobind
|
327
|
+
handleClick(e: React.MouseEvent<HTMLElement>) {
|
328
|
+
const clickAction = this.props.clickAction;
|
329
|
+
if (clickAction) {
|
330
|
+
handleAction(e, clickAction, this.props);
|
331
|
+
}
|
332
|
+
}
|
333
|
+
|
325
334
|
render() {
|
326
335
|
const {
|
327
336
|
className,
|
@@ -359,6 +368,7 @@ export class ImageField extends React.Component<ImageFieldProps, object> {
|
|
359
368
|
: 'ImageField--thumb',
|
360
369
|
className
|
361
370
|
)}
|
371
|
+
onClick={this.handleClick}
|
362
372
|
>
|
363
373
|
{value ? (
|
364
374
|
<ThemedImageThumb
|
package/src/renderers/Json.tsx
CHANGED
@@ -29,6 +29,11 @@ export interface JsonSchema extends BaseSchema {
|
|
29
29
|
* 是否可修改
|
30
30
|
*/
|
31
31
|
mutable?: boolean;
|
32
|
+
|
33
|
+
/**
|
34
|
+
* 是否显示数据类型
|
35
|
+
*/
|
36
|
+
displayDataTypes?: boolean;
|
32
37
|
}
|
33
38
|
|
34
39
|
export interface JSONProps extends RendererProps, JsonSchema {
|
@@ -44,7 +49,8 @@ export class JSONField extends React.Component<JSONProps, object> {
|
|
44
49
|
static defaultProps: Partial<JSONProps> = {
|
45
50
|
placeholder: '-',
|
46
51
|
levelExpand: 1,
|
47
|
-
source: ''
|
52
|
+
source: '',
|
53
|
+
displayDataTypes: false
|
48
54
|
};
|
49
55
|
|
50
56
|
@autobind
|
@@ -79,6 +85,7 @@ export class JSONField extends React.Component<JSONProps, object> {
|
|
79
85
|
source,
|
80
86
|
levelExpand,
|
81
87
|
mutable,
|
88
|
+
displayDataTypes,
|
82
89
|
name
|
83
90
|
} = this.props;
|
84
91
|
|
@@ -87,14 +94,6 @@ export class JSONField extends React.Component<JSONProps, object> {
|
|
87
94
|
let data = value;
|
88
95
|
if (source !== undefined && isPureVariable(source)) {
|
89
96
|
data = resolveVariableAndFilter(source, this.props.data, '| raw');
|
90
|
-
} else if (typeof value === 'string') {
|
91
|
-
try {
|
92
|
-
data = JSON.parse(value);
|
93
|
-
} catch (e) {
|
94
|
-
data = {
|
95
|
-
error: e.message
|
96
|
-
};
|
97
|
-
}
|
98
97
|
}
|
99
98
|
|
100
99
|
let jsonThemeValue = jsonTheme;
|
@@ -124,6 +123,7 @@ export class JSONField extends React.Component<JSONProps, object> {
|
|
124
123
|
theme={(jsonThemeValue as any) ?? 'rjv-default'}
|
125
124
|
shouldCollapse={this.shouldExpandNode}
|
126
125
|
enableClipboard={false}
|
126
|
+
displayDataTypes={displayDataTypes}
|
127
127
|
iconStyle="square"
|
128
128
|
onEdit={name && mutable ? this.emitChange : false}
|
129
129
|
onDelete={name && mutable ? this.emitChange : false}
|
package/src/renderers/Link.tsx
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import {Renderer, RendererProps} from '../factory';
|
3
3
|
import {BaseSchema, SchemaTpl} from '../Schema';
|
4
|
-
import {getPropValue} from '../utils/helper';
|
4
|
+
import {autobind, getPropValue} from '../utils/helper';
|
5
5
|
import {filter} from '../utils/tpl';
|
6
6
|
import {BadgeSchema, withBadge} from '../components/Badge';
|
7
|
+
import Link from '../components/Link';
|
7
8
|
|
8
9
|
/**
|
9
10
|
* Link 链接展示控件。
|
@@ -29,18 +30,48 @@ export interface LinkSchema extends BaseSchema {
|
|
29
30
|
* 角标
|
30
31
|
*/
|
31
32
|
badge?: BadgeSchema;
|
33
|
+
|
34
|
+
/**
|
35
|
+
* a标签原生target属性
|
36
|
+
*/
|
37
|
+
htmlTarget?: string;
|
38
|
+
|
39
|
+
/**
|
40
|
+
* 图标
|
41
|
+
*/
|
42
|
+
icon?: string;
|
43
|
+
|
44
|
+
/**
|
45
|
+
* 右侧图标
|
46
|
+
*/
|
47
|
+
rightIcon?: string;
|
32
48
|
}
|
33
49
|
|
34
50
|
export interface LinkProps
|
35
51
|
extends RendererProps,
|
36
52
|
Omit<LinkSchema, 'type' | 'className'> {}
|
37
53
|
|
38
|
-
export class
|
54
|
+
export class LinkCmpt extends React.Component<LinkProps, object> {
|
39
55
|
static defaultProps = {
|
40
|
-
|
41
|
-
|
56
|
+
blank: true,
|
57
|
+
disabled: false,
|
58
|
+
htmlTarget: ''
|
42
59
|
};
|
43
60
|
|
61
|
+
handleClick(href: string) {
|
62
|
+
const {env, blank, body} = this.props;
|
63
|
+
env?.tracker(
|
64
|
+
{
|
65
|
+
eventType: 'url',
|
66
|
+
// 需要和 action 里命名一致方便后续分析
|
67
|
+
eventData: {url: href, blank, label: body}
|
68
|
+
},
|
69
|
+
this.props
|
70
|
+
);
|
71
|
+
}
|
72
|
+
|
73
|
+
getHref() {}
|
74
|
+
|
44
75
|
render() {
|
45
76
|
const {
|
46
77
|
className,
|
@@ -48,25 +79,33 @@ export class LinkField extends React.Component<LinkProps, object> {
|
|
48
79
|
href,
|
49
80
|
classnames: cx,
|
50
81
|
blank,
|
82
|
+
disabled,
|
51
83
|
htmlTarget,
|
52
84
|
data,
|
53
85
|
render,
|
54
86
|
translate: __,
|
55
|
-
title
|
87
|
+
title,
|
88
|
+
icon,
|
89
|
+
rightIcon
|
56
90
|
} = this.props;
|
57
91
|
|
58
|
-
let value =
|
59
|
-
|
92
|
+
let value =
|
93
|
+
(typeof href === 'string' && href
|
94
|
+
? filter(href, data, '| raw')
|
95
|
+
: undefined) || getPropValue(this.props);
|
60
96
|
|
61
97
|
return (
|
62
|
-
<
|
63
|
-
|
64
|
-
|
65
|
-
|
98
|
+
<Link
|
99
|
+
className={className}
|
100
|
+
href={value}
|
101
|
+
disabled={disabled}
|
66
102
|
title={title}
|
103
|
+
htmlTarget={htmlTarget || (blank ? '_blank' : '_self')}
|
104
|
+
icon={icon}
|
105
|
+
rightIcon={rightIcon}
|
67
106
|
>
|
68
|
-
{body ? render('body', body) :
|
69
|
-
</
|
107
|
+
{body ? render('body', body) : value || __('link')}
|
108
|
+
</Link>
|
70
109
|
);
|
71
110
|
}
|
72
111
|
}
|
@@ -76,4 +115,4 @@ export class LinkField extends React.Component<LinkProps, object> {
|
|
76
115
|
})
|
77
116
|
// @ts-ignore 类型没搞定
|
78
117
|
@withBadge
|
79
|
-
export class LinkFieldRenderer extends
|
118
|
+
export class LinkFieldRenderer extends LinkCmpt {}
|