amis 1.8.0-beta.1 → 1.8.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Schema.d.ts +9 -2
- package/lib/Schema.js.map +1 -1
- package/lib/SchemaRenderer.js +19 -3
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/WithRootStore.d.ts +18 -0
- package/lib/WithStore.js +2 -1
- package/lib/WithStore.js.map +2 -2
- package/lib/actions/CmptAction.js +26 -4
- package/lib/actions/CmptAction.js.map +2 -2
- package/lib/actions/PageAction.d.ts +32 -0
- package/lib/actions/PageAction.js +72 -0
- package/lib/actions/PageAction.js.map +13 -0
- package/lib/actions/index.d.ts +1 -0
- package/lib/actions/index.js +1 -0
- package/lib/actions/index.js.map +2 -2
- package/lib/components/AssociatedSelection.js +9 -2
- package/lib/components/AssociatedSelection.js.map +2 -2
- package/lib/components/BarCode.js +1 -1
- package/lib/components/BarCode.js.map +2 -2
- package/lib/components/CalendarMobile.d.ts +84 -84
- package/lib/components/Cascader.d.ts +2 -0
- package/lib/components/Cascader.js +28 -12
- package/lib/components/Cascader.js.map +2 -2
- package/lib/components/Checkbox.d.ts +24 -23
- package/lib/components/Checkbox.js +5 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/Collapse.d.ts +20 -20
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +8 -5
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +285 -171
- package/lib/components/DateRangePicker.js +471 -66
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/Drawer.js +1 -1
- package/lib/components/Drawer.js.map +2 -2
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/Modal.js +1 -1
- package/lib/components/Modal.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/Overlay.d.ts +1 -0
- package/lib/components/Overlay.js +4 -3
- package/lib/components/Overlay.js.map +2 -2
- package/lib/components/Progress.d.ts +29 -24
- package/lib/components/Progress.js +44 -16
- package/lib/components/Progress.js.map +2 -2
- package/lib/components/PullRefresh.d.ts +86 -0
- package/lib/components/PullRefresh.js +135 -0
- package/lib/components/PullRefresh.js.map +13 -0
- package/lib/components/Radios.d.ts +22 -22
- package/lib/components/Radios.js +3 -5
- package/lib/components/Radios.js.map +2 -2
- package/lib/components/Range.d.ts +2 -2
- package/lib/components/Range.js +24 -11
- package/lib/components/Range.js.map +2 -2
- package/lib/components/Spinner.d.ts +200 -107
- package/lib/components/Spinner.js +30 -26
- package/lib/components/Spinner.js.map +2 -2
- package/lib/components/Steps.d.ts +6 -0
- package/lib/components/Steps.js +13 -9
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/Tooltip.d.ts +4 -0
- package/lib/components/Tooltip.js +6 -4
- package/lib/components/Tooltip.js.map +2 -2
- package/lib/components/TooltipWrapper.d.ts +66 -4
- package/lib/components/TooltipWrapper.js +40 -8
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/Transfer.d.ts +84 -84
- package/lib/components/TransferDropDown.d.ts +84 -84
- package/lib/components/Tree.d.ts +87 -85
- package/lib/components/Tree.js +13 -5
- package/lib/components/Tree.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +84 -84
- package/lib/components/calendar/Calendar.js +0 -13
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/TimeView.d.ts +1 -0
- package/lib/components/calendar/TimeView.js +7 -0
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/calendar/YearsView.js +3 -3
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/components/condition-builder/Expression.d.ts +1 -0
- package/lib/components/condition-builder/Expression.js +4 -4
- package/lib/components/condition-builder/Expression.js.map +2 -2
- package/lib/components/condition-builder/Field.d.ts +1 -0
- package/lib/components/condition-builder/Field.js +3 -2
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Group.d.ts +1 -0
- package/lib/components/condition-builder/Group.js +2 -2
- package/lib/components/condition-builder/Group.js.map +2 -2
- package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
- package/lib/components/condition-builder/GroupOrItem.js +2 -2
- package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
- package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
- 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.d.ts +1 -0
- package/lib/components/condition-builder/Item.js +9 -8
- package/lib/components/condition-builder/Item.js.map +2 -2
- package/lib/components/condition-builder/Value.d.ts +1 -0
- package/lib/components/condition-builder/Value.js +5 -5
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/index.d.ts +1 -0
- package/lib/components/condition-builder/index.js +2 -2
- package/lib/components/condition-builder/index.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +87 -85
- package/lib/components/formula/Editor.js +10 -6
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.js +3 -1
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/factory.d.ts +5 -0
- package/lib/factory.js +22 -1
- package/lib/factory.js.map +2 -2
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +18 -1
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +18 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +18 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +2 -0
- package/lib/renderers/Action.js +23 -5
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/App.d.ts +1 -0
- package/lib/renderers/App.js +3 -0
- package/lib/renderers/App.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +8 -0
- package/lib/renderers/CRUD.js +12 -5
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Carousel.d.ts +1 -0
- package/lib/renderers/Carousel.js +13 -1
- package/lib/renderers/Carousel.js.map +2 -2
- package/lib/renderers/Chart.d.ts +1 -0
- package/lib/renderers/Chart.js +3 -0
- package/lib/renderers/Chart.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +1 -0
- package/lib/renderers/Dialog.js +3 -0
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.d.ts +1 -0
- package/lib/renderers/Drawer.js +6 -1
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/Form/Checkbox.d.ts +5 -2
- package/lib/renderers/Form/Checkbox.js +2 -2
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.d.ts +7 -2
- package/lib/renderers/Form/Checkboxes.js +101 -12
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/Combo.d.ts +2 -1
- package/lib/renderers/Form/Combo.js +54 -16
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +3 -2
- package/lib/renderers/Form/Editor.d.ts +2 -2
- package/lib/renderers/Form/InputCity.d.ts +87 -84
- package/lib/renderers/Form/InputCity.js +44 -2
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +10 -3
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.d.ts +5 -0
- package/lib/renderers/Form/InputDateRange.js +12 -3
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +19 -8
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +18 -7
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputMonthRange.js +5 -1
- package/lib/renderers/Form/InputMonthRange.js.map +2 -2
- package/lib/renderers/Form/InputRange.js +13 -14
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/InputText.d.ts +1 -1
- package/lib/renderers/Form/InputText.js +8 -10
- package/lib/renderers/Form/InputText.js.map +2 -2
- package/lib/renderers/Form/InputTree.d.ts +5 -0
- package/lib/renderers/Form/InputTree.js +51 -2
- package/lib/renderers/Form/InputTree.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +79 -76
- package/lib/renderers/Form/Item.js +3 -1
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.d.ts +4 -0
- package/lib/renderers/Form/NestedSelect.js +14 -5
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Options.js +61 -27
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.js +4 -2
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/Textarea.js +2 -1
- package/lib/renderers/Form/Textarea.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.d.ts +11 -2
- package/lib/renderers/Form/TreeSelect.js +56 -10
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.d.ts +3 -0
- package/lib/renderers/Form/index.js +53 -16
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.d.ts +10 -0
- package/lib/renderers/Form/wrapControl.js +41 -19
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Nav.d.ts +82 -67
- package/lib/renderers/Nav.js +49 -13
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.d.ts +21 -0
- package/lib/renderers/Page.js +54 -14
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Progress.d.ts +3 -6
- package/lib/renderers/Progress.js +2 -2
- package/lib/renderers/Progress.js.map +2 -2
- package/lib/renderers/Service.d.ts +3 -0
- package/lib/renderers/Service.js +55 -20
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Spinner.d.ts +58 -2
- package/lib/renderers/Spinner.js +8 -1
- package/lib/renderers/Spinner.js.map +2 -2
- package/lib/renderers/Steps.d.ts +8 -0
- package/lib/renderers/Steps.js +2 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
- package/lib/renderers/Table/ColumnToggler.js +11 -6
- package/lib/renderers/Table/ColumnToggler.js.map +2 -2
- package/lib/renderers/Table/TableCell.js +27 -1
- package/lib/renderers/Table/TableCell.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +2 -0
- package/lib/renderers/Table/index.js +23 -10
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +4 -0
- package/lib/renderers/Tabs.js +22 -6
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/TooltipWrapper.d.ts +35 -6
- package/lib/renderers/TooltipWrapper.js +19 -8
- package/lib/renderers/TooltipWrapper.js.map +2 -2
- package/lib/renderers/Wizard.d.ts +7 -3
- package/lib/renderers/Wizard.js +269 -152
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/store/combo.d.ts +2 -2
- package/lib/store/crud.d.ts +1 -0
- package/lib/store/crud.js +55 -19
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +1 -1
- package/lib/store/form.js +5 -1
- package/lib/store/form.js.map +2 -2
- package/lib/store/formItem.js +1 -1
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/index.d.ts +5 -0
- package/lib/store/index.js +14 -0
- package/lib/store/index.js.map +2 -2
- package/lib/store/table.d.ts +2 -2
- package/lib/store/table.js +2 -2
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +768 -199
- package/lib/themes/ang.css +723 -142
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +851 -282
- package/lib/themes/antd.css +724 -143
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +879 -310
- package/lib/themes/cxd.css +727 -146
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +769 -200
- package/lib/themes/dark.css +723 -142
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +879 -310
- package/lib/themes/default.css +727 -146
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +3 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/ColorScale.d.ts +19 -0
- package/lib/utils/ColorScale.js +104 -0
- package/lib/utils/ColorScale.js.map +13 -0
- package/lib/utils/api.js +20 -4
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/columnsSplit.d.ts +1 -0
- package/lib/utils/columnsSplit.js +40 -0
- package/lib/utils/columnsSplit.js.map +13 -0
- package/lib/utils/debug.d.ts +1 -1
- package/lib/utils/debug.js +16 -22
- package/lib/utils/debug.js.map +2 -2
- package/lib/utils/dom.d.ts +1 -1
- package/lib/utils/dom.js +7 -5
- package/lib/utils/dom.js.map +2 -2
- package/lib/utils/position.js +0 -1
- package/lib/utils/position.js.map +2 -2
- package/lib/utils/scrollPosition.d.ts +6 -0
- package/lib/utils/scrollPosition.js +31 -0
- package/lib/utils/scrollPosition.js.map +13 -0
- package/package.json +3 -2
- package/schema.json +29681 -28936
- package/scss/_properties.scss +44 -13
- package/scss/components/_barcode.scss +1 -1
- package/scss/components/_carousel.scss +1 -0
- package/scss/components/_column-toggler.scss +21 -11
- package/scss/components/_debug.scss +3 -3
- package/scss/components/_formula.scss +1 -1
- package/scss/components/_nav.scss +51 -6
- package/scss/components/_progress.scss +4 -6
- package/scss/components/_pull-refresh.scss +25 -0
- package/scss/components/_spinner.scss +134 -56
- package/scss/components/_steps.scss +199 -8
- package/scss/components/_tooltip.scss +4 -9
- package/scss/components/form/_checks.scss +125 -2
- package/scss/components/form/_combo.scss +13 -1
- package/scss/components/form/_date-range.scss +27 -2
- package/scss/components/form/_date.scss +13 -1
- package/scss/components/form/_editor.scss +2 -1
- package/scss/components/form/_file.scss +4 -0
- package/scss/components/form/_form.scss +31 -8
- package/scss/components/form/_number.scss +3 -2
- package/scss/components/form/_select.scss +0 -1
- package/scss/components/form/_textarea.scss +1 -23
- package/scss/components/form/_transfer.scss +3 -2
- package/scss/themes/_antd-variables.scss +1 -1
- package/scss/themes/_common.scss +1 -0
- package/scss/themes/_cxd-variables.scss +4 -4
- package/sdk/ang-ie11.css +816 -182
- package/sdk/ang.css +775 -129
- package/sdk/antd-ie11.css +896 -262
- package/sdk/antd.css +776 -130
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +907 -273
- package/sdk/cxd.css +779 -133
- package/sdk/dark-ie11.css +817 -183
- package/sdk/dark.css +775 -129
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +18 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +17 -17
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +907 -273
- package/sdk/sdk.css +779 -133
- package/sdk/sdk.js +1317 -1273
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +10 -0
- package/src/SchemaRenderer.tsx +32 -14
- package/src/WithStore.tsx +3 -1
- package/src/actions/CmptAction.ts +28 -0
- package/src/actions/PageAction.ts +62 -0
- package/src/actions/index.ts +1 -0
- package/src/components/AssociatedSelection.tsx +9 -3
- package/src/components/BarCode.tsx +2 -2
- package/src/components/Cascader.tsx +37 -11
- package/src/components/Checkbox.tsx +11 -5
- package/src/components/DatePicker.tsx +12 -4
- package/src/components/DateRangePicker.tsx +551 -88
- package/src/components/Drawer.tsx +1 -0
- package/src/components/Modal.tsx +1 -0
- package/src/components/Overlay.tsx +6 -3
- package/src/components/Progress.tsx +57 -22
- package/src/components/PullRefresh.tsx +197 -0
- package/src/components/Radios.tsx +6 -17
- package/src/components/Range.tsx +26 -12
- package/src/components/Spinner.tsx +77 -42
- package/src/components/Steps.tsx +28 -27
- package/src/components/Tooltip.tsx +12 -3
- package/src/components/TooltipWrapper.tsx +137 -33
- package/src/components/Tree.tsx +19 -5
- package/src/components/calendar/Calendar.tsx +0 -14
- package/src/components/calendar/TimeView.tsx +12 -0
- package/src/components/calendar/YearsView.tsx +3 -4
- package/src/components/condition-builder/Expression.tsx +6 -1
- package/src/components/condition-builder/Field.tsx +5 -1
- package/src/components/condition-builder/Group.tsx +4 -1
- package/src/components/condition-builder/GroupOrItem.tsx +4 -1
- package/src/components/condition-builder/InputSwitch.tsx +4 -1
- package/src/components/condition-builder/Item.tsx +28 -4
- package/src/components/condition-builder/Value.tsx +7 -1
- package/src/components/condition-builder/index.tsx +4 -2
- package/src/components/formula/Editor.tsx +20 -15
- package/src/components/formula/Picker.tsx +9 -5
- package/src/factory.tsx +29 -1
- package/src/locale/de-DE.ts +18 -1
- package/src/locale/en-US.ts +18 -1
- package/src/locale/zh-CN.ts +18 -1
- package/src/renderers/Action.tsx +22 -1
- package/src/renderers/App.tsx +4 -0
- package/src/renderers/CRUD.tsx +23 -5
- package/src/renderers/Carousel.tsx +8 -0
- package/src/renderers/Chart.tsx +4 -0
- package/src/renderers/Dialog.tsx +4 -0
- package/src/renderers/Drawer.tsx +14 -2
- package/src/renderers/Form/Checkbox.tsx +11 -2
- package/src/renderers/Form/Checkboxes.tsx +106 -23
- package/src/renderers/Form/Combo.tsx +104 -49
- package/src/renderers/Form/InputCity.tsx +33 -4
- package/src/renderers/Form/InputDate.tsx +18 -4
- package/src/renderers/Form/InputDateRange.tsx +27 -3
- package/src/renderers/Form/InputFile.tsx +23 -7
- package/src/renderers/Form/InputImage.tsx +22 -6
- package/src/renderers/Form/InputMonthRange.tsx +7 -1
- package/src/renderers/Form/InputRange.tsx +18 -16
- package/src/renderers/Form/InputText.tsx +14 -4
- package/src/renderers/Form/InputTree.tsx +40 -2
- package/src/renderers/Form/Item.tsx +7 -0
- package/src/renderers/Form/NestedSelect.tsx +23 -4
- package/src/renderers/Form/Options.tsx +26 -7
- package/src/renderers/Form/Select.tsx +5 -3
- package/src/renderers/Form/Textarea.tsx +3 -1
- package/src/renderers/Form/TreeSelect.tsx +47 -9
- package/src/renderers/Form/index.tsx +56 -25
- package/src/renderers/Form/wrapControl.tsx +23 -12
- package/src/renderers/Nav.tsx +231 -33
- package/src/renderers/Page.tsx +96 -33
- package/src/renderers/Progress.tsx +7 -9
- package/src/renderers/Service.tsx +66 -27
- package/src/renderers/Spinner.tsx +85 -3
- package/src/renderers/Steps.tsx +14 -0
- package/src/renderers/Table/ColumnToggler.tsx +36 -11
- package/src/renderers/Table/TableCell.tsx +39 -1
- package/src/renderers/Table/index.tsx +43 -19
- package/src/renderers/Tabs.tsx +75 -28
- package/src/renderers/TooltipWrapper.tsx +71 -28
- package/src/renderers/Wizard.tsx +169 -93
- package/src/store/crud.ts +50 -5
- package/src/store/form.ts +8 -3
- package/src/store/formItem.ts +1 -2
- package/src/store/index.ts +20 -0
- package/src/store/table.ts +2 -2
- package/src/types.ts +8 -1
- package/src/utils/ColorScale.ts +138 -0
- package/src/utils/api.ts +26 -4
- package/src/utils/columnsSplit.tsx +57 -0
- package/src/utils/debug.tsx +17 -24
- package/src/utils/dom.tsx +7 -6
- package/src/utils/position.ts +0 -1
- package/src/utils/scrollPosition.ts +29 -0
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Page.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 PropTypes from 'prop-types';\nimport {Renderer, RendererProps} from '../factory';\nimport {observer} from 'mobx-react';\nimport {ServiceStore, IServiceStore} from '../store/service';\nimport {\n Api,\n SchemaNode,\n Action,\n Location,\n ApiObject,\n FunctionPropertyNames\n} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport {isVisible, autobind, bulkBindFunctions} from '../utils/helper';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport Alert from '../components/Alert2';\nimport {isApiOutdated, isEffectiveApi} from '../utils/api';\nimport {Spinner} from '../components';\nimport {\n BaseSchema,\n SchemaCollection,\n SchemaClassName,\n SchemaDefaultData,\n SchemaApi,\n SchemaExpression,\n SchemaName,\n SchemaMessage\n} from '../Schema';\nimport {SchemaRemark} from './Remark';\nimport {onAction} from 'mobx-state-tree';\nimport mapValues from 'lodash/mapValues';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {buildStyle} from '../utils/style';\n\n/**\n * 样式属性名及值\n */\ninterface Declaration {\n [property: string]: string;\n}\n\n/**\n * css 定义\n */\ninterface CSSRule {\n [selector: string]: Declaration; // 定义\n}\n\n/**\n * amis Page 渲染器。详情请见:https://baidu.gitee.io/amis/docs/components/page\n */\nexport interface PageSchema extends BaseSchema {\n /**\n * 指定为 page 渲染器。\n */\n type: 'page';\n\n /**\n * 页面标题\n */\n title?: string;\n\n /**\n * 页面副标题\n */\n subTitle?: string;\n\n /**\n * 页面描述, 标题旁边会出现个小图标,放上去会显示这个属性配置的内容。\n */\n remark?: SchemaRemark;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * 内容区 css 类名\n */\n bodyClassName?: SchemaClassName;\n\n /**\n * 边栏区域\n */\n aside?: SchemaCollection;\n\n /**\n * 边栏是否允许拖动\n */\n asideResizor?: boolean;\n\n /**\n * 边栏最小宽度\n */\n asideMinWidth?: number;\n\n /**\n * 边栏最小宽度\n */\n asideMaxWidth?: number;\n\n /**\n * 边栏区 css 类名\n */\n asideClassName?: SchemaClassName;\n\n /**\n * 配置容器 className\n */\n className?: SchemaClassName;\n\n /**\n * 自定义页面级别样式表\n */\n css?: CSSRule;\n\n /**\n * 移动端下的样式表\n */\n mobileCSS?: CSSRule;\n\n /**\n * 页面级别的初始数据\n */\n data?: SchemaDefaultData;\n\n /**\n * 配置 header 容器 className\n */\n headerClassName?: SchemaClassName;\n\n /**\n * 页面初始化的时候,可以设置一个 API 让其取拉取,发送数据会携带当前 data 数据(包含地址栏参数),获取得数据会合并到 data 中,供组件内使用。\n */\n initApi?: SchemaApi;\n\n /**\n * 是否默认就拉取?\n */\n initFetch?: boolean;\n\n /**\n * 是否默认就拉取表达式\n */\n initFetchOn?: SchemaExpression;\n\n messages?: SchemaMessage;\n\n name?: SchemaName;\n\n /**\n * 页面顶部区域,当存在 title 时在右上角显示。\n */\n toolbar?: SchemaCollection;\n\n /**\n * 配置 toolbar 容器 className\n */\n toolbarClassName?: SchemaClassName;\n\n definitions?: any; // todo\n\n /**\n * 配置轮询间隔,配置后 initApi 将轮询加载。\n */\n interval?: number;\n\n /**\n * 是否要静默加载,也就是说不显示进度\n */\n silentPolling?: boolean;\n\n /**\n * 配置停止轮询的条件。\n */\n stopAutoRefreshWhen?: SchemaExpression;\n // primaryField?: string, // 指定主键的字段名,默认为 `id`\n\n /**\n * 是否显示错误信息,默认是显示的。\n */\n showErrorMsg?: boolean;\n\n /**\n * css 变量\n */\n cssVars?: any;\n\n /**\n * 默认不设置自动感觉内容来决定要不要展示这些区域\n * 如果配置了,以配置为主。\n */\n regions?: Array<'aside' | 'body' | 'toolbar' | 'header'>;\n\n /**\n * 自定义样式\n */\n style?: {\n [propName: string]: any;\n };\n}\n\nexport interface PageProps\n extends RendererProps,\n Omit<PageSchema, 'type' | 'className'> {\n data: any;\n store: IServiceStore;\n location?: Location;\n}\n\nexport default class Page extends React.Component<PageProps> {\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean;\n style: HTMLStyleElement;\n varStyle: HTMLStyleElement;\n startX: number;\n startWidth: number;\n codeWrap: HTMLElement;\n\n static defaultProps = {\n asideClassName: '',\n bodyClassName: '',\n headerClassName: '',\n initFetch: true,\n // primaryField: 'id',\n toolbarClassName: '',\n messages: {}\n };\n\n static propsList: Array<keyof PageProps> = [\n 'title',\n 'subTitle',\n 'initApi',\n 'initFetchOn',\n 'initFetch',\n 'headerClassName',\n 'bodyClassName',\n 'asideClassName',\n 'toolbarClassName',\n 'toolbar',\n 'body',\n 'aside',\n 'messages',\n 'style',\n 'showErrorMsg'\n ];\n\n constructor(props: PageProps) {\n super(props);\n\n // autobind 会让继承里面的 super 指向有问题,所以先这样!\n bulkBindFunctions<Page /*为毛 this 的类型自动识别不出来?*/>(this, [\n 'handleAction',\n 'handleChange',\n 'handleQuery',\n 'handleDialogConfirm',\n 'handleDialogClose',\n 'handleDrawerConfirm',\n 'handleDrawerClose',\n 'handleClick',\n 'reload',\n 'silentReload',\n 'initInterval'\n ]);\n\n this.style = document.createElement('style');\n this.style.setAttribute('data-page', '');\n document.getElementsByTagName('head')[0].appendChild(this.style);\n this.updateStyle();\n\n this.varStyle = document.createElement('style');\n this.style.setAttribute('data-vars', '');\n document.getElementsByTagName('head')[0].appendChild(this.varStyle);\n this.updateVarStyle();\n }\n\n /**\n * 构建 css\n */\n updateStyle() {\n if (this.props.css || this.props.mobileCSS) {\n this.style.innerHTML = `\n ${this.buildCSS(this.props.css)}\n\n @media (max-width: 768px) {\n ${this.buildCSS(this.props.mobileCSS)}\n }\n `;\n } else {\n this.style.innerHTML = '';\n }\n }\n\n buildCSS(cssRules?: CSSRule) {\n if (!cssRules) {\n return '';\n }\n let css = '';\n\n for (const selector in cssRules) {\n const declaration = cssRules[selector];\n let declarationStr = '';\n for (const property in declaration) {\n declarationStr += ` ${property}: ${declaration[property]};\\n`;\n }\n\n css += `\n ${selector} {\n ${declarationStr}\n }\n `;\n }\n return css;\n }\n\n /**\n * 构建用于 css 变量的内联样式\n */\n updateVarStyle() {\n const cssVars = this.props.cssVars;\n let cssVarsContent = '';\n if (cssVars) {\n for (const key in cssVars) {\n if (key.startsWith('--')) {\n if (key.indexOf(':') !== -1) {\n continue;\n }\n const value = cssVars[key];\n // 这是为了防止 xss,可能还有别的\n if (\n typeof value === 'string' &&\n (value.indexOf('expression(') !== -1 || value.indexOf(';') !== -1)\n ) {\n continue;\n }\n cssVarsContent += `${key}: ${value}; \\n`;\n }\n }\n this.varStyle.innerHTML = `\n :root {\n ${cssVarsContent}\n }\n `;\n }\n }\n\n componentDidMount() {\n const {initApi, initFetch, initFetchOn, store, messages} = this.props;\n\n this.mounted = true;\n\n if (isEffectiveApi(initApi, store.data, initFetch, initFetchOn)) {\n store\n .fetchInitData(initApi, store.data, {\n successMessage: messages && messages.fetchSuccess,\n errorMessage: messages && messages.fetchFailed\n })\n .then(this.initInterval);\n }\n }\n\n componentDidUpdate(prevProps: PageProps) {\n const props = this.props;\n const store = props.store;\n const initApi = props.initApi;\n\n if (\n // 前一次不构成条件,这次更新构成了条件,则需要重新拉取\n (props.initFetchOn && props.initFetch && !prevProps.initFetch) ||\n // 构成了条件,同时 url 里面有变量,且上次和这次还不一样,则需要重新拉取。\n (props.initFetch !== false &&\n isApiOutdated(prevProps.initApi, initApi, prevProps.data, props.data))\n ) {\n const messages = props.messages;\n isEffectiveApi(initApi, store.data) &&\n store\n .fetchData(initApi as Api, store.data, {\n successMessage: messages && messages.fetchSuccess,\n errorMessage: messages && messages.fetchFailed\n })\n .then(this.initInterval);\n } else if (\n JSON.stringify(props.css) !== JSON.stringify(prevProps.css) ||\n JSON.stringify(props.mobileCSS) !== JSON.stringify(prevProps.mobileCSS)\n ) {\n this.updateStyle();\n } else if (\n JSON.stringify(props.cssVars) !== JSON.stringify(prevProps.cssVars)\n ) {\n this.updateVarStyle();\n } else if (props.defaultData !== prevProps.defaultData) {\n store.reInitData(props.defaultData);\n }\n }\n\n componentWillUnmount() {\n this.mounted = false;\n clearTimeout(this.timer);\n if (this.style) {\n this.style.parentNode?.removeChild(this.style);\n }\n if (this.varStyle) {\n this.varStyle.parentNode?.removeChild(this.varStyle);\n }\n }\n\n reloadTarget(target: string, data?: any) {\n // 会被覆写\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n ctx: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ): any {\n const {env, store, messages, onAction} = this.props;\n\n if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(ctx);\n } else if (action.actionType === 'drawer') {\n store.setCurrentAction(action);\n store.openDrawer(ctx);\n } else if (action.actionType === 'ajax') {\n store.setCurrentAction(action);\n return store\n .saveRemote(action.api as string, ctx, {\n successMessage:\n (action.messages && action.messages.success) ||\n (messages && messages.saveSuccess),\n errorMessage:\n (action.messages && action.messages.failed) ||\n (messages && messages.saveSuccess)\n })\n .then(async () => {\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload && this.reloadTarget(action.reload, store.data);\n })\n .catch(() => {});\n } else {\n return onAction(e, action, ctx, throwErrors, delegate || this.context);\n }\n }\n\n handleQuery(query: any) {\n this.receive(query);\n }\n\n handleDialogConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDialog(true);\n }\n\n handleDialogClose(confirmed = false) {\n const {store} = this.props;\n store.closeDialog(confirmed);\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDrawerClose() {\n const {store} = this.props;\n store.closeDrawer();\n }\n\n handleClick(e: any) {\n const target: HTMLElement = e.target as HTMLElement;\n const {env} = this.props;\n const link =\n target.tagName === 'A' && target.hasAttribute('data-link')\n ? target.getAttribute('data-link')\n : target.closest('a[data-link]')?.getAttribute('data-link');\n\n if (env && link) {\n env.jumpTo(link);\n e.preventDefault();\n }\n }\n\n @autobind\n handleResizeMouseDown(e: React.MouseEvent) {\n // todo 可能 ie 不正确\n let isRightMB = e.nativeEvent.which == 3;\n\n if (isRightMB) {\n return;\n }\n\n this.codeWrap = e.currentTarget.parentElement as HTMLElement;\n document.addEventListener('mousemove', this.handleResizeMouseMove);\n document.addEventListener('mouseup', this.handleResizeMouseUp);\n this.startX = e.clientX;\n this.startWidth = this.codeWrap.offsetWidth;\n }\n\n @autobind\n handleResizeMouseMove(e: MouseEvent) {\n const {asideMinWidth = 160, asideMaxWidth = 350} = this.props;\n const dx = e.clientX - this.startX;\n const mx = this.startWidth + dx;\n const width = Math.min(Math.max(mx, asideMinWidth), asideMaxWidth);\n this.codeWrap.style.cssText += `width: ${width}px`;\n }\n\n @autobind\n handleResizeMouseUp() {\n document.removeEventListener('mousemove', this.handleResizeMouseMove);\n document.removeEventListener('mouseup', this.handleResizeMouseUp);\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n reload(subpath?: any, query?: any, ctx?: any, silent?: boolean) {\n if (query) {\n return this.receive(query);\n }\n\n const {store, initApi} = this.props;\n\n clearTimeout(this.timer);\n isEffectiveApi(initApi, store.data) &&\n store\n .fetchData(initApi, store.data, {\n silent\n })\n .then(this.initInterval);\n }\n\n receive(values: object) {\n const {store} = this.props;\n\n store.updateData(values);\n this.reload();\n }\n\n silentReload(target?: string, query?: any) {\n this.reload(query, undefined, undefined, true);\n }\n\n initInterval(value: any) {\n const {interval, silentPolling, stopAutoRefreshWhen, data} = this.props;\n\n interval &&\n this.mounted &&\n (!stopAutoRefreshWhen || !evalExpression(stopAutoRefreshWhen, data)) &&\n (this.timer = setTimeout(\n silentPolling ? this.silentReload : this.reload,\n Math.max(interval, 1000)\n ));\n return value;\n }\n\n handleChange(\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) {\n const {store, onChange} = this.props;\n\n if (typeof name === 'string' && name) {\n store.changeValue(name, value, changePristine);\n }\n\n onChange?.apply(null, arguments);\n }\n\n renderHeader() {\n const {\n title,\n subTitle,\n remark,\n remarkPlacement,\n headerClassName,\n toolbarClassName,\n toolbar,\n render,\n store,\n initApi,\n env,\n classnames: cx,\n regions,\n translate: __\n } = this.props;\n\n const subProps = {\n onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined\n };\n let header, right;\n\n if (\n Array.isArray(regions) ? ~regions.indexOf('header') : title || subTitle\n ) {\n header = (\n <div className={cx(`Page-header`, headerClassName)}>\n {title ? (\n <h2 className={cx('Page-title')}>\n {render('title', title, subProps)}\n {remark\n ? render('remark', {\n type: 'remark',\n tooltip: remark,\n placement: remarkPlacement || 'bottom',\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </h2>\n ) : null}\n {subTitle && (\n <small className={cx('Page-subTitle')}>\n {render('subTitle', subTitle, subProps)}\n </small>\n )}\n </div>\n );\n }\n\n if (Array.isArray(regions) ? ~regions.indexOf('toolbar') : toolbar) {\n right = (\n <div className={cx(`Page-toolbar`, toolbarClassName)}>\n {render('toolbar', toolbar || '', subProps)}\n </div>\n );\n }\n\n if (header && right) {\n return (\n <div className={cx('Page-headerRow')}>\n {header}\n {right}\n </div>\n );\n }\n\n return header || right;\n }\n\n render() {\n const {\n className,\n store,\n body,\n bodyClassName,\n render,\n aside,\n asideClassName,\n classnames: cx,\n header,\n showErrorMsg,\n initApi,\n regions,\n style,\n data,\n asideResizor,\n translate: __\n } = this.props;\n\n const subProps = {\n onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined,\n onChange: this.handleChange,\n pageLoading: store.loading\n };\n\n const hasAside = Array.isArray(regions)\n ? ~regions.indexOf('aside')\n : aside && (!Array.isArray(aside) || aside.length);\n\n const styleVar = buildStyle(style, data);\n\n return (\n <div\n className={cx(`Page`, hasAside ? `Page--withSidebar` : '', className)}\n onClick={this.handleClick}\n style={styleVar}\n >\n {hasAside ? (\n <div\n className={cx(\n `Page-aside`,\n asideResizor ? 'relative' : 'Page-aside--withWidth',\n asideClassName\n )}\n >\n {render('aside', aside || '', {\n ...subProps,\n ...(typeof aside === 'string'\n ? {\n inline: false,\n className: `Page-asideTplWrapper`\n }\n : null)\n })}\n {asideResizor ? (\n <div\n onMouseDown={this.handleResizeMouseDown}\n className={cx(`Page-asideResizor`)}\n ></div>\n ) : null}\n </div>\n ) : null}\n\n <div className={cx('Page-content')}>\n <div className={cx('Page-main')}>\n {this.renderHeader()}\n <div className={cx(`Page-body`, bodyClassName)}>\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {store.error && showErrorMsg !== false ? (\n <Alert\n level=\"danger\"\n showCloseButton\n onClose={store.clearMessage}\n >\n {store.msg}\n </Alert>\n ) : null}\n\n {(Array.isArray(regions) ? ~regions.indexOf('body') : body)\n ? render('body', body || '', subProps)\n : null}\n </div>\n </div>\n </div>\n\n {render(\n 'dialog',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen,\n onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined\n }\n )}\n\n {render(\n 'drawer',\n {\n ...((store.action as Action) &&\n ((store.action as Action).drawer as object)),\n type: 'drawer'\n },\n {\n key: 'drawer',\n data: store.drawerData,\n onConfirm: this.handleDrawerConfirm,\n onClose: this.handleDrawerClose,\n show: store.drawerOpen,\n onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined\n }\n )}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'page',\n storeType: ServiceStore.name,\n isolateScope: true\n})\nexport class PageRenderer extends Page {\n static contextType = ScopedContext;\n\n constructor(props: PageProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n super.componentWillUnmount();\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n handleAction(\n e: React.UIEvent<any>,\n action: Action,\n ctx: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const scoped = delegate || (this.context as IScopedContext);\n\n if (action.actionType === 'reload') {\n action.target && scoped.reload(action.target, ctx);\n } else if (action.target) {\n action.target.split(',').forEach(name => {\n let target = scoped.getComponentByName(name);\n target &&\n target.doAction &&\n target.doAction(\n {\n ...action,\n target: undefined\n },\n ctx\n );\n });\n } else {\n super.handleAction(e, action, ctx, throwErrors, delegate);\n\n if (\n action.reload &&\n ~['url', 'link', 'jump'].indexOf(action.actionType!)\n ) {\n scoped.reload(action.reload, ctx);\n }\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDialogConfirm(values, action, ...rest);\n const scoped = this.context;\n const store = this.props.store;\n const dialogAction = store.action as Action;\n const reload = action.reload ?? dialogAction.reload;\n\n if (reload) {\n scoped.reload(reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDrawerConfirm(values, action);\n const scoped = this.context as IScopedContext;\n const store = this.props.store;\n const drawerAction = store.action as Action;\n const reload = action.reload ?? drawerAction.reload;\n\n // 稍等会,等动画结束。\n setTimeout(() => {\n if (reload) {\n scoped.reload(reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }, 300);\n }\n}\n"
|
11
|
+
"import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Renderer, RendererProps} from '../factory';\nimport {observer} from 'mobx-react';\nimport {ServiceStore, IServiceStore} from '../store/service';\nimport {\n Api,\n SchemaNode,\n Action,\n Location,\n ApiObject,\n FunctionPropertyNames\n} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport {isVisible, autobind, bulkBindFunctions} from '../utils/helper';\nimport {ScopedContext, IScopedContext} from '../Scoped';\nimport Alert from '../components/Alert2';\nimport {isApiOutdated, isEffectiveApi} from '../utils/api';\nimport {Spinner} from '../components';\nimport {\n BaseSchema,\n SchemaCollection,\n SchemaClassName,\n SchemaDefaultData,\n SchemaApi,\n SchemaExpression,\n SchemaName,\n SchemaMessage\n} from '../Schema';\nimport {SchemaRemark} from './Remark';\nimport {onAction} from 'mobx-state-tree';\nimport mapValues from 'lodash/mapValues';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {buildStyle} from '../utils/style';\nimport PullRefresh from '../components/PullRefresh';\nimport position from '../utils/position';\nimport {scrollPosition} from '../utils/scrollPosition';\n\n/**\n * 样式属性名及值\n */\ninterface Declaration {\n [property: string]: string;\n}\n\n/**\n * css 定义\n */\ninterface CSSRule {\n [selector: string]: Declaration; // 定义\n}\n\n/**\n * amis Page 渲染器。详情请见:https://baidu.gitee.io/amis/docs/components/page\n */\nexport interface PageSchema extends BaseSchema {\n /**\n * 指定为 page 渲染器。\n */\n type: 'page';\n\n /**\n * 页面标题\n */\n title?: string;\n\n /**\n * 页面副标题\n */\n subTitle?: string;\n\n /**\n * 页面描述, 标题旁边会出现个小图标,放上去会显示这个属性配置的内容。\n */\n remark?: SchemaRemark;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * 内容区 css 类名\n */\n bodyClassName?: SchemaClassName;\n\n /**\n * 边栏区域\n */\n aside?: SchemaCollection;\n\n /**\n * 边栏是否允许拖动\n */\n asideResizor?: boolean;\n\n /**\n * 边栏内容是否粘住,即不跟随滚动。\n *\n * @default true\n */\n asideSticky?: boolean;\n\n /**\n * 边栏最小宽度\n */\n asideMinWidth?: number;\n\n /**\n * 边栏最小宽度\n */\n asideMaxWidth?: number;\n\n /**\n * 边栏区 css 类名\n */\n asideClassName?: SchemaClassName;\n\n /**\n * 配置容器 className\n */\n className?: SchemaClassName;\n\n /**\n * 自定义页面级别样式表\n */\n css?: CSSRule;\n\n /**\n * 移动端下的样式表\n */\n mobileCSS?: CSSRule;\n\n /**\n * 页面级别的初始数据\n */\n data?: SchemaDefaultData;\n\n /**\n * 配置 header 容器 className\n */\n headerClassName?: SchemaClassName;\n\n /**\n * 页面初始化的时候,可以设置一个 API 让其取拉取,发送数据会携带当前 data 数据(包含地址栏参数),获取得数据会合并到 data 中,供组件内使用。\n */\n initApi?: SchemaApi;\n\n /**\n * 是否默认就拉取?\n */\n initFetch?: boolean;\n\n /**\n * 是否默认就拉取表达式\n */\n initFetchOn?: SchemaExpression;\n\n messages?: SchemaMessage;\n\n name?: SchemaName;\n\n /**\n * 页面顶部区域,当存在 title 时在右上角显示。\n */\n toolbar?: SchemaCollection;\n\n /**\n * 配置 toolbar 容器 className\n */\n toolbarClassName?: SchemaClassName;\n\n definitions?: any; // todo\n\n /**\n * 配置轮询间隔,配置后 initApi 将轮询加载。\n */\n interval?: number;\n\n /**\n * 是否要静默加载,也就是说不显示进度\n */\n silentPolling?: boolean;\n\n /**\n * 配置停止轮询的条件。\n */\n stopAutoRefreshWhen?: SchemaExpression;\n // primaryField?: string, // 指定主键的字段名,默认为 `id`\n\n /**\n * 是否显示错误信息,默认是显示的。\n */\n showErrorMsg?: boolean;\n\n /**\n * css 变量\n */\n cssVars?: any;\n\n /**\n * 默认不设置自动感觉内容来决定要不要展示这些区域\n * 如果配置了,以配置为主。\n */\n regions?: Array<'aside' | 'body' | 'toolbar' | 'header'>;\n\n /**\n * 自定义样式\n */\n style?: {\n [propName: string]: any;\n };\n\n /**\n * 下拉刷新配置\n */\n pullRefresh?: {\n disabled?: boolean;\n pullingText?: string;\n loosingText?: string;\n };\n}\n\nexport interface PageProps\n extends RendererProps,\n Omit<PageSchema, 'type' | 'className'> {\n data: any;\n store: IServiceStore;\n location?: Location;\n}\n\nexport default class Page extends React.Component<PageProps> {\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean;\n style: HTMLStyleElement;\n varStyle: HTMLStyleElement;\n startX: number;\n startWidth: number;\n codeWrap: HTMLElement;\n asideInner = React.createRef<HTMLDivElement>();\n\n static defaultProps = {\n asideClassName: '',\n bodyClassName: '',\n headerClassName: '',\n initFetch: true,\n // primaryField: 'id',\n toolbarClassName: '',\n messages: {},\n asideSticky: true,\n pullRefresh: {\n disabled: true\n }\n };\n\n static propsList: Array<keyof PageProps> = [\n 'title',\n 'subTitle',\n 'initApi',\n 'initFetchOn',\n 'initFetch',\n 'headerClassName',\n 'bodyClassName',\n 'asideClassName',\n 'toolbarClassName',\n 'toolbar',\n 'body',\n 'aside',\n 'messages',\n 'style',\n 'showErrorMsg'\n ];\n\n constructor(props: PageProps) {\n super(props);\n\n // autobind 会让继承里面的 super 指向有问题,所以先这样!\n bulkBindFunctions<Page /*为毛 this 的类型自动识别不出来?*/>(this, [\n 'handleAction',\n 'handleChange',\n 'handleQuery',\n 'handleDialogConfirm',\n 'handleDialogClose',\n 'handleDrawerConfirm',\n 'handleDrawerClose',\n 'handleClick',\n 'reload',\n 'silentReload',\n 'initInterval'\n ]);\n\n this.style = document.createElement('style');\n this.style.setAttribute('data-page', '');\n document.getElementsByTagName('head')[0].appendChild(this.style);\n this.updateStyle();\n\n this.varStyle = document.createElement('style');\n this.style.setAttribute('data-vars', '');\n document.getElementsByTagName('head')[0].appendChild(this.varStyle);\n this.updateVarStyle();\n }\n\n /**\n * 构建 css\n */\n updateStyle() {\n if (this.props.css || this.props.mobileCSS) {\n this.style.innerHTML = `\n ${this.buildCSS(this.props.css)}\n\n @media (max-width: 768px) {\n ${this.buildCSS(this.props.mobileCSS)}\n }\n `;\n } else {\n this.style.innerHTML = '';\n }\n }\n\n buildCSS(cssRules?: CSSRule) {\n if (!cssRules) {\n return '';\n }\n let css = '';\n\n for (const selector in cssRules) {\n const declaration = cssRules[selector];\n let declarationStr = '';\n for (const property in declaration) {\n declarationStr += ` ${property}: ${declaration[property]};\\n`;\n }\n\n css += `\n ${selector} {\n ${declarationStr}\n }\n `;\n }\n return css;\n }\n\n /**\n * 构建用于 css 变量的内联样式\n */\n updateVarStyle() {\n const cssVars = this.props.cssVars;\n let cssVarsContent = '';\n if (cssVars) {\n for (const key in cssVars) {\n if (key.startsWith('--')) {\n if (key.indexOf(':') !== -1) {\n continue;\n }\n const value = cssVars[key];\n // 这是为了防止 xss,可能还有别的\n if (\n typeof value === 'string' &&\n (value.indexOf('expression(') !== -1 || value.indexOf(';') !== -1)\n ) {\n continue;\n }\n cssVarsContent += `${key}: ${value}; \\n`;\n }\n }\n this.varStyle.innerHTML = `\n :root {\n ${cssVarsContent}\n }\n `;\n }\n }\n\n componentDidMount() {\n const {initApi, initFetch, initFetchOn, store, messages, asideSticky} =\n this.props;\n\n this.mounted = true;\n\n if (isEffectiveApi(initApi, store.data, initFetch, initFetchOn)) {\n store\n .fetchInitData(initApi, store.data, {\n successMessage: messages && messages.fetchSuccess,\n errorMessage: messages && messages.fetchFailed\n })\n .then(this.initInterval);\n }\n\n if (asideSticky && this.asideInner.current) {\n const dom = this.asideInner.current!;\n dom.style.cssText += `position: sticky; top: ${\n scrollPosition(dom).top\n }px;`;\n }\n }\n\n componentDidUpdate(prevProps: PageProps) {\n const props = this.props;\n const store = props.store;\n const initApi = props.initApi;\n\n if (\n // 前一次不构成条件,这次更新构成了条件,则需要重新拉取\n (props.initFetchOn && props.initFetch && !prevProps.initFetch) ||\n // 构成了条件,同时 url 里面有变量,且上次和这次还不一样,则需要重新拉取。\n (props.initFetch !== false &&\n isApiOutdated(prevProps.initApi, initApi, prevProps.data, props.data))\n ) {\n const messages = props.messages;\n isEffectiveApi(initApi, store.data) &&\n store\n .fetchData(initApi as Api, store.data, {\n successMessage: messages && messages.fetchSuccess,\n errorMessage: messages && messages.fetchFailed\n })\n .then(this.initInterval);\n } else if (\n JSON.stringify(props.css) !== JSON.stringify(prevProps.css) ||\n JSON.stringify(props.mobileCSS) !== JSON.stringify(prevProps.mobileCSS)\n ) {\n this.updateStyle();\n } else if (\n JSON.stringify(props.cssVars) !== JSON.stringify(prevProps.cssVars)\n ) {\n this.updateVarStyle();\n } else if (props.defaultData !== prevProps.defaultData) {\n store.reInitData(props.defaultData);\n }\n }\n\n componentWillUnmount() {\n this.mounted = false;\n clearTimeout(this.timer);\n if (this.style) {\n this.style.parentNode?.removeChild(this.style);\n }\n if (this.varStyle) {\n this.varStyle.parentNode?.removeChild(this.varStyle);\n }\n }\n\n reloadTarget(target: string, data?: any) {\n // 会被覆写\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n ctx: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ): any {\n const {env, store, messages, onAction} = this.props;\n\n if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(ctx);\n } else if (action.actionType === 'drawer') {\n store.setCurrentAction(action);\n store.openDrawer(ctx);\n } else if (action.actionType === 'ajax') {\n store.setCurrentAction(action);\n return store\n .saveRemote(action.api as string, ctx, {\n successMessage:\n (action.messages && action.messages.success) ||\n (messages && messages.saveSuccess),\n errorMessage:\n (action.messages && action.messages.failed) ||\n (messages && messages.saveSuccess)\n })\n .then(async () => {\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload && this.reloadTarget(action.reload, store.data);\n })\n .catch(() => {});\n } else {\n return onAction(e, action, ctx, throwErrors, delegate || this.context);\n }\n }\n\n handleQuery(query: any) {\n this.receive(query);\n }\n\n handleDialogConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDialog(true);\n }\n\n handleDialogClose(confirmed = false) {\n const {store} = this.props;\n store.closeDialog(confirmed);\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>) {\n const {store} = this.props;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDrawerClose() {\n const {store} = this.props;\n store.closeDrawer();\n }\n\n handleClick(e: any) {\n const target: HTMLElement = e.target as HTMLElement;\n const {env} = this.props;\n const link =\n target.tagName === 'A' && target.hasAttribute('data-link')\n ? target.getAttribute('data-link')\n : target.closest('a[data-link]')?.getAttribute('data-link');\n\n if (env && link) {\n env.jumpTo(link);\n e.preventDefault();\n }\n }\n\n @autobind\n handleResizeMouseDown(e: React.MouseEvent) {\n // todo 可能 ie 不正确\n let isRightMB = e.nativeEvent.which == 3;\n\n if (isRightMB) {\n return;\n }\n\n this.codeWrap = e.currentTarget.parentElement as HTMLElement;\n document.addEventListener('mousemove', this.handleResizeMouseMove);\n document.addEventListener('mouseup', this.handleResizeMouseUp);\n this.startX = e.clientX;\n this.startWidth = this.codeWrap.offsetWidth;\n }\n\n @autobind\n handleResizeMouseMove(e: MouseEvent) {\n const {asideMinWidth = 160, asideMaxWidth = 350} = this.props;\n const dx = e.clientX - this.startX;\n const mx = this.startWidth + dx;\n const width = Math.min(Math.max(mx, asideMinWidth), asideMaxWidth);\n this.codeWrap.style.cssText += `width: ${width}px`;\n }\n\n @autobind\n handleResizeMouseUp() {\n document.removeEventListener('mousemove', this.handleResizeMouseMove);\n document.removeEventListener('mouseup', this.handleResizeMouseUp);\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n reload(subpath?: any, query?: any, ctx?: any, silent?: boolean) {\n if (query) {\n return this.receive(query);\n }\n\n const {store, initApi} = this.props;\n\n clearTimeout(this.timer);\n isEffectiveApi(initApi, store.data) &&\n store\n .fetchData(initApi, store.data, {\n silent\n })\n .then(this.initInterval);\n }\n\n receive(values: object) {\n const {store} = this.props;\n\n store.updateData(values);\n this.reload();\n }\n\n silentReload(target?: string, query?: any) {\n this.reload(query, undefined, undefined, true);\n }\n\n initInterval(value: any) {\n const {interval, silentPolling, stopAutoRefreshWhen, data} = this.props;\n\n interval &&\n this.mounted &&\n (!stopAutoRefreshWhen || !evalExpression(stopAutoRefreshWhen, data)) &&\n (this.timer = setTimeout(\n silentPolling ? this.silentReload : this.reload,\n Math.max(interval, 1000)\n ));\n return value;\n }\n\n @autobind\n async handleRefresh() {\n const {dispatchEvent, data} = this.props;\n const rendererEvent = await dispatchEvent('pullRefresh', data);\n if (rendererEvent?.prevented) {\n return;\n }\n this.reload();\n }\n\n handleChange(\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) {\n const {store, onChange} = this.props;\n\n if (typeof name === 'string' && name) {\n store.changeValue(name, value, changePristine);\n }\n\n onChange?.apply(null, arguments);\n }\n\n renderHeader() {\n const {\n title,\n subTitle,\n remark,\n remarkPlacement,\n headerClassName,\n toolbarClassName,\n toolbar,\n render,\n store,\n initApi,\n env,\n classnames: cx,\n regions,\n translate: __\n } = this.props;\n\n const subProps = {\n onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined\n };\n let header, right;\n\n if (\n Array.isArray(regions) ? ~regions.indexOf('header') : title || subTitle\n ) {\n header = (\n <div className={cx(`Page-header`, headerClassName)}>\n {title ? (\n <h2 className={cx('Page-title')}>\n {render('title', title, subProps)}\n {remark\n ? render('remark', {\n type: 'remark',\n tooltip: remark,\n placement: remarkPlacement || 'bottom',\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </h2>\n ) : null}\n {subTitle && (\n <small className={cx('Page-subTitle')}>\n {render('subTitle', subTitle, subProps)}\n </small>\n )}\n </div>\n );\n }\n\n if (Array.isArray(regions) ? ~regions.indexOf('toolbar') : toolbar) {\n right = (\n <div className={cx(`Page-toolbar`, toolbarClassName)}>\n {render('toolbar', toolbar || '', subProps)}\n </div>\n );\n }\n\n if (header && right) {\n return (\n <div className={cx('Page-headerRow')}>\n {header}\n {right}\n </div>\n );\n }\n\n return header || right;\n }\n\n render() {\n const {\n className,\n store,\n body,\n bodyClassName,\n render,\n aside,\n asideClassName,\n classnames: cx,\n header,\n showErrorMsg,\n initApi,\n regions,\n style,\n data,\n asideResizor,\n pullRefresh,\n translate: __\n } = this.props;\n\n const subProps = {\n onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined,\n onChange: this.handleChange,\n pageLoading: store.loading\n };\n\n const hasAside = Array.isArray(regions)\n ? ~regions.indexOf('aside')\n : aside && (!Array.isArray(aside) || aside.length);\n\n const styleVar = buildStyle(style, data);\n\n const pageContent = (\n <div className={cx('Page-content')}>\n <div className={cx('Page-main')}>\n {this.renderHeader()}\n <div className={cx(`Page-body`, bodyClassName)}>\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {store.error && showErrorMsg !== false ? (\n <Alert\n level=\"danger\"\n showCloseButton\n onClose={store.clearMessage}\n >\n {store.msg}\n </Alert>\n ) : null}\n\n {(Array.isArray(regions) ? ~regions.indexOf('body') : body)\n ? render('body', body || '', subProps)\n : null}\n </div>\n </div>\n </div>\n );\n\n return (\n <div\n className={cx(`Page`, hasAside ? `Page--withSidebar` : '', className)}\n onClick={this.handleClick}\n style={styleVar}\n >\n {hasAside ? (\n <div\n className={cx(\n `Page-aside`,\n asideResizor ? 'relative' : 'Page-aside--withWidth',\n asideClassName\n )}\n >\n <div className={cx(`Page-asideInner`)} ref={this.asideInner}>\n {render('aside', aside || '', {\n ...subProps,\n ...(typeof aside === 'string'\n ? {\n inline: false,\n className: `Page-asideTplWrapper`\n }\n : null)\n })}\n </div>\n {asideResizor ? (\n <div\n onMouseDown={this.handleResizeMouseDown}\n className={cx(`Page-asideResizor`)}\n ></div>\n ) : null}\n </div>\n ) : null}\n\n {pullRefresh && !pullRefresh.disabled ? (\n <PullRefresh\n {...pullRefresh}\n translate={__}\n onRefresh={this.handleRefresh}\n >\n {pageContent}\n </PullRefresh>\n ) : (\n pageContent\n )}\n\n {render(\n 'dialog',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen,\n onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined\n }\n )}\n\n {render(\n 'drawer',\n {\n ...((store.action as Action) &&\n ((store.action as Action).drawer as object)),\n type: 'drawer'\n },\n {\n key: 'drawer',\n data: store.drawerData,\n onConfirm: this.handleDrawerConfirm,\n onClose: this.handleDrawerClose,\n show: store.drawerOpen,\n onAction: this.handleAction,\n onQuery: initApi ? this.handleQuery : undefined\n }\n )}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'page',\n storeType: ServiceStore.name,\n isolateScope: true\n})\nexport class PageRenderer extends Page {\n static contextType = ScopedContext;\n\n constructor(props: PageProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n componentWillUnmount() {\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n super.componentWillUnmount();\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n handleAction(\n e: React.UIEvent<any>,\n action: Action,\n ctx: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const scoped = delegate || (this.context as IScopedContext);\n\n if (action.actionType === 'reload') {\n action.target && scoped.reload(action.target, ctx);\n } else if (action.target) {\n action.target.split(',').forEach(name => {\n let target = scoped.getComponentByName(name);\n target &&\n target.doAction &&\n target.doAction(\n {\n ...action,\n target: undefined\n },\n ctx\n );\n });\n } else {\n super.handleAction(e, action, ctx, throwErrors, delegate);\n\n if (\n action.reload &&\n ~['url', 'link', 'jump'].indexOf(action.actionType!)\n ) {\n scoped.reload(action.reload, ctx);\n }\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDialogConfirm(values, action, ...rest);\n const scoped = this.context;\n const store = this.props.store;\n const dialogAction = store.action as Action;\n const reload = action.reload ?? dialogAction.reload;\n\n if (reload) {\n scoped.reload(reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...rest: Array<any>) {\n super.handleDrawerConfirm(values, action);\n const scoped = this.context as IScopedContext;\n const store = this.props.store;\n const drawerAction = store.action as Action;\n const reload = action.reload ?? drawerAction.reload;\n\n // 稍等会,等动画结束。\n setTimeout(() => {\n if (reload) {\n scoped.reload(reload, store.data);\n } else {\n // 没有设置,则自动让页面中 crud 刷新。\n scoped\n .getComponents()\n .filter((item: any) => item.props.type === 'crud')\n .forEach((item: any) => item.reload && item.reload());\n }\n }, 300);\n }\n\n setData(values: object) {\n return this.props.store.updateData(values);\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { RendererProps } from '../factory';
|
3
3
|
import { BaseSchema, SchemaClassName } from '../Schema';
|
4
|
+
import { ColorMapType } from '../components/Progress';
|
4
5
|
/**
|
5
6
|
* 进度展示控件。
|
6
7
|
* 文档:https://baidu.gitee.io/amis/docs/components/progress
|
@@ -20,13 +21,9 @@ export interface ProgressSchema extends BaseSchema {
|
|
20
21
|
*/
|
21
22
|
progressClassName?: SchemaClassName;
|
22
23
|
/**
|
23
|
-
*
|
24
|
+
* 配置不同的值段,用不同的样式提示用户
|
24
25
|
*/
|
25
|
-
|
26
|
-
/**
|
27
|
-
* 配置不通的值段,用不通的样式提示用户
|
28
|
-
*/
|
29
|
-
map?: Array<string>;
|
26
|
+
map?: ColorMapType;
|
30
27
|
/**
|
31
28
|
* 是否显示值
|
32
29
|
*/
|
@@ -18,12 +18,12 @@ var ProgressField = /** @class */ (function (_super) {
|
|
18
18
|
});
|
19
19
|
};
|
20
20
|
ProgressField.prototype.render = function () {
|
21
|
-
var _a = this.props, mode = _a.mode, className = _a.className, placeholder = _a.placeholder, progressClassName = _a.progressClassName,
|
21
|
+
var _a = this.props, mode = _a.mode, className = _a.className, placeholder = _a.placeholder, progressClassName = _a.progressClassName, map = _a.map, stripe = _a.stripe, animate = _a.animate, showLabel = _a.showLabel, strokeWidth = _a.strokeWidth, gapDegree = _a.gapDegree, gapPosition = _a.gapPosition, cx = _a.classnames;
|
22
22
|
var value = (0, helper_1.getPropValue)(this.props);
|
23
23
|
if (/^\d*\.?\d+$/.test(value)) {
|
24
24
|
value = parseFloat(value);
|
25
25
|
}
|
26
|
-
return (react_1.default.createElement(Progress_1.default, { value: value, type: mode, map: map, stripe: stripe, animate: animate, showLabel: showLabel, placeholder: placeholder, format: this.format, strokeWidth: strokeWidth, gapDegree: gapDegree, gapPosition: gapPosition, className: className, progressClassName: progressClassName
|
26
|
+
return (react_1.default.createElement(Progress_1.default, { value: value, type: mode, map: map, stripe: stripe, animate: animate, showLabel: showLabel, placeholder: placeholder, format: this.format, strokeWidth: strokeWidth, gapDegree: gapDegree, gapPosition: gapPosition, className: className, progressClassName: progressClassName }));
|
27
27
|
};
|
28
28
|
ProgressField.defaultProps = {
|
29
29
|
placeholder: '-',
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Progress.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,sCAAmD;AAGnD,0CAAqE;AAGrE,iFAA8C;AA2E9C;IAAmC,8CAAsC;IAAzE;;
|
9
|
+
"mappings": ";;;;AAAA,6DAA0B;AAC1B,sCAAmD;AAGnD,0CAAqE;AAGrE,iFAA8C;AA2E9C;IAAmC,8CAAsC;IAAzE;;IA2DA,CAAC;IA9CC,8BAAM,GAAN,UAAO,KAAa;QACZ,IAAA,KAA2B,IAAI,CAAC,KAAK,EAApC,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAc,CAAC;QAC5C,OAAO,MAAM,CAAC,gBAAgB,EAAE,QAAQ,IAAI,WAAW,EAAE;YACvD,IAAI,EAAE,IAAA,qBAAY,EAAC,IAAI,EAAE,EAAC,KAAK,OAAA,EAAC,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,8BAAM,GAAN;QACQ,IAAA,KAaF,IAAI,CAAC,KAAK,EAZZ,IAAI,UAAA,EACJ,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,iBAAiB,uBAAA,EACjB,GAAG,SAAA,EACH,MAAM,YAAA,EACN,OAAO,aAAA,EACP,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,SAAS,eAAA,EACT,WAAW,iBAAA,EACC,EAAE,gBACF,CAAC;QAEf,IAAI,KAAK,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YAC7B,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;SAC3B;QACD,OAAO,CACL,8BAAC,kBAAQ,IACP,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,GACpC,CACH,CAAC;IACJ,CAAC;IAzDM,0BAAY,GAAG;QACpB,WAAW,EAAE,GAAG;QAChB,iBAAiB,EAAE,EAAE;QACrB,oBAAoB,EAAE,EAAE;QACxB,GAAG,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC;QACvE,QAAQ,EAAE,WAAW;QACrB,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,KAAK;KACf,CAAC;IAGF;QADC,iBAAQ;;;;+CAMR;IAyCH,oBAAC;CAAA,AA3DD,CAAmC,eAAK,CAAC,SAAS,GA2DjD;AA3DY,sCAAa;AAgE1B;IAA2C,sDAAa;IAAxD;;IAA0D,CAAC;IAA9C,qBAAqB;QAHjC,IAAA,kBAAQ,EAAC;YACR,IAAI,EAAE,UAAU;SACjB,CAAC;OACW,qBAAqB,CAAyB;IAAD,4BAAC;CAAA,AAA3D,CAA2C,aAAa,GAAG;AAA9C,sDAAqB",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport cx from 'classnames';\nimport {BaseSchema, SchemaClassName} from '../Schema';\nimport {autobind, getPropValue, createObject} from '../utils/helper';\nimport {filter} from '../utils/tpl';\n\nimport Progress from '../components/Progress';\n/**\n * 进度展示控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/progress\n */\nexport interface ProgressSchema extends BaseSchema {\n type: 'progress';\n\n /**\n * 关联字段名。\n */\n name?: string;\n\n /**\n * 进度条类型。\n */\n mode: 'line' | 'circle' | 'dashboard';\n\n /**\n * 进度条 CSS 类名\n */\n progressClassName?: SchemaClassName;\n\n /**\n *
|
11
|
+
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport cx from 'classnames';\nimport {BaseSchema, SchemaClassName} from '../Schema';\nimport {autobind, getPropValue, createObject} from '../utils/helper';\nimport {filter} from '../utils/tpl';\n\nimport Progress from '../components/Progress';\nimport {ColorMapType} from '../components/Progress';\n\n/**\n * 进度展示控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/progress\n */\nexport interface ProgressSchema extends BaseSchema {\n type: 'progress';\n\n /**\n * 关联字段名。\n */\n name?: string;\n\n /**\n * 进度条类型。\n */\n mode: 'line' | 'circle' | 'dashboard';\n\n /**\n * 进度条 CSS 类名\n */\n progressClassName?: SchemaClassName;\n\n /**\n * 配置不同的值段,用不同的样式提示用户\n */\n map?: ColorMapType;\n\n /**\n * 是否显示值\n */\n showLabel?: boolean;\n\n /**\n * 占位符\n */\n placeholder?: string;\n\n /**\n * 是否显示背景间隔\n */\n stripe?: boolean;\n\n /**\n * 是否显示动画(只有在开启的时候才能看出来)\n */\n animate?: boolean;\n\n /**\n * 进度条线的宽度\n */\n strokeWidth?: number;\n\n /**\n * 仪表盘进度条缺口角度,可取值 0 ~ 295\n */\n gapDegree?: number;\n\n /**\n * 仪表盘进度条缺口位置\n */\n gapPosition?: 'top' | 'bottom' | 'left' | 'right';\n\n /**\n * 内容的模板函数\n */\n valueTpl?: string;\n}\n\nexport interface ProgressProps\n extends RendererProps,\n Omit<ProgressSchema, 'type' | 'className'> {}\n\nexport class ProgressField extends React.Component<ProgressProps, object> {\n static defaultProps = {\n placeholder: '-',\n progressClassName: '',\n progressBarClassName: '',\n map: ['bg-danger', 'bg-warning', 'bg-info', 'bg-success', 'bg-success'],\n valueTpl: '${value}%',\n showLabel: true,\n stripe: false,\n animate: false\n };\n\n @autobind\n format(value: number) {\n const {valueTpl, render, data} = this.props;\n return render(`progress-value`, valueTpl || '${value}%', {\n data: createObject(data, {value})\n });\n }\n\n render() {\n const {\n mode,\n className,\n placeholder,\n progressClassName,\n map,\n stripe,\n animate,\n showLabel,\n strokeWidth,\n gapDegree,\n gapPosition,\n classnames: cx\n } = this.props;\n\n let value = getPropValue(this.props);\n\n if (/^\\d*\\.?\\d+$/.test(value)) {\n value = parseFloat(value);\n }\n return (\n <Progress\n value={value}\n type={mode}\n map={map}\n stripe={stripe}\n animate={animate}\n showLabel={showLabel}\n placeholder={placeholder}\n format={this.format}\n strokeWidth={strokeWidth}\n gapDegree={gapDegree}\n gapPosition={gapPosition}\n className={className}\n progressClassName={progressClassName}\n />\n );\n }\n}\n\n@Renderer({\n type: 'progress'\n})\nexport class ProgressFieldRenderer extends ProgressField {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -99,6 +99,8 @@ export default class Service extends React.Component<ServiceProps> {
|
|
99
99
|
receive(values: object): void;
|
100
100
|
handleQuery(query: any): void;
|
101
101
|
reloadTarget(target: string, data?: any): void;
|
102
|
+
handleDialogConfirm(values: object[], action: Action, ctx: any, targets: Array<any>): void;
|
103
|
+
handleDialogClose(confirmed?: boolean): void;
|
102
104
|
openFeedback(dialog: any, ctx: any): Promise<unknown>;
|
103
105
|
handleAction(e: React.UIEvent<any> | void, action: Action, data: object, throwErrors?: boolean, delegate?: IScopedContext): void;
|
104
106
|
handleChange(value: any, name: string, submit?: boolean, changePristine?: boolean): void;
|
@@ -112,4 +114,5 @@ export declare class ServiceRenderer extends Service {
|
|
112
114
|
receive(values: any, subPath?: string): void;
|
113
115
|
componentWillUnmount(): void;
|
114
116
|
reloadTarget(target: string, data?: any): void;
|
117
|
+
setData(values: object): void;
|
115
118
|
}
|
package/lib/renderers/Service.js
CHANGED
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
|
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
6
|
var factory_1 = require("../factory");
|
7
7
|
var service_1 = require("../store/service");
|
8
|
+
var types_1 = require("../types");
|
8
9
|
var tpl_1 = require("../utils/tpl");
|
9
10
|
var Scoped_1 = require("../Scoped");
|
10
11
|
var api_1 = require("../utils/api");
|
@@ -105,10 +106,10 @@ var Service = /** @class */ (function (_super) {
|
|
105
106
|
_a = this.props, dataProvider = _a.dataProvider, store = _a.store;
|
106
107
|
dataProviderFunc = dataProvider;
|
107
108
|
if (typeof dataProvider === 'string' && dataProvider) {
|
108
|
-
dataProviderFunc = (0, api_1.str2AsyncFunction)(dataProvider, 'data', 'setData');
|
109
|
+
dataProviderFunc = (0, api_1.str2AsyncFunction)(dataProvider, 'data', 'setData', 'env');
|
109
110
|
}
|
110
111
|
if (!(typeof dataProviderFunc === 'function')) return [3 /*break*/, 2];
|
111
|
-
return [4 /*yield*/, dataProviderFunc(store.data, this.dataProviderSetData)];
|
112
|
+
return [4 /*yield*/, dataProviderFunc(store.data, this.dataProviderSetData, this.props.env)];
|
112
113
|
case 1:
|
113
114
|
unsubscribe = _b.sent();
|
114
115
|
if (typeof unsubscribe === 'function') {
|
@@ -195,7 +196,7 @@ var Service = /** @class */ (function (_super) {
|
|
195
196
|
if (query) {
|
196
197
|
return this.receive(query);
|
197
198
|
}
|
198
|
-
var _a = this.props, schemaApi = _a.schemaApi, initFetchSchema = _a.initFetchSchema, api = _a.api, initFetch = _a.initFetch, initFetchOn = _a.initFetchOn, store = _a.store, _b = _a.messages, fetchSuccess = _b.fetchSuccess, fetchFailed = _b.fetchFailed;
|
199
|
+
var _a = this.props, schemaApi = _a.schemaApi, initFetchSchema = _a.initFetchSchema, api = _a.api, initFetch = _a.initFetch, initFetchOn = _a.initFetchOn, store = _a.store, dataProvider = _a.dataProvider, _b = _a.messages, fetchSuccess = _b.fetchSuccess, fetchFailed = _b.fetchFailed;
|
199
200
|
clearTimeout(this.timer);
|
200
201
|
if ((0, api_1.isEffectiveApi)(schemaApi, store.data)) {
|
201
202
|
store
|
@@ -214,6 +215,9 @@ var Service = /** @class */ (function (_super) {
|
|
214
215
|
})
|
215
216
|
.then(this.afterDataFetch);
|
216
217
|
}
|
218
|
+
if (dataProvider) {
|
219
|
+
this.runDataProvider();
|
220
|
+
}
|
217
221
|
};
|
218
222
|
Service.prototype.silentReload = function (target, query) {
|
219
223
|
this.reload(target, query, undefined, true);
|
@@ -235,22 +239,27 @@ var Service = /** @class */ (function (_super) {
|
|
235
239
|
Service.prototype.reloadTarget = function (target, data) {
|
236
240
|
// 会被覆写
|
237
241
|
};
|
242
|
+
Service.prototype.handleDialogConfirm = function (values, action, ctx, targets) {
|
243
|
+
var store = this.props.store;
|
244
|
+
store.closeDialog(true);
|
245
|
+
};
|
246
|
+
Service.prototype.handleDialogClose = function (confirmed) {
|
247
|
+
if (confirmed === void 0) { confirmed = false; }
|
248
|
+
var store = this.props.store;
|
249
|
+
store.closeDialog(confirmed);
|
250
|
+
};
|
238
251
|
Service.prototype.openFeedback = function (dialog, ctx) {
|
239
252
|
var _this = this;
|
240
253
|
return new Promise(function (resolve) {
|
241
254
|
var store = _this.props.store;
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
store.openDialog(ctx, undefined, function (confirmed) {
|
251
|
-
resolve(confirmed);
|
252
|
-
});
|
253
|
-
}
|
255
|
+
store.setCurrentAction({
|
256
|
+
type: 'button',
|
257
|
+
actionType: 'dialog',
|
258
|
+
dialog: dialog
|
259
|
+
});
|
260
|
+
store.openDialog(ctx, undefined, function (confirmed) {
|
261
|
+
resolve(confirmed);
|
262
|
+
});
|
254
263
|
});
|
255
264
|
};
|
256
265
|
Service.prototype.handleAction = function (e, action, data, throwErrors, delegate) {
|
@@ -302,12 +311,12 @@ var Service = /** @class */ (function (_super) {
|
|
302
311
|
};
|
303
312
|
Service.prototype.renderBody = function () {
|
304
313
|
var _a = this.props, render = _a.render, store = _a.store, schema = _a.body, cx = _a.classnames;
|
305
|
-
return
|
314
|
+
return render('body', store.schema || schema, {
|
306
315
|
key: store.schemaKey || 'body',
|
307
316
|
onQuery: this.handleQuery,
|
308
317
|
onAction: this.handleAction,
|
309
318
|
onChange: this.handleChange
|
310
|
-
})
|
319
|
+
});
|
311
320
|
};
|
312
321
|
Service.prototype.render = function () {
|
313
322
|
var _a = this.props, className = _a.className, store = _a.store, render = _a.render, ns = _a.classPrefix, cx = _a.classnames;
|
@@ -317,8 +326,19 @@ var Service = /** @class */ (function (_super) {
|
|
317
326
|
react_1.default.createElement("span", null, "\u00D7")),
|
318
327
|
store.msg)) : null,
|
319
328
|
this.renderBody(),
|
320
|
-
react_1.default.createElement(components_1.Spinner, { size: "lg", overlay: true, key: "info", show: store.loading })
|
329
|
+
react_1.default.createElement(components_1.Spinner, { size: "lg", overlay: true, key: "info", show: store.loading }),
|
330
|
+
render(
|
331
|
+
// 单独给 feedback 服务的,handleAction 里面先不要处理弹窗
|
332
|
+
'modal', (0, tslib_1.__assign)((0, tslib_1.__assign)({}, (store.action &&
|
333
|
+
store.action.dialog)), { type: 'dialog' }), {
|
334
|
+
key: 'dialog',
|
335
|
+
data: store.dialogData,
|
336
|
+
onConfirm: this.handleDialogConfirm,
|
337
|
+
onClose: this.handleDialogClose,
|
338
|
+
show: store.dialogOpen
|
339
|
+
})));
|
321
340
|
};
|
341
|
+
var _a, _b;
|
322
342
|
Service.defaultProps = {
|
323
343
|
messages: {
|
324
344
|
fetchFailed: 'fetchFailed'
|
@@ -331,6 +351,18 @@ var Service = /** @class */ (function (_super) {
|
|
331
351
|
(0, tslib_1.__metadata)("design:paramtypes", []),
|
332
352
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
333
353
|
], Service.prototype, "initFetch", null);
|
354
|
+
(0, tslib_1.__decorate)([
|
355
|
+
helper_1.autobind,
|
356
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
357
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Array, typeof (_a = typeof types_1.Action !== "undefined" && types_1.Action) === "function" ? _a : Object, Object, typeof (_b = typeof Array !== "undefined" && Array) === "function" ? _b : Object]),
|
358
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
359
|
+
], Service.prototype, "handleDialogConfirm", null);
|
360
|
+
(0, tslib_1.__decorate)([
|
361
|
+
helper_1.autobind,
|
362
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
363
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object]),
|
364
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
365
|
+
], Service.prototype, "handleDialogClose", null);
|
334
366
|
return Service;
|
335
367
|
}(react_1.default.Component));
|
336
368
|
exports.default = Service;
|
@@ -365,7 +397,10 @@ var ServiceRenderer = /** @class */ (function (_super) {
|
|
365
397
|
var scoped = this.context;
|
366
398
|
scoped.reload(target, data);
|
367
399
|
};
|
368
|
-
|
400
|
+
ServiceRenderer.prototype.setData = function (values) {
|
401
|
+
return _super.prototype.afterDataFetch.call(this, values);
|
402
|
+
};
|
403
|
+
var _c;
|
369
404
|
ServiceRenderer.contextType = Scoped_1.ScopedContext;
|
370
405
|
ServiceRenderer = (0, tslib_1.__decorate)([
|
371
406
|
(0, factory_1.Renderer)({
|
@@ -374,7 +409,7 @@ var ServiceRenderer = /** @class */ (function (_super) {
|
|
374
409
|
isolateScope: true,
|
375
410
|
storeExtendsData: function (props) { return (props.formStore ? false : true); }
|
376
411
|
}),
|
377
|
-
(0, tslib_1.__metadata)("design:paramtypes", [Object, typeof (
|
412
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object, typeof (_c = typeof Scoped_1.IScopedContext !== "undefined" && Scoped_1.IScopedContext) === "function" ? _c : Object])
|
378
413
|
], ServiceRenderer);
|
379
414
|
return ServiceRenderer;
|
380
415
|
}(Service));
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Service.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 PropTypes from 'prop-types';\nimport {Renderer, RendererProps} from '../factory';\nimport {ServiceStore, IServiceStore} from '../store/service';\nimport {Api, SchemaNode, ApiObject, RendererData, Action} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport cx from 'classnames';\nimport Scoped, {ScopedContext, IScopedContext} from '../Scoped';\nimport {observer} from 'mobx-react';\nimport {\n buildApi,\n isApiOutdated,\n isEffectiveApi,\n str2AsyncFunction\n} from '../utils/api';\nimport {Spinner} from '../components';\nimport {autobind, isEmpty, isVisible, qsstringify} from '../utils/helper';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaCollection,\n SchemaExpression,\n SchemaMessage,\n SchemaName\n} from '../Schema';\nimport {IIRendererStore} from '../store';\n\n/**\n * Service 服务类控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/service\n */\nexport interface ServiceSchema extends BaseSchema {\n /**\n * 指定为 Service 数据拉取控件。\n */\n type: 'service';\n\n /**\n * 页面初始化的时候,可以设置一个 API 让其取拉取,发送数据会携带当前 data 数据(包含地址栏参数),获取得数据会合并到 data 中,供组件内使用。\n */\n api?: SchemaApi;\n\n /**\n * WebScocket 地址,用于实时获取数据\n */\n ws?: string;\n\n /**\n * 通过调用外部函数来获取数据\n */\n dataProvider?: string | Function;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * @deprecated 改成 api 的 sendOn。\n */\n fetchOn?: SchemaExpression;\n\n /**\n * 是否默认就拉取?\n */\n initFetch?: boolean;\n\n /**\n * 是否默认就拉取?通过表达式来决定.\n *\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchOn?: SchemaExpression;\n\n /**\n * 用来获取远程 Schema 的 api\n */\n schemaApi?: SchemaApi;\n\n /**\n * 是否默认加载 schemaApi\n */\n initFetchSchema?: boolean;\n\n /**\n * 用表达式来配置。\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchSchemaOn?: SchemaExpression;\n\n /**\n * 是否轮询拉取\n */\n interval?: number;\n\n /**\n * 是否静默拉取\n */\n silentPolling?: boolean;\n\n /**\n * 关闭轮询的条件。\n */\n stopAutoRefreshWhen?: SchemaExpression;\n\n messages?: SchemaMessage;\n\n name?: SchemaName;\n}\n\nexport interface ServiceProps\n extends RendererProps,\n Omit<ServiceSchema, 'type' | 'className'> {\n store: IServiceStore;\n messages: SchemaMessage;\n}\nexport default class Service extends React.Component<ServiceProps> {\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean;\n\n // 主要是用于关闭 socket\n socket: any;\n\n dataProviderUnsubscribe?: Function;\n\n static defaultProps: Partial<ServiceProps> = {\n messages: {\n fetchFailed: 'fetchFailed'\n }\n };\n\n static propsList: Array<string> = [];\n\n constructor(props: ServiceProps) {\n super(props);\n\n this.handleQuery = this.handleQuery.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.reload = this.reload.bind(this);\n this.silentReload = this.silentReload.bind(this);\n this.initInterval = this.initInterval.bind(this);\n this.afterDataFetch = this.afterDataFetch.bind(this);\n this.afterSchemaFetch = this.afterSchemaFetch.bind(this);\n this.runDataProvider = this.runDataProvider.bind(this);\n this.dataProviderSetData = this.dataProviderSetData.bind(this);\n }\n\n componentDidMount() {\n this.mounted = true;\n this.initFetch();\n }\n\n componentDidUpdate(prevProps: ServiceProps) {\n const props = this.props;\n const store = props.store;\n\n const {fetchSuccess, fetchFailed} = props.messages!;\n\n isApiOutdated(prevProps.api, props.api, prevProps.data, props.data) &&\n store\n .fetchData(props.api as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n\n isApiOutdated(\n prevProps.schemaApi,\n props.schemaApi,\n prevProps.data,\n props.data\n ) &&\n store\n .fetchSchema(props.schemaApi as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n\n if (props.ws && prevProps.ws !== props.ws) {\n if (this.socket) {\n this.socket.close();\n }\n this.socket = this.fetchWSData(props.ws, store.data);\n }\n\n if (props.defaultData !== prevProps.defaultData) {\n store.reInitData(props.defaultData);\n }\n\n if (props.dataProvider !== prevProps.dataProvider) {\n this.runDataProvider();\n }\n }\n\n componentWillUnmount() {\n this.mounted = false;\n this.runDataProviderUnsubscribe();\n clearTimeout(this.timer);\n if (this.socket && this.socket.close) {\n this.socket.close();\n }\n }\n\n @autobind\n initFetch() {\n const {\n schemaApi,\n initFetchSchema,\n api,\n ws,\n initFetch,\n initFetchOn,\n dataProvider,\n store,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n if (isEffectiveApi(schemaApi, store.data, initFetchSchema)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data, initFetch, initFetchOn)) {\n store\n .fetchInitData(api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n\n if (ws) {\n this.socket = this.fetchWSData(ws, store.data);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n\n // 使用外部函数获取数据\n async runDataProvider() {\n this.runDataProviderUnsubscribe();\n const {dataProvider, store} = this.props;\n let dataProviderFunc = dataProvider;\n\n if (typeof dataProvider === 'string' && dataProvider) {\n dataProviderFunc = str2AsyncFunction(dataProvider, 'data', 'setData')!;\n }\n if (typeof dataProviderFunc === 'function') {\n const unsubscribe = await dataProviderFunc(\n store.data,\n this.dataProviderSetData\n );\n if (typeof unsubscribe === 'function') {\n this.dataProviderUnsubscribe = unsubscribe;\n }\n }\n }\n\n // 运行销毁外部函数的方法\n runDataProviderUnsubscribe() {\n if (typeof this.dataProviderUnsubscribe === 'function') {\n try {\n this.dataProviderUnsubscribe();\n } catch (error) {\n console.error(error);\n }\n }\n }\n\n // 外部函数回调更新数据\n dataProviderSetData(data: any) {\n if (!this.mounted) {\n return;\n }\n const {store} = this.props;\n store.updateData(data, undefined, false);\n store.setHasRemoteData();\n }\n\n // 使用 websocket 获取使用,因为有异步所以放这里而不是 store 实现\n fetchWSData(ws: string | Api, data: any) {\n const {env, store} = this.props;\n const wsApi = buildApi(ws, data);\n\n env.wsFetcher(\n wsApi,\n (data: any) => {\n let returndata = data;\n if ('status' in data && 'data' in data) {\n returndata = data.data;\n if (data.status !== 0) {\n store.updateMessage(data.msg, true);\n env.notify('error', data.msg);\n return;\n }\n }\n store.updateData(returndata, undefined, false);\n store.setHasRemoteData();\n // 因为 WebSocket 只会获取纯数据,所以没有 msg 之类的\n this.afterDataFetch({ok: true, data: returndata});\n },\n (error: any) => {\n store.updateMessage(error, true);\n env.notify('error', error);\n }\n );\n }\n\n afterDataFetch(result: any) {\n // todo 应该统一这块\n // 初始化接口返回的是整个 response,\n // 保存 ajax 请求的时候返回时数据部分。\n const data = result?.hasOwnProperty('ok') ? result.data : result;\n const {onBulkChange} = this.props;\n if (!isEmpty(data) && onBulkChange) {\n onBulkChange(data);\n }\n\n this.initInterval(data);\n }\n\n afterSchemaFetch(schema: any) {\n const {onBulkChange, formStore} = this.props;\n if (formStore && schema?.data && onBulkChange) {\n onBulkChange && onBulkChange(schema.data);\n }\n\n this.initInterval(schema);\n }\n\n initInterval(value: any) {\n const {interval, silentPolling, stopAutoRefreshWhen, data} = this.props;\n\n clearTimeout(this.timer);\n\n interval &&\n this.mounted &&\n (!stopAutoRefreshWhen || !evalExpression(stopAutoRefreshWhen, data)) &&\n (this.timer = setTimeout(\n silentPolling ? this.silentReload : this.reload,\n Math.max(interval, 1000)\n ));\n return value;\n }\n\n reload(subpath?: string, query?: any, ctx?: RendererData, silent?: boolean) {\n if (query) {\n return this.receive(query);\n }\n\n const {\n schemaApi,\n initFetchSchema,\n api,\n initFetch,\n initFetchOn,\n store,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n clearTimeout(this.timer);\n\n if (isEffectiveApi(schemaApi, store.data)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data)) {\n store\n .fetchData(api, store.data, {\n silent,\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n }\n\n silentReload(target?: string, query?: any) {\n this.reload(target, query, undefined, true);\n }\n\n receive(values: object) {\n const {store} = this.props;\n\n store.updateData(values);\n this.reload();\n }\n\n handleQuery(query: any) {\n if (this.props.api || this.props.schemaApi) {\n this.receive(query);\n } else {\n this.props.onQuery?.(query);\n }\n }\n\n reloadTarget(target: string, data?: any) {\n // 会被覆写\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n const parentStore = store.parentStore;\n\n // 暂时自己不支持弹出 dialog\n if (parentStore && parentStore.openDialog) {\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n }\n });\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n data: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {onAction, store, env, api, translate: __} = this.props;\n\n if (api && action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, data, {\n successMessage: __(action.messages && action.messages.success),\n errorMessage: __(action.messages && action.messages.failed)\n })\n .then(async (payload: any) => {\n this.afterDataFetch(payload);\n\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload && this.reloadTarget(action.reload, store.data);\n })\n .catch(() => {});\n } else {\n onAction(e, action, data, throwErrors, delegate || this.context);\n }\n }\n\n handleChange(\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) {\n const {store, formStore, onChange} = this.props;\n\n // form 触发的 onChange,直接忽略\n if (typeof name !== 'string') {\n return;\n }\n\n (store as IIRendererStore).changeValue?.(name, value);\n\n // 如果在form底下,则继续向上派送。\n formStore && onChange?.(value, name, submit, changePristine);\n }\n\n renderBody() {\n const {render, store, body: schema, classnames: cx} = this.props;\n\n return (\n <div className={cx('Service-body')}>\n {\n render('body', store.schema || schema, {\n key: store.schemaKey || 'body',\n onQuery: this.handleQuery,\n onAction: this.handleAction,\n onChange: this.handleChange\n }) as JSX.Element\n }\n </div>\n );\n }\n\n render() {\n const {\n className,\n store,\n render,\n classPrefix: ns,\n classnames: cx\n } = this.props;\n\n return (\n <div className={cx(`${ns}Service`, className)}>\n {store.error ? (\n <div className={cx(`Alert Alert--danger`)}>\n <button\n className={cx('Alert-close')}\n onClick={() => store.updateMessage('')}\n type=\"button\"\n >\n <span>×</span>\n </button>\n {store.msg}\n </div>\n ) : null}\n\n {this.renderBody()}\n\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'service',\n storeType: ServiceStore.name,\n isolateScope: true,\n storeExtendsData: (props: any) => (props.formStore ? false : true)\n})\nexport class ServiceRenderer extends Service {\n static contextType = ScopedContext;\n\n constructor(props: ServiceProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n reload(subpath?: string, query?: any, ctx?: any, silent?: boolean) {\n const scoped = this.context as IScopedContext;\n if (subpath) {\n return scoped.reload(\n query ? `${subpath}?${qsstringify(query)}` : subpath,\n ctx\n );\n }\n\n return super.reload(subpath, query, ctx, silent);\n }\n\n receive(values: any, subPath?: string) {\n const scoped = this.context as IScopedContext;\n if (subPath) {\n return scoped.send(subPath, values);\n }\n\n return super.receive(values);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n}\n"
|
11
|
+
"import React from 'react';\nimport PropTypes from 'prop-types';\nimport {Renderer, RendererProps} from '../factory';\nimport {ServiceStore, IServiceStore} from '../store/service';\nimport {Api, SchemaNode, ApiObject, RendererData, Action} from '../types';\nimport {filter, evalExpression} from '../utils/tpl';\nimport cx from 'classnames';\nimport Scoped, {ScopedContext, IScopedContext} from '../Scoped';\nimport {observer} from 'mobx-react';\nimport {\n buildApi,\n isApiOutdated,\n isEffectiveApi,\n str2AsyncFunction\n} from '../utils/api';\nimport {Spinner} from '../components';\nimport {autobind, isEmpty, isVisible, qsstringify} from '../utils/helper';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaCollection,\n SchemaExpression,\n SchemaMessage,\n SchemaName\n} from '../Schema';\nimport {IIRendererStore} from '../store';\n\n/**\n * Service 服务类控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/service\n */\nexport interface ServiceSchema extends BaseSchema {\n /**\n * 指定为 Service 数据拉取控件。\n */\n type: 'service';\n\n /**\n * 页面初始化的时候,可以设置一个 API 让其取拉取,发送数据会携带当前 data 数据(包含地址栏参数),获取得数据会合并到 data 中,供组件内使用。\n */\n api?: SchemaApi;\n\n /**\n * WebScocket 地址,用于实时获取数据\n */\n ws?: string;\n\n /**\n * 通过调用外部函数来获取数据\n */\n dataProvider?: string | Function;\n\n /**\n * 内容区域\n */\n body?: SchemaCollection;\n\n /**\n * @deprecated 改成 api 的 sendOn。\n */\n fetchOn?: SchemaExpression;\n\n /**\n * 是否默认就拉取?\n */\n initFetch?: boolean;\n\n /**\n * 是否默认就拉取?通过表达式来决定.\n *\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchOn?: SchemaExpression;\n\n /**\n * 用来获取远程 Schema 的 api\n */\n schemaApi?: SchemaApi;\n\n /**\n * 是否默认加载 schemaApi\n */\n initFetchSchema?: boolean;\n\n /**\n * 用表达式来配置。\n * @deprecated 改成 api 的 sendOn。\n */\n initFetchSchemaOn?: SchemaExpression;\n\n /**\n * 是否轮询拉取\n */\n interval?: number;\n\n /**\n * 是否静默拉取\n */\n silentPolling?: boolean;\n\n /**\n * 关闭轮询的条件。\n */\n stopAutoRefreshWhen?: SchemaExpression;\n\n messages?: SchemaMessage;\n\n name?: SchemaName;\n}\n\nexport interface ServiceProps\n extends RendererProps,\n Omit<ServiceSchema, 'type' | 'className'> {\n store: IServiceStore;\n messages: SchemaMessage;\n}\nexport default class Service extends React.Component<ServiceProps> {\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean;\n\n // 主要是用于关闭 socket\n socket: any;\n\n dataProviderUnsubscribe?: Function;\n\n static defaultProps: Partial<ServiceProps> = {\n messages: {\n fetchFailed: 'fetchFailed'\n }\n };\n\n static propsList: Array<string> = [];\n\n constructor(props: ServiceProps) {\n super(props);\n\n this.handleQuery = this.handleQuery.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.reload = this.reload.bind(this);\n this.silentReload = this.silentReload.bind(this);\n this.initInterval = this.initInterval.bind(this);\n this.afterDataFetch = this.afterDataFetch.bind(this);\n this.afterSchemaFetch = this.afterSchemaFetch.bind(this);\n this.runDataProvider = this.runDataProvider.bind(this);\n this.dataProviderSetData = this.dataProviderSetData.bind(this);\n }\n\n componentDidMount() {\n this.mounted = true;\n this.initFetch();\n }\n\n componentDidUpdate(prevProps: ServiceProps) {\n const props = this.props;\n const store = props.store;\n\n const {fetchSuccess, fetchFailed} = props.messages!;\n\n isApiOutdated(prevProps.api, props.api, prevProps.data, props.data) &&\n store\n .fetchData(props.api as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n\n isApiOutdated(\n prevProps.schemaApi,\n props.schemaApi,\n prevProps.data,\n props.data\n ) &&\n store\n .fetchSchema(props.schemaApi as Api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n\n if (props.ws && prevProps.ws !== props.ws) {\n if (this.socket) {\n this.socket.close();\n }\n this.socket = this.fetchWSData(props.ws, store.data);\n }\n\n if (props.defaultData !== prevProps.defaultData) {\n store.reInitData(props.defaultData);\n }\n\n if (props.dataProvider !== prevProps.dataProvider) {\n this.runDataProvider();\n }\n }\n\n componentWillUnmount() {\n this.mounted = false;\n this.runDataProviderUnsubscribe();\n clearTimeout(this.timer);\n if (this.socket && this.socket.close) {\n this.socket.close();\n }\n }\n\n @autobind\n initFetch() {\n const {\n schemaApi,\n initFetchSchema,\n api,\n ws,\n initFetch,\n initFetchOn,\n dataProvider,\n store,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n if (isEffectiveApi(schemaApi, store.data, initFetchSchema)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data, initFetch, initFetchOn)) {\n store\n .fetchInitData(api, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n\n if (ws) {\n this.socket = this.fetchWSData(ws, store.data);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n\n // 使用外部函数获取数据\n async runDataProvider() {\n this.runDataProviderUnsubscribe();\n const {dataProvider, store} = this.props;\n let dataProviderFunc = dataProvider;\n\n if (typeof dataProvider === 'string' && dataProvider) {\n dataProviderFunc = str2AsyncFunction(\n dataProvider,\n 'data',\n 'setData',\n 'env'\n )!;\n }\n if (typeof dataProviderFunc === 'function') {\n const unsubscribe = await dataProviderFunc(\n store.data,\n this.dataProviderSetData,\n this.props.env\n );\n if (typeof unsubscribe === 'function') {\n this.dataProviderUnsubscribe = unsubscribe;\n }\n }\n }\n\n // 运行销毁外部函数的方法\n runDataProviderUnsubscribe() {\n if (typeof this.dataProviderUnsubscribe === 'function') {\n try {\n this.dataProviderUnsubscribe();\n } catch (error) {\n console.error(error);\n }\n }\n }\n\n // 外部函数回调更新数据\n dataProviderSetData(data: any) {\n if (!this.mounted) {\n return;\n }\n const {store} = this.props;\n store.updateData(data, undefined, false);\n store.setHasRemoteData();\n }\n\n // 使用 websocket 获取使用,因为有异步所以放这里而不是 store 实现\n fetchWSData(ws: string | Api, data: any) {\n const {env, store} = this.props;\n const wsApi = buildApi(ws, data);\n\n env.wsFetcher(\n wsApi,\n (data: any) => {\n let returndata = data;\n if ('status' in data && 'data' in data) {\n returndata = data.data;\n if (data.status !== 0) {\n store.updateMessage(data.msg, true);\n env.notify('error', data.msg);\n return;\n }\n }\n store.updateData(returndata, undefined, false);\n store.setHasRemoteData();\n // 因为 WebSocket 只会获取纯数据,所以没有 msg 之类的\n this.afterDataFetch({ok: true, data: returndata});\n },\n (error: any) => {\n store.updateMessage(error, true);\n env.notify('error', error);\n }\n );\n }\n\n afterDataFetch(result: any) {\n // todo 应该统一这块\n // 初始化接口返回的是整个 response,\n // 保存 ajax 请求的时候返回时数据部分。\n const data = result?.hasOwnProperty('ok') ? result.data : result;\n const {onBulkChange} = this.props;\n if (!isEmpty(data) && onBulkChange) {\n onBulkChange(data);\n }\n\n this.initInterval(data);\n }\n\n afterSchemaFetch(schema: any) {\n const {onBulkChange, formStore} = this.props;\n if (formStore && schema?.data && onBulkChange) {\n onBulkChange && onBulkChange(schema.data);\n }\n\n this.initInterval(schema);\n }\n\n initInterval(value: any) {\n const {interval, silentPolling, stopAutoRefreshWhen, data} = this.props;\n\n clearTimeout(this.timer);\n\n interval &&\n this.mounted &&\n (!stopAutoRefreshWhen || !evalExpression(stopAutoRefreshWhen, data)) &&\n (this.timer = setTimeout(\n silentPolling ? this.silentReload : this.reload,\n Math.max(interval, 1000)\n ));\n return value;\n }\n\n reload(subpath?: string, query?: any, ctx?: RendererData, silent?: boolean) {\n if (query) {\n return this.receive(query);\n }\n\n const {\n schemaApi,\n initFetchSchema,\n api,\n initFetch,\n initFetchOn,\n store,\n dataProvider,\n messages: {fetchSuccess, fetchFailed}\n } = this.props;\n\n clearTimeout(this.timer);\n\n if (isEffectiveApi(schemaApi, store.data)) {\n store\n .fetchSchema(schemaApi, store.data, {\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterSchemaFetch);\n }\n\n if (isEffectiveApi(api, store.data)) {\n store\n .fetchData(api, store.data, {\n silent,\n successMessage: fetchSuccess,\n errorMessage: fetchFailed\n })\n .then(this.afterDataFetch);\n }\n\n if (dataProvider) {\n this.runDataProvider();\n }\n }\n\n silentReload(target?: string, query?: any) {\n this.reload(target, query, undefined, true);\n }\n\n receive(values: object) {\n const {store} = this.props;\n\n store.updateData(values);\n this.reload();\n }\n\n handleQuery(query: any) {\n if (this.props.api || this.props.schemaApi) {\n this.receive(query);\n } else {\n this.props.onQuery?.(query);\n }\n }\n\n reloadTarget(target: string, data?: any) {\n // 会被覆写\n }\n\n @autobind\n handleDialogConfirm(\n values: object[],\n action: Action,\n ctx: any,\n targets: Array<any>\n ) {\n const {store} = this.props;\n store.closeDialog(true);\n }\n\n @autobind\n handleDialogClose(confirmed = false) {\n const {store} = this.props;\n store.closeDialog(confirmed);\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const {store} = this.props;\n\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n data: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {onAction, store, env, api, translate: __} = this.props;\n\n if (api && action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, data, {\n successMessage: __(action.messages && action.messages.success),\n errorMessage: __(action.messages && action.messages.failed)\n })\n .then(async (payload: any) => {\n this.afterDataFetch(payload);\n\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload && this.reloadTarget(action.reload, store.data);\n })\n .catch(() => {});\n } else {\n onAction(e, action, data, throwErrors, delegate || this.context);\n }\n }\n\n handleChange(\n value: any,\n name: string,\n submit?: boolean,\n changePristine?: boolean\n ) {\n const {store, formStore, onChange} = this.props;\n\n // form 触发的 onChange,直接忽略\n if (typeof name !== 'string') {\n return;\n }\n\n (store as IIRendererStore).changeValue?.(name, value);\n\n // 如果在form底下,则继续向上派送。\n formStore && onChange?.(value, name, submit, changePristine);\n }\n\n renderBody() {\n const {render, store, body: schema, classnames: cx} = this.props;\n\n return render('body', store.schema || schema, {\n key: store.schemaKey || 'body',\n onQuery: this.handleQuery,\n onAction: this.handleAction,\n onChange: this.handleChange\n }) as JSX.Element;\n }\n\n render() {\n const {\n className,\n store,\n render,\n classPrefix: ns,\n classnames: cx\n } = this.props;\n\n return (\n <div className={cx(`${ns}Service`, className)}>\n {store.error ? (\n <div className={cx(`Alert Alert--danger`)}>\n <button\n className={cx('Alert-close')}\n onClick={() => store.updateMessage('')}\n type=\"button\"\n >\n <span>×</span>\n </button>\n {store.msg}\n </div>\n ) : null}\n\n {this.renderBody()}\n\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {render(\n // 单独给 feedback 服务的,handleAction 里面先不要处理弹窗\n 'modal',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen\n }\n )}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'service',\n storeType: ServiceStore.name,\n isolateScope: true,\n storeExtendsData: (props: any) => (props.formStore ? false : true)\n})\nexport class ServiceRenderer extends Service {\n static contextType = ScopedContext;\n\n constructor(props: ServiceProps, context: IScopedContext) {\n super(props);\n\n const scoped = context;\n scoped.registerComponent(this);\n }\n\n reload(subpath?: string, query?: any, ctx?: any, silent?: boolean) {\n const scoped = this.context as IScopedContext;\n if (subpath) {\n return scoped.reload(\n query ? `${subpath}?${qsstringify(query)}` : subpath,\n ctx\n );\n }\n\n return super.reload(subpath, query, ctx, silent);\n }\n\n receive(values: any, subPath?: string) {\n const scoped = this.context as IScopedContext;\n if (subPath) {\n return scoped.send(subPath, values);\n }\n\n return super.receive(values);\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n const scoped = this.context as IScopedContext;\n scoped.unRegisterComponent(this);\n }\n\n reloadTarget(target: string, data?: any) {\n const scoped = this.context as IScopedContext;\n scoped.reload(target, data);\n }\n\n setData(values: object) {\n return super.afterDataFetch(values);\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|