@deephaven/grid 0.99.1-react-spectrum-38.4 → 0.99.2-alpha-esbuild-wasm.3

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.
@@ -1,12 +1,12 @@
1
1
  import { type EventHandlerResult } from '../EventHandlerResult';
2
2
  import type Grid from '../Grid';
3
3
  import GridMouseHandler, { type GridMouseEvent } from '../GridMouseHandler';
4
- import { type GridPoint } from '../GridUtils';
4
+ import { type GridPoint, type TokenBox } from '../GridUtils';
5
5
  declare class GridTokenMouseHandler extends GridMouseHandler {
6
6
  timeoutId?: ReturnType<typeof setTimeout>;
7
7
  private isHold;
8
8
  private isDown;
9
- private currentLinkBox?;
9
+ protected currentLinkBox?: TokenBox;
10
10
  private static HOLD_LENGTH;
11
11
  isHoveringLink(gridPoint: GridPoint, grid: Grid): boolean;
12
12
  /**
@@ -15,7 +15,7 @@ declare class GridTokenMouseHandler extends GridMouseHandler {
15
15
  * @param grid The grid
16
16
  * @returns False
17
17
  */
18
- private setCursor;
18
+ protected setCursor(gridPoint: GridPoint, grid: Grid): EventHandlerResult;
19
19
  onMove(gridPoint: GridPoint, grid: Grid): EventHandlerResult;
20
20
  onDown(gridPoint: GridPoint, grid: Grid, event: GridMouseEvent): EventHandlerResult;
21
21
  onClick(gridPoint: GridPoint, grid: Grid): EventHandlerResult;
@@ -1 +1 @@
1
- {"version":3,"file":"GridTokenMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mouse-handlers/GridTokenMouseHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,gBAAgB,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAkB,EAChB,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAGtB,cAAM,qBAAsB,SAAQ,gBAAgB;IAClD,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAE1C,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,MAAM,CAAS;IAGvB,OAAO,CAAC,cAAc,CAAC,CAAW;IAElC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAQ;IAElC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;IAuDzD;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IASjB,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;IAI5D,MAAM,CACJ,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,cAAc,GACpB,kBAAkB;IAwCrB,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;CAyB9D;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"GridTokenMouseHandler.d.ts","sourceRoot":"","sources":["../../src/mouse-handlers/GridTokenMouseHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,gBAAgB,EAAE,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAkB,EAChB,KAAK,SAAS,EAEd,KAAK,QAAQ,EACd,MAAM,cAAc,CAAC;AAItB,cAAM,qBAAsB,SAAQ,gBAAgB;IAClD,SAAS,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAE1C,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,MAAM,CAAS;IAGvB,SAAS,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC;IAEpC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAQ;IAElC,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO;IAuDzD;;;;;OAKG;IACH,SAAS,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;IASzE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;IAI5D,MAAM,CACJ,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,cAAc,GACpB,kBAAkB;IAwCrB,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,kBAAkB;CAyB9D;AAED,eAAe,qBAAqB,CAAC"}
@@ -8,7 +8,7 @@ import { isEditableGridModel } from "../EditableGridModel.js";
8
8
  import GridMouseHandler from "../GridMouseHandler.js";
9
9
  import GridRange from "../GridRange.js";
10
10
  import GridUtils, { isLinkToken } from "../GridUtils.js";
11
- import { isTokenBoxCellRenderer } from "../TokenBoxCellRenderer.js";
11
+ import { isTokenBoxCellRenderer } from "../TokenBoxCellRenderer.js"; // Handler also helps with other tooltips
12
12
  class GridTokenMouseHandler extends GridMouseHandler {
13
13
  constructor() {
14
14
  super(...arguments);
@@ -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\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 private 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 private 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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"}
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/grid",
3
- "version": "0.99.1-react-spectrum-38.4+2868ee52",
3
+ "version": "0.99.2-alpha-esbuild-wasm.3+9a337f19",
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": "^0.99.1-react-spectrum-38.4+2868ee52",
34
+ "@deephaven/utils": "^0.99.2-alpha-esbuild-wasm.3+9a337f19",
35
35
  "classnames": "^2.3.1",
36
36
  "color-convert": "^2.0.1",
37
37
  "event-target-shim": "^6.0.2",
@@ -44,5 +44,5 @@
44
44
  "publishConfig": {
45
45
  "access": "public"
46
46
  },
47
- "gitHead": "2868ee52284539a4daba4071f014dceed88675c8"
47
+ "gitHead": "9a337f192daad61ef55abd1d2d99c46801bc03c5"
48
48
  }