UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

80 lines (79 loc) 3.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LionTableStore = void 0; var tslib_1 = require("tslib"); var mobx_state_tree_1 = require("mobx-state-tree"); var service_1 = require("./service"); var helper_1 = require("../utils/helper"); var api_1 = require("../utils/api"); var ServerError = /** @class */ (function (_super) { (0, tslib_1.__extends)(ServerError, _super); function ServerError() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.type = 'ServerError'; return _this; } return ServerError; }(Error)); exports.LionTableStore = service_1.ServiceStore.named('LionTableStore') .props({}) .views(function (self) { return ({}); }) .actions(function (self) { var lionSaveRemote = (0, mobx_state_tree_1.flow)(function lionSaveRemote(api, data, options) { var json, e_1; var _a, _b, _c; if (options === void 0) { options = {}; } return (0, tslib_1.__generator)(this, function (_d) { switch (_d.label) { case 0: _d.trys.push([0, 2, , 3]); options = (0, tslib_1.__assign)({ method: 'post' }, options); self.markSaving(true); return [4 /*yield*/, (0, mobx_state_tree_1.getEnv)(self).fetcher(api, data, options)]; case 1: json = _d.sent(); self.markSaving(false); if (!(0, helper_1.isEmpty)(json.data) || json.ok) { self.updateData((0, api_1.normalizeApiResponseData)(json.data), { __saved: Date.now() }, !!api && api.replaceData); self.updatedAt = Date.now(); } if (!json.ok) { self.updateMessage((_b = (_a = json.msg) !== null && _a !== void 0 ? _a : options.errorMessage) !== null && _b !== void 0 ? _b : self.__('saveFailed'), true); (0, mobx_state_tree_1.getEnv)(self).notify('error', self.msg, json.msgTimeout !== undefined ? { closeButton: true, timeout: json.msgTimeout } : undefined); throw new ServerError(self.msg); } else { self.updateMessage((_c = json.msg) !== null && _c !== void 0 ? _c : options.successMessage); self.msg && (0, mobx_state_tree_1.getEnv)(self).notify('success', self.msg, json.msgTimeout !== undefined ? { closeButton: true, timeout: json.msgTimeout } : undefined); } return [2 /*return*/, json.data]; case 2: e_1 = _d.sent(); self.markSaving(false); if (!(0, mobx_state_tree_1.isAlive)(self) || self.disposed) { return [2 /*return*/]; } e_1.type !== 'ServerError' && (0, mobx_state_tree_1.getEnv)(self).notify('error', e_1.message); throw e_1; case 3: return [2 /*return*/]; } }); }); return { lionSaveRemote: lionSaveRemote }; }); //# sourceMappingURL=./store/liontable.js.map