react-application-core
Version:
A react-based application core for the business applications.
406 lines • 14.8 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Selectors = exports.selectEntity = exports.selectChanges = exports.selectToken = void 0;
var R = require("ramda");
var definitions_interface_1 = require("../definitions.interface");
var nvl_1 = require("./nvl");
var definition_1 = require("../definition");
var cond_1 = require("./cond");
var wrapper_1 = require("./wrapper");
/**
* @stable [20.01.2021]
* @param wrapper
*/
var asPreviousAction = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.previousAction; };
/**
* @stable [20.01.2021]
* @param wrapper
*/
var asData = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.data; };
/**
* @stable [20.01.2021]
* @param wrapper
*/
var asError = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.error; };
/**
* @stable [20.01.2021]
* @param wrapper
*/
var asPreventEffects = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.preventEffects; };
/**
* @stable [20.01.2021]
* @param wrapper
*/
var asQueue = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.queue; };
/**
* @stable [20.01.2021]
* @param wrapper
*/
var asRawData = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.rawData; };
/**
* @stable [20.01.2021]
* @param wrapper
*/
var asElement = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.element; };
/**
* @stable [20.01.2021]
* @param wrapper
*/
var asEntityId = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.id; };
/**
* @stable [20.01.2021]
* @param wrapper
*/
var asForm = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.form; };
/**
* @stable [20.01.2021]
* @param wrapper
*/
var asSelected = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.selected; };
/**
* @stable [22.09.2020]
* @param wrapper
*/
var selectSecondaryFilter = function (wrapper) {
return R.isNil(wrapper) ? definitions_interface_1.UNDEF : wrapper.secondaryFilter;
};
/**
* @stable [22.09.2020]
* @param wrapper
*/
var selectPrimaryFilter = function (wrapper) {
return R.isNil(wrapper) ? definitions_interface_1.UNDEF : wrapper.primaryFilter;
};
/**
* @stable [22.09.2020]
* @param wrapper
*/
var selectList = function (wrapper) {
return R.isNil(wrapper) ? definitions_interface_1.UNDEF : wrapper.list;
};
/**
* @stable [22.09.2020]
* @param wrapper
*/
var selectFilter = function (wrapper) {
return R.isNil(wrapper) ? definitions_interface_1.UNDEF : wrapper.filter;
};
/**
* @stable [01.08.2020]
* @param wrapper
*/
var selectQueryFilter = function (wrapper) {
return R.isNil(wrapper) ? definitions_interface_1.UNDEF : wrapper.queryFilter;
};
/**
* @stable [29.02.2020]
* @param {ITokenWrapper<TValue>} wrapper
* @returns {TValue}
*/
exports.selectToken = function (wrapper) {
return R.isNil(wrapper) ? definitions_interface_1.UNDEF : wrapper.token;
};
/**
* @stable [05.03.2020]
* @param {IChangesWrapper<TResult>} entity
* @returns {TResult}
*/
exports.selectChanges = function (entity) {
return R.isNil(entity) ? definitions_interface_1.UNDEF : entity.changes;
};
/**
* @stable [05.03.2020]
* @param {IEntityWrapper<TResult>} entity
* @returns {TResult}
*/
exports.selectEntity = function (entity) { return entity === null || entity === void 0 ? void 0 : entity.entity; };
/**
* @stable [30.07.2020]
* @param wrapper
*/
var selectActiveValue = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.activeValue; };
/**
* @stable [12.01.2021]
* @param action
*/
var selectPayloadFromAction = function (action) { var _a; return (_a = asData(action)) === null || _a === void 0 ? void 0 : _a.payload; };
/**
* @stable [12.01.2021]
* @param action
*/
var selectValidFromAction = function (action) { var _a; return (_a = asData(action)) === null || _a === void 0 ? void 0 : _a.valid; };
/**
* @stable [20.01.2021]
* @param wrapper
*/
var asPreventEffectsFromAction = function (wrapper) {
return R.isNil(wrapper)
? definitions_interface_1.UNDEF
: nvl_1.NvlUtils.nvl(asPreventEffects(wrapper.data), asPreventEffects(wrapper.initialData));
};
/**
* @stable [20.01.2021]
* @param wrapper
*/
var asPreviousActionFromAction = function (wrapper) {
return R.isNil(wrapper)
? definitions_interface_1.UNDEF
: nvl_1.NvlUtils.nvl(asPreviousAction(wrapper.data), asPreviousAction(wrapper.initialData));
};
/**
* @stable [08.05.2020]
* @param {IReduxListHolderEntity} entity
* @returns {boolean}
*/
var selectListProgress = function (entity) { return wrapper_1.WrapperUtils.inProgress(selectList(entity)); };
/**
* @stable [20.01.2021]
* @param action
*/
var asPreviousActionTypeFromAction = function (action) { var _a; return (_a = asPreviousActionFromAction(action)) === null || _a === void 0 ? void 0 : _a.type; };
/**
* @stable [08.09.2020]
* @param action
*/
var selectSectionFromAction = function (action) {
return nvl_1.NvlUtils.nvl(cond_1.ConditionUtils.ifNotNilThanValue(action.data, function (data) { return data.section; }, definitions_interface_1.UNDEF_SYMBOL), cond_1.ConditionUtils.ifNotNilThanValue(action.initialData, function (initialData) { return initialData.section; }, definitions_interface_1.UNDEF_SYMBOL));
};
/**
* @stable [20.01.2021]
* @param action
*/
var asSelectedEntityFromAction = function (action) { return asSelected(asData(action)); };
/**
* @stable [20.01.2021]
* @param action
*/
var asSelectedEntityIdFromAction = function (action) { return asEntityId(asSelectedEntityFromAction(action)); };
/**
* @stable [06.11.2020]
* @param wrapper
*/
var selectUser = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.user; };
/**
* @stable [06.11.2020]
* @param wrapper
*/
var selectStack = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.stack; };
/**
* @stable [06.11.2020]
* @param wrapper
*/
var selectNotification = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.notification; };
/**
* @stable [06.11.2020]
* @param wrapper
*/
var selectQuery = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.query; };
/**
* @stable [06.11.2020]
* @param wrapper
*/
var selectLayout = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.layout; };
/**
* @stable [06.11.2020]
* @param wrapper
*/
var selectMode = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.mode; };
/**
* @stable [06.11.2020]
* @param wrapper
*/
var selectChannel = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.channel; };
/**
* @stable [06.11.2020]
* @param wrapper
* @param ip
*/
var selectChannelEntityByIp = function (wrapper, ip) {
return R.isNil(wrapper) ? definitions_interface_1.UNDEF : wrapper[ip];
};
/**
* @stable [06.11.2020]
* @param wrapper
*/
var selectChannelMessages = function (wrapper) { return wrapper === null || wrapper === void 0 ? void 0 : wrapper.messages; };
/**
* @stable [06.11.2020]
* @param wrapper
* @param ip
*/
var selectChannelEntity = function (wrapper, ip) {
return selectChannelEntityByIp(selectChannel(wrapper), ip);
};
/**
* @stable [06.11.2020]
* @param wrapper
* @param ip
*/
var selectChannelMessagesByIp = function (wrapper, ip) {
return selectChannelMessages(selectChannelEntity(wrapper, ip));
};
/**
* @stable [30.03.2020]
* @param {ITransportWrapper<TTransport>} wrapper
* @returns {TTransport}
*/
var selectTransport = function (wrapper) {
return R.isNil(wrapper) ? definitions_interface_1.UNDEF : wrapper.transport;
};
/**
* @stable [09.06.2020]
* @param {IDictionariesWrapper<TValue>} wrapper
* @returns {TValue}
*/
var selectDictionaries = function (wrapper) {
return R.isNil(wrapper) ? definitions_interface_1.UNDEF : wrapper.dictionaries;
};
/**
* @stable [10.08.2020]
* @param wrapper
*/
var selectSectionName = function (wrapper) { return R.isNil(wrapper) ? definitions_interface_1.UNDEF : wrapper.sectionName; };
/**
* @stable [10.08.2020]
* @param wrapper
*/
var selectProgress = function (wrapper) { return R.isNil(wrapper) ? definitions_interface_1.UNDEF : wrapper.progress; };
/**
* @stable [17.05.2020]
* @param {ITabPanelWrapper<TTabPanel>} entity
* @returns {TTabPanel}
*/
var selectTabPanel = function (entity) {
return R.isNil(entity) ? definitions_interface_1.UNDEF : entity.tabPanel;
};
/**
* @stable [08.05.2020]
* @param {IReduxListHolderEntity<TEntity extends IEntity>} entity
* @returns {TEntity}
*/
var selectListSelectedEntity = function (entity) {
return asSelected(selectList(entity));
};
/**
* @stable [08.05.2020]
* @param {IDirectionsWrapper<TValue>} wrapper
* @returns {TValue}
*/
var selectDirections = function (wrapper) {
return R.isNil(wrapper) ? definitions_interface_1.UNDEF : wrapper.directions;
};
/**
* @stable [08.05.2020]
* @param {IReduxListHolderEntity} entity
* @returns {TRawData}
*/
var selectListRawData = function (entity) { return asRawData(selectList(entity)); };
/**
* @stable [01.08.2020]
* @param entity
*/
var selectFormHolderEntityChanges = function (entity) {
return exports.selectChanges(asForm(entity));
};
/**
* @stable [01.08.2020]
* @param wrapper
*/
var selectActiveToolbarToolsFromDirtyWrapper = function (wrapper) {
return R.isNil(wrapper)
? definitions_interface_1.UNDEF
: (cond_1.ConditionUtils.orUndef(wrapper_1.WrapperUtils.isDirty(wrapper), function () { return [definition_1.ToolbarToolsEnum.FILTER]; }));
};
/**
* @stable [07.05.2020]
* @param {IReduxQueryFilterHolderEntity} entity
* @returns {string}
*/
var selectQueryFilterEntityQuery = function (entity) {
return selectQuery(selectQueryFilter(entity));
};
/**
* @stable [18.09.2020]
* @param entity
*/
var selectStackItemEntities = function (entity) { return selectStack(selectStack(entity)); };
/**
* @stable [18.09.2020]
* @param entity
*/
var selectFirstStackItemEntity = function (entity) {
return cond_1.ConditionUtils.ifNotEmptyThanValue(selectStackItemEntities(entity), function (stackItemEntities) { return stackItemEntities[0]; });
};
/**
* @stable [21.05.2020]
* @param {IReduxLayoutHolderEntity} entity
* @returns {LayoutModesEnum}
*/
var selectLayoutMode = function (entity) { return selectMode(selectLayout(entity)); };
/**
* @stable [21.05.2020]
* @param {IReduxLayoutHolderEntity} merged
* @param {IReduxLayoutHolderEntity} original
* @returns {LayoutModesEnum}
*/
var selectMergedLayoutMode = function (merged, original) {
return nvl_1.NvlUtils.nvl(selectLayoutMode(merged), selectLayoutMode(original));
};
/**
* @stable [06.05.2020]
*/
var Selectors = /** @class */ (function () {
function Selectors() {
}
Selectors.activeToolbarToolsFromDirtyWrapper = selectActiveToolbarToolsFromDirtyWrapper; /* @stable [08.05.2020] */
Selectors.activeValue = selectActiveValue; /* @stable [30.07.2020] */
Selectors.changes = exports.selectChanges;
Selectors.channel = selectChannel; /* @stable [12.06.2020] */
Selectors.channelEntity = selectChannelEntity; /* @stable [06.11.2020] */
Selectors.channelMessagesByIp = selectChannelMessagesByIp; /* @stable [06.11.2020] */
Selectors.data = asData;
Selectors.dictionaries = selectDictionaries; /* @stable [09.06.2020] */
Selectors.directions = selectDirections; /* @stable [08.05.2020] */
Selectors.element = asElement;
Selectors.entity = exports.selectEntity;
Selectors.entityId = asEntityId;
Selectors.error = asError;
Selectors.filter = selectFilter;
Selectors.firstStackItemEntity = selectFirstStackItemEntity; /* @stable [18.09.2020] */
Selectors.form = asForm;
Selectors.formHolderEntityChanges = selectFormHolderEntityChanges; /* @stable [01.08.2020] */
Selectors.layout = selectLayout; /* @stable [08.05.2020] */
Selectors.layoutMode = selectLayoutMode; /* @stable [21.05.2020] */
Selectors.list = selectList;
Selectors.listProgress = selectListProgress; /* @stable [08.05.2020] */
Selectors.listRawData = selectListRawData; /* @stable [08.05.2020] */
Selectors.listSelectedEntity = selectListSelectedEntity; /* @stable [08.05.2020] */
Selectors.mergedLayoutMode = selectMergedLayoutMode; /* @stable [21.05.2020] */
Selectors.notification = selectNotification; /* @stable [12.06.2020] */
Selectors.payloadFromAction = selectPayloadFromAction; /* @stable [08.06.2020] */
Selectors.preventEffectsFromAction = asPreventEffectsFromAction;
Selectors.previousActionFromAction = asPreviousActionFromAction;
Selectors.previousActionTypeFromAction = asPreviousActionTypeFromAction;
Selectors.primaryFilter = selectPrimaryFilter; /* @stable [10.05.2020] */
Selectors.progress = selectProgress; /* @stable [10.08.2020] */
Selectors.query = selectQuery;
Selectors.queryFilter = selectQueryFilter;
Selectors.queryFilterEntityQuery = selectQueryFilterEntityQuery;
Selectors.queue = asQueue;
Selectors.rawData = asRawData;
Selectors.secondaryFilter = selectSecondaryFilter; /* @stable [09.05.2020] */
Selectors.sectionFromAction = selectSectionFromAction; /* @stable [08.09.2020] */
Selectors.sectionName = selectSectionName;
Selectors.selected = asSelected;
Selectors.selectedEntityFromAction = asSelectedEntityFromAction;
Selectors.selectedEntityIdFromAction = asSelectedEntityIdFromAction; /* @stable [21.07.2020] */
Selectors.stack = selectStack; /* @stable [21.05.2020] */
Selectors.stackItemEntities = selectStackItemEntities; /* @stable [21.05.2020] */
Selectors.tabPanel = selectTabPanel; /* @stable [17.05.2020] */
Selectors.transport = selectTransport; /* @stable [12.06.2020] */
Selectors.user = selectUser; /* @stable [09.06.2020] */
Selectors.validFromAction = selectValidFromAction; /* @stable [12.01.2021] */
return Selectors;
}());
exports.Selectors = Selectors;
//# sourceMappingURL=select.js.map