react-application-core
Version:
A react-based application core for the business applications.
43 lines • 2.02 kB
JavaScript
;
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);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultLayoutReducer = void 0;
var layout_interface_1 = require("../layout.interface");
var definition_1 = require("../../../definition");
/**
* @stable [23.09.2018]
* @param {IReduxLayoutEntity} state
* @param {AnyAction} action
* @returns {IReduxLayoutEntity}
*/
exports.defaultLayoutReducer = function (state, action) {
var _a;
if (state === void 0) { state = definition_1.INITIAL_REDUX_LAYOUT_ENTITY; }
switch (action.type) {
case layout_interface_1.LAYOUT_EXPANDED_GROUPS_UPDATE_ACTION_TYPE:
var expandedGroupPayloadWrapper = action.data;
return __assign(__assign({}, state), { expandedGroups: (_a = {},
_a[expandedGroupPayloadWrapper.payload] = !state.expandedGroups[expandedGroupPayloadWrapper.payload],
_a) });
case layout_interface_1.LAYOUT_XY_UPDATE_ACTION_TYPE:
var fluxXYEntity = action.data;
return __assign(__assign({}, state), fluxXYEntity.payload);
case layout_interface_1.LAYOUT_MODE_UPDATE_ACTION_TYPE:
var modePayloadWrapper = action.data;
return __assign(__assign({}, state), { mode: modePayloadWrapper.payload === definition_1.LayoutModesEnum.FULL ? definition_1.LayoutModesEnum.MINIMAL : definition_1.LayoutModesEnum.FULL });
case layout_interface_1.LAYOUT_DESTROY_ACTION_TYPE:
return __assign({}, definition_1.INITIAL_REDUX_LAYOUT_ENTITY);
}
return state;
};
//# sourceMappingURL=default-layout.reducer.js.map