@deephaven/iris-grid 0.11.3-beta.5 → 0.11.3-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Formatter.d.ts +3 -1
- package/dist/Formatter.d.ts.map +1 -1
- package/dist/Formatter.js +5 -0
- package/dist/Formatter.js.map +1 -1
- package/dist/IrisGrid.d.ts +3 -0
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +10 -4
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridProxyModel.d.ts.map +1 -1
- package/dist/IrisGridProxyModel.js +4 -0
- package/dist/IrisGridProxyModel.js.map +1 -1
- package/dist/IrisGridRenderer.d.ts.map +1 -1
- package/dist/IrisGridRenderer.js +1 -1
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridTableModel.d.ts.map +1 -1
- package/dist/IrisGridTableModel.js +13 -0
- package/dist/IrisGridTableModel.js.map +1 -1
- package/package.json +13 -13
package/dist/Formatter.d.ts
CHANGED
|
@@ -25,11 +25,13 @@ declare class Formatter {
|
|
|
25
25
|
* @param dateTimeOptions Optional object with DateTime configuration
|
|
26
26
|
* @param decimalFormatOptions Optional object with Decimal configuration
|
|
27
27
|
* @param integerFormatOptions Optional object with Integer configuration
|
|
28
|
+
* @param truncateNumbersWithPound Determine if numbers should be truncated w/ repeating # instead of ellipsis at the end
|
|
28
29
|
*/
|
|
29
|
-
constructor(columnFormattingRules?: FormattingRule[], dateTimeOptions?: ConstructorParameters<typeof DateTimeColumnFormatter>[0], decimalFormatOptions?: ConstructorParameters<typeof DecimalColumnFormatter>[0], integerFormatOptions?: ConstructorParameters<typeof IntegerColumnFormatter>[0]);
|
|
30
|
+
constructor(columnFormattingRules?: FormattingRule[], dateTimeOptions?: ConstructorParameters<typeof DateTimeColumnFormatter>[0], decimalFormatOptions?: ConstructorParameters<typeof DecimalColumnFormatter>[0], integerFormatOptions?: ConstructorParameters<typeof IntegerColumnFormatter>[0], truncateNumbersWithPound?: boolean);
|
|
30
31
|
defaultColumnFormatter: TableColumnFormatter;
|
|
31
32
|
typeFormatterMap: Map<DataType, TableColumnFormatter>;
|
|
32
33
|
columnFormatMap: Map<DataType, Map<string, TableColumnFormat>>;
|
|
34
|
+
truncateNumbersWithPound: boolean;
|
|
33
35
|
/**
|
|
34
36
|
* Gets columnFormatMap indexed by name for a given column type, creates new Map entry if necessary
|
|
35
37
|
* @param columnType column type
|
package/dist/Formatter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Formatter.d.ts","sourceRoot":"","sources":["../src/Formatter.ts"],"names":[],"mappings":"AACA,OAAmB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAGL,uBAAuB,EACvB,sBAAsB,EAEtB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAKtB,aAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,cAAM,SAAS;IACb;;;;OAIG;IACH,MAAM,CAAC,mBAAmB,CACxB,qBAAqB,EAAE,cAAc,EAAE,GACtC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAmBpD;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAC7B,UAAU,EAAE,QAAQ,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,iBAAiB,GACxB,cAAc;IAQjB
|
|
1
|
+
{"version":3,"file":"Formatter.d.ts","sourceRoot":"","sources":["../src/Formatter.ts"],"names":[],"mappings":"AACA,OAAmB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAGL,uBAAuB,EACvB,sBAAsB,EAEtB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAKtB,aAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,cAAM,SAAS;IACb;;;;OAIG;IACH,MAAM,CAAC,mBAAmB,CACxB,qBAAqB,EAAE,cAAc,EAAE,GACtC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAmBpD;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAC7B,UAAU,EAAE,QAAQ,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,iBAAiB,GACxB,cAAc;IAQjB;;;;;;OAMG;gBAED,qBAAqB,GAAE,cAAc,EAAO,EAC5C,eAAe,CAAC,EAAE,qBAAqB,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAC1E,oBAAoB,CAAC,EAAE,qBAAqB,CAC1C,OAAO,sBAAsB,CAC9B,CAAC,CAAC,CAAC,EACJ,oBAAoB,CAAC,EAAE,qBAAqB,CAC1C,OAAO,sBAAsB,CAC9B,CAAC,CAAC,CAAC,EACJ,wBAAwB,UAAQ;IAiClC,sBAAsB,EAAE,oBAAoB,CAAC;IAE7C,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAEtD,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAE/D,wBAAwB,EAAE,OAAO,CAAC;IAElC;;;;;OAKG;IACH,yBAAyB,CACvB,UAAU,EAAE,MAAM,EAClB,iBAAiB,UAAQ,GACxB,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,SAAS;IAa7C;;;;;OAKG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,iBAAiB,GAAG,IAAI;IAK3B,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB;IAUhE;;;;;;OAMG;IACH,kBAAkB,CAChB,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,SAAK,EACf,cAAc,CAAC,EAAE,iBAAiB,GACjC,MAAM;IAYT;;;OAGG;IACH,IAAI,QAAQ,IAAI,MAAM,CAKrB;CACF;AAED,eAAe,SAAS,CAAC"}
|
package/dist/Formatter.js
CHANGED
|
@@ -53,6 +53,7 @@ class Formatter {
|
|
|
53
53
|
* @param dateTimeOptions Optional object with DateTime configuration
|
|
54
54
|
* @param decimalFormatOptions Optional object with Decimal configuration
|
|
55
55
|
* @param integerFormatOptions Optional object with Integer configuration
|
|
56
|
+
* @param truncateNumbersWithPound Determine if numbers should be truncated w/ repeating # instead of ellipsis at the end
|
|
56
57
|
*/
|
|
57
58
|
|
|
58
59
|
|
|
@@ -61,6 +62,7 @@ class Formatter {
|
|
|
61
62
|
var dateTimeOptions = arguments.length > 1 ? arguments[1] : undefined;
|
|
62
63
|
var decimalFormatOptions = arguments.length > 2 ? arguments[2] : undefined;
|
|
63
64
|
var integerFormatOptions = arguments.length > 3 ? arguments[3] : undefined;
|
|
65
|
+
var truncateNumbersWithPound = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
64
66
|
|
|
65
67
|
_defineProperty(this, "defaultColumnFormatter", void 0);
|
|
66
68
|
|
|
@@ -68,6 +70,8 @@ class Formatter {
|
|
|
68
70
|
|
|
69
71
|
_defineProperty(this, "columnFormatMap", void 0);
|
|
70
72
|
|
|
73
|
+
_defineProperty(this, "truncateNumbersWithPound", void 0);
|
|
74
|
+
|
|
71
75
|
// Formatting order:
|
|
72
76
|
// - columnFormatMap[type][name]
|
|
73
77
|
// - typeFormatterMap[type]
|
|
@@ -77,6 +81,7 @@ class Formatter {
|
|
|
77
81
|
this.typeFormatterMap = new Map([[TableUtils.dataType.BOOLEAN, new BooleanColumnFormatter()], [TableUtils.dataType.CHAR, new CharColumnFormatter()], [TableUtils.dataType.DATETIME, new DateTimeColumnFormatter(dateTimeOptions)], [TableUtils.dataType.DECIMAL, new DecimalColumnFormatter(decimalFormatOptions)], [TableUtils.dataType.INT, new IntegerColumnFormatter(integerFormatOptions)], [TableUtils.dataType.STRING, new StringColumnFormatter()]]); // Formats indexed by data type and column name
|
|
78
82
|
|
|
79
83
|
this.columnFormatMap = Formatter.makeColumnFormatMap(columnFormattingRules);
|
|
84
|
+
this.truncateNumbersWithPound = truncateNumbersWithPound;
|
|
80
85
|
}
|
|
81
86
|
|
|
82
87
|
/**
|
package/dist/Formatter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Formatter.ts"],"names":["Log","TableUtils","BooleanColumnFormatter","CharColumnFormatter","DateTimeColumnFormatter","DecimalColumnFormatter","DefaultColumnFormatter","IntegerColumnFormatter","StringColumnFormatter","log","module","Formatter","makeColumnFormatMap","columnFormattingRules","Map","reduce","map","next","dataType","getNormalizedType","columnType","has","set","formatMap","get","columnName","format","makeColumnFormattingRule","constructor","dateTimeOptions","decimalFormatOptions","integerFormatOptions","defaultColumnFormatter","typeFormatterMap","BOOLEAN","CHAR","DATETIME","DECIMAL","INT","STRING","columnFormatMap","getColumnFormatMapForType","createIfNecessary","warn","undefined","getColumnFormat","getColumnTypeFormatter","columnTypeFormatter","getFormattedString","value","formatOverride","formatter","timeZone","dhTimeZone","id"],"mappings":"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","sourcesContent":["import { Log } from '@deephaven/log';\nimport TableUtils, { DataType } from './TableUtils';\nimport {\n BooleanColumnFormatter,\n CharColumnFormatter,\n DateTimeColumnFormatter,\n DecimalColumnFormatter,\n DefaultColumnFormatter,\n IntegerColumnFormatter,\n TableColumnFormat,\n TableColumnFormatter,\n} from './formatters';\nimport StringColumnFormatter from './formatters/StringColumnFormatter';\n\nconst log = Log.module('Formatter');\n\ntype ColumnName = string;\n\nexport interface FormattingRule {\n columnType: string;\n columnName: string;\n format: TableColumnFormat;\n}\n\nclass Formatter {\n /**\n * Converts FormattingRule[] to Map\n * @param columnFormattingRules Array or column formatting rules\n * @returns Map of columnName-to-format Maps indexed by normalized dataType\n */\n static makeColumnFormatMap(\n columnFormattingRules: FormattingRule[]\n ): Map<DataType, Map<ColumnName, TableColumnFormat>> {\n if (columnFormattingRules == null) {\n return new Map();\n }\n return columnFormattingRules.reduce((map, next) => {\n const dataType = TableUtils.getNormalizedType(next.columnType);\n if (dataType === null) {\n return map;\n }\n\n if (!map.has(dataType)) {\n map.set(dataType, new Map());\n }\n const formatMap = map.get(dataType);\n formatMap?.set(next.columnName, next.format);\n return map;\n }, new Map<DataType, Map<ColumnName, TableColumnFormat>>());\n }\n\n /**\n * Creates a column formatting rule\n * @param columnType Normalized data type\n * @param columnName Column name\n * @param format Format object\n */\n static makeColumnFormattingRule(\n columnType: DataType,\n columnName: string,\n format: TableColumnFormat\n ): FormattingRule {\n return {\n columnType,\n columnName,\n format,\n };\n }\n\n /**\n * @param columnFormattingRules Optional array of column formatting rules\n * @param dateTimeOptions Optional object with DateTime configuration\n * @param decimalFormatOptions Optional object with Decimal configuration\n * @param integerFormatOptions Optional object with Integer configuration\n */\n constructor(\n columnFormattingRules: FormattingRule[] = [],\n dateTimeOptions?: ConstructorParameters<typeof DateTimeColumnFormatter>[0],\n decimalFormatOptions?: ConstructorParameters<\n typeof DecimalColumnFormatter\n >[0],\n integerFormatOptions?: ConstructorParameters<\n typeof IntegerColumnFormatter\n >[0]\n ) {\n // Formatting order:\n // - columnFormatMap[type][name]\n // - typeFormatterMap[type]\n // - defaultColumnFormatter\n\n this.defaultColumnFormatter = new DefaultColumnFormatter();\n\n // Default formatters by data type\n this.typeFormatterMap = new Map<DataType, TableColumnFormatter>([\n [TableUtils.dataType.BOOLEAN, new BooleanColumnFormatter()],\n [TableUtils.dataType.CHAR, new CharColumnFormatter()],\n [\n TableUtils.dataType.DATETIME,\n new DateTimeColumnFormatter(dateTimeOptions),\n ],\n [\n TableUtils.dataType.DECIMAL,\n new DecimalColumnFormatter(decimalFormatOptions),\n ],\n [\n TableUtils.dataType.INT,\n new IntegerColumnFormatter(integerFormatOptions),\n ],\n [TableUtils.dataType.STRING, new StringColumnFormatter()],\n ]);\n\n // Formats indexed by data type and column name\n this.columnFormatMap = Formatter.makeColumnFormatMap(columnFormattingRules);\n }\n\n defaultColumnFormatter: TableColumnFormatter;\n\n typeFormatterMap: Map<DataType, TableColumnFormatter>;\n\n columnFormatMap: Map<DataType, Map<string, TableColumnFormat>>;\n\n /**\n * Gets columnFormatMap indexed by name for a given column type, creates new Map entry if necessary\n * @param columnType column type\n * @param createIfNecessary create new entry if true\n * @returns Map of format strings indexed by column name or undefined if it doesn't exist\n */\n getColumnFormatMapForType(\n columnType: string,\n createIfNecessary = false\n ): Map<string, TableColumnFormat> | undefined {\n const dataType = TableUtils.getNormalizedType(columnType);\n if (dataType === null) {\n log.warn(`Unknown columnType ${columnType}`);\n return undefined;\n }\n\n if (createIfNecessary && !this.columnFormatMap.has(dataType)) {\n this.columnFormatMap.set(dataType, new Map());\n }\n return this.columnFormatMap.get(dataType);\n }\n\n /**\n * Gets a column format object for a given column type and name\n * @param columnType column type\n * @param columnName column name\n * @returns format object or null for Default\n */\n getColumnFormat(\n columnType: string,\n columnName: string\n ): TableColumnFormat | null {\n const columnFormatMap = this.getColumnFormatMapForType(columnType);\n return columnFormatMap?.get(columnName) ?? null;\n }\n\n getColumnTypeFormatter(columnType: string): TableColumnFormatter {\n const dataType = TableUtils.getNormalizedType(columnType);\n let columnTypeFormatter = this.defaultColumnFormatter;\n if (dataType) {\n columnTypeFormatter =\n this.typeFormatterMap.get(dataType) ?? columnTypeFormatter;\n }\n return columnTypeFormatter;\n }\n\n /**\n * Gets formatted string for a given value, column type and name\n * @param value Value to format\n * @param columnType Column type used to determine the formatting settings\n * @param columnName Column name used to determine the formatting settings\n * @param formatOverride Format object passed to the formatter in place of the format defined in columnFormatMap\n */\n getFormattedString(\n value: unknown,\n columnType: string,\n columnName = '',\n formatOverride?: TableColumnFormat\n ): string {\n if (value == null) {\n return '';\n }\n\n const formatter = this.getColumnTypeFormatter(columnType);\n const format =\n formatOverride || this.getColumnFormat(columnType, columnName);\n\n return formatter.format(value, format ?? undefined);\n }\n\n /**\n * Gets the timeZone name\n * @returns The time zone name E.g. America/New_York\n */\n get timeZone(): string {\n const formatter = this.typeFormatterMap.get(\n TableUtils.dataType.DATETIME\n ) as DateTimeColumnFormatter;\n return formatter?.dhTimeZone?.id;\n }\n}\n\nexport default Formatter;\n"],"file":"Formatter.js"}
|
|
1
|
+
{"version":3,"sources":["../src/Formatter.ts"],"names":["Log","TableUtils","BooleanColumnFormatter","CharColumnFormatter","DateTimeColumnFormatter","DecimalColumnFormatter","DefaultColumnFormatter","IntegerColumnFormatter","StringColumnFormatter","log","module","Formatter","makeColumnFormatMap","columnFormattingRules","Map","reduce","map","next","dataType","getNormalizedType","columnType","has","set","formatMap","get","columnName","format","makeColumnFormattingRule","constructor","dateTimeOptions","decimalFormatOptions","integerFormatOptions","truncateNumbersWithPound","defaultColumnFormatter","typeFormatterMap","BOOLEAN","CHAR","DATETIME","DECIMAL","INT","STRING","columnFormatMap","getColumnFormatMapForType","createIfNecessary","warn","undefined","getColumnFormat","getColumnTypeFormatter","columnTypeFormatter","getFormattedString","value","formatOverride","formatter","timeZone","dhTimeZone","id"],"mappings":"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","sourcesContent":["import { Log } from '@deephaven/log';\nimport TableUtils, { DataType } from './TableUtils';\nimport {\n BooleanColumnFormatter,\n CharColumnFormatter,\n DateTimeColumnFormatter,\n DecimalColumnFormatter,\n DefaultColumnFormatter,\n IntegerColumnFormatter,\n TableColumnFormat,\n TableColumnFormatter,\n} from './formatters';\nimport StringColumnFormatter from './formatters/StringColumnFormatter';\n\nconst log = Log.module('Formatter');\n\ntype ColumnName = string;\n\nexport interface FormattingRule {\n columnType: string;\n columnName: string;\n format: TableColumnFormat;\n}\n\nclass Formatter {\n /**\n * Converts FormattingRule[] to Map\n * @param columnFormattingRules Array or column formatting rules\n * @returns Map of columnName-to-format Maps indexed by normalized dataType\n */\n static makeColumnFormatMap(\n columnFormattingRules: FormattingRule[]\n ): Map<DataType, Map<ColumnName, TableColumnFormat>> {\n if (columnFormattingRules == null) {\n return new Map();\n }\n return columnFormattingRules.reduce((map, next) => {\n const dataType = TableUtils.getNormalizedType(next.columnType);\n if (dataType === null) {\n return map;\n }\n\n if (!map.has(dataType)) {\n map.set(dataType, new Map());\n }\n const formatMap = map.get(dataType);\n formatMap?.set(next.columnName, next.format);\n return map;\n }, new Map<DataType, Map<ColumnName, TableColumnFormat>>());\n }\n\n /**\n * Creates a column formatting rule\n * @param columnType Normalized data type\n * @param columnName Column name\n * @param format Format object\n */\n static makeColumnFormattingRule(\n columnType: DataType,\n columnName: string,\n format: TableColumnFormat\n ): FormattingRule {\n return {\n columnType,\n columnName,\n format,\n };\n }\n\n /**\n * @param columnFormattingRules Optional array of column formatting rules\n * @param dateTimeOptions Optional object with DateTime configuration\n * @param decimalFormatOptions Optional object with Decimal configuration\n * @param integerFormatOptions Optional object with Integer configuration\n * @param truncateNumbersWithPound Determine if numbers should be truncated w/ repeating # instead of ellipsis at the end\n */\n constructor(\n columnFormattingRules: FormattingRule[] = [],\n dateTimeOptions?: ConstructorParameters<typeof DateTimeColumnFormatter>[0],\n decimalFormatOptions?: ConstructorParameters<\n typeof DecimalColumnFormatter\n >[0],\n integerFormatOptions?: ConstructorParameters<\n typeof IntegerColumnFormatter\n >[0],\n truncateNumbersWithPound = false\n ) {\n // Formatting order:\n // - columnFormatMap[type][name]\n // - typeFormatterMap[type]\n // - defaultColumnFormatter\n\n this.defaultColumnFormatter = new DefaultColumnFormatter();\n\n // Default formatters by data type\n this.typeFormatterMap = new Map<DataType, TableColumnFormatter>([\n [TableUtils.dataType.BOOLEAN, new BooleanColumnFormatter()],\n [TableUtils.dataType.CHAR, new CharColumnFormatter()],\n [\n TableUtils.dataType.DATETIME,\n new DateTimeColumnFormatter(dateTimeOptions),\n ],\n [\n TableUtils.dataType.DECIMAL,\n new DecimalColumnFormatter(decimalFormatOptions),\n ],\n [\n TableUtils.dataType.INT,\n new IntegerColumnFormatter(integerFormatOptions),\n ],\n [TableUtils.dataType.STRING, new StringColumnFormatter()],\n ]);\n\n // Formats indexed by data type and column name\n this.columnFormatMap = Formatter.makeColumnFormatMap(columnFormattingRules);\n this.truncateNumbersWithPound = truncateNumbersWithPound;\n }\n\n defaultColumnFormatter: TableColumnFormatter;\n\n typeFormatterMap: Map<DataType, TableColumnFormatter>;\n\n columnFormatMap: Map<DataType, Map<string, TableColumnFormat>>;\n\n truncateNumbersWithPound: boolean;\n\n /**\n * Gets columnFormatMap indexed by name for a given column type, creates new Map entry if necessary\n * @param columnType column type\n * @param createIfNecessary create new entry if true\n * @returns Map of format strings indexed by column name or undefined if it doesn't exist\n */\n getColumnFormatMapForType(\n columnType: string,\n createIfNecessary = false\n ): Map<string, TableColumnFormat> | undefined {\n const dataType = TableUtils.getNormalizedType(columnType);\n if (dataType === null) {\n log.warn(`Unknown columnType ${columnType}`);\n return undefined;\n }\n\n if (createIfNecessary && !this.columnFormatMap.has(dataType)) {\n this.columnFormatMap.set(dataType, new Map());\n }\n return this.columnFormatMap.get(dataType);\n }\n\n /**\n * Gets a column format object for a given column type and name\n * @param columnType column type\n * @param columnName column name\n * @returns format object or null for Default\n */\n getColumnFormat(\n columnType: string,\n columnName: string\n ): TableColumnFormat | null {\n const columnFormatMap = this.getColumnFormatMapForType(columnType);\n return columnFormatMap?.get(columnName) ?? null;\n }\n\n getColumnTypeFormatter(columnType: string): TableColumnFormatter {\n const dataType = TableUtils.getNormalizedType(columnType);\n let columnTypeFormatter = this.defaultColumnFormatter;\n if (dataType) {\n columnTypeFormatter =\n this.typeFormatterMap.get(dataType) ?? columnTypeFormatter;\n }\n return columnTypeFormatter;\n }\n\n /**\n * Gets formatted string for a given value, column type and name\n * @param value Value to format\n * @param columnType Column type used to determine the formatting settings\n * @param columnName Column name used to determine the formatting settings\n * @param formatOverride Format object passed to the formatter in place of the format defined in columnFormatMap\n */\n getFormattedString(\n value: unknown,\n columnType: string,\n columnName = '',\n formatOverride?: TableColumnFormat\n ): string {\n if (value == null) {\n return '';\n }\n\n const formatter = this.getColumnTypeFormatter(columnType);\n const format =\n formatOverride || this.getColumnFormat(columnType, columnName);\n\n return formatter.format(value, format ?? undefined);\n }\n\n /**\n * Gets the timeZone name\n * @returns The time zone name E.g. America/New_York\n */\n get timeZone(): string {\n const formatter = this.typeFormatterMap.get(\n TableUtils.dataType.DATETIME\n ) as DateTimeColumnFormatter;\n return formatter?.dhTimeZone?.id;\n }\n}\n\nexport default Formatter;\n"],"file":"Formatter.js"}
|
package/dist/IrisGrid.d.ts
CHANGED
|
@@ -89,6 +89,7 @@ export class IrisGrid extends React.Component<any, any, any> {
|
|
|
89
89
|
dateTimeFormatterOptions: {};
|
|
90
90
|
decimalFormatOptions: {};
|
|
91
91
|
integerFormatOptions: {};
|
|
92
|
+
truncateNumbersWithPound: boolean;
|
|
92
93
|
loadingScrimStartTime: number | null;
|
|
93
94
|
loadingScrimFinishTime: number | null;
|
|
94
95
|
loadingTimer: NodeJS.Timeout | null;
|
|
@@ -355,6 +356,7 @@ export namespace IrisGrid {
|
|
|
355
356
|
defaultDateTimeFormat: PropTypes.Validator<string>;
|
|
356
357
|
showTimeZone: PropTypes.Validator<boolean>;
|
|
357
358
|
showTSeparator: PropTypes.Validator<boolean>;
|
|
359
|
+
truncateNumbersWithPound: PropTypes.Validator<boolean>;
|
|
358
360
|
formatter: PropTypes.Validator<(PropTypes.InferProps<{}> | null | undefined)[]>;
|
|
359
361
|
}>>;
|
|
360
362
|
const userColumnWidths: PropTypes.Requireable<Map<unknown, unknown>>;
|
|
@@ -499,6 +501,7 @@ export namespace IrisGrid {
|
|
|
499
501
|
const defaultDateTimeFormat: string;
|
|
500
502
|
const showTimeZone: boolean;
|
|
501
503
|
const showTSeparator: boolean;
|
|
504
|
+
const truncateNumbersWithPound: boolean;
|
|
502
505
|
const formatter: never[];
|
|
503
506
|
const decimalFormatOptions: PropTypes.Requireable<PropTypes.InferProps<{
|
|
504
507
|
defaultFormatString: PropTypes.Requireable<string>;
|
package/dist/IrisGrid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGrid.d.ts","sourceRoot":"","sources":["../src/IrisGrid.jsx"],"names":[],"mappings":"AAyHA;IACE,2BAAyB;IAEzB,2BAAyB;IAEzB,mCAAiC;IAEjC,sHAOC;IAED,
|
|
1
|
+
{"version":3,"file":"IrisGrid.d.ts","sourceRoot":"","sources":["../src/IrisGrid.jsx"],"names":[],"mappings":"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"}
|
package/dist/IrisGrid.js
CHANGED
|
@@ -411,7 +411,8 @@ export class IrisGrid extends Component {
|
|
|
411
411
|
this.globalColumnFormats = [];
|
|
412
412
|
this.dateTimeFormatterOptions = {};
|
|
413
413
|
this.decimalFormatOptions = {};
|
|
414
|
-
this.integerFormatOptions = {};
|
|
414
|
+
this.integerFormatOptions = {};
|
|
415
|
+
this.truncateNumbersWithPound = false; // When the loading scrim started/when it should extend to the end of the screen.
|
|
415
416
|
|
|
416
417
|
this.loadingScrimStartTime = null;
|
|
417
418
|
this.loadingScrimFinishTime = null;
|
|
@@ -1047,18 +1048,21 @@ export class IrisGrid extends Component {
|
|
|
1047
1048
|
var dateTimeFormatterOptions = FormatterUtils.getDateTimeFormatterOptions(settings);
|
|
1048
1049
|
var {
|
|
1049
1050
|
defaultDecimalFormatOptions = {},
|
|
1050
|
-
defaultIntegerFormatOptions = {}
|
|
1051
|
+
defaultIntegerFormatOptions = {},
|
|
1052
|
+
truncateNumbersWithPound = false
|
|
1051
1053
|
} = settings;
|
|
1052
1054
|
var isColumnFormatChanged = !deepEqual(this.globalColumnFormats, globalColumnFormats);
|
|
1053
1055
|
var isDateFormattingChanged = !deepEqual(this.dateTimeFormatterOptions, dateTimeFormatterOptions);
|
|
1054
1056
|
var isDecimalFormattingChanged = !deepEqual(this.decimalFormatOptions, defaultDecimalFormatOptions);
|
|
1055
1057
|
var isIntegerFormattingChanged = !deepEqual(this.integerFormatOptions, defaultIntegerFormatOptions);
|
|
1058
|
+
var isTruncateNumbersChanged = this.truncateNumbersWithPound !== truncateNumbersWithPound;
|
|
1056
1059
|
|
|
1057
|
-
if (isColumnFormatChanged || isDateFormattingChanged || isDecimalFormattingChanged || isIntegerFormattingChanged) {
|
|
1060
|
+
if (isColumnFormatChanged || isDateFormattingChanged || isDecimalFormattingChanged || isIntegerFormattingChanged || isTruncateNumbersChanged) {
|
|
1058
1061
|
this.globalColumnFormats = globalColumnFormats;
|
|
1059
1062
|
this.dateTimeFormatterOptions = dateTimeFormatterOptions;
|
|
1060
1063
|
this.decimalFormatOptions = defaultDecimalFormatOptions;
|
|
1061
1064
|
this.integerFormatOptions = defaultIntegerFormatOptions;
|
|
1065
|
+
this.truncateNumbersWithPound = truncateNumbersWithPound;
|
|
1062
1066
|
this.updateFormatter({}, forceUpdate);
|
|
1063
1067
|
|
|
1064
1068
|
if (isDateFormattingChanged && forceUpdate) {
|
|
@@ -1078,7 +1082,7 @@ export class IrisGrid extends Component {
|
|
|
1078
1082
|
}, updatedFormats);
|
|
1079
1083
|
|
|
1080
1084
|
var mergedColumnFormats = [...this.globalColumnFormats, ...update.customColumnFormatMap.values()];
|
|
1081
|
-
var formatter = new Formatter(mergedColumnFormats, this.dateTimeFormatterOptions, this.decimalFormatOptions, this.integerFormatOptions);
|
|
1085
|
+
var formatter = new Formatter(mergedColumnFormats, this.dateTimeFormatterOptions, this.decimalFormatOptions, this.integerFormatOptions, this.truncateNumbersWithPound);
|
|
1082
1086
|
log.debug('updateFormatter', this.globalColumnFormats, mergedColumnFormats);
|
|
1083
1087
|
this.setState(_objectSpread(_objectSpread({}, update), {}, {
|
|
1084
1088
|
formatter
|
|
@@ -3341,6 +3345,7 @@ IrisGrid.propTypes = {
|
|
|
3341
3345
|
defaultDateTimeFormat: PropTypes.string.isRequired,
|
|
3342
3346
|
showTimeZone: PropTypes.bool.isRequired,
|
|
3343
3347
|
showTSeparator: PropTypes.bool.isRequired,
|
|
3348
|
+
truncateNumbersWithPound: PropTypes.bool.isRequired,
|
|
3344
3349
|
formatter: PropTypes.arrayOf(PropTypes.shape({})).isRequired
|
|
3345
3350
|
}),
|
|
3346
3351
|
userColumnWidths: PropTypes.instanceOf(Map),
|
|
@@ -3442,6 +3447,7 @@ IrisGrid.defaultProps = {
|
|
|
3442
3447
|
defaultDateTimeFormat: DateUtils.FULL_DATE_FORMAT,
|
|
3443
3448
|
showTimeZone: false,
|
|
3444
3449
|
showTSeparator: true,
|
|
3450
|
+
truncateNumbersWithPound: false,
|
|
3445
3451
|
formatter: [],
|
|
3446
3452
|
decimalFormatOptions: PropTypes.shape({
|
|
3447
3453
|
defaultFormatString: PropTypes.string
|