UNPKG

@deephaven/js-plugin-ag-grid

Version:
65 lines 2.97 kB
import { TableUtils } from '@deephaven/jsapi-utils'; import { AgGridCellColors } from './AgGridColors'; export class AgGridFormatter { constructor(formatter) { // Override pre-defined AG Grid data types/create new ones to match Deephaven types this.cellDataTypeDefinitions = { [TableUtils.dataType.BOOLEAN]: { extendsDataType: 'boolean', baseDataType: 'boolean', valueFormatter: params => this.formatter.getFormattedString(params.value, TableUtils.dataType.BOOLEAN, params.colDef.field), }, [TableUtils.dataType.CHAR]: { extendsDataType: 'text', baseDataType: 'text', valueFormatter: params => this.formatter.getFormattedString(params.value, TableUtils.dataType.CHAR, params.colDef.field), }, [TableUtils.dataType.DATETIME]: { extendsDataType: 'dateString', baseDataType: 'dateString', valueFormatter: params => this.formatter.getFormattedString(params.value, TableUtils.dataType.DATETIME, params.colDef.field), }, [TableUtils.dataType.DECIMAL]: { extendsDataType: 'number', baseDataType: 'number', valueFormatter: params => this.formatter.getFormattedString(params.value, TableUtils.dataType.DECIMAL, params.colDef.field), }, [TableUtils.dataType.INT]: { extendsDataType: 'number', baseDataType: 'number', valueFormatter: params => this.formatter.getFormattedString(params.value, TableUtils.dataType.INT, params.colDef.field), }, [TableUtils.dataType.STRING]: { extendsDataType: 'text', baseDataType: 'text', valueFormatter: params => this.formatter.getFormattedString(params.value, TableUtils.dataType.STRING, params.colDef.field), }, [TableUtils.dataType.UNKNOWN]: { extendsDataType: 'text', baseDataType: 'text', valueFormatter: params => this.formatter.getFormattedString(params.value, TableUtils.dataType.UNKNOWN, params.colDef.field), }, }; this.formatter = formatter; } static styleForNumberCell(params) { if (params.value > 0) { return { textAlign: 'right', color: AgGridCellColors.numberPositive, }; } if (params.value < 0) { return { textAlign: 'right', color: AgGridCellColors.numberNegative, }; } return { textAlign: 'right', color: AgGridCellColors.numberZero }; } static styleForDateCell(params) { return { textAlign: 'center', color: AgGridCellColors.date }; } } export default AgGridFormatter; //# sourceMappingURL=AgGridFormatter.js.map