UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

69 lines (68 loc) 2.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AjaxAction = void 0; var tslib_1 = require("tslib"); var helper_1 = require("../utils/helper"); var tpl_1 = require("../utils/tpl"); var Action_1 = require("./Action"); /** * 发送请求动作 * * @export * @class AjaxAction * @implements {Action} */ var AjaxAction = /** @class */ (function () { function AjaxAction() { } AjaxAction.prototype.run = function (action, renderer, event) { return (0, tslib_1.__awaiter)(this, void 0, void 0, function () { var store; var _this = this; return (0, tslib_1.__generator)(this, function (_a) { store = renderer.props.store; store.setCurrentAction(action); store .saveRemote(action.api, action.args, { successMessage: action.messages && action.messages.success, errorMessage: action.messages && action.messages.failed }) .then(function () { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () { var redirect; return (0, tslib_1.__generator)(this, function (_a) { switch (_a.label) { case 0: if (!(action.feedback && (0, helper_1.isVisible)(action.feedback, store.data))) return [3 /*break*/, 2]; return [4 /*yield*/, this.openFeedback(action.feedback, store)]; case 1: _a.sent(); _a.label = 2; case 2: redirect = action.redirect && (0, tpl_1.filter)(action.redirect, store.data); redirect && renderer.env.jumpTo(redirect, action); return [2 /*return*/]; } }); }); }) .catch(function () { }); return [2 /*return*/]; }); }); }; AjaxAction.prototype.openFeedback = function (dialog, store) { return new Promise(function (resolve) { store.setCurrentAction({ type: 'button', actionType: 'dialog', dialog: dialog }); store.openDialog(store.data, undefined, function (confirmed) { resolve(confirmed); }); }); }; return AjaxAction; }()); exports.AjaxAction = AjaxAction; (0, Action_1.registerAction)('ajax', new AjaxAction()); //# sourceMappingURL=./actions/AjaxAction.js.map