@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.
- package/dist/CellInputField.js +41 -22
- package/dist/CellInputField.js.map +1 -1
- package/dist/CellRenderer.js +19 -27
- package/dist/CellRenderer.js.map +1 -1
- package/dist/DataBarCellRenderer.js +61 -87
- package/dist/DataBarCellRenderer.js.map +1 -1
- package/dist/Grid.js +281 -455
- package/dist/Grid.js.map +1 -1
- package/dist/GridColorUtils.js +23 -21
- package/dist/GridColorUtils.js.map +1 -1
- package/dist/GridMetricCalculator.js +192 -303
- package/dist/GridMetricCalculator.js.map +1 -1
- package/dist/GridRange.js +18 -28
- package/dist/GridRange.js.map +1 -1
- package/dist/GridRenderer.d.ts.map +1 -1
- package/dist/GridRenderer.js +432 -604
- package/dist/GridRenderer.js.map +1 -1
- package/dist/GridUtils.d.ts +33 -16
- package/dist/GridUtils.d.ts.map +1 -1
- package/dist/GridUtils.js +183 -213
- package/dist/GridUtils.js.map +1 -1
- package/dist/MockGridModel.js +17 -10
- package/dist/MockGridModel.js.map +1 -1
- package/dist/MockTreeGridModel.js +36 -31
- package/dist/MockTreeGridModel.js.map +1 -1
- package/dist/TextCellRenderer.js +36 -57
- package/dist/TextCellRenderer.js.map +1 -1
- package/dist/key-handlers/EditKeyHandler.js +4 -7
- package/dist/key-handlers/EditKeyHandler.js.map +1 -1
- package/dist/key-handlers/PasteKeyHandler.js +1 -3
- package/dist/key-handlers/PasteKeyHandler.js.map +1 -1
- package/dist/key-handlers/SelectionKeyHandler.js +40 -71
- package/dist/key-handlers/SelectionKeyHandler.js.map +1 -1
- package/dist/key-handlers/TreeKeyHandler.js +4 -10
- package/dist/key-handlers/TreeKeyHandler.js.map +1 -1
- package/dist/mouse-handlers/EditMouseHandler.js +3 -7
- package/dist/mouse-handlers/EditMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridColumnMoveMouseHandler.js +54 -82
- package/dist/mouse-handlers/GridColumnMoveMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js +4 -8
- package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js +31 -55
- package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridRowMoveMouseHandler.js +26 -46
- package/dist/mouse-handlers/GridRowMoveMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js +2 -4
- package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridRowTreeMouseHandler.js +14 -22
- package/dist/mouse-handlers/GridRowTreeMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js +8 -16
- package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridSelectionMouseHandler.js +47 -75
- package/dist/mouse-handlers/GridSelectionMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridSeparatorMouseHandler.js +9 -23
- package/dist/mouse-handlers/GridSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridTokenMouseHandler.js +24 -39
- package/dist/mouse-handlers/GridTokenMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js +31 -55
- package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js.map +1 -1
- 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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
|
|
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
|
|
54
|
-
y1
|
|
55
|
-
x2
|
|
56
|
-
y2
|
|
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
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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
|
-
|
|
120
|
-
|
|
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$
|
|
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$
|
|
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
|
-
|
|
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
|
-
|
|
46
|
-
|
|
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
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
|
121
|
-
topOffset
|
|
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
|
|
139
|
-
topOffset
|
|
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.
|
|
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.
|
|
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": "
|
|
46
|
+
"gitHead": "e2a207700c2da1195164130643e7c5e5b223485a"
|
|
47
47
|
}
|