@deephaven/js-plugin-ag-grid
Version:
Deephaven AG Grid plugin
65 lines • 2.97 kB
JavaScript
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