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
package/lib/types.d.ts
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
+
import type { ActionSchema } from './renderers/Action';
|
2
3
|
import { SchemaApiObject } from './Schema';
|
3
4
|
export interface ApiObject extends SchemaApiObject {
|
4
5
|
config?: {
|
@@ -28,7 +29,7 @@ export interface fetcherResult {
|
|
28
29
|
headers: object;
|
29
30
|
}
|
30
31
|
export interface fetchOptions {
|
31
|
-
method?: 'get' | 'post' | 'put' | 'patch' | 'delete';
|
32
|
+
method?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'jsonp';
|
32
33
|
successMessage?: string;
|
33
34
|
errorMessage?: string;
|
34
35
|
autoAppend?: boolean;
|
@@ -118,4 +119,40 @@ export declare type FunctionPropertyNames<T> = {
|
|
118
119
|
export interface JSONSchema {
|
119
120
|
[propsName: string]: any;
|
120
121
|
}
|
122
|
+
/**
|
123
|
+
* 事件跟踪的定义
|
124
|
+
*/
|
125
|
+
export interface EventTrack {
|
126
|
+
/**
|
127
|
+
* 事件类型,目前有以下几种
|
128
|
+
*
|
129
|
+
* api: 所有 fetcher 前调用
|
130
|
+
* url: 打开外部链接,组件有可能是 action 也有可能是 link
|
131
|
+
* link: 打开内部链接
|
132
|
+
* dialog: action 的弹框
|
133
|
+
* drawer: action 的抽出式弹框
|
134
|
+
* copy: action 里的复制
|
135
|
+
* reload: action 里的 reload
|
136
|
+
* email: action 里的 email
|
137
|
+
* prev: action 里的 prev
|
138
|
+
* next: action 里的 next
|
139
|
+
* cancel: action 里的 cancel
|
140
|
+
* close: action 里的 close
|
141
|
+
* submit: 有可能是 action 里的 submit,也有可能是表单提交
|
142
|
+
* confirm: action 里的 confirm
|
143
|
+
* add: action 里的 add
|
144
|
+
* reset: action 里的 reset
|
145
|
+
* reset-and-submit: action 里的 reset-and-submit
|
146
|
+
* formItemChange: 表单项内容变化
|
147
|
+
* formError: 表单验证失败
|
148
|
+
* formSubmit: 表单成功提交,在表单验证成功之后才会触发,这个可能会和 api 重合
|
149
|
+
* tabChange: tab 切换
|
150
|
+
* netError: api 报错
|
151
|
+
*/
|
152
|
+
eventType: 'api' | 'url' | 'link' | 'dialog' | 'drawer' | 'copy' | 'reload' | 'email' | 'prev' | 'next' | 'cancel' | 'close' | 'submit' | 'confirm' | 'reset' | 'reset-and-submit' | 'formItemChange' | 'tabChange';
|
153
|
+
/**
|
154
|
+
* 事件数据
|
155
|
+
*/
|
156
|
+
eventData: ActionSchema | Api;
|
157
|
+
}
|
121
158
|
export {};
|
package/lib/types.js
CHANGED
@@ -1,8 +1,3 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
// export type Omit<T, K extends keyof T & any> = Pick<T, Exclude<keyof T, K>>;
|
4
|
-
// export type Override<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;
|
5
|
-
// export type ExtractProps<
|
6
|
-
// TComponentOrTProps
|
7
|
-
// > = TComponentOrTProps extends React.ComponentType<infer P> ? P : never;
|
8
3
|
//# sourceMappingURL=./types.js.map
|
package/lib/types.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/types.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "
|
9
|
+
"mappings": "",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {SchemaApiObject} from './Schema';\n\nexport interface ApiObject extends SchemaApiObject {\n config?: {\n withCredentials?: boolean;\n cancelExecutor?: (cancel: Function) => void;\n };\n body?: PlainObject;\n query?: PlainObject;\n adaptor?: (payload: object, response: fetcherResult, api: ApiObject) => any;\n requestAdaptor?: (api: ApiObject) => ApiObject;\n}\nexport type ApiString = string;\nexport type Api = ApiString | ApiObject;\n\nexport interface fetcherResult {\n data?: {\n data: object;\n status: number;\n msg: string;\n msgTimeout?: number;\n errors?: {\n [propName: string]: string;\n };\n type?: string;\n [propName: string]: any; // 为了兼容其他返回格式\n };\n status: number;\n headers: object;\n}\n\nexport interface fetchOptions {\n method?: 'get' | 'post' | 'put' | 'patch' | 'delete';\n successMessage?: string;\n errorMessage?: string;\n autoAppend?: boolean;\n beforeSend?: (data: any) => any;\n onSuccess?: (json: Payload) => any;\n onFailed?: (json: Payload) => any;\n silent?: boolean;\n [propName: string]: any;\n}\n\nexport interface Payload {\n ok: boolean;\n msg: string;\n msgTimeout?: number;\n data: any;\n status: number;\n errors?: {\n [propName: string]: string;\n };\n}\n\nexport interface Schema {\n type: string;\n detectField?: string;\n visibleOn?: string;\n hiddenOn?: string;\n children?: JSX.Element | ((props: any, schema?: any) => JSX.Element) | null;\n definitions?: Definitions;\n [propName: string]: any;\n}\n\nexport interface Button {\n type: 'submit' | 'button' | 'reset';\n label?: string;\n icon?: string;\n size?: string;\n disabled?: boolean;\n className?: string;\n}\n\nexport type SchemaNode = Schema | string | Array<Schema | string>;\nexport interface SchemaArray extends Array<SchemaNode> {}\nexport interface Definitions {\n [propName: string]: SchemaNode;\n}\nexport interface Action extends Button {\n actionType?:\n | 'submit'\n | 'copy'\n | 'reload'\n | 'ajax'\n | 'dialog'\n | 'drawer'\n | 'jump'\n | 'link'\n | 'url'\n | 'email'\n | 'close'\n | 'confirm'\n | 'add'\n | 'remove'\n | 'delete'\n | 'edit'\n | 'cancel'\n | 'next'\n | 'prev'\n | 'reset'\n | 'reset-and-submit'\n | 'clear'\n | 'clear-and-submit';\n api?: Api;\n asyncApi?: Api;\n payload?: any;\n dialog?: SchemaNode;\n to?: string;\n target?: string;\n link?: string;\n url?: string;\n cc?: string;\n bcc?: string;\n subject?: string;\n body?: string;\n mergeData?: boolean;\n reload?: string;\n messages?: {\n success?: string;\n failed?: string;\n };\n feedback?: any;\n required?: Array<string>;\n [propName: string]: any;\n}\n\nexport interface Location {\n pathname: string;\n search: string;\n state: any;\n hash: string;\n key?: string;\n query?: any;\n}\n\nexport interface PlainObject {\n [propsName: string]: any;\n}\n\nexport interface RendererData {\n [propsName: string]: any;\n __prev?: RendererDataAlias;\n __super?: RendererData;\n}\ntype RendererDataAlias = RendererData;\n\nexport type FunctionPropertyNames<T> = {\n [K in keyof T]: T[K] extends Function ? K : never;\n}[keyof T];\n\nexport interface JSONSchema {\n [propsName: string]: any;\n}\n\n// export type Omit<T, K extends keyof T & any> = Pick<T, Exclude<keyof T, K>>;\n// export type Override<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;\n// export type ExtractProps<\n// TComponentOrTProps\n// > = TComponentOrTProps extends React.ComponentType<infer P> ? P : never;\n"
|
11
|
+
"import type {ActionSchema} from './renderers/Action';\nimport {SchemaApiObject} from './Schema';\n\nexport interface ApiObject extends SchemaApiObject {\n config?: {\n withCredentials?: boolean;\n cancelExecutor?: (cancel: Function) => void;\n };\n body?: PlainObject;\n query?: PlainObject;\n adaptor?: (payload: object, response: fetcherResult, api: ApiObject) => any;\n requestAdaptor?: (api: ApiObject) => ApiObject;\n}\nexport type ApiString = string;\nexport type Api = ApiString | ApiObject;\n\nexport interface fetcherResult {\n data?: {\n data: object;\n status: number;\n msg: string;\n msgTimeout?: number;\n errors?: {\n [propName: string]: string;\n };\n type?: string;\n [propName: string]: any; // 为了兼容其他返回格式\n };\n status: number;\n headers: object;\n}\n\nexport interface fetchOptions {\n method?: 'get' | 'post' | 'put' | 'patch' | 'delete' | 'jsonp';\n successMessage?: string;\n errorMessage?: string;\n autoAppend?: boolean;\n beforeSend?: (data: any) => any;\n onSuccess?: (json: Payload) => any;\n onFailed?: (json: Payload) => any;\n silent?: boolean;\n [propName: string]: any;\n}\n\nexport interface Payload {\n ok: boolean;\n msg: string;\n msgTimeout?: number;\n data: any;\n status: number;\n errors?: {\n [propName: string]: string;\n };\n}\n\nexport interface Schema {\n type: string;\n detectField?: string;\n visibleOn?: string;\n hiddenOn?: string;\n children?: JSX.Element | ((props: any, schema?: any) => JSX.Element) | null;\n definitions?: Definitions;\n [propName: string]: any;\n}\n\nexport interface Button {\n type: 'submit' | 'button' | 'reset';\n label?: string;\n icon?: string;\n size?: string;\n disabled?: boolean;\n className?: string;\n}\n\nexport type SchemaNode = Schema | string | Array<Schema | string>;\nexport interface SchemaArray extends Array<SchemaNode> {}\nexport interface Definitions {\n [propName: string]: SchemaNode;\n}\nexport interface Action extends Button {\n actionType?:\n | 'submit'\n | 'copy'\n | 'reload'\n | 'ajax'\n | 'dialog'\n | 'drawer'\n | 'jump'\n | 'link'\n | 'url'\n | 'email'\n | 'close'\n | 'confirm'\n | 'add'\n | 'remove'\n | 'delete'\n | 'edit'\n | 'cancel'\n | 'next'\n | 'prev'\n | 'reset'\n | 'reset-and-submit'\n | 'clear'\n | 'clear-and-submit';\n api?: Api;\n asyncApi?: Api;\n payload?: any;\n dialog?: SchemaNode;\n to?: string;\n target?: string;\n link?: string;\n url?: string;\n cc?: string;\n bcc?: string;\n subject?: string;\n body?: string;\n mergeData?: boolean;\n reload?: string;\n messages?: {\n success?: string;\n failed?: string;\n };\n feedback?: any;\n required?: Array<string>;\n [propName: string]: any;\n}\n\nexport interface Location {\n pathname: string;\n search: string;\n state: any;\n hash: string;\n key?: string;\n query?: any;\n}\n\nexport interface PlainObject {\n [propsName: string]: any;\n}\n\nexport interface RendererData {\n [propsName: string]: any;\n __prev?: RendererDataAlias;\n __super?: RendererData;\n}\ntype RendererDataAlias = RendererData;\n\nexport type FunctionPropertyNames<T> = {\n [K in keyof T]: T[K] extends Function ? K : never;\n}[keyof T];\n\nexport interface JSONSchema {\n [propsName: string]: any;\n}\n\n// export type Omit<T, K extends keyof T & any> = Pick<T, Exclude<keyof T, K>>;\n// export type Override<M, N> = Omit<M, Extract<keyof M, keyof N>> & N;\n// export type ExtractProps<\n// TComponentOrTProps\n// > = TComponentOrTProps extends React.ComponentType<infer P> ? P : never;\n\n/**\n * 事件跟踪的定义\n */\nexport interface EventTrack {\n /**\n * 事件类型,目前有以下几种\n *\n * api: 所有 fetcher 前调用\n * url: 打开外部链接,组件有可能是 action 也有可能是 link\n * link: 打开内部链接\n * dialog: action 的弹框\n * drawer: action 的抽出式弹框\n * copy: action 里的复制\n * reload: action 里的 reload\n * email: action 里的 email\n * prev: action 里的 prev\n * next: action 里的 next\n * cancel: action 里的 cancel\n * close: action 里的 close\n * submit: 有可能是 action 里的 submit,也有可能是表单提交\n * confirm: action 里的 confirm\n * add: action 里的 add\n * reset: action 里的 reset\n * reset-and-submit: action 里的 reset-and-submit\n * formItemChange: 表单项内容变化\n * formError: 表单验证失败\n * formSubmit: 表单成功提交,在表单验证成功之后才会触发,这个可能会和 api 重合\n * tabChange: tab 切换\n * netError: api 报错\n */\n eventType:\n | 'api'\n | 'url'\n | 'link'\n | 'dialog'\n | 'drawer'\n | 'copy'\n | 'reload'\n | 'email'\n | 'prev'\n | 'next'\n | 'cancel'\n | 'close'\n | 'submit'\n | 'confirm'\n | 'reset'\n | 'reset-and-submit'\n | 'formItemChange'\n | 'tabChange';\n\n /**\n * 事件数据\n */\n eventData: ActionSchema | Api;\n}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/utils/api.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Api, ApiObject, fetcherResult, Payload } from '../types';
|
1
|
+
import { Api, ApiObject, EventTrack, fetcherResult, Payload } from '../types';
|
2
2
|
import { fetcherConfig } from '../factory';
|
3
3
|
interface ApiCacheConfig extends ApiObject {
|
4
4
|
cachedPromise: Promise<any>;
|
@@ -13,8 +13,9 @@ export declare function buildApi(api: Api, data?: object, options?: {
|
|
13
13
|
export declare function str2function(contents: string, ...args: Array<string>): Function | null;
|
14
14
|
export declare function str2AsyncFunction(contents: string, ...args: Array<string>): Function | null;
|
15
15
|
export declare function responseAdaptor(ret: fetcherResult, api: ApiObject): Payload;
|
16
|
-
export declare function wrapFetcher(fn: (config: fetcherConfig) => Promise<fetcherResult
|
16
|
+
export declare function wrapFetcher(fn: (config: fetcherConfig) => Promise<fetcherResult>, tracker?: (eventTrack: EventTrack, data: any) => void): (api: Api, data: object, options?: object) => Promise<Payload | void>;
|
17
17
|
export declare function wrapAdaptor(promise: Promise<fetcherResult>, api: ApiObject): Promise<Payload>;
|
18
|
+
export declare function jsonpFetcher(api: ApiObject): Promise<fetcherResult>;
|
18
19
|
export declare function isApiOutdated(prevApi: Api | undefined, nextApi: Api | undefined, prevData: any, nextData: any): nextApi is Api;
|
19
20
|
export declare function isValidApi(api: string): boolean | "";
|
20
21
|
export declare function isEffectiveApi(api?: Api, data?: any, initFetch?: boolean, initFetchOn?: string): api is Api;
|
package/lib/utils/api.js
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.normalizeApiResponseData = exports.clearApiCache = exports.setApiCache = exports.getApiCache = exports.isSameApi = exports.isEffectiveApi = exports.isValidApi = exports.isApiOutdated = exports.wrapAdaptor = exports.wrapFetcher = exports.responseAdaptor = exports.str2AsyncFunction = exports.str2function = exports.buildApi = exports.normalizeApi = void 0;
|
3
|
+
exports.normalizeApiResponseData = exports.clearApiCache = exports.setApiCache = exports.getApiCache = exports.isSameApi = exports.isEffectiveApi = exports.isValidApi = exports.isApiOutdated = exports.jsonpFetcher = exports.wrapAdaptor = exports.wrapFetcher = exports.responseAdaptor = exports.str2AsyncFunction = exports.str2function = exports.buildApi = exports.normalizeApi = void 0;
|
4
4
|
var tslib_1 = require("tslib");
|
5
|
+
var omit_1 = (0, tslib_1.__importDefault)(require("lodash/omit"));
|
5
6
|
var tpl_builtin_1 = require("./tpl-builtin");
|
6
7
|
var tpl_1 = require("./tpl");
|
7
8
|
var helper_1 = require("./helper");
|
8
9
|
var isPlainObject_1 = (0, tslib_1.__importDefault)(require("lodash/isPlainObject"));
|
9
|
-
var rSchema = /(?:^|raw\:)(get|post|put|delete|patch|options|head):/i;
|
10
|
+
var rSchema = /(?:^|raw\:)(get|post|put|delete|patch|options|head|jsonp):/i;
|
10
11
|
var apiCaches = [];
|
11
12
|
var isIE = !!document.documentMode;
|
12
13
|
function normalizeApi(api, defaultMethod) {
|
@@ -31,6 +32,15 @@ function buildApi(api, data, options) {
|
|
31
32
|
var autoAppend = options.autoAppend, ignoreData = options.ignoreData, rest = (0, tslib_1.__rest)(options, ["autoAppend", "ignoreData"]);
|
32
33
|
api.config = (0, tslib_1.__assign)({}, rest);
|
33
34
|
api.method = (api.method || options.method || 'get').toLowerCase();
|
35
|
+
if (api.headers) {
|
36
|
+
api.headers = (0, tpl_builtin_1.dataMapping)(api.headers, data, undefined, false);
|
37
|
+
}
|
38
|
+
if (api.requestAdaptor && typeof api.requestAdaptor === 'string') {
|
39
|
+
api.requestAdaptor = str2function(api.requestAdaptor, 'api');
|
40
|
+
}
|
41
|
+
if (api.adaptor && typeof api.adaptor === 'string') {
|
42
|
+
api.adaptor = str2function(api.adaptor, 'payload', 'response', 'api');
|
43
|
+
}
|
34
44
|
if (!data) {
|
35
45
|
return api;
|
36
46
|
}
|
@@ -63,7 +73,7 @@ function buildApi(api, data, options) {
|
|
63
73
|
api.body = api.data = (0, helper_1.cloneObject)(data);
|
64
74
|
}
|
65
75
|
// get 类请求,把 data 附带到 url 上。
|
66
|
-
if (api.method === 'get') {
|
76
|
+
if (api.method === 'get' || api.method === 'jsonp') {
|
67
77
|
if (!~raw.indexOf('$') && !api.data && autoAppend) {
|
68
78
|
api.query = api.data = data;
|
69
79
|
}
|
@@ -94,15 +104,6 @@ function buildApi(api, data, options) {
|
|
94
104
|
delete api.data;
|
95
105
|
}
|
96
106
|
}
|
97
|
-
if (api.headers) {
|
98
|
-
api.headers = (0, tpl_builtin_1.dataMapping)(api.headers, data, undefined, false);
|
99
|
-
}
|
100
|
-
if (api.requestAdaptor && typeof api.requestAdaptor === 'string') {
|
101
|
-
api.requestAdaptor = str2function(api.requestAdaptor, 'api');
|
102
|
-
}
|
103
|
-
if (api.adaptor && typeof api.adaptor === 'string') {
|
104
|
-
api.adaptor = str2function(api.adaptor, 'payload', 'response', 'api');
|
105
|
-
}
|
106
107
|
return api;
|
107
108
|
}
|
108
109
|
exports.buildApi = buildApi;
|
@@ -145,7 +146,21 @@ function responseAdaptor(ret, api) {
|
|
145
146
|
var data = ret.data;
|
146
147
|
var hasStatusField = true;
|
147
148
|
if (!data) {
|
148
|
-
throw new Error('Response is empty
|
149
|
+
throw new Error('Response is empty');
|
150
|
+
}
|
151
|
+
if (typeof data === 'string') {
|
152
|
+
try {
|
153
|
+
data = JSON.parse(data);
|
154
|
+
if (typeof data === 'undefined') {
|
155
|
+
throw new Error('Response should be JSON');
|
156
|
+
}
|
157
|
+
}
|
158
|
+
catch (e) {
|
159
|
+
var responseBrief = typeof data === 'string'
|
160
|
+
? (0, tpl_builtin_1.escapeHtml)(data.substring(0, 100))
|
161
|
+
: '';
|
162
|
+
throw new Error("Response should be JSON\n " + responseBrief);
|
163
|
+
}
|
149
164
|
}
|
150
165
|
// 兼容几种常见写法
|
151
166
|
if (data.hasOwnProperty('errorCode')) {
|
@@ -191,18 +206,20 @@ function responseAdaptor(ret, api) {
|
|
191
206
|
payload.errors = data.errors;
|
192
207
|
}
|
193
208
|
if (payload.ok && api.responseData) {
|
194
|
-
|
209
|
+
var responseData = (0, tpl_builtin_1.dataMapping)(api.responseData, (0, helper_1.createObject)({ api: api }, (Array.isArray(payload.data)
|
195
210
|
? {
|
196
211
|
items: payload.data
|
197
212
|
}
|
198
213
|
: payload.data) || {}), undefined, api.convertKeyToPath);
|
214
|
+
console.debug('responseData', responseData);
|
215
|
+
payload.data = responseData;
|
199
216
|
}
|
200
217
|
return payload;
|
201
218
|
}
|
202
219
|
exports.responseAdaptor = responseAdaptor;
|
203
|
-
function wrapFetcher(fn) {
|
220
|
+
function wrapFetcher(fn, tracker) {
|
204
221
|
return function (api, data, options) {
|
205
|
-
var _a;
|
222
|
+
var _a, _b;
|
206
223
|
api = buildApi(api, data, options);
|
207
224
|
api.requestAdaptor && (api = api.requestAdaptor(api) || api);
|
208
225
|
if (api.data && ((0, helper_1.hasFile)(api.data) || api.dataType === 'form-data')) {
|
@@ -225,6 +242,10 @@ function wrapFetcher(fn) {
|
|
225
242
|
api.headers = api.headers || (api.headers = {});
|
226
243
|
api.headers['Content-Type'] = 'application/json';
|
227
244
|
}
|
245
|
+
tracker === null || tracker === void 0 ? void 0 : tracker({ eventType: 'api', eventData: (0, omit_1.default)(api, ['config', 'data', 'body']) }, api.data);
|
246
|
+
if (((_a = api.method) === null || _a === void 0 ? void 0 : _a.toLocaleLowerCase()) === 'jsonp') {
|
247
|
+
return wrapAdaptor(jsonpFetcher(api), api);
|
248
|
+
}
|
228
249
|
if (typeof api.cache === 'number' && api.cache > 0) {
|
229
250
|
var apiCache = getApiCache(api);
|
230
251
|
return wrapAdaptor(apiCache
|
@@ -232,7 +253,7 @@ function wrapFetcher(fn) {
|
|
232
253
|
: setApiCache(api, fn(api)), api);
|
233
254
|
}
|
234
255
|
// IE 下 get 请求会被缓存,所以自动加个时间戳
|
235
|
-
if (isIE && api && ((
|
256
|
+
if (isIE && api && ((_b = api.method) === null || _b === void 0 ? void 0 : _b.toLocaleLowerCase()) === 'get') {
|
236
257
|
var timeStamp = "_t=" + Date.now();
|
237
258
|
if (api.url.indexOf('?') === -1) {
|
238
259
|
api.url = api.url + ("?" + timeStamp);
|
@@ -269,6 +290,58 @@ function wrapAdaptor(promise, api) {
|
|
269
290
|
: promise.then(function (ret) { return responseAdaptor(ret, api); });
|
270
291
|
}
|
271
292
|
exports.wrapAdaptor = wrapAdaptor;
|
293
|
+
function jsonpFetcher(api) {
|
294
|
+
return new Promise(function (resolve, reject) {
|
295
|
+
var _a;
|
296
|
+
var script = document.createElement('script');
|
297
|
+
var src = api.url;
|
298
|
+
script.async = true;
|
299
|
+
function remove() {
|
300
|
+
if (script) {
|
301
|
+
// @ts-ignore
|
302
|
+
script.onload = script.onreadystatechange = script.onerror = null;
|
303
|
+
if (script.parentNode) {
|
304
|
+
script.parentNode.removeChild(script);
|
305
|
+
}
|
306
|
+
script = null;
|
307
|
+
}
|
308
|
+
}
|
309
|
+
var jsonp = ((_a = api.query) === null || _a === void 0 ? void 0 : _a.callback) || 'axiosJsonpCallback' + (0, helper_1.uuid)();
|
310
|
+
var old = window[jsonp];
|
311
|
+
window[jsonp] = function (responseData) {
|
312
|
+
window[jsonp] = old;
|
313
|
+
var response = {
|
314
|
+
data: responseData,
|
315
|
+
status: 200,
|
316
|
+
headers: {}
|
317
|
+
};
|
318
|
+
resolve(response);
|
319
|
+
};
|
320
|
+
var additionalParams = {
|
321
|
+
_: new Date().getTime(),
|
322
|
+
_callback: jsonp
|
323
|
+
};
|
324
|
+
src += (src.indexOf('?') >= 0 ? '&' : '?') + (0, helper_1.qsstringify)(additionalParams);
|
325
|
+
// @ts-ignore IE 为script.onreadystatechange
|
326
|
+
script.onload = script.onreadystatechange = function () {
|
327
|
+
// @ts-ignore
|
328
|
+
if (!script.readyState || /loaded|complete/.test(script.readyState)) {
|
329
|
+
remove();
|
330
|
+
}
|
331
|
+
};
|
332
|
+
script.onerror = function () {
|
333
|
+
remove();
|
334
|
+
var errResponse = {
|
335
|
+
status: 0,
|
336
|
+
headers: {}
|
337
|
+
};
|
338
|
+
reject(errResponse);
|
339
|
+
};
|
340
|
+
script.src = src;
|
341
|
+
document.head.appendChild(script);
|
342
|
+
});
|
343
|
+
}
|
344
|
+
exports.jsonpFetcher = jsonpFetcher;
|
272
345
|
function isApiOutdated(prevApi, nextApi, prevData, nextData) {
|
273
346
|
var _a;
|
274
347
|
if (!nextApi) {
|
package/lib/utils/api.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/utils/api.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {Api, ApiObject, fetcherResult, Payload} from '../types';\nimport {fetcherConfig} from '../factory';\nimport {tokenize, dataMapping} from './tpl-builtin';\nimport {evalExpression} from './tpl';\nimport {\n isObject,\n isObjectShallowModified,\n hasFile,\n object2formData,\n qsstringify,\n cloneObject,\n createObject,\n qsparse\n} from './helper';\nimport isPlainObject from 'lodash/isPlainObject';\n\nconst rSchema = /(?:^|raw\\:)(get|post|put|delete|patch|options|head):/i;\n\ninterface ApiCacheConfig extends ApiObject {\n cachedPromise: Promise<any>;\n requestTime: number;\n}\n\nconst apiCaches: Array<ApiCacheConfig> = [];\n\nconst isIE = !!(document as any).documentMode;\n\nexport function normalizeApi(\n api: Api,\n defaultMethod: string = 'get'\n): ApiObject {\n if (typeof api === 'string') {\n let method = rSchema.test(api) ? RegExp.$1 : '';\n method && (api = api.replace(method + ':', ''));\n\n api = {\n method: (method || defaultMethod) as any,\n url: api\n };\n } else {\n api = {\n ...api\n };\n }\n return api;\n}\n\nexport function buildApi(\n api: Api,\n data?: object,\n options: {\n autoAppend?: boolean;\n ignoreData?: boolean;\n [propName: string]: any;\n } = {}\n): ApiObject {\n api = normalizeApi(api, options.method);\n const {autoAppend, ignoreData, ...rest} = options;\n\n api.config = {\n ...rest\n };\n api.method = (api.method || (options as any).method || 'get').toLowerCase();\n\n if (!data) {\n return api;\n } else if (\n data instanceof FormData ||\n data instanceof Blob ||\n data instanceof ArrayBuffer\n ) {\n api.data = data;\n return api;\n }\n\n const raw = (api.url = api.url || '');\n const idx = api.url.indexOf('?');\n\n if (~idx) {\n const hashIdx = api.url.indexOf('#');\n const params = qsparse(\n api.url.substring(idx + 1, ~hashIdx ? hashIdx : undefined)\n );\n api.url =\n tokenize(api.url.substring(0, idx + 1), data, '| url_encode') +\n qsstringify(\n (api.query = dataMapping(params, data, undefined, api.convertKeyToPath))\n ) +\n (~hashIdx ? api.url.substring(hashIdx) : '');\n } else {\n api.url = tokenize(api.url, data, '| url_encode');\n }\n\n if (ignoreData) {\n return api;\n }\n\n if (api.data) {\n api.body = api.data = dataMapping(\n api.data,\n data,\n undefined,\n api.convertKeyToPath\n );\n } else if (api.method === 'post' || api.method === 'put') {\n api.body = api.data = cloneObject(data);\n }\n\n // get 类请求,把 data 附带到 url 上。\n if (api.method === 'get') {\n if (!~raw.indexOf('$') && !api.data && autoAppend) {\n api.query = api.data = data;\n } else if (\n api.attachDataToQuery === false &&\n api.data &&\n !~raw.indexOf('$') &&\n autoAppend\n ) {\n const idx = api.url.indexOf('?');\n if (~idx) {\n let params = (api.query = {\n ...qsparse(api.url.substring(idx + 1)),\n ...data\n });\n api.url = api.url.substring(0, idx) + '?' + qsstringify(params);\n } else {\n api.query = data;\n api.url += '?' + qsstringify(data);\n }\n }\n\n if (api.data && api.attachDataToQuery !== false) {\n const idx = api.url.indexOf('?');\n if (~idx) {\n let params = (api.query = {\n ...qsparse(api.url.substring(idx + 1)),\n ...api.data\n });\n api.url = api.url.substring(0, idx) + '?' + qsstringify(params);\n } else {\n api.query = api.data;\n api.url += '?' + qsstringify(api.data);\n }\n delete api.data;\n }\n }\n\n if (api.headers) {\n api.headers = dataMapping(api.headers, data, undefined, false);\n }\n\n if (api.requestAdaptor && typeof api.requestAdaptor === 'string') {\n api.requestAdaptor = str2function(api.requestAdaptor, 'api') as any;\n }\n\n if (api.adaptor && typeof api.adaptor === 'string') {\n api.adaptor = str2function(\n api.adaptor,\n 'payload',\n 'response',\n 'api'\n ) as any;\n }\n\n return api;\n}\n\nexport function str2function(\n contents: string,\n ...args: Array<string>\n): Function | null {\n try {\n let fn = new Function(...args, contents);\n return fn;\n } catch (e) {\n console.warn(e);\n return null;\n }\n}\n\nconst AsyncFunction = Object.getPrototypeOf(async function () {}).constructor;\n\nexport function str2AsyncFunction(\n contents: string,\n ...args: Array<string>\n): Function | null {\n try {\n let fn = new AsyncFunction(...args, contents);\n return fn;\n } catch (e) {\n console.warn(e);\n return null;\n }\n}\n\nexport function responseAdaptor(ret: fetcherResult, api: ApiObject) {\n const data = ret.data;\n let hasStatusField = true;\n\n if (!data) {\n throw new Error('Response is empty!');\n }\n\n // 兼容几种常见写法\n if (data.hasOwnProperty('errorCode')) {\n // 阿里 Java 规范\n data.status = data.errorCode;\n data.msg = data.errorMessage;\n } else if (data.hasOwnProperty('errno')) {\n data.status = data.errno;\n data.msg = data.errmsg || data.errstr || data.msg;\n } else if (data.hasOwnProperty('no')) {\n data.status = data.no;\n data.msg = data.error || data.msg;\n } else if (data.hasOwnProperty('error')) {\n // Google JSON guide\n // https://google.github.io/styleguide/jsoncstyleguide.xml#error\n if (typeof data.error === 'object' && data.error.hasOwnProperty('code')) {\n data.status = data.error.code;\n data.msg = data.error.message;\n } else {\n data.status = data.error;\n data.msg = data.errmsg || data.msg;\n }\n }\n\n if (!data.hasOwnProperty('status')) {\n hasStatusField = false;\n }\n\n const payload: Payload = {\n ok: hasStatusField === false || data.status == 0,\n status: hasStatusField === false ? 0 : data.status,\n msg: data.msg || data.message,\n msgTimeout: data.msgTimeout,\n data: !data.data && !hasStatusField ? data : data.data // 兼容直接返回数据的情况\n };\n\n // 兼容返回 schema 的情况,用于 app 模式\n if (data && data.type) {\n payload.data = data;\n }\n\n if (payload.status == 422) {\n payload.errors = data.errors;\n }\n\n if (payload.ok && api.responseData) {\n payload.data = dataMapping(\n api.responseData,\n\n createObject(\n {api},\n (Array.isArray(payload.data)\n ? {\n items: payload.data\n }\n : payload.data) || {}\n ),\n undefined,\n api.convertKeyToPath\n );\n }\n\n return payload;\n}\n\nexport function wrapFetcher(\n fn: (config: fetcherConfig) => Promise<fetcherResult>\n): (api: Api, data: object, options?: object) => Promise<Payload | void> {\n return function (api, data, options) {\n api = buildApi(api, data, options) as ApiObject;\n\n api.requestAdaptor && (api = api.requestAdaptor(api) || api);\n\n if (api.data && (hasFile(api.data) || api.dataType === 'form-data')) {\n api.data =\n api.data instanceof FormData\n ? api.data\n : object2formData(api.data, api.qsOptions);\n } else if (\n api.data &&\n typeof api.data !== 'string' &&\n api.dataType === 'form'\n ) {\n api.data = qsstringify(api.data, api.qsOptions) as any;\n api.headers = api.headers || (api.headers = {});\n api.headers['Content-Type'] = 'application/x-www-form-urlencoded';\n } else if (\n api.data &&\n typeof api.data !== 'string' &&\n api.dataType === 'json'\n ) {\n api.data = JSON.stringify(api.data) as any;\n api.headers = api.headers || (api.headers = {});\n api.headers['Content-Type'] = 'application/json';\n }\n\n if (typeof api.cache === 'number' && api.cache > 0) {\n const apiCache = getApiCache(api);\n return wrapAdaptor(\n apiCache\n ? (apiCache as ApiCacheConfig).cachedPromise\n : setApiCache(api, fn(api)),\n api\n );\n }\n // IE 下 get 请求会被缓存,所以自动加个时间戳\n if (isIE && api && api.method?.toLocaleLowerCase() === 'get') {\n const timeStamp = `_t=${Date.now()}`;\n if (api.url.indexOf('?') === -1) {\n api.url = api.url + `?${timeStamp}`;\n } else {\n api.url = api.url + `&${timeStamp}`;\n }\n }\n return wrapAdaptor(fn(api), api);\n };\n}\n\nexport function wrapAdaptor(promise: Promise<fetcherResult>, api: ApiObject) {\n const adaptor = api.adaptor;\n return adaptor\n ? promise\n .then(async response => {\n let result = adaptor((response as any).data, response, api);\n\n if (result?.then) {\n result = await result;\n }\n\n return {\n ...response,\n data: result\n };\n })\n .then(ret => responseAdaptor(ret, api))\n : promise.then(ret => responseAdaptor(ret, api));\n}\n\nexport function isApiOutdated(\n prevApi: Api | undefined,\n nextApi: Api | undefined,\n prevData: any,\n nextData: any\n): nextApi is Api {\n if (!nextApi) {\n return false;\n } else if (!prevApi) {\n return true;\n }\n\n nextApi = normalizeApi(nextApi);\n\n if (nextApi.autoRefresh === false) {\n return false;\n }\n\n const trackExpression = nextApi.trackExpression ?? nextApi.url;\n\n if (typeof trackExpression !== 'string' || !~trackExpression.indexOf('$')) {\n return false;\n }\n prevApi = normalizeApi(prevApi);\n\n let isModified = false;\n\n if (nextApi.trackExpression || prevApi.trackExpression) {\n isModified =\n tokenize(prevApi.trackExpression || '', prevData) !==\n tokenize(nextApi.trackExpression || '', nextData);\n } else {\n prevApi = buildApi(prevApi as Api, prevData as object, {ignoreData: true});\n nextApi = buildApi(nextApi as Api, nextData as object, {ignoreData: true});\n isModified = prevApi.url !== nextApi.url;\n }\n\n return !!(\n isModified &&\n isValidApi(nextApi.url) &&\n (!nextApi.sendOn || evalExpression(nextApi.sendOn, nextData))\n );\n}\n\nexport function isValidApi(api: string) {\n return (\n api &&\n /^(?:(https?|wss?|taf):\\/\\/[^\\/]+)?(\\/?[^\\s\\/\\?]*){1,}(\\?.*)?$/.test(api)\n );\n}\n\nexport function isEffectiveApi(\n api?: Api,\n data?: any,\n initFetch?: boolean,\n initFetchOn?: string\n): api is Api {\n if (!api) {\n return false;\n }\n if (initFetch === false) {\n return false;\n }\n if (initFetchOn && data && !evalExpression(initFetchOn, data)) {\n return false;\n }\n if (typeof api === 'string' && api.length) {\n return true;\n } else if (isObject(api) && (api as ApiObject).url) {\n if (\n (api as ApiObject).sendOn &&\n data &&\n !evalExpression((api as ApiObject).sendOn as string, data)\n ) {\n return false;\n }\n return true;\n }\n return false;\n}\n\nexport function isSameApi(\n apiA: ApiObject | ApiCacheConfig,\n apiB: ApiObject | ApiCacheConfig\n): boolean {\n return (\n apiA.method === apiB.method &&\n apiA.url === apiB.url &&\n !isObjectShallowModified(apiA.data, apiB.data, false)\n );\n}\n\nexport function getApiCache(api: ApiObject): ApiCacheConfig | undefined {\n // 清理过期cache\n const now = Date.now();\n let result: ApiCacheConfig | undefined;\n\n for (let idx = 0, len = apiCaches.length; idx < len; idx++) {\n const apiCache = apiCaches[idx];\n\n if (now - apiCache.requestTime > (apiCache.cache as number)) {\n apiCaches.splice(idx, 1);\n len--;\n idx--;\n continue;\n }\n\n if (isSameApi(api, apiCache)) {\n result = apiCache;\n break;\n }\n }\n\n return result;\n}\n\nexport function setApiCache(\n api: ApiObject,\n promise: Promise<any>\n): Promise<any> {\n apiCaches.push({\n ...api,\n cachedPromise: promise,\n requestTime: Date.now()\n });\n return promise;\n}\n\nexport function clearApiCache() {\n apiCaches.splice(0, apiCaches.length);\n}\n\nexport function normalizeApiResponseData(data: any) {\n if (typeof data === 'undefined') {\n data = {};\n } else if (!isPlainObject(data)) {\n data = {\n [Array.isArray(data) ? 'items' : 'result']: data\n };\n }\n\n return data;\n}\n\n// window.apiCaches = apiCaches;\n"
|
11
|
+
"import omit from 'lodash/omit';\nimport {Api, ApiObject, EventTrack, fetcherResult, Payload} from '../types';\nimport {fetcherConfig} from '../factory';\nimport {tokenize, dataMapping, escapeHtml} from './tpl-builtin';\nimport {evalExpression} from './tpl';\nimport {\n isObject,\n isObjectShallowModified,\n hasFile,\n object2formData,\n qsstringify,\n cloneObject,\n createObject,\n qsparse,\n uuid\n} from './helper';\nimport isPlainObject from 'lodash/isPlainObject';\n\nconst rSchema = /(?:^|raw\\:)(get|post|put|delete|patch|options|head|jsonp):/i;\n\ninterface ApiCacheConfig extends ApiObject {\n cachedPromise: Promise<any>;\n requestTime: number;\n}\n\nconst apiCaches: Array<ApiCacheConfig> = [];\n\nconst isIE = !!(document as any).documentMode;\n\nexport function normalizeApi(\n api: Api,\n defaultMethod: string = 'get'\n): ApiObject {\n if (typeof api === 'string') {\n let method = rSchema.test(api) ? RegExp.$1 : '';\n method && (api = api.replace(method + ':', ''));\n\n api = {\n method: (method || defaultMethod) as any,\n url: api\n };\n } else {\n api = {\n ...api\n };\n }\n return api;\n}\n\nexport function buildApi(\n api: Api,\n data?: object,\n options: {\n autoAppend?: boolean;\n ignoreData?: boolean;\n [propName: string]: any;\n } = {}\n): ApiObject {\n api = normalizeApi(api, options.method);\n const {autoAppend, ignoreData, ...rest} = options;\n\n api.config = {\n ...rest\n };\n api.method = (api.method || (options as any).method || 'get').toLowerCase();\n\n if (api.headers) {\n api.headers = dataMapping(api.headers, data, undefined, false);\n }\n\n if (api.requestAdaptor && typeof api.requestAdaptor === 'string') {\n api.requestAdaptor = str2function(api.requestAdaptor, 'api') as any;\n }\n\n if (api.adaptor && typeof api.adaptor === 'string') {\n api.adaptor = str2function(\n api.adaptor,\n 'payload',\n 'response',\n 'api'\n ) as any;\n }\n\n if (!data) {\n return api;\n } else if (\n data instanceof FormData ||\n data instanceof Blob ||\n data instanceof ArrayBuffer\n ) {\n api.data = data;\n return api;\n }\n\n const raw = (api.url = api.url || '');\n const idx = api.url.indexOf('?');\n\n if (~idx) {\n const hashIdx = api.url.indexOf('#');\n const params = qsparse(\n api.url.substring(idx + 1, ~hashIdx ? hashIdx : undefined)\n );\n api.url =\n tokenize(api.url.substring(0, idx + 1), data, '| url_encode') +\n qsstringify(\n (api.query = dataMapping(params, data, undefined, api.convertKeyToPath))\n ) +\n (~hashIdx ? api.url.substring(hashIdx) : '');\n } else {\n api.url = tokenize(api.url, data, '| url_encode');\n }\n\n if (ignoreData) {\n return api;\n }\n\n if (api.data) {\n api.body = api.data = dataMapping(\n api.data,\n data,\n undefined,\n api.convertKeyToPath\n );\n } else if (api.method === 'post' || api.method === 'put') {\n api.body = api.data = cloneObject(data);\n }\n\n // get 类请求,把 data 附带到 url 上。\n if (api.method === 'get' || api.method === 'jsonp') {\n if (!~raw.indexOf('$') && !api.data && autoAppend) {\n api.query = api.data = data;\n } else if (\n api.attachDataToQuery === false &&\n api.data &&\n !~raw.indexOf('$') &&\n autoAppend\n ) {\n const idx = api.url.indexOf('?');\n if (~idx) {\n let params = (api.query = {\n ...qsparse(api.url.substring(idx + 1)),\n ...data\n });\n api.url = api.url.substring(0, idx) + '?' + qsstringify(params);\n } else {\n api.query = data;\n api.url += '?' + qsstringify(data);\n }\n }\n\n if (api.data && api.attachDataToQuery !== false) {\n const idx = api.url.indexOf('?');\n if (~idx) {\n let params = (api.query = {\n ...qsparse(api.url.substring(idx + 1)),\n ...api.data\n });\n api.url = api.url.substring(0, idx) + '?' + qsstringify(params);\n } else {\n api.query = api.data;\n api.url += '?' + qsstringify(api.data);\n }\n delete api.data;\n }\n }\n\n return api;\n}\n\nexport function str2function(\n contents: string,\n ...args: Array<string>\n): Function | null {\n try {\n let fn = new Function(...args, contents);\n return fn;\n } catch (e) {\n console.warn(e);\n return null;\n }\n}\n\nconst AsyncFunction = Object.getPrototypeOf(async function () {}).constructor;\n\nexport function str2AsyncFunction(\n contents: string,\n ...args: Array<string>\n): Function | null {\n try {\n let fn = new AsyncFunction(...args, contents);\n return fn;\n } catch (e) {\n console.warn(e);\n return null;\n }\n}\n\nexport function responseAdaptor(ret: fetcherResult, api: ApiObject) {\n let data = ret.data;\n let hasStatusField = true;\n\n if (!data) {\n throw new Error('Response is empty');\n }\n\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n if (typeof data === 'undefined') {\n throw new Error('Response should be JSON');\n }\n } catch (e) {\n const responseBrief =\n typeof data === 'string'\n ? escapeHtml((data as string).substring(0, 100))\n : '';\n throw new Error(`Response should be JSON\\n ${responseBrief}`);\n }\n }\n\n // 兼容几种常见写法\n if (data.hasOwnProperty('errorCode')) {\n // 阿里 Java 规范\n data.status = data.errorCode;\n data.msg = data.errorMessage;\n } else if (data.hasOwnProperty('errno')) {\n data.status = data.errno;\n data.msg = data.errmsg || data.errstr || data.msg;\n } else if (data.hasOwnProperty('no')) {\n data.status = data.no;\n data.msg = data.error || data.msg;\n } else if (data.hasOwnProperty('error')) {\n // Google JSON guide\n // https://google.github.io/styleguide/jsoncstyleguide.xml#error\n if (typeof data.error === 'object' && data.error.hasOwnProperty('code')) {\n data.status = data.error.code;\n data.msg = data.error.message;\n } else {\n data.status = data.error;\n data.msg = data.errmsg || data.msg;\n }\n }\n\n if (!data.hasOwnProperty('status')) {\n hasStatusField = false;\n }\n\n const payload: Payload = {\n ok: hasStatusField === false || data.status == 0,\n status: hasStatusField === false ? 0 : data.status,\n msg: data.msg || data.message,\n msgTimeout: data.msgTimeout,\n data: !data.data && !hasStatusField ? data : data.data // 兼容直接返回数据的情况\n };\n\n // 兼容返回 schema 的情况,用于 app 模式\n if (data && data.type) {\n payload.data = data;\n }\n\n if (payload.status == 422) {\n payload.errors = data.errors;\n }\n\n if (payload.ok && api.responseData) {\n const responseData = dataMapping(\n api.responseData,\n\n createObject(\n {api},\n (Array.isArray(payload.data)\n ? {\n items: payload.data\n }\n : payload.data) || {}\n ),\n undefined,\n api.convertKeyToPath\n );\n console.debug('responseData', responseData);\n payload.data = responseData;\n }\n\n return payload;\n}\n\nexport function wrapFetcher(\n fn: (config: fetcherConfig) => Promise<fetcherResult>,\n tracker?: (eventTrack: EventTrack, data: any) => void\n): (api: Api, data: object, options?: object) => Promise<Payload | void> {\n return function (api, data, options) {\n api = buildApi(api, data, options) as ApiObject;\n\n api.requestAdaptor && (api = api.requestAdaptor(api) || api);\n\n if (api.data && (hasFile(api.data) || api.dataType === 'form-data')) {\n api.data =\n api.data instanceof FormData\n ? api.data\n : object2formData(api.data, api.qsOptions);\n } else if (\n api.data &&\n typeof api.data !== 'string' &&\n api.dataType === 'form'\n ) {\n api.data = qsstringify(api.data, api.qsOptions) as any;\n api.headers = api.headers || (api.headers = {});\n api.headers['Content-Type'] = 'application/x-www-form-urlencoded';\n } else if (\n api.data &&\n typeof api.data !== 'string' &&\n api.dataType === 'json'\n ) {\n api.data = JSON.stringify(api.data) as any;\n api.headers = api.headers || (api.headers = {});\n api.headers['Content-Type'] = 'application/json';\n }\n\n tracker?.(\n {eventType: 'api', eventData: omit(api, ['config', 'data', 'body'])},\n api.data\n );\n\n if (api.method?.toLocaleLowerCase() === 'jsonp') {\n return wrapAdaptor(jsonpFetcher(api), api);\n }\n\n if (typeof api.cache === 'number' && api.cache > 0) {\n const apiCache = getApiCache(api);\n return wrapAdaptor(\n apiCache\n ? (apiCache as ApiCacheConfig).cachedPromise\n : setApiCache(api, fn(api)),\n api\n );\n }\n // IE 下 get 请求会被缓存,所以自动加个时间戳\n if (isIE && api && api.method?.toLocaleLowerCase() === 'get') {\n const timeStamp = `_t=${Date.now()}`;\n if (api.url.indexOf('?') === -1) {\n api.url = api.url + `?${timeStamp}`;\n } else {\n api.url = api.url + `&${timeStamp}`;\n }\n }\n return wrapAdaptor(fn(api), api);\n };\n}\n\nexport function wrapAdaptor(promise: Promise<fetcherResult>, api: ApiObject) {\n const adaptor = api.adaptor;\n return adaptor\n ? promise\n .then(async response => {\n let result = adaptor((response as any).data, response, api);\n\n if (result?.then) {\n result = await result;\n }\n\n return {\n ...response,\n data: result\n };\n })\n .then(ret => responseAdaptor(ret, api))\n : promise.then(ret => responseAdaptor(ret, api));\n}\n\nexport function jsonpFetcher(api: ApiObject): Promise<fetcherResult> {\n return new Promise((resolve, reject) => {\n let script: HTMLScriptElement | null = document.createElement('script');\n let src = api.url;\n\n script.async = true;\n\n function remove() {\n if (script) {\n // @ts-ignore\n script.onload = script.onreadystatechange = script.onerror = null;\n\n if (script.parentNode) {\n script.parentNode.removeChild(script);\n }\n\n script = null;\n }\n }\n\n const jsonp = api.query?.callback || 'axiosJsonpCallback' + uuid();\n const old = (window as any)[jsonp];\n\n (window as any)[jsonp] = function (responseData: any) {\n (window as any)[jsonp] = old;\n\n const response = {\n data: responseData,\n status: 200,\n headers: {}\n };\n\n resolve(response);\n };\n\n const additionalParams: any = {\n _: new Date().getTime(),\n _callback: jsonp\n };\n\n src += (src.indexOf('?') >= 0 ? '&' : '?') + qsstringify(additionalParams);\n\n // @ts-ignore IE 为script.onreadystatechange\n script.onload = script.onreadystatechange = function () {\n // @ts-ignore\n if (!script.readyState || /loaded|complete/.test(script.readyState)) {\n remove();\n }\n };\n\n script.onerror = function () {\n remove();\n const errResponse = {\n status: 0,\n headers: {}\n };\n\n reject(errResponse);\n };\n\n script.src = src;\n document.head.appendChild(script);\n });\n}\n\nexport function isApiOutdated(\n prevApi: Api | undefined,\n nextApi: Api | undefined,\n prevData: any,\n nextData: any\n): nextApi is Api {\n if (!nextApi) {\n return false;\n } else if (!prevApi) {\n return true;\n }\n\n nextApi = normalizeApi(nextApi);\n\n if (nextApi.autoRefresh === false) {\n return false;\n }\n\n const trackExpression = nextApi.trackExpression ?? nextApi.url;\n\n if (typeof trackExpression !== 'string' || !~trackExpression.indexOf('$')) {\n return false;\n }\n prevApi = normalizeApi(prevApi);\n\n let isModified = false;\n\n if (nextApi.trackExpression || prevApi.trackExpression) {\n isModified =\n tokenize(prevApi.trackExpression || '', prevData) !==\n tokenize(nextApi.trackExpression || '', nextData);\n } else {\n prevApi = buildApi(prevApi as Api, prevData as object, {ignoreData: true});\n nextApi = buildApi(nextApi as Api, nextData as object, {ignoreData: true});\n isModified = prevApi.url !== nextApi.url;\n }\n\n return !!(\n isModified &&\n isValidApi(nextApi.url) &&\n (!nextApi.sendOn || evalExpression(nextApi.sendOn, nextData))\n );\n}\n\nexport function isValidApi(api: string) {\n return (\n api &&\n /^(?:(https?|wss?|taf):\\/\\/[^\\/]+)?(\\/?[^\\s\\/\\?]*){1,}(\\?.*)?$/.test(api)\n );\n}\n\nexport function isEffectiveApi(\n api?: Api,\n data?: any,\n initFetch?: boolean,\n initFetchOn?: string\n): api is Api {\n if (!api) {\n return false;\n }\n if (initFetch === false) {\n return false;\n }\n if (initFetchOn && data && !evalExpression(initFetchOn, data)) {\n return false;\n }\n if (typeof api === 'string' && api.length) {\n return true;\n } else if (isObject(api) && (api as ApiObject).url) {\n if (\n (api as ApiObject).sendOn &&\n data &&\n !evalExpression((api as ApiObject).sendOn as string, data)\n ) {\n return false;\n }\n return true;\n }\n return false;\n}\n\nexport function isSameApi(\n apiA: ApiObject | ApiCacheConfig,\n apiB: ApiObject | ApiCacheConfig\n): boolean {\n return (\n apiA.method === apiB.method &&\n apiA.url === apiB.url &&\n !isObjectShallowModified(apiA.data, apiB.data, false)\n );\n}\n\nexport function getApiCache(api: ApiObject): ApiCacheConfig | undefined {\n // 清理过期cache\n const now = Date.now();\n let result: ApiCacheConfig | undefined;\n\n for (let idx = 0, len = apiCaches.length; idx < len; idx++) {\n const apiCache = apiCaches[idx];\n\n if (now - apiCache.requestTime > (apiCache.cache as number)) {\n apiCaches.splice(idx, 1);\n len--;\n idx--;\n continue;\n }\n\n if (isSameApi(api, apiCache)) {\n result = apiCache;\n break;\n }\n }\n\n return result;\n}\n\nexport function setApiCache(\n api: ApiObject,\n promise: Promise<any>\n): Promise<any> {\n apiCaches.push({\n ...api,\n cachedPromise: promise,\n requestTime: Date.now()\n });\n return promise;\n}\n\nexport function clearApiCache() {\n apiCaches.splice(0, apiCaches.length);\n}\n\nexport function normalizeApiResponseData(data: any) {\n if (typeof data === 'undefined') {\n data = {};\n } else if (!isPlainObject(data)) {\n data = {\n [Array.isArray(data) ? 'items' : 'result']: data\n };\n }\n\n return data;\n}\n\n// window.apiCaches = apiCaches;\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/utils/dom.d.ts
CHANGED
@@ -26,3 +26,7 @@ export declare function calculatePosition(placement: any, overlayNode: any, targ
|
|
26
26
|
arrowOffsetTop: number;
|
27
27
|
activePlacement: string;
|
28
28
|
};
|
29
|
+
/**
|
30
|
+
* 专门用来获取样式的像素值,默认返回 0
|
31
|
+
*/
|
32
|
+
export declare function getStyleNumber(element: HTMLElement, styleName: string): number;
|
package/lib/utils/dom.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.calculatePosition = exports.ownerDocument = exports.getContainer = exports.props2BsPropsHoc = exports.props2BsProps = void 0;
|
3
|
+
exports.getStyleNumber = exports.calculatePosition = exports.ownerDocument = exports.getContainer = exports.props2BsPropsHoc = exports.props2BsProps = void 0;
|
4
4
|
var tslib_1 = require("tslib");
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
6
|
var react_dom_1 = (0, tslib_1.__importDefault)(require("react-dom"));
|
@@ -214,4 +214,14 @@ function calculatePosition(placement, overlayNode, target, container, padding) {
|
|
214
214
|
};
|
215
215
|
}
|
216
216
|
exports.calculatePosition = calculatePosition;
|
217
|
+
/**
|
218
|
+
* 专门用来获取样式的像素值,默认返回 0
|
219
|
+
*/
|
220
|
+
function getStyleNumber(element, styleName) {
|
221
|
+
if (!element) {
|
222
|
+
return 0;
|
223
|
+
}
|
224
|
+
return (parseInt(getComputedStyle(element).getPropertyValue(styleName), 10) || 0);
|
225
|
+
}
|
226
|
+
exports.getStyleNumber = getStyleNumber;
|
217
227
|
//# sourceMappingURL=./utils/dom.js.map
|
package/lib/utils/dom.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/utils/dom.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport ReactDOM from 'react-dom';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport getOffset from './offset';\nimport getPosition from './position';\n\nconst bsMapping: {\n [propName: string]: string;\n} = {\n level: 'bsStyle',\n classPrefix: 'bsClass',\n size: 'bsSize'\n};\n\n/**\n * 主要目的是希望在是用 bootstrap 组件的时候不需要带 bs 前缀。\n *\n * @param {Object} rawProps 原始属性对象。\n * @return {Object}\n */\nexport const props2BsProps = (rawProps: {[propName: string]: any}) => {\n let props: {[propName: string]: any} = {};\n\n Object.keys(rawProps).forEach(\n key => (props[bsMapping[key] || key] = rawProps[key])\n );\n\n return props;\n};\n\n/**\n * props2BsProps 的 hoc 版本\n *\n * @param {*} ComposedComponent 组合组件\n * @return {Component}\n */\nexport const props2BsPropsHoc: (\n ComposedComponent: React.ComponentType<any>\n) => React.ComponentType<any> = ComposedComponent => {\n class BsComponent extends React.Component<any> {\n render() {\n return <ComposedComponent {...props2BsProps(this.props)} />;\n }\n }\n\n hoistNonReactStatic(BsComponent, ComposedComponent);\n return BsComponent;\n};\n\nexport function getContainer(container: any, defaultContainer: any) {\n container = typeof container === 'function' ? container() : container;\n return ReactDOM.findDOMNode(container) || defaultContainer;\n}\n\nexport function ownerDocument(componentOrElement: any) {\n return (\n (ReactDOM.findDOMNode(componentOrElement) as Element)?.ownerDocument ||\n document\n );\n}\n\nfunction getContainerDimensions(containerNode: any) {\n let width, height, scroll;\n\n if (containerNode.tagName === 'BODY') {\n width = window.innerWidth;\n height = window.innerHeight;\n\n scroll =\n ownerDocument(containerNode).documentElement.scrollTop ||\n containerNode?.scrollTop;\n } else {\n ({width, height} = getOffset(containerNode) as any);\n scroll = containerNode.scrollTop;\n }\n\n return {width, height, scroll};\n}\n\nfunction getTopDelta(\n top: any,\n overlayHeight: any,\n container: any,\n padding: any\n) {\n const containerDimensions = getContainerDimensions(container);\n const containerScroll = containerDimensions.scroll;\n const containerHeight = containerDimensions.height;\n\n const topEdgeOffset = top - padding - containerScroll;\n const bottomEdgeOffset = top + padding - containerScroll + overlayHeight;\n\n if (topEdgeOffset < 0) {\n return -topEdgeOffset;\n } else if (bottomEdgeOffset > containerHeight) {\n return containerHeight - bottomEdgeOffset;\n } else {\n return 0;\n }\n}\n\nfunction getLeftDelta(\n left: any,\n overlayWidth: any,\n container: any,\n padding: any\n) {\n const containerDimensions = getContainerDimensions(container);\n const containerWidth = containerDimensions.width;\n\n const leftEdgeOffset = left - padding;\n const rightEdgeOffset = left + padding + overlayWidth;\n\n if (leftEdgeOffset < 0) {\n return -leftEdgeOffset;\n } else if (rightEdgeOffset > containerWidth) {\n return containerWidth - rightEdgeOffset;\n }\n\n return 0;\n}\n\nexport function calculatePosition(\n placement: any,\n overlayNode: any,\n target: HTMLElement,\n container: any,\n padding: any = 0\n) {\n const childOffset: any =\n container.tagName === 'BODY'\n ? getOffset(target)\n : getPosition(target, container);\n const {height: overlayHeight, width: overlayWidth} = getOffset(\n overlayNode\n ) as any;\n\n const clip = container.getBoundingClientRect();\n const clip2 = overlayNode.getBoundingClientRect();\n const scaleX = overlayNode.offsetWidth\n ? clip2.width / overlayNode.offsetWidth\n : 1;\n const scaleY = overlayNode.offsetHeight\n ? clip2.height / overlayNode.offsetHeight\n : 1;\n\n // auto 尝试四个方向对齐。\n placement =\n placement === 'auto'\n ? 'left-bottom-left-top right-bottom-right-top left-top-left-bottom right-top-right-bottom left-bottom-left-top'\n : placement;\n\n let positionLeft = 0,\n positionTop = 0,\n arrowOffsetLeft: any = '',\n arrowOffsetTop: any = '',\n activePlacement: string = placement;\n\n if (~placement.indexOf('-')) {\n const tests = placement.split(/\\s+/);\n\n while (tests.length) {\n const current = (activePlacement = tests.shift());\n let [atX, atY, myX, myY] = current.split('-');\n myX = myX || atX;\n myY = myY || atY;\n\n positionLeft =\n atX === 'left'\n ? childOffset.left\n : atX === 'right'\n ? childOffset.left + childOffset.width\n : childOffset.left + childOffset.width / 2;\n positionTop =\n atY === 'top'\n ? childOffset.top\n : atY === 'bottom'\n ? childOffset.top + childOffset.height\n : childOffset.top + childOffset.height / 2;\n\n positionLeft -=\n myX === 'left' ? 0 : myX === 'right' ? overlayWidth : overlayWidth / 2;\n positionTop -=\n myY === 'top'\n ? 0\n : myY === 'bottom'\n ? overlayHeight\n : overlayHeight / 2;\n\n // 如果还有其他可选项,则做位置判断,是否在可视区域,不完全在则继续看其他定位情况。\n if (tests.length) {\n const transformed = {\n x: clip.x + positionLeft / scaleX,\n y: clip.y + positionTop / scaleY,\n width: overlayWidth,\n height: overlayHeight\n };\n\n if (\n transformed.x > 0 &&\n transformed.x + transformed.width < window.innerWidth &&\n transformed.y > 0 &&\n transformed.y + transformed.height < window.innerHeight\n ) {\n break;\n }\n }\n }\n\n // todo arrow 位置支持\n } else if (placement === 'left' || placement === 'right') {\n // atX = placement;\n // atY = myY = 'center';\n // myX = placement === 'left' ? 'right' : 'left';\n if (placement === 'left') {\n positionLeft = childOffset.left - overlayWidth;\n } else {\n positionLeft = childOffset.left + childOffset.width;\n }\n\n positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;\n const topDelta = getTopDelta(\n positionTop,\n overlayHeight,\n container,\n padding\n );\n\n positionTop += topDelta;\n arrowOffsetTop = 50 * (1 - (2 * topDelta) / overlayHeight) + '%';\n } else if (placement === 'top' || placement === 'bottom') {\n // atY = placement;\n // atX = myX = 'center';\n // myY = placement === 'top' ? 'bottom': 'top';\n if (placement === 'top') {\n positionTop = childOffset.top - overlayHeight;\n } else {\n positionTop = childOffset.top + childOffset.height;\n }\n\n positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;\n const leftDelta = getLeftDelta(\n positionLeft,\n overlayWidth,\n container,\n padding\n );\n\n positionLeft += leftDelta;\n arrowOffsetLeft = 50 * (1 - (2 * leftDelta) / overlayHeight) + '%';\n } else if (placement === 'center') {\n // atX = atY = myX = myY = 'center';\n positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;\n positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;\n arrowOffsetLeft = arrowOffsetTop = void 0;\n } else {\n throw new Error(\n `calcOverlayPosition(): No such placement of \"${placement}\" found.`\n );\n }\n\n return {\n positionLeft: positionLeft / scaleX,\n positionTop: positionTop / scaleY,\n arrowOffsetLeft: arrowOffsetLeft / scaleX,\n arrowOffsetTop: arrowOffsetTop / scaleY,\n activePlacement\n };\n}\n"
|
11
|
+
"import React from 'react';\nimport ReactDOM from 'react-dom';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport getOffset from './offset';\nimport getPosition from './position';\n\nconst bsMapping: {\n [propName: string]: string;\n} = {\n level: 'bsStyle',\n classPrefix: 'bsClass',\n size: 'bsSize'\n};\n\n/**\n * 主要目的是希望在是用 bootstrap 组件的时候不需要带 bs 前缀。\n *\n * @param {Object} rawProps 原始属性对象。\n * @return {Object}\n */\nexport const props2BsProps = (rawProps: {[propName: string]: any}) => {\n let props: {[propName: string]: any} = {};\n\n Object.keys(rawProps).forEach(\n key => (props[bsMapping[key] || key] = rawProps[key])\n );\n\n return props;\n};\n\n/**\n * props2BsProps 的 hoc 版本\n *\n * @param {*} ComposedComponent 组合组件\n * @return {Component}\n */\nexport const props2BsPropsHoc: (\n ComposedComponent: React.ComponentType<any>\n) => React.ComponentType<any> = ComposedComponent => {\n class BsComponent extends React.Component<any> {\n render() {\n return <ComposedComponent {...props2BsProps(this.props)} />;\n }\n }\n\n hoistNonReactStatic(BsComponent, ComposedComponent);\n return BsComponent;\n};\n\nexport function getContainer(container: any, defaultContainer: any) {\n container = typeof container === 'function' ? container() : container;\n return ReactDOM.findDOMNode(container) || defaultContainer;\n}\n\nexport function ownerDocument(componentOrElement: any) {\n return (\n (ReactDOM.findDOMNode(componentOrElement) as Element)?.ownerDocument ||\n document\n );\n}\n\nfunction getContainerDimensions(containerNode: any) {\n let width, height, scroll;\n\n if (containerNode.tagName === 'BODY') {\n width = window.innerWidth;\n height = window.innerHeight;\n\n scroll =\n ownerDocument(containerNode).documentElement.scrollTop ||\n containerNode?.scrollTop;\n } else {\n ({width, height} = getOffset(containerNode) as any);\n scroll = containerNode.scrollTop;\n }\n\n return {width, height, scroll};\n}\n\nfunction getTopDelta(\n top: any,\n overlayHeight: any,\n container: any,\n padding: any\n) {\n const containerDimensions = getContainerDimensions(container);\n const containerScroll = containerDimensions.scroll;\n const containerHeight = containerDimensions.height;\n\n const topEdgeOffset = top - padding - containerScroll;\n const bottomEdgeOffset = top + padding - containerScroll + overlayHeight;\n\n if (topEdgeOffset < 0) {\n return -topEdgeOffset;\n } else if (bottomEdgeOffset > containerHeight) {\n return containerHeight - bottomEdgeOffset;\n } else {\n return 0;\n }\n}\n\nfunction getLeftDelta(\n left: any,\n overlayWidth: any,\n container: any,\n padding: any\n) {\n const containerDimensions = getContainerDimensions(container);\n const containerWidth = containerDimensions.width;\n\n const leftEdgeOffset = left - padding;\n const rightEdgeOffset = left + padding + overlayWidth;\n\n if (leftEdgeOffset < 0) {\n return -leftEdgeOffset;\n } else if (rightEdgeOffset > containerWidth) {\n return containerWidth - rightEdgeOffset;\n }\n\n return 0;\n}\n\nexport function calculatePosition(\n placement: any,\n overlayNode: any,\n target: HTMLElement,\n container: any,\n padding: any = 0\n) {\n const childOffset: any =\n container.tagName === 'BODY'\n ? getOffset(target)\n : getPosition(target, container);\n const {height: overlayHeight, width: overlayWidth} = getOffset(\n overlayNode\n ) as any;\n\n const clip = container.getBoundingClientRect();\n const clip2 = overlayNode.getBoundingClientRect();\n const scaleX = overlayNode.offsetWidth\n ? clip2.width / overlayNode.offsetWidth\n : 1;\n const scaleY = overlayNode.offsetHeight\n ? clip2.height / overlayNode.offsetHeight\n : 1;\n\n // auto 尝试四个方向对齐。\n placement =\n placement === 'auto'\n ? 'left-bottom-left-top right-bottom-right-top left-top-left-bottom right-top-right-bottom left-bottom-left-top'\n : placement;\n\n let positionLeft = 0,\n positionTop = 0,\n arrowOffsetLeft: any = '',\n arrowOffsetTop: any = '',\n activePlacement: string = placement;\n\n if (~placement.indexOf('-')) {\n const tests = placement.split(/\\s+/);\n\n while (tests.length) {\n const current = (activePlacement = tests.shift());\n let [atX, atY, myX, myY] = current.split('-');\n myX = myX || atX;\n myY = myY || atY;\n\n positionLeft =\n atX === 'left'\n ? childOffset.left\n : atX === 'right'\n ? childOffset.left + childOffset.width\n : childOffset.left + childOffset.width / 2;\n positionTop =\n atY === 'top'\n ? childOffset.top\n : atY === 'bottom'\n ? childOffset.top + childOffset.height\n : childOffset.top + childOffset.height / 2;\n\n positionLeft -=\n myX === 'left' ? 0 : myX === 'right' ? overlayWidth : overlayWidth / 2;\n positionTop -=\n myY === 'top'\n ? 0\n : myY === 'bottom'\n ? overlayHeight\n : overlayHeight / 2;\n\n // 如果还有其他可选项,则做位置判断,是否在可视区域,不完全在则继续看其他定位情况。\n if (tests.length) {\n const transformed = {\n x: clip.x + positionLeft / scaleX,\n y: clip.y + positionTop / scaleY,\n width: overlayWidth,\n height: overlayHeight\n };\n\n if (\n transformed.x > 0 &&\n transformed.x + transformed.width < window.innerWidth &&\n transformed.y > 0 &&\n transformed.y + transformed.height < window.innerHeight\n ) {\n break;\n }\n }\n }\n\n // todo arrow 位置支持\n } else if (placement === 'left' || placement === 'right') {\n // atX = placement;\n // atY = myY = 'center';\n // myX = placement === 'left' ? 'right' : 'left';\n if (placement === 'left') {\n positionLeft = childOffset.left - overlayWidth;\n } else {\n positionLeft = childOffset.left + childOffset.width;\n }\n\n positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;\n const topDelta = getTopDelta(\n positionTop,\n overlayHeight,\n container,\n padding\n );\n\n positionTop += topDelta;\n arrowOffsetTop = 50 * (1 - (2 * topDelta) / overlayHeight) + '%';\n } else if (placement === 'top' || placement === 'bottom') {\n // atY = placement;\n // atX = myX = 'center';\n // myY = placement === 'top' ? 'bottom': 'top';\n if (placement === 'top') {\n positionTop = childOffset.top - overlayHeight;\n } else {\n positionTop = childOffset.top + childOffset.height;\n }\n\n positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;\n const leftDelta = getLeftDelta(\n positionLeft,\n overlayWidth,\n container,\n padding\n );\n\n positionLeft += leftDelta;\n arrowOffsetLeft = 50 * (1 - (2 * leftDelta) / overlayHeight) + '%';\n } else if (placement === 'center') {\n // atX = atY = myX = myY = 'center';\n positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2;\n positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2;\n arrowOffsetLeft = arrowOffsetTop = void 0;\n } else {\n throw new Error(\n `calcOverlayPosition(): No such placement of \"${placement}\" found.`\n );\n }\n\n return {\n positionLeft: positionLeft / scaleX,\n positionTop: positionTop / scaleY,\n arrowOffsetLeft: arrowOffsetLeft / scaleX,\n arrowOffsetTop: arrowOffsetTop / scaleY,\n activePlacement\n };\n}\n\n/**\n * 专门用来获取样式的像素值,默认返回 0\n */\nexport function getStyleNumber(element: HTMLElement, styleName: string) {\n if (!element) {\n return 0;\n }\n return (\n parseInt(getComputedStyle(element).getPropertyValue(styleName), 10) || 0\n );\n}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/utils/helper.d.ts
CHANGED
@@ -3,12 +3,11 @@ import { Schema, PlainObject, FunctionPropertyNames } from '../types';
|
|
3
3
|
import qs from 'qs';
|
4
4
|
import { IIRendererStore } from '../store';
|
5
5
|
import { autobindMethod } from './autobind';
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
export declare function cloneObject(target: any, persistOwnProps?: boolean): any;
|
6
|
+
import { createObject, cloneObject, isObject, string2regExp, getVariable, setVariable, deleteVariable, keyToPath } from 'amis-formula';
|
7
|
+
export { createObject, cloneObject, isObject, string2regExp, getVariable, setVariable, deleteVariable, keyToPath };
|
8
|
+
export declare function preventDefault(event: TouchEvent | Event): void;
|
9
|
+
export declare function isMobile(): any;
|
10
|
+
export declare function range(num: number, min: number, max: number): number;
|
12
11
|
/**
|
13
12
|
* 给目标对象添加其他属性,可读取但是不会被遍历。
|
14
13
|
* @param target
|
@@ -24,15 +23,6 @@ export declare function syncDataFromSuper(data: any, superObject: any, prevSuper
|
|
24
23
|
*/
|
25
24
|
export declare function guid(): string;
|
26
25
|
export declare function findIndex(arr: Array<any>, detect: (item?: any, index?: number) => boolean): number;
|
27
|
-
export declare function getVariable(data: {
|
28
|
-
[propName: string]: any;
|
29
|
-
}, key: string | undefined, canAccessSuper?: boolean): any;
|
30
|
-
export declare function setVariable(data: {
|
31
|
-
[propName: string]: any;
|
32
|
-
}, key: string, value: any, convertKeyToPath?: boolean): void;
|
33
|
-
export declare function deleteVariable(data: {
|
34
|
-
[propName: string]: any;
|
35
|
-
}, key: string): void;
|
36
26
|
export declare function hasOwnProperty(data: {
|
37
27
|
[propName: string]: any;
|
38
28
|
}, key: string): boolean;
|
@@ -102,7 +92,6 @@ export declare function difference<T extends {
|
|
102
92
|
};
|
103
93
|
export declare const padArr: (arr: Array<any>, size?: number) => Array<Array<any>>;
|
104
94
|
export declare function __uri(id: string): string;
|
105
|
-
export declare function isObject(obj: any): any;
|
106
95
|
export declare function isBreakpoint(str: string): boolean;
|
107
96
|
export declare function until(fn: () => Promise<any>, when: (ret: any) => boolean, getCanceler: (fn: () => any) => void, interval?: number): Promise<unknown>;
|
108
97
|
export declare function omitControls(controls: Array<any>, omitItems: Array<string>): Array<any>;
|
@@ -227,7 +216,6 @@ export declare function lcFirst(str?: string): string;
|
|
227
216
|
export declare function camel(str?: string): string;
|
228
217
|
export declare function getWidthRate(value: any, strictMode?: boolean): number;
|
229
218
|
export declare function getLevelFromClassName(value: string, defaultValue?: string): string;
|
230
|
-
export declare function string2regExp(value: string, caseSensitive?: boolean): RegExp;
|
231
219
|
export declare function pickEventsProps(props: any): any;
|
232
220
|
export declare const autobind: typeof autobindMethod;
|
233
221
|
export declare const bulkBindFunctions: <T extends {
|
@@ -244,12 +232,6 @@ export declare function mapObject(value: any, fn: Function): any;
|
|
244
232
|
export declare function loadScript(src: string): Promise<void>;
|
245
233
|
export declare class SkipOperation extends Error {
|
246
234
|
}
|
247
|
-
/**
|
248
|
-
* 将例如像 a.b.c 或 a[1].b 的字符串转换为路径数组
|
249
|
-
*
|
250
|
-
* @param string 要转换的字符串
|
251
|
-
*/
|
252
|
-
export declare const keyToPath: (string: string) => string[];
|
253
235
|
/**
|
254
236
|
* 深度查找具有某个 key 名字段的对象,实际实现是 internalFindObjectsWithKey,这里包一层是为了做循环引用检测
|
255
237
|
* @param obj
|
@@ -289,3 +271,10 @@ export declare function normalizeNodePath(value: any, enableNodePath: boolean, l
|
|
289
271
|
nodePathArray: any[];
|
290
272
|
};
|
291
273
|
export declare function isClickOnInput(e: React.MouseEvent<HTMLElement>): boolean;
|
274
|
+
export declare function hashCode(s: string): number;
|
275
|
+
/**
|
276
|
+
* 遍历 schema
|
277
|
+
* @param json
|
278
|
+
* @param mapper
|
279
|
+
*/
|
280
|
+
export declare function JSONTraverse(json: any, mapper: (value: any, key: string | number, host: Object) => any): void;
|