react-application-core
Version:
A react-based application core for the business applications.
73 lines • 2.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ActionUtils = void 0;
var redux_effects_promise_1 = require("redux-effects-promise");
/**
* @stable [16.12.2020]
* @param config
*/
var makeEntityActionBuilderFactory = function (config) {
return Reflect.construct(/** @class */ (function () {
function class_1() {
}
/**
* @stable [16.12.2020]
* @param replaced
*/
class_1.prototype.buildReplaceAction = function (replaced) {
var payloadWrapper = { replaced: replaced };
return redux_effects_promise_1.EffectsAction.create(config.replace, payloadWrapper);
};
/**
* @stable [16.12.2020]
*/
class_1.prototype.buildDestroyAction = function () {
var plainAction = this.buildDestroyPlainAction();
return redux_effects_promise_1.EffectsAction.create(plainAction.type);
};
/**
* @stable [16.12.2020]
* @param updated
*/
class_1.prototype.buildUpdateAction = function (updated) {
var payloadWrapper = { updated: updated };
return redux_effects_promise_1.EffectsAction.create(config.update, payloadWrapper);
};
/**
* @stable [16.12.2020]
* @param selected
*/
class_1.prototype.buildSelectAction = function (selected) {
var plainAction = this.buildSelectPlainAction(selected);
return redux_effects_promise_1.EffectsAction.create(plainAction.type, plainAction.data);
};
/**
* @stable [16.12.2020]
* @param selected
*/
class_1.prototype.buildSelectPlainAction = function (selected) {
var payloadWrapper = { selected: selected };
return { type: config.select, data: payloadWrapper };
};
/**
* @stable [16.12.2020]
*/
class_1.prototype.buildDestroyPlainAction = function () {
return { type: config.destroy };
};
return class_1;
}()), []);
};
/**
* @stable [16.12.2020]
*/
// tslint:disable:max-classes-per-file
var ActionUtils = /** @class */ (function () {
function ActionUtils() {
}
ActionUtils.entityActionBuilderFactory = makeEntityActionBuilderFactory;
return ActionUtils;
}());
exports.ActionUtils = ActionUtils;
// tslint:enable:max-classes-per-file
//# sourceMappingURL=action.js.map