fastlion-amis
Version:
一种MIS页面生成工具
80 lines (79 loc) • 3.73 kB
JavaScript
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
;