@deephaven/grid 0.31.2-beta.3 → 0.31.2-beta.8
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/Grid.d.ts +13 -4
- package/dist/Grid.d.ts.map +1 -1
- package/dist/Grid.js +77 -53
- package/dist/Grid.js.map +1 -1
- package/dist/GridMetricCalculator.d.ts +1 -9
- package/dist/GridMetricCalculator.d.ts.map +1 -1
- package/dist/GridMetricCalculator.js +4 -17
- package/dist/GridMetricCalculator.js.map +1 -1
- package/dist/GridModel.d.ts +10 -0
- package/dist/GridModel.d.ts.map +1 -1
- package/dist/GridModel.js +40 -4
- package/dist/GridModel.js.map +1 -1
- package/dist/GridRenderer.d.ts +14 -2
- package/dist/GridRenderer.d.ts.map +1 -1
- package/dist/GridRenderer.js +159 -23
- package/dist/GridRenderer.js.map +1 -1
- package/dist/GridTheme.d.ts +1 -0
- package/dist/GridTheme.d.ts.map +1 -1
- package/dist/GridTheme.js +1 -0
- package/dist/GridTheme.js.map +1 -1
- package/dist/GridUtils.d.ts +27 -0
- package/dist/GridUtils.d.ts.map +1 -1
- package/dist/GridUtils.js +39 -0
- package/dist/GridUtils.js.map +1 -1
- package/dist/MockGridModel.d.ts +8 -8
- package/dist/MockGridModel.d.ts.map +1 -1
- package/dist/MockGridModel.js.map +1 -1
- package/dist/mouse-handlers/GridRowMoveMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridRowMoveMouseHandler.js +1 -1
- package/dist/mouse-handlers/GridRowMoveMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridRowTreeMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridRowTreeMouseHandler.js +1 -1
- package/dist/mouse-handlers/GridRowTreeMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridSeparatorMouseHandler.d.ts.map +1 -1
- package/dist/mouse-handlers/GridSeparatorMouseHandler.js +1 -1
- package/dist/mouse-handlers/GridSeparatorMouseHandler.js.map +1 -1
- package/dist/mouse-handlers/GridTokenMouseHandler.d.ts +24 -0
- package/dist/mouse-handlers/GridTokenMouseHandler.d.ts.map +1 -0
- package/dist/mouse-handlers/GridTokenMouseHandler.js +143 -0
- package/dist/mouse-handlers/GridTokenMouseHandler.js.map +1 -0
- package/dist/mouse-handlers/index.d.ts +1 -0
- package/dist/mouse-handlers/index.d.ts.map +1 -1
- package/dist/mouse-handlers/index.js +1 -0
- package/dist/mouse-handlers/index.js.map +1 -1
- package/package.json +5 -4
package/dist/Grid.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ import GridModel from './GridModel';
|
|
|
4
4
|
import GridMouseHandler, { GridMouseEvent, GridMouseHandlerFunctionName } from './GridMouseHandler';
|
|
5
5
|
import { GridTheme as GridThemeType } from './GridTheme';
|
|
6
6
|
import GridRange, { GridRangeIndex, SELECTION_DIRECTION } from './GridRange';
|
|
7
|
-
import GridRenderer, { EditingCell, EditingCellTextSelectionRange } from './GridRenderer';
|
|
8
|
-
import { GridPoint } from './GridUtils';
|
|
7
|
+
import GridRenderer, { EditingCell, EditingCellTextSelectionRange, GridRenderState } from './GridRenderer';
|
|
8
|
+
import { GridPoint, Token } from './GridUtils';
|
|
9
9
|
import { GridSeparator } from './mouse-handlers';
|
|
10
10
|
import './Grid.scss';
|
|
11
11
|
import KeyHandler, { GridKeyboardEvent } from './KeyHandler';
|
|
@@ -30,6 +30,7 @@ export type GridProps = typeof Grid.defaultProps & {
|
|
|
30
30
|
onMoveColumnComplete?: (movedColumns: readonly MoveOperation[]) => void;
|
|
31
31
|
onMoveRowComplete?: (movedRows: readonly MoveOperation[]) => void;
|
|
32
32
|
onViewChanged?: (metrics: GridMetrics) => void;
|
|
33
|
+
onTokenClicked?: (token: Token) => void;
|
|
33
34
|
renderer?: GridRenderer;
|
|
34
35
|
stateOverride?: Record<string, unknown>;
|
|
35
36
|
theme?: Partial<GridThemeType>;
|
|
@@ -97,6 +98,7 @@ declare class Grid extends PureComponent<GridProps, GridState> {
|
|
|
97
98
|
onMovedRowsChanged: () => void;
|
|
98
99
|
onMoveRowComplete: () => void;
|
|
99
100
|
onViewChanged: () => void;
|
|
101
|
+
onTokenClicked: (token: Token) => void;
|
|
100
102
|
stateOverride: Record<string, unknown>;
|
|
101
103
|
theme: Partial<GridThemeType>;
|
|
102
104
|
};
|
|
@@ -111,6 +113,7 @@ declare class Grid extends PureComponent<GridProps, GridState> {
|
|
|
111
113
|
autoSizeRows: boolean;
|
|
112
114
|
backgroundColor: string;
|
|
113
115
|
textColor: string;
|
|
116
|
+
hyperlinkColor: string;
|
|
114
117
|
black: string;
|
|
115
118
|
white: string;
|
|
116
119
|
cellHorizontalPadding: number;
|
|
@@ -195,6 +198,7 @@ declare class Grid extends PureComponent<GridProps, GridState> {
|
|
|
195
198
|
animationFrame: number | null;
|
|
196
199
|
prevMetrics: GridMetrics | null;
|
|
197
200
|
metrics: GridMetrics | null;
|
|
201
|
+
renderState: GridRenderState;
|
|
198
202
|
documentCursor: string | null;
|
|
199
203
|
dragTimer: ReturnType<typeof setTimeout> | null;
|
|
200
204
|
keyHandlers: readonly KeyHandler[];
|
|
@@ -246,7 +250,7 @@ declare class Grid extends PureComponent<GridProps, GridState> {
|
|
|
246
250
|
initContext(): void;
|
|
247
251
|
requestUpdateCanvas(): void;
|
|
248
252
|
updateCanvas(metrics?: GridMetrics): void;
|
|
249
|
-
updateCanvasScale
|
|
253
|
+
private updateCanvasScale;
|
|
250
254
|
updateScrollBounds(): void;
|
|
251
255
|
updateMetrics(state?: Readonly<GridState>): GridMetrics;
|
|
252
256
|
/**
|
|
@@ -382,7 +386,7 @@ declare class Grid extends PureComponent<GridProps, GridState> {
|
|
|
382
386
|
* must be very quick.
|
|
383
387
|
* @param metrics Metrics to use for rendering the grid
|
|
384
388
|
*/
|
|
385
|
-
drawCanvas
|
|
389
|
+
private drawCanvas;
|
|
386
390
|
/**
|
|
387
391
|
* Set focus to this grid element
|
|
388
392
|
*/
|
|
@@ -443,6 +447,11 @@ declare class Grid extends PureComponent<GridProps, GridState> {
|
|
|
443
447
|
fillRange?: boolean;
|
|
444
448
|
}): void;
|
|
445
449
|
renderInputField(): ReactNode;
|
|
450
|
+
/**
|
|
451
|
+
* Gets the render state
|
|
452
|
+
* @returns The render state
|
|
453
|
+
*/
|
|
454
|
+
updateRenderState(): GridRenderState;
|
|
446
455
|
render(): ReactNode;
|
|
447
456
|
}
|
|
448
457
|
export default Grid;
|
package/dist/Grid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../src/Grid.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAiB,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvE,OAAO,oBAAoB,EAAE,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,gBAAgB,EAAE,EACvB,cAAc,EACd,4BAA4B,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAkB,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,SAAS,EAAE,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,YAAY,EAAE,EACnB,WAAW,EACX,6BAA6B,
|
|
1
|
+
{"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../src/Grid.tsx"],"names":[],"mappings":"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"}
|
package/dist/Grid.js
CHANGED
|
@@ -10,13 +10,13 @@ import React, { PureComponent } from 'react';
|
|
|
10
10
|
import classNames from 'classnames';
|
|
11
11
|
import memoize from 'memoize-one';
|
|
12
12
|
import clamp from 'lodash.clamp';
|
|
13
|
-
import { EMPTY_ARRAY } from '@deephaven/utils';
|
|
13
|
+
import { assertNotNull, EMPTY_ARRAY } from '@deephaven/utils';
|
|
14
14
|
import GridMetricCalculator from "./GridMetricCalculator.js";
|
|
15
15
|
import GridTheme from "./GridTheme.js";
|
|
16
16
|
import GridRange, { SELECTION_DIRECTION } from "./GridRange.js";
|
|
17
17
|
import GridRenderer from "./GridRenderer.js";
|
|
18
|
-
import GridUtils from "./GridUtils.js";
|
|
19
|
-
import { GridSelectionMouseHandler, GridColumnMoveMouseHandler, GridColumnSeparatorMouseHandler, GridHorizontalScrollBarMouseHandler, GridRowMoveMouseHandler, GridRowSeparatorMouseHandler, GridRowTreeMouseHandler, GridScrollBarCornerMouseHandler, GridVerticalScrollBarMouseHandler, EditMouseHandler } from "./mouse-handlers/index.js";
|
|
18
|
+
import GridUtils, { isLinkToken } from "./GridUtils.js";
|
|
19
|
+
import { GridSelectionMouseHandler, GridColumnMoveMouseHandler, GridColumnSeparatorMouseHandler, GridHorizontalScrollBarMouseHandler, GridRowMoveMouseHandler, GridRowSeparatorMouseHandler, GridRowTreeMouseHandler, GridScrollBarCornerMouseHandler, GridVerticalScrollBarMouseHandler, EditMouseHandler, GridTokenMouseHandler } from "./mouse-handlers/index.js";
|
|
20
20
|
import "./Grid.css";
|
|
21
21
|
import { EditKeyHandler, PasteKeyHandler, SelectionKeyHandler, TreeKeyHandler } from "./key-handlers/index.js";
|
|
22
22
|
import CellInputField from "./CellInputField.js";
|
|
@@ -84,6 +84,7 @@ class Grid extends PureComponent {
|
|
|
84
84
|
_defineProperty(this, "animationFrame", void 0);
|
|
85
85
|
_defineProperty(this, "prevMetrics", void 0);
|
|
86
86
|
_defineProperty(this, "metrics", void 0);
|
|
87
|
+
_defineProperty(this, "renderState", void 0);
|
|
87
88
|
_defineProperty(this, "documentCursor", void 0);
|
|
88
89
|
_defineProperty(this, "dragTimer", void 0);
|
|
89
90
|
_defineProperty(this, "keyHandlers", void 0);
|
|
@@ -119,6 +120,7 @@ class Grid extends PureComponent {
|
|
|
119
120
|
this.animationFrame = null;
|
|
120
121
|
this.prevMetrics = null;
|
|
121
122
|
this.metrics = null;
|
|
123
|
+
this.renderState = {};
|
|
122
124
|
|
|
123
125
|
// Track the cursor that is currently added to the document
|
|
124
126
|
// Add to document so that when dragging the cursor stays, even if mouse leaves the canvas
|
|
@@ -129,7 +131,7 @@ class Grid extends PureComponent {
|
|
|
129
131
|
|
|
130
132
|
// specify handler ordering, such that any extensions can insert handlers in between
|
|
131
133
|
this.keyHandlers = [new EditKeyHandler(400), new PasteKeyHandler(450), new SelectionKeyHandler(500), new TreeKeyHandler(900)];
|
|
132
|
-
this.mouseHandlers = [new GridRowSeparatorMouseHandler(100), new GridColumnSeparatorMouseHandler(200), new GridRowMoveMouseHandler(300), new GridColumnMoveMouseHandler(400), new EditMouseHandler(450), new GridVerticalScrollBarMouseHandler(500), new GridHorizontalScrollBarMouseHandler(600), new GridScrollBarCornerMouseHandler(700), new GridRowTreeMouseHandler(800), new GridSelectionMouseHandler(900)];
|
|
134
|
+
this.mouseHandlers = [new GridRowSeparatorMouseHandler(100), new GridColumnSeparatorMouseHandler(200), new GridRowMoveMouseHandler(300), new GridColumnMoveMouseHandler(400), new EditMouseHandler(450), new GridVerticalScrollBarMouseHandler(500), new GridHorizontalScrollBarMouseHandler(600), new GridScrollBarCornerMouseHandler(700), new GridRowTreeMouseHandler(800), new GridTokenMouseHandler(825), new GridSelectionMouseHandler(900)];
|
|
133
135
|
this.state = {
|
|
134
136
|
// Top/left visible cell in the grid. Note that it's visible row/column index, not the model index (ie. if columns are re-ordered)
|
|
135
137
|
top: 0,
|
|
@@ -188,7 +190,6 @@ class Grid extends PureComponent {
|
|
|
188
190
|
passive: false
|
|
189
191
|
});
|
|
190
192
|
window.addEventListener('resize', this.handleResize);
|
|
191
|
-
this.updateCanvasScale();
|
|
192
193
|
this.updateCanvas();
|
|
193
194
|
|
|
194
195
|
// apply on mount, so that it works with a static model
|
|
@@ -536,6 +537,9 @@ class Grid extends PureComponent {
|
|
|
536
537
|
updateCanvas() {
|
|
537
538
|
var metrics = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.updateMetrics();
|
|
538
539
|
this.updateCanvasScale();
|
|
540
|
+
this.updateRenderState();
|
|
541
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
542
|
+
this.renderer.configureContext(this.canvasContext, this.renderState);
|
|
539
543
|
var {
|
|
540
544
|
onViewChanged
|
|
541
545
|
} = this.props;
|
|
@@ -1323,54 +1327,10 @@ class Grid extends PureComponent {
|
|
|
1323
1327
|
if (!this.canvas) throw new Error('canvas is not set');
|
|
1324
1328
|
if (!this.canvasContext) throw new Error('context not set');
|
|
1325
1329
|
var {
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
draggingColumnSeparator,
|
|
1330
|
-
draggingRow,
|
|
1331
|
-
draggingRowOffset,
|
|
1332
|
-
draggingRowSeparator,
|
|
1333
|
-
editingCell,
|
|
1334
|
-
isDraggingHorizontalScrollBar,
|
|
1335
|
-
isDraggingVerticalScrollBar,
|
|
1336
|
-
isDragging,
|
|
1337
|
-
mouseX,
|
|
1338
|
-
mouseY,
|
|
1339
|
-
selectedRanges
|
|
1340
|
-
} = this.state;
|
|
1341
|
-
var {
|
|
1342
|
-
model,
|
|
1343
|
-
stateOverride
|
|
1344
|
-
} = this.props;
|
|
1345
|
-
var {
|
|
1346
|
-
renderer
|
|
1330
|
+
renderer,
|
|
1331
|
+
canvasContext: context,
|
|
1332
|
+
renderState
|
|
1347
1333
|
} = this;
|
|
1348
|
-
var context = this.canvasContext;
|
|
1349
|
-
var theme = this.getTheme();
|
|
1350
|
-
var width = this.canvas.clientWidth;
|
|
1351
|
-
var height = this.canvas.clientHeight;
|
|
1352
|
-
var renderState = _objectSpread({
|
|
1353
|
-
width,
|
|
1354
|
-
height,
|
|
1355
|
-
context,
|
|
1356
|
-
theme,
|
|
1357
|
-
model,
|
|
1358
|
-
metrics,
|
|
1359
|
-
mouseX,
|
|
1360
|
-
mouseY,
|
|
1361
|
-
selectedRanges,
|
|
1362
|
-
draggingColumn,
|
|
1363
|
-
draggingColumnSeparator,
|
|
1364
|
-
draggingRow,
|
|
1365
|
-
draggingRowOffset,
|
|
1366
|
-
draggingRowSeparator,
|
|
1367
|
-
editingCell,
|
|
1368
|
-
isDraggingHorizontalScrollBar,
|
|
1369
|
-
isDraggingVerticalScrollBar,
|
|
1370
|
-
isDragging,
|
|
1371
|
-
cursorColumn,
|
|
1372
|
-
cursorRow
|
|
1373
|
-
}, stateOverride);
|
|
1374
1334
|
context.save();
|
|
1375
1335
|
renderer.drawCanvas(renderState);
|
|
1376
1336
|
context.restore();
|
|
@@ -1543,7 +1503,6 @@ class Grid extends PureComponent {
|
|
|
1543
1503
|
* of doing outside of a full componentDidUpdate() call, so we force the update.
|
|
1544
1504
|
* Ideally, we could verify state/metrics without the forced update.
|
|
1545
1505
|
*/
|
|
1546
|
-
this.updateCanvasScale();
|
|
1547
1506
|
this.updateCanvas();
|
|
1548
1507
|
if (!this.metrics) throw new Error('metrics not set');
|
|
1549
1508
|
this.forceUpdate();
|
|
@@ -1854,6 +1813,66 @@ class Grid extends PureComponent {
|
|
|
1854
1813
|
value: value
|
|
1855
1814
|
}));
|
|
1856
1815
|
}
|
|
1816
|
+
|
|
1817
|
+
/**
|
|
1818
|
+
* Gets the render state
|
|
1819
|
+
* @returns The render state
|
|
1820
|
+
*/
|
|
1821
|
+
updateRenderState() {
|
|
1822
|
+
if (!this.canvas) throw new Error('canvas is not set');
|
|
1823
|
+
if (!this.canvasContext) throw new Error('context not set');
|
|
1824
|
+
var {
|
|
1825
|
+
cursorColumn,
|
|
1826
|
+
cursorRow,
|
|
1827
|
+
draggingColumn,
|
|
1828
|
+
draggingColumnSeparator,
|
|
1829
|
+
draggingRow,
|
|
1830
|
+
draggingRowOffset,
|
|
1831
|
+
draggingRowSeparator,
|
|
1832
|
+
editingCell,
|
|
1833
|
+
isDraggingHorizontalScrollBar,
|
|
1834
|
+
isDraggingVerticalScrollBar,
|
|
1835
|
+
isDragging,
|
|
1836
|
+
mouseX,
|
|
1837
|
+
mouseY,
|
|
1838
|
+
selectedRanges
|
|
1839
|
+
} = this.state;
|
|
1840
|
+
var {
|
|
1841
|
+
model,
|
|
1842
|
+
stateOverride
|
|
1843
|
+
} = this.props;
|
|
1844
|
+
var {
|
|
1845
|
+
metrics
|
|
1846
|
+
} = this;
|
|
1847
|
+
var context = this.canvasContext;
|
|
1848
|
+
var theme = this.getTheme();
|
|
1849
|
+
var width = this.canvas.clientWidth;
|
|
1850
|
+
var height = this.canvas.clientHeight;
|
|
1851
|
+
assertNotNull(metrics);
|
|
1852
|
+
this.renderState = _objectSpread({
|
|
1853
|
+
width,
|
|
1854
|
+
height,
|
|
1855
|
+
context,
|
|
1856
|
+
theme,
|
|
1857
|
+
model,
|
|
1858
|
+
metrics,
|
|
1859
|
+
mouseX,
|
|
1860
|
+
mouseY,
|
|
1861
|
+
selectedRanges,
|
|
1862
|
+
draggingColumn,
|
|
1863
|
+
draggingColumnSeparator,
|
|
1864
|
+
draggingRow,
|
|
1865
|
+
draggingRowOffset,
|
|
1866
|
+
draggingRowSeparator,
|
|
1867
|
+
editingCell,
|
|
1868
|
+
isDraggingHorizontalScrollBar,
|
|
1869
|
+
isDraggingVerticalScrollBar,
|
|
1870
|
+
isDragging,
|
|
1871
|
+
cursorColumn,
|
|
1872
|
+
cursorRow
|
|
1873
|
+
}, stateOverride);
|
|
1874
|
+
return this.renderState;
|
|
1875
|
+
}
|
|
1857
1876
|
render() {
|
|
1858
1877
|
var {
|
|
1859
1878
|
cursor
|
|
@@ -1894,6 +1913,11 @@ _defineProperty(Grid, "defaultProps", {
|
|
|
1894
1913
|
onMovedRowsChanged: () => undefined,
|
|
1895
1914
|
onMoveRowComplete: () => undefined,
|
|
1896
1915
|
onViewChanged: () => undefined,
|
|
1916
|
+
onTokenClicked: token => {
|
|
1917
|
+
if (isLinkToken(token)) {
|
|
1918
|
+
window.open(token.href, '_blank', 'noopener,noreferrer');
|
|
1919
|
+
}
|
|
1920
|
+
},
|
|
1897
1921
|
stateOverride: {},
|
|
1898
1922
|
theme: {
|
|
1899
1923
|
autoSelectColumn: false,
|