amis 1.3.5-beta.6 → 1.4.1-echarts-5.3.1
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/components/Badge.d.ts +15 -2
- package/lib/components/Badge.js +47 -4
- package/lib/components/Badge.js.map +2 -2
- package/lib/components/Button.d.ts +24 -22
- package/lib/components/Button.js +13 -7
- package/lib/components/Button.js.map +2 -2
- package/lib/components/Checkbox.d.ts +1 -1
- package/lib/components/Checkbox.js +1 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/Drawer.js +1 -1
- package/lib/components/Drawer.js.map +2 -2
- package/lib/components/Modal.js +1 -1
- package/lib/components/Modal.js.map +2 -2
- package/lib/components/RichText.d.ts +6 -1
- package/lib/components/RichText.js +243 -8
- package/lib/components/RichText.js.map +2 -2
- package/lib/components/Select.d.ts +7 -0
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Steps.d.ts +3 -3
- package/lib/components/Steps.js.map +1 -1
- package/lib/components/WithRemoteConfig.d.ts +8 -0
- package/lib/components/WithRemoteConfig.js +28 -2
- package/lib/components/WithRemoteConfig.js.map +2 -2
- package/lib/components/calendar/DaysView.js +2 -2
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/condition-builder/Field.js +0 -1
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Value.js +2 -1
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/types.d.ts +5 -0
- package/lib/components/condition-builder/types.js.map +1 -1
- package/lib/components/icons.js +2 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/factory.d.ts +5 -1
- package/lib/factory.js +9 -4
- package/lib/factory.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/icons/loading-outline.js +7 -0
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +1 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +2 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +2 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +9 -1
- package/lib/renderers/Action.js +5 -5
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +2 -2
- package/lib/renderers/CRUD.js +11 -20
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Collapse.d.ts +1 -1
- package/lib/renderers/Collapse.js +5 -1
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +0 -252
- package/lib/renderers/Dialog.js +1 -1
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +8 -0
- package/lib/renderers/DropDownButton.js +6 -4
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/ButtonGroupSelect.js +3 -0
- package/lib/renderers/Form/ButtonGroupSelect.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +0 -2
- package/lib/renderers/Form/Editor.d.ts +0 -2
- package/lib/renderers/Form/Editor.js +1 -1
- package/lib/renderers/Form/Editor.js.map +2 -2
- package/lib/renderers/Form/InputExcel.d.ts +5 -0
- package/lib/renderers/Form/InputExcel.js +24 -3
- package/lib/renderers/Form/InputExcel.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +8 -0
- package/lib/renderers/Form/InputImage.js +2 -1
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputTable.d.ts +23 -5
- package/lib/renderers/Form/InputTable.js +32 -3
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Json.js +5 -1
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/Nav.d.ts +52 -22
- package/lib/renderers/Nav.js +100 -15
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.js +4 -1
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Service.d.ts +10 -1
- package/lib/renderers/Service.js +85 -3
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Steps.d.ts +4 -4
- package/lib/renderers/Steps.js +5 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/TableBody.d.ts +1 -1
- package/lib/renderers/Table/TableBody.js +5 -1
- package/lib/renderers/Table/TableBody.js.map +2 -2
- package/lib/renderers/Table/TableContent.d.ts +1 -1
- package/lib/renderers/Table/TableContent.js +4 -0
- package/lib/renderers/Table/TableContent.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +8 -3
- package/lib/renderers/Table/index.js +80 -45
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/store/app.d.ts +0 -1
- package/lib/store/combo.d.ts +0 -2
- package/lib/store/crud.d.ts +3 -3
- package/lib/store/crud.js +41 -36
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +0 -1
- package/lib/store/modal.d.ts +1 -1
- package/lib/store/modal.js +4 -0
- package/lib/store/modal.js.map +2 -2
- package/lib/store/root.d.ts +0 -1
- package/lib/store/service.d.ts +0 -1
- package/lib/store/service.js +0 -13
- package/lib/store/service.js.map +2 -2
- package/lib/store/table.d.ts +1 -2
- package/lib/store/table.js +44 -3
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +597 -57
- package/lib/themes/ang.css +597 -57
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +597 -57
- package/lib/themes/antd.css +597 -57
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +705 -177
- package/lib/themes/cxd.css +705 -177
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +597 -57
- package/lib/themes/dark.css +597 -57
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +705 -177
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/api.js +12 -0
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/attachmentAdpator.d.ts +7 -0
- package/lib/utils/attachmentAdpator.js +82 -0
- package/lib/utils/attachmentAdpator.js.map +13 -0
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/validations.js +62 -5
- package/lib/utils/validations.js.map +2 -2
- package/package.json +46 -39
- package/schema.json +343 -44
- package/scss/_mixins.scss +29 -0
- package/scss/_properties.scss +27 -11
- package/scss/components/_badge.scss +67 -2
- package/scss/components/_button.scss +35 -3
- package/scss/components/_image-gallery.scss +1 -1
- package/scss/components/_markdown.scss +266 -0
- package/scss/components/_nav.scss +109 -35
- package/scss/components/_spinner.scss +6 -2
- package/scss/components/form/_group.scss +4 -0
- package/scss/themes/_common.scss +1 -0
- package/scss/themes/_cxd-variables.scss +20 -20
- package/sdk/ang-ie11.css +741 -59
- package/sdk/ang.css +755 -59
- package/sdk/antd-ie11.css +731 -51
- package/sdk/antd.css +755 -59
- package/sdk/charts.js +13 -13
- package/sdk/color-picker.js +67 -67
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +1200 -520
- package/sdk/cxd.css +863 -179
- package/sdk/dark-ie11.css +741 -59
- package/sdk/dark.css +755 -59
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/locale/de-DE.js +1 -0
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +22 -24
- package/sdk/rich-text.js +62 -64
- package/sdk/sdk-ie11.css +1200 -520
- package/sdk/sdk.css +863 -179
- package/sdk/sdk.js +1118 -1112
- 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/sdk.zip +0 -0
- package/src/components/Badge.tsx +111 -20
- package/src/components/Button.tsx +23 -7
- package/src/components/Checkbox.tsx +5 -2
- package/src/components/Drawer.tsx +3 -2
- package/src/components/Modal.tsx +3 -2
- package/src/components/RichText.tsx +284 -3
- package/src/components/Select.tsx +1 -0
- package/src/components/Steps.tsx +3 -3
- package/src/components/WithRemoteConfig.tsx +37 -2
- package/src/components/calendar/DaysView.tsx +2 -2
- package/src/components/condition-builder/Field.tsx +1 -2
- package/src/components/condition-builder/Value.tsx +3 -0
- package/src/components/condition-builder/types.ts +6 -0
- package/src/components/icons.tsx +2 -0
- package/src/factory.tsx +13 -3
- package/src/icons/loading-outline.svg +4 -0
- package/src/locale/de-DE.ts +1 -0
- package/src/locale/en-US.ts +2 -1
- package/src/locale/zh-CN.ts +2 -1
- package/src/renderers/Action.tsx +66 -13
- package/src/renderers/CRUD.tsx +13 -33
- package/src/renderers/Collapse.tsx +5 -1
- package/src/renderers/Dialog.tsx +1 -1
- package/src/renderers/DropDownButton.tsx +21 -4
- package/src/renderers/Form/ButtonGroupSelect.tsx +3 -0
- package/src/renderers/Form/Editor.tsx +19 -20
- package/src/renderers/Form/InputExcel.tsx +28 -3
- package/src/renderers/Form/InputImage.tsx +23 -8
- package/src/renderers/Form/InputTable.tsx +88 -9
- package/src/renderers/Json.tsx +10 -1
- package/src/renderers/Nav.tsx +165 -36
- package/src/renderers/Page.tsx +3 -1
- package/src/renderers/Service.tsx +101 -3
- package/src/renderers/Steps.tsx +12 -9
- package/src/renderers/Table/TableBody.tsx +3 -2
- package/src/renderers/Table/TableContent.tsx +3 -1
- package/src/renderers/Table/index.tsx +61 -13
- package/src/store/crud.ts +34 -38
- package/src/store/modal.ts +4 -0
- package/src/store/service.ts +0 -19
- package/src/store/table.ts +48 -0
- package/src/utils/api.ts +11 -0
- package/src/utils/attachmentAdpator.ts +90 -0
- package/src/utils/helper.ts +1 -0
- package/src/utils/validations.ts +80 -12
package/lib/store/app.d.ts
CHANGED
@@ -66,7 +66,6 @@ export declare const AppStore: import("mobx-state-tree").IModelType<{
|
|
66
66
|
markBusying: (busying?: boolean) => void;
|
67
67
|
fetchInitData: (api: import("../types").Api, data?: object | undefined, options?: import("../types").fetchOptions | undefined) => Promise<any>;
|
68
68
|
fetchData: (api: import("../types").Api, data?: object | undefined, options?: import("../types").fetchOptions | undefined) => Promise<any>;
|
69
|
-
fetchWSData: (ws: string, afterDataFetch: (data: any) => any) => void;
|
70
69
|
reInitData: (data: object | undefined, replace?: boolean) => void;
|
71
70
|
updateMessage: (msg?: string | undefined, error?: boolean) => void;
|
72
71
|
clearMessage: () => void;
|
package/lib/store/combo.d.ts
CHANGED
@@ -1714,7 +1714,6 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
|
|
1714
1714
|
markBusying: (busying?: boolean) => void;
|
1715
1715
|
fetchInitData: (api: import("../types").Api, data?: object | undefined, options?: import("../types").fetchOptions | undefined) => Promise<any>;
|
1716
1716
|
fetchData: (api: import("../types").Api, data?: object | undefined, options?: import("../types").fetchOptions | undefined) => Promise<any>;
|
1717
|
-
fetchWSData: (ws: string, afterDataFetch: (data: any) => any) => void;
|
1718
1717
|
reInitData: (data: object | undefined, replace?: boolean) => void;
|
1719
1718
|
updateMessage: (msg?: string | undefined, error?: boolean) => void;
|
1720
1719
|
clearMessage: () => void;
|
@@ -4998,7 +4997,6 @@ export declare const ComboStore: import("mobx-state-tree").IModelType<{
|
|
4998
4997
|
markBusying: (busying?: boolean) => void;
|
4999
4998
|
fetchInitData: (api: import("../types").Api, data?: object | undefined, options?: import("../types").fetchOptions | undefined) => Promise<any>;
|
5000
4999
|
fetchData: (api: import("../types").Api, data?: object | undefined, options?: import("../types").fetchOptions | undefined) => Promise<any>;
|
5001
|
-
fetchWSData: (ws: string, afterDataFetch: (data: any) => any) => void;
|
5002
5000
|
reInitData: (data: object | undefined, replace?: boolean) => void;
|
5003
5001
|
updateMessage: (msg?: string | undefined, error?: boolean) => void;
|
5004
5002
|
clearMessage: () => void;
|
package/lib/store/crud.d.ts
CHANGED
@@ -77,7 +77,6 @@ export declare const CRUDStore: import("mobx-state-tree").IModelType<{
|
|
77
77
|
markBusying: (busying?: boolean) => void;
|
78
78
|
fetchInitData: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
|
79
79
|
fetchData: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
|
80
|
-
fetchWSData: (ws: string, afterDataFetch: (data: any) => any) => void;
|
81
80
|
reInitData: (data: object | undefined, replace?: boolean) => void;
|
82
81
|
updateMessage: (msg?: string | undefined, error?: boolean) => void;
|
83
82
|
clearMessage: () => void;
|
@@ -115,9 +114,10 @@ export declare const CRUDStore: import("mobx-state-tree").IModelType<{
|
|
115
114
|
setUnSelectedItems: (items: Array<any>) => void;
|
116
115
|
setInnerModalOpened: (value: boolean) => void;
|
117
116
|
initFromScope: (scope: any, source: string) => void;
|
118
|
-
exportAsCSV(options?: {
|
117
|
+
exportAsCSV: (options?: {
|
119
118
|
loadDataOnce?: boolean;
|
120
119
|
api?: Api;
|
121
|
-
|
120
|
+
data?: any;
|
121
|
+
}) => Promise<void>;
|
122
122
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
123
123
|
export declare type ICRUDStore = Instance<typeof CRUDStore>;
|
package/lib/store/crud.js
CHANGED
@@ -304,6 +304,46 @@ exports.CRUDStore = service_1.ServiceStore.named('CRUDStore')
|
|
304
304
|
self.items.replace(rowsData);
|
305
305
|
self.reInitData(data);
|
306
306
|
};
|
307
|
+
var exportAsCSV = function (options) {
|
308
|
+
if (options === void 0) { options = {}; }
|
309
|
+
return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
310
|
+
var items, env, res;
|
311
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
312
|
+
switch (_a.label) {
|
313
|
+
case 0:
|
314
|
+
items = options.loadDataOnce ? self.data.itemsRaw : self.data.items;
|
315
|
+
if (!options.api) return [3 /*break*/, 2];
|
316
|
+
env = (0, mobx_state_tree_1.getEnv)(self);
|
317
|
+
return [4 /*yield*/, env.fetcher(options.api, options.data)];
|
318
|
+
case 1:
|
319
|
+
res = _a.sent();
|
320
|
+
if (!res.data) {
|
321
|
+
return [2 /*return*/];
|
322
|
+
}
|
323
|
+
if (Array.isArray(res.data)) {
|
324
|
+
items = res.data;
|
325
|
+
}
|
326
|
+
else {
|
327
|
+
items = res.data.rows || res.data.items;
|
328
|
+
}
|
329
|
+
_a.label = 2;
|
330
|
+
case 2:
|
331
|
+
Promise.resolve().then(function () { return new Promise(function(resolve){require(['papaparse'], function(ret) {resolve(tslib_1.__importStar(ret));})}); }).then(function (papaparse) {
|
332
|
+
var csvText = papaparse.unparse(items);
|
333
|
+
if (csvText) {
|
334
|
+
var blob = new Blob(
|
335
|
+
// 加上 BOM 这样 Excel 打开的时候就不会乱码
|
336
|
+
[new Uint8Array([0xef, 0xbb, 0xbf]), csvText], {
|
337
|
+
type: 'text/plain;charset=utf-8'
|
338
|
+
});
|
339
|
+
(0, file_saver_1.saveAs)(blob, 'data.csv');
|
340
|
+
}
|
341
|
+
});
|
342
|
+
return [2 /*return*/];
|
343
|
+
}
|
344
|
+
});
|
345
|
+
});
|
346
|
+
};
|
307
347
|
return {
|
308
348
|
setPristineQuery: setPristineQuery,
|
309
349
|
updateQuery: updateQuery,
|
@@ -317,42 +357,7 @@ exports.CRUDStore = service_1.ServiceStore.named('CRUDStore')
|
|
317
357
|
setUnSelectedItems: setUnSelectedItems,
|
318
358
|
setInnerModalOpened: setInnerModalOpened,
|
319
359
|
initFromScope: initFromScope,
|
320
|
-
exportAsCSV:
|
321
|
-
if (options === void 0) { options = {}; }
|
322
|
-
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
323
|
-
var items, json;
|
324
|
-
return (0, tslib_1.__generator)(this, function (_a) {
|
325
|
-
switch (_a.label) {
|
326
|
-
case 0:
|
327
|
-
items = options.loadDataOnce ? self.data.itemsRaw : self.data.items;
|
328
|
-
if (!(!options.loadDataOnce && options.api)) return [3 /*break*/, 2];
|
329
|
-
return [4 /*yield*/, self.fetchData(options.api, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, self.query), { page: undefined, perPage: undefined, op: 'export-csv' }), {
|
330
|
-
autoAppend: true
|
331
|
-
})];
|
332
|
-
case 1:
|
333
|
-
json = _a.sent();
|
334
|
-
if (json.ok &&
|
335
|
-
(Array.isArray(json.data.items) || Array.isArray(json.data.rows))) {
|
336
|
-
items = json.data.items || json.data.rows;
|
337
|
-
}
|
338
|
-
_a.label = 2;
|
339
|
-
case 2:
|
340
|
-
Promise.resolve().then(function () { return new Promise(function(resolve){require(['papaparse'], function(ret) {resolve(tslib_1.__importStar(ret));})}); }).then(function (papaparse) {
|
341
|
-
var csvText = papaparse.unparse(items);
|
342
|
-
if (csvText) {
|
343
|
-
var blob = new Blob(
|
344
|
-
// 加上 BOM 这样 Excel 打开的时候就不会乱码
|
345
|
-
[new Uint8Array([0xef, 0xbb, 0xbf]), csvText], {
|
346
|
-
type: 'text/plain;charset=utf-8'
|
347
|
-
});
|
348
|
-
(0, file_saver_1.saveAs)(blob, 'data.csv');
|
349
|
-
}
|
350
|
-
});
|
351
|
-
return [2 /*return*/];
|
352
|
-
}
|
353
|
-
});
|
354
|
-
});
|
355
|
-
}
|
360
|
+
exportAsCSV: exportAsCSV
|
356
361
|
};
|
357
362
|
});
|
358
363
|
//# sourceMappingURL=./store/crud.js.map
|
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';\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 = json.data;\n\n if (Array.isArray(result)) {\n result = {\n items: result\n };\n }\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 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 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 async exportAsCSV(options: {loadDataOnce?: boolean; api?: Api} = {}) {\n let items = options.loadDataOnce ? self.data.itemsRaw : self.data.items;\n\n if (!options.loadDataOnce && options.api) {\n const json = await self.fetchData(\n options.api,\n {\n ...self.query,\n page: undefined,\n perPage: undefined,\n op: 'export-csv'\n },\n {\n autoAppend: true\n }\n );\n if (\n json.ok &&\n (Array.isArray(json.data.items) || Array.isArray(json.data.rows))\n ) {\n items = json.data.items || json.data.rows;\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 });\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} from '../utils/helper';\nimport {Api, Payload, fetchOptions, Action, ApiObject} from '../types';\nimport pick from 'lodash/pick';\nimport {resolveVariableAndFilter} from '../utils/tpl-builtin';\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 = json.data;\n\n if (Array.isArray(result)) {\n result = {\n items: result\n };\n }\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 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
@@ -71,7 +71,6 @@ export declare const FormStore: import("mobx-state-tree").IModelType<{
|
|
71
71
|
markBusying: (busying?: boolean) => void;
|
72
72
|
fetchInitData: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
|
73
73
|
fetchData: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
|
74
|
-
fetchWSData: (ws: string, afterDataFetch: (data: any) => any) => void;
|
75
74
|
reInitData: (data: object | undefined, replace?: boolean) => void;
|
76
75
|
updateMessage: (msg?: string | undefined, error?: boolean) => void;
|
77
76
|
clearMessage: () => void;
|
package/lib/store/modal.d.ts
CHANGED
@@ -64,7 +64,6 @@ export declare const ModalStore: import("mobx-state-tree").IModelType<{
|
|
64
64
|
markBusying: (busying?: boolean) => void;
|
65
65
|
fetchInitData: (api: import("../types").Api, data?: object | undefined, options?: import("../types").fetchOptions | undefined) => Promise<any>;
|
66
66
|
fetchData: (api: import("../types").Api, data?: object | undefined, options?: import("../types").fetchOptions | undefined) => Promise<any>;
|
67
|
-
fetchWSData: (ws: string, afterDataFetch: (data: any) => any) => void;
|
68
67
|
reInitData: (data: object | undefined, replace?: boolean) => void;
|
69
68
|
updateMessage: (msg?: string | undefined, error?: boolean) => void;
|
70
69
|
clearMessage: () => void;
|
@@ -77,6 +76,7 @@ export declare const ModalStore: import("mobx-state-tree").IModelType<{
|
|
77
76
|
} & {
|
78
77
|
setEntered(value: boolean): void;
|
79
78
|
setFormData(obj: any): void;
|
79
|
+
reset(): void;
|
80
80
|
setResizeCoord(value: number): void;
|
81
81
|
setSchema(schema: any): void;
|
82
82
|
}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>;
|
package/lib/store/modal.js
CHANGED
@@ -26,6 +26,10 @@ exports.ModalStore = service_1.ServiceStore.named('ModalStore')
|
|
26
26
|
setFormData: function (obj) {
|
27
27
|
self.form = obj;
|
28
28
|
},
|
29
|
+
reset: function () {
|
30
|
+
self.form = {};
|
31
|
+
self.reInitData({}, true);
|
32
|
+
},
|
29
33
|
setResizeCoord: function (value) {
|
30
34
|
self.resizeCoord = value;
|
31
35
|
},
|
package/lib/store/modal.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/store/modal.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;AAAA,qCAAuC;AACvC,mDAAqE;AACrE,0CAA6C;AAEhC,QAAA,UAAU,GAAG,sBAAY,CAAC,KAAK,CAAC,YAAY,CAAC;KACvD,KAAK,CAAC;IACL,IAAI,EAAE,uBAAK,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,uBAAK,CAAC,MAAM,EAAE;CACvB,CAAC;KACD,KAAK,CAAC,UAAA,IAAI;IACT,OAAO;QACL,IAAI,QAAQ;YACV,OAAO,IAAA,qBAAY,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;KACD,OAAO,CAAC,UAAA,IAAI;IACX,OAAO;QACL,UAAU,EAAV,UAAW,KAAc;YACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;QACD,WAAW,EAAX,UAAY,GAAQ;YAClB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAClB,CAAC;QAED,cAAc,EAAd,UAAe,KAAa;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC;QAED,SAAS,EAAT,UAAU,MAAW;YACnB,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;gBACzB,MAAM,CAAC,IAAI,CACT,UAAC,KAAU,IAAK,OAAA,IAAA,yBAAO,EAAC,IAAI,CAAC,IAAK,IAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAA/C,CAA+C,CAChE,CAAC;gBACF,OAAO;aACR;YAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC",
|
9
|
+
"mappings": ";;;AAAA,qCAAuC;AACvC,mDAAqE;AACrE,0CAA6C;AAEhC,QAAA,UAAU,GAAG,sBAAY,CAAC,KAAK,CAAC,YAAY,CAAC;KACvD,KAAK,CAAC;IACL,IAAI,EAAE,uBAAK,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,KAAK;IACd,WAAW,EAAE,CAAC;IACd,MAAM,EAAE,uBAAK,CAAC,MAAM,EAAE;CACvB,CAAC;KACD,KAAK,CAAC,UAAA,IAAI;IACT,OAAO;QACL,IAAI,QAAQ;YACV,OAAO,IAAA,qBAAY,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;KACD,OAAO,CAAC,UAAA,IAAI;IACX,OAAO;QACL,UAAU,EAAV,UAAW,KAAc;YACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;QACD,WAAW,EAAX,UAAY,GAAQ;YAClB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAClB,CAAC;QACD,KAAK;YACH,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,cAAc,EAAd,UAAe,KAAa;YAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC;QAED,SAAS,EAAT,UAAU,MAAW;YACnB,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;gBACzB,MAAM,CAAC,IAAI,CACT,UAAC,KAAU,IAAK,OAAA,IAAA,yBAAO,EAAC,IAAI,CAAC,IAAK,IAAY,CAAC,SAAS,CAAC,KAAK,CAAC,EAA/C,CAA+C,CAChE,CAAC;gBACF,OAAO;aACR;YAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {ServiceStore} from './service';\nimport {types, SnapshotIn, Instance, isAlive} from 'mobx-state-tree';\nimport {createObject} from '../utils/helper';\n\nexport const ModalStore = ServiceStore.named('ModalStore')\n .props({\n form: types.frozen(),\n entered: false,\n resizeCoord: 0,\n schema: types.frozen()\n })\n .views(self => {\n return {\n get formData() {\n return createObject(self.data, self.form);\n }\n };\n })\n .actions(self => {\n return {\n setEntered(value: boolean) {\n self.entered = value;\n },\n setFormData(obj: any) {\n self.form = obj;\n },\n\n setResizeCoord(value: number) {\n self.resizeCoord = value;\n },\n\n setSchema(schema: any) {\n if (schema && schema.then) {\n schema.then(\n (value: any) => isAlive(self) && (self as any).setSchema(value)\n );\n return;\n }\n\n self.schema = schema;\n }\n };\n });\n\nexport type IModalStore = Instance<typeof ModalStore>;\nexport type SModalStore = SnapshotIn<typeof ModalStore>;\n"
|
11
|
+
"import {ServiceStore} from './service';\nimport {types, SnapshotIn, Instance, isAlive} from 'mobx-state-tree';\nimport {createObject} from '../utils/helper';\n\nexport const ModalStore = ServiceStore.named('ModalStore')\n .props({\n form: types.frozen(),\n entered: false,\n resizeCoord: 0,\n schema: types.frozen()\n })\n .views(self => {\n return {\n get formData() {\n return createObject(self.data, self.form);\n }\n };\n })\n .actions(self => {\n return {\n setEntered(value: boolean) {\n self.entered = value;\n },\n setFormData(obj: any) {\n self.form = obj;\n },\n reset() {\n self.form = {};\n self.reInitData({}, true);\n },\n\n setResizeCoord(value: number) {\n self.resizeCoord = value;\n },\n\n setSchema(schema: any) {\n if (schema && schema.then) {\n schema.then(\n (value: any) => isAlive(self) && (self as any).setSchema(value)\n );\n return;\n }\n\n self.schema = schema;\n }\n };\n });\n\nexport type IModalStore = Instance<typeof ModalStore>;\nexport type SModalStore = SnapshotIn<typeof ModalStore>;\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/store/root.d.ts
CHANGED
@@ -63,7 +63,6 @@ export declare const RootStore: import("mobx-state-tree").IModelType<{
|
|
63
63
|
markBusying: (busying?: boolean) => void;
|
64
64
|
fetchInitData: (api: import("../types").Api, data?: object | undefined, options?: import("../types").fetchOptions | undefined) => Promise<any>;
|
65
65
|
fetchData: (api: import("../types").Api, data?: object | undefined, options?: import("../types").fetchOptions | undefined) => Promise<any>;
|
66
|
-
fetchWSData: (ws: string, afterDataFetch: (data: any) => any) => void;
|
67
66
|
reInitData: (data: object | undefined, replace?: boolean) => void;
|
68
67
|
updateMessage: (msg?: string | undefined, error?: boolean) => void;
|
69
68
|
clearMessage: () => void;
|
package/lib/store/service.d.ts
CHANGED
@@ -60,7 +60,6 @@ export declare const ServiceStore: import("mobx-state-tree").IModelType<{
|
|
60
60
|
markBusying: (busying?: boolean) => void;
|
61
61
|
fetchInitData: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
|
62
62
|
fetchData: (api: Api, data?: object | undefined, options?: fetchOptions | undefined) => Promise<any>;
|
63
|
-
fetchWSData: (ws: string, afterDataFetch: (data: any) => any) => void;
|
64
63
|
reInitData: (data: object | undefined, replace?: boolean) => void;
|
65
64
|
updateMessage: (msg?: string | undefined, error?: boolean) => void;
|
66
65
|
clearMessage: () => void;
|
package/lib/store/service.js
CHANGED
@@ -125,18 +125,6 @@ exports.ServiceStore = iRenderer_1.iRendererStore
|
|
125
125
|
}
|
126
126
|
});
|
127
127
|
});
|
128
|
-
var fetchWSData = function (ws, afterDataFetch) {
|
129
|
-
var env = (0, mobx_state_tree_1.getEnv)(self);
|
130
|
-
env.wsFetcher(ws, function (data) {
|
131
|
-
self.updateData(data, undefined, false);
|
132
|
-
setHasRemoteData();
|
133
|
-
// 因为 WebSocket 只会获取纯数据,所以没有 msg 之类的
|
134
|
-
afterDataFetch({ ok: true, data: data });
|
135
|
-
}, function (error) {
|
136
|
-
updateMessage(error, true);
|
137
|
-
env.notify('error', error);
|
138
|
-
});
|
139
|
-
};
|
140
128
|
var setHasRemoteData = function () {
|
141
129
|
self.hasRemoteData = true;
|
142
130
|
};
|
@@ -402,7 +390,6 @@ exports.ServiceStore = iRenderer_1.iRendererStore
|
|
402
390
|
markBusying: markBusying,
|
403
391
|
fetchInitData: fetchInitData,
|
404
392
|
fetchData: fetchData,
|
405
|
-
fetchWSData: fetchWSData,
|
406
393
|
reInitData: reInitData,
|
407
394
|
updateMessage: updateMessage,
|
408
395
|
clearMessage: clearMessage,
|
package/lib/store/service.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/store/service.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,mDAAuE;AACvE,yCAA2C;AAE3C,0CAAgE;AAChE,0CAA4C;AAE/B,QAAA,YAAY,GAAG,0BAAc;KACvC,KAAK,CAAC,cAAc,CAAC;KACrB,KAAK,CAAC;IACL,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,KAAK;IACf,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,KAAK;IACnB,MAAM,EAAE,uBAAK,CAAC,QAAQ,CAAC,uBAAK,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC;IAC5C,SAAS,EAAE,EAAE;CACd,CAAC;KACD,KAAK,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC;IACd,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC;IAC3E,CAAC;CACF,CAAC,EAJa,CAIb,CAAC;KACF,OAAO,CAAC,UAAA,IAAI;IACX,IAAI,WAA4B,CAAC;IACjC,IAAI,iBAAkC,CAAC;IAEvC,SAAS,YAAY,CAAC,QAAe;QAAf,yBAAA,EAAA,eAAe;QACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,SAAS,UAAU,CAAC,MAAa;QAAb,uBAAA,EAAA,aAAa;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,SAAS,WAAW,CAAC,OAAc;QAAd,wBAAA,EAAA,cAAc;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,SAAS,UAAU,CAAC,IAAwB,EAAE,OAAwB;QAAxB,wBAAA,EAAA,eAAwB;QACpE,IAAM,OAAO,GAAG,IAAA,qBAAY,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IACtC,CAAC;IAED,SAAS,aAAa,CAAC,GAAY,EAAE,KAAsB;QAAtB,sBAAA,EAAA,aAAsB;QACzD,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,SAAS,YAAY;QACnB,aAAa,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAED,IAAM,aAAa,GAIC,IAAA,sBAAI,EAAC,SAAU,WAAW,CAC5C,GAAQ,EACR,IAAY,EACZ,OAAsB;;;;;;;oBAGpB,IAAI,WAAW,EAAE;wBACf,WAAW,EAAE,CAAC;wBACd,WAAW,GAAG,IAAI,CAAC;wBACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;qBACvB;oBAED,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACjB,sBAAO;qBACR;oBAED,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;oBAC5B,qBAAM,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,kDACrD,OAAO,KACV,cAAc,EAAE,UAAC,QAAkB,IAAK,OAAA,CAAC,WAAW,GAAG,QAAQ,CAAC,EAAxB,CAAwB,IAChE,EAAA;;oBAHI,IAAI,GAAY,SAGpB;oBACF,WAAW,GAAG,IAAI,CAAC;yBAEf,CAAC,IAAI,CAAC,EAAE,EAAR,wBAAQ;oBACV,aAAa,CAAC,MAAA,IAAI,CAAC,GAAG,mCAAI,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;oBACnE,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,MAAM,CACjB,OAAO,EACP,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,UAAU,KAAK,SAAS;wBAC3B,CAAC,CAAC;4BACE,WAAW,EAAE,IAAI;4BACjB,OAAO,EAAE,IAAI,CAAC,UAAU;yBACzB;wBACH,CAAC,CAAC,SAAS,CACd,CAAC;;;oBAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACxB,OAAO,GAAG,CAAC,CAAE,GAAiB,CAAC,WAAW,CAAC;oBAC3C,yDACC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAC1B,IAAI,CAAC,IAAI,CACb,CAAC;oBACF,UAAU,CAAC,MAAI,EAAE,OAAO,CAAC,CAAC;oBAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;yBACtB,CAAA,OAAO,IAAI,OAAO,CAAC,SAAS,CAAA,EAA5B,wBAA4B;oBACxB,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;yBAEhC,CAAA,GAAG,IAAI,GAAG,CAAC,IAAI,CAAA,EAAf,wBAAe;oBACjB,qBAAM,GAAG,EAAA;;oBAAT,SAAS,CAAC;;;oBAId,aAAa,CAAC,MAAA,IAAI,CAAC,GAAG,mCAAI,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;oBAE/D,yBAAyB;oBACzB,OAAO;wBACL,OAAO,CAAC,cAAc;wBACtB,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;;;oBAG7C,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,sBAAO,IAAI,EAAC;;;oBAEN,GAAG,GAAG,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC;oBAEzB,IAAI,CAAC,IAAA,yBAAO,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACnC,sBAAO;qBACR;oBAED,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAC,CAAC,EAAE;wBACnB,sBAAO;qBACR;oBAED,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,GAAC,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,GAAC,CAAC,KAAK,CAAC,CAAC;oBAC9B,OAAO,GAAG,GAAC,CAAC,OAAO,IAAI,GAAC,CAAC;oBAC7B,IAAI,GAAC,IAAI,GAAC,CAAC,OAAO,KAAK,eAAe,EAAE;wBACtC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;qBACnC;oBACD,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC7B,sBAAO;;;;KAEV,CAAC,CAAC;IAEH,IAAM,WAAW,GAAG,UAAC,EAAU,EAAE,cAAkC;QACjE,IAAM,GAAG,GAAG,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC;QAEzB,GAAG,CAAC,SAAS,CACX,EAAE,EACF,UAAC,IAAS;YACR,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YACxC,gBAAgB,EAAE,CAAC;YACnB,oCAAoC;YACpC,cAAc,CAAC,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;QACzC,CAAC,EACD,UAAC,KAAU;YACT,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3B,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,gBAAgB,GAAG;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC,CAAC;IAEF,IAAM,SAAS,GAIK,IAAA,sBAAI,EAAC,SAAU,WAAW,CAC5C,GAAQ,EACR,IAAY,EACZ,OAAsB;;;;;;;oBAGpB,IAAI,WAAW,EAAE;wBACf,WAAW,EAAE,CAAC;wBACd,WAAW,GAAG,IAAI,CAAC;wBACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;qBACvB;oBAED,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACjB,sBAAO;qBACR;oBAED,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;oBAC5B,qBAAM,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,kDACrD,OAAO,KACV,cAAc,EAAE,UAAC,QAAkB,IAAK,OAAA,CAAC,WAAW,GAAG,QAAQ,CAAC,EAAxB,CAAwB,IAChE,EAAA;;oBAHI,IAAI,GAAY,SAGpB;oBACF,WAAW,GAAG,IAAI,CAAC;oBAEnB,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE;wBAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAE5B,IAAI,CAAC,IAAI;4BACP,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,IAAI,EACT,SAAS,EACT,CAAC,CAAE,GAAiB,CAAC,WAAW,CACjC,CAAC;wBAEJ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;qBAC3B;yBAEG,CAAC,IAAI,CAAC,EAAE,EAAR,wBAAQ;oBACV,aAAa,CAAC,MAAA,IAAI,CAAC,GAAG,mCAAI,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;oBACnE,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,MAAM,CACjB,OAAO,EACP,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,UAAU,KAAK,SAAS;wBAC3B,CAAC,CAAC;4BACE,WAAW,EAAE,IAAI;4BACjB,OAAO,EAAE,IAAI,CAAC,UAAU;yBACzB;wBACH,CAAC,CAAC,SAAS,CACd,CAAC;;;yBAEE,CAAA,OAAO,IAAI,OAAO,CAAC,SAAS,CAAA,EAA5B,wBAA4B;oBACxB,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;yBAEhC,CAAA,GAAG,IAAI,GAAG,CAAC,IAAI,CAAA,EAAf,wBAAe;oBACjB,qBAAM,GAAG,EAAA;;oBAAT,SAAS,CAAC;;;oBAId,aAAa,CAAC,MAAA,IAAI,CAAC,GAAG,mCAAI,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;oBAE/D,yBAAyB;oBACzB,OAAO;wBACL,OAAO,CAAC,cAAc;wBACtB,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;;;oBAG7C,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,sBAAO,IAAI,EAAC;;;oBAEN,GAAG,GAAG,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC;oBAEzB,IAAI,CAAC,IAAA,yBAAO,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACnC,sBAAO;qBACR;oBAED,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAC,CAAC,EAAE;wBACnB,sBAAO;qBACR;oBAED,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,GAAC,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,GAAC,CAAC,KAAK,CAAC,CAAC;oBAC9B,OAAO,GAAG,GAAC,CAAC,OAAO,IAAI,GAAC,CAAC;oBAC7B,IAAI,GAAC,IAAI,GAAC,CAAC,OAAO,KAAK,eAAe,EAAE;wBACtC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;qBACnC;oBACD,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC7B,sBAAO;;;;KAEV,CAAC,CAAC;IAEH,IAAM,UAAU,GAII,IAAA,sBAAI,EAAC,SAAU,UAAU,CAC3C,GAAQ,EACR,IAAY,EACZ,OAA0B;;;QAA1B,wBAAA,EAAA,YAA0B;;;;;oBAGxB,OAAO,2BACL,MAAM,EAAE,MAAM,IACX,OAAO,CACX,CAAC;oBAEF,IAAI,IAAI,CAAC,MAAM,EAAE;wBACf,sBAAO;qBACR;oBACD,UAAU,CAAC,IAAI,CAAC,CAAC;oBAEK,qBAAM,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAA;;oBAA9D,IAAI,GAAY,SAA8C;oBAEpE,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE;wBAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAE5B,IAAI,CAAC,IAAI;4BACP,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,IAAI,EACT,SAAS,EACT,CAAC,CAAE,GAAiB,CAAC,WAAW,CACjC,CAAC;qBACL;yBAEG,CAAC,IAAI,CAAC,EAAE,EAAR,wBAAQ;yBACN,CAAA,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAA,EAA3B,wBAA2B;oBACvB,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;yBAE/B,CAAA,GAAG,IAAI,GAAG,CAAC,IAAI,CAAA,EAAf,wBAAe;oBACjB,qBAAM,GAAG,EAAA;;oBAAT,SAAS,CAAC;;;oBAId,aAAa,CACX,MAAA,MAAA,IAAI,CAAC,GAAG,mCACN,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,mCACjC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,EACvB,IAAI,CACL,CAAC;oBACF,MAAM,IAAI,oBAAW,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;;yBAElC,CAAA,OAAO,IAAI,OAAO,CAAC,SAAS,CAAA,EAA5B,wBAA4B;oBACxB,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;yBAEhC,CAAA,GAAG,IAAI,GAAG,CAAC,IAAI,CAAA,EAAf,wBAAe;oBACjB,qBAAM,GAAG,EAAA;;oBAAT,SAAS,CAAC;;;oBAId,aAAa,CAAC,MAAA,IAAI,CAAC,GAAG,mCAAI,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;oBAC/D,IAAI,CAAC,GAAG;wBACN,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,MAAM,CACjB,SAAS,EACT,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,UAAU,KAAK,SAAS;4BAC3B,CAAC,CAAC;gCACE,WAAW,EAAE,IAAI;gCACjB,OAAO,EAAE,IAAI,CAAC,UAAU;6BACzB;4BACH,CAAC,CAAC,SAAS,CACd,CAAC;;;oBAGN,UAAU,CAAC,KAAK,CAAC,CAAC;oBAClB,sBAAO,IAAI,CAAC,IAAI,EAAC;;;oBAEjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;oBAEpB,IAAI,CAAC,IAAA,yBAAO,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACnC,sBAAO;qBACR;oBAED,wBAAwB;oBACxB,IAAI,GAAC,CAAC,IAAI,KAAK,aAAa,EAAE;wBACtB,MAAM,GAAI,GAAiB,CAAC,QAAQ,CAAC;wBAC3C,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,MAAM,CACjB,OAAO,EACP,GAAC,CAAC,OAAO,EACT,MAAM,CAAC,UAAU,KAAK,SAAS;4BAC7B,CAAC,CAAC;gCACE,WAAW,EAAE,IAAI;gCACjB,OAAO,EAAE,MAAM,CAAC,UAAU;6BAC3B;4BACH,CAAC,CAAC,SAAS,CACd,CAAC;qBACH;yBAAM;wBACL,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAC,CAAC,OAAO,CAAC,CAAC;qBACzC;oBAED,MAAM,GAAC,CAAC;;;;KAEX,CAAC,CAAC;IAEH,IAAM,WAAW,GAIG,IAAA,sBAAI,EAAC,SAAU,WAAW,CAC5C,GAAQ,EACR,IAAY,EACZ,OAA0B;;;QAA1B,wBAAA,EAAA,YAA0B;;;;;oBAGxB,OAAO,iDACL,MAAM,EAAE,MAAM,IACX,OAAO,KACV,cAAc,EAAE,UAAC,QAAkB,IAAK,OAAA,CAAC,iBAAiB,GAAG,QAAQ,CAAC,EAA9B,CAA8B,GACvE,CAAC;oBAEF,IAAI,iBAAiB,EAAE;wBACrB,iBAAiB,EAAE,CAAC;wBACpB,iBAAiB,GAAG,IAAI,CAAC;wBACzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;qBAC3B;oBAED,IAAI,IAAI,CAAC,YAAY,EAAE;wBACrB,sBAAO;qBACR;oBAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBAEzB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;wBAC3B,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;qBACvD;yBAAM;wBACL,GAAG,mDACG,GAAW,KACf,GAAG,EACA,GAAiB,CAAC,GAAG;gCACtB,CAAC,CAAE,GAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;gCAClD,YAAY,GACf,CAAC;qBACH;oBAEqB,qBAAM,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAA;;oBAA9D,IAAI,GAAY,SAA8C;oBACpE,iBAAiB,GAAG,IAAI,CAAC;oBAEzB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;wBACZ,aAAa,CACX,MAAA,MAAA,IAAI,CAAC,GAAG,mCACN,CAAC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,mCACjC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,EACxB,IAAI,CACL,CAAC;wBACF,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,MAAM,CACjB,OAAO,EACP,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,UAAU,KAAK,SAAS;4BAC3B,CAAC,CAAC;gCACE,WAAW,EAAE,IAAI;gCACjB,OAAO,EAAE,IAAI,CAAC,UAAU;6BACzB;4BACH,CAAC,CAAC,SAAS,CACd,CAAC;qBACH;yBAAM;wBACL,IAAI,IAAI,CAAC,IAAI,EAAE;4BACb,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gCACpC,CAAC,CAAC,IAAI,CAAC,IAAI;gCACX,CAAC,yBACG,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,KAAK,IACR,IAAI,CAAC,IAAI,CACb,CAAC;4BACN,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;4BACjC,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gCACtB,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,SAAS,EACT,CAAC,CAAE,GAAiB,CAAC,WAAW,CACjC,CAAC;yBACL;wBAED,aAAa,CAAC,MAAA,IAAI,CAAC,GAAG,mCAAI,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;wBAE/D,yBAAyB;wBACzB,OAAO;4BACL,OAAO,CAAC,cAAc;4BACtB,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;qBAC5C;oBAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,sBAAO,IAAI,CAAC,IAAI,EAAC;;;oBAEX,GAAG,GAAG,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC;oBAEzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,IAAA,yBAAO,EAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACnC,sBAAO;qBACR;oBAED,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAC,CAAC,EAAE;wBACnB,sBAAO;qBACR;oBAED,GAAC,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,GAAC,CAAC,KAAK,CAAC,CAAC;oBAC9B,OAAO,GAAG,GAAC,CAAC,OAAO,IAAI,GAAC,CAAC;oBAC7B,IAAI,GAAC,IAAI,GAAC,CAAC,OAAO,KAAK,eAAe,EAAE;wBACtC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC;qBACnC;oBACD,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;;;;KAEhC,CAAC,CAAC;IAEH,IAAM,WAAW,GAIG,IAAA,sBAAI,EAAC,SAAU,WAAW,CAC5C,GAAQ,EACR,IAAY,EACZ,OAAsB;;;;;oBAEtB,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACjB,sBAAO;qBACR;;;;oBAGC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACC,qBAAM,IAAA,wBAAM,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAA;;oBAA9D,IAAI,GAAY,SAA8C;oBACpE,IAAI,CAAC,EAAE;wBACL,IAAI,CAAC,UAAU,CACb,IAAI,CAAC,IAAI,EACT,SAAS,EACT,CAAC,CAAE,GAAiB,CAAC,WAAW,CACjC,CAAC;oBAEJ,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;wBACZ,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBAC3B;oBAED,sBAAO,IAAI,CAAC,IAAI,EAAC;;oBAEjB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;;;;;KAEzB,CAAC,CAAC;IAEH,OAAO;QACL,YAAY,cAAA;QACZ,UAAU,YAAA;QACV,WAAW,aAAA;QACX,aAAa,eAAA;QACb,SAAS,WAAA;QACT,WAAW,aAAA;QACX,UAAU,YAAA;QACV,aAAa,eAAA;QACb,YAAY,cAAA;QACZ,gBAAgB,kBAAA;QAChB,UAAU,YAAA;QACV,WAAW,aAAA;QACX,WAAW,aAAA;KACZ,CAAC;AACJ,CAAC,CAAC,CAAC",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {types, flow, getEnv, isAlive, Instance} from 'mobx-state-tree';\nimport {iRendererStore} from './iRenderer';\nimport {Api, ApiObject, Payload, fetchOptions} from '../types';\nimport {extendObject, isEmpty, isObject} from '../utils/helper';\nimport {ServerError} from '../utils/errors';\n\nexport const ServiceStore = iRendererStore\n .named('ServiceStore')\n .props({\n msg: '',\n error: false,\n fetching: false,\n saving: false,\n busying: false,\n checking: false,\n initializing: false,\n schema: types.optional(types.frozen(), null),\n schemaKey: ''\n })\n .views(self => ({\n get loading() {\n return self.fetching || self.saving || self.busying || self.initializing;\n }\n }))\n .actions(self => {\n let fetchCancel: Function | null;\n let fetchSchemaCancel: Function | null;\n\n function markFetching(fetching = true) {\n self.fetching = fetching;\n }\n\n function markSaving(saving = true) {\n self.saving = saving;\n }\n\n function markBusying(busying = true) {\n self.busying = busying;\n }\n\n function reInitData(data: object | undefined, replace: boolean = false) {\n const newData = extendObject(self.pristine, data, !replace);\n self.data = self.pristine = newData;\n }\n\n function updateMessage(msg?: string, error: boolean = false) {\n self.msg = (msg && String(msg)) || '';\n self.error = error;\n }\n\n function clearMessage() {\n updateMessage('');\n }\n\n const fetchInitData: (\n api: Api,\n data?: object,\n options?: fetchOptions\n ) => Promise<any> = flow(function* getInitData(\n api: Api,\n data: object,\n options?: fetchOptions\n ) {\n try {\n if (fetchCancel) {\n fetchCancel();\n fetchCancel = null;\n self.fetching = false;\n }\n\n if (self.fetching) {\n return;\n }\n\n (options && options.silent) || markFetching(true);\n const json: Payload = yield getEnv(self).fetcher(api, data, {\n ...options,\n cancelExecutor: (executor: Function) => (fetchCancel = executor)\n });\n fetchCancel = null;\n\n if (!json.ok) {\n updateMessage(json.msg ?? (options && options.errorMessage), true);\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 self.updatedAt = Date.now();\n let replace = !!(api as ApiObject).replaceData;\n let data = {\n ...(replace ? {} : self.data),\n ...json.data\n };\n reInitData(data, replace);\n self.hasRemoteData = true;\n if (options && options.onSuccess) {\n const ret = options.onSuccess(json);\n\n if (ret && ret.then) {\n yield ret;\n }\n }\n\n updateMessage(json.msg ?? (options && options.successMessage));\n\n // 配置了获取成功提示后提示,默认是空不会提示。\n options &&\n options.successMessage &&\n getEnv(self).notify('success', self.msg);\n }\n\n markFetching(false);\n return json;\n } catch (e) {\n const env = getEnv(self);\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n if (env.isCancel(e)) {\n return;\n }\n\n markFetching(false);\n e.stack && console.error(e.stack);\n let message = e.message || e;\n if (e && e.message === 'Network Error') {\n message = self.__('networkError');\n }\n env.notify('error', message);\n return;\n }\n });\n\n const fetchWSData = (ws: string, afterDataFetch: (data: any) => any) => {\n const env = getEnv(self);\n\n env.wsFetcher(\n ws,\n (data: any) => {\n self.updateData(data, undefined, false);\n setHasRemoteData();\n // 因为 WebSocket 只会获取纯数据,所以没有 msg 之类的\n afterDataFetch({ok: true, data: data});\n },\n (error: any) => {\n updateMessage(error, true);\n env.notify('error', error);\n }\n );\n };\n\n const setHasRemoteData = () => {\n self.hasRemoteData = true;\n };\n\n const fetchData: (\n api: Api,\n data?: object,\n options?: fetchOptions\n ) => Promise<any> = flow(function* getInitData(\n api: Api,\n data: object,\n options?: fetchOptions\n ) {\n try {\n if (fetchCancel) {\n fetchCancel();\n fetchCancel = null;\n self.fetching = false;\n }\n\n if (self.fetching) {\n return;\n }\n\n (options && options.silent) || markFetching(true);\n const json: Payload = yield getEnv(self).fetcher(api, data, {\n ...options,\n cancelExecutor: (executor: Function) => (fetchCancel = executor)\n });\n fetchCancel = null;\n\n if (!isEmpty(json.data) || json.ok) {\n self.updatedAt = Date.now();\n\n json.data &&\n self.updateData(\n json.data,\n undefined,\n !!(api as ApiObject).replaceData\n );\n\n self.hasRemoteData = true;\n }\n\n if (!json.ok) {\n updateMessage(json.msg ?? (options && options.errorMessage), true);\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 } else {\n if (options && options.onSuccess) {\n const ret = options.onSuccess(json);\n\n if (ret && ret.then) {\n yield ret;\n }\n }\n\n updateMessage(json.msg ?? (options && options.successMessage));\n\n // 配置了获取成功提示后提示,默认是空不会提示。\n options &&\n options.successMessage &&\n getEnv(self).notify('success', self.msg);\n }\n\n markFetching(false);\n return json;\n } catch (e) {\n const env = getEnv(self);\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n if (env.isCancel(e)) {\n return;\n }\n\n markFetching(false);\n e.stack && console.error(e.stack);\n let message = e.message || e;\n if (e && e.message === 'Network Error') {\n message = self.__('networkError');\n }\n env.notify('error', message);\n return;\n }\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 if (self.saving) {\n return;\n }\n markSaving(true);\n\n const json: Payload = yield getEnv(self).fetcher(api, data, options);\n\n if (!isEmpty(json.data) || json.ok) {\n self.updatedAt = Date.now();\n\n json.data &&\n self.updateData(\n json.data,\n undefined,\n !!(api as ApiObject).replaceData\n );\n }\n\n if (!json.ok) {\n if (options && options.onFailed) {\n const ret = options.onFailed(json);\n\n if (ret && ret.then) {\n yield ret;\n }\n }\n\n updateMessage(\n json.msg ??\n (options && options.errorMessage) ??\n self.__('saveFailed'),\n true\n );\n throw new ServerError(self.msg, json);\n } else {\n if (options && options.onSuccess) {\n const ret = options.onSuccess(json);\n\n if (ret && ret.then) {\n yield ret;\n }\n }\n\n updateMessage(json.msg ?? (options && 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\n markSaving(false);\n return json.data;\n } catch (e) {\n self.saving = false;\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n // console.log(e.stack);\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 const fetchSchema: (\n api: Api,\n data?: object,\n options?: fetchOptions\n ) => Promise<any> = flow(function* fetchSchema(\n api: Api,\n data: object,\n options: fetchOptions = {}\n ) {\n try {\n options = {\n method: 'post', // 默认走 post\n ...options,\n cancelExecutor: (executor: Function) => (fetchSchemaCancel = executor)\n };\n\n if (fetchSchemaCancel) {\n fetchSchemaCancel();\n fetchSchemaCancel = null;\n self.initializing = false;\n }\n\n if (self.initializing) {\n return;\n }\n\n self.initializing = true;\n\n if (typeof api === 'string') {\n api += (~api.indexOf('?') ? '&' : '?') + '_replace=1';\n } else {\n api = {\n ...(api as any),\n url:\n (api as ApiObject).url +\n (~(api as ApiObject).url.indexOf('?') ? '&' : '?') +\n '_replace=1'\n };\n }\n\n const json: Payload = yield getEnv(self).fetcher(api, data, options);\n fetchSchemaCancel = null;\n\n if (!json.ok) {\n updateMessage(\n json.msg ??\n (options && options.errorMessage) ??\n self.__('fetchFailed'),\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 } else {\n if (json.data) {\n self.schema = Array.isArray(json.data)\n ? json.data\n : {\n type: 'wrapper',\n wrap: false,\n ...json.data\n };\n self.schemaKey = '' + Date.now();\n isObject(json.data.data) &&\n self.updateData(\n json.data.data,\n undefined,\n !!(api as ApiObject).replaceData\n );\n }\n\n updateMessage(json.msg ?? (options && options.successMessage));\n\n // 配置了获取成功提示后提示,默认是空不会提示。\n options &&\n options.successMessage &&\n getEnv(self).notify('success', self.msg);\n }\n\n self.initializing = false;\n return json.data;\n } catch (e) {\n const env = getEnv(self);\n\n self.initializing = false;\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n if (env.isCancel(e)) {\n return;\n }\n\n e.stack && console.error(e.stack);\n let message = e.message || e;\n if (e && e.message === 'Network Error') {\n message = self.__('networkError');\n }\n env.notify('error', message);\n }\n });\n\n const checkRemote: (\n api: Api,\n data?: object,\n options?: fetchOptions\n ) => Promise<any> = flow(function* checkRemote(\n api: Api,\n data: object,\n options?: fetchOptions\n ) {\n if (self.checking) {\n return;\n }\n\n try {\n self.checking = true;\n const json: Payload = yield getEnv(self).fetcher(api, data, options);\n json.ok &&\n self.updateData(\n json.data,\n undefined,\n !!(api as ApiObject).replaceData\n );\n\n if (!json.ok) {\n throw new Error(json.msg);\n }\n\n return json.data;\n } finally {\n self.checking = false;\n }\n });\n\n return {\n markFetching,\n markSaving,\n markBusying,\n fetchInitData,\n fetchData,\n fetchWSData,\n reInitData,\n updateMessage,\n clearMessage,\n setHasRemoteData,\n saveRemote,\n fetchSchema,\n checkRemote\n };\n });\n\nexport type IServiceStore = Instance<typeof ServiceStore>;\n"
|
11
|
+
"import {types, flow, getEnv, isAlive, Instance} from 'mobx-state-tree';\nimport {iRendererStore} from './iRenderer';\nimport {Api, ApiObject, Payload, fetchOptions} from '../types';\nimport {extendObject, isEmpty, isObject} from '../utils/helper';\nimport {ServerError} from '../utils/errors';\n\nexport const ServiceStore = iRendererStore\n .named('ServiceStore')\n .props({\n msg: '',\n error: false,\n fetching: false,\n saving: false,\n busying: false,\n checking: false,\n initializing: false,\n schema: types.optional(types.frozen(), null),\n schemaKey: ''\n })\n .views(self => ({\n get loading() {\n return self.fetching || self.saving || self.busying || self.initializing;\n }\n }))\n .actions(self => {\n let fetchCancel: Function | null;\n let fetchSchemaCancel: Function | null;\n\n function markFetching(fetching = true) {\n self.fetching = fetching;\n }\n\n function markSaving(saving = true) {\n self.saving = saving;\n }\n\n function markBusying(busying = true) {\n self.busying = busying;\n }\n\n function reInitData(data: object | undefined, replace: boolean = false) {\n const newData = extendObject(self.pristine, data, !replace);\n self.data = self.pristine = newData;\n }\n\n function updateMessage(msg?: string, error: boolean = false) {\n self.msg = (msg && String(msg)) || '';\n self.error = error;\n }\n\n function clearMessage() {\n updateMessage('');\n }\n\n const fetchInitData: (\n api: Api,\n data?: object,\n options?: fetchOptions\n ) => Promise<any> = flow(function* getInitData(\n api: Api,\n data: object,\n options?: fetchOptions\n ) {\n try {\n if (fetchCancel) {\n fetchCancel();\n fetchCancel = null;\n self.fetching = false;\n }\n\n if (self.fetching) {\n return;\n }\n\n (options && options.silent) || markFetching(true);\n const json: Payload = yield getEnv(self).fetcher(api, data, {\n ...options,\n cancelExecutor: (executor: Function) => (fetchCancel = executor)\n });\n fetchCancel = null;\n\n if (!json.ok) {\n updateMessage(json.msg ?? (options && options.errorMessage), true);\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 self.updatedAt = Date.now();\n let replace = !!(api as ApiObject).replaceData;\n let data = {\n ...(replace ? {} : self.data),\n ...json.data\n };\n reInitData(data, replace);\n self.hasRemoteData = true;\n if (options && options.onSuccess) {\n const ret = options.onSuccess(json);\n\n if (ret && ret.then) {\n yield ret;\n }\n }\n\n updateMessage(json.msg ?? (options && options.successMessage));\n\n // 配置了获取成功提示后提示,默认是空不会提示。\n options &&\n options.successMessage &&\n getEnv(self).notify('success', self.msg);\n }\n\n markFetching(false);\n return json;\n } catch (e) {\n const env = getEnv(self);\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n if (env.isCancel(e)) {\n return;\n }\n\n markFetching(false);\n e.stack && console.error(e.stack);\n let message = e.message || e;\n if (e && e.message === 'Network Error') {\n message = self.__('networkError');\n }\n env.notify('error', message);\n return;\n }\n });\n\n const setHasRemoteData = () => {\n self.hasRemoteData = true;\n };\n\n const fetchData: (\n api: Api,\n data?: object,\n options?: fetchOptions\n ) => Promise<any> = flow(function* getInitData(\n api: Api,\n data: object,\n options?: fetchOptions\n ) {\n try {\n if (fetchCancel) {\n fetchCancel();\n fetchCancel = null;\n self.fetching = false;\n }\n\n if (self.fetching) {\n return;\n }\n\n (options && options.silent) || markFetching(true);\n const json: Payload = yield getEnv(self).fetcher(api, data, {\n ...options,\n cancelExecutor: (executor: Function) => (fetchCancel = executor)\n });\n fetchCancel = null;\n\n if (!isEmpty(json.data) || json.ok) {\n self.updatedAt = Date.now();\n\n json.data &&\n self.updateData(\n json.data,\n undefined,\n !!(api as ApiObject).replaceData\n );\n\n self.hasRemoteData = true;\n }\n\n if (!json.ok) {\n updateMessage(json.msg ?? (options && options.errorMessage), true);\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 } else {\n if (options && options.onSuccess) {\n const ret = options.onSuccess(json);\n\n if (ret && ret.then) {\n yield ret;\n }\n }\n\n updateMessage(json.msg ?? (options && options.successMessage));\n\n // 配置了获取成功提示后提示,默认是空不会提示。\n options &&\n options.successMessage &&\n getEnv(self).notify('success', self.msg);\n }\n\n markFetching(false);\n return json;\n } catch (e) {\n const env = getEnv(self);\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n if (env.isCancel(e)) {\n return;\n }\n\n markFetching(false);\n e.stack && console.error(e.stack);\n let message = e.message || e;\n if (e && e.message === 'Network Error') {\n message = self.__('networkError');\n }\n env.notify('error', message);\n return;\n }\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 if (self.saving) {\n return;\n }\n markSaving(true);\n\n const json: Payload = yield getEnv(self).fetcher(api, data, options);\n\n if (!isEmpty(json.data) || json.ok) {\n self.updatedAt = Date.now();\n\n json.data &&\n self.updateData(\n json.data,\n undefined,\n !!(api as ApiObject).replaceData\n );\n }\n\n if (!json.ok) {\n if (options && options.onFailed) {\n const ret = options.onFailed(json);\n\n if (ret && ret.then) {\n yield ret;\n }\n }\n\n updateMessage(\n json.msg ??\n (options && options.errorMessage) ??\n self.__('saveFailed'),\n true\n );\n throw new ServerError(self.msg, json);\n } else {\n if (options && options.onSuccess) {\n const ret = options.onSuccess(json);\n\n if (ret && ret.then) {\n yield ret;\n }\n }\n\n updateMessage(json.msg ?? (options && 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\n markSaving(false);\n return json.data;\n } catch (e) {\n self.saving = false;\n\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n // console.log(e.stack);\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 const fetchSchema: (\n api: Api,\n data?: object,\n options?: fetchOptions\n ) => Promise<any> = flow(function* fetchSchema(\n api: Api,\n data: object,\n options: fetchOptions = {}\n ) {\n try {\n options = {\n method: 'post', // 默认走 post\n ...options,\n cancelExecutor: (executor: Function) => (fetchSchemaCancel = executor)\n };\n\n if (fetchSchemaCancel) {\n fetchSchemaCancel();\n fetchSchemaCancel = null;\n self.initializing = false;\n }\n\n if (self.initializing) {\n return;\n }\n\n self.initializing = true;\n\n if (typeof api === 'string') {\n api += (~api.indexOf('?') ? '&' : '?') + '_replace=1';\n } else {\n api = {\n ...(api as any),\n url:\n (api as ApiObject).url +\n (~(api as ApiObject).url.indexOf('?') ? '&' : '?') +\n '_replace=1'\n };\n }\n\n const json: Payload = yield getEnv(self).fetcher(api, data, options);\n fetchSchemaCancel = null;\n\n if (!json.ok) {\n updateMessage(\n json.msg ??\n (options && options.errorMessage) ??\n self.__('fetchFailed'),\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 } else {\n if (json.data) {\n self.schema = Array.isArray(json.data)\n ? json.data\n : {\n type: 'wrapper',\n wrap: false,\n ...json.data\n };\n self.schemaKey = '' + Date.now();\n isObject(json.data.data) &&\n self.updateData(\n json.data.data,\n undefined,\n !!(api as ApiObject).replaceData\n );\n }\n\n updateMessage(json.msg ?? (options && options.successMessage));\n\n // 配置了获取成功提示后提示,默认是空不会提示。\n options &&\n options.successMessage &&\n getEnv(self).notify('success', self.msg);\n }\n\n self.initializing = false;\n return json.data;\n } catch (e) {\n const env = getEnv(self);\n\n self.initializing = false;\n if (!isAlive(self) || self.disposed) {\n return;\n }\n\n if (env.isCancel(e)) {\n return;\n }\n\n e.stack && console.error(e.stack);\n let message = e.message || e;\n if (e && e.message === 'Network Error') {\n message = self.__('networkError');\n }\n env.notify('error', message);\n }\n });\n\n const checkRemote: (\n api: Api,\n data?: object,\n options?: fetchOptions\n ) => Promise<any> = flow(function* checkRemote(\n api: Api,\n data: object,\n options?: fetchOptions\n ) {\n if (self.checking) {\n return;\n }\n\n try {\n self.checking = true;\n const json: Payload = yield getEnv(self).fetcher(api, data, options);\n json.ok &&\n self.updateData(\n json.data,\n undefined,\n !!(api as ApiObject).replaceData\n );\n\n if (!json.ok) {\n throw new Error(json.msg);\n }\n\n return json.data;\n } finally {\n self.checking = false;\n }\n });\n\n return {\n markFetching,\n markSaving,\n markBusying,\n fetchInitData,\n fetchData,\n reInitData,\n updateMessage,\n clearMessage,\n setHasRemoteData,\n saveRemote,\n fetchSchema,\n checkRemote\n };\n });\n\nexport type IServiceStore = Instance<typeof ServiceStore>;\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/store/table.d.ts
CHANGED
@@ -291,7 +291,6 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
|
|
291
291
|
markBusying: (busying?: boolean) => void;
|
292
292
|
fetchInitData: (api: import("../types").Api, data?: object | undefined, options?: import("../types").fetchOptions | undefined) => Promise<any>;
|
293
293
|
fetchData: (api: import("../types").Api, data?: object | undefined, options?: import("../types").fetchOptions | undefined) => Promise<any>;
|
294
|
-
fetchWSData: (ws: string, afterDataFetch: (data: any) => any) => void;
|
295
294
|
reInitData: (data: object | undefined, replace?: boolean) => void;
|
296
295
|
updateMessage: (msg?: string | undefined, error?: boolean) => void;
|
297
296
|
clearMessage: () => void;
|
@@ -3568,7 +3567,6 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
|
|
3568
3567
|
markBusying: (busying?: boolean) => void;
|
3569
3568
|
fetchInitData: (api: import("../types").Api, data?: object | undefined, options?: import("../types").fetchOptions | undefined) => Promise<any>;
|
3570
3569
|
fetchData: (api: import("../types").Api, data?: object | undefined, options?: import("../types").fetchOptions | undefined) => Promise<any>;
|
3571
|
-
fetchWSData: (ws: string, afterDataFetch: (data: any) => any) => void;
|
3572
3570
|
reInitData: (data: object | undefined, replace?: boolean) => void;
|
3573
3571
|
updateMessage: (msg?: string | undefined, error?: boolean) => void;
|
3574
3572
|
clearMessage: () => void;
|
@@ -7646,6 +7644,7 @@ export declare const TableStore: import("mobx-state-tree").IModelType<{
|
|
7646
7644
|
updateSelected: (selected: Array<any>, valueField?: string | undefined) => void;
|
7647
7645
|
toggleAll: () => void;
|
7648
7646
|
toggle: (row: IRow) => void;
|
7647
|
+
toggleShift: (row: IRow) => void;
|
7649
7648
|
toggleExpandAll: () => void;
|
7650
7649
|
toggleExpanded: (row: IRow) => void;
|
7651
7650
|
collapseAllAtDepth: (depth: number) => void;
|
package/lib/store/table.js
CHANGED
@@ -728,10 +728,13 @@ exports.TableStore = iRenderer_1.iRendererStore
|
|
728
728
|
}
|
729
729
|
}
|
730
730
|
}
|
731
|
+
// 记录最近一次点击的多选框,主要用于 shift 多选时判断上一个选的是什么
|
732
|
+
var lastCheckedRow = null;
|
731
733
|
function toggle(row) {
|
732
734
|
if (!row.checkable) {
|
733
735
|
return;
|
734
736
|
}
|
737
|
+
lastCheckedRow = row;
|
735
738
|
var idx = self.selectedRows.indexOf(row);
|
736
739
|
if (self.multiple) {
|
737
740
|
~idx ? self.selectedRows.splice(idx, 1) : self.selectedRows.push(row);
|
@@ -742,6 +745,43 @@ exports.TableStore = iRenderer_1.iRendererStore
|
|
742
745
|
: self.selectedRows.replace([row]);
|
743
746
|
}
|
744
747
|
}
|
748
|
+
// 按住 shift 的时候点击选项
|
749
|
+
function toggleShift(row) {
|
750
|
+
// 如果是同一个或非 multiple 模式下就和不用 shift 一样
|
751
|
+
if (!lastCheckedRow || row === lastCheckedRow || !self.multiple) {
|
752
|
+
toggle(row);
|
753
|
+
return;
|
754
|
+
}
|
755
|
+
var maxLength = self.maxKeepItemSelectionLength;
|
756
|
+
var checkableRows = self.checkableRows;
|
757
|
+
var lastCheckedRowIndex = checkableRows.findIndex(function (row) { return row === lastCheckedRow; });
|
758
|
+
var rowIndex = checkableRows.findIndex(function (rowItem) { return row === rowItem; });
|
759
|
+
var minIndex = lastCheckedRowIndex > rowIndex ? rowIndex : lastCheckedRowIndex;
|
760
|
+
var maxIndex = lastCheckedRowIndex > rowIndex ? lastCheckedRowIndex : rowIndex;
|
761
|
+
var rows = checkableRows.slice(minIndex, maxIndex);
|
762
|
+
rows.push(row); // 将当前行也加入进行判断
|
763
|
+
for (var _i = 0, rows_1 = rows; _i < rows_1.length; _i++) {
|
764
|
+
var rowItem = rows_1[_i];
|
765
|
+
var idx = self.selectedRows.indexOf(rowItem);
|
766
|
+
if (idx === -1) {
|
767
|
+
// 如果上一个是选中状态,则将之间的所有 check 都变成可选
|
768
|
+
if (lastCheckedRow.checked) {
|
769
|
+
if (maxLength && self.selectedRows.length < maxLength) {
|
770
|
+
self.selectedRows.push(rowItem);
|
771
|
+
}
|
772
|
+
else {
|
773
|
+
self.selectedRows.push(rowItem);
|
774
|
+
}
|
775
|
+
}
|
776
|
+
}
|
777
|
+
else {
|
778
|
+
if (!lastCheckedRow.checked) {
|
779
|
+
self.selectedRows.splice(idx, 1);
|
780
|
+
}
|
781
|
+
}
|
782
|
+
}
|
783
|
+
lastCheckedRow = row;
|
784
|
+
}
|
745
785
|
function updateCheckDisable() {
|
746
786
|
if (!self.data) {
|
747
787
|
return;
|
@@ -799,9 +839,9 @@ exports.TableStore = iRenderer_1.iRendererStore
|
|
799
839
|
var rows = self.rows.concat();
|
800
840
|
(0, helper_1.eachTree)(rows, function (item) {
|
801
841
|
if (item.children) {
|
802
|
-
var
|
803
|
-
|
804
|
-
item.children.replace(
|
842
|
+
var rows_2 = item.children.concat().sort(function (a, b) { return a.index - b.index; });
|
843
|
+
rows_2.forEach(function (item) { return item.reset(); });
|
844
|
+
item.children.replace(rows_2);
|
805
845
|
}
|
806
846
|
});
|
807
847
|
rows.forEach(function (item) { return item.reset(); });
|
@@ -853,6 +893,7 @@ exports.TableStore = iRenderer_1.iRendererStore
|
|
853
893
|
updateSelected: updateSelected,
|
854
894
|
toggleAll: toggleAll,
|
855
895
|
toggle: toggle,
|
896
|
+
toggleShift: toggleShift,
|
856
897
|
toggleExpandAll: toggleExpandAll,
|
857
898
|
toggleExpanded: toggleExpanded,
|
858
899
|
collapseAllAtDepth: collapseAllAtDepth,
|