UNPKG

react-application-core

Version:

A react-based application core for the business applications.

64 lines 2.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.asExpandedGridGroups = exports.filterAndSortGridOriginalDataSource = exports.getGridColumnSortDirection = void 0; var R = require("ramda"); var util_1 = require("../../util"); /** * @stable [12.02.2019] * @param {IGridColumnProps} column * @param {IGridProps} props * @returns {SortDirectionsEnum} */ exports.getGridColumnSortDirection = function (column, props) { return props.directions[column.name]; }; // TODO Refactoring exports.filterAndSortGridOriginalDataSource = function (source, columns, props, state) { if (R.isNil(source)) { return source; } if (props.localSorting) { var sorters = columns .filter(function (column) { return util_1.TypeUtils.isFn(column.sorter) && !R.isNil(exports.getGridColumnSortDirection(column, props).direction); }) .map(function (column) { return function (entity1, entity2) { return column.sorter(entity1, entity2) * (exports.getGridColumnSortDirection(column, props).direction === 0 ? 1 : -1); }; }); if (sorters.length > 0) { source = R.sortWith(sorters, source); } } if (props.localFiltration) { var filterChanges_1 = state.filterChanges; var changedColumns_1 = Object.keys(filterChanges_1); var defaultLocalFilter_1 = function (cfg) { return util_1.FilterUtils.queryFilter(cfg.query, cfg.entity[cfg.columnName]); }; if (changedColumns_1.length > 0) { source = source.filter(function (entity) { var result = true; changedColumns_1.forEach(function (columnName) { var query = filterChanges_1[columnName]; var column = columns.find(function (column0) { return column0.name === columnName; }); if (!R.isNil(column)) { var localFilter = column.localFilter; result = result && (util_1.TypeUtils.isFn(localFilter) ? localFilter : defaultLocalFilter_1)({ query: query, columnName: columnName, entity: entity }); } }); return result; }); } } return source; }; /** * @deprecated MultiFieldUtils.multiFieldValueEntitiesAsTrueValuesObject */ exports.asExpandedGridGroups = function (entity, groupValueAccessor) { if (groupValueAccessor === void 0) { groupValueAccessor = function (item) { return item.id; }; } return R.mergeAll((util_1.MultiFieldUtils.multiFieldValueAsEntities(entity) || []) .map(function (item) { var _a; return (_a = {}, _a[groupValueAccessor(item)] = true, _a); })); }; //# sourceMappingURL=grid.support.js.map