@deephaven/grid 1.22.1-alpha-pivot-builder.0 → 1.22.2-alpha-pivot-builder.0

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 (60) hide show
  1. package/dist/CellInputField.js +41 -22
  2. package/dist/CellInputField.js.map +1 -1
  3. package/dist/CellRenderer.js +19 -27
  4. package/dist/CellRenderer.js.map +1 -1
  5. package/dist/DataBarCellRenderer.js +61 -87
  6. package/dist/DataBarCellRenderer.js.map +1 -1
  7. package/dist/Grid.js +281 -455
  8. package/dist/Grid.js.map +1 -1
  9. package/dist/GridColorUtils.js +23 -21
  10. package/dist/GridColorUtils.js.map +1 -1
  11. package/dist/GridMetricCalculator.js +192 -303
  12. package/dist/GridMetricCalculator.js.map +1 -1
  13. package/dist/GridRange.js +18 -28
  14. package/dist/GridRange.js.map +1 -1
  15. package/dist/GridRenderer.d.ts.map +1 -1
  16. package/dist/GridRenderer.js +432 -604
  17. package/dist/GridRenderer.js.map +1 -1
  18. package/dist/GridUtils.d.ts +33 -16
  19. package/dist/GridUtils.d.ts.map +1 -1
  20. package/dist/GridUtils.js +183 -213
  21. package/dist/GridUtils.js.map +1 -1
  22. package/dist/MockGridModel.js +17 -10
  23. package/dist/MockGridModel.js.map +1 -1
  24. package/dist/MockTreeGridModel.js +36 -31
  25. package/dist/MockTreeGridModel.js.map +1 -1
  26. package/dist/TextCellRenderer.js +36 -57
  27. package/dist/TextCellRenderer.js.map +1 -1
  28. package/dist/key-handlers/EditKeyHandler.js +4 -7
  29. package/dist/key-handlers/EditKeyHandler.js.map +1 -1
  30. package/dist/key-handlers/PasteKeyHandler.js +1 -3
  31. package/dist/key-handlers/PasteKeyHandler.js.map +1 -1
  32. package/dist/key-handlers/SelectionKeyHandler.js +40 -71
  33. package/dist/key-handlers/SelectionKeyHandler.js.map +1 -1
  34. package/dist/key-handlers/TreeKeyHandler.js +4 -10
  35. package/dist/key-handlers/TreeKeyHandler.js.map +1 -1
  36. package/dist/mouse-handlers/EditMouseHandler.js +3 -7
  37. package/dist/mouse-handlers/EditMouseHandler.js.map +1 -1
  38. package/dist/mouse-handlers/GridColumnMoveMouseHandler.js +54 -82
  39. package/dist/mouse-handlers/GridColumnMoveMouseHandler.js.map +1 -1
  40. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js +4 -8
  41. package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js.map +1 -1
  42. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js +31 -55
  43. package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js.map +1 -1
  44. package/dist/mouse-handlers/GridRowMoveMouseHandler.js +26 -46
  45. package/dist/mouse-handlers/GridRowMoveMouseHandler.js.map +1 -1
  46. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js +2 -4
  47. package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js.map +1 -1
  48. package/dist/mouse-handlers/GridRowTreeMouseHandler.js +14 -22
  49. package/dist/mouse-handlers/GridRowTreeMouseHandler.js.map +1 -1
  50. package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js +8 -16
  51. package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js.map +1 -1
  52. package/dist/mouse-handlers/GridSelectionMouseHandler.js +47 -75
  53. package/dist/mouse-handlers/GridSelectionMouseHandler.js.map +1 -1
  54. package/dist/mouse-handlers/GridSeparatorMouseHandler.js +9 -23
  55. package/dist/mouse-handlers/GridSeparatorMouseHandler.js.map +1 -1
  56. package/dist/mouse-handlers/GridTokenMouseHandler.js +24 -39
  57. package/dist/mouse-handlers/GridTokenMouseHandler.js.map +1 -1
  58. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js +31 -55
  59. package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js.map +1 -1
  60. package/package.json +3 -3
@@ -19,28 +19,20 @@ class GridTokenMouseHandler extends GridMouseHandler {
19
19
  _defineProperty(this, "currentLinkBox", void 0);
20
20
  }
21
21
  isHoveringLink(gridPoint, grid) {
22
- var {
23
- column,
24
- row,
25
- x,
26
- y
27
- } = gridPoint;
28
- var {
29
- renderer,
30
- metrics,
31
- props
32
- } = grid;
33
- var {
34
- model
35
- } = props;
22
+ var column = gridPoint.column,
23
+ row = gridPoint.row,
24
+ x = gridPoint.x,
25
+ y = gridPoint.y;
26
+ var renderer = grid.renderer,
27
+ metrics = grid.metrics,
28
+ props = grid.props;
29
+ var model = props.model;
36
30
  if (column == null || row == null || metrics == null) {
37
31
  this.currentLinkBox = undefined;
38
32
  return false;
39
33
  }
40
- var {
41
- modelRows,
42
- modelColumns
43
- } = metrics;
34
+ var modelRows = metrics.modelRows,
35
+ modelColumns = metrics.modelColumns;
44
36
  var modelRow = getOrThrow(modelRows, row);
45
37
  var modelColumn = getOrThrow(modelColumns, column);
46
38
  var renderType = model.renderTypeForCell(modelColumn, modelRow);
@@ -49,12 +41,11 @@ class GridTokenMouseHandler extends GridMouseHandler {
49
41
  return false;
50
42
  }
51
43
  if (this.currentLinkBox != null) {
52
- var {
53
- x1: left,
54
- y1: top,
55
- x2: right,
56
- y2: bottom
57
- } = this.currentLinkBox;
44
+ var _this$currentLinkBox = this.currentLinkBox,
45
+ left = _this$currentLinkBox.x1,
46
+ top = _this$currentLinkBox.y1,
47
+ right = _this$currentLinkBox.x2,
48
+ bottom = _this$currentLinkBox.y2;
58
49
  if (x >= left && x <= right && y >= top && y <= bottom) {
59
50
  return true;
60
51
  }
@@ -66,12 +57,10 @@ class GridTokenMouseHandler extends GridMouseHandler {
66
57
  for (var i = 0; i < tokensInCell.length; i += 1) {
67
58
  if (isLinkToken(tokensInCell[i].token)) {
68
59
  var translatedTokenBox = GridUtils.translateTokenBox(tokensInCell[i], metrics);
69
- var {
70
- x1: _left,
71
- x2: _right,
72
- y1: _top,
73
- y2: _bottom
74
- } = translatedTokenBox;
60
+ var _left = translatedTokenBox.x1,
61
+ _right = translatedTokenBox.x2,
62
+ _top = translatedTokenBox.y1,
63
+ _bottom = translatedTokenBox.y2;
75
64
  if (x >= _left && x <= _right && y >= _top && y <= _bottom) {
76
65
  this.currentLinkBox = translatedTokenBox;
77
66
  return true;
@@ -115,13 +104,9 @@ class GridTokenMouseHandler extends GridMouseHandler {
115
104
  this.isHold = false;
116
105
  this.timeoutId = setTimeout(() => {
117
106
  this.isHold = true;
118
- var {
119
- column,
120
- row
121
- } = gridPoint;
122
- var {
123
- model
124
- } = grid.props;
107
+ var column = gridPoint.column,
108
+ row = gridPoint.row;
109
+ var model = grid.props.model;
125
110
 
126
111
  // After 1 second, select the row and if it is an input table, start editing
127
112
  grid.clearSelectedRanges();
@@ -144,13 +129,13 @@ class GridTokenMouseHandler extends GridMouseHandler {
144
129
  // User is hovering a link, isDown is true
145
130
  // If isHold is true, then the select already happened so onUp shouldn't do anything
146
131
  if (!this.isHold) {
147
- var _this$currentLinkBox;
132
+ var _this$currentLinkBox2;
148
133
  // Cancel the timeout and open a new tab with the link
149
134
  if (this.timeoutId != null) {
150
135
  clearTimeout(this.timeoutId);
151
136
  }
152
137
  this.timeoutId = undefined;
153
- grid.props.onTokenClicked((_this$currentLinkBox = this.currentLinkBox) === null || _this$currentLinkBox === void 0 ? void 0 : _this$currentLinkBox.token);
138
+ grid.props.onTokenClicked((_this$currentLinkBox2 = this.currentLinkBox) === null || _this$currentLinkBox2 === void 0 ? void 0 : _this$currentLinkBox2.token);
154
139
  }
155
140
  this.isHold = false;
156
141
  this.isDown = false;
@@ -1 +1 @@
1
- {"version":3,"file":"GridTokenMouseHandler.js","names":["getOrThrow","isEditableGridModel","GridMouseHandler","GridRange","GridUtils","isLinkToken","isTokenBoxCellRenderer","GridTokenMouseHandler","constructor","arguments","_defineProperty","isHoveringLink","gridPoint","grid","column","row","x","y","renderer","metrics","props","model","currentLinkBox","undefined","modelRows","modelColumns","modelRow","modelColumn","renderType","renderTypeForCell","cellRenderer","getCellRenderer","x1","left","y1","top","x2","right","y2","bottom","renderState","updateRenderState","tokensInCell","getTokenBoxesForVisibleCell","i","length","token","translatedTokenBox","translateTokenBox","setCursor","cursor","onMove","onDown","event","isUserHoveringLink","isModifierKeyDown","shiftKey","isDown","timeoutId","clearTimeout","isHold","setTimeout","clearSelectedRanges","focus","moveCursorToPosition","isEditableRange","makeCell","startEditing","HOLD_LENGTH","onClick","_this$currentLinkBox","onTokenClicked"],"sources":["../../src/mouse-handlers/GridTokenMouseHandler.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\n\nimport { getOrThrow } from '@deephaven/utils';\nimport { isEditableGridModel } from '../EditableGridModel';\nimport { type EventHandlerResult } from '../EventHandlerResult';\nimport type Grid from '../Grid';\nimport GridMouseHandler, { type GridMouseEvent } from '../GridMouseHandler';\nimport GridRange from '../GridRange';\nimport GridUtils, {\n type GridPoint,\n isLinkToken,\n type TokenBox,\n} from '../GridUtils';\nimport { isTokenBoxCellRenderer } from '../TokenBoxCellRenderer';\n\n// Handler also helps with other tooltips\nclass GridTokenMouseHandler extends GridMouseHandler {\n timeoutId?: ReturnType<typeof setTimeout>;\n\n private isHold = false;\n\n private isDown = false;\n\n // Stores the current hovered token box if it exists with translated coordinates\n protected currentLinkBox?: TokenBox;\n\n private static HOLD_LENGTH = 1000;\n\n isHoveringLink(gridPoint: GridPoint, grid: Grid): boolean {\n const { column, row, x, y } = gridPoint;\n const { renderer, metrics, props } = grid;\n const { model } = props;\n\n if (column == null || row == null || metrics == null) {\n this.currentLinkBox = undefined;\n return false;\n }\n\n const { modelRows, modelColumns } = metrics;\n const modelRow = getOrThrow(modelRows, row);\n const modelColumn = getOrThrow(modelColumns, column);\n\n const renderType = model.renderTypeForCell(modelColumn, modelRow);\n const cellRenderer = renderer.getCellRenderer(renderType);\n if (!isTokenBoxCellRenderer(cellRenderer)) {\n return false;\n }\n\n if (this.currentLinkBox != null) {\n const { x1: left, y1: top, x2: right, y2: bottom } = this.currentLinkBox;\n if (x >= left && x <= right && y >= top && y <= bottom) {\n return true;\n }\n }\n\n const renderState = grid.updateRenderState();\n\n const tokensInCell = cellRenderer.getTokenBoxesForVisibleCell(\n column,\n row,\n renderState\n );\n\n // Loop through each link and check if cursor is in bounds\n for (let i = 0; i < tokensInCell.length; i += 1) {\n if (isLinkToken(tokensInCell[i].token)) {\n const translatedTokenBox = GridUtils.translateTokenBox(\n tokensInCell[i],\n metrics\n );\n const { x1: left, x2: right, y1: top, y2: bottom } = translatedTokenBox;\n if (x >= left && x <= right && y >= top && y <= bottom) {\n this.currentLinkBox = translatedTokenBox;\n return true;\n }\n }\n }\n\n // If this point is reached, that means the cursor was not hovering any of the links or there are no links\n this.currentLinkBox = undefined;\n return false;\n }\n\n /**\n * Set the cursor to pointer when hovering over a link\n * @param gridPoint Mouse position information\n * @param grid The grid\n * @returns False\n */\n protected setCursor(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n if (this.isHoveringLink(gridPoint, grid)) {\n this.cursor = 'pointer';\n } else {\n this.cursor = null;\n }\n return false;\n }\n\n onMove(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n return this.setCursor(gridPoint, grid);\n }\n\n onDown(\n gridPoint: GridPoint,\n grid: Grid,\n event: GridMouseEvent\n ): EventHandlerResult {\n const isUserHoveringLink = this.isHoveringLink(gridPoint, grid);\n\n // If a modifier key or shift is down, we don't want to handle it and set isDown to false so onUp won't handle it either\n if (\n GridUtils.isModifierKeyDown(event) ||\n event.shiftKey ||\n !isUserHoveringLink\n ) {\n return false;\n }\n\n this.isDown = true;\n\n if (this.timeoutId != null) {\n clearTimeout(this.timeoutId);\n }\n this.isHold = false;\n this.timeoutId = setTimeout(() => {\n this.isHold = true;\n const { column, row } = gridPoint;\n const { model } = grid.props;\n\n // After 1 second, select the row and if it is an input table, start editing\n grid.clearSelectedRanges();\n grid.focus();\n grid.moveCursorToPosition(column, row);\n if (\n isEditableGridModel(model) &&\n column != null &&\n row != null &&\n model.isEditableRange(GridRange.makeCell(column, row))\n ) {\n grid.startEditing(column, row);\n }\n }, GridTokenMouseHandler.HOLD_LENGTH);\n\n return true;\n }\n\n onClick(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n const isUserHoveringLink = this.isHoveringLink(gridPoint, grid);\n\n if (!isUserHoveringLink || !this.isDown || this.currentLinkBox == null) {\n this.isDown = false;\n this.isHold = false;\n return false;\n }\n\n // User is hovering a link, isDown is true\n // If isHold is true, then the select already happened so onUp shouldn't do anything\n if (!this.isHold) {\n // Cancel the timeout and open a new tab with the link\n if (this.timeoutId != null) {\n clearTimeout(this.timeoutId);\n }\n this.timeoutId = undefined;\n grid.props.onTokenClicked(this.currentLinkBox?.token);\n }\n\n this.isHold = false;\n this.isDown = false;\n\n return true;\n }\n}\n\nexport default GridTokenMouseHandler;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"GridTokenMouseHandler.js","names":["getOrThrow","isEditableGridModel","GridMouseHandler","GridRange","GridUtils","isLinkToken","isTokenBoxCellRenderer","GridTokenMouseHandler","constructor","arguments","_defineProperty","isHoveringLink","gridPoint","grid","column","row","x","y","renderer","metrics","props","model","currentLinkBox","undefined","modelRows","modelColumns","modelRow","modelColumn","renderType","renderTypeForCell","cellRenderer","getCellRenderer","_this$currentLinkBox","left","x1","top","y1","right","x2","bottom","y2","renderState","updateRenderState","tokensInCell","getTokenBoxesForVisibleCell","i","length","token","translatedTokenBox","translateTokenBox","setCursor","cursor","onMove","onDown","event","isUserHoveringLink","isModifierKeyDown","shiftKey","isDown","timeoutId","clearTimeout","isHold","setTimeout","clearSelectedRanges","focus","moveCursorToPosition","isEditableRange","makeCell","startEditing","HOLD_LENGTH","onClick","_this$currentLinkBox2","onTokenClicked"],"sources":["../../src/mouse-handlers/GridTokenMouseHandler.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\n\nimport { getOrThrow } from '@deephaven/utils';\nimport { isEditableGridModel } from '../EditableGridModel';\nimport { type EventHandlerResult } from '../EventHandlerResult';\nimport type Grid from '../Grid';\nimport GridMouseHandler, { type GridMouseEvent } from '../GridMouseHandler';\nimport GridRange from '../GridRange';\nimport GridUtils, {\n type GridPoint,\n isLinkToken,\n type TokenBox,\n} from '../GridUtils';\nimport { isTokenBoxCellRenderer } from '../TokenBoxCellRenderer';\n\n// Handler also helps with other tooltips\nclass GridTokenMouseHandler extends GridMouseHandler {\n timeoutId?: ReturnType<typeof setTimeout>;\n\n private isHold = false;\n\n private isDown = false;\n\n // Stores the current hovered token box if it exists with translated coordinates\n protected currentLinkBox?: TokenBox;\n\n private static HOLD_LENGTH = 1000;\n\n isHoveringLink(gridPoint: GridPoint, grid: Grid): boolean {\n const { column, row, x, y } = gridPoint;\n const { renderer, metrics, props } = grid;\n const { model } = props;\n\n if (column == null || row == null || metrics == null) {\n this.currentLinkBox = undefined;\n return false;\n }\n\n const { modelRows, modelColumns } = metrics;\n const modelRow = getOrThrow(modelRows, row);\n const modelColumn = getOrThrow(modelColumns, column);\n\n const renderType = model.renderTypeForCell(modelColumn, modelRow);\n const cellRenderer = renderer.getCellRenderer(renderType);\n if (!isTokenBoxCellRenderer(cellRenderer)) {\n return false;\n }\n\n if (this.currentLinkBox != null) {\n const { x1: left, y1: top, x2: right, y2: bottom } = this.currentLinkBox;\n if (x >= left && x <= right && y >= top && y <= bottom) {\n return true;\n }\n }\n\n const renderState = grid.updateRenderState();\n\n const tokensInCell = cellRenderer.getTokenBoxesForVisibleCell(\n column,\n row,\n renderState\n );\n\n // Loop through each link and check if cursor is in bounds\n for (let i = 0; i < tokensInCell.length; i += 1) {\n if (isLinkToken(tokensInCell[i].token)) {\n const translatedTokenBox = GridUtils.translateTokenBox(\n tokensInCell[i],\n metrics\n );\n const { x1: left, x2: right, y1: top, y2: bottom } = translatedTokenBox;\n if (x >= left && x <= right && y >= top && y <= bottom) {\n this.currentLinkBox = translatedTokenBox;\n return true;\n }\n }\n }\n\n // If this point is reached, that means the cursor was not hovering any of the links or there are no links\n this.currentLinkBox = undefined;\n return false;\n }\n\n /**\n * Set the cursor to pointer when hovering over a link\n * @param gridPoint Mouse position information\n * @param grid The grid\n * @returns False\n */\n protected setCursor(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n if (this.isHoveringLink(gridPoint, grid)) {\n this.cursor = 'pointer';\n } else {\n this.cursor = null;\n }\n return false;\n }\n\n onMove(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n return this.setCursor(gridPoint, grid);\n }\n\n onDown(\n gridPoint: GridPoint,\n grid: Grid,\n event: GridMouseEvent\n ): EventHandlerResult {\n const isUserHoveringLink = this.isHoveringLink(gridPoint, grid);\n\n // If a modifier key or shift is down, we don't want to handle it and set isDown to false so onUp won't handle it either\n if (\n GridUtils.isModifierKeyDown(event) ||\n event.shiftKey ||\n !isUserHoveringLink\n ) {\n return false;\n }\n\n this.isDown = true;\n\n if (this.timeoutId != null) {\n clearTimeout(this.timeoutId);\n }\n this.isHold = false;\n this.timeoutId = setTimeout(() => {\n this.isHold = true;\n const { column, row } = gridPoint;\n const { model } = grid.props;\n\n // After 1 second, select the row and if it is an input table, start editing\n grid.clearSelectedRanges();\n grid.focus();\n grid.moveCursorToPosition(column, row);\n if (\n isEditableGridModel(model) &&\n column != null &&\n row != null &&\n model.isEditableRange(GridRange.makeCell(column, row))\n ) {\n grid.startEditing(column, row);\n }\n }, GridTokenMouseHandler.HOLD_LENGTH);\n\n return true;\n }\n\n onClick(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n const isUserHoveringLink = this.isHoveringLink(gridPoint, grid);\n\n if (!isUserHoveringLink || !this.isDown || this.currentLinkBox == null) {\n this.isDown = false;\n this.isHold = false;\n return false;\n }\n\n // User is hovering a link, isDown is true\n // If isHold is true, then the select already happened so onUp shouldn't do anything\n if (!this.isHold) {\n // Cancel the timeout and open a new tab with the link\n if (this.timeoutId != null) {\n clearTimeout(this.timeoutId);\n }\n this.timeoutId = undefined;\n grid.props.onTokenClicked(this.currentLinkBox?.token);\n }\n\n this.isHold = false;\n this.isDown = false;\n\n return true;\n }\n}\n\nexport default GridTokenMouseHandler;\n"],"mappings":"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","ignoreList":[]}
@@ -13,10 +13,8 @@ class GridVerticalScrollBarMouseHandler extends GridMouseHandler {
13
13
  }
14
14
  static getTopWithOffsetFromRawTop(grid, rawTop) {
15
15
  var theme = grid.getTheme();
16
- var {
17
- metrics,
18
- metricCalculator
19
- } = grid;
16
+ var metrics = grid.metrics,
17
+ metricCalculator = grid.metricCalculator;
20
18
  if (!metrics) throw new Error('metrics not set');
21
19
  if (theme.scrollSnapToRow) {
22
20
  var _top = Math.round(rawTop);
@@ -41,44 +39,30 @@ class GridVerticalScrollBarMouseHandler extends GridMouseHandler {
41
39
  }
42
40
  isInScrollBar(gridPoint, grid) {
43
41
  var theme = grid.getTheme();
44
- var {
45
- scrollBarSize,
46
- scrollBarHoverSize
47
- } = theme;
48
- var {
49
- metrics
50
- } = grid;
42
+ var scrollBarSize = theme.scrollBarSize,
43
+ scrollBarHoverSize = theme.scrollBarHoverSize;
44
+ var metrics = grid.metrics;
51
45
  if (!metrics) throw new Error('metrics not set');
52
- var {
53
- x,
54
- y
55
- } = gridPoint;
56
- var {
57
- barTop,
58
- barHeight,
59
- width,
60
- hasVerticalBar
61
- } = metrics;
46
+ var x = gridPoint.x,
47
+ y = gridPoint.y;
48
+ var barTop = metrics.barTop,
49
+ barHeight = metrics.barHeight,
50
+ width = metrics.width,
51
+ hasVerticalBar = metrics.hasVerticalBar;
62
52
  return hasVerticalBar && scrollBarSize > 0 && x >= width - scrollBarHoverSize && x < width && y > barTop && y < barTop + barHeight;
63
53
  }
64
54
  getTopWithOffset(gridPoint, grid) {
65
55
  var _this$dragOffset;
66
- var {
67
- metrics
68
- } = grid;
56
+ var metrics = grid.metrics;
69
57
  if (!metrics) throw new Error('metrics not set');
70
- var {
71
- y
72
- } = gridPoint;
73
- var {
74
- barHeight,
75
- handleHeight,
76
- lastTop,
77
- barTop,
78
- rowCount,
79
- scrollableContentHeight,
80
- scrollableViewportHeight
81
- } = metrics;
58
+ var y = gridPoint.y;
59
+ var barHeight = metrics.barHeight,
60
+ handleHeight = metrics.handleHeight,
61
+ lastTop = metrics.lastTop,
62
+ barTop = metrics.barTop,
63
+ rowCount = metrics.rowCount,
64
+ scrollableContentHeight = metrics.scrollableContentHeight,
65
+ scrollableViewportHeight = metrics.scrollableViewportHeight;
82
66
  var mouseBarY = y - barTop;
83
67
  var scrollPercent = clamp((mouseBarY - ((_this$dragOffset = this.dragOffset) !== null && _this$dragOffset !== void 0 ? _this$dragOffset : 0)) / (barHeight - handleHeight), 0, 1);
84
68
  if (rowCount === 1) {
@@ -91,18 +75,12 @@ class GridVerticalScrollBarMouseHandler extends GridMouseHandler {
91
75
  return GridVerticalScrollBarMouseHandler.getTopWithOffsetFromRawTop(grid, rawTop);
92
76
  }
93
77
  onDown(gridPoint, grid) {
94
- var {
95
- metrics
96
- } = grid;
78
+ var metrics = grid.metrics;
97
79
  if (!metrics) throw new Error('metrics not set');
98
- var {
99
- y
100
- } = gridPoint;
101
- var {
102
- handleHeight,
103
- barTop,
104
- scrollY
105
- } = metrics;
80
+ var y = gridPoint.y;
81
+ var handleHeight = metrics.handleHeight,
82
+ barTop = metrics.barTop,
83
+ scrollY = metrics.scrollY;
106
84
  if (!this.isInScrollBar(gridPoint, grid)) {
107
85
  return false;
108
86
  }
@@ -116,10 +94,9 @@ class GridVerticalScrollBarMouseHandler extends GridMouseHandler {
116
94
  } else {
117
95
  // clicked elsewhere in bar
118
96
  this.dragOffset = 0;
119
- var {
120
- top: newTop,
121
- topOffset: newTopOffset
122
- } = this.getTopWithOffset(gridPoint, grid);
97
+ var _this$getTopWithOffse = this.getTopWithOffset(gridPoint, grid),
98
+ newTop = _this$getTopWithOffse.top,
99
+ newTopOffset = _this$getTopWithOffse.topOffset;
123
100
  grid.setViewState({
124
101
  top: newTop,
125
102
  topOffset: newTopOffset,
@@ -134,10 +111,9 @@ class GridVerticalScrollBarMouseHandler extends GridMouseHandler {
134
111
  }
135
112
  onDrag(gridPoint, grid) {
136
113
  if (this.dragOffset != null) {
137
- var {
138
- top: newTop,
139
- topOffset: newTopOffset
140
- } = this.getTopWithOffset(gridPoint, grid);
114
+ var _this$getTopWithOffse2 = this.getTopWithOffset(gridPoint, grid),
115
+ newTop = _this$getTopWithOffse2.top,
116
+ newTopOffset = _this$getTopWithOffse2.topOffset;
141
117
  grid.setViewState({
142
118
  top: newTop,
143
119
  topOffset: newTopOffset,
@@ -1 +1 @@
1
- {"version":3,"file":"GridVerticalScrollBarMouseHandler.js","names":["clamp","GridMouseHandler","GridVerticalScrollBarMouseHandler","constructor","arguments","_defineProperty","getTopWithOffsetFromRawTop","grid","rawTop","theme","getTheme","metrics","metricCalculator","Error","scrollSnapToRow","top","Math","round","topOffset","floor","topOffsetPercent","rowHeight","allRowHeights","get","metricState","getMetricState","getVisibleRowHeight","isInScrollBar","gridPoint","scrollBarSize","scrollBarHoverSize","x","y","barTop","barHeight","width","hasVerticalBar","getTopWithOffset","_this$dragOffset","handleHeight","lastTop","rowCount","scrollableContentHeight","scrollableViewportHeight","mouseBarY","scrollPercent","dragOffset","onDown","scrollY","setState","isDraggingVerticalScrollBar","newTop","newTopOffset","setViewState","isDragging","onMove","onDrag","onUp","undefined","onClick"],"sources":["../../src/mouse-handlers/GridVerticalScrollBarMouseHandler.ts"],"sourcesContent":["import clamp from 'lodash.clamp';\nimport { type EventHandlerResult } from '../EventHandlerResult';\nimport type Grid from '../Grid';\nimport { type VisibleIndex } from '../GridMetrics';\nimport GridMouseHandler from '../GridMouseHandler';\nimport { type GridPoint } from '../GridUtils';\n\n/* eslint class-methods-use-this: \"off\" */\nclass GridVerticalScrollBarMouseHandler extends GridMouseHandler {\n static getTopWithOffsetFromRawTop(\n grid: Grid,\n rawTop: number\n ): { top: VisibleIndex; topOffset: number } {\n const theme = grid.getTheme();\n const { metrics, metricCalculator } = grid;\n if (!metrics) throw new Error('metrics not set');\n\n if (theme.scrollSnapToRow) {\n const top = Math.round(rawTop);\n const topOffset = 0;\n\n return { top, topOffset };\n }\n const top = Math.floor(rawTop);\n const topOffsetPercent = rawTop - top;\n let rowHeight = metrics.allRowHeights.get(top);\n if (rowHeight == null) {\n const metricState = grid.getMetricState();\n rowHeight = metricCalculator.getVisibleRowHeight(top, metricState);\n }\n const topOffset = rowHeight * topOffsetPercent;\n\n return { top, topOffset };\n }\n\n private dragOffset?: number;\n\n // to trigger pointer event blocking\n cursor = 'default';\n\n isInScrollBar(gridPoint: GridPoint, grid: Grid): boolean {\n const theme = grid.getTheme();\n\n const { scrollBarSize, scrollBarHoverSize } = theme;\n const { metrics } = grid;\n if (!metrics) throw new Error('metrics not set');\n\n const { x, y } = gridPoint;\n const { barTop, barHeight, width, hasVerticalBar } = metrics;\n\n return (\n hasVerticalBar &&\n scrollBarSize > 0 &&\n x >= width - scrollBarHoverSize &&\n x < width &&\n y > barTop &&\n y < barTop + barHeight\n );\n }\n\n getTopWithOffset(\n gridPoint: GridPoint,\n grid: Grid\n ): { top: number; topOffset: number } {\n const { metrics } = grid;\n if (!metrics) throw new Error('metrics not set');\n\n const { y } = gridPoint;\n const {\n barHeight,\n handleHeight,\n lastTop,\n barTop,\n rowCount,\n scrollableContentHeight,\n scrollableViewportHeight,\n } = metrics;\n\n const mouseBarY = y - barTop;\n const scrollPercent = clamp(\n (mouseBarY - (this.dragOffset ?? 0)) / (barHeight - handleHeight),\n 0,\n 1\n );\n\n if (rowCount === 1) {\n return {\n top: 0,\n topOffset:\n scrollPercent * (scrollableContentHeight - scrollableViewportHeight),\n };\n }\n\n const rawTop = scrollPercent * lastTop;\n return GridVerticalScrollBarMouseHandler.getTopWithOffsetFromRawTop(\n grid,\n rawTop\n );\n }\n\n onDown(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n const { metrics } = grid;\n if (!metrics) throw new Error('metrics not set');\n\n const { y } = gridPoint;\n const { handleHeight, barTop, scrollY } = metrics;\n if (!this.isInScrollBar(gridPoint, grid)) {\n return false;\n }\n\n const mouseBarY = y - barTop;\n if (mouseBarY >= scrollY && mouseBarY <= scrollY + handleHeight) {\n // Grabbed the vertical handle\n this.dragOffset = mouseBarY - scrollY;\n grid.setState({ isDraggingVerticalScrollBar: true });\n } else {\n // clicked elsewhere in bar\n this.dragOffset = 0;\n\n const { top: newTop, topOffset: newTopOffset } = this.getTopWithOffset(\n gridPoint,\n grid\n );\n\n grid.setViewState({\n top: newTop,\n topOffset: newTopOffset,\n isDraggingVerticalScrollBar: true,\n isDragging: true,\n });\n }\n\n return true;\n }\n\n onMove(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n return this.isInScrollBar(gridPoint, grid);\n }\n\n onDrag(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n if (this.dragOffset != null) {\n const { top: newTop, topOffset: newTopOffset } = this.getTopWithOffset(\n gridPoint,\n grid\n );\n\n grid.setViewState({\n top: newTop,\n topOffset: newTopOffset,\n isDraggingVerticalScrollBar: true,\n isDragging: true,\n });\n return true;\n }\n return false;\n }\n\n onUp(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n if (this.dragOffset !== undefined) {\n this.dragOffset = undefined;\n grid.setState({ isDraggingVerticalScrollBar: false, isDragging: false });\n }\n\n return this.isInScrollBar(gridPoint, grid);\n }\n\n onClick(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n return this.isInScrollBar(gridPoint, grid);\n }\n}\n\nexport default GridVerticalScrollBarMouseHandler;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"GridVerticalScrollBarMouseHandler.js","names":["clamp","GridMouseHandler","GridVerticalScrollBarMouseHandler","constructor","arguments","_defineProperty","getTopWithOffsetFromRawTop","grid","rawTop","theme","getTheme","metrics","metricCalculator","Error","scrollSnapToRow","top","Math","round","topOffset","floor","topOffsetPercent","rowHeight","allRowHeights","get","metricState","getMetricState","getVisibleRowHeight","isInScrollBar","gridPoint","scrollBarSize","scrollBarHoverSize","x","y","barTop","barHeight","width","hasVerticalBar","getTopWithOffset","_this$dragOffset","handleHeight","lastTop","rowCount","scrollableContentHeight","scrollableViewportHeight","mouseBarY","scrollPercent","dragOffset","onDown","scrollY","setState","isDraggingVerticalScrollBar","_this$getTopWithOffse","newTop","newTopOffset","setViewState","isDragging","onMove","onDrag","_this$getTopWithOffse2","onUp","undefined","onClick"],"sources":["../../src/mouse-handlers/GridVerticalScrollBarMouseHandler.ts"],"sourcesContent":["import clamp from 'lodash.clamp';\nimport { type EventHandlerResult } from '../EventHandlerResult';\nimport type Grid from '../Grid';\nimport { type VisibleIndex } from '../GridMetrics';\nimport GridMouseHandler from '../GridMouseHandler';\nimport { type GridPoint } from '../GridUtils';\n\n/* eslint class-methods-use-this: \"off\" */\nclass GridVerticalScrollBarMouseHandler extends GridMouseHandler {\n static getTopWithOffsetFromRawTop(\n grid: Grid,\n rawTop: number\n ): { top: VisibleIndex; topOffset: number } {\n const theme = grid.getTheme();\n const { metrics, metricCalculator } = grid;\n if (!metrics) throw new Error('metrics not set');\n\n if (theme.scrollSnapToRow) {\n const top = Math.round(rawTop);\n const topOffset = 0;\n\n return { top, topOffset };\n }\n const top = Math.floor(rawTop);\n const topOffsetPercent = rawTop - top;\n let rowHeight = metrics.allRowHeights.get(top);\n if (rowHeight == null) {\n const metricState = grid.getMetricState();\n rowHeight = metricCalculator.getVisibleRowHeight(top, metricState);\n }\n const topOffset = rowHeight * topOffsetPercent;\n\n return { top, topOffset };\n }\n\n private dragOffset?: number;\n\n // to trigger pointer event blocking\n cursor = 'default';\n\n isInScrollBar(gridPoint: GridPoint, grid: Grid): boolean {\n const theme = grid.getTheme();\n\n const { scrollBarSize, scrollBarHoverSize } = theme;\n const { metrics } = grid;\n if (!metrics) throw new Error('metrics not set');\n\n const { x, y } = gridPoint;\n const { barTop, barHeight, width, hasVerticalBar } = metrics;\n\n return (\n hasVerticalBar &&\n scrollBarSize > 0 &&\n x >= width - scrollBarHoverSize &&\n x < width &&\n y > barTop &&\n y < barTop + barHeight\n );\n }\n\n getTopWithOffset(\n gridPoint: GridPoint,\n grid: Grid\n ): { top: number; topOffset: number } {\n const { metrics } = grid;\n if (!metrics) throw new Error('metrics not set');\n\n const { y } = gridPoint;\n const {\n barHeight,\n handleHeight,\n lastTop,\n barTop,\n rowCount,\n scrollableContentHeight,\n scrollableViewportHeight,\n } = metrics;\n\n const mouseBarY = y - barTop;\n const scrollPercent = clamp(\n (mouseBarY - (this.dragOffset ?? 0)) / (barHeight - handleHeight),\n 0,\n 1\n );\n\n if (rowCount === 1) {\n return {\n top: 0,\n topOffset:\n scrollPercent * (scrollableContentHeight - scrollableViewportHeight),\n };\n }\n\n const rawTop = scrollPercent * lastTop;\n return GridVerticalScrollBarMouseHandler.getTopWithOffsetFromRawTop(\n grid,\n rawTop\n );\n }\n\n onDown(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n const { metrics } = grid;\n if (!metrics) throw new Error('metrics not set');\n\n const { y } = gridPoint;\n const { handleHeight, barTop, scrollY } = metrics;\n if (!this.isInScrollBar(gridPoint, grid)) {\n return false;\n }\n\n const mouseBarY = y - barTop;\n if (mouseBarY >= scrollY && mouseBarY <= scrollY + handleHeight) {\n // Grabbed the vertical handle\n this.dragOffset = mouseBarY - scrollY;\n grid.setState({ isDraggingVerticalScrollBar: true });\n } else {\n // clicked elsewhere in bar\n this.dragOffset = 0;\n\n const { top: newTop, topOffset: newTopOffset } = this.getTopWithOffset(\n gridPoint,\n grid\n );\n\n grid.setViewState({\n top: newTop,\n topOffset: newTopOffset,\n isDraggingVerticalScrollBar: true,\n isDragging: true,\n });\n }\n\n return true;\n }\n\n onMove(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n return this.isInScrollBar(gridPoint, grid);\n }\n\n onDrag(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n if (this.dragOffset != null) {\n const { top: newTop, topOffset: newTopOffset } = this.getTopWithOffset(\n gridPoint,\n grid\n );\n\n grid.setViewState({\n top: newTop,\n topOffset: newTopOffset,\n isDraggingVerticalScrollBar: true,\n isDragging: true,\n });\n return true;\n }\n return false;\n }\n\n onUp(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n if (this.dragOffset !== undefined) {\n this.dragOffset = undefined;\n grid.setState({ isDraggingVerticalScrollBar: false, isDragging: false });\n }\n\n return this.isInScrollBar(gridPoint, grid);\n }\n\n onClick(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n return this.isInScrollBar(gridPoint, grid);\n }\n}\n\nexport default GridVerticalScrollBarMouseHandler;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/grid",
3
- "version": "1.22.1-alpha-pivot-builder.0+fb17c45",
3
+ "version": "1.22.2-alpha-pivot-builder.0+e2a2077",
4
4
  "description": "Deephaven React grid component",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -31,7 +31,7 @@
31
31
  "*.css"
32
32
  ],
33
33
  "dependencies": {
34
- "@deephaven/utils": "^1.22.1-alpha-pivot-builder.0+fb17c45",
34
+ "@deephaven/utils": "^1.22.2-alpha-pivot-builder.0+e2a2077",
35
35
  "classnames": "^2.3.1",
36
36
  "color-convert": "^2.0.1",
37
37
  "event-target-shim": "^6.0.2",
@@ -43,5 +43,5 @@
43
43
  "publishConfig": {
44
44
  "access": "public"
45
45
  },
46
- "gitHead": "fb17c45114ceb8f1ab670ac20dac74f8e8bd65fb"
46
+ "gitHead": "e2a207700c2da1195164130643e7c5e5b223485a"
47
47
  }