@deephaven/grid 0.15.2-beta.6 → 0.15.2
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/ColumnHeaderGroup.d.ts +9 -0
- package/dist/ColumnHeaderGroup.d.ts.map +1 -0
- package/dist/ColumnHeaderGroup.js +2 -0
- package/dist/ColumnHeaderGroup.js.map +1 -0
- package/dist/Grid.d.ts +5 -4
- package/dist/Grid.d.ts.map +1 -1
- package/dist/Grid.js +5 -6
- package/dist/Grid.js.map +1 -1
- package/dist/GridAxisRange.d.ts +10 -0
- package/dist/GridAxisRange.d.ts.map +1 -0
- package/dist/GridAxisRange.js +17 -0
- package/dist/GridAxisRange.js.map +1 -0
- package/dist/GridMetricCalculator.d.ts +10 -8
- package/dist/GridMetricCalculator.d.ts.map +1 -1
- package/dist/GridMetricCalculator.js +38 -16
- package/dist/GridMetricCalculator.js.map +1 -1
- package/dist/GridMetrics.d.ts +8 -4
- package/dist/GridMetrics.d.ts.map +1 -1
- package/dist/GridModel.d.ts +20 -2
- package/dist/GridModel.d.ts.map +1 -1
- package/dist/GridModel.js +30 -2
- package/dist/GridModel.js.map +1 -1
- package/dist/GridMouseHandler.d.ts +0 -1
- package/dist/GridMouseHandler.d.ts.map +1 -1
- package/dist/GridRenderer.d.ts +33 -6
- package/dist/GridRenderer.d.ts.map +1 -1
- package/dist/GridRenderer.js +428 -179
- package/dist/GridRenderer.js.map +1 -1
- package/dist/GridUtils.d.ts +34 -24
- package/dist/GridUtils.d.ts.map +1 -1
- package/dist/GridUtils.js +99 -61
- package/dist/GridUtils.js.map +1 -1
- package/dist/MockGridModel.d.ts +1 -1
- package/dist/MockGridModel.d.ts.map +1 -1
- package/dist/MockGridModel.js +1 -0
- package/dist/MockGridModel.js.map +1 -1
- package/dist/MockTreeGridModel.d.ts +0 -1
- package/dist/MockTreeGridModel.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/mouse-handlers/GridColumnMoveMouseHandler.d.ts +44 -4
- package/dist/mouse-handlers/GridColumnMoveMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridColumnMoveMouseHandler.js +486 -80
- package/dist/mouse-handlers/GridColumnMoveMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.d.ts +7 -5
- package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js +26 -14
- package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridRowSeparatorMouseHandler.d.ts +7 -5
- package/dist/mouse-handlers/GridRowSeparatorMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js +11 -14
- package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridSeparatorMouseHandler.d.ts +11 -4
- package/dist/mouse-handlers/GridSeparatorMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridSeparatorMouseHandler.js +41 -31
- package/dist/mouse-handlers/GridSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/index.d.ts +1 -0
- package/dist/mouse-handlers/index.js +1 -0
- package/dist/mouse-handlers/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { GridRangeIndex } from './GridRange';
|
|
2
|
+
import type { VisibleIndex } from './GridMetrics';
|
|
3
|
+
export declare type Range<T> = [start: T, end: T];
|
|
4
|
+
export declare type AxisRange = Range<GridRangeIndex>;
|
|
5
|
+
export declare type BoundedAxisRange = Range<VisibleIndex>;
|
|
6
|
+
export declare function isAxisRange(range: unknown): range is AxisRange;
|
|
7
|
+
export declare function assertAxisRange(range: unknown): asserts range is AxisRange;
|
|
8
|
+
export declare function isBoundedAxisRange(range: unknown): range is BoundedAxisRange;
|
|
9
|
+
export declare function assertBoundedAxisRange(range: unknown): asserts range is BoundedAxisRange;
|
|
10
|
+
//# sourceMappingURL=GridAxisRange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GridAxisRange.d.ts","sourceRoot":"","sources":["../src/GridAxisRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,oBAAY,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AAE1C,oBAAY,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AAC9C,oBAAY,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;AAEnD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAO9D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAI1E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAInC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export function isAxisRange(range) {
|
|
2
|
+
return Array.isArray(range) && range.length === 2 && (range[0] === null || typeof range[0] === 'number') && (range[1] === null || typeof range[1] === 'number');
|
|
3
|
+
}
|
|
4
|
+
export function assertAxisRange(range) {
|
|
5
|
+
if (!isAxisRange(range)) {
|
|
6
|
+
throw new Error("Expected axis range. Received: ".concat(range));
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export function isBoundedAxisRange(range) {
|
|
10
|
+
return isAxisRange(range) && range[0] != null && range[1] != null;
|
|
11
|
+
}
|
|
12
|
+
export function assertBoundedAxisRange(range) {
|
|
13
|
+
if (!isBoundedAxisRange(range)) {
|
|
14
|
+
throw new Error("Expected bounded axis range. Received: ".concat(range));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=GridAxisRange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/GridAxisRange.ts"],"names":["isAxisRange","range","Array","isArray","length","assertAxisRange","Error","isBoundedAxisRange","assertBoundedAxisRange"],"mappings":"AAQA,OAAO,SAASA,WAAT,CAAqBC,KAArB,EAAyD;AAC9D,SACEC,KAAK,CAACC,OAAN,CAAcF,KAAd,KACAA,KAAK,CAACG,MAAN,KAAiB,CADjB,KAECH,KAAK,CAAC,CAAD,CAAL,KAAa,IAAb,IAAqB,OAAOA,KAAK,CAAC,CAAD,CAAZ,KAAoB,QAF1C,MAGCA,KAAK,CAAC,CAAD,CAAL,KAAa,IAAb,IAAqB,OAAOA,KAAK,CAAC,CAAD,CAAZ,KAAoB,QAH1C,CADF;AAMD;AAED,OAAO,SAASI,eAAT,CAAyBJ,KAAzB,EAAqE;AAC1E,MAAI,CAACD,WAAW,CAACC,KAAD,CAAhB,EAAyB;AACvB,UAAM,IAAIK,KAAJ,0CAA4CL,KAA5C,EAAN;AACD;AACF;AAED,OAAO,SAASM,kBAAT,CAA4BN,KAA5B,EAAuE;AAC5E,SAAOD,WAAW,CAACC,KAAD,CAAX,IAAsBA,KAAK,CAAC,CAAD,CAAL,IAAY,IAAlC,IAA0CA,KAAK,CAAC,CAAD,CAAL,IAAY,IAA7D;AACD;AAED,OAAO,SAASO,sBAAT,CACLP,KADK,EAE8B;AACnC,MAAI,CAACM,kBAAkB,CAACN,KAAD,CAAvB,EAAgC;AAC9B,UAAM,IAAIK,KAAJ,kDAAoDL,KAApD,EAAN;AACD;AACF","sourcesContent":["import type { GridRangeIndex } from './GridRange';\nimport type { VisibleIndex } from './GridMetrics';\n\nexport type Range<T> = [start: T, end: T];\n\nexport type AxisRange = Range<GridRangeIndex>;\nexport type BoundedAxisRange = Range<VisibleIndex>;\n\nexport function isAxisRange(range: unknown): range is AxisRange {\n return (\n Array.isArray(range) &&\n range.length === 2 &&\n (range[0] === null || typeof range[0] === 'number') &&\n (range[1] === null || typeof range[1] === 'number')\n );\n}\n\nexport function assertAxisRange(range: unknown): asserts range is AxisRange {\n if (!isAxisRange(range)) {\n throw new Error(`Expected axis range. Received: ${range}`);\n }\n}\n\nexport function isBoundedAxisRange(range: unknown): range is BoundedAxisRange {\n return isAxisRange(range) && range[0] != null && range[1] != null;\n}\n\nexport function assertBoundedAxisRange(\n range: unknown\n): asserts range is BoundedAxisRange {\n if (!isBoundedAxisRange(range)) {\n throw new Error(`Expected bounded axis range. Received: ${range}`);\n }\n}\n"],"file":"GridAxisRange.js"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import GridModel from './GridModel';
|
|
2
|
-
import type { GridMetrics, BoxCoordinates, Coordinate, CoordinateMap, VisibleIndex,
|
|
2
|
+
import type { GridMetrics, BoxCoordinates, Coordinate, CoordinateMap, VisibleIndex, VisibleToModelMap, ModelIndex, ModelSizeMap, MoveOperation, SizeMap } from './GridMetrics';
|
|
3
3
|
import { GridFont, GridTheme } from './GridTheme';
|
|
4
|
+
import { DraggingColumn } from './mouse-handlers/GridColumnMoveMouseHandler';
|
|
4
5
|
export interface GridMetricState {
|
|
5
6
|
left: VisibleIndex;
|
|
6
7
|
top: VisibleIndex;
|
|
@@ -15,6 +16,7 @@ export interface GridMetricState {
|
|
|
15
16
|
movedRows: MoveOperation[];
|
|
16
17
|
isDraggingHorizontalScrollBar: boolean;
|
|
17
18
|
isDraggingVerticalScrollBar: boolean;
|
|
19
|
+
draggingColumn: DraggingColumn | null;
|
|
18
20
|
}
|
|
19
21
|
/**
|
|
20
22
|
* Retrieve a value from a map. If the value is not found and no default value is provided, throw.
|
|
@@ -64,9 +66,9 @@ export declare class GridMetricCalculator {
|
|
|
64
66
|
/** Cache of fonts to estimated width of one char */
|
|
65
67
|
protected fontWidths: Map<string, number>;
|
|
66
68
|
/** Map from visible index to model index for rows (e.g. reversing movedRows operations) */
|
|
67
|
-
protected modelRows:
|
|
69
|
+
protected modelRows: VisibleToModelMap;
|
|
68
70
|
/** Map from visible index to model index for columns (e.g. reversing movedColumns operations) */
|
|
69
|
-
protected modelColumns:
|
|
71
|
+
protected modelColumns: VisibleToModelMap;
|
|
70
72
|
/** List of moved row operations. Need to track the previous value so we know if modelRows needs to be cleared. */
|
|
71
73
|
protected movedRows: MoveOperation[];
|
|
72
74
|
/** List of moved column operations. Need to track the previous value so we know if modelColumns needs to be cleared. */
|
|
@@ -258,7 +260,7 @@ export declare class GridMetricCalculator {
|
|
|
258
260
|
* @param state The grid metric state
|
|
259
261
|
* @returns Coordinates of tree boxes for each row
|
|
260
262
|
*/
|
|
261
|
-
getVisibleRowTreeBoxes(visibleRowHeights: SizeMap, modelRows:
|
|
263
|
+
getVisibleRowTreeBoxes(visibleRowHeights: SizeMap, modelRows: VisibleToModelMap, state: GridMetricState): Map<VisibleIndex, BoxCoordinates>;
|
|
262
264
|
/**
|
|
263
265
|
* Get the total width of the floating columns on the left
|
|
264
266
|
* @param state The grid metric state
|
|
@@ -381,12 +383,12 @@ export declare class GridMetricCalculator {
|
|
|
381
383
|
*/
|
|
382
384
|
getVisibleColumnWidth(column: VisibleIndex, state: GridMetricState, firstColumn?: VisibleIndex, treePaddingX?: number): number;
|
|
383
385
|
/**
|
|
384
|
-
* Get a map of
|
|
386
|
+
* Get a map of VisibleIndex to ModelIndex
|
|
385
387
|
* @param visibleRows Array of visible row indexes
|
|
386
388
|
* @param state The grid metric state
|
|
387
|
-
* @returns Map of
|
|
389
|
+
* @returns Map of VisibleIndex to ModelIndex
|
|
388
390
|
*/
|
|
389
|
-
getModelRows(visibleRows: VisibleIndex[], state: GridMetricState):
|
|
391
|
+
getModelRows(visibleRows: VisibleIndex[], state: GridMetricState): VisibleToModelMap;
|
|
390
392
|
/**
|
|
391
393
|
* Get the ModelIndex of the specified row
|
|
392
394
|
* @param visibleRow Index of the row
|
|
@@ -400,7 +402,7 @@ export declare class GridMetricCalculator {
|
|
|
400
402
|
* @param state The grid metric state
|
|
401
403
|
* @returns Map of Index to ModelIndex
|
|
402
404
|
*/
|
|
403
|
-
getModelColumns(visibleColumns: VisibleIndex[], state: GridMetricState):
|
|
405
|
+
getModelColumns(visibleColumns: VisibleIndex[], state: GridMetricState): VisibleToModelMap;
|
|
404
406
|
/**
|
|
405
407
|
* Get the ModelIndex of the specified column
|
|
406
408
|
* @param visibleColumn Index of the column
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridMetricCalculator.d.ts","sourceRoot":"","sources":["../src/GridMetricCalculator.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,aAAa,EACb,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"GridMetricCalculator.d.ts","sourceRoot":"","sources":["../src/GridMetricCalculator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
3
3
|
import clamp from 'lodash.clamp';
|
|
4
4
|
import GridUtils from "./GridUtils.js";
|
|
5
5
|
import { isExpandableGridModel } from "./ExpandableGridModel.js";
|
|
6
|
-
/* eslint class-methods-use-this: "off" */
|
|
7
|
-
|
|
8
|
-
/* eslint react/destructuring-assignment: "off" */
|
|
9
6
|
|
|
10
7
|
/**
|
|
11
8
|
* Retrieve a value from a map. If the value is not found and no default value is provided, throw.
|
|
@@ -163,7 +160,8 @@ export class GridMetricCalculator {
|
|
|
163
160
|
theme,
|
|
164
161
|
model,
|
|
165
162
|
movedRows,
|
|
166
|
-
movedColumns
|
|
163
|
+
movedColumns,
|
|
164
|
+
draggingColumn
|
|
167
165
|
} = state;
|
|
168
166
|
var {
|
|
169
167
|
rowHeight,
|
|
@@ -191,7 +189,8 @@ export class GridMetricCalculator {
|
|
|
191
189
|
floatingTopRowCount,
|
|
192
190
|
floatingBottomRowCount,
|
|
193
191
|
floatingLeftColumnCount,
|
|
194
|
-
floatingRightColumnCount
|
|
192
|
+
floatingRightColumnCount,
|
|
193
|
+
columnHeaderMaxDepth
|
|
195
194
|
} = model; // Get some basic metrics
|
|
196
195
|
|
|
197
196
|
var firstRow = this.getFirstRow(state);
|
|
@@ -216,11 +215,14 @@ export class GridMetricCalculator {
|
|
|
216
215
|
var right = visibleColumns.length > 0 ? visibleColumns[visibleColumns.length - 1] : left;
|
|
217
216
|
var bottomViewport = this.getBottomViewport(state, visibleRows, visibleRowYs, visibleRowHeights);
|
|
218
217
|
var rightViewport = this.getRightViewport(state, visibleColumns, visibleColumnXs, visibleColumnWidths);
|
|
218
|
+
var floatingTopHeight = this.getFloatingTopHeight(state, visibleRowHeights);
|
|
219
|
+
var floatingBottomHeight = this.getFloatingBottomHeight(state, visibleRowHeights);
|
|
220
|
+
var floatingLeftWidth = this.getFloatingLeftWidth(state, visibleColumnWidths);
|
|
221
|
+
var floatingRightWidth = this.getFloatingRightWidth(state, visibleColumnWidths);
|
|
219
222
|
var columnWidthValues = Array.from(visibleColumnWidths.values());
|
|
220
223
|
var rowHeightValues = Array.from(visibleRowHeights.values());
|
|
221
224
|
var maxX = columnWidthValues.reduce((x, w) => x + w, 0) - leftOffset;
|
|
222
225
|
var maxY = rowHeightValues.reduce((y, h) => y + h, 0) - topOffset;
|
|
223
|
-
var floatingBottomHeight = this.getFloatingBottomHeight(state, visibleRowHeights);
|
|
224
226
|
var lastLeft = this.getLastLeft(state, null, width - gridX - scrollBarSize - rowFooterWidth);
|
|
225
227
|
var lastTop = this.getLastTop(state, null, height - gridY - scrollBarSize - floatingBottomHeight); // How much total space the content will take
|
|
226
228
|
|
|
@@ -267,8 +269,24 @@ export class GridMetricCalculator {
|
|
|
267
269
|
visibleColumnXs = new Map([...visibleColumnXs, ...this.getFloatingColumnXs(state, visibleColumnWidths, Math.floor(width - gridX - verticalBarWidth))]);
|
|
268
270
|
}
|
|
269
271
|
|
|
272
|
+
var draggingColumns = [];
|
|
273
|
+
|
|
274
|
+
if (draggingColumn) {
|
|
275
|
+
for (var i = draggingColumn.range[0]; i <= draggingColumn.range[1]; i += 1) {
|
|
276
|
+
draggingColumns.push(i);
|
|
277
|
+
|
|
278
|
+
if (!visibleColumnWidths.has(i)) {
|
|
279
|
+
visibleColumnWidths.set(i, this.getVisibleColumnWidth(i, state));
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
if (!visibleColumnXs.has(i)) {
|
|
283
|
+
visibleColumnXs.set(i, 0);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
270
288
|
var allRows = visibleRows.concat(floatingRows);
|
|
271
|
-
var allColumns = visibleColumns.concat(floatingColumns);
|
|
289
|
+
var allColumns = visibleColumns.concat(floatingColumns).concat(draggingColumns);
|
|
272
290
|
var modelRows = this.getModelRows(allRows, state);
|
|
273
291
|
var modelColumns = this.getModelColumns(allColumns, state);
|
|
274
292
|
var visibleRowTreeBoxes = this.getVisibleRowTreeBoxes(visibleRowHeights, modelRows, state); // Calculate the visible viewport based on scroll position and floating sections
|
|
@@ -277,9 +295,6 @@ export class GridMetricCalculator {
|
|
|
277
295
|
var leftVisible = this.getLeftVisible(state, visibleColumnXs, visibleColumnWidths, visibleColumns);
|
|
278
296
|
var bottomVisible = lastTop > 0 ? this.getBottomVisible(state, visibleRowYs, visibleRowHeights, visibleRows, gridY) : bottom;
|
|
279
297
|
var rightVisible = lastLeft > 0 ? this.getRightVisible(state, visibleColumnXs, visibleColumnWidths, visibleColumns, gridX) : right;
|
|
280
|
-
var floatingTopHeight = this.getFloatingTopHeight(state, visibleRowHeights);
|
|
281
|
-
var floatingLeftWidth = this.getFloatingLeftWidth(state, visibleColumnWidths);
|
|
282
|
-
var floatingRightWidth = this.getFloatingRightWidth(state, visibleColumnWidths);
|
|
283
298
|
var {
|
|
284
299
|
fontWidths,
|
|
285
300
|
userColumnWidths,
|
|
@@ -378,6 +393,8 @@ export class GridMetricCalculator {
|
|
|
378
393
|
// Mapping from visible row indexes to the model row/columns they pull from
|
|
379
394
|
modelRows,
|
|
380
395
|
modelColumns,
|
|
396
|
+
movedRows,
|
|
397
|
+
movedColumns,
|
|
381
398
|
// Map of the width of the fonts
|
|
382
399
|
fontWidths,
|
|
383
400
|
// Map of user set column/row width/height
|
|
@@ -385,7 +402,8 @@ export class GridMetricCalculator {
|
|
|
385
402
|
userRowHeights,
|
|
386
403
|
// Map of calculated row/column height/width
|
|
387
404
|
calculatedRowHeights,
|
|
388
|
-
calculatedColumnWidths
|
|
405
|
+
calculatedColumnWidths,
|
|
406
|
+
columnHeaderMaxDepth
|
|
389
407
|
};
|
|
390
408
|
}
|
|
391
409
|
/**
|
|
@@ -413,12 +431,16 @@ export class GridMetricCalculator {
|
|
|
413
431
|
|
|
414
432
|
getGridY(state) {
|
|
415
433
|
var {
|
|
416
|
-
theme
|
|
434
|
+
theme,
|
|
435
|
+
model
|
|
417
436
|
} = state;
|
|
418
437
|
var {
|
|
419
438
|
columnHeaderHeight
|
|
420
439
|
} = theme;
|
|
421
|
-
|
|
440
|
+
var {
|
|
441
|
+
columnHeaderMaxDepth
|
|
442
|
+
} = model;
|
|
443
|
+
return columnHeaderMaxDepth * columnHeaderHeight;
|
|
422
444
|
}
|
|
423
445
|
/**
|
|
424
446
|
* The height of the "visible" area (excludes floating areas)
|
|
@@ -1255,10 +1277,10 @@ export class GridMetricCalculator {
|
|
|
1255
1277
|
return this.getVisibleItemSize(modelColumn, this.userColumnWidths, () => this.calculateColumnWidth(column, modelColumn, state, firstColumn, treePaddingX));
|
|
1256
1278
|
}
|
|
1257
1279
|
/**
|
|
1258
|
-
* Get a map of
|
|
1280
|
+
* Get a map of VisibleIndex to ModelIndex
|
|
1259
1281
|
* @param visibleRows Array of visible row indexes
|
|
1260
1282
|
* @param state The grid metric state
|
|
1261
|
-
* @returns Map of
|
|
1283
|
+
* @returns Map of VisibleIndex to ModelIndex
|
|
1262
1284
|
*/
|
|
1263
1285
|
|
|
1264
1286
|
|
|
@@ -1430,7 +1452,7 @@ export class GridMetricCalculator {
|
|
|
1430
1452
|
headerFont,
|
|
1431
1453
|
headerHorizontalPadding
|
|
1432
1454
|
} = theme;
|
|
1433
|
-
var headerText = model.textForColumnHeader(modelColumn);
|
|
1455
|
+
var headerText = model.textForColumnHeader(modelColumn, 0);
|
|
1434
1456
|
|
|
1435
1457
|
if (headerText) {
|
|
1436
1458
|
var headerFontWidth = this.getWidthForFont(headerFont, state);
|