@deephaven/iris-grid 0.41.2-beta.4 → 0.41.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.
Files changed (43) hide show
  1. package/dist/AdvancedFilterCreatorSelectValueList.d.ts +2 -2
  2. package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
  3. package/dist/AdvancedFilterCreatorSelectValueList.js +1 -12
  4. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  5. package/dist/IrisGrid.css +0 -3
  6. package/dist/IrisGrid.css.map +1 -1
  7. package/dist/IrisGridRenderer.d.ts +26 -18
  8. package/dist/IrisGridRenderer.d.ts.map +1 -1
  9. package/dist/IrisGridRenderer.js +205 -64
  10. package/dist/IrisGridRenderer.js.map +1 -1
  11. package/dist/IrisGridTableModelTemplate.d.ts +2 -2
  12. package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
  13. package/dist/IrisGridTableModelTemplate.js +3 -15
  14. package/dist/IrisGridTableModelTemplate.js.map +1 -1
  15. package/dist/IrisGridTheme.d.ts.map +1 -1
  16. package/dist/IrisGridTheme.js +1 -4
  17. package/dist/IrisGridTheme.js.map +1 -1
  18. package/dist/IrisGridTheme.module.css +0 -3
  19. package/dist/IrisGridTheme.module.css.map +1 -1
  20. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +0 -1
  21. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
  22. package/dist/mousehandlers/IrisGridContextMenuHandler.js +7 -73
  23. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  24. package/dist/mousehandlers/IrisGridTokenMouseHandler.d.ts.map +1 -1
  25. package/dist/mousehandlers/IrisGridTokenMouseHandler.js +3 -18
  26. package/dist/mousehandlers/IrisGridTokenMouseHandler.js.map +1 -1
  27. package/package.json +16 -16
  28. package/dist/IrisGridCellRendererUtils.d.ts +0 -7
  29. package/dist/IrisGridCellRendererUtils.d.ts.map +0 -1
  30. package/dist/IrisGridCellRendererUtils.js +0 -20
  31. package/dist/IrisGridCellRendererUtils.js.map +0 -1
  32. package/dist/IrisGridDataBarCellRenderer.d.ts +0 -7
  33. package/dist/IrisGridDataBarCellRenderer.d.ts.map +0 -1
  34. package/dist/IrisGridDataBarCellRenderer.js +0 -10
  35. package/dist/IrisGridDataBarCellRenderer.js.map +0 -1
  36. package/dist/IrisGridIcons.d.ts +0 -4
  37. package/dist/IrisGridIcons.d.ts.map +0 -1
  38. package/dist/IrisGridIcons.js +0 -25
  39. package/dist/IrisGridIcons.js.map +0 -1
  40. package/dist/IrisGridTextCellRenderer.d.ts +0 -20
  41. package/dist/IrisGridTextCellRenderer.d.ts.map +0 -1
  42. package/dist/IrisGridTextCellRenderer.js +0 -139
  43. package/dist/IrisGridTextCellRenderer.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/iris-grid",
3
- "version": "0.41.2-beta.4+ed3a8c5f",
3
+ "version": "0.41.3",
4
4
  "description": "Deephaven Iris Grid",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -23,17 +23,17 @@
23
23
  "build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
24
24
  },
25
25
  "dependencies": {
26
- "@deephaven/components": "^0.41.2-beta.4+ed3a8c5f",
27
- "@deephaven/console": "^0.41.2-beta.4+ed3a8c5f",
28
- "@deephaven/filters": "^0.41.2-beta.4+ed3a8c5f",
29
- "@deephaven/grid": "^0.41.2-beta.4+ed3a8c5f",
30
- "@deephaven/icons": "^0.41.2-beta.4+ed3a8c5f",
31
- "@deephaven/jsapi-types": "^0.41.2-beta.4+ed3a8c5f",
32
- "@deephaven/jsapi-utils": "^0.41.2-beta.4+ed3a8c5f",
33
- "@deephaven/log": "^0.41.2-beta.4+ed3a8c5f",
34
- "@deephaven/react-hooks": "^0.41.2-beta.4+ed3a8c5f",
35
- "@deephaven/storage": "^0.41.2-beta.4+ed3a8c5f",
36
- "@deephaven/utils": "^0.41.2-beta.4+ed3a8c5f",
26
+ "@deephaven/components": "^0.41.0",
27
+ "@deephaven/console": "^0.41.3",
28
+ "@deephaven/filters": "^0.41.0",
29
+ "@deephaven/grid": "^0.41.0",
30
+ "@deephaven/icons": "^0.41.0",
31
+ "@deephaven/jsapi-types": "^0.41.0",
32
+ "@deephaven/jsapi-utils": "^0.41.3",
33
+ "@deephaven/log": "^0.41.0",
34
+ "@deephaven/react-hooks": "^0.41.0",
35
+ "@deephaven/storage": "^0.41.0",
36
+ "@deephaven/utils": "^0.41.0",
37
37
  "@dnd-kit/core": "^6.0.5",
38
38
  "@dnd-kit/sortable": "^7.0.0",
39
39
  "@dnd-kit/utilities": "^3.2.0",
@@ -56,9 +56,9 @@
56
56
  "react-dom": "^17.x"
57
57
  },
58
58
  "devDependencies": {
59
- "@deephaven/jsapi-shim": "^0.41.2-beta.4+ed3a8c5f",
60
- "@deephaven/mocks": "^0.41.2-beta.4+ed3a8c5f",
61
- "@deephaven/tsconfig": "^0.41.2-beta.4+ed3a8c5f"
59
+ "@deephaven/jsapi-shim": "^0.41.0",
60
+ "@deephaven/mocks": "^0.41.0",
61
+ "@deephaven/tsconfig": "^0.41.0"
62
62
  },
63
63
  "files": [
64
64
  "dist"
@@ -69,5 +69,5 @@
69
69
  "publishConfig": {
70
70
  "access": "public"
71
71
  },
72
- "gitHead": "ed3a8c5f224094306ff55f9b41706cb58ff709e2"
72
+ "gitHead": "e99b6e8a70e14f019dfe69739190c2eec9517353"
73
73
  }
@@ -1,7 +0,0 @@
1
- import { BoxCoordinates, Coordinate } from '@deephaven/grid';
2
- import { IrisGridRenderState } from './IrisGridRenderer';
3
- declare class IrisGridCellRendererUtils {
4
- static drawTreeMarker(context: CanvasRenderingContext2D, state: IrisGridRenderState, columnX: Coordinate, rowY: Coordinate, treeBox: BoxCoordinates, color: string, isExpanded: boolean): void;
5
- }
6
- export default IrisGridCellRendererUtils;
7
- //# sourceMappingURL=IrisGridCellRendererUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IrisGridCellRendererUtils.d.ts","sourceRoot":"","sources":["../src/IrisGridCellRendererUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,cAAM,yBAAyB;IAC7B,MAAM,CAAC,cAAc,CACnB,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GAClB,IAAI;CAeR;AAED,eAAe,yBAAyB,CAAC"}
@@ -1,20 +0,0 @@
1
- import { getIcon } from "./IrisGridIcons.js";
2
- class IrisGridCellRendererUtils {
3
- static drawTreeMarker(context, state, columnX, rowY, treeBox, color, isExpanded) {
4
- context.save();
5
- var {
6
- x1,
7
- y1
8
- } = treeBox;
9
- var markerIcon = isExpanded ? getIcon('caretDown') : getIcon('caretRight');
10
- var iconX = columnX + x1 - 2;
11
- var iconY = rowY + y1 + 2.5;
12
- context.fillStyle = color;
13
- context.textAlign = 'center';
14
- context.translate(iconX, iconY);
15
- context.fill(markerIcon);
16
- context.restore();
17
- }
18
- }
19
- export default IrisGridCellRendererUtils;
20
- //# sourceMappingURL=IrisGridCellRendererUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IrisGridCellRendererUtils.js","names":["getIcon","IrisGridCellRendererUtils","drawTreeMarker","context","state","columnX","rowY","treeBox","color","isExpanded","save","x1","y1","markerIcon","iconX","iconY","fillStyle","textAlign","translate","fill","restore"],"sources":["../src/IrisGridCellRendererUtils.ts"],"sourcesContent":["import { BoxCoordinates, Coordinate } from '@deephaven/grid';\nimport { getIcon } from './IrisGridIcons';\nimport { IrisGridRenderState } from './IrisGridRenderer';\n\nclass IrisGridCellRendererUtils {\n static drawTreeMarker(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n columnX: Coordinate,\n rowY: Coordinate,\n treeBox: BoxCoordinates,\n color: string,\n isExpanded: boolean\n ): void {\n context.save();\n const { x1, y1 } = treeBox;\n const markerIcon = isExpanded\n ? getIcon('caretDown')\n : getIcon('caretRight');\n const iconX = columnX + x1 - 2;\n const iconY = rowY + y1 + 2.5;\n\n context.fillStyle = color;\n context.textAlign = 'center';\n context.translate(iconX, iconY);\n context.fill(markerIcon);\n context.restore();\n }\n}\n\nexport default IrisGridCellRendererUtils;\n"],"mappings":"SACSA,OAAO;AAGhB,MAAMC,yBAAyB,CAAC;EAC9B,OAAOC,cAAc,CACnBC,OAAiC,EACjCC,KAA0B,EAC1BC,OAAmB,EACnBC,IAAgB,EAChBC,OAAuB,EACvBC,KAAa,EACbC,UAAmB,EACb;IACNN,OAAO,CAACO,IAAI,EAAE;IACd,IAAM;MAAEC,EAAE;MAAEC;IAAG,CAAC,GAAGL,OAAO;IAC1B,IAAMM,UAAU,GAAGJ,UAAU,GACzBT,OAAO,CAAC,WAAW,CAAC,GACpBA,OAAO,CAAC,YAAY,CAAC;IACzB,IAAMc,KAAK,GAAGT,OAAO,GAAGM,EAAE,GAAG,CAAC;IAC9B,IAAMI,KAAK,GAAGT,IAAI,GAAGM,EAAE,GAAG,GAAG;IAE7BT,OAAO,CAACa,SAAS,GAAGR,KAAK;IACzBL,OAAO,CAACc,SAAS,GAAG,QAAQ;IAC5Bd,OAAO,CAACe,SAAS,CAACJ,KAAK,EAAEC,KAAK,CAAC;IAC/BZ,OAAO,CAACgB,IAAI,CAACN,UAAU,CAAC;IACxBV,OAAO,CAACiB,OAAO,EAAE;EACnB;AACF;AAEA,eAAenB,yBAAyB"}
@@ -1,7 +0,0 @@
1
- import { BoxCoordinates, Coordinate, DataBarCellRenderer } from '@deephaven/grid';
2
- import { IrisGridRenderState } from './IrisGridRenderer';
3
- declare class IrisGridDataBarCellRenderer extends DataBarCellRenderer {
4
- drawTreeMarker(context: CanvasRenderingContext2D, state: IrisGridRenderState, columnX: Coordinate, rowY: Coordinate, treeBox: BoxCoordinates, color: string, isExpanded: boolean): void;
5
- }
6
- export default IrisGridDataBarCellRenderer;
7
- //# sourceMappingURL=IrisGridDataBarCellRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IrisGridDataBarCellRenderer.d.ts","sourceRoot":"","sources":["../src/IrisGridDataBarCellRenderer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,UAAU,EACV,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,cAAM,2BAA4B,SAAQ,mBAAmB;IAC3D,cAAc,CACZ,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GAClB,IAAI;CAWR;AAED,eAAe,2BAA2B,CAAC"}
@@ -1,10 +0,0 @@
1
- /* eslint-disable class-methods-use-this */
2
- import { DataBarCellRenderer } from '@deephaven/grid';
3
- import IrisGridCellRendererUtils from "./IrisGridCellRendererUtils.js";
4
- class IrisGridDataBarCellRenderer extends DataBarCellRenderer {
5
- drawTreeMarker(context, state, columnX, rowY, treeBox, color, isExpanded) {
6
- IrisGridCellRendererUtils.drawTreeMarker(context, state, columnX, rowY, treeBox, color, isExpanded);
7
- }
8
- }
9
- export default IrisGridDataBarCellRenderer;
10
- //# sourceMappingURL=IrisGridDataBarCellRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IrisGridDataBarCellRenderer.js","names":["DataBarCellRenderer","IrisGridCellRendererUtils","IrisGridDataBarCellRenderer","drawTreeMarker","context","state","columnX","rowY","treeBox","color","isExpanded"],"sources":["../src/IrisGridDataBarCellRenderer.ts"],"sourcesContent":["/* eslint-disable class-methods-use-this */\nimport {\n BoxCoordinates,\n Coordinate,\n DataBarCellRenderer,\n} from '@deephaven/grid';\nimport { IrisGridRenderState } from './IrisGridRenderer';\nimport IrisGridCellRendererUtils from './IrisGridCellRendererUtils';\n\nclass IrisGridDataBarCellRenderer extends DataBarCellRenderer {\n drawTreeMarker(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n columnX: Coordinate,\n rowY: Coordinate,\n treeBox: BoxCoordinates,\n color: string,\n isExpanded: boolean\n ): void {\n IrisGridCellRendererUtils.drawTreeMarker(\n context,\n state,\n columnX,\n rowY,\n treeBox,\n color,\n isExpanded\n );\n }\n}\n\nexport default IrisGridDataBarCellRenderer;\n"],"mappings":"AAAA;AACA,SAGEA,mBAAmB,QACd,iBAAiB;AAAC,OAElBC,yBAAyB;AAEhC,MAAMC,2BAA2B,SAASF,mBAAmB,CAAC;EAC5DG,cAAc,CACZC,OAAiC,EACjCC,KAA0B,EAC1BC,OAAmB,EACnBC,IAAgB,EAChBC,OAAuB,EACvBC,KAAa,EACbC,UAAmB,EACb;IACNT,yBAAyB,CAACE,cAAc,CACtCC,OAAO,EACPC,KAAK,EACLC,OAAO,EACPC,IAAI,EACJC,OAAO,EACPC,KAAK,EACLC,UAAU,CACX;EACH;AACF;AAEA,eAAeR,2BAA2B"}
@@ -1,4 +0,0 @@
1
- export declare const ICON_SIZE = 16;
2
- export type IconName = 'sortUp' | 'sortDown' | 'caretDown' | 'caretRight' | 'cellOverflow';
3
- export declare function getIcon(name: IconName): Path2D;
4
- //# sourceMappingURL=IrisGridIcons.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IrisGridIcons.d.ts","sourceRoot":"","sources":["../src/IrisGridIcons.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B,MAAM,MAAM,QAAQ,GAChB,QAAQ,GACR,UAAU,GACV,WAAW,GACX,YAAY,GACZ,cAAc,CAAC;AAgCnB,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAE9C"}
@@ -1,25 +0,0 @@
1
- import { memoizeClear } from '@deephaven/grid';
2
- import { dhSortDown, dhSortUp, vsTriangleDown, vsTriangleRight, vsLinkExternal } from '@deephaven/icons';
3
- export var ICON_SIZE = 16;
4
- var iconMap = new Map([['sortUp', dhSortUp], ['sortDown', dhSortDown], ['caretDown', vsTriangleDown], ['caretRight', vsTriangleRight], ['cellOverflow', vsLinkExternal]]);
5
- var makeIcon = memoizeClear(name => {
6
- var faIcon = iconMap.get(name);
7
- if (faIcon === undefined) {
8
- throw new Error('Icon is undefined');
9
- }
10
- var path = Array.isArray(faIcon.icon[4]) ? faIcon.icon[4][0] : faIcon.icon[4];
11
- var icon = new Path2D(path);
12
- var scaledIcon = new Path2D();
13
- var scaleMatrix = {
14
- a: ICON_SIZE / faIcon.icon[0],
15
- d: ICON_SIZE / faIcon.icon[1]
16
- };
17
- scaledIcon.addPath(icon, scaleMatrix);
18
- return scaledIcon;
19
- }, {
20
- max: 1000
21
- });
22
- export function getIcon(name) {
23
- return makeIcon(name);
24
- }
25
- //# sourceMappingURL=IrisGridIcons.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IrisGridIcons.js","names":["memoizeClear","dhSortDown","dhSortUp","vsTriangleDown","vsTriangleRight","vsLinkExternal","ICON_SIZE","iconMap","Map","makeIcon","name","faIcon","get","undefined","Error","path","Array","isArray","icon","Path2D","scaledIcon","scaleMatrix","a","d","addPath","max","getIcon"],"sources":["../src/IrisGridIcons.ts"],"sourcesContent":["import { memoizeClear } from '@deephaven/grid';\nimport {\n dhSortDown,\n dhSortUp,\n vsTriangleDown,\n vsTriangleRight,\n vsLinkExternal,\n IconDefinition,\n} from '@deephaven/icons';\n\nexport const ICON_SIZE = 16;\n\nexport type IconName =\n | 'sortUp'\n | 'sortDown'\n | 'caretDown'\n | 'caretRight'\n | 'cellOverflow';\n\nconst iconMap = new Map<IconName, IconDefinition>([\n ['sortUp', dhSortUp],\n ['sortDown', dhSortDown],\n ['caretDown', vsTriangleDown],\n ['caretRight', vsTriangleRight],\n ['cellOverflow', vsLinkExternal],\n]);\n\nconst makeIcon = memoizeClear(\n (name: IconName) => {\n const faIcon = iconMap.get(name);\n if (faIcon === undefined) {\n throw new Error('Icon is undefined');\n }\n\n const path = Array.isArray(faIcon.icon[4])\n ? faIcon.icon[4][0]\n : faIcon.icon[4];\n const icon = new Path2D(path);\n const scaledIcon = new Path2D();\n const scaleMatrix = {\n a: ICON_SIZE / faIcon.icon[0],\n d: ICON_SIZE / faIcon.icon[1],\n };\n scaledIcon.addPath(icon, scaleMatrix);\n return scaledIcon;\n },\n { max: 1000 }\n);\n\nexport function getIcon(name: IconName): Path2D {\n return makeIcon(name);\n}\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,SACEC,UAAU,EACVC,QAAQ,EACRC,cAAc,EACdC,eAAe,EACfC,cAAc,QAET,kBAAkB;AAEzB,OAAO,IAAMC,SAAS,GAAG,EAAE;AAS3B,IAAMC,OAAO,GAAG,IAAIC,GAAG,CAA2B,CAChD,CAAC,QAAQ,EAAEN,QAAQ,CAAC,EACpB,CAAC,UAAU,EAAED,UAAU,CAAC,EACxB,CAAC,WAAW,EAAEE,cAAc,CAAC,EAC7B,CAAC,YAAY,EAAEC,eAAe,CAAC,EAC/B,CAAC,cAAc,EAAEC,cAAc,CAAC,CACjC,CAAC;AAEF,IAAMI,QAAQ,GAAGT,YAAY,CAC1BU,IAAc,IAAK;EAClB,IAAMC,MAAM,GAAGJ,OAAO,CAACK,GAAG,CAACF,IAAI,CAAC;EAChC,IAAIC,MAAM,KAAKE,SAAS,EAAE;IACxB,MAAM,IAAIC,KAAK,CAAC,mBAAmB,CAAC;EACtC;EAEA,IAAMC,IAAI,GAAGC,KAAK,CAACC,OAAO,CAACN,MAAM,CAACO,IAAI,CAAC,CAAC,CAAC,CAAC,GACtCP,MAAM,CAACO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACjBP,MAAM,CAACO,IAAI,CAAC,CAAC,CAAC;EAClB,IAAMA,IAAI,GAAG,IAAIC,MAAM,CAACJ,IAAI,CAAC;EAC7B,IAAMK,UAAU,GAAG,IAAID,MAAM,EAAE;EAC/B,IAAME,WAAW,GAAG;IAClBC,CAAC,EAAEhB,SAAS,GAAGK,MAAM,CAACO,IAAI,CAAC,CAAC,CAAC;IAC7BK,CAAC,EAAEjB,SAAS,GAAGK,MAAM,CAACO,IAAI,CAAC,CAAC;EAC9B,CAAC;EACDE,UAAU,CAACI,OAAO,CAACN,IAAI,EAAEG,WAAW,CAAC;EACrC,OAAOD,UAAU;AACnB,CAAC,EACD;EAAEK,GAAG,EAAE;AAAK,CAAC,CACd;AAED,OAAO,SAASC,OAAO,CAAChB,IAAc,EAAU;EAC9C,OAAOD,QAAQ,CAACC,IAAI,CAAC;AACvB"}
@@ -1,20 +0,0 @@
1
- import { BoxCoordinates, Coordinate, GridMetrics, GridThemeType, TextCellRenderer, VisibleIndex } from '@deephaven/grid';
2
- import { IrisGridRenderState } from './IrisGridRenderer';
3
- declare class IrisGridTextCellRenderer extends TextCellRenderer {
4
- drawCellContent(context: CanvasRenderingContext2D, state: IrisGridRenderState, column: VisibleIndex, row: VisibleIndex): void;
5
- getTextRenderMetrics(state: IrisGridRenderState, column: VisibleIndex, row: VisibleIndex): {
6
- width: number;
7
- x: Coordinate;
8
- y: Coordinate;
9
- };
10
- getCellOverflowButtonPosition(mouseX: Coordinate | null, mouseY: Coordinate | null, metrics: GridMetrics | undefined, theme: GridThemeType): {
11
- left: Coordinate | null;
12
- top: Coordinate | null;
13
- width: number | null;
14
- height: number | null;
15
- };
16
- shouldRenderOverflowButton(state: IrisGridRenderState): boolean;
17
- drawTreeMarker(context: CanvasRenderingContext2D, state: IrisGridRenderState, columnX: Coordinate, rowY: Coordinate, treeBox: BoxCoordinates, color: string, isExpanded: boolean): void;
18
- }
19
- export default IrisGridTextCellRenderer;
20
- //# sourceMappingURL=IrisGridTextCellRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IrisGridTextCellRenderer.d.ts","sourceRoot":"","sources":["../src/IrisGridTextCellRenderer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,UAAU,EAGV,WAAW,EACX,aAAa,EAEb,gBAAgB,EAChB,YAAY,EACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAIzD,cAAM,wBAAyB,SAAQ,gBAAgB;IACrD,eAAe,CACb,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,GAChB,IAAI;IAuBP,oBAAoB,CAClB,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,GAChB;QACD,KAAK,EAAE,MAAM,CAAC;QACd,CAAC,EAAE,UAAU,CAAC;QACd,CAAC,EAAE,UAAU,CAAC;KACf;IA6BD,6BAA6B,CAC3B,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,KAAK,EAAE,aAAa,GACnB;QACD,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;QACxB,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;QACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB;IA+BD,0BAA0B,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO;IA6C/D,cAAc,CACZ,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,mBAAmB,EAC1B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,GAClB,IAAI;CAWR;AAED,eAAe,wBAAwB,CAAC"}
@@ -1,139 +0,0 @@
1
- /* eslint-disable class-methods-use-this */
2
- import { DEFAULT_FONT_WIDTH, getOrThrow, GridUtils, TextCellRenderer } from '@deephaven/grid';
3
- import { TableUtils } from '@deephaven/jsapi-utils';
4
- import { ICON_SIZE } from "./IrisGridIcons.js";
5
- import IrisGridCellRendererUtils from "./IrisGridCellRendererUtils.js";
6
- class IrisGridTextCellRenderer extends TextCellRenderer {
7
- drawCellContent(context, state, column, row) {
8
- var _model$columns$modelC;
9
- var {
10
- metrics,
11
- model
12
- } = state;
13
- var {
14
- modelColumns,
15
- modelRows
16
- } = metrics;
17
- var modelRow = getOrThrow(modelRows, row);
18
- var modelColumn = modelColumns.get(column);
19
- if (modelColumn === undefined) {
20
- return;
21
- }
22
- var value = model.valueForCell(modelColumn, modelRow);
23
- if (TableUtils.isTextType((_model$columns$modelC = model.columns[modelColumn]) === null || _model$columns$modelC === void 0 ? void 0 : _model$columns$modelC.type)) {
24
- if (value === null || value === '') {
25
- var originalFont = context.font;
26
- context.font = "italic ".concat(originalFont);
27
- super.drawCellContent(context, state, column, row);
28
- context.font = originalFont;
29
- return;
30
- }
31
- }
32
- super.drawCellContent(context, state, column, row);
33
- }
34
-
35
- // This will shrink the size the text may take when the overflow button is rendered
36
- // The text will truncate to a smaller width and won't overlap the button
37
- getTextRenderMetrics(state, column, row) {
38
- var textMetrics = GridUtils.getTextRenderMetrics(state, column, row);
39
- var {
40
- mouseX,
41
- mouseY,
42
- metrics,
43
- theme
44
- } = state;
45
- if (mouseX == null || mouseY == null) {
46
- return textMetrics;
47
- }
48
- var {
49
- column: mouseColumn,
50
- row: mouseRow
51
- } = GridUtils.getGridPointFromXY(mouseX, mouseY, metrics);
52
- if (column === mouseColumn && row === mouseRow) {
53
- var {
54
- left
55
- } = this.getCellOverflowButtonPosition(mouseX, mouseY, metrics, theme);
56
- if (this.shouldRenderOverflowButton(state) && left != null) {
57
- textMetrics.width = left - metrics.gridX - textMetrics.x;
58
- }
59
- }
60
- return textMetrics;
61
- }
62
- getCellOverflowButtonPosition(mouseX, mouseY, metrics, theme) {
63
- var NULL_POSITION = {
64
- left: null,
65
- top: null,
66
- width: null,
67
- height: null
68
- };
69
- if (mouseX == null || mouseY == null || metrics == null) {
70
- return NULL_POSITION;
71
- }
72
- var {
73
- rowHeight,
74
- columnWidth,
75
- left,
76
- top
77
- } = GridUtils.getCellInfoFromXY(mouseX, mouseY, metrics);
78
- if (left == null || columnWidth == null || top == null) {
79
- return NULL_POSITION;
80
- }
81
- var {
82
- width: gridWidth,
83
- verticalBarWidth
84
- } = metrics;
85
- var {
86
- cellHorizontalPadding
87
- } = theme;
88
- var width = ICON_SIZE + 2 * cellHorizontalPadding;
89
- var height = rowHeight;
90
- // Right edge of column or of visible grid, whichever is smaller
91
- var right = Math.min(metrics.gridX + left + columnWidth, gridWidth - verticalBarWidth);
92
- var buttonLeft = right - width;
93
- var buttonTop = metrics.gridY + top;
94
- return {
95
- left: buttonLeft,
96
- top: buttonTop,
97
- width,
98
- height
99
- };
100
- }
101
- shouldRenderOverflowButton(state) {
102
- var _model$textForCell, _metrics$fontWidths$g;
103
- var {
104
- context,
105
- mouseX,
106
- mouseY,
107
- metrics,
108
- model,
109
- theme
110
- } = state;
111
- if (mouseX == null || mouseY == null) {
112
- return false;
113
- }
114
- var {
115
- row,
116
- column,
117
- modelRow,
118
- modelColumn
119
- } = GridUtils.getCellInfoFromXY(mouseX, mouseY, metrics);
120
- if (row == null || column == null || modelRow == null || modelColumn == null || !TableUtils.isStringType(model.columns[modelColumn].type)) {
121
- return false;
122
- }
123
- var text = (_model$textForCell = model.textForCell(modelColumn, modelRow)) !== null && _model$textForCell !== void 0 ? _model$textForCell : '';
124
- var {
125
- width: textWidth
126
- } = GridUtils.getTextRenderMetrics(state, column, row);
127
- var fontWidth = (_metrics$fontWidths$g = metrics.fontWidths.get(theme.font)) !== null && _metrics$fontWidths$g !== void 0 ? _metrics$fontWidths$g : DEFAULT_FONT_WIDTH;
128
- context.save();
129
- context.font = theme.font;
130
- var truncatedText = this.getCachedTruncatedString(context, text, textWidth, fontWidth, model.truncationCharForCell(modelColumn, modelRow));
131
- context.restore();
132
- return text !== '' && truncatedText !== text;
133
- }
134
- drawTreeMarker(context, state, columnX, rowY, treeBox, color, isExpanded) {
135
- IrisGridCellRendererUtils.drawTreeMarker(context, state, columnX, rowY, treeBox, color, isExpanded);
136
- }
137
- }
138
- export default IrisGridTextCellRenderer;
139
- //# sourceMappingURL=IrisGridTextCellRenderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IrisGridTextCellRenderer.js","names":["DEFAULT_FONT_WIDTH","getOrThrow","GridUtils","TextCellRenderer","TableUtils","ICON_SIZE","IrisGridCellRendererUtils","IrisGridTextCellRenderer","drawCellContent","context","state","column","row","metrics","model","modelColumns","modelRows","modelRow","modelColumn","get","undefined","value","valueForCell","isTextType","columns","type","originalFont","font","getTextRenderMetrics","textMetrics","mouseX","mouseY","theme","mouseColumn","mouseRow","getGridPointFromXY","left","getCellOverflowButtonPosition","shouldRenderOverflowButton","width","gridX","x","NULL_POSITION","top","height","rowHeight","columnWidth","getCellInfoFromXY","gridWidth","verticalBarWidth","cellHorizontalPadding","right","Math","min","buttonLeft","buttonTop","gridY","isStringType","text","textForCell","textWidth","fontWidth","fontWidths","save","truncatedText","getCachedTruncatedString","truncationCharForCell","restore","drawTreeMarker","columnX","rowY","treeBox","color","isExpanded"],"sources":["../src/IrisGridTextCellRenderer.ts"],"sourcesContent":["/* eslint-disable class-methods-use-this */\nimport {\n BoxCoordinates,\n Coordinate,\n DEFAULT_FONT_WIDTH,\n getOrThrow,\n GridMetrics,\n GridThemeType,\n GridUtils,\n TextCellRenderer,\n VisibleIndex,\n} from '@deephaven/grid';\nimport { TableUtils } from '@deephaven/jsapi-utils';\nimport { IrisGridRenderState } from './IrisGridRenderer';\nimport { ICON_SIZE } from './IrisGridIcons';\nimport IrisGridCellRendererUtils from './IrisGridCellRendererUtils';\n\nclass IrisGridTextCellRenderer extends TextCellRenderer {\n drawCellContent(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n column: VisibleIndex,\n row: VisibleIndex\n ): void {\n const { metrics, model } = state;\n const { modelColumns, modelRows } = metrics;\n const modelRow = getOrThrow(modelRows, row);\n const modelColumn = modelColumns.get(column);\n if (modelColumn === undefined) {\n return;\n }\n const value = model.valueForCell(modelColumn, modelRow);\n if (TableUtils.isTextType(model.columns[modelColumn]?.type)) {\n if (value === null || value === '') {\n const originalFont = context.font;\n context.font = `italic ${originalFont}`;\n super.drawCellContent(context, state, column, row);\n context.font = originalFont;\n return;\n }\n }\n super.drawCellContent(context, state, column, row);\n }\n\n // This will shrink the size the text may take when the overflow button is rendered\n // The text will truncate to a smaller width and won't overlap the button\n getTextRenderMetrics(\n state: IrisGridRenderState,\n column: VisibleIndex,\n row: VisibleIndex\n ): {\n width: number;\n x: Coordinate;\n y: Coordinate;\n } {\n const textMetrics = GridUtils.getTextRenderMetrics(state, column, row);\n\n const { mouseX, mouseY, metrics, theme } = state;\n\n if (mouseX == null || mouseY == null) {\n return textMetrics;\n }\n\n const { column: mouseColumn, row: mouseRow } = GridUtils.getGridPointFromXY(\n mouseX,\n mouseY,\n metrics\n );\n\n if (column === mouseColumn && row === mouseRow) {\n const { left } = this.getCellOverflowButtonPosition(\n mouseX,\n mouseY,\n metrics,\n theme\n );\n if (this.shouldRenderOverflowButton(state) && left != null) {\n textMetrics.width = left - metrics.gridX - textMetrics.x;\n }\n }\n return textMetrics;\n }\n\n getCellOverflowButtonPosition(\n mouseX: Coordinate | null,\n mouseY: Coordinate | null,\n metrics: GridMetrics | undefined,\n theme: GridThemeType\n ): {\n left: Coordinate | null;\n top: Coordinate | null;\n width: number | null;\n height: number | null;\n } {\n const NULL_POSITION = { left: null, top: null, width: null, height: null };\n if (mouseX == null || mouseY == null || metrics == null) {\n return NULL_POSITION;\n }\n const { rowHeight, columnWidth, left, top } = GridUtils.getCellInfoFromXY(\n mouseX,\n mouseY,\n metrics\n );\n\n if (left == null || columnWidth == null || top == null) {\n return NULL_POSITION;\n }\n\n const { width: gridWidth, verticalBarWidth } = metrics;\n const { cellHorizontalPadding } = theme;\n\n const width = ICON_SIZE + 2 * cellHorizontalPadding;\n const height = rowHeight;\n // Right edge of column or of visible grid, whichever is smaller\n const right = Math.min(\n metrics.gridX + left + columnWidth,\n gridWidth - verticalBarWidth\n );\n const buttonLeft = right - width;\n const buttonTop = metrics.gridY + top;\n\n return { left: buttonLeft, top: buttonTop, width, height };\n }\n\n shouldRenderOverflowButton(state: IrisGridRenderState): boolean {\n const { context, mouseX, mouseY, metrics, model, theme } = state;\n if (mouseX == null || mouseY == null) {\n return false;\n }\n\n const { row, column, modelRow, modelColumn } = GridUtils.getCellInfoFromXY(\n mouseX,\n mouseY,\n metrics\n );\n\n if (\n row == null ||\n column == null ||\n modelRow == null ||\n modelColumn == null ||\n !TableUtils.isStringType(model.columns[modelColumn].type)\n ) {\n return false;\n }\n\n const text = model.textForCell(modelColumn, modelRow) ?? '';\n const { width: textWidth } = GridUtils.getTextRenderMetrics(\n state,\n column,\n row\n );\n const fontWidth = metrics.fontWidths.get(theme.font) ?? DEFAULT_FONT_WIDTH;\n\n context.save();\n context.font = theme.font;\n\n const truncatedText = this.getCachedTruncatedString(\n context,\n text,\n textWidth,\n fontWidth,\n model.truncationCharForCell(modelColumn, modelRow)\n );\n context.restore();\n\n return text !== '' && truncatedText !== text;\n }\n\n drawTreeMarker(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n columnX: Coordinate,\n rowY: Coordinate,\n treeBox: BoxCoordinates,\n color: string,\n isExpanded: boolean\n ): void {\n IrisGridCellRendererUtils.drawTreeMarker(\n context,\n state,\n columnX,\n rowY,\n treeBox,\n color,\n isExpanded\n );\n }\n}\n\nexport default IrisGridTextCellRenderer;\n"],"mappings":"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"}