amis 1.4.2-beta.6 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Schema.d.ts +11 -3
- package/lib/Schema.js.map +1 -1
- package/lib/components/Alert2.d.ts +26 -21
- package/lib/components/Alert2.js +11 -4
- package/lib/components/Alert2.js.map +2 -2
- package/lib/components/AnchorNav.d.ts +22 -21
- package/lib/components/AnchorNav.js +7 -3
- package/lib/components/AnchorNav.js.map +2 -2
- package/lib/components/ArrayInput.d.ts +84 -84
- package/lib/components/AssociatedSelection.d.ts +930 -0
- package/lib/components/AssociatedSelection.js +89 -0
- package/lib/components/AssociatedSelection.js.map +13 -0
- package/lib/components/Badge.js +2 -2
- package/lib/components/Badge.js.map +2 -2
- package/lib/components/Button.js +1 -1
- package/lib/components/Button.js.map +2 -2
- package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
- package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
- package/lib/components/ChainedSelection.js.map +13 -0
- package/lib/components/Checkbox.d.ts +20 -20
- package/lib/components/Collapse.d.ts +51 -23
- package/lib/components/Collapse.js +70 -11
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/CollapseGroup.d.ts +88 -0
- package/lib/components/CollapseGroup.js +81 -0
- package/lib/components/CollapseGroup.js.map +13 -0
- package/lib/components/ColorPicker.d.ts +89 -85
- package/lib/components/ColorPicker.js +17 -4
- package/lib/components/ColorPicker.js.map +2 -2
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DateRangePicker.d.ts +84 -84
- package/lib/components/Drawer.js +2 -2
- package/lib/components/Drawer.js.map +2 -2
- package/lib/components/Editor.d.ts +84 -84
- package/lib/components/GridNav.d.ts +52 -0
- package/lib/components/GridNav.js +123 -0
- package/lib/components/GridNav.js.map +13 -0
- package/lib/components/GroupedSelection.d.ts +907 -0
- package/lib/components/GroupedSelection.js +48 -0
- package/lib/components/GroupedSelection.js.map +13 -0
- package/lib/components/InputBox.d.ts +22 -21
- package/lib/components/InputBox.js +10 -2
- package/lib/components/InputBox.js.map +2 -2
- package/lib/components/Link.d.ts +29 -36
- package/lib/components/Link.js +14 -15
- package/lib/components/Link.js.map +2 -2
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/ModalManager.js +1 -1
- package/lib/components/ModalManager.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/NumberInput.d.ts +20 -20
- package/lib/components/Overlay.js +5 -0
- package/lib/components/Overlay.js.map +2 -2
- package/lib/components/PickerColumn.d.ts +514 -0
- package/lib/components/PickerColumn.js +279 -0
- package/lib/components/PickerColumn.js.map +13 -0
- package/lib/components/PickerContainer.d.ts +513 -0
- package/lib/components/PickerContainer.js +96 -0
- package/lib/components/PickerContainer.js.map +13 -0
- package/lib/components/PopOver.d.ts +1 -0
- package/lib/components/PopOver.js +12 -1
- package/lib/components/PopOver.js.map +2 -2
- package/lib/components/Progress.d.ts +85 -0
- package/lib/components/Progress.js +81 -0
- package/lib/components/Progress.js.map +13 -0
- package/lib/components/Radios.d.ts +22 -21
- package/lib/components/Radios.js +1 -0
- package/lib/components/Radios.js.map +2 -2
- package/lib/components/Rating.d.ts +21 -21
- package/lib/components/ResultBox.d.ts +84 -84
- package/lib/components/ResultBox.js +10 -2
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/SearchBox.d.ts +84 -84
- package/lib/components/Select.d.ts +245 -237
- package/lib/components/Select.js +25 -4
- package/lib/components/Select.js.map +2 -2
- package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
- package/lib/components/Selection.js +134 -0
- package/lib/components/Selection.js.map +13 -0
- package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
- package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
- package/lib/components/TableSelection.js.map +13 -0
- package/lib/components/Tabs.d.ts +20 -20
- package/lib/components/TabsTransfer.d.ts +84 -84
- package/lib/components/TabsTransfer.js +9 -9
- package/lib/components/TabsTransfer.js.map +2 -2
- package/lib/components/TabsTransferPicker.d.ts +489 -0
- package/lib/components/TabsTransferPicker.js +60 -0
- package/lib/components/TabsTransferPicker.js.map +13 -0
- package/lib/components/Toast.d.ts +90 -87
- package/lib/components/Toast.js +15 -5
- package/lib/components/Toast.js.map +2 -2
- package/lib/components/Transfer.d.ts +908 -274
- package/lib/components/Transfer.js +31 -24
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +488 -0
- package/lib/components/TransferDropDown.js +59 -0
- package/lib/components/TransferDropDown.js.map +13 -0
- package/lib/components/TransferPicker.d.ts +493 -0
- package/lib/components/TransferPicker.js +60 -0
- package/lib/components/TransferPicker.js.map +13 -0
- package/lib/components/Tree.d.ts +115 -84
- package/lib/components/Tree.js +183 -30
- package/lib/components/Tree.js.map +2 -2
- package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
- package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
- package/lib/components/TreeSelection.js.map +13 -0
- package/lib/components/condition-builder/Field.js +4 -2
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Func.js +2 -2
- package/lib/components/condition-builder/Func.js.map +2 -2
- package/lib/components/condition-builder/InputSwitch.js +2 -2
- package/lib/components/condition-builder/InputSwitch.js.map +2 -2
- package/lib/components/condition-builder/Item.js +3 -3
- package/lib/components/condition-builder/Item.js.map +2 -2
- package/lib/components/icons.js +10 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +8 -8
- package/lib/components/index.js +16 -16
- package/lib/components/index.js.map +2 -2
- package/lib/envOverwrite.d.ts +1 -1
- package/lib/envOverwrite.js +24 -9
- package/lib/envOverwrite.js.map +2 -2
- package/lib/factory.d.ts +15 -1
- package/lib/factory.js +35 -6
- package/lib/factory.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/hooks/index.d.ts +5 -0
- package/lib/hooks/index.js +14 -0
- package/lib/hooks/index.js.map +13 -0
- package/lib/hooks/use-set-state.d.ts +2 -0
- package/lib/hooks/use-set-state.js +15 -0
- package/lib/hooks/use-set-state.js.map +13 -0
- package/lib/hooks/use-touch.d.ts +16 -0
- package/lib/hooks/use-touch.js +73 -0
- package/lib/hooks/use-touch.js.map +13 -0
- package/lib/hooks/use-update-effect.d.ts +3 -0
- package/lib/hooks/use-update-effect.js +17 -0
- package/lib/hooks/use-update-effect.js.map +13 -0
- package/lib/icons/alert-danger.js +7 -0
- package/lib/icons/alert-info.js +7 -0
- package/lib/icons/alert-success.js +7 -0
- package/lib/icons/alert-warning.js +7 -0
- package/lib/icons/download.js +7 -0
- package/lib/icons/drag-bar.js +10 -3
- package/lib/index.d.ts +5 -0
- package/lib/index.js +6 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +2 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +3 -0
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +5 -2
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +10 -5
- package/lib/renderers/Action.js +23 -5
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/Alert.d.ts +21 -1
- package/lib/renderers/Alert.js.map +2 -2
- package/lib/renderers/AnchorNav.d.ts +1 -0
- package/lib/renderers/AnchorNav.js +2 -2
- package/lib/renderers/AnchorNav.js.map +2 -2
- package/lib/renderers/Avatar.js +3 -3
- package/lib/renderers/Avatar.js.map +2 -2
- package/lib/renderers/Breadcrumb.js +1 -1
- package/lib/renderers/Breadcrumb.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +5 -0
- package/lib/renderers/CRUD.js +25 -4
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.d.ts +5 -0
- package/lib/renderers/Card.js +34 -23
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Collapse.d.ts +25 -20
- package/lib/renderers/Collapse.js +10 -72
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/CollapseGroup.d.ts +42 -0
- package/lib/renderers/CollapseGroup.js +33 -0
- package/lib/renderers/CollapseGroup.js.map +13 -0
- package/lib/renderers/Form/ConditionBuilder.js +2 -2
- package/lib/renderers/Form/ConditionBuilder.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +4 -3
- package/lib/renderers/Form/Editor.d.ts +3 -2
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputCity.js +7 -6
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputColor.d.ts +86 -85
- package/lib/renderers/Form/InputColor.js +1 -1
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputFile.d.ts +6 -0
- package/lib/renderers/Form/InputFile.js +28 -8
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +11 -4
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +1 -1
- package/lib/renderers/Form/Item.js +2 -1
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/Options.js +25 -4
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +42 -4
- package/lib/renderers/Form/Select.js +37 -3
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
- package/lib/renderers/Form/TabsTransferPicker.js +29 -0
- package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
- package/lib/renderers/Form/Transfer.js +18 -3
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/TransferPicker.d.ts +52 -0
- package/lib/renderers/Form/TransferPicker.js +43 -0
- package/lib/renderers/Form/TransferPicker.js.map +13 -0
- package/lib/renderers/Form/TreeSelect.js +2 -2
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.d.ts +5 -0
- package/lib/renderers/Form/index.js +5 -3
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +13 -1
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/GridNav.d.ts +99 -0
- package/lib/renderers/GridNav.js +82 -0
- package/lib/renderers/GridNav.js.map +13 -0
- package/lib/renderers/IFrame.js +1 -3
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Image.js +7 -5
- package/lib/renderers/Image.js.map +2 -2
- package/lib/renderers/Json.d.ts +4 -0
- package/lib/renderers/Json.js +4 -13
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/Link.d.ts +4 -2
- package/lib/renderers/Link.js +15 -8
- package/lib/renderers/Link.js.map +2 -2
- package/lib/renderers/List.js +1 -1
- package/lib/renderers/List.js.map +2 -2
- package/lib/renderers/Nav.d.ts +21 -21
- package/lib/renderers/Nav.js +37 -19
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.d.ts +18 -0
- package/lib/renderers/Page.js +53 -9
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Portlet.d.ts +125 -0
- package/lib/renderers/Portlet.js +156 -0
- package/lib/renderers/Portlet.js.map +13 -0
- package/lib/renderers/Progress.d.ts +23 -3
- package/lib/renderers/Progress.js +15 -19
- package/lib/renderers/Progress.js.map +2 -2
- package/lib/renderers/Property.js +1 -1
- package/lib/renderers/Property.js.map +2 -2
- package/lib/renderers/Table/ColumnToggler.js +1 -1
- package/lib/renderers/Table/ColumnToggler.js.map +2 -2
- package/lib/renderers/Table/TableContent.d.ts +4 -1
- package/lib/renderers/Table/TableContent.js +21 -1
- package/lib/renderers/Table/TableContent.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +5 -1
- package/lib/renderers/Table/index.js +65 -30
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.js +9 -1
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/WebComponent.js +1 -1
- package/lib/renderers/WebComponent.js.map +2 -2
- package/lib/store/combo.d.ts +2 -2
- package/lib/store/form.d.ts +1 -1
- package/lib/store/form.js +3 -5
- package/lib/store/form.js.map +2 -2
- package/lib/store/formItem.js +44 -4
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/table.d.ts +3 -2
- package/lib/store/table.js +35 -12
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +934 -222
- package/lib/themes/ang.css +934 -222
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +934 -222
- package/lib/themes/antd.css +934 -222
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +970 -260
- package/lib/themes/cxd.css +970 -260
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +934 -222
- package/lib/themes/dark.css +934 -222
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +970 -260
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +38 -1
- package/lib/types.js +0 -5
- package/lib/types.js.map +2 -2
- package/lib/utils/api.d.ts +3 -2
- package/lib/utils/api.js +90 -17
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/dom.d.ts +4 -0
- package/lib/utils/dom.js +11 -1
- package/lib/utils/dom.js.map +2 -2
- package/lib/utils/helper.d.ts +12 -23
- package/lib/utils/helper.js +62 -166
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/tpl-builtin.d.ts +2 -20
- package/lib/utils/tpl-builtin.js +25 -743
- package/lib/utils/tpl-builtin.js.map +2 -2
- package/lib/utils/tpl.js +24 -0
- package/lib/utils/tpl.js.map +2 -2
- package/package.json +5 -2
- package/schema.json +3966 -1263
- package/scss/_mixins.scss +1 -3
- package/scss/_properties.scss +42 -13
- package/scss/base/_common.scss +3 -0
- package/scss/base/_normalize.scss +2 -0
- package/scss/components/_alert.scss +28 -5
- package/scss/components/_anchor-nav.scss +89 -29
- package/scss/components/_button.scss +12 -0
- package/scss/components/_card.scss +9 -15
- package/scss/components/_collapse-group.scss +15 -0
- package/scss/components/_collapse.scss +48 -23
- package/scss/components/_grid-nav.scss +128 -0
- package/scss/components/_images.scss +1 -0
- package/scss/components/_input-box.scss +1 -0
- package/scss/components/_nav.scss +2 -7
- package/scss/components/_page.scss +35 -2
- package/scss/components/_picker-columns.scss +124 -0
- package/scss/components/_popover.scss +13 -0
- package/scss/components/_portlet.scss +51 -0
- package/scss/components/_progress.scss +141 -33
- package/scss/components/_result-box.scss +1 -0
- package/scss/components/_spinner.scss +5 -4
- package/scss/components/_status.scss +1 -1
- package/scss/components/_table.scss +32 -0
- package/scss/components/_toast.scss +41 -11
- package/scss/components/form/_checks.scss +0 -351
- package/scss/components/form/_color.scss +32 -3
- package/scss/components/form/_combo.scss +4 -0
- package/scss/components/form/_fieldset.scss +6 -1
- package/scss/components/form/_file.scss +11 -0
- package/scss/components/form/_form.scss +48 -0
- package/scss/components/form/_selection.scss +354 -0
- package/scss/components/form/_transfer.scss +76 -18
- package/scss/components/form/_tree.scss +42 -0
- package/scss/themes/_common.scss +6 -0
- package/scss/themes/_cxd-variables.scss +13 -6
- package/scss/themes/cxd.scss +19 -20
- package/sdk/ang-ie11.css +1065 -246
- package/sdk/ang.css +1069 -230
- package/sdk/antd-ie11.css +1068 -249
- package/sdk/antd.css +1069 -230
- package/sdk/charts.js +17 -17
- package/sdk/color-picker.js +65 -69
- package/sdk/cropperjs.js +3 -3
- package/sdk/cxd-ie11.css +1081 -268
- package/sdk/cxd.css +1116 -279
- package/sdk/dark-ie11.css +1069 -250
- package/sdk/dark.css +1069 -230
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/iconfont.svg +2513 -0
- package/sdk/iconfont.ttf +0 -0
- package/sdk/iconfont.woff +0 -0
- package/sdk/locale/de-DE.js +2 -0
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +20 -28
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +1081 -268
- package/sdk/sdk.css +1116 -279
- package/sdk/sdk.js +1371 -1189
- package/sdk/thirds/hls.js/hls.js +18 -18
- package/sdk/thirds/mpegts.js/mpegts.js +2 -2
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +19 -1
- package/src/components/Alert2.tsx +32 -4
- package/src/components/AnchorNav.tsx +15 -4
- package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +43 -37
- package/src/components/Badge.tsx +3 -3
- package/src/components/Button.tsx +1 -0
- package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
- package/src/components/Collapse.tsx +139 -20
- package/src/components/CollapseGroup.tsx +130 -0
- package/src/components/ColorPicker.tsx +32 -10
- package/src/components/Drawer.tsx +8 -6
- package/src/components/GridNav.tsx +233 -0
- package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
- package/src/components/InputBox.tsx +10 -9
- package/src/components/Link.tsx +28 -37
- package/src/components/ModalManager.ts +1 -1
- package/src/components/Overlay.tsx +6 -0
- package/src/components/PickerColumn.tsx +429 -0
- package/src/components/PickerContainer.tsx +128 -0
- package/src/components/PopOver.tsx +15 -1
- package/src/components/Progress.tsx +140 -0
- package/src/components/Radios.tsx +3 -8
- package/src/components/ResultBox.tsx +9 -9
- package/src/components/Select.tsx +57 -5
- package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
- package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
- package/src/components/TabsTransfer.tsx +13 -7
- package/src/components/TabsTransferPicker.tsx +85 -0
- package/src/components/Toast.tsx +48 -21
- package/src/components/Transfer.tsx +71 -50
- package/src/components/TransferDropDown.tsx +120 -0
- package/src/components/TransferPicker.tsx +91 -0
- package/src/components/Tree.tsx +194 -8
- package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
- package/src/components/condition-builder/Field.tsx +7 -5
- package/src/components/condition-builder/Func.tsx +3 -3
- package/src/components/condition-builder/InputSwitch.tsx +3 -3
- package/src/components/condition-builder/Item.tsx +5 -12
- package/src/components/icons.tsx +10 -0
- package/src/components/index.tsx +13 -13
- package/src/envOverwrite.ts +20 -8
- package/src/factory.tsx +70 -9
- package/src/hooks/index.ts +5 -0
- package/src/hooks/use-set-state.ts +19 -0
- package/src/hooks/use-touch.ts +100 -0
- package/src/hooks/use-update-effect.ts +16 -0
- package/src/icons/alert-danger.svg +1 -0
- package/src/icons/alert-info.svg +1 -0
- package/src/icons/alert-success.svg +1 -0
- package/src/icons/alert-warning.svg +1 -0
- package/src/icons/download.svg +4 -0
- package/src/icons/drag-bar.svg +12 -6
- package/src/index.tsx +5 -0
- package/src/locale/de-DE.ts +2 -0
- package/src/locale/en-US.ts +3 -0
- package/src/locale/zh-CN.ts +5 -2
- package/src/renderers/Action.tsx +58 -3
- package/src/renderers/Alert.tsx +31 -1
- package/src/renderers/AnchorNav.tsx +4 -0
- package/src/renderers/Avatar.tsx +8 -4
- package/src/renderers/Breadcrumb.tsx +5 -1
- package/src/renderers/CRUD.tsx +29 -3
- package/src/renderers/Card.tsx +76 -36
- package/src/renderers/Collapse.tsx +70 -115
- package/src/renderers/CollapseGroup.tsx +80 -0
- package/src/renderers/Form/ConditionBuilder.tsx +2 -2
- package/src/renderers/Form/InputCity.tsx +4 -8
- package/src/renderers/Form/InputColor.tsx +4 -2
- package/src/renderers/Form/InputFile.tsx +65 -24
- package/src/renderers/Form/InputImage.tsx +11 -3
- package/src/renderers/Form/Item.tsx +3 -2
- package/src/renderers/Form/Options.tsx +29 -3
- package/src/renderers/Form/Select.tsx +162 -21
- package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
- package/src/renderers/Form/Transfer.tsx +19 -4
- package/src/renderers/Form/TransferPicker.tsx +145 -0
- package/src/renderers/Form/TreeSelect.tsx +25 -0
- package/src/renderers/Form/index.tsx +15 -2
- package/src/renderers/Form/wrapControl.tsx +26 -1
- package/src/renderers/GridNav.tsx +204 -0
- package/src/renderers/IFrame.tsx +2 -4
- package/src/renderers/Image.tsx +19 -15
- package/src/renderers/Json.tsx +9 -9
- package/src/renderers/Link.tsx +29 -16
- package/src/renderers/List.tsx +1 -1
- package/src/renderers/Nav.tsx +105 -56
- package/src/renderers/Page.tsx +62 -1
- package/src/renderers/Portlet.tsx +423 -0
- package/src/renderers/Progress.tsx +56 -38
- package/src/renderers/Property.tsx +6 -4
- package/src/renderers/Table/ColumnToggler.tsx +1 -1
- package/src/renderers/Table/TableContent.tsx +40 -2
- package/src/renderers/Table/index.tsx +88 -43
- package/src/renderers/Tabs.tsx +9 -1
- package/src/renderers/WebComponent.tsx +2 -2
- package/src/store/form.ts +3 -9
- package/src/store/formItem.ts +94 -2
- package/src/store/table.ts +55 -14
- package/src/types.ts +58 -1
- package/src/utils/api.ts +120 -26
- package/src/utils/dom.tsx +12 -0
- package/src/utils/helper.ts +55 -185
- package/src/utils/tpl-builtin.ts +40 -866
- package/src/utils/tpl.ts +33 -0
- package/tsconfig-for-declaration.json +1 -1
- package/dump.rdb +0 -0
- package/lib/components/AssociatedCheckboxes.d.ts +0 -762
- package/lib/components/AssociatedCheckboxes.js +0 -90
- package/lib/components/AssociatedCheckboxes.js.map +0 -13
- package/lib/components/ChainedCheckboxes.js.map +0 -13
- package/lib/components/Checkboxes.js +0 -101
- package/lib/components/Checkboxes.js.map +0 -13
- package/lib/components/ListCheckboxes.d.ts +0 -739
- package/lib/components/ListCheckboxes.js +0 -48
- package/lib/components/ListCheckboxes.js.map +0 -13
- package/lib/components/ListRadios.d.ts +0 -763
- package/lib/components/ListRadios.js +0 -86
- package/lib/components/ListRadios.js.map +0 -13
- package/lib/components/TableCheckboxes.js.map +0 -13
- package/lib/components/TreeCheckboxes.js.map +0 -13
- package/lib/components/TreeRadios.d.ts +0 -838
- package/lib/components/TreeRadios.js +0 -116
- package/lib/components/TreeRadios.js.map +0 -13
- package/src/components/ListRadios.tsx +0 -159
- package/src/components/TreeRadios.tsx +0 -202
@@ -9,6 +9,7 @@ import './ColumnToggler';
|
|
9
9
|
import Checkbox from '../../components/Checkbox';
|
10
10
|
import Button from '../../components/Button';
|
11
11
|
import {TableStore, ITableStore, IColumn, IRow} from '../../store/table';
|
12
|
+
import {saveAs} from 'file-saver';
|
12
13
|
import {
|
13
14
|
anyChanged,
|
14
15
|
getScrollParent,
|
@@ -19,7 +20,8 @@ import {
|
|
19
20
|
getVariable,
|
20
21
|
removeHTMLTag,
|
21
22
|
eachTree,
|
22
|
-
isObject
|
23
|
+
isObject,
|
24
|
+
createObject
|
23
25
|
} from '../../utils/helper';
|
24
26
|
import {
|
25
27
|
isPureVariable,
|
@@ -53,9 +55,10 @@ import {TableBody} from './TableBody';
|
|
53
55
|
import {TplSchema} from '../Tpl';
|
54
56
|
import {MappingSchema} from '../Mapping';
|
55
57
|
import {isAlive, getSnapshot} from 'mobx-state-tree';
|
56
|
-
import ItemActionsWrapper from './ItemActionsWrapper';
|
57
58
|
import ColumnToggler from './ColumnToggler';
|
58
59
|
import {BadgeSchema} from '../../components/Badge';
|
60
|
+
import offset from '../../utils/offset';
|
61
|
+
import {getStyleNumber} from '../../utils/dom';
|
59
62
|
|
60
63
|
/**
|
61
64
|
* 表格列,不指定类型时默认为文本类型。
|
@@ -422,7 +425,8 @@ export default class Table extends React.Component<TableProps, object> {
|
|
422
425
|
'headerToolbarClassName',
|
423
426
|
'toolbarClassName',
|
424
427
|
'footerToolbarClassName',
|
425
|
-
'itemBadge'
|
428
|
+
'itemBadge',
|
429
|
+
'autoFillHeight'
|
426
430
|
];
|
427
431
|
static defaultProps: Partial<TableProps> = {
|
428
432
|
className: '',
|
@@ -497,6 +501,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
497
501
|
this.subFormRef = this.subFormRef.bind(this);
|
498
502
|
this.handleColumnToggle = this.handleColumnToggle.bind(this);
|
499
503
|
this.renderAutoFilterForm = this.renderAutoFilterForm.bind(this);
|
504
|
+
this.updateAutoFillHeight = this.updateAutoFillHeight.bind(this);
|
500
505
|
|
501
506
|
const {
|
502
507
|
store,
|
@@ -607,6 +612,68 @@ export default class Table extends React.Component<TableProps, object> {
|
|
607
612
|
this.affixDetect();
|
608
613
|
parent.addEventListener('scroll', this.affixDetect);
|
609
614
|
window.addEventListener('resize', this.affixDetect);
|
615
|
+
this.updateAutoFillHeight();
|
616
|
+
window.addEventListener('resize', this.updateAutoFillHeight);
|
617
|
+
}
|
618
|
+
|
619
|
+
/**
|
620
|
+
* 自动设置表格高度占满界面剩余区域
|
621
|
+
* 用 css 实现有点麻烦,要改很多结构,所以先用 dom hack 了,避免对之前的功能有影响
|
622
|
+
*/
|
623
|
+
updateAutoFillHeight() {
|
624
|
+
const {autoFillHeight, footerToolbar, classPrefix: ns} = this.props;
|
625
|
+
if (!autoFillHeight) {
|
626
|
+
return;
|
627
|
+
}
|
628
|
+
const table = findDOMNode(this) as HTMLElement;
|
629
|
+
const tableContent = table.querySelector(
|
630
|
+
`.${ns}Table-content`
|
631
|
+
) as HTMLElement;
|
632
|
+
const tableContentWrap = table.querySelector(
|
633
|
+
`.${ns}Table-contentWrap`
|
634
|
+
) as HTMLElement;
|
635
|
+
const footToolbar = table.querySelector(
|
636
|
+
`.${ns}Table-footToolbar`
|
637
|
+
) as HTMLElement;
|
638
|
+
if (!tableContent) {
|
639
|
+
return;
|
640
|
+
}
|
641
|
+
|
642
|
+
// 计算 table-content 在 dom 中的位置
|
643
|
+
const tableContentTop = offset(tableContent).top;
|
644
|
+
const viewportHeight = window.innerHeight;
|
645
|
+
// 有时候会拿不到 footToolbar?
|
646
|
+
const footToolbarHeight = footToolbar ? offset(footToolbar).height : 0;
|
647
|
+
// 有时候会拿不到 footToolbar,等一下在执行
|
648
|
+
if (!footToolbarHeight && footerToolbar && footerToolbar.length) {
|
649
|
+
setTimeout(() => {
|
650
|
+
this.updateAutoFillHeight();
|
651
|
+
}, 100);
|
652
|
+
return;
|
653
|
+
}
|
654
|
+
const tableContentWrapMarginButtom = getStyleNumber(
|
655
|
+
tableContentWrap,
|
656
|
+
'margin-bottom'
|
657
|
+
);
|
658
|
+
|
659
|
+
// 循环计算父级节点的 pddding,这里不考虑父级节点还可能会有其它兄弟节点的情况了
|
660
|
+
let allParentPaddingButtom = 0;
|
661
|
+
let parentNode = tableContent.parentElement;
|
662
|
+
while (parentNode) {
|
663
|
+
const paddingButtom = getStyleNumber(parentNode, 'padding-bottom');
|
664
|
+
const borderBottom = getStyleNumber(parentNode, 'border-bottom-width');
|
665
|
+
allParentPaddingButtom =
|
666
|
+
allParentPaddingButtom + paddingButtom + borderBottom;
|
667
|
+
parentNode = parentNode.parentElement;
|
668
|
+
}
|
669
|
+
|
670
|
+
tableContent.style.height = `${
|
671
|
+
viewportHeight -
|
672
|
+
tableContentTop -
|
673
|
+
tableContentWrapMarginButtom -
|
674
|
+
footToolbarHeight -
|
675
|
+
allParentPaddingButtom
|
676
|
+
}px`;
|
610
677
|
}
|
611
678
|
|
612
679
|
componentDidUpdate(prevProps: TableProps) {
|
@@ -692,6 +759,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
692
759
|
const parent = this.parentNode;
|
693
760
|
parent && parent.removeEventListener('scroll', this.affixDetect);
|
694
761
|
window.removeEventListener('resize', this.affixDetect);
|
762
|
+
window.removeEventListener('resize', this.updateAutoFillHeight);
|
695
763
|
(this.updateTableInfoLazy as any).cancel();
|
696
764
|
this.unSensor && this.unSensor();
|
697
765
|
|
@@ -881,7 +949,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
881
949
|
}
|
882
950
|
|
883
951
|
affixDetect() {
|
884
|
-
if (!this.props.affixHeader || !this.table) {
|
952
|
+
if (!this.props.affixHeader || !this.table || this.props.autoFillHeight) {
|
885
953
|
return;
|
886
954
|
}
|
887
955
|
|
@@ -1373,7 +1441,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
1373
1441
|
handleColumnToggle(columns: Array<IColumn>) {
|
1374
1442
|
const {store} = this.props;
|
1375
1443
|
|
1376
|
-
store.
|
1444
|
+
store.updateColumns(columns);
|
1377
1445
|
}
|
1378
1446
|
|
1379
1447
|
renderAutoFilterForm(): React.ReactNode {
|
@@ -2087,7 +2155,6 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2087
2155
|
} = this.props;
|
2088
2156
|
const __ = rest.translate;
|
2089
2157
|
const env = rest.env;
|
2090
|
-
|
2091
2158
|
const render = this.props.render;
|
2092
2159
|
|
2093
2160
|
if (!store.columnsTogglable) {
|
@@ -2381,7 +2448,10 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2381
2448
|
} else {
|
2382
2449
|
if ((column as TplSchema).tpl) {
|
2383
2450
|
sheetRow.getCell(columIndex).value = removeHTMLTag(
|
2384
|
-
filter(
|
2451
|
+
filter(
|
2452
|
+
(column as TplSchema).tpl,
|
2453
|
+
createObject(data, row.data)
|
2454
|
+
)
|
2385
2455
|
);
|
2386
2456
|
} else {
|
2387
2457
|
sheetRow.getCell(columIndex).value = value;
|
@@ -2584,39 +2654,6 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2584
2654
|
: footerNode || toolbarNode || null;
|
2585
2655
|
}
|
2586
2656
|
|
2587
|
-
renderItemActions() {
|
2588
|
-
const {itemActions, render, store, classnames: cx} = this.props;
|
2589
|
-
const finalActions = Array.isArray(itemActions)
|
2590
|
-
? itemActions.filter(action => !action.hiddenOnHover)
|
2591
|
-
: [];
|
2592
|
-
|
2593
|
-
if (!finalActions.length) {
|
2594
|
-
return null;
|
2595
|
-
}
|
2596
|
-
|
2597
|
-
return (
|
2598
|
-
<ItemActionsWrapper store={store} classnames={cx}>
|
2599
|
-
<div className={cx('Table-itemActions')}>
|
2600
|
-
{finalActions.map((action, index) =>
|
2601
|
-
render(
|
2602
|
-
`itemAction/${index}`,
|
2603
|
-
{
|
2604
|
-
...(action as any),
|
2605
|
-
isMenuItem: true
|
2606
|
-
},
|
2607
|
-
{
|
2608
|
-
key: index,
|
2609
|
-
item: store.hoverRow,
|
2610
|
-
data: store.hoverRow!.locals,
|
2611
|
-
rowIndex: store.hoverRow!.index
|
2612
|
-
}
|
2613
|
-
)
|
2614
|
-
)}
|
2615
|
-
</div>
|
2616
|
-
</ItemActionsWrapper>
|
2617
|
-
);
|
2618
|
-
}
|
2619
|
-
|
2620
2657
|
renderTableContent() {
|
2621
2658
|
const {
|
2622
2659
|
classnames: cx,
|
@@ -2631,8 +2668,11 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2631
2668
|
prefixRow,
|
2632
2669
|
locale,
|
2633
2670
|
affixRow,
|
2671
|
+
tableContentClassName,
|
2634
2672
|
translate,
|
2635
|
-
itemAction
|
2673
|
+
itemAction,
|
2674
|
+
autoFillHeight,
|
2675
|
+
itemActions
|
2636
2676
|
} = this.props;
|
2637
2677
|
|
2638
2678
|
// 理论上来说 store.rows 应该也行啊
|
@@ -2643,9 +2683,13 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2643
2683
|
<TableContent
|
2644
2684
|
tableClassName={cx(
|
2645
2685
|
store.combineNum > 0 ? 'Table-table--withCombine' : '',
|
2686
|
+
{'Table-table--checkOnItemClick': checkOnItemClick},
|
2646
2687
|
tableClassName
|
2647
2688
|
)}
|
2689
|
+
className={tableContentClassName}
|
2690
|
+
itemActions={itemActions}
|
2648
2691
|
itemAction={itemAction}
|
2692
|
+
store={store}
|
2649
2693
|
classnames={cx}
|
2650
2694
|
columns={store.filteredColumns}
|
2651
2695
|
columnsGroup={store.columnGroup}
|
@@ -2681,6 +2725,7 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2681
2725
|
store,
|
2682
2726
|
classnames: cx,
|
2683
2727
|
affixColumns,
|
2728
|
+
autoFillHeight,
|
2684
2729
|
autoGenerateFilter
|
2685
2730
|
} = this.props;
|
2686
2731
|
|
@@ -2697,7 +2742,8 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2697
2742
|
return (
|
2698
2743
|
<div
|
2699
2744
|
className={cx('Table', className, {
|
2700
|
-
'Table--unsaved': !!store.modified || !!store.moved
|
2745
|
+
'Table--unsaved': !!store.modified || !!store.moved,
|
2746
|
+
'Table--autoFillHeight': autoFillHeight
|
2701
2747
|
})}
|
2702
2748
|
>
|
2703
2749
|
{autoGenerateFilter ? this.renderAutoFilterForm() : null}
|
@@ -2734,7 +2780,6 @@ export default class Table extends React.Component<TableProps, object> {
|
|
2734
2780
|
: null}
|
2735
2781
|
</div>
|
2736
2782
|
{this.renderTableContent()}
|
2737
|
-
{store.hoverRow ? this.renderItemActions() : null}
|
2738
2783
|
</div>
|
2739
2784
|
{this.renderAffixHeader(tableClassName)}
|
2740
2785
|
{footer}
|
package/src/renderers/Tabs.tsx
CHANGED
@@ -374,7 +374,15 @@ export default class Tabs extends React.Component<TabsProps, TabsState> {
|
|
374
374
|
|
375
375
|
@autobind
|
376
376
|
handleSelect(key: any) {
|
377
|
-
const {env, onSelect} = this.props;
|
377
|
+
const {env, onSelect, id} = this.props;
|
378
|
+
|
379
|
+
env.tracker?.({
|
380
|
+
eventType: 'tabChange',
|
381
|
+
eventData: {
|
382
|
+
id,
|
383
|
+
key
|
384
|
+
}
|
385
|
+
});
|
378
386
|
|
379
387
|
// 是 hash,需要更新到地址栏
|
380
388
|
if (typeof key === 'string' && env) {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import {Renderer, RendererProps} from '../factory';
|
3
3
|
import {BaseSchema, SchemaCollection} from '../Schema';
|
4
|
-
import {resolveVariable} from '../utils/tpl-builtin';
|
4
|
+
import {resolveVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';
|
5
5
|
import mapValues from 'lodash/mapValues';
|
6
6
|
|
7
7
|
/**
|
@@ -43,7 +43,7 @@ export default class WebComponent extends React.Component<RendererProps> {
|
|
43
43
|
|
44
44
|
const propsValues = mapValues(props, s => {
|
45
45
|
if (typeof s === 'string') {
|
46
|
-
return
|
46
|
+
return resolveVariableAndFilter(s, data, '| raw') || s;
|
47
47
|
} else {
|
48
48
|
return s;
|
49
49
|
}
|
package/src/store/form.ts
CHANGED
@@ -588,14 +588,9 @@ export const FormStore = ServiceStore.named('FormStore')
|
|
588
588
|
self.persistData = value;
|
589
589
|
}
|
590
590
|
|
591
|
-
const setLocalPersistData =
|
592
|
-
|
593
|
-
|
594
|
-
{
|
595
|
-
trailing: true,
|
596
|
-
leading: false
|
597
|
-
}
|
598
|
-
);
|
591
|
+
const setLocalPersistData = () => {
|
592
|
+
localStorage.setItem(self.persistKey, JSON.stringify(self.data));
|
593
|
+
};
|
599
594
|
|
600
595
|
function getLocalPersistData() {
|
601
596
|
let data = localStorage.getItem(self.persistKey);
|
@@ -639,7 +634,6 @@ export const FormStore = ServiceStore.named('FormStore')
|
|
639
634
|
clearRestError,
|
640
635
|
beforeDestroy() {
|
641
636
|
syncOptions.cancel();
|
642
|
-
setLocalPersistData.cancel();
|
643
637
|
}
|
644
638
|
};
|
645
639
|
});
|
package/src/store/formItem.ts
CHANGED
@@ -617,12 +617,104 @@ export const FormItemStore = StoreNode.named('FormItemStore')
|
|
617
617
|
return json;
|
618
618
|
});
|
619
619
|
|
620
|
+
const tryDeferLoadLeftOptions: (
|
621
|
+
option: any,
|
622
|
+
api: Api,
|
623
|
+
data?: object,
|
624
|
+
config?: fetchOptions
|
625
|
+
) => Promise<Payload | null> = flow(function* (
|
626
|
+
option: any,
|
627
|
+
api: string,
|
628
|
+
data: object,
|
629
|
+
config?: fetchOptions
|
630
|
+
) {
|
631
|
+
if (
|
632
|
+
self.options.length != 1 ||
|
633
|
+
!Array.isArray(self.options[0].leftOptions)
|
634
|
+
) {
|
635
|
+
return;
|
636
|
+
}
|
637
|
+
|
638
|
+
let leftOptions = self.options[0].leftOptions as any;
|
639
|
+
|
640
|
+
const indexes = findTreeIndex(leftOptions, item => item === option);
|
641
|
+
if (!indexes) {
|
642
|
+
return;
|
643
|
+
}
|
644
|
+
|
645
|
+
setOptions(
|
646
|
+
[
|
647
|
+
{
|
648
|
+
...self.options[0],
|
649
|
+
leftOptions: spliceTree(leftOptions, indexes, 1, {
|
650
|
+
...option,
|
651
|
+
loading: true
|
652
|
+
})
|
653
|
+
}
|
654
|
+
],
|
655
|
+
undefined,
|
656
|
+
data
|
657
|
+
);
|
658
|
+
|
659
|
+
let json = yield fetchOptions(
|
660
|
+
api,
|
661
|
+
data,
|
662
|
+
{
|
663
|
+
...config,
|
664
|
+
silent: true
|
665
|
+
},
|
666
|
+
false
|
667
|
+
);
|
668
|
+
if (!json) {
|
669
|
+
setOptions(
|
670
|
+
[
|
671
|
+
{
|
672
|
+
...self.options[0],
|
673
|
+
leftOptions: spliceTree(leftOptions, indexes, 1, {
|
674
|
+
...option,
|
675
|
+
loading: false,
|
676
|
+
error: true
|
677
|
+
})
|
678
|
+
}
|
679
|
+
],
|
680
|
+
undefined,
|
681
|
+
data
|
682
|
+
);
|
683
|
+
return;
|
684
|
+
}
|
685
|
+
|
686
|
+
let options: Array<IOption> =
|
687
|
+
json.data?.options ||
|
688
|
+
json.data.items ||
|
689
|
+
json.data.rows ||
|
690
|
+
json.data ||
|
691
|
+
[];
|
692
|
+
|
693
|
+
setOptions(
|
694
|
+
[
|
695
|
+
{
|
696
|
+
...self.options[0],
|
697
|
+
leftOptions: spliceTree(leftOptions, indexes, 1, {
|
698
|
+
...option,
|
699
|
+
loading: false,
|
700
|
+
loaded: true,
|
701
|
+
children: options
|
702
|
+
})
|
703
|
+
}
|
704
|
+
],
|
705
|
+
undefined,
|
706
|
+
data
|
707
|
+
);
|
708
|
+
|
709
|
+
return json;
|
710
|
+
});
|
711
|
+
|
620
712
|
const deferLoadOptions: (
|
621
713
|
option: any,
|
622
714
|
api: Api,
|
623
715
|
data?: object,
|
624
716
|
config?: fetchOptions
|
625
|
-
) => Promise<Payload | null> = flow(function*
|
717
|
+
) => Promise<Payload | null> = flow(function* (
|
626
718
|
option: any,
|
627
719
|
api: string,
|
628
720
|
data: object,
|
@@ -630,7 +722,7 @@ export const FormItemStore = StoreNode.named('FormItemStore')
|
|
630
722
|
) {
|
631
723
|
const indexes = findTreeIndex(self.options, item => item === option);
|
632
724
|
if (!indexes) {
|
633
|
-
return;
|
725
|
+
return yield tryDeferLoadLeftOptions(option, api, data, config);
|
634
726
|
}
|
635
727
|
|
636
728
|
setOptions(
|
package/src/store/table.ts
CHANGED
@@ -429,7 +429,7 @@ export const TableStore = iRendererStore
|
|
429
429
|
}
|
430
430
|
|
431
431
|
function getUnSelectedRows() {
|
432
|
-
return self.rows.filter(item => !item.checked);
|
432
|
+
return flattenTree<IRow>(self.rows).filter((item: IRow) => !item.checked);
|
433
433
|
}
|
434
434
|
|
435
435
|
function getData(superData: any): any {
|
@@ -523,15 +523,6 @@ export const TableStore = iRendererStore
|
|
523
523
|
);
|
524
524
|
}
|
525
525
|
|
526
|
-
function getActivedSearchableColumns() {
|
527
|
-
return self.columns.filter(
|
528
|
-
column =>
|
529
|
-
column.searchable &&
|
530
|
-
isObject(column.searchable) &&
|
531
|
-
column.enableSearch
|
532
|
-
);
|
533
|
-
}
|
534
|
-
|
535
526
|
return {
|
536
527
|
get columnsData() {
|
537
528
|
return getColumnsExceptBuiltinTypes();
|
@@ -613,7 +604,9 @@ export const TableStore = iRendererStore
|
|
613
604
|
},
|
614
605
|
|
615
606
|
get checkableRows() {
|
616
|
-
return self.rows.filter(
|
607
|
+
return flattenTree<IRow>(self.rows).filter(
|
608
|
+
(item: IRow) => item.checkable
|
609
|
+
);
|
617
610
|
},
|
618
611
|
|
619
612
|
get expandableRows() {
|
@@ -765,6 +758,51 @@ export const TableStore = iRendererStore
|
|
765
758
|
}
|
766
759
|
}
|
767
760
|
|
761
|
+
function updateColumns(columns: Array<SColumn>) {
|
762
|
+
if (columns && Array.isArray(columns)) {
|
763
|
+
columns = columns.filter(column => column).concat();
|
764
|
+
|
765
|
+
if (!columns.length) {
|
766
|
+
columns.push({
|
767
|
+
type: 'text',
|
768
|
+
label: '空'
|
769
|
+
});
|
770
|
+
}
|
771
|
+
|
772
|
+
columns.unshift({
|
773
|
+
type: '__expandme',
|
774
|
+
toggable: false,
|
775
|
+
className: 'Table-expandCell'
|
776
|
+
});
|
777
|
+
|
778
|
+
columns.unshift({
|
779
|
+
type: '__checkme',
|
780
|
+
fixed: 'left',
|
781
|
+
toggable: false,
|
782
|
+
className: 'Table-checkCell'
|
783
|
+
});
|
784
|
+
|
785
|
+
columns.unshift({
|
786
|
+
type: '__dragme',
|
787
|
+
toggable: false,
|
788
|
+
className: 'Table-dragCell'
|
789
|
+
});
|
790
|
+
|
791
|
+
columns = columns.map((item, index) => ({
|
792
|
+
...item,
|
793
|
+
index,
|
794
|
+
rawIndex: index - 3,
|
795
|
+
type: item.type || 'plain',
|
796
|
+
pristine: item.pristine || item,
|
797
|
+
toggled: item.toggled !== false,
|
798
|
+
breakpoint: item.breakpoint,
|
799
|
+
isPrimary: index === 3
|
800
|
+
}));
|
801
|
+
|
802
|
+
self.columns.replace(columns as any);
|
803
|
+
}
|
804
|
+
}
|
805
|
+
|
768
806
|
function combineCell(arr: Array<SRow>, keys: Array<string>): Array<SRow> {
|
769
807
|
if (!keys.length || !arr.length) {
|
770
808
|
return arr;
|
@@ -987,9 +1025,10 @@ export const TableStore = iRendererStore
|
|
987
1025
|
|
988
1026
|
function updateSelected(selected: Array<any>, valueField?: string) {
|
989
1027
|
self.selectedRows.clear();
|
990
|
-
|
1028
|
+
|
1029
|
+
eachTree(self.rows, item => {
|
991
1030
|
if (~selected.indexOf(item.pristine)) {
|
992
|
-
self.selectedRows.push(item);
|
1031
|
+
self.selectedRows.push(item.id);
|
993
1032
|
} else if (
|
994
1033
|
find(
|
995
1034
|
selected,
|
@@ -998,9 +1037,10 @@ export const TableStore = iRendererStore
|
|
998
1037
|
a[valueField || 'value'] == item.pristine[valueField || 'value']
|
999
1038
|
)
|
1000
1039
|
) {
|
1001
|
-
self.selectedRows.push(item);
|
1040
|
+
self.selectedRows.push(item.id);
|
1002
1041
|
}
|
1003
1042
|
});
|
1043
|
+
|
1004
1044
|
updateCheckDisable();
|
1005
1045
|
}
|
1006
1046
|
|
@@ -1228,6 +1268,7 @@ export const TableStore = iRendererStore
|
|
1228
1268
|
|
1229
1269
|
return {
|
1230
1270
|
update,
|
1271
|
+
updateColumns,
|
1231
1272
|
initRows,
|
1232
1273
|
updateSelected,
|
1233
1274
|
toggleAll,
|
package/src/types.ts
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
import type {ActionSchema} from './renderers/Action';
|
1
2
|
import {SchemaApiObject} from './Schema';
|
2
3
|
|
3
4
|
export interface ApiObject extends SchemaApiObject {
|
@@ -30,7 +31,7 @@ export interface fetcherResult {
|
|
30
31
|
}
|
31
32
|
|
32
33
|
export interface fetchOptions {
|
33
|
-
method?: 'get' | 'post' | 'put' | 'patch' | 'delete';
|
34
|
+
method?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'jsonp';
|
34
35
|
successMessage?: string;
|
35
36
|
errorMessage?: string;
|
36
37
|
autoAppend?: boolean;
|
@@ -157,3 +158,59 @@ export interface JSONSchema {
|
|
157
158
|
// export type ExtractProps<
|
158
159
|
// TComponentOrTProps
|
159
160
|
// > = TComponentOrTProps extends React.ComponentType<infer P> ? P : never;
|
161
|
+
|
162
|
+
/**
|
163
|
+
* 事件跟踪的定义
|
164
|
+
*/
|
165
|
+
export interface EventTrack {
|
166
|
+
/**
|
167
|
+
* 事件类型,目前有以下几种
|
168
|
+
*
|
169
|
+
* api: 所有 fetcher 前调用
|
170
|
+
* url: 打开外部链接,组件有可能是 action 也有可能是 link
|
171
|
+
* link: 打开内部链接
|
172
|
+
* dialog: action 的弹框
|
173
|
+
* drawer: action 的抽出式弹框
|
174
|
+
* copy: action 里的复制
|
175
|
+
* reload: action 里的 reload
|
176
|
+
* email: action 里的 email
|
177
|
+
* prev: action 里的 prev
|
178
|
+
* next: action 里的 next
|
179
|
+
* cancel: action 里的 cancel
|
180
|
+
* close: action 里的 close
|
181
|
+
* submit: 有可能是 action 里的 submit,也有可能是表单提交
|
182
|
+
* confirm: action 里的 confirm
|
183
|
+
* add: action 里的 add
|
184
|
+
* reset: action 里的 reset
|
185
|
+
* reset-and-submit: action 里的 reset-and-submit
|
186
|
+
* formItemChange: 表单项内容变化
|
187
|
+
* formError: 表单验证失败
|
188
|
+
* formSubmit: 表单成功提交,在表单验证成功之后才会触发,这个可能会和 api 重合
|
189
|
+
* tabChange: tab 切换
|
190
|
+
* netError: api 报错
|
191
|
+
*/
|
192
|
+
eventType:
|
193
|
+
| 'api'
|
194
|
+
| 'url'
|
195
|
+
| 'link'
|
196
|
+
| 'dialog'
|
197
|
+
| 'drawer'
|
198
|
+
| 'copy'
|
199
|
+
| 'reload'
|
200
|
+
| 'email'
|
201
|
+
| 'prev'
|
202
|
+
| 'next'
|
203
|
+
| 'cancel'
|
204
|
+
| 'close'
|
205
|
+
| 'submit'
|
206
|
+
| 'confirm'
|
207
|
+
| 'reset'
|
208
|
+
| 'reset-and-submit'
|
209
|
+
| 'formItemChange'
|
210
|
+
| 'tabChange';
|
211
|
+
|
212
|
+
/**
|
213
|
+
* 事件数据
|
214
|
+
*/
|
215
|
+
eventData: ActionSchema | Api;
|
216
|
+
}
|