UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

243 lines (242 loc) 11.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.iRendererStore = void 0; var tslib_1 = require("tslib"); var mobx_state_tree_1 = require("mobx-state-tree"); var helper_1 = require("../utils/helper"); var tpl_builtin_1 = require("../utils/tpl-builtin"); var SimpleMap_1 = require("../utils/SimpleMap"); var node_1 = require("./node"); var index_1 = require("../renderers/Lion/Table/LionTable/components/LionExport/index"); var LoginAmazon_1 = require("../renderers/Lion/components/Actions/LoginAmazon"); exports.iRendererStore = node_1.StoreNode.named('iRendererStore') .props({ hasRemoteData: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.boolean, false), data: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), {}), initedAt: 0, updatedAt: 0, pristine: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), {}), action: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), undefined), dialogOpen: false, dialogData: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), undefined), drawerOpen: false, drawerHidden: false, drawerData: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), undefined), updateType: '', // Jay hiddenIputTable: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), {}), inputTableData: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), {}), disabledFormItem: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), {}), autoFillObj: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), {}), replace: mobx_state_tree_1.types.optional(mobx_state_tree_1.types.frozen(), {}), // 保存当前表单项的上下对象 }) .views(function (self) { return ({ getValueByName: function (name, canAccessSuper) { if (canAccessSuper === void 0) { canAccessSuper = true; } return (0, helper_1.getVariable)(self.data, name, canAccessSuper); }, getPristineValueByName: function (name) { return (0, helper_1.getVariable)(self.pristine, name, false); } }); }) .actions(function (self) { var dialogCallbacks = new SimpleMap_1.SimpleMap(); return { initData: function (data, skipSetPristine) { if (data === void 0) { data = {}; } if (skipSetPristine === void 0) { skipSetPristine = false; } self.initedAt = Date.now(); !skipSetPristine && (self.pristine = data); self.data = data; }, reset: function () { self.data = self.pristine; }, updateData: function (data, tag, replace) { if (data === void 0) { data = {}; } var prev = self.data; var newData; if (tag) { var proto = (0, helper_1.createObject)(self.data.__super || null, tag); newData = (0, helper_1.createObject)(proto, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, (replace ? {} : self.data)), data)); } else { newData = (0, helper_1.extendObject)(self.data, data, !replace); } Object.defineProperty(newData, '__prev', { value: (0, tslib_1.__assign)({}, prev), enumerable: false, configurable: false, writable: false }); self.data = newData; }, // Jay // input-table组件增删改时的处理函数 // name是input-table的name属性值,即作为表单项的name changeInputTableValue: function (value, name) { var _a; self.inputTableData = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, self.inputTableData), (_a = {}, _a[name] = value, _a)); }, updateHiddenInputTable: function (value) { self.hiddenIputTable = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, self.hiddenIputTable), value); }, // Jay // 禁用某些表单选项,例如checkboxex,radio abandonFormItem: function (value, name) { var _a; self.disabledFormItem = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, self.disabledFormItem), (_a = {}, _a[name] = value, _a)); }, // Jay // 保存所有表单项中的autoFill对象 setAutoFillObj: function (obj) { self.autoFillObj = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, self.autoFillObj), obj); }, setUpdateType: function (type) { if (type === void 0) { type = ''; } self.updateType = type; }, changeValue: function (name, value, changePristine, force, otherModifier) { if (!name) { return; } var origin = (0, helper_1.getVariable)(self.data, name, false); if (value === origin && !force) { return; } var prev = self.data; var data = (0, helper_1.cloneObject)(self.data); if (prev.__prev) { // 基于之前的 __prev 改 var prevData = (0, helper_1.cloneObject)(prev.__prev); (0, helper_1.setVariable)(prevData, name, origin); Object.defineProperty(data, '__prev', { value: prevData, enumerable: false, configurable: false, writable: false }); } else { Object.defineProperty(data, '__prev', { value: (0, tslib_1.__assign)({}, prev), enumerable: false, configurable: false, writable: false }); } if (value === undefined) { (0, helper_1.deleteVariable)(data, name); } else { (0, helper_1.setVariable)(data, name, value); } otherModifier === null || otherModifier === void 0 ? void 0 : otherModifier(data); if (changePristine) { var pristine = (0, helper_1.cloneObject)(self.pristine); (0, helper_1.setVariable)(pristine, name, value); otherModifier === null || otherModifier === void 0 ? void 0 : otherModifier(pristine); self.pristine = pristine; } if (!data.__pristine) { Object.defineProperty(data, '__pristine', { value: self.pristine, enumerable: false, configurable: false, writable: false }); } self.data = data; }, setCurrentAction: function (action) { self.action = action; }, openDialog: function (ctx, additonal, callback) { var proto = ctx.__super ? ctx.__super : self.data; if (additonal) { proto = (0, helper_1.createObject)(proto, additonal); } var data = (0, helper_1.createObject)(proto, (0, tslib_1.__assign)({}, ctx)); if (self.action.dialog && self.action.dialog.data) { self.dialogData = (0, tpl_builtin_1.dataMapping)(self.action.dialog.data, data); var clonedAction = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, self.action), { dialog: (0, tslib_1.__assign)({}, self.action.dialog) }); delete clonedAction.dialog.data; self.action = clonedAction; } else { self.dialogData = data; } self.dialogOpen = true; callback && dialogCallbacks.set(self.dialogData, callback); }, closeDialog: function (result) { var callback = dialogCallbacks.get(self.dialogData); self.dialogOpen = false; if (callback) { dialogCallbacks.delete(self.dialogData); setTimeout(function () { return callback(result); }, 200); } }, openDrawer: function (ctx, additonal, callback) { if (self.drawerOpen) { self.drawerHidden = false; return; } var proto = ctx.__super ? ctx.__super : self.data; if (additonal) { proto = (0, helper_1.createObject)(proto, additonal); } var data = (0, helper_1.createObject)(proto, (0, tslib_1.__assign)({}, ctx)); if (self.action.drawer.data) { self.drawerData = (0, tpl_builtin_1.dataMapping)(self.action.drawer.data, data); var clonedAction = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, self.action), { dialog: (0, tslib_1.__assign)({}, self.action.dialog) }); delete clonedAction.dialog.data; self.action = clonedAction; } else { self.drawerData = data; } self.drawerOpen = true; if (callback) { dialogCallbacks.set(self.drawerData, callback); } }, closeDrawer: function (result, saveStateOnClose) { if (saveStateOnClose) { self.drawerHidden = true; return; } var callback = dialogCallbacks.get(self.drawerData); self.drawerOpen = false; if (callback) { dialogCallbacks.delete(self.drawerData); setTimeout(function () { return callback(result); }, 200); } }, openLionExport: function (ctx, env, normalSelectAll, callback) { env.fetcher(self.action.api, (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, ctx), self.data), self.data.__super)).then(function (res) { if (res.status === 0 && res.data !== null) { var data = res.data; if (data.exportType === 2) { (0, index_1.rowExport)(self.action, (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, ctx), self.data.__super), data), { ids: ctx.tempIds }), env).then(function (res2) { return callback && callback(res2); }); } else { var obj = (0, helper_1.createObject)(self.data, ctx); (0, index_1.LionExport)(self.action, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, ctx), data), obj, env, normalSelectAll); } } else { env.alert(res.msg); } }); }, openAmazonLoginPage: function (ctx, env) { (0, LoginAmazon_1.LionLoginAmazon)(self.action, ctx, env); }, replaceDialog: function (data) { self.replace = data; } }; }); // export type SIRendererStore = typeof iRendererStore.SnapshotType; //# sourceMappingURL=./store/iRenderer.js.map