UNPKG

@adaptabletools/adaptable-cjs

Version:

Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements

91 lines (90 loc) 3.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ColumnInternalApi = exports.getAutoRowGroupColumnIdFor = void 0; const tslib_1 = require("tslib"); const ApiBase_1 = require("../Implementation/ApiBase"); const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants"); const uniq_1 = tslib_1.__importDefault(require("lodash/uniq")); const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions")); function getAutoRowGroupColumnIdFor(columnId) { return `${GeneralConstants_1.AG_GRID_GROUPED_COLUMN}-${columnId}`; } exports.getAutoRowGroupColumnIdFor = getAutoRowGroupColumnIdFor; class ColumnInternalApi extends ApiBase_1.ApiBase { /** * Retrieves 'ColumnType' property for a given Column * isCumulativeAggregate(input: string): boolean { * return !!this.getNodesFromExpression(input, 'CUMUL')?.length; * } * @param columnId Column to use */ getAgGridColumnType(columnId) { return this._adaptable.getAgGridColumnType(columnId); } getAllAgGridColumnTypes() { let colTypes = []; this.getColumnApi() .getColumns() .forEach((c) => { const agGridColType = this.getAgGridColumnType(c.columnId); if (Array.isArray(agGridColType)) { colTypes.push(...agGridColType); } else { colTypes.push(agGridColType); } }); return (0, uniq_1.default)(colTypes).filter((c) => StringExtensions_1.default.IsNotNullOrEmptyOrWhiteSpace(c)); } /** * Retrieves a list providing the Friendly Name / Caption for all columns */ getAllColumnFriendlyNames() { return this.getColumnApi() .getColumns() .map((c) => { return c.friendlyName; }); } getAutoRowGroupColumnIdFor(columnId) { return getAutoRowGroupColumnIdFor(columnId); } /** * Retrieves AG Grid's field property for the column * @param columnId columnId to look up */ getAgGridColumnFieldForAdaptableColumn(columnId) { const agGridColumn = this.getAgGridColumnForAdaptableColumn(columnId); return agGridColumn.getColDef().field || ''; } /** * Retrieves AG Grid's column for an Adaptable column * @param columnId columnId to look up */ getAgGridColumnForAdaptableColumn(columnId) { return this._adaptable.getAgGridColumnForColumnId(columnId); } getActiveColumnComparator(columnId, customSort, customSortComparer) { if ((!customSort || customSort?.IsSuspended) && !customSortComparer) { // defaults to AG-Grid column definition comparator if no CustomSort is defined&active const colDefComparator = this._adaptable.agGridColumnAdapter.getUserColDefProperty(columnId, 'comparator'); return colDefComparator; } // CustomSort Comparer function takes precedence over CustomSort SortedValues const comparerFunction = customSortComparer ? customSortComparer.comparer : this.getCustomSortApi().internalApi.getDefaultCustomSortComparer(customSort.ColumnId, customSort.SortedValues); return comparerFunction; } isSpecialColumn(columnId, column = null) { if (column) { return column.isCalculatedColumn || column.isFreeTextColumn || column.isActionColumn; } else return (this.getColumnApi().isCalculatedColumn(columnId) || this.getColumnApi().isFreeTextColumn(columnId) || this.getColumnApi().isActionColumn(columnId) || this.getColumnApi().isFdc3Column(columnId)); } } exports.ColumnInternalApi = ColumnInternalApi;