react-application-core
Version:
A react-based application core for the business applications.
310 lines • 11.1 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.MapAsUtils = void 0;
var R = require("ramda");
var filter_1 = require("./filter");
var definition_1 = require("../definition");
var definitions_interface_1 = require("../definitions.interface");
var cond_1 = require("./cond");
var entity_1 = require("./entity");
var map_as_original_1 = require("./map-as-original");
var map_as_wrapper_1 = require("./map-as-wrapper");
var nvl_1 = require("./nvl");
var select_1 = require("./select");
var type_1 = require("./type");
var wrapper_1 = require("./wrapper");
/**
* @map-as
*
* @stable [02.08.2020]
* @param entity
* @param pageSize
*/
var mapPaginatedEntityAsPagedEntity = function (entity, pageSize) {
if (pageSize === void 0) { pageSize = definition_1.DEFAULT_PAGE_SIZE; }
return cond_1.ConditionUtils.ifNotNilThanValue(entity, function () { return map_as_original_1.MapAsOriginalUtils.pagedEntity({
page: entity.lockPage ? entity.page : definition_1.FIRST_PAGE,
pageSize: pageSize,
}); }, definitions_interface_1.UNDEF_SYMBOL);
};
/**
* @map-as
*
* @stable [02.08.2020]
* @param entity
* @param pageSize
*/
var mapListHolderEntityAsPagedEntity = function (entity, pageSize) {
if (pageSize === void 0) { pageSize = definition_1.DEFAULT_PAGE_SIZE; }
return mapPaginatedEntityAsPagedEntity(select_1.Selectors.list(entity), pageSize);
};
/**
* @map-as
*
* @stable [31.07.2020]
* @param extendedEntity
*/
var mapExtendedEntityAsApiEntity = function (extendedEntity) {
var changes = extendedEntity.changes, entity = extendedEntity.entity, originalEntity = extendedEntity.originalEntity;
var entityId = select_1.Selectors.entityId(entity);
var newEntity = R.isNil(entityId);
return filter_1.FilterUtils.defValuesFilter({
changes: changes,
diff: newEntity ? entity : changes,
entity: entity,
entityId: entityId,
newEntity: newEntity,
originalEntity: originalEntity,
});
};
/**
* @map-as
*
* @stable [31.07.2020]
* @param formEntity
* @param entity
*/
var mapEntityAsExtendedEntity = function (formEntity, entity) {
var newEntity = entity_1.EntityUtils.isNewEntity(entity);
var _a = formEntity || {}, changes = _a.changes, defaultChanges = _a.defaultChanges;
var originalEntity;
if (!R.isNil(nvl_1.NvlUtils.nvl(defaultChanges, entity))) {
originalEntity = __assign(__assign({}, defaultChanges), entity);
}
return map_as_original_1.MapAsOriginalUtils.extendedEntity({
changes: changes,
entity: __assign(__assign({}, originalEntity), changes),
entityId: cond_1.ConditionUtils.orUndef(!newEntity, function () { return entity.id; }),
newEntity: newEntity,
originalEntity: originalEntity,
});
};
/**
* @map-as
*
* @stable [31.07.2020]
* @param formEntity
* @param entity
*/
var mapEntityAsExtendedFormEntity = function (formEntity, entity) {
return (__assign(__assign({}, map_as_wrapper_1.MapAsWrapperUtils.form(formEntity)), mapEntityAsExtendedEntity(formEntity, entity)));
};
/**
* @map-as
*
* @stable [31.07.2020]
* @param entity
*/
var mapProgressAsDisabled = function (entity) {
return map_as_wrapper_1.MapAsWrapperUtils.disabled(wrapper_1.WrapperUtils.inProgress(entity));
};
/**
* @map-as
*
* @stable [31.07.2020]
* @param listEntity
*/
var mapListHolderEntityAsDisabled = function (listEntity) {
return mapProgressAsDisabled(select_1.Selectors.list(listEntity));
};
/**
* @map-as
*
* @stable [10.08.2020]
* @param dictionaryEntity
*/
var mapDictionaryEntityAsDisabled = function (dictionaryEntity) {
return mapProgressAsDisabled(dictionaryEntity);
};
/**
* @map-as
*
* @stable [10.08.2020]
* @param dictionaryEntity
*/
var mapDictionaryEntityAsProgress = function (dictionaryEntity) {
return map_as_original_1.MapAsOriginalUtils.progressWrapper(dictionaryEntity);
};
/**
* @map-as
*
* @stable [02.08.2020]
* @param entity
*/
var mapQueryFilterHolderEntityAsQuery = function (entity) {
return map_as_wrapper_1.MapAsWrapperUtils.query(select_1.Selectors.queryFilterEntityQuery(entity));
};
/**
* @map-as
*
* @stable [02.08.2020]
* @param formEntity
* @param entity
*/
var mapFormEntityAsFinalEntity = function (formEntity, entity) {
return mapEntityAsExtendedFormEntity(formEntity, entity).entity;
};
/**
* @map-as
*
* @stable [01.08.2020]
* @param listHolderEntity
* @param formEntity
*/
var mapListSelectedEntityAsExtendedFormEntity = function (listHolderEntity, formEntity) {
return mapEntityAsExtendedFormEntity(formEntity, select_1.Selectors.listSelectedEntity(listHolderEntity));
};
/**
* @map-as
*
* @stable [01.08.2020]
* @param listHolderEntity
* @param formEntity
*/
var mapListSelectedEntityAsFinalEntity = function (listHolderEntity, formEntity) {
return mapListSelectedEntityAsExtendedFormEntity(listHolderEntity, formEntity).entity;
};
/**
* @map-as
*
* @stable [02.08.2020]
* @param entity
*/
var mapNamedEntityAsRawDataLabeledValueEntity = function (entity) {
return cond_1.ConditionUtils.ifNotNilThanValue(entity, function () { return (filter_1.FilterUtils.defValuesFilter({
value: entity.id,
label: entity.name || String(entity.id),
rawData: entity,
})); }, definitions_interface_1.UNDEF_SYMBOL);
};
/**
* @map-as
*
* @stable [02.08.2020]
* @param formEntity
* @param entity
*/
var mapFormEntityAsPrimaryFilterExtendedFormEntity = function (formEntity, entity) {
return map_as_wrapper_1.MapAsWrapperUtils.primaryFilter(mapEntityAsExtendedFormEntity(formEntity, entity));
};
/**
* @map-as
*
* @stable [02.08.2020]
* @param formEntity
* @param entity
*/
var mapFormEntityAsSecondaryFilterExtendedFormEntity = function (formEntity, entity) {
return map_as_wrapper_1.MapAsWrapperUtils.secondaryFilter(mapEntityAsExtendedFormEntity(formEntity, entity));
};
/**
* @map-as
*
* @stable [02.08.2020]
* @param primaryFilterFormEntity
* @param entity
*/
var mapPrimaryFilterFormEntityAsPrimaryFilterExtendedFormEntity = function (primaryFilterFormEntity, entity) {
return mapFormEntityAsPrimaryFilterExtendedFormEntity(select_1.Selectors.primaryFilter(primaryFilterFormEntity), entity);
};
/**
* @map-as
*
* @stable [02.08.2020]
* @param secondaryFilterFormEntity
* @param entity
*/
var mapSecondaryFilterFormEntityAsSecondaryFilterExtendedFormEntity = function (secondaryFilterFormEntity, entity) {
return mapFormEntityAsSecondaryFilterExtendedFormEntity(select_1.Selectors.secondaryFilter(secondaryFilterFormEntity), entity);
};
/**
* @map-as
*
* @stable [02.08.2020]
* @param entity
* @param cfg
*/
var mapEntityAsFullSearchFilter = function (entity, cfg) {
if (cfg === void 0) { cfg = { paging: true }; }
return (__assign(__assign(__assign(__assign({}, mapQueryFilterHolderEntityAsQuery(entity)), mapFormEntityAsFinalEntity(select_1.Selectors.primaryFilter(entity))), mapFormEntityAsFinalEntity(select_1.Selectors.secondaryFilter(entity))), cfg.paging ? mapListHolderEntityAsPagedEntity(entity) : {}));
};
/**
* @map-as
*
* @stable [02.08.2020]
* @param entity
*/
var mapOptionEntityAsSelectOptionEntity = function (entity) {
return map_as_original_1.MapAsOriginalUtils.selectOptionEntity({
disabled: entity.disabled,
label: entity.name,
rawData: entity,
value: entity.id,
});
};
/**
* @map-as
*
* @stable [02.08.2020]
* @param data
*/
var mapOptionEntitiesAsSelectOptionEntities = function (data) {
return cond_1.ConditionUtils.ifNotNilThanValue(data, function () { return [].concat(data).map(function (entity) { return mapOptionEntityAsSelectOptionEntity(entity); }); }, definitions_interface_1.UNDEF_SYMBOL);
};
/**
* @map-as
*
* @stable [02.08.2020]
* @param dictionaryEntity
* @param accessor
*/
var mapDictionaryEntityAsSelectOptionEntities = function (dictionaryEntity, accessor) {
return mapOptionEntitiesAsSelectOptionEntities(cond_1.ConditionUtils.ifNotNilThanValue(select_1.Selectors.data(dictionaryEntity), function (data) { return type_1.TypeUtils.isFn(accessor) ? accessor(data) : data; }));
};
/**
* @map-as
*
* @stable [06.08.2020]
* @param entity
* @param accessor
*/
var mapDictionaryEntityAsSelectEntity = function (entity, accessor) { return (__assign(__assign({}, map_as_wrapper_1.MapAsWrapperUtils.waitingForOptions(wrapper_1.WrapperUtils.inProgress(entity))), map_as_wrapper_1.MapAsWrapperUtils.options(MapAsUtils.dictionaryEntityAsSelectOptionEntities(entity, accessor)))); };
/**
* @stable [31.07.2020]
*/
var MapAsUtils = /** @class */ (function () {
function MapAsUtils() {
}
MapAsUtils.dictionaryEntityAsDisabled = mapDictionaryEntityAsDisabled;
MapAsUtils.dictionaryEntityAsProgress = mapDictionaryEntityAsProgress;
MapAsUtils.dictionaryEntityAsSelectEntity = mapDictionaryEntityAsSelectEntity;
MapAsUtils.dictionaryEntityAsSelectOptionEntities = mapDictionaryEntityAsSelectOptionEntities;
MapAsUtils.entityAsExtendedEntity = mapEntityAsExtendedEntity;
MapAsUtils.entityAsExtendedFormEntity = mapEntityAsExtendedFormEntity;
MapAsUtils.entityAsFullSearchFilter = mapEntityAsFullSearchFilter;
MapAsUtils.extendedEntityAsApiEntity = mapExtendedEntityAsApiEntity;
MapAsUtils.formEntityAsFinalEntity = mapFormEntityAsFinalEntity;
MapAsUtils.listHolderEntityAsDisabled = mapListHolderEntityAsDisabled;
MapAsUtils.listHolderEntityAsPagedEntity = mapListHolderEntityAsPagedEntity;
MapAsUtils.listSelectedEntityAsExtendedFormEntity = mapListSelectedEntityAsExtendedFormEntity;
MapAsUtils.listSelectedEntityAsFinalEntity = mapListSelectedEntityAsFinalEntity;
MapAsUtils.namedEntityAsRawDataLabeledValueEntity = mapNamedEntityAsRawDataLabeledValueEntity;
MapAsUtils.optionEntitiesAsSelectOptionEntities = mapOptionEntitiesAsSelectOptionEntities;
MapAsUtils.primaryFilterFormEntityAsPrimaryFilterExtendedFormEntity = mapPrimaryFilterFormEntityAsPrimaryFilterExtendedFormEntity;
MapAsUtils.queryFilterHolderEntityAsQuery = mapQueryFilterHolderEntityAsQuery;
MapAsUtils.secondaryFilterFormEntityAsSecondaryFilterExtendedFormEntity = mapSecondaryFilterFormEntityAsSecondaryFilterExtendedFormEntity;
return MapAsUtils;
}());
exports.MapAsUtils = MapAsUtils;
//# sourceMappingURL=map-as.js.map