UNPKG

@mui/x-data-grid-premium

Version:

The Premium plan edition of the MUI X Data Grid Components.

146 lines (145 loc) 3.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GRID_AGGREGATION_FUNCTIONS = void 0; var _internals = require("@mui/x-data-grid-pro/internals"); const sumAgg = { apply: ({ values }) => { let sum = 0; for (let i = 0; i < values.length; i += 1) { const value = values[i]; if (typeof value === 'number' && !Number.isNaN(value)) { sum += value; } } return sum; }, columnTypes: ['number'] }; const avgAgg = { apply: ({ values }) => { if (values.length === 0) { return null; } let sum = 0; let valuesCount = 0; for (let i = 0; i < values.length; i += 1) { const value = values[i]; if (typeof value === 'number' && !Number.isNaN(value)) { valuesCount += 1; sum += value; } } if (sum === 0) { return null; } return sum / valuesCount; }, columnTypes: ['number'] }; const minAgg = { apply: ({ values }) => { if (values.length === 0) { return null; } let hasValidValue = false; let min = +Infinity; for (let i = 0; i < values.length; i += 1) { const value = values[i]; if (value != null && value < min) { min = value; hasValidValue = true; } } if (!hasValidValue) { return null; } return min; }, columnTypes: ['number', 'date', 'dateTime'] }; const maxAgg = { apply: ({ values }) => { if (values.length === 0) { return null; } let hasValidValue = false; let max = -Infinity; for (let i = 0; i < values.length; i += 1) { const value = values[i]; if (value != null && value > max) { max = value; hasValidValue = true; } } if (!hasValidValue) { return null; } return max; }, columnTypes: ['number', 'date', 'dateTime'] }; const sizeAgg = { apply: ({ values }) => { return values.filter(value => typeof value !== 'undefined').length; }, valueFormatter: value => { if (value == null || !(0, _internals.isNumber)(value)) { return value; } return value.toLocaleString(); }, hasCellUnit: false }; const sizeTrueAgg = { apply: ({ values }) => { return values.filter(value => value === true).length; }, columnTypes: ['boolean'], label: 'size(true)', valueFormatter: value => { if (value == null || !(0, _internals.isNumber)(value)) { return value; } return value.toLocaleString(); }, hasCellUnit: false }; const sizeFalseAgg = { apply: ({ values }) => { return values.filter(value => value === false).length; }, columnTypes: ['boolean'], label: 'size(false)', valueFormatter: value => { if (value == null || !(0, _internals.isNumber)(value)) { return value; } return value.toLocaleString(); }, hasCellUnit: false }; const GRID_AGGREGATION_FUNCTIONS = exports.GRID_AGGREGATION_FUNCTIONS = { sum: sumAgg, avg: avgAgg, min: minAgg, max: maxAgg, size: sizeAgg, sizeTrue: sizeTrueAgg, sizeFalse: sizeFalseAgg };