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
@@ -1,6 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import PopOverContainer from '../PopOverContainer';
|
3
|
-
import
|
3
|
+
import ListSelection from '../GroupedSelection';
|
4
4
|
import ResultBox from '../ResultBox';
|
5
5
|
import {ClassNamesFn, ThemeProps, themeable} from '../../theme';
|
6
6
|
import {Icon} from '../icons';
|
@@ -90,13 +90,15 @@ export class ConditionField extends React.Component<
|
|
90
90
|
{searchable ? (
|
91
91
|
<SearchBox mini={false} onSearch={this.onSearch} />
|
92
92
|
) : null}
|
93
|
-
<
|
93
|
+
<ListSelection
|
94
|
+
multiple={false}
|
94
95
|
onClick={e => this.onPopClose(e, onClose)}
|
95
|
-
showRadio={false}
|
96
96
|
options={this.state.options}
|
97
|
-
value={value}
|
97
|
+
value={[value]}
|
98
98
|
option2value={option2value}
|
99
|
-
onChange={
|
99
|
+
onChange={(value: any) =>
|
100
|
+
onChange(Array.isArray(value) ? value[0] : value)
|
101
|
+
}
|
100
102
|
/>
|
101
103
|
</>
|
102
104
|
)}
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
2
2
|
import {Func, ExpressionFunc, Field, Funcs} from './types';
|
3
3
|
import {ThemeProps, themeable} from '../../theme';
|
4
4
|
import PopOverContainer from '../PopOverContainer';
|
5
|
-
import
|
5
|
+
import GroupedSelection from '../GroupedSelection';
|
6
6
|
import {autobind, findTree, noop} from '../../utils/helper';
|
7
7
|
import ResultBox from '../ResultBox';
|
8
8
|
import {Icon} from '../icons';
|
@@ -77,13 +77,13 @@ export class ConditionFunc extends React.Component<ConditionFuncProps> {
|
|
77
77
|
<div className={cx('CBFunc')}>
|
78
78
|
<PopOverContainer
|
79
79
|
popOverRender={({onClose}) => (
|
80
|
-
<
|
80
|
+
<GroupedSelection
|
81
81
|
onClick={onClose}
|
82
|
-
showRadio={false}
|
83
82
|
options={funcs!}
|
84
83
|
value={(func as Func)?.type}
|
85
84
|
option2value={option2value}
|
86
85
|
onChange={this.handleFuncChange}
|
86
|
+
multiple={false}
|
87
87
|
/>
|
88
88
|
)}
|
89
89
|
>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import PopOverContainer from '../PopOverContainer';
|
3
3
|
import {Icon} from '../icons';
|
4
|
-
import
|
4
|
+
import GroupedSelection from '../GroupedSelection';
|
5
5
|
import {ClassNamesFn, themeable, ThemeProps} from '../../theme';
|
6
6
|
|
7
7
|
export interface InputSwitchProps extends ThemeProps {
|
@@ -23,13 +23,13 @@ export function InputSwitch({
|
|
23
23
|
return (
|
24
24
|
<PopOverContainer
|
25
25
|
popOverRender={({onClose}) => (
|
26
|
-
<
|
26
|
+
<GroupedSelection
|
27
27
|
onClick={onClose}
|
28
28
|
option2value={option2value}
|
29
29
|
onChange={onChange}
|
30
30
|
options={options}
|
31
31
|
value={value}
|
32
|
-
|
32
|
+
multiple={false}
|
33
33
|
disabled={disabled}
|
34
34
|
/>
|
35
35
|
)}
|
@@ -18,7 +18,7 @@ import {autobind, findTree, noop} from '../../utils/helper';
|
|
18
18
|
import Expression from './Expression';
|
19
19
|
import {Config, OperationMap} from './config';
|
20
20
|
import PopOverContainer from '../PopOverContainer';
|
21
|
-
import
|
21
|
+
import GroupedSelection from '../GroupedSelection';
|
22
22
|
import ResultBox from '../ResultBox';
|
23
23
|
import {localeable, LocaleProps} from '../../locale';
|
24
24
|
|
@@ -100,15 +100,8 @@ export class ConditionItem extends React.Component<ConditionItemProps> {
|
|
100
100
|
}
|
101
101
|
|
102
102
|
renderLeft() {
|
103
|
-
const {
|
104
|
-
|
105
|
-
fields,
|
106
|
-
funcs,
|
107
|
-
config,
|
108
|
-
disabled,
|
109
|
-
fieldClassName,
|
110
|
-
searchable
|
111
|
-
} = this.props;
|
103
|
+
const {value, fields, funcs, config, disabled, fieldClassName, searchable} =
|
104
|
+
this.props;
|
112
105
|
return (
|
113
106
|
<Expression
|
114
107
|
config={config}
|
@@ -158,7 +151,7 @@ export class ConditionItem extends React.Component<ConditionItemProps> {
|
|
158
151
|
return (
|
159
152
|
<PopOverContainer
|
160
153
|
popOverRender={({onClose}) => (
|
161
|
-
<
|
154
|
+
<GroupedSelection
|
162
155
|
onClick={onClose}
|
163
156
|
option2value={option2value}
|
164
157
|
onChange={this.handleOperatorChange}
|
@@ -167,7 +160,7 @@ export class ConditionItem extends React.Component<ConditionItemProps> {
|
|
167
160
|
value: operator
|
168
161
|
}))}
|
169
162
|
value={value.op}
|
170
|
-
|
163
|
+
multiple={false}
|
171
164
|
/>
|
172
165
|
)}
|
173
166
|
>
|
package/src/components/icons.tsx
CHANGED
@@ -24,6 +24,7 @@ import ViewIcon from '../icons/view.svg';
|
|
24
24
|
import RemoveIcon from '../icons/remove.svg';
|
25
25
|
import RetryIcon from '../icons/retry.svg';
|
26
26
|
import UploadIcon from '../icons/upload.svg';
|
27
|
+
import DownloadIcon from '../icons/download.svg';
|
27
28
|
import FileIcon from '../icons/file.svg';
|
28
29
|
import StatusSuccessIcon from '../icons/status-success.svg';
|
29
30
|
import StatusFailIcon from '../icons/status-fail.svg';
|
@@ -69,6 +70,10 @@ import ExpandAltIcon from '../icons/expand-alt.svg';
|
|
69
70
|
import CompressAltIcon from '../icons/compress-alt.svg';
|
70
71
|
import TransparentIcon from '../icons/transparent.svg';
|
71
72
|
import LoadingOutline from '../icons/loading-outline.svg';
|
73
|
+
import AlertSuccess from '../icons/alert-success.svg';
|
74
|
+
import AlertInfo from '../icons/alert-info.svg';
|
75
|
+
import AlertWarning from '../icons/alert-warning.svg';
|
76
|
+
import AlertDanger from '../icons/alert-danger.svg';
|
72
77
|
|
73
78
|
// 兼容原来的用法,后续不直接试用。
|
74
79
|
|
@@ -120,6 +125,7 @@ registerIcon('view', ViewIcon);
|
|
120
125
|
registerIcon('remove', RemoveIcon);
|
121
126
|
registerIcon('retry', RetryIcon);
|
122
127
|
registerIcon('upload', UploadIcon);
|
128
|
+
registerIcon('download', DownloadIcon);
|
123
129
|
registerIcon('file', FileIcon);
|
124
130
|
registerIcon('status-success', StatusSuccessIcon);
|
125
131
|
registerIcon('status-fail', StatusFailIcon);
|
@@ -164,6 +170,10 @@ registerIcon('expand-alt', ExpandAltIcon);
|
|
164
170
|
registerIcon('compress-alt', CompressAltIcon);
|
165
171
|
registerIcon('transparent', TransparentIcon);
|
166
172
|
registerIcon('loading-outline', LoadingOutline);
|
173
|
+
registerIcon('alert-success', AlertSuccess);
|
174
|
+
registerIcon('alert-info', AlertInfo);
|
175
|
+
registerIcon('alert-warning', AlertWarning);
|
176
|
+
registerIcon('alert-danger', AlertDanger);
|
167
177
|
|
168
178
|
export function Icon({
|
169
179
|
icon,
|
package/src/components/index.tsx
CHANGED
@@ -10,7 +10,7 @@ import {default as ContextMenu, openContextMenus} from './ContextMenu';
|
|
10
10
|
import AsideNav from './AsideNav';
|
11
11
|
import Button from './Button';
|
12
12
|
import Checkbox from './Checkbox';
|
13
|
-
import Checkboxes from './
|
13
|
+
import Checkboxes from './Selection';
|
14
14
|
import Collapse from './Collapse';
|
15
15
|
import DatePicker from './DatePicker';
|
16
16
|
import DateRangePicker from './DateRangePicker';
|
@@ -41,19 +41,19 @@ import Tree from './Tree';
|
|
41
41
|
import Alert2 from './Alert2';
|
42
42
|
import Transfer from './Transfer';
|
43
43
|
import TabsTransfer from './TabsTransfer';
|
44
|
-
import ListCheckboxes from './ListCheckboxes';
|
45
|
-
import TableCheckboxes from './TableCheckboxes';
|
46
|
-
import TreeCheckboxes from './TreeCheckboxes';
|
47
|
-
import ChainedCheckboxes from './ChainedCheckboxes';
|
48
44
|
import ResultBox from './ResultBox';
|
49
45
|
import InputBox from './InputBox';
|
50
|
-
import ListRadios from './ListRadios';
|
51
|
-
import TreeRadios from './TreeRadios';
|
52
46
|
import ListGroup from './ListGroup';
|
53
47
|
import NumberInput from './NumberInput';
|
54
48
|
import ArrayInput from './ArrayInput';
|
55
49
|
import SearchBox from './SearchBox';
|
56
50
|
import AnchorNav from './AnchorNav';
|
51
|
+
import Selection from './Selection';
|
52
|
+
import GroupedSelection from './GroupedSelection';
|
53
|
+
import ChainedSelection from './ChainedSelection';
|
54
|
+
import TableSelection from './TableSelection';
|
55
|
+
import TreeSelection from './TreeSelection';
|
56
|
+
import AssociatedSelection from './AssociatedSelection';
|
57
57
|
|
58
58
|
export {
|
59
59
|
NotFound,
|
@@ -99,15 +99,15 @@ export {
|
|
99
99
|
Tree,
|
100
100
|
Transfer,
|
101
101
|
TabsTransfer,
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
102
|
+
Selection,
|
103
|
+
GroupedSelection,
|
104
|
+
ChainedSelection,
|
105
|
+
TableSelection,
|
106
|
+
TreeSelection,
|
107
|
+
AssociatedSelection,
|
106
108
|
ResultBox,
|
107
109
|
InputBox,
|
108
|
-
ListRadios,
|
109
110
|
SearchBox,
|
110
|
-
TreeRadios,
|
111
111
|
ListGroup,
|
112
112
|
NumberInput,
|
113
113
|
ArrayInput,
|
package/src/envOverwrite.ts
CHANGED
@@ -4,19 +4,31 @@
|
|
4
4
|
|
5
5
|
import {SchemaNode, Schema} from './types';
|
6
6
|
import {RendererProps, RendererConfig, addSchemaFilter} from './factory';
|
7
|
-
|
7
|
+
import {findObjectsWithKey} from './utils/helper';
|
8
8
|
const isMobile = (window as any).matchMedia?.('(max-width: 768px)').matches
|
9
9
|
? true
|
10
10
|
: false;
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
// 这里不能用 addSchemaFilter 是因为还需要更深层的替换,比如 select 里的 options
|
13
|
+
export const envOverwrite = (schema: any, locale?: string) => {
|
14
|
+
if (schema.mobile && isMobile) {
|
15
|
+
Object.assign(schema, schema.mobile);
|
16
|
+
delete schema.mobile;
|
15
17
|
}
|
16
18
|
|
17
|
-
if (
|
18
|
-
|
19
|
+
if (locale) {
|
20
|
+
let schemaNodes = findObjectsWithKey(schema, locale);
|
21
|
+
for (let schemaNode of schemaNodes) {
|
22
|
+
Object.assign(schemaNode, schemaNode[locale]);
|
23
|
+
delete schemaNode[locale];
|
24
|
+
}
|
19
25
|
}
|
20
26
|
|
21
|
-
|
22
|
-
|
27
|
+
if (isMobile) {
|
28
|
+
let schemaNodes = findObjectsWithKey(schema, 'mobile');
|
29
|
+
for (let schemaNode of schemaNodes) {
|
30
|
+
Object.assign(schemaNode, schemaNode['mobile']);
|
31
|
+
delete schemaNode['mobile'];
|
32
|
+
}
|
33
|
+
}
|
34
|
+
};
|
package/src/factory.tsx
CHANGED
@@ -3,8 +3,24 @@ import {RendererStore, IRendererStore, IIRendererStore} from './store/index';
|
|
3
3
|
import {getEnv, destroy} from 'mobx-state-tree';
|
4
4
|
import {wrapFetcher} from './utils/api';
|
5
5
|
import {normalizeLink} from './utils/normalizeLink';
|
6
|
-
import {
|
7
|
-
|
6
|
+
import {
|
7
|
+
findIndex,
|
8
|
+
isObject,
|
9
|
+
JSONTraverse,
|
10
|
+
promisify,
|
11
|
+
qsparse,
|
12
|
+
string2regExp
|
13
|
+
} from './utils/helper';
|
14
|
+
import {
|
15
|
+
Api,
|
16
|
+
fetcherResult,
|
17
|
+
Payload,
|
18
|
+
SchemaNode,
|
19
|
+
Schema,
|
20
|
+
Action,
|
21
|
+
EventTrack,
|
22
|
+
PlainObject
|
23
|
+
} from './types';
|
8
24
|
import {observer} from 'mobx-react';
|
9
25
|
import Scoped from './Scoped';
|
10
26
|
import {getTheme, ThemeInstance, ThemeProps} from './theme';
|
@@ -16,6 +32,7 @@ import {getDefaultLocale, makeTranslator, LocaleProps} from './locale';
|
|
16
32
|
import ScopedRootRenderer, {RootRenderProps} from './Root';
|
17
33
|
import {HocStoreFactory} from './WithStore';
|
18
34
|
import {EnvContext, RendererEnv} from './env';
|
35
|
+
import {envOverwrite} from './envOverwrite';
|
19
36
|
|
20
37
|
export interface TestFunc {
|
21
38
|
(
|
@@ -58,6 +75,10 @@ export interface RendererProps extends ThemeProps, LocaleProps {
|
|
58
75
|
};
|
59
76
|
defaultData?: object;
|
60
77
|
className?: any;
|
78
|
+
/**
|
79
|
+
* 是否使用移动端交互
|
80
|
+
*/
|
81
|
+
useMobileUI?: boolean;
|
61
82
|
[propName: string]: any;
|
62
83
|
}
|
63
84
|
|
@@ -114,12 +135,20 @@ export interface RenderOptions {
|
|
114
135
|
affixOffsetTop?: number;
|
115
136
|
affixOffsetBottom?: number;
|
116
137
|
richTextToken?: string;
|
138
|
+
/**
|
139
|
+
* 替换文本,用于实现 URL 替换、语言替换等
|
140
|
+
*/
|
141
|
+
replaceText?: {[propName: string]: any};
|
142
|
+
/**
|
143
|
+
* 文本替换的黑名单,因为属性太多了所以改成黑名单的 fangs
|
144
|
+
*/
|
145
|
+
replaceTextIgnoreKeys?: String[];
|
117
146
|
[propName: string]: any;
|
118
147
|
}
|
119
148
|
|
120
149
|
export interface fetcherConfig {
|
121
150
|
url: string;
|
122
|
-
method?: 'get' | 'post' | 'put' | 'patch' | 'delete';
|
151
|
+
method?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'jsonp';
|
123
152
|
data?: any;
|
124
153
|
config?: any;
|
125
154
|
}
|
@@ -262,19 +291,19 @@ const defaultOptions: RenderOptions = {
|
|
262
291
|
},
|
263
292
|
isCancel() {
|
264
293
|
console.error(
|
265
|
-
'Please
|
294
|
+
'Please implement isCancel. see https://baidu.gitee.io/amis/docs/start/getting-started#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97'
|
266
295
|
);
|
267
296
|
return false;
|
268
297
|
},
|
269
298
|
updateLocation() {
|
270
299
|
console.error(
|
271
|
-
'Please
|
300
|
+
'Please implement updateLocation. see https://baidu.gitee.io/amis/docs/start/getting-started#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97'
|
272
301
|
);
|
273
302
|
},
|
274
303
|
alert,
|
275
304
|
confirm,
|
276
305
|
notify: (type, msg, conf) =>
|
277
|
-
toast[type] ? toast[type](msg) : console.warn('[Notify]', type, msg),
|
306
|
+
toast[type] ? toast[type](msg, conf) : console.warn('[Notify]', type, msg),
|
278
307
|
|
279
308
|
jumpTo: (to: string, action?: any) => {
|
280
309
|
if (to === 'goBack') {
|
@@ -320,7 +349,17 @@ const defaultOptions: RenderOptions = {
|
|
320
349
|
copy(contents: string) {
|
321
350
|
console.error('copy contents', contents);
|
322
351
|
},
|
323
|
-
|
352
|
+
// 用于跟踪用户在界面中的各种操作
|
353
|
+
tracker(eventTrack: EventTrack, props: PlainObject) {},
|
354
|
+
rendererResolver: resolveRenderer,
|
355
|
+
replaceTextIgnoreKeys: [
|
356
|
+
'type',
|
357
|
+
'name',
|
358
|
+
'mode',
|
359
|
+
'target',
|
360
|
+
'reload',
|
361
|
+
'persistData'
|
362
|
+
]
|
324
363
|
};
|
325
364
|
let stores: {
|
326
365
|
[propName: string]: IRendererStore;
|
@@ -340,12 +379,15 @@ export function render(
|
|
340
379
|
const translate = props.translate || makeTranslator(locale);
|
341
380
|
let store = stores[options.session || 'global'];
|
342
381
|
|
382
|
+
// 根据环境覆盖 schema,这个要在最前面做,不然就无法覆盖 validations
|
383
|
+
envOverwrite(schema, locale);
|
384
|
+
|
343
385
|
if (!store) {
|
344
386
|
options = {
|
345
387
|
...defaultOptions,
|
346
388
|
...options,
|
347
389
|
fetcher: options.fetcher
|
348
|
-
? wrapFetcher(options.fetcher)
|
390
|
+
? wrapFetcher(options.fetcher, options.tracker)
|
349
391
|
: defaultOptions.fetcher,
|
350
392
|
confirm: promisify(
|
351
393
|
options.confirm || defaultOptions.confirm || window.confirm
|
@@ -372,6 +414,25 @@ export function render(
|
|
372
414
|
env.locale = locale;
|
373
415
|
}
|
374
416
|
|
417
|
+
// 进行文本替换
|
418
|
+
if (env.replaceText && isObject(env.replaceText)) {
|
419
|
+
const replaceKeys = Object.keys(env.replaceText);
|
420
|
+
replaceKeys.sort().reverse(); // 避免用户将短的放前面
|
421
|
+
const replaceTextIgnoreKeys = new Set(env.replaceTextIgnoreKeys || []);
|
422
|
+
JSONTraverse(schema, (value: any, key: string, object: any) => {
|
423
|
+
if (typeof value === 'string' && !replaceTextIgnoreKeys.has(key)) {
|
424
|
+
for (const replaceKey of replaceKeys) {
|
425
|
+
if (~value.indexOf(replaceKey)) {
|
426
|
+
object[key] = value.replaceAll(
|
427
|
+
replaceKey,
|
428
|
+
env.replaceText[replaceKey]
|
429
|
+
);
|
430
|
+
}
|
431
|
+
}
|
432
|
+
}
|
433
|
+
});
|
434
|
+
}
|
435
|
+
|
375
436
|
return (
|
376
437
|
<EnvContext.Provider value={env}>
|
377
438
|
<ScopedRootRenderer
|
@@ -416,7 +477,7 @@ export function updateEnv(options: Partial<RenderOptions>, session = 'global') {
|
|
416
477
|
};
|
417
478
|
|
418
479
|
if (options.fetcher) {
|
419
|
-
options.fetcher = wrapFetcher(options.fetcher) as any;
|
480
|
+
options.fetcher = wrapFetcher(options.fetcher, options.tracker) as any;
|
420
481
|
}
|
421
482
|
|
422
483
|
if (options.confirm) {
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import {useCallback, useState} from 'react';
|
2
|
+
import isFunction from 'lodash/isFunction';
|
3
|
+
|
4
|
+
const useSetState = <T extends object>(
|
5
|
+
initialState: T = {} as T
|
6
|
+
): [T, (patch: Partial<T> | ((prevState: T) => Partial<T>)) => void] => {
|
7
|
+
const [state, setState] = useState<T>(initialState);
|
8
|
+
|
9
|
+
const setMergeState = useCallback(patch => {
|
10
|
+
setState(prevState => ({
|
11
|
+
...prevState,
|
12
|
+
...(isFunction(patch) ? patch(prevState) : patch)
|
13
|
+
}));
|
14
|
+
}, []);
|
15
|
+
|
16
|
+
return [state, setMergeState];
|
17
|
+
};
|
18
|
+
|
19
|
+
export default useSetState;
|
@@ -0,0 +1,100 @@
|
|
1
|
+
import {useCallback, useRef} from 'react';
|
2
|
+
|
3
|
+
const MIN_DISTANCE = 10;
|
4
|
+
|
5
|
+
type Direction = '' | 'vertical' | 'horizontal';
|
6
|
+
|
7
|
+
function getDirection(x: number, y: number) {
|
8
|
+
if (x > y && x > MIN_DISTANCE) {
|
9
|
+
return 'horizontal';
|
10
|
+
}
|
11
|
+
if (y > x && y > MIN_DISTANCE) {
|
12
|
+
return 'vertical';
|
13
|
+
}
|
14
|
+
return '';
|
15
|
+
}
|
16
|
+
|
17
|
+
const INITIAL_STATE = {
|
18
|
+
startX: 0,
|
19
|
+
startY: 0,
|
20
|
+
deltaX: 0,
|
21
|
+
deltaY: 0,
|
22
|
+
offsetX: 0,
|
23
|
+
offsetY: 0,
|
24
|
+
direction: '' as Direction
|
25
|
+
};
|
26
|
+
|
27
|
+
type StateType = Partial<typeof INITIAL_STATE>;
|
28
|
+
type StateFunctionType = (value: StateType) => typeof INITIAL_STATE;
|
29
|
+
|
30
|
+
const useTouch = () => {
|
31
|
+
const refState = useRef(INITIAL_STATE);
|
32
|
+
const innerState = refState.current;
|
33
|
+
|
34
|
+
const update = (value: StateType | StateFunctionType) => {
|
35
|
+
if (typeof value === 'function') {
|
36
|
+
value = value(refState.current);
|
37
|
+
}
|
38
|
+
Object.entries(value).forEach(([k, v]) => {
|
39
|
+
//@ts-ignore
|
40
|
+
refState.current[k] = v;
|
41
|
+
});
|
42
|
+
};
|
43
|
+
|
44
|
+
const isVertical = useCallback(
|
45
|
+
() => innerState.direction === 'vertical',
|
46
|
+
[innerState.direction]
|
47
|
+
);
|
48
|
+
const isHorizontal = useCallback(
|
49
|
+
() => innerState.direction === 'horizontal',
|
50
|
+
[innerState.direction]
|
51
|
+
);
|
52
|
+
|
53
|
+
const reset = () => {
|
54
|
+
update({
|
55
|
+
deltaX: 0,
|
56
|
+
deltaY: 0,
|
57
|
+
offsetX: 0,
|
58
|
+
offsetY: 0,
|
59
|
+
direction: ''
|
60
|
+
});
|
61
|
+
};
|
62
|
+
|
63
|
+
const start = ((event: TouchEvent) => {
|
64
|
+
reset();
|
65
|
+
update({
|
66
|
+
startX: event.touches[0].clientX,
|
67
|
+
startY: event.touches[0].clientY
|
68
|
+
});
|
69
|
+
}) as EventListener;
|
70
|
+
|
71
|
+
const move = ((event: TouchEvent) => {
|
72
|
+
const touch = event.touches[0];
|
73
|
+
|
74
|
+
update(value => {
|
75
|
+
// Fix: Safari back will set clientX to negative number
|
76
|
+
const newState = {...value} as typeof innerState;
|
77
|
+
|
78
|
+
newState.deltaX = touch.clientX < 0 ? 0 : touch.clientX - newState.startX;
|
79
|
+
newState.deltaY = touch.clientY - newState.startY;
|
80
|
+
newState.offsetX = Math.abs(newState.deltaX);
|
81
|
+
newState.offsetY = Math.abs(newState.deltaY);
|
82
|
+
|
83
|
+
if (!newState.direction) {
|
84
|
+
newState.direction = getDirection(newState.offsetX, newState.offsetY);
|
85
|
+
}
|
86
|
+
return newState;
|
87
|
+
});
|
88
|
+
}) as EventListener;
|
89
|
+
|
90
|
+
return {
|
91
|
+
...innerState,
|
92
|
+
move,
|
93
|
+
start,
|
94
|
+
reset,
|
95
|
+
isVertical,
|
96
|
+
isHorizontal
|
97
|
+
};
|
98
|
+
};
|
99
|
+
|
100
|
+
export default useTouch;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import {useEffect, useRef} from 'react';
|
2
|
+
|
3
|
+
const useUpdateEffect: typeof useEffect = (effect, deps) => {
|
4
|
+
const isMounted = useRef(false);
|
5
|
+
|
6
|
+
useEffect(() => {
|
7
|
+
if (!isMounted.current) {
|
8
|
+
isMounted.current = true;
|
9
|
+
} else {
|
10
|
+
return effect();
|
11
|
+
}
|
12
|
+
return undefined;
|
13
|
+
}, deps);
|
14
|
+
};
|
15
|
+
|
16
|
+
export default useUpdateEffect;
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" width="16px" fill="currentColor"><path d="M667.904 704.32L508.992 546.56l-157.888 158.912-45.376-45.056 157.824-158.976L304.64 343.488l45.12-45.376 158.912 157.824 157.888-158.848 45.44 45.056L553.984 501.12l158.976 157.888-45.12 45.44zM510.528 64a448 448 0 1 0 2.944 896 448 448 0 0 0-2.944-896z" fill="#E8684A"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" width="16px" fill="currentColor"><path d="M512 64A448 448 0 1 1 512 960 448 448 0 0 1 512 64z m32 354.944h-64V768h64V418.944zM512 256a38.4 38.4 0 1 0-0.128 76.672A38.4 38.4 0 0 0 512 256z" fill="#2468F2"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" width="16px" fill="currentColor"><path d="M449.856 706.56l-45.44-45.056 0.128-0.064L268.16 526.016l45.12-45.44 136.32 135.488 270.592-272.384 45.376 45.056-315.712 317.888zM510.528 64A448 448 0 1 0 960 510.528 448 448 0 0 0 510.528 64z" fill="#0BC286"></path></svg>
|
@@ -0,0 +1 @@
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" width="16px" fill="currentColor"><path d="M512 64A448 448 0 1 1 512 960 448 448 0 0 1 512 64z m0 627.2A38.4 38.4 0 1 0 512 768a38.4 38.4 0 0 0 0-76.8zM544 256h-64v349.12h64V256z" fill="#FFB200"></path></svg>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="download" class="svg-inline--fa fa-download fa-w-16" role="img"
|
2
|
+
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
3
|
+
<path fill="currentColor" d="M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"></path>
|
4
|
+
</svg>
|
package/src/icons/drag-bar.svg
CHANGED
@@ -1,7 +1,13 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
<
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
3
|
+
<g transform="translate(5.000000, 1.000000)" stroke-width="1" stroke="currentColor">
|
4
|
+
<circle cx="1" cy="1" r="1"></circle>
|
5
|
+
<circle cx="5" cy="1" r="1"></circle>
|
6
|
+
<circle cx="1" cy="5" r="1"></circle>
|
7
|
+
<circle cx="5" cy="5" r="1"></circle>
|
8
|
+
<circle cx="1" cy="9" r="1"></circle>
|
9
|
+
<circle cx="5" cy="9" r="1"></circle>
|
10
|
+
<circle cx="1" cy="13" r="1"></circle>
|
11
|
+
<circle cx="5" cy="13" r="1"></circle>
|
6
12
|
</g>
|
7
|
-
</svg>
|
13
|
+
</svg>
|
package/src/index.tsx
CHANGED
@@ -56,6 +56,7 @@ import './renderers/Form/ButtonToolbar';
|
|
56
56
|
import './renderers/Breadcrumb';
|
57
57
|
import './renderers/DropDownButton';
|
58
58
|
import './renderers/Collapse';
|
59
|
+
import './renderers/CollapseGroup';
|
59
60
|
import './renderers/Color';
|
60
61
|
import './renderers/CRUD';
|
61
62
|
import './renderers/Pagination';
|
@@ -111,12 +112,14 @@ import './renderers/Form/InputColor';
|
|
111
112
|
import './renderers/Form/ChainedSelect';
|
112
113
|
import './renderers/Form/NestedSelect';
|
113
114
|
import './renderers/Form/Transfer';
|
115
|
+
import './renderers/Form/TransferPicker';
|
114
116
|
import './renderers/Form/InputTable';
|
115
117
|
import './renderers/Form/Picker';
|
116
118
|
import './renderers/Form/IconPicker';
|
117
119
|
import './renderers/Form/Formula';
|
118
120
|
import './renderers/Form/FieldSet';
|
119
121
|
import './renderers/Form/TabsTransfer';
|
122
|
+
import './renderers/Form/TabsTransferPicker';
|
120
123
|
import './renderers/Form/Group';
|
121
124
|
import './renderers/Form/InputGroup';
|
122
125
|
import './renderers/Grid';
|
@@ -133,6 +136,7 @@ import './renderers/PaginationWrapper';
|
|
133
136
|
import './renderers/Panel';
|
134
137
|
import './renderers/Plain';
|
135
138
|
import './renderers/Property';
|
139
|
+
import './renderers/Portlet';
|
136
140
|
import './renderers/Spinner';
|
137
141
|
import './renderers/Table/index';
|
138
142
|
import './renderers/Tabs';
|
@@ -164,6 +168,7 @@ import './renderers/Markdown';
|
|
164
168
|
import './renderers/TableView';
|
165
169
|
import './renderers/Code';
|
166
170
|
import './renderers/WebComponent';
|
171
|
+
import './renderers/GridNav';
|
167
172
|
|
168
173
|
import Scoped, {ScopedContext} from './Scoped';
|
169
174
|
|
package/src/locale/de-DE.ts
CHANGED
@@ -181,6 +181,7 @@ register('de-DE', {
|
|
181
181
|
'Transfer.configError': 'Konfigurationsfehler',
|
182
182
|
'Transfer.refreshIcon': 'Zum Aktualisieren klicken',
|
183
183
|
'Transfer.searchKeyword': 'Stichwörter eingeben',
|
184
|
+
'Transfer.available': 'Verfügbar',
|
184
185
|
'Transfer.selectd': 'Ausgewählt',
|
185
186
|
'Transfer.selectFromLeft': 'Von links auswählen',
|
186
187
|
'Tree.addChild': 'Untergeordnetes Element hinzufügen',
|
@@ -222,6 +223,7 @@ register('de-DE', {
|
|
222
223
|
'Wizard.saveAndNext': 'Speichern & Weiter',
|
223
224
|
'year-to-year': '{{from}} - {{to}}',
|
224
225
|
'Year.placeholder': 'Wählen Sie ein Jahr',
|
226
|
+
'reload': 'Neu laden',
|
225
227
|
'rotate': 'Drehen',
|
226
228
|
'Editor.fullscreen': 'Schirmfüllend Modus',
|
227
229
|
'Editor.exitFullscreen': 'Zurücktreten Schirmfüllend Modus',
|