@deephaven/grid 0.15.1 → 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.
Files changed (62) hide show
  1. package/dist/ColumnHeaderGroup.d.ts +9 -0
  2. package/dist/ColumnHeaderGroup.d.ts.map +1 -0
  3. package/dist/ColumnHeaderGroup.js +2 -0
  4. package/dist/ColumnHeaderGroup.js.map +1 -0
  5. package/dist/Grid.d.ts +5 -4
  6. package/dist/Grid.d.ts.map +1 -1
  7. package/dist/Grid.js +5 -6
  8. package/dist/Grid.js.map +1 -1
  9. package/dist/GridAxisRange.d.ts +10 -0
  10. package/dist/GridAxisRange.d.ts.map +1 -0
  11. package/dist/GridAxisRange.js +17 -0
  12. package/dist/GridAxisRange.js.map +1 -0
  13. package/dist/GridMetricCalculator.d.ts +10 -8
  14. package/dist/GridMetricCalculator.d.ts.map +1 -1
  15. package/dist/GridMetricCalculator.js +38 -16
  16. package/dist/GridMetricCalculator.js.map +1 -1
  17. package/dist/GridMetrics.d.ts +8 -4
  18. package/dist/GridMetrics.d.ts.map +1 -1
  19. package/dist/GridModel.d.ts +20 -2
  20. package/dist/GridModel.d.ts.map +1 -1
  21. package/dist/GridModel.js +30 -2
  22. package/dist/GridModel.js.map +1 -1
  23. package/dist/GridMouseHandler.d.ts +0 -1
  24. package/dist/GridMouseHandler.d.ts.map +1 -1
  25. package/dist/GridRenderer.d.ts +33 -6
  26. package/dist/GridRenderer.d.ts.map +1 -1
  27. package/dist/GridRenderer.js +428 -179
  28. package/dist/GridRenderer.js.map +1 -1
  29. package/dist/GridUtils.d.ts +34 -24
  30. package/dist/GridUtils.d.ts.map +1 -1
  31. package/dist/GridUtils.js +99 -61
  32. package/dist/GridUtils.js.map +1 -1
  33. package/dist/MockGridModel.d.ts +1 -1
  34. package/dist/MockGridModel.d.ts.map +1 -1
  35. package/dist/MockGridModel.js +1 -0
  36. package/dist/MockGridModel.js.map +1 -1
  37. package/dist/MockTreeGridModel.d.ts +0 -1
  38. package/dist/MockTreeGridModel.d.ts.map +1 -1
  39. package/dist/index.d.ts +2 -0
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +2 -0
  42. package/dist/index.js.map +1 -1
  43. package/dist/mouse-handlers/GridColumnMoveMouseHandler.d.ts +44 -4
  44. package/dist/mouse-handlers/GridColumnMoveMouseHandler.d.ts.map +1 -1
  45. package/dist/mouse-handlers/GridColumnMoveMouseHandler.js +486 -80
  46. package/dist/mouse-handlers/GridColumnMoveMouseHandler.js.map +1 -1
  47. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.d.ts +7 -5
  48. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.d.ts.map +1 -1
  49. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js +26 -14
  50. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js.map +1 -1
  51. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.d.ts +7 -5
  52. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.d.ts.map +1 -1
  53. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js +11 -14
  54. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js.map +1 -1
  55. package/dist/mouse-handlers/GridSeparatorMouseHandler.d.ts +11 -4
  56. package/dist/mouse-handlers/GridSeparatorMouseHandler.d.ts.map +1 -1
  57. package/dist/mouse-handlers/GridSeparatorMouseHandler.js +41 -31
  58. package/dist/mouse-handlers/GridSeparatorMouseHandler.js.map +1 -1
  59. package/dist/mouse-handlers/index.d.ts +1 -0
  60. package/dist/mouse-handlers/index.js +1 -0
  61. package/dist/mouse-handlers/index.js.map +1 -1
  62. 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, IndexModelMap, ModelIndex, ModelSizeMap, MoveOperation, SizeMap } from './GridMetrics';
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: IndexModelMap;
69
+ protected modelRows: VisibleToModelMap;
68
70
  /** Map from visible index to model index for columns (e.g. reversing movedColumns operations) */
69
- protected modelColumns: IndexModelMap;
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: IndexModelMap, state: GridMetricState): Map<VisibleIndex, BoxCoordinates>;
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 ModelIndex to Index
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 Index to ModelIndex
389
+ * @returns Map of VisibleIndex to ModelIndex
388
390
  */
389
- getModelRows(visibleRows: VisibleIndex[], state: GridMetricState): IndexModelMap;
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): IndexModelMap;
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":"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"}
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
- return columnHeaderHeight;
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 ModelIndex to Index
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 Index to ModelIndex
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);