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
package/lib/store/crud.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/store/crud.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {saveAs} from 'file-saver';\nimport {\n types,\n getParent,\n flow,\n getEnv,\n getRoot,\n isAlive,\n Instance\n} from 'mobx-state-tree';\nimport {IRendererStore} from './index';\nimport {ServiceStore} from './service';\nimport {\n extendObject,\n createObject,\n isObjectShallowModified,\n sortArray,\n isEmpty,\n qsstringify\n} from '../utils/helper';\nimport {Api, Payload, fetchOptions, Action, ApiObject} from '../types';\nimport pick from 'lodash/pick';\nimport {resolveVariableAndFilter} from '../utils/tpl-builtin';\nimport {normalizeApiResponseData} from '../utils/api';\n\nclass ServerError extends Error {\n type = 'ServerError';\n}\n\nexport const CRUDStore = ServiceStore.named('CRUDStore')\n .props({\n pristineQuery: types.optional(types.frozen(), {}),\n query: types.optional(types.frozen(), {}),\n prevPage: 1,\n page: 1,\n perPage: 10,\n total: 0,\n mode: 'normal',\n hasNext: false,\n selectedAction: types.frozen(),\n columns: types.frozen(),\n items: types.optional(types.array(types.frozen()), []),\n selectedItems: types.optional(types.array(types.frozen()), []),\n unSelectedItems: types.optional(types.array(types.frozen()), []),\n filterTogggable: false,\n filterVisible: true,\n hasInnerModalOpen: false\n })\n .views(self => ({\n get lastPage() {\n return Math.max(\n Math.ceil(self.total / (self.perPage < 1 ? 10 : self.perPage)),\n 1\n );\n },\n\n get filterData() {\n return createObject(self.data, {\n ...self.query\n });\n },\n\n get mergedData() {\n return extendObject(self.data, {\n ...self.query,\n ...self.data,\n selectedItems: self.selectedItems,\n unSelectedItems: self.unSelectedItems\n });\n },\n\n get hasModalOpened() {\n return self.dialogOpen || self.drawerOpen || self.hasInnerModalOpen;\n },\n\n get selectedItemsAsArray() {\n return self.selectedItems.concat();\n },\n\n fetchCtxOf(\n data: any,\n options: {\n pageField?: string;\n perPageField?: string;\n }\n ) {\n return createObject(data, {\n ...self.query,\n [options.pageField || 'page']: self.page,\n [options.perPageField || 'perPage']: self.perPage,\n ...data\n });\n }\n }))\n .actions(self => {\n let fetchCancel: Function | null = null;\n\n function setPristineQuery() {\n self.pristineQuery = self.query;\n }\n\n function updateQuery(\n values: object,\n updater?: Function,\n pageField: string = 'page',\n perPageField: string = 'perPage',\n replace: boolean = false\n ) {\n const originQuery = self.query;\n self.query = replace\n ? {\n ...values\n }\n : {\n ...self.query,\n ...values\n };\n\n if (self.query[pageField || 'page']) {\n self.page = parseInt(self.query[pageField || 'page'], 10);\n }\n\n if (self.query[perPageField || 'perPage']) {\n self.perPage = parseInt(self.query[perPageField || 'perPage'], 10);\n }\n\n updater &&\n isObjectShallowModified(originQuery, self.query, false) &&\n setTimeout(updater.bind(null, `?${qsstringify(self.query)}`), 4);\n }\n\n const fetchInitData: (\n api: Api,\n data?: object,\n options?: fetchOptions & {\n forceReload?: boolean;\n loadDataOnce?: boolean; // 配置数据是否一次性加载,如果是这样,由前端来完成分页,排序等功能。\n loadDataOnceFetchOnFilter?: boolean; // 在开启loadDataOnce时,filter时是否去重新请求api\n source?: string; // 支持自定义属于映射,默认不配置,读取 rows 或者 items\n loadDataMode?: boolean;\n syncResponse2Query?: boolean;\n }\n ) => Promise<any> = flow(function* getInitData(\n api: Api,\n data: object,\n options: fetchOptions & {\n forceReload?: boolean;\n loadDataOnce?: boolean; // 配置数据是否一次性加载,如果是这样,由前端来完成分页,排序等功能。\n loadDataOnceFetchOnFilter?: boolean; // 在开启loadDataOnce时,filter时是否去重新请求api\n source?: string; // 支持自定义属于映射,默认不配置,读取 rows 或者 items\n loadDataMode?: boolean;\n syncResponse2Query?: boolean;\n } = {}\n ) {\n try {\n if (!options.forceReload && options.loadDataOnce && self.total) {\n let items = options.source\n ? resolveVariableAndFilter(\n options.source,\n createObject(self.mergedData, {\n items: self.data.itemsRaw,\n rows: self.data.itemsRaw\n }),\n '| raw'\n )\n : self.items.concat();\n\n if (self.query.orderBy) {\n const dir = /desc/i.test(self.query.orderDir) ? -1 : 1;\n items = sortArray(items, self.query.orderBy, dir);\n }\n\n const data = {\n ...self.data,\n total: items.length,\n items: items.slice(\n (self.page - 1) * self.perPage,\n self.page * self.perPage\n )\n };\n self.total = parseInt(data.total ?? data.count, 10) || 0;\n self.reInitData(data);\n return;\n }\n\n if (fetchCancel) {\n fetchCancel();\n fetchCancel = null;\n self.fetching = false;\n }\n\n options.silent || self.markFetching(true);\n const ctx: any = createObject(self.data, {\n ...self.query,\n ...data,\n [options.pageField || 'page']: self.page,\n [options.perPageField || 'perPage']: self.perPage\n });\n\n // 一次性加载不要发送 perPage 属性\n if (options.loadDataOnce) {\n delete ctx[options.perPageField || 'perPage'];\n }\n\n const json: Payload = yield getEnv(self).fetcher(api, ctx, {\n ...options,\n cancelExecutor: (executor: Function) => (fetchCancel = executor)\n });\n fetchCancel = null;\n\n if (!json.ok) {\n self.updateMessage(\n json.msg ?? options.errorMessage ?? self.__('CRUD.fetchFailed'),\n true\n );\n getEnv(self).notify(\n 'error',\n json.msg,\n json.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: json.msgTimeout\n }\n : undefined\n );\n } else {\n if (!json.data) {\n throw new Error(self.__('CRUD.invalidData'));\n }\n\n self.updatedAt = Date.now();\n let result = normalizeApiResponseData(json.data);\n\n const {\n total,\n count,\n page,\n hasNext,\n items: oItems,\n rows: oRows,\n columns,\n ...rest\n } = result;\n\n let items: Array<any>;\n if (options.source) {\n items = resolveVariableAndFilter(\n options.source,\n createObject(self.filterData, result),\n '| raw'\n );\n } else {\n items = result.items || result.rows;\n }\n\n if (!Array.isArray(items)) {\n throw new Error(self.__('CRUD.invalidArray'));\n } else {\n // 确保成员是对象。\n items.map((item: any) =>\n typeof item === 'string' ? {text: item} : item\n );\n }\n\n // 点击加载更多数据\n let rowsData = [];\n if (options.loadDataMode && Array.isArray(self.data.items)) {\n rowsData = self.data.items.concat(items);\n } else {\n // 第一次的时候就是直接加载请求的数据\n rowsData = items;\n }\n\n const data = {\n ...((api as ApiObject).replaceData ? {} : self.pristine),\n items: rowsData,\n count: count,\n total: total,\n ...rest\n };\n\n if (options.loadDataOnce) {\n // 记录原始集合,后续可能基于原始数据做排序查找。\n data.itemsRaw = oItems || oRows;\n\n if (self.query.orderBy) {\n const dir = /desc/i.test(self.query.orderDir) ? -1 : 1;\n rowsData = sortArray(rowsData, self.query.orderBy, dir);\n }\n data.items = rowsData.slice(\n (self.page - 1) * self.perPage,\n self.page * self.perPage\n );\n data.count = data.total = rowsData.length;\n }\n\n if (Array.isArray(columns)) {\n self.columns = columns.concat();\n } else {\n self.columns = undefined;\n }\n\n self.items.replace(rowsData);\n self.reInitData(data, !!(api as ApiObject).replaceData);\n options.syncResponse2Query !== false &&\n updateQuery(\n pick(rest, Object.keys(self.query)),\n undefined,\n options.pageField || 'page',\n options.perPageField || 'perPage'\n );\n\n self.total = parseInt(data.total ?? data.count, 10) || 0;\n typeof page !== 'undefined' && (self.page = parseInt(page, 10));\n\n // 分页情况不清楚,只能知道有没有下一页。\n if (typeof hasNext !== 'undefined') {\n self.mode = 'simple';\n self.total = 0;\n self.hasNext = !!hasNext;\n }\n\n self.updateMessage(json.msg ?? options.successMessage);\n\n // 配置了获取成功提示后提示,默认是空不会提示。\n options &&\n options.successMessage &&\n getEnv(self).notify('success', self.msg);\n }\n\n self.markFetching(false);\n return json;\n } catch (e) {\n const env = getEnv(self) as IRendererStore;\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n self.markFetching(false);\n\n if (env.isCancel(e)) {\n return;\n }\n\n console.error(e.stack);\n env.notify('error', e.message);\n return;\n }\n });\n\n function changePage(page: number, perPage?: number | string) {\n self.page = page;\n perPage && (self.perPage = parseInt(perPage as string, 10));\n }\n\n function selectAction(action: Action) {\n self.selectedAction = action;\n }\n\n const saveRemote: (\n api: Api,\n data?: object,\n options?: fetchOptions\n ) => Promise<any> = flow(function* saveRemote(\n api: Api,\n data: object,\n options: fetchOptions = {}\n ) {\n try {\n options = {\n method: 'post', // 默认走 post\n ...options\n };\n\n self.markSaving(true);\n const json: Payload = yield getEnv(self).fetcher(api, data, options);\n self.markSaving(false);\n\n if (!isEmpty(json.data) || json.ok) {\n self.updateData(\n normalizeApiResponseData(json.data),\n {\n __saved: Date.now()\n },\n !!api && (api as ApiObject).replaceData\n );\n self.updatedAt = Date.now();\n }\n\n if (!json.ok) {\n self.updateMessage(\n json.msg ?? options.errorMessage ?? self.__('saveFailed'),\n true\n );\n getEnv(self).notify(\n 'error',\n self.msg,\n json.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: json.msgTimeout\n }\n : undefined\n );\n throw new ServerError(self.msg);\n } else {\n self.updateMessage(json.msg ?? options.successMessage);\n self.msg &&\n getEnv(self).notify(\n 'success',\n self.msg,\n json.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: json.msgTimeout\n }\n : undefined\n );\n }\n return json.data;\n } catch (e) {\n self.markSaving(false);\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n e.type !== 'ServerError' && getEnv(self).notify('error', e.message);\n throw e;\n }\n });\n\n const setFilterTogglable = (toggable: boolean, filterVisible?: boolean) => {\n self.filterTogggable = toggable;\n\n filterVisible !== void 0 && (self.filterVisible = filterVisible);\n };\n\n const setFilterVisible = (visible: boolean) => {\n self.filterVisible = visible;\n };\n\n const setSelectedItems = (items: Array<any>) => {\n self.selectedItems.replace(items);\n };\n\n const setUnSelectedItems = (items: Array<any>) => {\n self.unSelectedItems.replace(items);\n };\n\n const setInnerModalOpened = (value: boolean) => {\n self.hasInnerModalOpen = value;\n };\n\n const initFromScope = function (scope: any, source: string) {\n let rowsData: Array<any> = resolveVariableAndFilter(\n source,\n scope,\n '| raw'\n );\n\n if (!Array.isArray(rowsData) && !self.items.length) {\n return;\n }\n\n rowsData = Array.isArray(rowsData) ? rowsData : [];\n\n const data = {\n ...self.pristine,\n items: rowsData,\n count: 0,\n total: 0\n };\n\n self.items.replace(rowsData);\n self.reInitData(data);\n };\n\n const exportAsCSV = async (\n options: {loadDataOnce?: boolean; api?: Api; data?: any} = {}\n ) => {\n let items = options.loadDataOnce ? self.data.itemsRaw : self.data.items;\n\n if (options.api) {\n const env = getEnv(self);\n const res = await env.fetcher(options.api, options.data);\n if (!res.data) {\n return;\n }\n if (Array.isArray(res.data)) {\n items = res.data;\n } else {\n items = res.data.rows || res.data.items;\n }\n }\n\n import('papaparse').then((papaparse: any) => {\n const csvText = papaparse.unparse(items);\n if (csvText) {\n const blob = new Blob(\n // 加上 BOM 这样 Excel 打开的时候就不会乱码\n [new Uint8Array([0xef, 0xbb, 0xbf]), csvText],\n {\n type: 'text/plain;charset=utf-8'\n }\n );\n saveAs(blob, 'data.csv');\n }\n });\n };\n\n return {\n setPristineQuery,\n updateQuery,\n fetchInitData,\n changePage,\n selectAction,\n saveRemote,\n setFilterTogglable,\n setFilterVisible,\n setSelectedItems,\n setUnSelectedItems,\n setInnerModalOpened,\n initFromScope,\n exportAsCSV\n };\n });\n\nexport type ICRUDStore = Instance<typeof CRUDStore>;\n"
|
11
|
+
"import {saveAs} from 'file-saver';\nimport {\n types,\n getParent,\n flow,\n getEnv,\n getRoot,\n isAlive,\n Instance\n} from 'mobx-state-tree';\nimport {IRendererStore} from './index';\nimport {ServiceStore} from './service';\nimport {\n extendObject,\n createObject,\n isObjectShallowModified,\n sortArray,\n isEmpty,\n qsstringify,\n getVariable\n} from '../utils/helper';\nimport {Api, Payload, fetchOptions, Action, ApiObject} from '../types';\nimport pick from 'lodash/pick';\nimport {resolveVariableAndFilter} from '../utils/tpl-builtin';\nimport {normalizeApiResponseData} from '../utils/api';\nimport {matchSorter} from 'match-sorter';\n\nclass ServerError extends Error {\n type = 'ServerError';\n}\n\nexport const CRUDStore = ServiceStore.named('CRUDStore')\n .props({\n pristineQuery: types.optional(types.frozen(), {}),\n query: types.optional(types.frozen(), {}),\n prevPage: 1,\n page: 1,\n perPage: 10,\n total: 0,\n mode: 'normal',\n hasNext: false,\n selectedAction: types.frozen(),\n columns: types.frozen(),\n items: types.optional(types.array(types.frozen()), []),\n selectedItems: types.optional(types.array(types.frozen()), []),\n unSelectedItems: types.optional(types.array(types.frozen()), []),\n filterTogggable: false,\n filterVisible: true,\n hasInnerModalOpen: false\n })\n .views(self => ({\n get lastPage() {\n return Math.max(\n Math.ceil(self.total / (self.perPage < 1 ? 10 : self.perPage)),\n 1\n );\n },\n\n get filterData() {\n return createObject(self.data, {\n ...self.query\n });\n },\n\n get mergedData() {\n return extendObject(self.data, {\n ...self.query,\n ...self.data,\n selectedItems: self.selectedItems,\n unSelectedItems: self.unSelectedItems\n });\n },\n\n get hasModalOpened() {\n return self.dialogOpen || self.drawerOpen || self.hasInnerModalOpen;\n },\n\n get selectedItemsAsArray() {\n return self.selectedItems.concat();\n },\n\n fetchCtxOf(\n data: any,\n options: {\n pageField?: string;\n perPageField?: string;\n }\n ) {\n return createObject(data, {\n ...self.query,\n [options.pageField || 'page']: self.page,\n [options.perPageField || 'perPage']: self.perPage,\n ...data\n });\n }\n }))\n .actions(self => {\n let fetchCancel: Function | null = null;\n\n function setPristineQuery() {\n self.pristineQuery = self.query;\n }\n\n function updateQuery(\n values: object,\n updater?: Function,\n pageField: string = 'page',\n perPageField: string = 'perPage',\n replace: boolean = false\n ) {\n const originQuery = self.query;\n self.query = replace\n ? {\n ...values\n }\n : {\n ...self.query,\n ...values\n };\n\n if (self.query[pageField || 'page']) {\n self.page = parseInt(self.query[pageField || 'page'], 10);\n }\n\n if (self.query[perPageField || 'perPage']) {\n self.perPage = parseInt(self.query[perPageField || 'perPage'], 10);\n }\n\n updater &&\n isObjectShallowModified(originQuery, self.query, false) &&\n setTimeout(updater.bind(null, `?${qsstringify(self.query)}`), 4);\n }\n\n const fetchInitData: (\n api: Api,\n data?: object,\n options?: fetchOptions & {\n forceReload?: boolean;\n loadDataOnce?: boolean; // 配置数据是否一次性加载,如果是这样,由前端来完成分页,排序等功能。\n loadDataOnceFetchOnFilter?: boolean; // 在开启loadDataOnce时,filter时是否去重新请求api\n source?: string; // 支持自定义属于映射,默认不配置,读取 rows 或者 items\n loadDataMode?: boolean;\n syncResponse2Query?: boolean;\n columns?: Array<any>;\n }\n ) => Promise<any> = flow(function* getInitData(\n api: Api,\n data: object,\n options: fetchOptions & {\n forceReload?: boolean;\n loadDataOnce?: boolean; // 配置数据是否一次性加载,如果是这样,由前端来完成分页,排序等功能。\n loadDataOnceFetchOnFilter?: boolean; // 在开启loadDataOnce时,filter时是否去重新请求api\n source?: string; // 支持自定义属于映射,默认不配置,读取 rows 或者 items\n loadDataMode?: boolean;\n syncResponse2Query?: boolean;\n columns?: Array<any>;\n } = {}\n ) {\n try {\n if (!options.forceReload && options.loadDataOnce && self.total) {\n let items = options.source\n ? resolveVariableAndFilter(\n options.source,\n createObject(self.mergedData, {\n items: self.data.itemsRaw,\n rows: self.data.itemsRaw\n }),\n '| raw'\n )\n : self.items.concat();\n\n if (Array.isArray(options.columns)) {\n options.columns.forEach((column: any) => {\n let value: any;\n if (\n column.searchable &&\n column.name &&\n (value = getVariable(self.query, column.name))\n ) {\n items = matchSorter(items, value, {\n keys: [column.name]\n });\n }\n });\n }\n\n if (self.query.orderBy) {\n const dir = /desc/i.test(self.query.orderDir) ? -1 : 1;\n items = sortArray(items, self.query.orderBy, dir);\n }\n\n const data = {\n ...self.data,\n total: items.length,\n items: items.slice(\n (self.page - 1) * self.perPage,\n self.page * self.perPage\n )\n };\n self.total = parseInt(data.total ?? data.count, 10) || 0;\n self.reInitData(data);\n return;\n }\n\n if (fetchCancel) {\n fetchCancel();\n fetchCancel = null;\n self.fetching = false;\n }\n\n options.silent || self.markFetching(true);\n const ctx: any = createObject(self.data, {\n ...self.query,\n ...data,\n [options.pageField || 'page']: self.page,\n [options.perPageField || 'perPage']: self.perPage\n });\n\n // 一次性加载不要发送 perPage 属性\n if (options.loadDataOnce) {\n delete ctx[options.perPageField || 'perPage'];\n }\n\n const json: Payload = yield getEnv(self).fetcher(api, ctx, {\n ...options,\n cancelExecutor: (executor: Function) => (fetchCancel = executor)\n });\n fetchCancel = null;\n\n if (!json.ok) {\n self.updateMessage(\n json.msg ?? options.errorMessage ?? self.__('CRUD.fetchFailed'),\n true\n );\n getEnv(self).notify(\n 'error',\n json.msg,\n json.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: json.msgTimeout\n }\n : undefined\n );\n } else {\n if (!json.data) {\n throw new Error(self.__('CRUD.invalidData'));\n }\n\n self.updatedAt = Date.now();\n let result = normalizeApiResponseData(json.data);\n\n const {\n total,\n count,\n page,\n hasNext,\n items: oItems,\n rows: oRows,\n columns,\n ...rest\n } = result;\n\n let items: Array<any>;\n if (options.source) {\n items = resolveVariableAndFilter(\n options.source,\n createObject(self.filterData, result),\n '| raw'\n );\n } else {\n items = result.items || result.rows;\n }\n\n // 如果不按照 items 格式返回,就拿第一个数组当成 items\n if (!Array.isArray(items)) {\n for (const key of Object.keys(result)) {\n if (result.hasOwnProperty(key) && Array.isArray(result[key])) {\n items = result[key];\n break;\n }\n }\n }\n\n if (!Array.isArray(items)) {\n throw new Error(self.__('CRUD.invalidArray'));\n } else {\n // 确保成员是对象。\n items.map((item: any) =>\n typeof item === 'string' ? {text: item} : item\n );\n }\n\n // 点击加载更多数据\n let rowsData: Array<any> = [];\n if (options.loadDataMode && Array.isArray(self.data.items)) {\n rowsData = self.data.items.concat(items);\n } else {\n // 第一次的时候就是直接加载请求的数据\n rowsData = items;\n }\n\n const data = {\n ...((api as ApiObject).replaceData ? {} : self.pristine),\n items: rowsData,\n count: count,\n total: total,\n ...rest\n };\n\n if (options.loadDataOnce) {\n // 记录原始集合,后续可能基于原始数据做排序查找。\n data.itemsRaw = oItems || oRows;\n let filteredItems = rowsData.concat();\n\n if (Array.isArray(options.columns)) {\n options.columns.forEach((column: any) => {\n let value: any;\n if (\n column.searchable &&\n column.name &&\n (value = getVariable(self.query, column.name))\n ) {\n filteredItems = matchSorter(filteredItems, value, {\n keys: [column.name]\n });\n }\n });\n }\n\n if (self.query.orderBy) {\n const dir = /desc/i.test(self.query.orderDir) ? -1 : 1;\n filteredItems = sortArray(filteredItems, self.query.orderBy, dir);\n }\n data.items = filteredItems.slice(\n (self.page - 1) * self.perPage,\n self.page * self.perPage\n );\n data.count = data.total = filteredItems.length;\n }\n\n if (Array.isArray(columns)) {\n self.columns = columns.concat();\n } else {\n self.columns = undefined;\n }\n\n self.items.replace(rowsData);\n self.reInitData(data, !!(api as ApiObject).replaceData);\n options.syncResponse2Query !== false &&\n updateQuery(\n pick(rest, Object.keys(self.query)),\n undefined,\n options.pageField || 'page',\n options.perPageField || 'perPage'\n );\n\n self.total = parseInt(data.total ?? data.count, 10) || 0;\n typeof page !== 'undefined' && (self.page = parseInt(page, 10));\n\n // 分页情况不清楚,只能知道有没有下一页。\n if (typeof hasNext !== 'undefined') {\n self.mode = 'simple';\n self.total = 0;\n self.hasNext = !!hasNext;\n }\n\n self.updateMessage(json.msg ?? options.successMessage);\n\n // 配置了获取成功提示后提示,默认是空不会提示。\n options &&\n options.successMessage &&\n getEnv(self).notify('success', self.msg);\n }\n\n self.markFetching(false);\n return json;\n } catch (e) {\n const env = getEnv(self) as IRendererStore;\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n self.markFetching(false);\n\n if (env.isCancel(e)) {\n return;\n }\n\n console.error(e.stack);\n env.notify('error', e.message);\n return;\n }\n });\n\n function changePage(page: number, perPage?: number | string) {\n self.page = page;\n perPage && (self.perPage = parseInt(perPage as string, 10));\n }\n\n function selectAction(action: Action) {\n self.selectedAction = action;\n }\n\n const saveRemote: (\n api: Api,\n data?: object,\n options?: fetchOptions\n ) => Promise<any> = flow(function* saveRemote(\n api: Api,\n data: object,\n options: fetchOptions = {}\n ) {\n try {\n options = {\n method: 'post', // 默认走 post\n ...options\n };\n\n self.markSaving(true);\n const json: Payload = yield getEnv(self).fetcher(api, data, options);\n self.markSaving(false);\n\n if (!isEmpty(json.data) || json.ok) {\n self.updateData(\n normalizeApiResponseData(json.data),\n {\n __saved: Date.now()\n },\n !!api && (api as ApiObject).replaceData\n );\n self.updatedAt = Date.now();\n }\n\n if (!json.ok) {\n self.updateMessage(\n json.msg ?? options.errorMessage ?? self.__('saveFailed'),\n true\n );\n getEnv(self).notify(\n 'error',\n self.msg,\n json.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: json.msgTimeout\n }\n : undefined\n );\n throw new ServerError(self.msg);\n } else {\n self.updateMessage(json.msg ?? options.successMessage);\n self.msg &&\n getEnv(self).notify(\n 'success',\n self.msg,\n json.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: json.msgTimeout\n }\n : undefined\n );\n }\n return json.data;\n } catch (e) {\n self.markSaving(false);\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n e.type !== 'ServerError' && getEnv(self).notify('error', e.message);\n throw e;\n }\n });\n\n const setFilterTogglable = (toggable: boolean, filterVisible?: boolean) => {\n self.filterTogggable = toggable;\n\n filterVisible !== void 0 && (self.filterVisible = filterVisible);\n };\n\n const setFilterVisible = (visible: boolean) => {\n self.filterVisible = visible;\n };\n\n const setSelectedItems = (items: Array<any>) => {\n self.selectedItems.replace(items);\n };\n\n const setUnSelectedItems = (items: Array<any>) => {\n self.unSelectedItems.replace(items);\n };\n\n const setInnerModalOpened = (value: boolean) => {\n self.hasInnerModalOpen = value;\n };\n\n const initFromScope = function (scope: any, source: string) {\n let rowsData: Array<any> = resolveVariableAndFilter(\n source,\n scope,\n '| raw'\n );\n\n if (!Array.isArray(rowsData) && !self.items.length) {\n return;\n }\n\n rowsData = Array.isArray(rowsData) ? rowsData : [];\n\n const data = {\n ...self.pristine,\n items: rowsData,\n count: 0,\n total: 0\n };\n\n self.items.replace(rowsData);\n self.reInitData(data);\n };\n\n const exportAsCSV = async (\n options: {loadDataOnce?: boolean; api?: Api; data?: any} = {}\n ) => {\n let items = options.loadDataOnce ? self.data.itemsRaw : self.data.items;\n\n if (options.api) {\n const env = getEnv(self);\n const res = await env.fetcher(options.api, options.data);\n if (!res.data) {\n return;\n }\n if (Array.isArray(res.data)) {\n items = res.data;\n } else {\n items = res.data.rows || res.data.items;\n }\n }\n\n import('papaparse').then((papaparse: any) => {\n const csvText = papaparse.unparse(items);\n if (csvText) {\n const blob = new Blob(\n // 加上 BOM 这样 Excel 打开的时候就不会乱码\n [new Uint8Array([0xef, 0xbb, 0xbf]), csvText],\n {\n type: 'text/plain;charset=utf-8'\n }\n );\n saveAs(blob, 'data.csv');\n }\n });\n };\n\n return {\n setPristineQuery,\n updateQuery,\n fetchInitData,\n changePage,\n selectAction,\n saveRemote,\n setFilterTogglable,\n setFilterVisible,\n setSelectedItems,\n setUnSelectedItems,\n setInnerModalOpened,\n initFromScope,\n exportAsCSV\n };\n });\n\nexport type ICRUDStore = Instance<typeof CRUDStore>;\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/store/form.d.ts
CHANGED
@@ -3311,7 +3311,7 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
|
|
3311
3311
|
setValues: (values: object, tag?: object | undefined, replace?: boolean | undefined) => void;
|
3312
3312
|
setValueByName: (name: string, value: any, isPristine?: boolean, force?: boolean) => void;
|
3313
3313
|
trimValues: () => void;
|
3314
|
-
submit: (fn?: ((values: object) => Promise<any>) | undefined, hooks?: (() => Promise<any>)[] | undefined, failedMessage?: string | undefined) => Promise<any>;
|
3314
|
+
submit: (fn?: ((values: object) => Promise<any>) | undefined, hooks?: (() => Promise<any>)[] | undefined, failedMessage?: string | undefined, validateErrCb?: (() => void) | undefined) => Promise<any>;
|
3315
3315
|
validate: (hooks?: (() => Promise<any>)[] | undefined, forceValidate?: boolean | undefined) => Promise<boolean>;
|
3316
3316
|
validateFields: (fields: Array<string>) => Promise<boolean>;
|
3317
3317
|
clearErrors: () => void;
|
package/lib/store/form.js
CHANGED
@@ -251,6 +251,9 @@ exports.FormStore = service_1.ServiceStore.named('FormStore')
|
|
251
251
|
}
|
252
252
|
if (!!json.ok) return [3 /*break*/, 6];
|
253
253
|
// 验证错误
|
254
|
+
if (options && options.onFailed) {
|
255
|
+
options.onFailed(json);
|
256
|
+
}
|
254
257
|
if (json.status === 422 && json.errors) {
|
255
258
|
setFormItemErrors(json.errors);
|
256
259
|
self.updateMessage((_b = (_a = json.msg) !== null && _a !== void 0 ? _a : self.__(options && options.errorMessage)) !== null && _b !== void 0 ? _b : self.__('Form.validateFailed'), true);
|
@@ -344,7 +347,7 @@ exports.FormStore = service_1.ServiceStore.named('FormStore')
|
|
344
347
|
return null;
|
345
348
|
}, [self]);
|
346
349
|
};
|
347
|
-
var submit = (0, mobx_state_tree_1.flow)(function submit(fn, hooks, failedMessage) {
|
350
|
+
var submit = (0, mobx_state_tree_1.flow)(function submit(fn, hooks, failedMessage, validateErrCb) {
|
348
351
|
var valid, msg, env, diff, result;
|
349
352
|
return (0, tslib_1.__generator)(this, function (_a) {
|
350
353
|
switch (_a.label) {
|
@@ -366,6 +369,7 @@ exports.FormStore = service_1.ServiceStore.named('FormStore')
|
|
366
369
|
msg = failedMessage !== null && failedMessage !== void 0 ? failedMessage : self.__('Form.validateFailed');
|
367
370
|
env = (0, mobx_state_tree_1.getEnv)(self);
|
368
371
|
msg && env.notify('error', msg);
|
372
|
+
validateErrCb && validateErrCb();
|
369
373
|
throw new Error(msg);
|
370
374
|
}
|
371
375
|
if (!fn) return [3 /*break*/, 4];
|
package/lib/store/form.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/store/form.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {\n types,\n getEnv,\n flow,\n getRoot,\n detach,\n destroy,\n isAlive,\n Instance\n} from 'mobx-state-tree';\nimport debounce from 'lodash/debounce';\nimport {ServiceStore} from './service';\nimport {FormItemStore, IFormItemStore, SFormItemStore} from './formItem';\nimport {Api, ApiObject, fetchOptions, Payload} from '../types';\nimport {ServerError} from '../utils/errors';\nimport {\n getVariable,\n setVariable,\n deleteVariable,\n cloneObject,\n createObject,\n difference,\n guid,\n isEmpty,\n mapObject,\n keyToPath\n} from '../utils/helper';\nimport isEqual from 'lodash/isEqual';\nimport flatten from 'lodash/flatten';\nimport {getStoreById, removeStore} from './manager';\nimport {filter} from '../utils/tpl';\nimport {normalizeApiResponseData} from '../utils/api';\n\nexport const FormStore = ServiceStore.named('FormStore')\n .props({\n inited: false,\n validated: false,\n submited: false,\n submiting: false,\n savedData: types.frozen(),\n // items: types.optional(types.array(types.late(() => FormItemStore)), []),\n canAccessSuperData: true,\n persistData: types.optional(types.union(types.string, types.boolean), ''),\n restError: types.optional(types.array(types.string), []) // 没有映射到表达项上的 errors\n })\n .views(self => {\n function getItems() {\n const formItems: Array<IFormItemStore> = [];\n\n // 查找孩子节点中是 formItem 的表单项\n const pool = self.children.concat();\n while (pool.length) {\n const current = pool.shift()!;\n\n if (current.storeType === FormItemStore.name) {\n formItems.push(current);\n } else {\n pool.push(...current.children);\n }\n }\n\n return formItems;\n }\n\n return {\n get loading() {\n return self.saving || self.fetching;\n },\n\n get items() {\n return getItems();\n },\n\n get errors() {\n let errors: {\n [propName: string]: Array<string>;\n } = {};\n\n getItems().forEach(item => {\n if (!item.valid) {\n errors[item.name] = Array.isArray(errors[item.name])\n ? errors[item.name].concat(item.errors)\n : item.errors.concat();\n }\n });\n\n return errors;\n },\n\n getValueByName(\n name: string,\n canAccessSuperData = self.canAccessSuperData\n ) {\n return getVariable(self.data, name, canAccessSuperData);\n },\n\n getPristineValueByName(name: string) {\n return getVariable(self.pristine, name);\n },\n\n getItemById(id: string) {\n return getItems().find(item => item.itemId === id);\n },\n\n getItemByName(name: string) {\n return getItems().find(item => item.name === name);\n },\n\n getItemsByName(name: string) {\n return getItems().filter(item => item.name === name);\n },\n\n get valid() {\n return (\n getItems().every(item => item.valid) &&\n (!self.restError || !self.restError.length)\n );\n },\n\n get validating() {\n return getItems().some(item => item.validating);\n },\n\n get isPristine() {\n return isEqual(self.pristine, self.data);\n },\n\n get modified() {\n if (self.savedData) {\n return self.savedData !== self.data;\n }\n\n return !this.isPristine;\n },\n\n get persistKey() {\n return `${location.pathname}/${self.path}/${\n typeof self.persistData === 'string'\n ? filter(self.persistData, self.data)\n : self.persistData\n }`;\n }\n };\n })\n .actions(self => {\n function setValues(values: object, tag?: object, replace?: boolean) {\n self.updateData(values, tag, replace);\n\n // 如果数据域中有数据变化,就都reset一下,去掉之前残留的验证消息\n self.items.forEach(item => item.reset());\n\n // 同步 options\n syncOptions();\n }\n\n function setValueByName(\n name: string,\n value: any,\n isPristine: boolean = false,\n force: boolean = false\n ) {\n // 没有变化就不跑了。\n const origin = getVariable(self.data, name, false);\n\n const prev = self.data;\n const data = cloneObject(self.data);\n\n if (value !== origin) {\n if (prev.__prev) {\n // 基于之前的 __prev 改\n const prevData = cloneObject(prev.__prev);\n setVariable(prevData, name, origin);\n Object.defineProperty(data, '__prev', {\n value: prevData,\n enumerable: false,\n configurable: false,\n writable: false\n });\n } else {\n Object.defineProperty(data, '__prev', {\n value: {...prev},\n enumerable: false,\n configurable: false,\n writable: false\n });\n }\n } else if (!force) {\n return;\n }\n\n setVariable(data, name, value);\n\n if (isPristine) {\n const pristine = cloneObject(self.pristine);\n setVariable(pristine, name, value);\n self.pristine = pristine;\n }\n\n if (!data.__pristine) {\n Object.defineProperty(data, '__pristine', {\n value: self.pristine,\n enumerable: false,\n configurable: false,\n writable: false\n });\n }\n\n self.data = data;\n\n // 同步 options\n syncOptions();\n }\n\n function deleteValueByName(name: string) {\n const prev = self.data;\n const data = cloneObject(self.data);\n\n if (prev.__prev) {\n // 基于之前的 __prev 改\n const prevData = cloneObject(prev.__prev);\n setVariable(prevData, name, getVariable(prev, name));\n Object.defineProperty(data, '__prev', {\n value: prevData,\n enumerable: false,\n configurable: false,\n writable: false\n });\n } else {\n Object.defineProperty(data, '__prev', {\n value: {...prev},\n enumerable: false,\n configurable: false,\n writable: false\n });\n }\n\n deleteVariable(data, name);\n self.data = data;\n }\n\n function trimValues() {\n let data = mapObject(self.data, (item: any) =>\n typeof item === 'string' ? item.trim() : item\n );\n self.updateData(data);\n }\n\n const syncOptions = debounce(\n () => self.items.forEach(item => item.syncOptions(undefined, self.data)),\n 250,\n {\n trailing: true,\n leading: false\n }\n );\n\n function setRestError(errors: string[]) {\n self.restError.replace(errors);\n }\n\n function addRestError(msg: string, name?: string | Array<string>) {\n const names = name\n ? Array.isArray(name)\n ? name.concat()\n : [name]\n : null;\n\n if (Array.isArray(names)) {\n const errors: any = {};\n names.forEach(name => (errors[name] = msg));\n setFormItemErrors(errors, 'rules');\n } else {\n self.restError.push(msg);\n }\n }\n\n function clearRestError() {\n setRestError([]);\n }\n\n const saveRemote: (\n api: Api,\n data?: object,\n options?: fetchOptions\n ) => Promise<any> = flow(function* saveRemote(\n api: Api,\n data: object,\n options: fetchOptions = {}\n ) {\n clearRestError();\n\n try {\n options = {\n method: 'post', // 默认走 post\n ...options\n };\n\n if (options && options.beforeSend) {\n let ret = options.beforeSend(data);\n\n if (ret && ret.then) {\n ret = yield ret;\n }\n\n if (ret === false) {\n return;\n }\n }\n\n self.markSaving(true);\n const json: Payload = yield getEnv(self).fetcher(api, data, options);\n\n // 失败也同样修改数据,如果有数据的话。\n if (!isEmpty(json.data) || json.ok) {\n self.updatedAt = Date.now();\n\n setValues(\n normalizeApiResponseData(json.data),\n json.ok\n ? {\n __saved: Date.now()\n }\n : undefined,\n !!(api as ApiObject).replaceData\n );\n }\n\n if (!json.ok) {\n // 验证错误\n if (json.status === 422 && json.errors) {\n setFormItemErrors(json.errors);\n\n self.updateMessage(\n json.msg ??\n self.__(options && options.errorMessage) ??\n self.__('Form.validateFailed'),\n true\n );\n } else {\n self.updateMessage(\n json.msg ?? self.__(options && options.errorMessage),\n true\n );\n }\n\n throw new ServerError(self.msg, json);\n } else {\n updateSavedData();\n if (options && options.onSuccess) {\n const ret = options.onSuccess(json);\n\n if (ret && ret.then) {\n yield ret;\n }\n }\n self.markSaving(false);\n self.updateMessage(\n json.msg ?? self.__(options && options.successMessage)\n );\n self.msg &&\n getEnv(self).notify(\n 'success',\n self.msg,\n json.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: json.msgTimeout\n }\n : undefined\n );\n return json.data;\n }\n } catch (e) {\n self.markSaving(false);\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n if (e.type === 'ServerError') {\n const result = (e as ServerError).response;\n getEnv(self).notify(\n 'error',\n e.message,\n result.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: result.msgTimeout\n }\n : undefined\n );\n } else {\n getEnv(self).notify('error', e.message);\n }\n\n throw e;\n }\n });\n\n function setFormItemErrors(\n errors: {[propName: string]: string},\n tag = 'remote'\n ) {\n Object.keys(errors).forEach((key: string) => {\n const item = self.getItemById(key);\n const items = self.getItemsByName(key);\n\n if (item) {\n item.setError(errors[key], tag);\n delete errors[key];\n } else if (items.length) {\n // 通过 name 直接找到的\n items.forEach(item => item.setError(errors[key], tag));\n delete errors[key];\n } else {\n // 尝试通过path寻找\n const items = getItemsByPath(key);\n\n if (Array.isArray(items) && items.length) {\n items.forEach(item => item.setError(`${errors[key]}`, tag));\n delete errors[key];\n }\n }\n });\n\n // 没有映射上的error信息加在msg后显示出来\n !isEmpty(errors) &&\n setRestError(Object.keys(errors).map(key => String(errors[key])));\n }\n\n const getItemsByPath = (key: string) => {\n const paths = keyToPath(key);\n const len = paths.length;\n\n return paths.reduce(\n (stores: any[], path, idx) => {\n if (Array.isArray(stores) && stores.every(s => s.getItemsByName)) {\n const items = flatten(\n stores.map(s => s.getItemsByName(path))\n ).filter(i => i);\n const subStores = items\n .map(item => item?.getSubStore?.())\n .filter(i => i);\n return subStores.length && idx < len - 1 ? subStores : items;\n }\n return null;\n },\n [self]\n );\n };\n\n const submit: (\n fn?: (values: object) => Promise<any>,\n hooks?: Array<() => Promise<any>>,\n failedMessage?: string\n ) => Promise<any> = flow(function* submit(\n fn: any,\n hooks?: Array<() => Promise<any>>,\n failedMessage?: string\n ) {\n self.submited = true;\n self.submiting = true;\n\n try {\n let valid = yield validate(hooks);\n\n // 如果不是valid,而且有包含不是remote的报错的表单项时,不可提交\n if (\n (!valid &&\n self.items.some(item =>\n item.errorData.some(e => e.tag !== 'remote')\n )) ||\n self.restError.length\n ) {\n let msg = failedMessage ?? self.__('Form.validateFailed');\n const env = getEnv(self);\n\n msg && env.notify('error', msg);\n\n throw new Error(msg);\n }\n\n if (fn) {\n const diff = difference(self.data, self.pristine);\n const result = yield fn(\n createObject(\n createObject(self.data.__super, {\n diff: diff,\n __diff: diff,\n pristine: self.pristine\n }),\n self.data\n )\n );\n return result ?? self.data;\n }\n\n return self.data;\n } finally {\n self.submiting = false;\n }\n });\n\n const validate: (\n hooks?: Array<() => Promise<any>>,\n forceValidate?: boolean\n ) => Promise<boolean> = flow(function* validate(\n hooks?: Array<() => Promise<any>>,\n forceValidate?: boolean\n ) {\n self.validated = true;\n const items = self.items.concat();\n for (let i = 0, len = items.length; i < len; i++) {\n let item = items[i] as IFormItemStore;\n\n // 先清除组合校验的错误\n item.clearError('rules');\n\n // 验证过,或者是 unique 的表单项,或者强制验证,或者有远端校验api\n if (\n !item.validated ||\n item.unique ||\n forceValidate ||\n !!item.validateApi\n ) {\n yield item.validate(self.data);\n }\n }\n\n if (hooks && hooks.length) {\n for (let i = 0, len = hooks.length; i < len; i++) {\n yield hooks[i]();\n }\n }\n\n return self.valid;\n });\n\n const validateFields: (fields: Array<string>) => Promise<boolean> = flow(\n function* validateFields(fields: Array<string>) {\n const items = self.items.concat();\n let result: Array<boolean> = [];\n for (let i = 0, len = items.length; i < len; i++) {\n let item = items[i] as IFormItemStore;\n\n if (~fields.indexOf(item.name)) {\n result.push(yield item.validate(self.data));\n }\n }\n return result.every(item => item);\n }\n );\n\n function clearErrors() {\n const items = self.items.concat();\n items.forEach(item => item.reset());\n }\n\n function reset(cb?: (data: any) => void, resetData: boolean = true) {\n if (resetData) {\n self.data = self.pristine;\n }\n\n // 值可能变了,重新验证一次。\n self.validated = false;\n self.submited = false;\n self.items.forEach(item => item.reset());\n cb && cb(self.data);\n }\n\n function clear(cb?: (data: any) => void) {\n const toClear: any = {};\n self.items.forEach(item => {\n if (item.name && item.type !== 'hidden') {\n setVariable(toClear, item.name, item.resetValue);\n }\n });\n setValues(toClear);\n self.validated = false;\n self.submited = false;\n self.items.forEach(item => item.reset());\n cb && cb(self.data);\n }\n\n function setCanAccessSuperData(value: boolean = true) {\n self.canAccessSuperData = value;\n }\n\n function setInited(value: boolean) {\n self.inited = value;\n }\n\n function setPersistData(value = '') {\n self.persistData = value;\n }\n\n const setLocalPersistData = () => {\n localStorage.setItem(self.persistKey, JSON.stringify(self.data));\n };\n\n function getLocalPersistData() {\n let data = localStorage.getItem(self.persistKey);\n if (data) {\n self.updateData(JSON.parse(data));\n }\n }\n\n function clearLocalPersistData() {\n localStorage.removeItem(self.persistKey);\n }\n\n function updateSavedData() {\n self.savedData = self.data;\n }\n\n return {\n setInited,\n setValues,\n setValueByName,\n trimValues,\n submit,\n validate,\n validateFields,\n clearErrors,\n saveRemote,\n reset,\n syncOptions,\n setCanAccessSuperData,\n deleteValueByName,\n getLocalPersistData,\n setLocalPersistData,\n clearLocalPersistData,\n setPersistData,\n clear,\n updateSavedData,\n setFormItemErrors,\n getItemsByPath,\n setRestError,\n addRestError,\n clearRestError,\n beforeDestroy() {\n syncOptions.cancel();\n }\n };\n });\n\nexport type IFormStore = Instance<typeof FormStore>;\nexport {IFormItemStore};\n"
|
11
|
+
"import {\n types,\n getEnv,\n flow,\n getRoot,\n detach,\n destroy,\n isAlive,\n Instance\n} from 'mobx-state-tree';\nimport debounce from 'lodash/debounce';\nimport {ServiceStore} from './service';\nimport {FormItemStore, IFormItemStore, SFormItemStore} from './formItem';\nimport {Api, ApiObject, fetchOptions, Payload} from '../types';\nimport {ServerError} from '../utils/errors';\nimport {\n getVariable,\n setVariable,\n deleteVariable,\n cloneObject,\n createObject,\n difference,\n guid,\n isEmpty,\n mapObject,\n keyToPath\n} from '../utils/helper';\nimport isEqual from 'lodash/isEqual';\nimport flatten from 'lodash/flatten';\nimport {getStoreById, removeStore} from './manager';\nimport {filter} from '../utils/tpl';\nimport {normalizeApiResponseData} from '../utils/api';\n\nexport const FormStore = ServiceStore.named('FormStore')\n .props({\n inited: false,\n validated: false,\n submited: false,\n submiting: false,\n savedData: types.frozen(),\n // items: types.optional(types.array(types.late(() => FormItemStore)), []),\n canAccessSuperData: true,\n persistData: types.optional(types.union(types.string, types.boolean), ''),\n restError: types.optional(types.array(types.string), []) // 没有映射到表达项上的 errors\n })\n .views(self => {\n function getItems() {\n const formItems: Array<IFormItemStore> = [];\n\n // 查找孩子节点中是 formItem 的表单项\n const pool = self.children.concat();\n while (pool.length) {\n const current = pool.shift()!;\n\n if (current.storeType === FormItemStore.name) {\n formItems.push(current);\n } else {\n pool.push(...current.children);\n }\n }\n\n return formItems;\n }\n\n return {\n get loading() {\n return self.saving || self.fetching;\n },\n\n get items() {\n return getItems();\n },\n\n get errors() {\n let errors: {\n [propName: string]: Array<string>;\n } = {};\n\n getItems().forEach(item => {\n if (!item.valid) {\n errors[item.name] = Array.isArray(errors[item.name])\n ? errors[item.name].concat(item.errors)\n : item.errors.concat();\n }\n });\n\n return errors;\n },\n\n getValueByName(\n name: string,\n canAccessSuperData = self.canAccessSuperData\n ) {\n return getVariable(self.data, name, canAccessSuperData);\n },\n\n getPristineValueByName(name: string) {\n return getVariable(self.pristine, name);\n },\n\n getItemById(id: string) {\n return getItems().find(item => item.itemId === id);\n },\n\n getItemByName(name: string) {\n return getItems().find(item => item.name === name);\n },\n\n getItemsByName(name: string) {\n return getItems().filter(item => item.name === name);\n },\n\n get valid() {\n return (\n getItems().every(item => item.valid) &&\n (!self.restError || !self.restError.length)\n );\n },\n\n get validating() {\n return getItems().some(item => item.validating);\n },\n\n get isPristine() {\n return isEqual(self.pristine, self.data);\n },\n\n get modified() {\n if (self.savedData) {\n return self.savedData !== self.data;\n }\n\n return !this.isPristine;\n },\n\n get persistKey() {\n return `${location.pathname}/${self.path}/${\n typeof self.persistData === 'string'\n ? filter(self.persistData, self.data)\n : self.persistData\n }`;\n }\n };\n })\n .actions(self => {\n function setValues(values: object, tag?: object, replace?: boolean) {\n self.updateData(values, tag, replace);\n\n // 如果数据域中有数据变化,就都reset一下,去掉之前残留的验证消息\n self.items.forEach(item => item.reset());\n\n // 同步 options\n syncOptions();\n }\n\n function setValueByName(\n name: string,\n value: any,\n isPristine: boolean = false,\n force: boolean = false\n ) {\n // 没有变化就不跑了。\n const origin = getVariable(self.data, name, false);\n\n const prev = self.data;\n const data = cloneObject(self.data);\n\n if (value !== origin) {\n if (prev.__prev) {\n // 基于之前的 __prev 改\n const prevData = cloneObject(prev.__prev);\n setVariable(prevData, name, origin);\n Object.defineProperty(data, '__prev', {\n value: prevData,\n enumerable: false,\n configurable: false,\n writable: false\n });\n } else {\n Object.defineProperty(data, '__prev', {\n value: {...prev},\n enumerable: false,\n configurable: false,\n writable: false\n });\n }\n } else if (!force) {\n return;\n }\n\n setVariable(data, name, value);\n\n if (isPristine) {\n const pristine = cloneObject(self.pristine);\n setVariable(pristine, name, value);\n self.pristine = pristine;\n }\n\n if (!data.__pristine) {\n Object.defineProperty(data, '__pristine', {\n value: self.pristine,\n enumerable: false,\n configurable: false,\n writable: false\n });\n }\n\n self.data = data;\n\n // 同步 options\n syncOptions();\n }\n\n function deleteValueByName(name: string) {\n const prev = self.data;\n const data = cloneObject(self.data);\n\n if (prev.__prev) {\n // 基于之前的 __prev 改\n const prevData = cloneObject(prev.__prev);\n setVariable(prevData, name, getVariable(prev, name));\n Object.defineProperty(data, '__prev', {\n value: prevData,\n enumerable: false,\n configurable: false,\n writable: false\n });\n } else {\n Object.defineProperty(data, '__prev', {\n value: {...prev},\n enumerable: false,\n configurable: false,\n writable: false\n });\n }\n\n deleteVariable(data, name);\n self.data = data;\n }\n\n function trimValues() {\n let data = mapObject(self.data, (item: any) =>\n typeof item === 'string' ? item.trim() : item\n );\n self.updateData(data);\n }\n\n const syncOptions = debounce(\n () => self.items.forEach(item => item.syncOptions(undefined, self.data)),\n 250,\n {\n trailing: true,\n leading: false\n }\n );\n\n function setRestError(errors: string[]) {\n self.restError.replace(errors);\n }\n\n function addRestError(msg: string, name?: string | Array<string>) {\n const names = name\n ? Array.isArray(name)\n ? name.concat()\n : [name]\n : null;\n\n if (Array.isArray(names)) {\n const errors: any = {};\n names.forEach(name => (errors[name] = msg));\n setFormItemErrors(errors, 'rules');\n } else {\n self.restError.push(msg);\n }\n }\n\n function clearRestError() {\n setRestError([]);\n }\n\n const saveRemote: (\n api: Api,\n data?: object,\n options?: fetchOptions\n ) => Promise<any> = flow(function* saveRemote(\n api: Api,\n data: object,\n options: fetchOptions = {}\n ) {\n clearRestError();\n\n try {\n options = {\n method: 'post', // 默认走 post\n ...options\n };\n\n if (options && options.beforeSend) {\n let ret = options.beforeSend(data);\n\n if (ret && ret.then) {\n ret = yield ret;\n }\n\n if (ret === false) {\n return;\n }\n }\n\n self.markSaving(true);\n const json: Payload = yield getEnv(self).fetcher(api, data, options);\n\n // 失败也同样修改数据,如果有数据的话。\n if (!isEmpty(json.data) || json.ok) {\n self.updatedAt = Date.now();\n\n setValues(\n normalizeApiResponseData(json.data),\n json.ok\n ? {\n __saved: Date.now()\n }\n : undefined,\n !!(api as ApiObject).replaceData\n );\n }\n\n if (!json.ok) {\n // 验证错误\n if (options && options.onFailed) {\n options.onFailed(json);\n }\n if (json.status === 422 && json.errors) {\n setFormItemErrors(json.errors);\n\n self.updateMessage(\n json.msg ??\n self.__(options && options.errorMessage) ??\n self.__('Form.validateFailed'),\n true\n );\n } else {\n self.updateMessage(\n json.msg ?? self.__(options && options.errorMessage),\n true\n );\n }\n\n throw new ServerError(self.msg, json);\n } else {\n updateSavedData();\n if (options && options.onSuccess) {\n const ret = options.onSuccess(json);\n\n if (ret && ret.then) {\n yield ret;\n }\n }\n self.markSaving(false);\n self.updateMessage(\n json.msg ?? self.__(options && options.successMessage)\n );\n self.msg &&\n getEnv(self).notify(\n 'success',\n self.msg,\n json.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: json.msgTimeout\n }\n : undefined\n );\n return json.data;\n }\n } catch (e) {\n self.markSaving(false);\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n if (e.type === 'ServerError') {\n const result = (e as ServerError).response;\n getEnv(self).notify(\n 'error',\n e.message,\n result.msgTimeout !== undefined\n ? {\n closeButton: true,\n timeout: result.msgTimeout\n }\n : undefined\n );\n } else {\n getEnv(self).notify('error', e.message);\n }\n\n throw e;\n }\n });\n\n function setFormItemErrors(\n errors: {[propName: string]: string},\n tag = 'remote'\n ) {\n Object.keys(errors).forEach((key: string) => {\n const item = self.getItemById(key);\n const items = self.getItemsByName(key);\n\n if (item) {\n item.setError(errors[key], tag);\n delete errors[key];\n } else if (items.length) {\n // 通过 name 直接找到的\n items.forEach(item => item.setError(errors[key], tag));\n delete errors[key];\n } else {\n // 尝试通过path寻找\n const items = getItemsByPath(key);\n\n if (Array.isArray(items) && items.length) {\n items.forEach(item => item.setError(`${errors[key]}`, tag));\n delete errors[key];\n }\n }\n });\n\n // 没有映射上的error信息加在msg后显示出来\n !isEmpty(errors) &&\n setRestError(Object.keys(errors).map(key => String(errors[key])));\n }\n\n const getItemsByPath = (key: string) => {\n const paths = keyToPath(key);\n const len = paths.length;\n\n return paths.reduce(\n (stores: any[], path, idx) => {\n if (Array.isArray(stores) && stores.every(s => s.getItemsByName)) {\n const items = flatten(\n stores.map(s => s.getItemsByName(path))\n ).filter(i => i);\n const subStores = items\n .map(item => item?.getSubStore?.())\n .filter(i => i);\n return subStores.length && idx < len - 1 ? subStores : items;\n }\n return null;\n },\n [self]\n );\n };\n\n const submit: (\n fn?: (values: object) => Promise<any>,\n hooks?: Array<() => Promise<any>>,\n failedMessage?: string,\n validateErrCb?: () => void\n ) => Promise<any> = flow(function* submit(\n fn: any,\n hooks?: Array<() => Promise<any>>,\n failedMessage?: string,\n validateErrCb?: () => void\n ) {\n self.submited = true;\n self.submiting = true;\n\n try {\n let valid = yield validate(hooks);\n\n // 如果不是valid,而且有包含不是remote的报错的表单项时,不可提交\n if (\n (!valid &&\n self.items.some(item =>\n item.errorData.some(e => e.tag !== 'remote')\n )) ||\n self.restError.length\n ) {\n let msg = failedMessage ?? self.__('Form.validateFailed');\n const env = getEnv(self);\n\n msg && env.notify('error', msg);\n validateErrCb && validateErrCb();\n throw new Error(msg);\n }\n\n if (fn) {\n const diff = difference(self.data, self.pristine);\n const result = yield fn(\n createObject(\n createObject(self.data.__super, {\n diff: diff,\n __diff: diff,\n pristine: self.pristine\n }),\n self.data\n )\n );\n return result ?? self.data;\n }\n\n return self.data;\n } finally {\n self.submiting = false;\n }\n });\n\n const validate: (\n hooks?: Array<() => Promise<any>>,\n forceValidate?: boolean\n ) => Promise<boolean> = flow(function* validate(\n hooks?: Array<() => Promise<any>>,\n forceValidate?: boolean\n ) {\n self.validated = true;\n const items = self.items.concat();\n for (let i = 0, len = items.length; i < len; i++) {\n let item = items[i] as IFormItemStore;\n\n // 先清除组合校验的错误\n item.clearError('rules');\n\n // 验证过,或者是 unique 的表单项,或者强制验证,或者有远端校验api\n if (\n !item.validated ||\n item.unique ||\n forceValidate ||\n !!item.validateApi\n ) {\n yield item.validate(self.data);\n }\n }\n\n if (hooks && hooks.length) {\n for (let i = 0, len = hooks.length; i < len; i++) {\n yield hooks[i]();\n }\n }\n\n return self.valid;\n });\n\n const validateFields: (fields: Array<string>) => Promise<boolean> = flow(\n function* validateFields(fields: Array<string>) {\n const items = self.items.concat();\n let result: Array<boolean> = [];\n for (let i = 0, len = items.length; i < len; i++) {\n let item = items[i] as IFormItemStore;\n\n if (~fields.indexOf(item.name)) {\n result.push(yield item.validate(self.data));\n }\n }\n return result.every(item => item);\n }\n );\n\n function clearErrors() {\n const items = self.items.concat();\n items.forEach(item => item.reset());\n }\n\n function reset(cb?: (data: any) => void, resetData: boolean = true) {\n if (resetData) {\n self.data = self.pristine;\n }\n\n // 值可能变了,重新验证一次。\n self.validated = false;\n self.submited = false;\n self.items.forEach(item => item.reset());\n cb && cb(self.data);\n }\n\n function clear(cb?: (data: any) => void) {\n const toClear: any = {};\n self.items.forEach(item => {\n if (item.name && item.type !== 'hidden') {\n setVariable(toClear, item.name, item.resetValue);\n }\n });\n setValues(toClear);\n self.validated = false;\n self.submited = false;\n self.items.forEach(item => item.reset());\n cb && cb(self.data);\n }\n\n function setCanAccessSuperData(value: boolean = true) {\n self.canAccessSuperData = value;\n }\n\n function setInited(value: boolean) {\n self.inited = value;\n }\n\n function setPersistData(value = '') {\n self.persistData = value;\n }\n\n const setLocalPersistData = () => {\n localStorage.setItem(self.persistKey, JSON.stringify(self.data));\n };\n\n function getLocalPersistData() {\n let data = localStorage.getItem(self.persistKey);\n if (data) {\n self.updateData(JSON.parse(data));\n }\n }\n\n function clearLocalPersistData() {\n localStorage.removeItem(self.persistKey);\n }\n\n function updateSavedData() {\n self.savedData = self.data;\n }\n\n return {\n setInited,\n setValues,\n setValueByName,\n trimValues,\n submit,\n validate,\n validateFields,\n clearErrors,\n saveRemote,\n reset,\n syncOptions,\n setCanAccessSuperData,\n deleteValueByName,\n getLocalPersistData,\n setLocalPersistData,\n clearLocalPersistData,\n setPersistData,\n clear,\n updateSavedData,\n setFormItemErrors,\n getItemsByPath,\n setRestError,\n addRestError,\n clearRestError,\n beforeDestroy() {\n syncOptions.cancel();\n }\n };\n });\n\nexport type IFormStore = Instance<typeof FormStore>;\nexport {IFormItemStore};\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/store/formItem.js
CHANGED
@@ -465,7 +465,7 @@ exports.FormItemStore = node_1.StoreNode.named('FormItemStore')
|
|
465
465
|
// 插入新的子节点,用于之后BaseSelection.resolveSelected查找
|
466
466
|
if (Array.isArray(topOption.children)) {
|
467
467
|
children_1 = topOption.children.concat();
|
468
|
-
(0, helper_2.flattenTree)(
|
468
|
+
(0, helper_2.flattenTree)(newLeftOptions).forEach(function (item) {
|
469
469
|
if (!(0, helper_1.findTree)(topOption.children, function (node) { return node.ref === item.value; })) {
|
470
470
|
children_1.push({ ref: item.value, defer: true });
|
471
471
|
}
|