@deephaven/grid 0.7.3-beta.8 → 0.8.2-beta.1
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.d.ts +4 -4
- package/dist/CellInputField.d.ts.map +1 -1
- package/dist/CellInputField.js +10 -11
- package/dist/CellInputField.js.map +1 -1
- package/dist/EditableGridModel.d.ts +70 -0
- package/dist/EditableGridModel.d.ts.map +1 -0
- package/dist/EditableGridModel.js +13 -0
- package/dist/EditableGridModel.js.map +1 -0
- package/dist/EventHandlerResult.d.ts +17 -0
- package/dist/EventHandlerResult.d.ts.map +1 -0
- package/dist/EventHandlerResult.js +2 -0
- package/dist/EventHandlerResult.js.map +1 -0
- package/dist/ExpandableGridModel.d.ts +34 -0
- package/dist/ExpandableGridModel.d.ts.map +1 -0
- package/dist/ExpandableGridModel.js +7 -0
- package/dist/ExpandableGridModel.js.map +1 -0
- package/dist/Grid.d.ts +283 -234
- package/dist/Grid.d.ts.map +1 -1
- package/dist/Grid.js +371 -165
- package/dist/Grid.js.map +1 -1
- package/dist/GridColorUtils.d.ts +22 -12
- package/dist/GridColorUtils.d.ts.map +1 -1
- package/dist/GridColorUtils.js +26 -21
- package/dist/GridColorUtils.js.map +1 -1
- package/dist/GridMetricCalculator.d.ts.map +1 -1
- package/dist/GridMetricCalculator.js +8 -41
- package/dist/GridMetricCalculator.js.map +1 -1
- package/dist/GridModel.d.ts +54 -60
- package/dist/GridModel.d.ts.map +1 -1
- package/dist/GridModel.js +54 -122
- package/dist/GridModel.js.map +1 -1
- package/dist/GridMouseHandler.d.ts +23 -24
- package/dist/GridMouseHandler.d.ts.map +1 -1
- package/dist/GridMouseHandler.js +6 -14
- package/dist/GridMouseHandler.js.map +1 -1
- package/dist/GridRange.d.ts +2 -2
- package/dist/GridRange.d.ts.map +1 -1
- package/dist/GridRange.js +1 -9
- package/dist/GridRange.js.map +1 -1
- package/dist/GridRenderer.d.ts +117 -69
- package/dist/GridRenderer.d.ts.map +1 -1
- package/dist/GridRenderer.js +183 -168
- package/dist/GridRenderer.js.map +1 -1
- package/dist/GridUtils.d.ts +4 -4
- package/dist/GridUtils.js +4 -4
- package/dist/GridUtils.js.map +1 -1
- package/dist/KeyHandler.d.ts +10 -7
- package/dist/KeyHandler.d.ts.map +1 -1
- package/dist/KeyHandler.js +6 -10
- package/dist/KeyHandler.js.map +1 -1
- package/dist/MockGridData.d.ts +1 -1
- package/dist/MockGridData.d.ts.map +1 -1
- package/dist/MockGridData.js.map +1 -1
- package/dist/MockGridModel.d.ts +39 -12
- package/dist/MockGridModel.d.ts.map +1 -1
- package/dist/MockGridModel.js +24 -10
- package/dist/MockGridModel.js.map +1 -1
- package/dist/MockTreeGridModel.d.ts +37 -22
- package/dist/MockTreeGridModel.d.ts.map +1 -1
- package/dist/MockTreeGridModel.js +32 -20
- package/dist/MockTreeGridModel.js.map +1 -1
- package/dist/errors/AssertionError.d.ts +5 -0
- package/dist/errors/AssertionError.d.ts.map +1 -0
- package/dist/errors/AssertionError.js +12 -0
- package/dist/errors/AssertionError.js.map +1 -0
- package/dist/errors/PasteError.d.ts +1 -1
- package/dist/errors/PasteError.d.ts.map +1 -1
- package/dist/errors/PasteError.js +1 -2
- package/dist/errors/PasteError.js.map +1 -1
- package/dist/errors/assertIsDefined.d.ts +3 -0
- package/dist/errors/assertIsDefined.d.ts.map +1 -0
- package/dist/errors/assertIsDefined.js +8 -0
- package/dist/errors/assertIsDefined.js.map +1 -0
- package/dist/errors/index.d.ts +2 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +2 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/key-handlers/EditKeyHandler.d.ts +3 -2
- package/dist/key-handlers/EditKeyHandler.d.ts.map +1 -1
- package/dist/key-handlers/EditKeyHandler.js +10 -9
- package/dist/key-handlers/EditKeyHandler.js.map +1 -1
- package/dist/key-handlers/PasteKeyHandler.d.ts +3 -5
- package/dist/key-handlers/PasteKeyHandler.d.ts.map +1 -1
- package/dist/key-handlers/PasteKeyHandler.js +3 -3
- package/dist/key-handlers/PasteKeyHandler.js.map +1 -1
- package/dist/key-handlers/SelectionKeyHandler.d.ts +5 -5
- package/dist/key-handlers/SelectionKeyHandler.d.ts.map +1 -1
- package/dist/key-handlers/SelectionKeyHandler.js +16 -15
- package/dist/key-handlers/SelectionKeyHandler.js.map +1 -1
- package/dist/key-handlers/TreeKeyHandler.d.ts +2 -2
- package/dist/key-handlers/TreeKeyHandler.d.ts.map +1 -1
- package/dist/key-handlers/TreeKeyHandler.js +14 -12
- package/dist/key-handlers/TreeKeyHandler.js.map +1 -1
- package/dist/memoizeClear.d.ts +13 -3
- package/dist/memoizeClear.d.ts.map +1 -1
- package/dist/memoizeClear.js +7 -7
- package/dist/memoizeClear.js.map +1 -1
- package/dist/mouse-handlers/EditMouseHandler.d.ts +3 -4
- package/dist/mouse-handlers/EditMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/EditMouseHandler.js +3 -2
- package/dist/mouse-handlers/EditMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridColumnMoveMouseHandler.d.ts +12 -5
- package/dist/mouse-handlers/GridColumnMoveMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridColumnMoveMouseHandler.js +11 -12
- package/dist/mouse-handlers/GridColumnMoveMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.d.ts +24 -3
- package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js +2 -1
- package/dist/mouse-handlers/GridColumnSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.d.ts +16 -6
- package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js +40 -38
- package/dist/mouse-handlers/GridHorizontalScrollBarMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridRowMoveMouseHandler.d.ts +10 -3
- package/dist/mouse-handlers/GridRowMoveMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridRowMoveMouseHandler.js +13 -12
- package/dist/mouse-handlers/GridRowMoveMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridRowSeparatorMouseHandler.d.ts +24 -3
- package/dist/mouse-handlers/GridRowSeparatorMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js +4 -3
- package/dist/mouse-handlers/GridRowSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridRowTreeMouseHandler.d.ts +8 -3
- package/dist/mouse-handlers/GridRowTreeMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridRowTreeMouseHandler.js +12 -7
- package/dist/mouse-handlers/GridRowTreeMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.d.ts +9 -3
- package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js +2 -1
- package/dist/mouse-handlers/GridScrollBarCornerMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridSelectionMouseHandler.d.ts +15 -9
- package/dist/mouse-handlers/GridSelectionMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridSelectionMouseHandler.js +22 -20
- package/dist/mouse-handlers/GridSelectionMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridSeparatorMouseHandler.d.ts +46 -28
- package/dist/mouse-handlers/GridSeparatorMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridSeparatorMouseHandler.js +45 -86
- package/dist/mouse-handlers/GridSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.d.ts +16 -6
- package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js +40 -38
- package/dist/mouse-handlers/GridVerticalScrollBarMouseHandler.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -2,6 +2,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
2
2
|
|
|
3
3
|
import GridUtils from "../GridUtils.js";
|
|
4
4
|
import GridMouseHandler from "../GridMouseHandler.js";
|
|
5
|
+
import { getOrThrow } from "../GridMetricCalculator.js";
|
|
5
6
|
var SLOPPY_CLICK_DISTANCE = 5;
|
|
6
7
|
|
|
7
8
|
class GridColumnMoveMouseHandler extends GridMouseHandler {
|
|
@@ -10,10 +11,6 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
|
|
|
10
11
|
|
|
11
12
|
_defineProperty(this, "cursor", null);
|
|
12
13
|
|
|
13
|
-
_defineProperty(this, "draggingOffset", null);
|
|
14
|
-
|
|
15
|
-
_defineProperty(this, "startingGridPoint", null);
|
|
16
|
-
|
|
17
14
|
_defineProperty(this, "sloppyClickThreshold", false);
|
|
18
15
|
}
|
|
19
16
|
|
|
@@ -29,6 +26,7 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
|
|
|
29
26
|
var {
|
|
30
27
|
metrics
|
|
31
28
|
} = grid;
|
|
29
|
+
if (!metrics) throw new Error('Metrics not set');
|
|
32
30
|
var {
|
|
33
31
|
columnHeaderHeight,
|
|
34
32
|
rowHeaderWidth,
|
|
@@ -39,7 +37,7 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
|
|
|
39
37
|
this.cursor = null;
|
|
40
38
|
|
|
41
39
|
if (column != null && y <= columnHeaderHeight && model.isColumnMovable(column)) {
|
|
42
|
-
var columnX = visibleColumnXs
|
|
40
|
+
var columnX = getOrThrow(visibleColumnXs, column);
|
|
43
41
|
this.draggingOffset = x - columnX - rowHeaderWidth;
|
|
44
42
|
grid.setState({
|
|
45
43
|
draggingColumnOffset: this.draggingOffset
|
|
@@ -50,7 +48,7 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
|
|
|
50
48
|
}
|
|
51
49
|
|
|
52
50
|
onDrag(gridPoint, grid) {
|
|
53
|
-
if (this.draggingOffset
|
|
51
|
+
if (this.draggingOffset === undefined || this.startingGridPoint === undefined) {
|
|
54
52
|
return false;
|
|
55
53
|
}
|
|
56
54
|
|
|
@@ -102,6 +100,7 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
|
|
|
102
100
|
var {
|
|
103
101
|
metrics
|
|
104
102
|
} = grid;
|
|
103
|
+
if (!metrics) throw new Error('Metrics not set');
|
|
105
104
|
var {
|
|
106
105
|
left,
|
|
107
106
|
lastLeft,
|
|
@@ -117,14 +116,14 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
|
|
|
117
116
|
|
|
118
117
|
if (left < draggingColumn) {
|
|
119
118
|
var leftColumn = draggingColumn - 1;
|
|
120
|
-
minX = visibleColumnXs
|
|
119
|
+
minX = getOrThrow(visibleColumnXs, leftColumn) + getOrThrow(visibleColumnWidths, leftColumn) * 0.5 + this.draggingOffset + rowHeaderWidth;
|
|
121
120
|
}
|
|
122
121
|
|
|
123
122
|
var maxX = width;
|
|
124
123
|
|
|
125
124
|
if (draggingColumn < right) {
|
|
126
125
|
var rightColumn = draggingColumn + 1;
|
|
127
|
-
maxX = visibleColumnXs
|
|
126
|
+
maxX = getOrThrow(visibleColumnXs, rightColumn) + getOrThrow(visibleColumnWidths, rightColumn) * 0.5 - getOrThrow(visibleColumnWidths, draggingColumn) + this.draggingOffset + rowHeaderWidth;
|
|
128
127
|
}
|
|
129
128
|
|
|
130
129
|
var {
|
|
@@ -143,8 +142,8 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
|
|
|
143
142
|
movedColumns,
|
|
144
143
|
draggingColumn
|
|
145
144
|
});
|
|
146
|
-
var minMoveX = rowHeaderWidth + visibleColumnWidths
|
|
147
|
-
var maxMoveX = rowHeaderWidth + visibleColumnXs
|
|
145
|
+
var minMoveX = rowHeaderWidth + getOrThrow(visibleColumnWidths, left) * 0.5;
|
|
146
|
+
var maxMoveX = rowHeaderWidth + getOrThrow(visibleColumnXs, rightVisible) + getOrThrow(visibleColumnWidths, rightVisible) * 0.5;
|
|
148
147
|
|
|
149
148
|
if (mouseX < minMoveX && left > 0) {
|
|
150
149
|
grid.setState({
|
|
@@ -159,11 +158,11 @@ class GridColumnMoveMouseHandler extends GridMouseHandler {
|
|
|
159
158
|
return true;
|
|
160
159
|
}
|
|
161
160
|
|
|
162
|
-
onUp(
|
|
161
|
+
onUp(gridPoint, grid) {
|
|
163
162
|
this.cursor = null;
|
|
164
163
|
|
|
165
164
|
if (this.draggingOffset != null) {
|
|
166
|
-
this.draggingOffset =
|
|
165
|
+
this.draggingOffset = undefined;
|
|
167
166
|
grid.setState({
|
|
168
167
|
draggingColumnOffset: null,
|
|
169
168
|
draggingColumn: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mouse-handlers/GridColumnMoveMouseHandler.js"],"names":["GridUtils","GridMouseHandler","SLOPPY_CLICK_DISTANCE","GridColumnMoveMouseHandler","onDown","gridPoint","grid","model","props","x","y","column","metrics","columnHeaderHeight","rowHeaderWidth","visibleColumnXs","startingGridPoint","sloppyClickThreshold","cursor","isColumnMovable","columnX","get","draggingOffset","setState","draggingColumnOffset","onDrag","draggingColumn","state","mouseX","mouseY","isDragging","Math","abs","getGridPointFromXY","left","lastLeft","right","rightVisible","columnCount","visibleColumnWidths","width","minX","leftColumn","maxX","rightColumn","movedColumns","moveItem","minMoveX","maxMoveX","onUp","_"],"mappings":"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","sourcesContent":["import GridUtils from '../GridUtils';\nimport GridMouseHandler from '../GridMouseHandler';\n\nconst SLOPPY_CLICK_DISTANCE = 5;\n\nclass GridColumnMoveMouseHandler extends GridMouseHandler {\n cursor = null;\n\n draggingOffset = null;\n\n startingGridPoint = null;\n\n sloppyClickThreshold = false;\n\n onDown(gridPoint, grid) {\n const { model } = grid.props;\n const { x, y, column } = gridPoint;\n const { metrics } = grid;\n const { columnHeaderHeight, rowHeaderWidth, visibleColumnXs } = metrics;\n\n this.startingGridPoint = gridPoint;\n this.sloppyClickThreshold = false;\n this.cursor = null;\n\n if (\n column != null &&\n y <= columnHeaderHeight &&\n model.isColumnMovable(column)\n ) {\n const columnX = visibleColumnXs.get(column);\n this.draggingOffset = x - columnX - rowHeaderWidth;\n grid.setState({ draggingColumnOffset: this.draggingOffset });\n }\n return false;\n }\n\n onDrag(gridPoint, grid) {\n if (this.draggingOffset == null) {\n return false;\n }\n\n const { model } = grid.props;\n let { draggingColumn } = grid.state;\n const { mouseX, mouseY, isDragging } = grid.state;\n if (mouseX == null || mouseY == null) {\n return false;\n }\n\n // before considering it a drag, the mouse must have moved a minimum distance\n // this prevents click actions from triggering a drag state\n if (\n (!this.sloppyClickThreshold &&\n Math.abs(this.startingGridPoint.x - mouseX) >= SLOPPY_CLICK_DISTANCE) ||\n Math.abs(this.startingGridPoint.y - mouseY) >= SLOPPY_CLICK_DISTANCE\n ) {\n this.sloppyClickThreshold = true;\n } else if (!this.sloppyClickThreshold && !isDragging) {\n return false;\n }\n\n if (draggingColumn == null) {\n const { column } = grid.getGridPointFromXY(mouseX, mouseY);\n if (column != null && !model.isColumnMovable(column)) {\n return false;\n }\n\n draggingColumn = column;\n\n grid.setState({ draggingColumn, isDragging: true });\n\n if (draggingColumn == null) {\n return false;\n }\n }\n\n this.cursor = 'move';\n const { metrics } = grid;\n const {\n left,\n lastLeft,\n right,\n rightVisible,\n columnCount,\n rowHeaderWidth,\n visibleColumnWidths,\n visibleColumnXs,\n width,\n } = metrics;\n let minX = rowHeaderWidth;\n if (left < draggingColumn) {\n const leftColumn = draggingColumn - 1;\n minX =\n visibleColumnXs.get(leftColumn) +\n visibleColumnWidths.get(leftColumn) * 0.5 +\n this.draggingOffset +\n rowHeaderWidth;\n }\n\n let maxX = width;\n if (draggingColumn < right) {\n const rightColumn = draggingColumn + 1;\n maxX =\n visibleColumnXs.get(rightColumn) +\n visibleColumnWidths.get(rightColumn) * 0.5 -\n visibleColumnWidths.get(draggingColumn) +\n this.draggingOffset +\n rowHeaderWidth;\n }\n\n let { movedColumns } = grid.state;\n if (\n mouseX < minX &&\n draggingColumn > 0 &&\n model.isColumnMovable(draggingColumn - 1)\n ) {\n movedColumns = GridUtils.moveItem(\n draggingColumn,\n draggingColumn - 1,\n movedColumns\n );\n draggingColumn -= 1;\n } else if (\n maxX < mouseX &&\n draggingColumn < columnCount - 1 &&\n model.isColumnMovable(draggingColumn + 1)\n ) {\n movedColumns = GridUtils.moveItem(\n draggingColumn,\n draggingColumn + 1,\n movedColumns\n );\n draggingColumn += 1;\n }\n grid.setState({ movedColumns, draggingColumn });\n\n const minMoveX = rowHeaderWidth + visibleColumnWidths.get(left) * 0.5;\n const maxMoveX =\n rowHeaderWidth +\n visibleColumnXs.get(rightVisible) +\n visibleColumnWidths.get(rightVisible) * 0.5;\n if (mouseX < minMoveX && left > 0) {\n grid.setState({ left: left - 1 });\n } else if (mouseX > maxMoveX && left < lastLeft) {\n grid.setState({ left: left + 1 });\n }\n\n return true;\n }\n\n onUp(_, grid) {\n this.cursor = null;\n\n if (this.draggingOffset != null) {\n this.draggingOffset = null;\n grid.setState({\n draggingColumnOffset: null,\n draggingColumn: null,\n isDragging: false,\n });\n return true;\n }\n\n return false;\n }\n}\n\nexport default GridColumnMoveMouseHandler;\n"],"file":"GridColumnMoveMouseHandler.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/mouse-handlers/GridColumnMoveMouseHandler.ts"],"names":["GridUtils","GridMouseHandler","getOrThrow","SLOPPY_CLICK_DISTANCE","GridColumnMoveMouseHandler","onDown","gridPoint","grid","model","props","x","y","column","metrics","Error","columnHeaderHeight","rowHeaderWidth","visibleColumnXs","startingGridPoint","sloppyClickThreshold","cursor","isColumnMovable","columnX","draggingOffset","setState","draggingColumnOffset","onDrag","undefined","draggingColumn","state","mouseX","mouseY","isDragging","Math","abs","getGridPointFromXY","left","lastLeft","right","rightVisible","columnCount","visibleColumnWidths","width","minX","leftColumn","maxX","rightColumn","movedColumns","moveItem","minMoveX","maxMoveX","onUp"],"mappings":"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","sourcesContent":["import Grid from '../Grid';\nimport GridUtils, { GridPoint } from '../GridUtils';\nimport GridMouseHandler from '../GridMouseHandler';\nimport { getOrThrow } from '../GridMetricCalculator';\nimport { EventHandlerResult } from '../EventHandlerResult';\n\nconst SLOPPY_CLICK_DISTANCE = 5;\n\nclass GridColumnMoveMouseHandler extends GridMouseHandler {\n cursor: string | null = null;\n\n private draggingOffset?: number;\n\n private startingGridPoint?: GridPoint;\n\n private sloppyClickThreshold = false;\n\n onDown(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n const { model } = grid.props;\n const { x, y, column } = gridPoint;\n const { metrics } = grid;\n if (!metrics) throw new Error('Metrics not set');\n\n const { columnHeaderHeight, rowHeaderWidth, visibleColumnXs } = metrics;\n\n this.startingGridPoint = gridPoint;\n this.sloppyClickThreshold = false;\n this.cursor = null;\n\n if (\n column != null &&\n y <= columnHeaderHeight &&\n model.isColumnMovable(column)\n ) {\n const columnX = getOrThrow(visibleColumnXs, column);\n this.draggingOffset = x - columnX - rowHeaderWidth;\n grid.setState({ draggingColumnOffset: this.draggingOffset });\n }\n return false;\n }\n\n onDrag(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n if (\n this.draggingOffset === undefined ||\n this.startingGridPoint === undefined\n ) {\n return false;\n }\n\n const { model } = grid.props;\n let { draggingColumn } = grid.state;\n const { mouseX, mouseY, isDragging } = grid.state;\n if (mouseX == null || mouseY == null) {\n return false;\n }\n\n // before considering it a drag, the mouse must have moved a minimum distance\n // this prevents click actions from triggering a drag state\n if (\n (!this.sloppyClickThreshold &&\n Math.abs(this.startingGridPoint.x - mouseX) >= SLOPPY_CLICK_DISTANCE) ||\n Math.abs(this.startingGridPoint.y - mouseY) >= SLOPPY_CLICK_DISTANCE\n ) {\n this.sloppyClickThreshold = true;\n } else if (!this.sloppyClickThreshold && !isDragging) {\n return false;\n }\n\n if (draggingColumn == null) {\n const { column } = grid.getGridPointFromXY(mouseX, mouseY);\n if (column != null && !model.isColumnMovable(column)) {\n return false;\n }\n\n draggingColumn = column;\n\n grid.setState({ draggingColumn, isDragging: true });\n\n if (draggingColumn == null) {\n return false;\n }\n }\n\n this.cursor = 'move';\n const { metrics } = grid;\n if (!metrics) throw new Error('Metrics not set');\n\n const {\n left,\n lastLeft,\n right,\n rightVisible,\n columnCount,\n rowHeaderWidth,\n visibleColumnWidths,\n visibleColumnXs,\n width,\n } = metrics;\n let minX = rowHeaderWidth;\n if (left < draggingColumn) {\n const leftColumn = draggingColumn - 1;\n minX =\n getOrThrow(visibleColumnXs, leftColumn) +\n getOrThrow(visibleColumnWidths, leftColumn) * 0.5 +\n this.draggingOffset +\n rowHeaderWidth;\n }\n\n let maxX = width;\n if (draggingColumn < right) {\n const rightColumn = draggingColumn + 1;\n maxX =\n getOrThrow(visibleColumnXs, rightColumn) +\n getOrThrow(visibleColumnWidths, rightColumn) * 0.5 -\n getOrThrow(visibleColumnWidths, draggingColumn) +\n this.draggingOffset +\n rowHeaderWidth;\n }\n\n let { movedColumns } = grid.state;\n if (\n mouseX < minX &&\n draggingColumn > 0 &&\n model.isColumnMovable(draggingColumn - 1)\n ) {\n movedColumns = GridUtils.moveItem(\n draggingColumn,\n draggingColumn - 1,\n movedColumns\n );\n draggingColumn -= 1;\n } else if (\n maxX < mouseX &&\n draggingColumn < columnCount - 1 &&\n model.isColumnMovable(draggingColumn + 1)\n ) {\n movedColumns = GridUtils.moveItem(\n draggingColumn,\n draggingColumn + 1,\n movedColumns\n );\n draggingColumn += 1;\n }\n grid.setState({ movedColumns, draggingColumn });\n\n const minMoveX =\n rowHeaderWidth + getOrThrow(visibleColumnWidths, left) * 0.5;\n const maxMoveX =\n rowHeaderWidth +\n getOrThrow(visibleColumnXs, rightVisible) +\n getOrThrow(visibleColumnWidths, rightVisible) * 0.5;\n if (mouseX < minMoveX && left > 0) {\n grid.setState({ left: left - 1 });\n } else if (mouseX > maxMoveX && left < lastLeft) {\n grid.setState({ left: left + 1 });\n }\n\n return true;\n }\n\n onUp(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n this.cursor = null;\n\n if (this.draggingOffset != null) {\n this.draggingOffset = undefined;\n grid.setState({\n draggingColumnOffset: null,\n draggingColumn: null,\n isDragging: false,\n });\n return true;\n }\n\n return false;\n }\n}\n\nexport default GridColumnMoveMouseHandler;\n"],"file":"GridColumnMoveMouseHandler.js"}
|
|
@@ -1,6 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
import Grid from '../Grid';
|
|
2
|
+
import GridMetricCalculator from '../GridMetricCalculator';
|
|
3
|
+
import { ModelIndex, VisibleIndex } from '../GridMetrics';
|
|
4
|
+
import GridUtils, { GridPoint } from '../GridUtils';
|
|
5
|
+
import GridSeparatorMouseHandler from './GridSeparatorMouseHandler';
|
|
2
6
|
declare class GridColumnSeparatorMouseHandler extends GridSeparatorMouseHandler {
|
|
3
|
-
static getColumnSeparatorIndex(gridPoint:
|
|
7
|
+
static getColumnSeparatorIndex(gridPoint: GridPoint, grid: Grid, checkAllowResize?: boolean): VisibleIndex | null;
|
|
8
|
+
hiddenCursor: string;
|
|
9
|
+
defaultCursor: string;
|
|
10
|
+
pointProperty: "x";
|
|
11
|
+
userSizesProperty: "userColumnWidths";
|
|
12
|
+
visibleOffsetProperty: "visibleColumnXs";
|
|
13
|
+
visibleSizesProperty: "visibleColumnWidths";
|
|
14
|
+
marginProperty: "rowHeaderWidth";
|
|
15
|
+
calculatedSizesProperty: "calculatedColumnWidths";
|
|
16
|
+
modelIndexesProperty: "modelColumns";
|
|
17
|
+
firstIndexProperty: "firstColumn";
|
|
18
|
+
treePaddingProperty: "treePaddingX";
|
|
19
|
+
getHiddenItems: typeof GridUtils.getHiddenColumns;
|
|
20
|
+
getNextShownItem: typeof GridUtils.getNextShownColumn;
|
|
21
|
+
setSize(metricCalculator: GridMetricCalculator, modelIndex: ModelIndex, size: number): void;
|
|
22
|
+
resetSize(metricCalculator: GridMetricCalculator, modelIndex: ModelIndex): void;
|
|
23
|
+
updateSeparator(grid: Grid, separatorIndex: VisibleIndex | null): void;
|
|
24
|
+
getSeparatorIndex: typeof GridColumnSeparatorMouseHandler.getColumnSeparatorIndex;
|
|
4
25
|
}
|
|
5
|
-
|
|
26
|
+
export default GridColumnSeparatorMouseHandler;
|
|
6
27
|
//# sourceMappingURL=GridColumnSeparatorMouseHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridColumnSeparatorMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mouse-handlers/GridColumnSeparatorMouseHandler.
|
|
1
|
+
{"version":3,"file":"GridColumnSeparatorMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mouse-handlers/GridColumnSeparatorMouseHandler.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAEpE,cAAM,+BAAgC,SAAQ,yBAAyB;IACrE,MAAM,CAAC,uBAAuB,CAC5B,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,gBAAgB,UAAO,GACtB,YAAY,GAAG,IAAI;IAatB,YAAY,SAAc;IAE1B,aAAa,SAAgB;IAE7B,aAAa,MAAgB;IAE7B,iBAAiB,qBAA+B;IAEhD,qBAAqB,oBAA8B;IAEnD,oBAAoB,wBAAkC;IAEtD,cAAc,mBAA6B;IAE3C,uBAAuB,2BAAqC;IAE5D,oBAAoB,iBAA2B;IAE/C,kBAAkB,gBAA0B;IAE5C,mBAAmB,iBAA2B;IAE9C,cAAc,oCAA8B;IAE5C,gBAAgB,sCAAgC;IAEhD,OAAO,CACL,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,GACX,IAAI;IAIP,SAAS,CACP,gBAAgB,EAAE,oBAAoB,EACtC,UAAU,EAAE,UAAU,GACrB,IAAI;IAIP,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;IAOtE,iBAAiB,iEAA2D;CAC7E;AAED,eAAe,+BAA+B,CAAC"}
|
|
@@ -52,6 +52,7 @@ class GridColumnSeparatorMouseHandler extends GridSeparatorMouseHandler {
|
|
|
52
52
|
var {
|
|
53
53
|
metrics
|
|
54
54
|
} = grid;
|
|
55
|
+
if (!metrics) throw new Error('metrics not set');
|
|
55
56
|
return GridUtils.getColumnSeparatorIndex(x, y, metrics, theme);
|
|
56
57
|
}
|
|
57
58
|
|
|
@@ -66,7 +67,7 @@ class GridColumnSeparatorMouseHandler extends GridSeparatorMouseHandler {
|
|
|
66
67
|
updateSeparator(grid, separatorIndex) {
|
|
67
68
|
grid.setState({
|
|
68
69
|
draggingColumnSeparator: separatorIndex,
|
|
69
|
-
isDragging:
|
|
70
|
+
isDragging: separatorIndex !== null
|
|
70
71
|
});
|
|
71
72
|
}
|
|
72
73
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mouse-handlers/GridColumnSeparatorMouseHandler.
|
|
1
|
+
{"version":3,"sources":["../../src/mouse-handlers/GridColumnSeparatorMouseHandler.ts"],"names":["GridUtils","GridSeparatorMouseHandler","GridColumnSeparatorMouseHandler","getHiddenColumns","getNextShownColumn","getColumnSeparatorIndex","gridPoint","grid","checkAllowResize","theme","getTheme","allowColumnResize","x","y","metrics","Error","setSize","metricCalculator","modelIndex","size","setColumnWidth","resetSize","resetColumnWidth","updateSeparator","separatorIndex","setState","draggingColumnSeparator","isDragging"],"mappings":";;AAAA;OAIOA,S;OACAC,yB;;AAEP,MAAMC,+BAAN,SAA8CD,yBAA9C,CAAwE;AAAA;AAAA;;AAAA,0CAkBvD,UAlBuD;;AAAA,2CAoBtD,YApBsD;;AAAA,2CAsBtD,GAtBsD;;AAAA,+CAwBlD,kBAxBkD;;AAAA,mDA0B9C,iBA1B8C;;AAAA,kDA4B/C,qBA5B+C;;AAAA,4CA8BrD,gBA9BqD;;AAAA,qDAgC5C,wBAhC4C;;AAAA,kDAkC/C,cAlC+C;;AAAA,gDAoCjD,aApCiD;;AAAA,iDAsChD,cAtCgD;;AAAA,4CAwCrDD,SAAS,CAACG,gBAxC2C;;AAAA,8CA0CnDH,SAAS,CAACI,kBA1CyC;;AAAA,+CAkElDF,+BAA+B,CAACG,uBAlEkB;AAAA;;AACxC,SAAvBA,uBAAuB,CAC5BC,SAD4B,EAE5BC,IAF4B,EAIP;AAAA,QADrBC,gBACqB,uEADF,IACE;AACrB,QAAMC,KAAK,GAAGF,IAAI,CAACG,QAAL,EAAd;;AACA,QAAIF,gBAAgB,IAAI,CAACC,KAAK,CAACE,iBAA/B,EAAkD;AAChD,aAAO,IAAP;AACD;;AAED,QAAM;AAAEC,MAAAA,CAAF;AAAKC,MAAAA;AAAL,QAAWP,SAAjB;AACA,QAAM;AAAEQ,MAAAA;AAAF,QAAcP,IAApB;AACA,QAAI,CAACO,OAAL,EAAc,MAAM,IAAIC,KAAJ,CAAU,iBAAV,CAAN;AAEd,WAAOf,SAAS,CAACK,uBAAV,CAAkCO,CAAlC,EAAqCC,CAArC,EAAwCC,OAAxC,EAAiDL,KAAjD,CAAP;AACD;;AA4BDO,EAAAA,OAAO,CACLC,gBADK,EAELC,UAFK,EAGLC,IAHK,EAIC;AACNF,IAAAA,gBAAgB,CAACG,cAAjB,CAAgCF,UAAhC,EAA4CC,IAA5C;AACD;;AAEDE,EAAAA,SAAS,CACPJ,gBADO,EAEPC,UAFO,EAGD;AACND,IAAAA,gBAAgB,CAACK,gBAAjB,CAAkCJ,UAAlC;AACD;;AAEDK,EAAAA,eAAe,CAAChB,IAAD,EAAaiB,cAAb,EAAwD;AACrEjB,IAAAA,IAAI,CAACkB,QAAL,CAAc;AACZC,MAAAA,uBAAuB,EAAEF,cADb;AAEZG,MAAAA,UAAU,EAAEH,cAAc,KAAK;AAFnB,KAAd;AAID;;AAhEqE;;AAqExE,eAAetB,+BAAf","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport Grid from '../Grid';\nimport GridMetricCalculator from '../GridMetricCalculator';\nimport { ModelIndex, VisibleIndex } from '../GridMetrics';\nimport GridUtils, { GridPoint } from '../GridUtils';\nimport GridSeparatorMouseHandler from './GridSeparatorMouseHandler';\n\nclass GridColumnSeparatorMouseHandler extends GridSeparatorMouseHandler {\n static getColumnSeparatorIndex(\n gridPoint: GridPoint,\n grid: Grid,\n checkAllowResize = true\n ): VisibleIndex | null {\n const theme = grid.getTheme();\n if (checkAllowResize && !theme.allowColumnResize) {\n return null;\n }\n\n const { x, y } = gridPoint;\n const { metrics } = grid;\n if (!metrics) throw new Error('metrics not set');\n\n return GridUtils.getColumnSeparatorIndex(x, y, metrics, theme);\n }\n\n hiddenCursor = 'e-resize';\n\n defaultCursor = 'col-resize';\n\n pointProperty = 'x' as const;\n\n userSizesProperty = 'userColumnWidths' as const;\n\n visibleOffsetProperty = 'visibleColumnXs' as const;\n\n visibleSizesProperty = 'visibleColumnWidths' as const;\n\n marginProperty = 'rowHeaderWidth' as const;\n\n calculatedSizesProperty = 'calculatedColumnWidths' as const;\n\n modelIndexesProperty = 'modelColumns' as const;\n\n firstIndexProperty = 'firstColumn' as const;\n\n treePaddingProperty = 'treePaddingX' as const;\n\n getHiddenItems = GridUtils.getHiddenColumns;\n\n getNextShownItem = GridUtils.getNextShownColumn;\n\n setSize(\n metricCalculator: GridMetricCalculator,\n modelIndex: ModelIndex,\n size: number\n ): void {\n metricCalculator.setColumnWidth(modelIndex, size);\n }\n\n resetSize(\n metricCalculator: GridMetricCalculator,\n modelIndex: ModelIndex\n ): void {\n metricCalculator.resetColumnWidth(modelIndex);\n }\n\n updateSeparator(grid: Grid, separatorIndex: VisibleIndex | null): void {\n grid.setState({\n draggingColumnSeparator: separatorIndex,\n isDragging: separatorIndex !== null,\n });\n }\n\n getSeparatorIndex = GridColumnSeparatorMouseHandler.getColumnSeparatorIndex;\n}\n\nexport default GridColumnSeparatorMouseHandler;\n"],"file":"GridColumnSeparatorMouseHandler.js"}
|
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
import { EventHandlerResult } from '../EventHandlerResult';
|
|
2
|
+
import Grid from '../Grid';
|
|
3
|
+
import { VisibleIndex } from '../GridMetrics';
|
|
4
|
+
import GridMouseHandler from '../GridMouseHandler';
|
|
5
|
+
import { GridPoint } from '../GridUtils';
|
|
2
6
|
declare class GridHorizontalScrollBarMouseHandler extends GridMouseHandler {
|
|
3
|
-
static getLeftWithOffsetFromRawLeft(grid:
|
|
4
|
-
left:
|
|
7
|
+
static getLeftWithOffsetFromRawLeft(grid: Grid, rawLeft: number): {
|
|
8
|
+
left: VisibleIndex;
|
|
5
9
|
leftOffset: number;
|
|
6
10
|
};
|
|
7
|
-
dragOffset
|
|
8
|
-
|
|
11
|
+
private dragOffset?;
|
|
12
|
+
cursor: string;
|
|
13
|
+
isInScrollBar(gridPoint: GridPoint, grid: Grid): boolean;
|
|
14
|
+
onDown(gridPoint: GridPoint, grid: Grid): EventHandlerResult;
|
|
15
|
+
onDrag(gridPoint: GridPoint, grid: Grid): EventHandlerResult;
|
|
16
|
+
onMove(gridPoint: GridPoint, grid: Grid): EventHandlerResult;
|
|
17
|
+
onUp(gridPoint: GridPoint, grid: Grid): EventHandlerResult;
|
|
18
|
+
onClick(gridPoint: GridPoint, grid: Grid): EventHandlerResult;
|
|
9
19
|
}
|
|
10
|
-
|
|
20
|
+
export default GridHorizontalScrollBarMouseHandler;
|
|
11
21
|
//# sourceMappingURL=GridHorizontalScrollBarMouseHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridHorizontalScrollBarMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mouse-handlers/GridHorizontalScrollBarMouseHandler.
|
|
1
|
+
{"version":3,"file":"GridHorizontalScrollBarMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mouse-handlers/GridHorizontalScrollBarMouseHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,cAAM,mCAAoC,SAAQ,gBAAgB;IAChE,MAAM,CAAC,4BAA4B,CACjC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,GACd;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAuB7C,OAAO,CAAC,UAAU,CAAC,CAAS;IAG5B,MAAM,SAAa;IAEnB,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;IAoBxD,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;IA8C5D,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;IAoC5D,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;IAI5D,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;IAY1D,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;CAG9D;AAED,eAAe,mCAAmC,CAAC"}
|
|
@@ -1,17 +1,49 @@
|
|
|
1
1
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
2
|
|
|
3
3
|
import GridMouseHandler from "../GridMouseHandler.js";
|
|
4
|
-
/* eslint class-methods-use-this: "off" */
|
|
5
4
|
|
|
5
|
+
/* eslint class-methods-use-this: "off" */
|
|
6
6
|
class GridHorizontalScrollBarMouseHandler extends GridMouseHandler {
|
|
7
7
|
constructor() {
|
|
8
8
|
super(...arguments);
|
|
9
9
|
|
|
10
|
-
_defineProperty(this, "dragOffset", null);
|
|
11
|
-
|
|
12
10
|
_defineProperty(this, "cursor", 'default');
|
|
13
11
|
}
|
|
14
12
|
|
|
13
|
+
static getLeftWithOffsetFromRawLeft(grid, rawLeft) {
|
|
14
|
+
var theme = grid.getTheme();
|
|
15
|
+
var {
|
|
16
|
+
metrics,
|
|
17
|
+
metricCalculator
|
|
18
|
+
} = grid;
|
|
19
|
+
if (!metrics) throw new Error('metrics not set');
|
|
20
|
+
|
|
21
|
+
if (theme.scrollSnapToColumn) {
|
|
22
|
+
var _left = Math.round(rawLeft);
|
|
23
|
+
|
|
24
|
+
var _leftOffset = 0;
|
|
25
|
+
return {
|
|
26
|
+
left: _left,
|
|
27
|
+
leftOffset: _leftOffset
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
var left = Math.floor(rawLeft);
|
|
32
|
+
var leftOffsetPercent = rawLeft - left;
|
|
33
|
+
var columnWidth = metrics.visibleColumnWidths.get(left);
|
|
34
|
+
|
|
35
|
+
if (columnWidth == null) {
|
|
36
|
+
var metricState = grid.getMetricState();
|
|
37
|
+
columnWidth = metricCalculator.getVisibleColumnWidth(left, metricState);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
var leftOffset = columnWidth * leftOffsetPercent;
|
|
41
|
+
return {
|
|
42
|
+
left,
|
|
43
|
+
leftOffset
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
15
47
|
isInScrollBar(gridPoint, grid) {
|
|
16
48
|
var theme = grid.getTheme();
|
|
17
49
|
var {
|
|
@@ -21,6 +53,7 @@ class GridHorizontalScrollBarMouseHandler extends GridMouseHandler {
|
|
|
21
53
|
var {
|
|
22
54
|
metrics
|
|
23
55
|
} = grid;
|
|
56
|
+
if (!metrics) throw new Error('metrics not set');
|
|
24
57
|
var {
|
|
25
58
|
x,
|
|
26
59
|
y
|
|
@@ -40,6 +73,7 @@ class GridHorizontalScrollBarMouseHandler extends GridMouseHandler {
|
|
|
40
73
|
var {
|
|
41
74
|
metrics
|
|
42
75
|
} = grid;
|
|
76
|
+
if (!metrics) throw new Error('metrics not set');
|
|
43
77
|
var {
|
|
44
78
|
x
|
|
45
79
|
} = gridPoint;
|
|
@@ -89,6 +123,7 @@ class GridHorizontalScrollBarMouseHandler extends GridMouseHandler {
|
|
|
89
123
|
var {
|
|
90
124
|
metrics
|
|
91
125
|
} = grid;
|
|
126
|
+
if (!metrics) throw new Error('metrics not set');
|
|
92
127
|
var {
|
|
93
128
|
barWidth,
|
|
94
129
|
handleWidth,
|
|
@@ -118,8 +153,8 @@ class GridHorizontalScrollBarMouseHandler extends GridMouseHandler {
|
|
|
118
153
|
}
|
|
119
154
|
|
|
120
155
|
onUp(gridPoint, grid) {
|
|
121
|
-
if (this.dragOffset
|
|
122
|
-
this.dragOffset =
|
|
156
|
+
if (this.dragOffset !== undefined) {
|
|
157
|
+
this.dragOffset = undefined;
|
|
123
158
|
grid.setState({
|
|
124
159
|
isDraggingHorizontalScrollBar: false,
|
|
125
160
|
isDragging: false
|
|
@@ -133,39 +168,6 @@ class GridHorizontalScrollBarMouseHandler extends GridMouseHandler {
|
|
|
133
168
|
return this.isInScrollBar(gridPoint, grid);
|
|
134
169
|
}
|
|
135
170
|
|
|
136
|
-
static getLeftWithOffsetFromRawLeft(grid, rawLeft) {
|
|
137
|
-
var theme = grid.getTheme();
|
|
138
|
-
var {
|
|
139
|
-
metrics,
|
|
140
|
-
metricCalculator
|
|
141
|
-
} = grid;
|
|
142
|
-
|
|
143
|
-
if (theme.scrollSnapToColumn) {
|
|
144
|
-
var _left = Math.round(rawLeft);
|
|
145
|
-
|
|
146
|
-
var _leftOffset = 0;
|
|
147
|
-
return {
|
|
148
|
-
left: _left,
|
|
149
|
-
leftOffset: _leftOffset
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
var left = Math.floor(rawLeft);
|
|
154
|
-
var leftOffsetPercent = rawLeft - left;
|
|
155
|
-
var columnWidth = metrics.visibleColumnWidths.get(left);
|
|
156
|
-
|
|
157
|
-
if (columnWidth == null) {
|
|
158
|
-
var metricState = grid.getMetricState();
|
|
159
|
-
columnWidth = metricCalculator.getVisibleColumnWidth(left, metricState);
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
var leftOffset = columnWidth * leftOffsetPercent;
|
|
163
|
-
return {
|
|
164
|
-
left,
|
|
165
|
-
leftOffset
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
|
|
169
171
|
}
|
|
170
172
|
|
|
171
173
|
export default GridHorizontalScrollBarMouseHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mouse-handlers/GridHorizontalScrollBarMouseHandler.
|
|
1
|
+
{"version":3,"sources":["../../src/mouse-handlers/GridHorizontalScrollBarMouseHandler.ts"],"names":["GridMouseHandler","GridHorizontalScrollBarMouseHandler","getLeftWithOffsetFromRawLeft","grid","rawLeft","theme","getTheme","metrics","metricCalculator","Error","scrollSnapToColumn","left","Math","round","leftOffset","floor","leftOffsetPercent","columnWidth","visibleColumnWidths","get","metricState","getMetricState","getVisibleColumnWidth","isInScrollBar","gridPoint","scrollBarSize","scrollBarHoverSize","x","y","lastLeft","lastTop","rowHeaderWidth","width","height","scrollBarWidth","onDown","barWidth","handleWidth","scrollX","mouseBarX","dragOffset","setState","isDraggingHorizontalScrollBar","min","max","newLeft","newLeftOffset","setViewState","isDragging","onDrag","onMove","onUp","undefined","onClick"],"mappings":"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","sourcesContent":["import { EventHandlerResult } from '../EventHandlerResult';\nimport Grid from '../Grid';\nimport { VisibleIndex } from '../GridMetrics';\nimport GridMouseHandler from '../GridMouseHandler';\nimport { GridPoint } from '../GridUtils';\n\n/* eslint class-methods-use-this: \"off\" */\nclass GridHorizontalScrollBarMouseHandler extends GridMouseHandler {\n static getLeftWithOffsetFromRawLeft(\n grid: Grid,\n rawLeft: number\n ): { left: VisibleIndex; leftOffset: number } {\n const theme = grid.getTheme();\n const { metrics, metricCalculator } = grid;\n if (!metrics) throw new Error('metrics not set');\n\n if (theme.scrollSnapToColumn) {\n const left = Math.round(rawLeft);\n const leftOffset = 0;\n\n return { left, leftOffset };\n }\n const left = Math.floor(rawLeft);\n const leftOffsetPercent = rawLeft - left;\n let columnWidth = metrics.visibleColumnWidths.get(left);\n if (columnWidth == null) {\n const metricState = grid.getMetricState();\n columnWidth = metricCalculator.getVisibleColumnWidth(left, metricState);\n }\n const leftOffset = columnWidth * leftOffsetPercent;\n\n return { left, leftOffset };\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 { lastLeft, lastTop, rowHeaderWidth, width, height } = metrics;\n const scrollBarWidth = lastTop > 0 ? width - scrollBarSize : width;\n return (\n scrollBarSize > 0 &&\n lastLeft > 0 &&\n y >= height - scrollBarHoverSize &&\n y < height &&\n x > rowHeaderWidth &&\n x < scrollBarWidth\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 { x } = gridPoint;\n const {\n barWidth,\n handleWidth,\n lastLeft,\n rowHeaderWidth,\n scrollX,\n } = metrics;\n if (!this.isInScrollBar(gridPoint, grid)) {\n return false;\n }\n\n const mouseBarX = x - rowHeaderWidth;\n if (mouseBarX >= scrollX && mouseBarX <= scrollX + handleWidth) {\n // Grabbed the horizontal handle\n this.dragOffset = mouseBarX - scrollX;\n grid.setState({ isDraggingHorizontalScrollBar: true });\n } else {\n this.dragOffset = 0;\n const rawLeft = Math.min(\n Math.max(0, (mouseBarX / (barWidth - handleWidth)) * lastLeft),\n lastLeft\n );\n\n const {\n left: newLeft,\n leftOffset: newLeftOffset,\n } = GridHorizontalScrollBarMouseHandler.getLeftWithOffsetFromRawLeft(\n grid,\n rawLeft\n );\n grid.setViewState({\n left: newLeft,\n leftOffset: newLeftOffset,\n isDraggingHorizontalScrollBar: true,\n isDragging: true,\n });\n }\n\n return true;\n }\n\n onDrag(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n if (this.dragOffset != null) {\n const { x } = gridPoint;\n const { metrics } = grid;\n if (!metrics) throw new Error('metrics not set');\n\n const { barWidth, handleWidth, lastLeft, rowHeaderWidth } = metrics;\n const mouseBarX = x - rowHeaderWidth;\n\n const rawLeft = Math.min(\n Math.max(\n 0,\n ((mouseBarX - this.dragOffset) / (barWidth - handleWidth)) * lastLeft\n ),\n lastLeft\n );\n\n const {\n left: newLeft,\n leftOffset: newLeftOffset,\n } = GridHorizontalScrollBarMouseHandler.getLeftWithOffsetFromRawLeft(\n grid,\n rawLeft\n );\n grid.setViewState({\n left: newLeft,\n leftOffset: newLeftOffset,\n isDraggingHorizontalScrollBar: true,\n isDragging: true,\n });\n\n return true;\n }\n return false;\n }\n\n onMove(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n return this.isInScrollBar(gridPoint, grid);\n }\n\n onUp(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n if (this.dragOffset !== undefined) {\n this.dragOffset = undefined;\n grid.setState({\n isDraggingHorizontalScrollBar: false,\n isDragging: false,\n });\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 GridHorizontalScrollBarMouseHandler;\n"],"file":"GridHorizontalScrollBarMouseHandler.js"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import { EventHandlerResult } from '../EventHandlerResult';
|
|
2
|
+
import Grid from '../Grid';
|
|
3
|
+
import GridMouseHandler from '../GridMouseHandler';
|
|
4
|
+
import { GridPoint } from '../GridUtils';
|
|
2
5
|
declare class GridRowMoveMouseHandler extends GridMouseHandler {
|
|
3
|
-
|
|
6
|
+
cursor: string;
|
|
7
|
+
private draggingOffset?;
|
|
8
|
+
onDown(gridPoint: GridPoint, grid: Grid): EventHandlerResult;
|
|
9
|
+
onDrag(gridPoint: GridPoint, grid: Grid): EventHandlerResult;
|
|
10
|
+
onUp(gridPoint: GridPoint, grid: Grid): EventHandlerResult;
|
|
4
11
|
}
|
|
5
|
-
|
|
12
|
+
export default GridRowMoveMouseHandler;
|
|
6
13
|
//# sourceMappingURL=GridRowMoveMouseHandler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridRowMoveMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mouse-handlers/GridRowMoveMouseHandler.
|
|
1
|
+
{"version":3,"file":"GridRowMoveMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mouse-handlers/GridRowMoveMouseHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,gBAAgB,MAAM,qBAAqB,CAAC;AACnD,OAAkB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,cAAM,uBAAwB,SAAQ,gBAAgB;IACpD,MAAM,SAAU;IAEhB,OAAO,CAAC,cAAc,CAAC,CAAS;IAEhC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;IAgB5D,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;IA4F5D,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;CAa3D;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import { getOrThrow } from "../GridMetricCalculator.js";
|
|
4
4
|
import GridMouseHandler from "../GridMouseHandler.js";
|
|
5
|
+
import GridUtils from "../GridUtils.js";
|
|
5
6
|
|
|
6
7
|
class GridRowMoveMouseHandler extends GridMouseHandler {
|
|
7
8
|
constructor() {
|
|
8
9
|
super(...arguments);
|
|
9
10
|
|
|
10
11
|
_defineProperty(this, "cursor", 'move');
|
|
11
|
-
|
|
12
|
-
_defineProperty(this, "draggingOffset", null);
|
|
13
12
|
}
|
|
14
13
|
|
|
15
14
|
onDown(gridPoint, grid) {
|
|
@@ -24,14 +23,15 @@ class GridRowMoveMouseHandler extends GridMouseHandler {
|
|
|
24
23
|
var {
|
|
25
24
|
metrics
|
|
26
25
|
} = grid;
|
|
26
|
+
if (!metrics) throw new Error('metrics not set');
|
|
27
27
|
var {
|
|
28
28
|
columnHeaderHeight,
|
|
29
29
|
rowHeaderWidth,
|
|
30
30
|
visibleRowYs
|
|
31
31
|
} = metrics;
|
|
32
32
|
|
|
33
|
-
if (x <= rowHeaderWidth && model.isRowMovable(row)) {
|
|
34
|
-
var rowY = visibleRowYs
|
|
33
|
+
if (x <= rowHeaderWidth && row !== null && model.isRowMovable(row)) {
|
|
34
|
+
var rowY = getOrThrow(visibleRowYs, row);
|
|
35
35
|
this.draggingOffset = y - rowY - columnHeaderHeight;
|
|
36
36
|
grid.setState({
|
|
37
37
|
draggingRowOffset: this.draggingOffset
|
|
@@ -84,6 +84,7 @@ class GridRowMoveMouseHandler extends GridMouseHandler {
|
|
|
84
84
|
var {
|
|
85
85
|
metrics
|
|
86
86
|
} = grid;
|
|
87
|
+
if (!metrics) throw new Error('metrics not set');
|
|
87
88
|
var {
|
|
88
89
|
top,
|
|
89
90
|
lastTop,
|
|
@@ -99,14 +100,14 @@ class GridRowMoveMouseHandler extends GridMouseHandler {
|
|
|
99
100
|
|
|
100
101
|
if (top < draggingRow) {
|
|
101
102
|
var topRow = draggingRow - 1;
|
|
102
|
-
minY = visibleRowYs
|
|
103
|
+
minY = getOrThrow(visibleRowYs, topRow) + getOrThrow(visibleRowHeights, topRow) * 0.5 + columnHeaderHeight;
|
|
103
104
|
}
|
|
104
105
|
|
|
105
106
|
var maxY = height;
|
|
106
107
|
|
|
107
108
|
if (draggingRow < bottom) {
|
|
108
109
|
var bottomRow = draggingRow + 1;
|
|
109
|
-
maxY = visibleRowYs
|
|
110
|
+
maxY = getOrThrow(visibleRowYs, bottomRow) + getOrThrow(visibleRowHeights, bottomRow) * 0.5 + columnHeaderHeight;
|
|
110
111
|
}
|
|
111
112
|
|
|
112
113
|
var {
|
|
@@ -125,8 +126,8 @@ class GridRowMoveMouseHandler extends GridMouseHandler {
|
|
|
125
126
|
movedRows,
|
|
126
127
|
draggingRow
|
|
127
128
|
});
|
|
128
|
-
var minMoveY = columnHeaderHeight + visibleRowHeights
|
|
129
|
-
var maxMoveY = columnHeaderHeight + visibleRowYs
|
|
129
|
+
var minMoveY = columnHeaderHeight + getOrThrow(visibleRowHeights, top) * 0.5;
|
|
130
|
+
var maxMoveY = columnHeaderHeight + getOrThrow(visibleRowYs, bottomVisible) + getOrThrow(visibleRowHeights, bottomVisible) * 0.5;
|
|
130
131
|
|
|
131
132
|
if (mouseY < minMoveY && top > 0) {
|
|
132
133
|
grid.setState({
|
|
@@ -141,9 +142,9 @@ class GridRowMoveMouseHandler extends GridMouseHandler {
|
|
|
141
142
|
return true;
|
|
142
143
|
}
|
|
143
144
|
|
|
144
|
-
onUp(
|
|
145
|
-
if (this.draggingOffset
|
|
146
|
-
this.draggingOffset =
|
|
145
|
+
onUp(gridPoint, grid) {
|
|
146
|
+
if (this.draggingOffset !== undefined) {
|
|
147
|
+
this.draggingOffset = undefined;
|
|
147
148
|
grid.setState({
|
|
148
149
|
draggingRowOffset: null,
|
|
149
150
|
draggingRow: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mouse-handlers/GridRowMoveMouseHandler.
|
|
1
|
+
{"version":3,"sources":["../../src/mouse-handlers/GridRowMoveMouseHandler.ts"],"names":["getOrThrow","GridMouseHandler","GridUtils","GridRowMoveMouseHandler","onDown","gridPoint","grid","model","props","x","y","row","metrics","Error","columnHeaderHeight","rowHeaderWidth","visibleRowYs","isRowMovable","rowY","draggingOffset","setState","draggingRowOffset","onDrag","draggingRow","state","mouseX","mouseY","getGridPointFromXY","isDragging","top","lastTop","bottom","bottomVisible","rowCount","visibleRowHeights","height","minY","topRow","maxY","bottomRow","movedRows","moveItem","minMoveY","maxMoveY","onUp","undefined"],"mappings":"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","sourcesContent":["import { EventHandlerResult } from '../EventHandlerResult';\nimport Grid from '../Grid';\nimport { getOrThrow } from '../GridMetricCalculator';\nimport GridMouseHandler from '../GridMouseHandler';\nimport GridUtils, { GridPoint } from '../GridUtils';\n\nclass GridRowMoveMouseHandler extends GridMouseHandler {\n cursor = 'move';\n\n private draggingOffset?: number;\n\n onDown(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n const { model } = grid.props;\n const { x, y, row } = gridPoint;\n const { metrics } = grid;\n if (!metrics) throw new Error('metrics not set');\n\n const { columnHeaderHeight, rowHeaderWidth, visibleRowYs } = metrics;\n\n if (x <= rowHeaderWidth && row !== null && model.isRowMovable(row)) {\n const rowY = getOrThrow(visibleRowYs, row);\n this.draggingOffset = y - rowY - columnHeaderHeight;\n grid.setState({ draggingRowOffset: this.draggingOffset });\n }\n return false;\n }\n\n onDrag(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n if (this.draggingOffset == null) {\n return false;\n }\n\n const { model } = grid.props;\n let { draggingRow } = grid.state;\n const { mouseX, mouseY } = grid.state;\n if (mouseX == null || mouseY == null) {\n return false;\n }\n\n if (draggingRow == null) {\n const { row } = grid.getGridPointFromXY(mouseX, mouseY);\n if (row != null && !model.isRowMovable(row)) {\n return false;\n }\n\n draggingRow = row;\n\n grid.setState({ draggingRow, isDragging: true });\n\n if (draggingRow == null) {\n return false;\n }\n }\n\n const { metrics } = grid;\n if (!metrics) throw new Error('metrics not set');\n\n const {\n top,\n lastTop,\n bottom,\n bottomVisible,\n rowCount,\n columnHeaderHeight,\n visibleRowHeights,\n visibleRowYs,\n height,\n } = metrics;\n let minY = columnHeaderHeight;\n if (top < draggingRow) {\n const topRow = draggingRow - 1;\n minY =\n getOrThrow(visibleRowYs, topRow) +\n getOrThrow(visibleRowHeights, topRow) * 0.5 +\n columnHeaderHeight;\n }\n\n let maxY = height;\n if (draggingRow < bottom) {\n const bottomRow = draggingRow + 1;\n maxY =\n getOrThrow(visibleRowYs, bottomRow) +\n getOrThrow(visibleRowHeights, bottomRow) * 0.5 +\n columnHeaderHeight;\n }\n\n let { movedRows } = grid.state;\n if (\n mouseY < minY &&\n draggingRow > 0 &&\n model.isRowMovable(draggingRow - 1)\n ) {\n movedRows = GridUtils.moveItem(draggingRow, draggingRow - 1, movedRows);\n draggingRow -= 1;\n } else if (\n maxY < mouseY &&\n draggingRow < rowCount - 1 &&\n model.isRowMovable(draggingRow + 1)\n ) {\n movedRows = GridUtils.moveItem(draggingRow, draggingRow + 1, movedRows);\n draggingRow += 1;\n }\n grid.setState({ movedRows, draggingRow });\n\n const minMoveY =\n columnHeaderHeight + getOrThrow(visibleRowHeights, top) * 0.5;\n const maxMoveY =\n columnHeaderHeight +\n getOrThrow(visibleRowYs, bottomVisible) +\n getOrThrow(visibleRowHeights, bottomVisible) * 0.5;\n if (mouseY < minMoveY && top > 0) {\n grid.setState({ top: top - 1 });\n } else if (mouseY > maxMoveY && top < lastTop) {\n grid.setState({ top: top + 1 });\n }\n\n return true;\n }\n\n onUp(gridPoint: GridPoint, grid: Grid): EventHandlerResult {\n if (this.draggingOffset !== undefined) {\n this.draggingOffset = undefined;\n grid.setState({\n draggingRowOffset: null,\n draggingRow: null,\n isDragging: false,\n });\n return true;\n }\n\n return false;\n }\n}\n\nexport default GridRowMoveMouseHandler;\n"],"file":"GridRowMoveMouseHandler.js"}
|
|
@@ -1,6 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
import Grid from '../Grid';
|
|
2
|
+
import GridMetricCalculator from '../GridMetricCalculator';
|
|
3
|
+
import { ModelIndex, VisibleIndex } from '../GridMetrics';
|
|
4
|
+
import GridUtils, { GridPoint } from '../GridUtils';
|
|
5
|
+
import GridSeparatorMouseHandler from './GridSeparatorMouseHandler';
|
|
2
6
|
declare class GridRowSeparatorMouseHandler extends GridSeparatorMouseHandler {
|
|
3
|
-
static getRowSeparatorIndex(gridPoint:
|
|
7
|
+
static getRowSeparatorIndex(gridPoint: GridPoint, grid: Grid, checkAllowResize?: boolean): VisibleIndex | null;
|
|
8
|
+
hiddenCursor: string;
|
|
9
|
+
defaultCursor: string;
|
|
10
|
+
pointProperty: "y";
|
|
11
|
+
userSizesProperty: "userRowHeights";
|
|
12
|
+
visibleOffsetProperty: "visibleRowYs";
|
|
13
|
+
visibleSizesProperty: "visibleRowHeights";
|
|
14
|
+
marginProperty: "columnHeaderHeight";
|
|
15
|
+
calculatedSizesProperty: "calculatedRowHeights";
|
|
16
|
+
modelIndexesProperty: "modelRows";
|
|
17
|
+
firstIndexProperty: "firstRow";
|
|
18
|
+
treePaddingProperty: "treePaddingY";
|
|
19
|
+
getHiddenItems: typeof GridUtils.getHiddenRows;
|
|
20
|
+
getNextShownItem: typeof GridUtils.getNextShownRow;
|
|
21
|
+
setSize(metricCalculator: GridMetricCalculator, modelIndex: ModelIndex, size: number): void;
|
|
22
|
+
resetSize(metricCalculator: GridMetricCalculator, modelIndex: ModelIndex): void;
|
|
23
|
+
updateSeparator(grid: Grid, separatorIndex: VisibleIndex | null): void;
|
|
24
|
+
getSeparatorIndex: typeof GridRowSeparatorMouseHandler.getRowSeparatorIndex;
|
|
4
25
|
}
|
|
5
|
-
|
|
26
|
+
export default GridRowSeparatorMouseHandler;
|
|
6
27
|
//# sourceMappingURL=GridRowSeparatorMouseHandler.d.ts.map
|