UNPKG

react-application-core

Version:

A react-based application core for the business applications.

90 lines 4.17 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __spreadArrays = (this && this.__spreadArrays) || function () { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.EditedListMiddlewareFactories = void 0; var redux_effects_promise_1 = require("redux-effects-promise"); var action_builder_1 = require("../../component/action.builder"); var util_1 = require("../../util"); var chained_middleware_1 = require("./chained.middleware"); var default_form_changes_middleware_1 = require("./default-form-changes.middleware"); /** * @stable [20.01.2021] * @param cfg */ var asChainedConfigEntity = function (cfg) { return util_1.FilterUtils.defValuesFilter({ action: cfg.action, nextSection: util_1.SectionUtils.asFormSection(cfg), path: cfg.path, state: cfg.state, }); }; /** * @middleware * @stable [20.01.2021] * * @param config */ var makeCreateEntityMiddleware = function (config) { return util_1.ConditionUtils.ifNotEmptyThanValue(util_1.FilterUtils.notNilValuesArrayFilter.apply(util_1.FilterUtils, __spreadArrays(chained_middleware_1.ChainedMiddlewareFactories.chainedMiddleware(asChainedConfigEntity(config)) || [], [default_form_changes_middleware_1.DefaultFormChangesMiddlewareFactories.defaultFormChangesMiddleware(config)])), function (actions) { return actions; }); }; /** * @middleware * @stable [20.01.2021] * * @param cfg */ var makeSelectEntityMiddleware = function (cfg) { var action = cfg.action; var payload = util_1.Selectors.selectedEntityFromAction(action); return cfg.lazyLoading ? [ action_builder_1.ListActionBuilder.buildLazyLoadAction(util_1.SectionUtils.asListSection(cfg), util_1.FilterUtils.defValuesFilter({ preventEffects: util_1.Selectors.preventEffectsFromAction(action), previousAction: util_1.Selectors.previousActionFromAction(action), selected: payload, })) ] : chained_middleware_1.ChainedMiddlewareFactories.chainedMiddleware(__assign(__assign({}, asChainedConfigEntity(cfg)), { payload: payload })); }; /** * @middleware * @stable [20.01.2021] * * @param config */ var makeLazyLoadedEntityMiddleware = function (config) { return util_1.ConditionUtils.ifNotEmptyThanValue(util_1.FilterUtils.notNilValuesArrayFilter.apply(util_1.FilterUtils, __spreadArrays(util_1.ConditionUtils.ifNotNilThanValue(util_1.Selectors.previousActionTypeFromAction(config.action), function (previousActionType) { return [ redux_effects_promise_1.EffectsAction.create(redux_effects_promise_1.EffectsActionBuilder.buildDoneActionType(previousActionType)) ]; }, []), chained_middleware_1.ChainedMiddlewareFactories.chainedMiddleware(__assign(__assign({}, asChainedConfigEntity(config)), { payload: config.action.data })) || [])), function (actions) { return actions; }); }; /** * @stable [20.01.2021] */ var EditedListMiddlewareFactories = /** @class */ (function () { function EditedListMiddlewareFactories() { } EditedListMiddlewareFactories.createEntityMiddleware = makeCreateEntityMiddleware; EditedListMiddlewareFactories.lazyLoadedEntityMiddleware = makeLazyLoadedEntityMiddleware; EditedListMiddlewareFactories.selectEntityMiddleware = makeSelectEntityMiddleware; return EditedListMiddlewareFactories; }()); exports.EditedListMiddlewareFactories = EditedListMiddlewareFactories; //# sourceMappingURL=edited-list.middleware.js.map