@deephaven/grid 0.41.0 → 0.41.2-beta.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 (61) hide show
  1. package/dist/CellRenderer.d.ts +12 -0
  2. package/dist/CellRenderer.d.ts.map +1 -0
  3. package/dist/CellRenderer.js +64 -0
  4. package/dist/CellRenderer.js.map +1 -0
  5. package/dist/DataBarCellRenderer.d.ts +38 -0
  6. package/dist/DataBarCellRenderer.d.ts.map +1 -0
  7. package/dist/DataBarCellRenderer.js +404 -0
  8. package/dist/DataBarCellRenderer.js.map +1 -0
  9. package/dist/DataBarGridModel.d.ts +47 -0
  10. package/dist/DataBarGridModel.d.ts.map +1 -0
  11. package/dist/DataBarGridModel.js +27 -0
  12. package/dist/DataBarGridModel.js.map +1 -0
  13. package/dist/Grid.d.ts +4 -0
  14. package/dist/Grid.d.ts.map +1 -1
  15. package/dist/GridColorUtils.d.ts +15 -0
  16. package/dist/GridColorUtils.d.ts.map +1 -1
  17. package/dist/GridColorUtils.js +117 -1
  18. package/dist/GridColorUtils.js.map +1 -1
  19. package/dist/GridMetricCalculator.d.ts.map +1 -1
  20. package/dist/GridMetricCalculator.js +9 -2
  21. package/dist/GridMetricCalculator.js.map +1 -1
  22. package/dist/GridModel.d.ts +2 -0
  23. package/dist/GridModel.d.ts.map +1 -1
  24. package/dist/GridModel.js +3 -0
  25. package/dist/GridModel.js.map +1 -1
  26. package/dist/GridRenderer.d.ts +8 -34
  27. package/dist/GridRenderer.d.ts.map +1 -1
  28. package/dist/GridRenderer.js +29 -294
  29. package/dist/GridRenderer.js.map +1 -1
  30. package/dist/GridRendererTypes.d.ts +1 -0
  31. package/dist/GridRendererTypes.d.ts.map +1 -1
  32. package/dist/GridRendererTypes.js +2 -1
  33. package/dist/GridRendererTypes.js.map +1 -1
  34. package/dist/GridTheme.d.ts +4 -0
  35. package/dist/GridTheme.d.ts.map +1 -1
  36. package/dist/GridTheme.js +6 -1
  37. package/dist/GridTheme.js.map +1 -1
  38. package/dist/GridUtils.d.ts +16 -0
  39. package/dist/GridUtils.d.ts.map +1 -1
  40. package/dist/GridUtils.js +60 -1
  41. package/dist/GridUtils.js.map +1 -1
  42. package/dist/MockDataBarGridModel.d.ts +29 -0
  43. package/dist/MockDataBarGridModel.d.ts.map +1 -0
  44. package/dist/MockDataBarGridModel.js +119 -0
  45. package/dist/MockDataBarGridModel.js.map +1 -0
  46. package/dist/TextCellRenderer.d.ts +23 -0
  47. package/dist/TextCellRenderer.d.ts.map +1 -0
  48. package/dist/TextCellRenderer.js +210 -0
  49. package/dist/TextCellRenderer.js.map +1 -0
  50. package/dist/TokenBoxCellRenderer.d.ts +10 -0
  51. package/dist/TokenBoxCellRenderer.d.ts.map +1 -0
  52. package/dist/TokenBoxCellRenderer.js +4 -0
  53. package/dist/TokenBoxCellRenderer.js.map +1 -0
  54. package/dist/index.d.ts +5 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +4 -0
  57. package/dist/index.js.map +1 -1
  58. package/dist/mouse-handlers/GridTokenMouseHandler.d.ts.map +1 -1
  59. package/dist/mouse-handlers/GridTokenMouseHandler.js +20 -2
  60. package/dist/mouse-handlers/GridTokenMouseHandler.js.map +1 -1
  61. package/package.json +4 -4
@@ -4,6 +4,7 @@ import GridRange from './GridRange';
4
4
  import { GridTheme } from './GridTheme';
5
5
  import { DraggingColumn } from './mouse-handlers/GridColumnMoveMouseHandler';
6
6
  import { GridSeparator } from './mouse-handlers/GridSeparatorMouseHandler';
7
+ export declare const DEFAULT_FONT_WIDTH = 10;
7
8
  export type EditingCellTextSelectionRange = [start: number, end: number];
8
9
  export type EditingCell = {
9
10
  column: VisibleIndex;
@@ -1 +1 @@
1
- {"version":3,"file":"GridRendererTypes.d.ts","sourceRoot":"","sources":["../src/GridRendererTypes.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAE3E,MAAM,MAAM,6BAA6B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAEzE,MAAM,MAAM,WAAW,GAAG;IAExB,MAAM,EAAE,YAAY,CAAC;IACrB,GAAG,EAAE,YAAY,CAAC;IAGlB,cAAc,CAAC,EAAE,6BAA6B,CAAC;IAG/C,KAAK,EAAE,MAAM,CAAC;IAGd,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAE5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAGf,OAAO,EAAE,wBAAwB,CAAC;IAGlC,KAAK,EAAE,SAAS,CAAC;IAGjB,KAAK,EAAE,SAAS,CAAC;IAGjB,OAAO,EAAE,WAAW,CAAC;IAGrB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAG1B,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IAG/B,cAAc,EAAE,SAAS,SAAS,EAAE,CAAC;IAGrC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,uBAAuB,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9C,WAAW,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,oBAAoB,EAAE,aAAa,GAAG,IAAI,CAAC;IAG3C,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,6BAA6B,EAAE,OAAO,CAAC;IACvC,2BAA2B,EAAE,OAAO,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"GridRendererTypes.d.ts","sourceRoot":"","sources":["../src/GridRendererTypes.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAG3E,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC,MAAM,MAAM,6BAA6B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAEzE,MAAM,MAAM,WAAW,GAAG;IAExB,MAAM,EAAE,YAAY,CAAC;IACrB,GAAG,EAAE,YAAY,CAAC;IAGlB,cAAc,CAAC,EAAE,6BAA6B,CAAC;IAG/C,KAAK,EAAE,MAAM,CAAC;IAGd,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAE5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IAGf,OAAO,EAAE,wBAAwB,CAAC;IAGlC,KAAK,EAAE,SAAS,CAAC;IAGjB,KAAK,EAAE,SAAS,CAAC;IAGjB,OAAO,EAAE,WAAW,CAAC;IAGrB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAG1B,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IAG/B,cAAc,EAAE,SAAS,SAAS,EAAE,CAAC;IAGrC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,uBAAuB,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9C,WAAW,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,oBAAoB,EAAE,aAAa,GAAG,IAAI,CAAC;IAG3C,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,6BAA6B,EAAE,OAAO,CAAC;IACvC,2BAA2B,EAAE,OAAO,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC"}
@@ -1,2 +1,3 @@
1
- export {};
1
+ // Default font width in pixels if it cannot be retrieved from the context
2
+ export var DEFAULT_FONT_WIDTH = 10;
2
3
  //# sourceMappingURL=GridRendererTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GridRendererTypes.js","names":[],"sources":["../src/GridRendererTypes.ts"],"sourcesContent":["import GridMetrics, { VisibleIndex, Coordinate } from './GridMetrics';\nimport GridModel from './GridModel';\nimport GridRange from './GridRange';\nimport { GridTheme } from './GridTheme';\nimport { DraggingColumn } from './mouse-handlers/GridColumnMoveMouseHandler';\nimport { GridSeparator } from './mouse-handlers/GridSeparatorMouseHandler';\n\nexport type EditingCellTextSelectionRange = [start: number, end: number];\n\nexport type EditingCell = {\n // Index of the editing cell\n column: VisibleIndex;\n row: VisibleIndex;\n\n // Selection within the text\n selectionRange?: EditingCellTextSelectionRange;\n\n // The value to use for the edit\n value: string;\n\n // Whether the selection was triggered with a quick edit action (e.g. Start typing with the cell in focus)\n isQuickEdit?: boolean;\n};\n\nexport type GridRenderState = {\n // Width and height of the total canvas area\n width: number;\n height: number;\n\n // The canvas context\n context: CanvasRenderingContext2D;\n\n // The grid theme\n theme: GridTheme;\n\n // The model used by the grid\n model: GridModel;\n\n // The grid metrics\n metrics: GridMetrics;\n\n // Location of the mouse on the grid\n mouseX: Coordinate | null;\n mouseY: Coordinate | null;\n\n // Where the keyboard cursor is located\n cursorColumn: VisibleIndex | null;\n cursorRow: VisibleIndex | null;\n\n // Currently selected ranges\n selectedRanges: readonly GridRange[];\n\n // Currently dragged column/row information\n draggingColumn: DraggingColumn | null;\n draggingColumnSeparator: GridSeparator | null;\n draggingRow: VisibleIndex | null;\n draggingRowOffset: number | null;\n draggingRowSeparator: GridSeparator | null;\n\n // The currently editing cell\n editingCell: EditingCell | null;\n isDraggingHorizontalScrollBar: boolean;\n isDraggingVerticalScrollBar: boolean;\n isDragging: boolean;\n};\n"],"mappings":""}
1
+ {"version":3,"file":"GridRendererTypes.js","names":["DEFAULT_FONT_WIDTH"],"sources":["../src/GridRendererTypes.ts"],"sourcesContent":["import GridMetrics, { VisibleIndex, Coordinate } from './GridMetrics';\nimport GridModel from './GridModel';\nimport GridRange from './GridRange';\nimport { GridTheme } from './GridTheme';\nimport { DraggingColumn } from './mouse-handlers/GridColumnMoveMouseHandler';\nimport { GridSeparator } from './mouse-handlers/GridSeparatorMouseHandler';\n\n// Default font width in pixels if it cannot be retrieved from the context\nexport const DEFAULT_FONT_WIDTH = 10;\n\nexport type EditingCellTextSelectionRange = [start: number, end: number];\n\nexport type EditingCell = {\n // Index of the editing cell\n column: VisibleIndex;\n row: VisibleIndex;\n\n // Selection within the text\n selectionRange?: EditingCellTextSelectionRange;\n\n // The value to use for the edit\n value: string;\n\n // Whether the selection was triggered with a quick edit action (e.g. Start typing with the cell in focus)\n isQuickEdit?: boolean;\n};\n\nexport type GridRenderState = {\n // Width and height of the total canvas area\n width: number;\n height: number;\n\n // The canvas context\n context: CanvasRenderingContext2D;\n\n // The grid theme\n theme: GridTheme;\n\n // The model used by the grid\n model: GridModel;\n\n // The grid metrics\n metrics: GridMetrics;\n\n // Location of the mouse on the grid\n mouseX: Coordinate | null;\n mouseY: Coordinate | null;\n\n // Where the keyboard cursor is located\n cursorColumn: VisibleIndex | null;\n cursorRow: VisibleIndex | null;\n\n // Currently selected ranges\n selectedRanges: readonly GridRange[];\n\n // Currently dragged column/row information\n draggingColumn: DraggingColumn | null;\n draggingColumnSeparator: GridSeparator | null;\n draggingRow: VisibleIndex | null;\n draggingRowOffset: number | null;\n draggingRowSeparator: GridSeparator | null;\n\n // The currently editing cell\n editingCell: EditingCell | null;\n isDraggingHorizontalScrollBar: boolean;\n isDraggingVerticalScrollBar: boolean;\n isDragging: boolean;\n};\n"],"mappings":"AAOA;AACA,OAAO,IAAMA,kBAAkB,GAAG,EAAE"}
@@ -80,6 +80,10 @@ export type GridTheme = {
80
80
  floatingRowBackgroundColors: GridColorWay;
81
81
  floatingDividerOuterColor: GridColor;
82
82
  floatingDividerInnerColor: GridColor;
83
+ zeroLineColor: GridColor;
84
+ positiveBarColor: GridColor;
85
+ negativeBarColor: GridColor;
86
+ dataBarHorizontalPadding: number;
83
87
  };
84
88
  /**
85
89
  * Default theme for a Grid.
@@ -1 +1 @@
1
- {"version":3,"file":"GridTheme.d.ts","sourceRoot":"","sources":["../src/GridTheme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GridTheme.d.ts","sourceRoot":"","sources":["../src/GridTheme.ts"],"names":[],"mappings":"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"}
package/dist/GridTheme.js CHANGED
@@ -89,7 +89,12 @@ var defaultTheme = Object.freeze({
89
89
  floatingRowBackgroundColors: '#393939 #292929',
90
90
  // Divider colors between the floating parts and the grid
91
91
  floatingDividerOuterColor: '#000000',
92
- floatingDividerInnerColor: '#cccccc'
92
+ floatingDividerInnerColor: '#cccccc',
93
+ // Databar
94
+ zeroLineColor: '#888888',
95
+ positiveBarColor: '#00ff00',
96
+ negativeBarColor: '#ff0000',
97
+ dataBarHorizontalPadding: 90
93
98
  });
94
99
  export default defaultTheme;
95
100
  //# sourceMappingURL=GridTheme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GridTheme.js","names":["defaultTheme","Object","freeze","allowColumnResize","allowRowResize","autoSelectRow","autoSelectColumn","autoSizeColumns","autoSizeRows","backgroundColor","black","white","cellHorizontalPadding","headerHorizontalPadding","font","gridColumnColor","gridRowColor","headerBackgroundColor","headerSeparatorColor","headerSeparatorHoverColor","headerSeparatorHandleSize","headerHiddenSeparatorSize","headerHiddenSeparatorHoverColor","headerColor","headerFont","columnHoverBackgroundColor","selectedColumnHoverBackgroundColor","rowBackgroundColors","rowHoverBackgroundColor","selectedRowHoverBackgroundColor","minScrollHandleSize","scrollBarBackgroundColor","scrollBarHoverBackgroundColor","scrollBarCasingColor","scrollBarCornerColor","scrollBarColor","scrollBarHoverColor","scrollBarActiveColor","scrollBarSize","scrollBarHoverSize","scrollBarCasingWidth","scrollSnapToColumn","scrollSnapToRow","selectionColor","selectionOutlineColor","selectionOutlineCasingColor","scrollBarSelectionTick","scrollBarSelectionTickColor","scrollBarActiveSelectionTickColor","shadowBlur","shadowColor","textColor","hyperlinkColor","maxDepth","treeDepthIndent","treeHorizontalPadding","treeLineColor","treeMarkerColor","treeMarkerHoverColor","rowHeight","columnWidth","minRowHeight","minColumnWidth","columnHeaderHeight","rowHeaderWidth","rowFooterWidth","headerResizeSnapThreshold","headerResizeHiddenSnapThreshold","allowColumnReorder","allowRowReorder","reorderOffset","floatingGridColumnColor","floatingGridRowColor","floatingRowBackgroundColors","floatingDividerOuterColor","floatingDividerInnerColor"],"sources":["../src/GridTheme.ts"],"sourcesContent":["/** A color parsed as CSS color value, eg. '#FF0000' */\nexport type GridColor = string;\n\n/** A nullable color, eg. pass `null` to skip drawing this item */\nexport type NullableGridColor = GridColor | null;\n\n/** One or more colors parsed as CSS color value separated by space, eg. '#FF0000 #00FF00' */\nexport type GridColorWay = string;\n\n/** A font parsed as CSS font value */\nexport type GridFont = string;\n\nexport type GridTheme = {\n // Allow column/row resizing\n allowColumnResize: boolean;\n allowRowResize: boolean;\n\n // Select the full row/column upon selection\n autoSelectRow: boolean;\n autoSelectColumn: boolean;\n\n // Automatically size rows/columns to fit contents\n autoSizeColumns: boolean;\n autoSizeRows: boolean;\n\n // The background color for the whole grid\n backgroundColor: GridColor;\n\n // Color to draw text\n textColor: GridColor;\n hyperlinkColor: GridColor;\n\n // Black and white to use if needed\n black: GridColor;\n white: GridColor;\n\n // Amount of padding within a cell and header\n cellHorizontalPadding: number;\n headerHorizontalPadding: number;\n\n // The font to use in the grid\n font: GridFont;\n\n // Colors to draw grid lines between columns and rows\n gridColumnColor: NullableGridColor;\n gridRowColor: NullableGridColor;\n\n // Colors for drawing the column and row headers\n headerBackgroundColor: GridColor;\n headerSeparatorColor: GridColor;\n headerSeparatorHoverColor: GridColor;\n headerSeparatorHandleSize: number;\n headerHiddenSeparatorSize: number;\n headerHiddenSeparatorHoverColor: GridColor;\n headerColor: GridColor;\n headerFont: GridFont;\n\n // Background color to highlight entire column/row if set\n columnHoverBackgroundColor: NullableGridColor;\n selectedColumnHoverBackgroundColor: NullableGridColor;\n rowHoverBackgroundColor: NullableGridColor;\n selectedRowHoverBackgroundColor: NullableGridColor;\n\n // Background colors to draw for each row, cycling through each value (eg. alternating stripes)\n rowBackgroundColors: GridColorWay;\n\n // Scroll bar look and sizing\n minScrollHandleSize: number;\n scrollBarBackgroundColor: GridColor;\n scrollBarHoverBackgroundColor: GridColor;\n scrollBarCasingColor: GridColor;\n scrollBarCornerColor: GridColor;\n scrollBarColor: GridColor;\n scrollBarHoverColor: GridColor;\n scrollBarActiveColor: GridColor;\n scrollBarSize: number;\n scrollBarHoverSize: number;\n scrollBarCasingWidth: number;\n scrollSnapToColumn: boolean;\n scrollSnapToRow: boolean;\n\n scrollBarSelectionTick: boolean;\n scrollBarSelectionTickColor: NullableGridColor;\n scrollBarActiveSelectionTickColor: NullableGridColor;\n\n // Look of the current selection\n selectionColor: GridColor;\n selectionOutlineColor: GridColor;\n selectionOutlineCasingColor: GridColor;\n\n // Shadows to draw when representing a hierarchy, eg. when one row is a higher \"depth\" than the row above it\n shadowBlur: number;\n shadowColor: GridColor;\n maxDepth: number; // max depth of the shadowing\n\n // Other tree table metrics\n treeDepthIndent: number;\n treeHorizontalPadding: number;\n treeLineColor: GridColor;\n treeMarkerColor: GridColor;\n treeMarkerHoverColor: GridColor;\n\n // Default row height/column width\n rowHeight: number;\n columnWidth: number;\n minRowHeight: number;\n minColumnWidth: number;\n\n // Default row/column header/footers width/height\n columnHeaderHeight: number;\n rowHeaderWidth: number;\n rowFooterWidth: number;\n\n // When resizing the header, will snap to the auto size of the header within this threshold\n headerResizeSnapThreshold: number;\n headerResizeHiddenSnapThreshold: number;\n\n // Allow moving/reordering columns/rows\n allowColumnReorder: boolean;\n allowRowReorder: boolean;\n\n // The number of pixels to offset a column/row while it is being dragged to move\n reorderOffset: number;\n\n // Colors for the grid in floating sections\n floatingGridColumnColor: NullableGridColor;\n floatingGridRowColor: NullableGridColor;\n\n // Background row colors for grid in the floating sections\n floatingRowBackgroundColors: GridColorWay;\n\n // Divider colors between the floating parts and the grid\n floatingDividerOuterColor: GridColor;\n floatingDividerInnerColor: GridColor;\n};\n\n/**\n * Default theme for a Grid.\n */\nconst defaultTheme: GridTheme = Object.freeze({\n allowColumnResize: true,\n allowRowResize: true,\n autoSelectRow: false, // Select the full row upon selection\n autoSelectColumn: false, // Select the full column upon selection\n autoSizeColumns: true, // Automatically size the columns to fit content\n autoSizeRows: true,\n backgroundColor: '#000000',\n black: '#000000',\n white: '#ffffff',\n cellHorizontalPadding: 5,\n headerHorizontalPadding: 5,\n font: '12px Arial, sans serif',\n gridColumnColor: '#8f8f8f66',\n gridRowColor: '#8f8f8f66',\n headerBackgroundColor: '#222222',\n headerSeparatorColor: '#000000',\n headerSeparatorHoverColor: '#888888',\n headerSeparatorHandleSize: 5,\n headerHiddenSeparatorSize: 5,\n headerHiddenSeparatorHoverColor: '#8888FF',\n headerColor: '#d5d5d5',\n headerFont: '10px Arial, sans serif',\n columnHoverBackgroundColor: '#444444',\n selectedColumnHoverBackgroundColor: '#494949',\n rowBackgroundColors: '#333333 #222222',\n rowHoverBackgroundColor: '#444444',\n selectedRowHoverBackgroundColor: '#494949',\n minScrollHandleSize: 50,\n scrollBarBackgroundColor: '#111111',\n scrollBarHoverBackgroundColor: '#333333',\n scrollBarCasingColor: '#000000',\n scrollBarCornerColor: '#000000',\n scrollBarColor: '#555555',\n scrollBarHoverColor: '#888888',\n scrollBarActiveColor: '#AAAAAA',\n scrollBarSize: 12,\n scrollBarHoverSize: 16,\n scrollBarCasingWidth: 1,\n scrollSnapToColumn: false,\n scrollSnapToRow: false,\n selectionColor: '#4286f433',\n selectionOutlineColor: '#4286f4',\n selectionOutlineCasingColor: '#222222',\n scrollBarSelectionTick: true,\n scrollBarSelectionTickColor: '#4286f433',\n scrollBarActiveSelectionTickColor: '#4286f480',\n shadowBlur: 8,\n shadowColor: '#000000',\n textColor: '#ffffff',\n hyperlinkColor: '#4878ea',\n maxDepth: 6,\n treeDepthIndent: 10,\n treeHorizontalPadding: 5,\n treeLineColor: '#888888',\n treeMarkerColor: '#cccccc',\n treeMarkerHoverColor: '#ffffff',\n\n rowHeight: 20,\n columnWidth: 100,\n minRowHeight: 20,\n minColumnWidth: 55,\n columnHeaderHeight: 20,\n rowHeaderWidth: 30,\n rowFooterWidth: 0,\n\n // When resizing the header, will snap to the auto size of the header within this threshold\n headerResizeSnapThreshold: 10,\n headerResizeHiddenSnapThreshold: 8,\n\n allowColumnReorder: true,\n allowRowReorder: true,\n reorderOffset: 2,\n\n // Colors for the grid in floating sections\n floatingGridColumnColor: '#8f8f8f66',\n floatingGridRowColor: '#8f8f8f66',\n\n // Background row colors for grid in the floating sections\n floatingRowBackgroundColors: '#393939 #292929',\n\n // Divider colors between the floating parts and the grid\n floatingDividerOuterColor: '#000000',\n floatingDividerInnerColor: '#cccccc',\n});\n\nexport default defaultTheme;\n"],"mappings":"AAAA;;AAGA;;AAGA;;AAGA;;AA+HA;AACA;AACA;AACA,IAAMA,YAAuB,GAAGC,MAAM,CAACC,MAAM,CAAC;EAC5CC,iBAAiB,EAAE,IAAI;EACvBC,cAAc,EAAE,IAAI;EACpBC,aAAa,EAAE,KAAK;EAAE;EACtBC,gBAAgB,EAAE,KAAK;EAAE;EACzBC,eAAe,EAAE,IAAI;EAAE;EACvBC,YAAY,EAAE,IAAI;EAClBC,eAAe,EAAE,SAAS;EAC1BC,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE,SAAS;EAChBC,qBAAqB,EAAE,CAAC;EACxBC,uBAAuB,EAAE,CAAC;EAC1BC,IAAI,EAAE,wBAAwB;EAC9BC,eAAe,EAAE,WAAW;EAC5BC,YAAY,EAAE,WAAW;EACzBC,qBAAqB,EAAE,SAAS;EAChCC,oBAAoB,EAAE,SAAS;EAC/BC,yBAAyB,EAAE,SAAS;EACpCC,yBAAyB,EAAE,CAAC;EAC5BC,yBAAyB,EAAE,CAAC;EAC5BC,+BAA+B,EAAE,SAAS;EAC1CC,WAAW,EAAE,SAAS;EACtBC,UAAU,EAAE,wBAAwB;EACpCC,0BAA0B,EAAE,SAAS;EACrCC,kCAAkC,EAAE,SAAS;EAC7CC,mBAAmB,EAAE,iBAAiB;EACtCC,uBAAuB,EAAE,SAAS;EAClCC,+BAA+B,EAAE,SAAS;EAC1CC,mBAAmB,EAAE,EAAE;EACvBC,wBAAwB,EAAE,SAAS;EACnCC,6BAA6B,EAAE,SAAS;EACxCC,oBAAoB,EAAE,SAAS;EAC/BC,oBAAoB,EAAE,SAAS;EAC/BC,cAAc,EAAE,SAAS;EACzBC,mBAAmB,EAAE,SAAS;EAC9BC,oBAAoB,EAAE,SAAS;EAC/BC,aAAa,EAAE,EAAE;EACjBC,kBAAkB,EAAE,EAAE;EACtBC,oBAAoB,EAAE,CAAC;EACvBC,kBAAkB,EAAE,KAAK;EACzBC,eAAe,EAAE,KAAK;EACtBC,cAAc,EAAE,WAAW;EAC3BC,qBAAqB,EAAE,SAAS;EAChCC,2BAA2B,EAAE,SAAS;EACtCC,sBAAsB,EAAE,IAAI;EAC5BC,2BAA2B,EAAE,WAAW;EACxCC,iCAAiC,EAAE,WAAW;EAC9CC,UAAU,EAAE,CAAC;EACbC,WAAW,EAAE,SAAS;EACtBC,SAAS,EAAE,SAAS;EACpBC,cAAc,EAAE,SAAS;EACzBC,QAAQ,EAAE,CAAC;EACXC,eAAe,EAAE,EAAE;EACnBC,qBAAqB,EAAE,CAAC;EACxBC,aAAa,EAAE,SAAS;EACxBC,eAAe,EAAE,SAAS;EAC1BC,oBAAoB,EAAE,SAAS;EAE/BC,SAAS,EAAE,EAAE;EACbC,WAAW,EAAE,GAAG;EAChBC,YAAY,EAAE,EAAE;EAChBC,cAAc,EAAE,EAAE;EAClBC,kBAAkB,EAAE,EAAE;EACtBC,cAAc,EAAE,EAAE;EAClBC,cAAc,EAAE,CAAC;EAEjB;EACAC,yBAAyB,EAAE,EAAE;EAC7BC,+BAA+B,EAAE,CAAC;EAElCC,kBAAkB,EAAE,IAAI;EACxBC,eAAe,EAAE,IAAI;EACrBC,aAAa,EAAE,CAAC;EAEhB;EACAC,uBAAuB,EAAE,WAAW;EACpCC,oBAAoB,EAAE,WAAW;EAEjC;EACAC,2BAA2B,EAAE,iBAAiB;EAE9C;EACAC,yBAAyB,EAAE,SAAS;EACpCC,yBAAyB,EAAE;AAC7B,CAAC,CAAC;AAEF,eAAe3E,YAAY"}
1
+ {"version":3,"file":"GridTheme.js","names":["defaultTheme","Object","freeze","allowColumnResize","allowRowResize","autoSelectRow","autoSelectColumn","autoSizeColumns","autoSizeRows","backgroundColor","black","white","cellHorizontalPadding","headerHorizontalPadding","font","gridColumnColor","gridRowColor","headerBackgroundColor","headerSeparatorColor","headerSeparatorHoverColor","headerSeparatorHandleSize","headerHiddenSeparatorSize","headerHiddenSeparatorHoverColor","headerColor","headerFont","columnHoverBackgroundColor","selectedColumnHoverBackgroundColor","rowBackgroundColors","rowHoverBackgroundColor","selectedRowHoverBackgroundColor","minScrollHandleSize","scrollBarBackgroundColor","scrollBarHoverBackgroundColor","scrollBarCasingColor","scrollBarCornerColor","scrollBarColor","scrollBarHoverColor","scrollBarActiveColor","scrollBarSize","scrollBarHoverSize","scrollBarCasingWidth","scrollSnapToColumn","scrollSnapToRow","selectionColor","selectionOutlineColor","selectionOutlineCasingColor","scrollBarSelectionTick","scrollBarSelectionTickColor","scrollBarActiveSelectionTickColor","shadowBlur","shadowColor","textColor","hyperlinkColor","maxDepth","treeDepthIndent","treeHorizontalPadding","treeLineColor","treeMarkerColor","treeMarkerHoverColor","rowHeight","columnWidth","minRowHeight","minColumnWidth","columnHeaderHeight","rowHeaderWidth","rowFooterWidth","headerResizeSnapThreshold","headerResizeHiddenSnapThreshold","allowColumnReorder","allowRowReorder","reorderOffset","floatingGridColumnColor","floatingGridRowColor","floatingRowBackgroundColors","floatingDividerOuterColor","floatingDividerInnerColor","zeroLineColor","positiveBarColor","negativeBarColor","dataBarHorizontalPadding"],"sources":["../src/GridTheme.ts"],"sourcesContent":["/** A color parsed as CSS color value, eg. '#FF0000' */\nexport type GridColor = string;\n\n/** A nullable color, eg. pass `null` to skip drawing this item */\nexport type NullableGridColor = GridColor | null;\n\n/** One or more colors parsed as CSS color value separated by space, eg. '#FF0000 #00FF00' */\nexport type GridColorWay = string;\n\n/** A font parsed as CSS font value */\nexport type GridFont = string;\n\nexport type GridTheme = {\n // Allow column/row resizing\n allowColumnResize: boolean;\n allowRowResize: boolean;\n\n // Select the full row/column upon selection\n autoSelectRow: boolean;\n autoSelectColumn: boolean;\n\n // Automatically size rows/columns to fit contents\n autoSizeColumns: boolean;\n autoSizeRows: boolean;\n\n // The background color for the whole grid\n backgroundColor: GridColor;\n\n // Color to draw text\n textColor: GridColor;\n hyperlinkColor: GridColor;\n\n // Black and white to use if needed\n black: GridColor;\n white: GridColor;\n\n // Amount of padding within a cell and header\n cellHorizontalPadding: number;\n headerHorizontalPadding: number;\n\n // The font to use in the grid\n font: GridFont;\n\n // Colors to draw grid lines between columns and rows\n gridColumnColor: NullableGridColor;\n gridRowColor: NullableGridColor;\n\n // Colors for drawing the column and row headers\n headerBackgroundColor: GridColor;\n headerSeparatorColor: GridColor;\n headerSeparatorHoverColor: GridColor;\n headerSeparatorHandleSize: number;\n headerHiddenSeparatorSize: number;\n headerHiddenSeparatorHoverColor: GridColor;\n headerColor: GridColor;\n headerFont: GridFont;\n\n // Background color to highlight entire column/row if set\n columnHoverBackgroundColor: NullableGridColor;\n selectedColumnHoverBackgroundColor: NullableGridColor;\n rowHoverBackgroundColor: NullableGridColor;\n selectedRowHoverBackgroundColor: NullableGridColor;\n\n // Background colors to draw for each row, cycling through each value (eg. alternating stripes)\n rowBackgroundColors: GridColorWay;\n\n // Scroll bar look and sizing\n minScrollHandleSize: number;\n scrollBarBackgroundColor: GridColor;\n scrollBarHoverBackgroundColor: GridColor;\n scrollBarCasingColor: GridColor;\n scrollBarCornerColor: GridColor;\n scrollBarColor: GridColor;\n scrollBarHoverColor: GridColor;\n scrollBarActiveColor: GridColor;\n scrollBarSize: number;\n scrollBarHoverSize: number;\n scrollBarCasingWidth: number;\n scrollSnapToColumn: boolean;\n scrollSnapToRow: boolean;\n\n scrollBarSelectionTick: boolean;\n scrollBarSelectionTickColor: NullableGridColor;\n scrollBarActiveSelectionTickColor: NullableGridColor;\n\n // Look of the current selection\n selectionColor: GridColor;\n selectionOutlineColor: GridColor;\n selectionOutlineCasingColor: GridColor;\n\n // Shadows to draw when representing a hierarchy, eg. when one row is a higher \"depth\" than the row above it\n shadowBlur: number;\n shadowColor: GridColor;\n maxDepth: number; // max depth of the shadowing\n\n // Other tree table metrics\n treeDepthIndent: number;\n treeHorizontalPadding: number;\n treeLineColor: GridColor;\n treeMarkerColor: GridColor;\n treeMarkerHoverColor: GridColor;\n\n // Default row height/column width\n rowHeight: number;\n columnWidth: number;\n minRowHeight: number;\n minColumnWidth: number;\n\n // Default row/column header/footers width/height\n columnHeaderHeight: number;\n rowHeaderWidth: number;\n rowFooterWidth: number;\n\n // When resizing the header, will snap to the auto size of the header within this threshold\n headerResizeSnapThreshold: number;\n headerResizeHiddenSnapThreshold: number;\n\n // Allow moving/reordering columns/rows\n allowColumnReorder: boolean;\n allowRowReorder: boolean;\n\n // The number of pixels to offset a column/row while it is being dragged to move\n reorderOffset: number;\n\n // Colors for the grid in floating sections\n floatingGridColumnColor: NullableGridColor;\n floatingGridRowColor: NullableGridColor;\n\n // Background row colors for grid in the floating sections\n floatingRowBackgroundColors: GridColorWay;\n\n // Divider colors between the floating parts and the grid\n floatingDividerOuterColor: GridColor;\n floatingDividerInnerColor: GridColor;\n\n zeroLineColor: GridColor;\n positiveBarColor: GridColor;\n negativeBarColor: GridColor;\n\n dataBarHorizontalPadding: number;\n};\n\n/**\n * Default theme for a Grid.\n */\nconst defaultTheme: GridTheme = Object.freeze({\n allowColumnResize: true,\n allowRowResize: true,\n autoSelectRow: false, // Select the full row upon selection\n autoSelectColumn: false, // Select the full column upon selection\n autoSizeColumns: true, // Automatically size the columns to fit content\n autoSizeRows: true,\n backgroundColor: '#000000',\n black: '#000000',\n white: '#ffffff',\n cellHorizontalPadding: 5,\n headerHorizontalPadding: 5,\n font: '12px Arial, sans serif',\n gridColumnColor: '#8f8f8f66',\n gridRowColor: '#8f8f8f66',\n headerBackgroundColor: '#222222',\n headerSeparatorColor: '#000000',\n headerSeparatorHoverColor: '#888888',\n headerSeparatorHandleSize: 5,\n headerHiddenSeparatorSize: 5,\n headerHiddenSeparatorHoverColor: '#8888FF',\n headerColor: '#d5d5d5',\n headerFont: '10px Arial, sans serif',\n columnHoverBackgroundColor: '#444444',\n selectedColumnHoverBackgroundColor: '#494949',\n rowBackgroundColors: '#333333 #222222',\n rowHoverBackgroundColor: '#444444',\n selectedRowHoverBackgroundColor: '#494949',\n minScrollHandleSize: 50,\n scrollBarBackgroundColor: '#111111',\n scrollBarHoverBackgroundColor: '#333333',\n scrollBarCasingColor: '#000000',\n scrollBarCornerColor: '#000000',\n scrollBarColor: '#555555',\n scrollBarHoverColor: '#888888',\n scrollBarActiveColor: '#AAAAAA',\n scrollBarSize: 12,\n scrollBarHoverSize: 16,\n scrollBarCasingWidth: 1,\n scrollSnapToColumn: false,\n scrollSnapToRow: false,\n selectionColor: '#4286f433',\n selectionOutlineColor: '#4286f4',\n selectionOutlineCasingColor: '#222222',\n scrollBarSelectionTick: true,\n scrollBarSelectionTickColor: '#4286f433',\n scrollBarActiveSelectionTickColor: '#4286f480',\n shadowBlur: 8,\n shadowColor: '#000000',\n textColor: '#ffffff',\n hyperlinkColor: '#4878ea',\n maxDepth: 6,\n treeDepthIndent: 10,\n treeHorizontalPadding: 5,\n treeLineColor: '#888888',\n treeMarkerColor: '#cccccc',\n treeMarkerHoverColor: '#ffffff',\n\n rowHeight: 20,\n columnWidth: 100,\n minRowHeight: 20,\n minColumnWidth: 55,\n columnHeaderHeight: 20,\n rowHeaderWidth: 30,\n rowFooterWidth: 0,\n\n // When resizing the header, will snap to the auto size of the header within this threshold\n headerResizeSnapThreshold: 10,\n headerResizeHiddenSnapThreshold: 8,\n\n allowColumnReorder: true,\n allowRowReorder: true,\n reorderOffset: 2,\n\n // Colors for the grid in floating sections\n floatingGridColumnColor: '#8f8f8f66',\n floatingGridRowColor: '#8f8f8f66',\n\n // Background row colors for grid in the floating sections\n floatingRowBackgroundColors: '#393939 #292929',\n\n // Divider colors between the floating parts and the grid\n floatingDividerOuterColor: '#000000',\n floatingDividerInnerColor: '#cccccc',\n\n // Databar\n zeroLineColor: '#888888',\n positiveBarColor: '#00ff00',\n negativeBarColor: '#ff0000',\n\n dataBarHorizontalPadding: 90,\n});\n\nexport default defaultTheme;\n"],"mappings":"AAAA;;AAGA;;AAGA;;AAGA;;AAqIA;AACA;AACA;AACA,IAAMA,YAAuB,GAAGC,MAAM,CAACC,MAAM,CAAC;EAC5CC,iBAAiB,EAAE,IAAI;EACvBC,cAAc,EAAE,IAAI;EACpBC,aAAa,EAAE,KAAK;EAAE;EACtBC,gBAAgB,EAAE,KAAK;EAAE;EACzBC,eAAe,EAAE,IAAI;EAAE;EACvBC,YAAY,EAAE,IAAI;EAClBC,eAAe,EAAE,SAAS;EAC1BC,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE,SAAS;EAChBC,qBAAqB,EAAE,CAAC;EACxBC,uBAAuB,EAAE,CAAC;EAC1BC,IAAI,EAAE,wBAAwB;EAC9BC,eAAe,EAAE,WAAW;EAC5BC,YAAY,EAAE,WAAW;EACzBC,qBAAqB,EAAE,SAAS;EAChCC,oBAAoB,EAAE,SAAS;EAC/BC,yBAAyB,EAAE,SAAS;EACpCC,yBAAyB,EAAE,CAAC;EAC5BC,yBAAyB,EAAE,CAAC;EAC5BC,+BAA+B,EAAE,SAAS;EAC1CC,WAAW,EAAE,SAAS;EACtBC,UAAU,EAAE,wBAAwB;EACpCC,0BAA0B,EAAE,SAAS;EACrCC,kCAAkC,EAAE,SAAS;EAC7CC,mBAAmB,EAAE,iBAAiB;EACtCC,uBAAuB,EAAE,SAAS;EAClCC,+BAA+B,EAAE,SAAS;EAC1CC,mBAAmB,EAAE,EAAE;EACvBC,wBAAwB,EAAE,SAAS;EACnCC,6BAA6B,EAAE,SAAS;EACxCC,oBAAoB,EAAE,SAAS;EAC/BC,oBAAoB,EAAE,SAAS;EAC/BC,cAAc,EAAE,SAAS;EACzBC,mBAAmB,EAAE,SAAS;EAC9BC,oBAAoB,EAAE,SAAS;EAC/BC,aAAa,EAAE,EAAE;EACjBC,kBAAkB,EAAE,EAAE;EACtBC,oBAAoB,EAAE,CAAC;EACvBC,kBAAkB,EAAE,KAAK;EACzBC,eAAe,EAAE,KAAK;EACtBC,cAAc,EAAE,WAAW;EAC3BC,qBAAqB,EAAE,SAAS;EAChCC,2BAA2B,EAAE,SAAS;EACtCC,sBAAsB,EAAE,IAAI;EAC5BC,2BAA2B,EAAE,WAAW;EACxCC,iCAAiC,EAAE,WAAW;EAC9CC,UAAU,EAAE,CAAC;EACbC,WAAW,EAAE,SAAS;EACtBC,SAAS,EAAE,SAAS;EACpBC,cAAc,EAAE,SAAS;EACzBC,QAAQ,EAAE,CAAC;EACXC,eAAe,EAAE,EAAE;EACnBC,qBAAqB,EAAE,CAAC;EACxBC,aAAa,EAAE,SAAS;EACxBC,eAAe,EAAE,SAAS;EAC1BC,oBAAoB,EAAE,SAAS;EAE/BC,SAAS,EAAE,EAAE;EACbC,WAAW,EAAE,GAAG;EAChBC,YAAY,EAAE,EAAE;EAChBC,cAAc,EAAE,EAAE;EAClBC,kBAAkB,EAAE,EAAE;EACtBC,cAAc,EAAE,EAAE;EAClBC,cAAc,EAAE,CAAC;EAEjB;EACAC,yBAAyB,EAAE,EAAE;EAC7BC,+BAA+B,EAAE,CAAC;EAElCC,kBAAkB,EAAE,IAAI;EACxBC,eAAe,EAAE,IAAI;EACrBC,aAAa,EAAE,CAAC;EAEhB;EACAC,uBAAuB,EAAE,WAAW;EACpCC,oBAAoB,EAAE,WAAW;EAEjC;EACAC,2BAA2B,EAAE,iBAAiB;EAE9C;EACAC,yBAAyB,EAAE,SAAS;EACpCC,yBAAyB,EAAE,SAAS;EAEpC;EACAC,aAAa,EAAE,SAAS;EACxBC,gBAAgB,EAAE,SAAS;EAC3BC,gBAAgB,EAAE,SAAS;EAE3BC,wBAAwB,EAAE;AAC5B,CAAC,CAAC;AAEF,eAAe/E,YAAY"}
@@ -5,6 +5,7 @@ import type { GridMetrics } from './GridMetrics';
5
5
  import { GridTheme } from './GridTheme';
6
6
  import { GridWheelEvent } from './GridMouseHandler';
7
7
  import { AxisRange, BoundedAxisRange, Range } from './GridAxisRange';
8
+ import { GridRenderState } from './GridRendererTypes';
8
9
  export type GridPoint = {
9
10
  x: Coordinate;
10
11
  y: Coordinate;
@@ -421,6 +422,21 @@ export declare class GridUtils {
421
422
  * @returns The token box with translated coordinates
422
423
  */
423
424
  static translateTokenBox(tokenBox: TokenBox, metrics: GridMetrics): TokenBox;
425
+ /**
426
+ * Gets textWidth and X-Y position for a specific cell
427
+ * The textWidth returned is the width that the text can occupy accounting for any other cell markings
428
+ * The width accounts for tree table indents and cell padding, so it is the width the text may consume
429
+ *
430
+ * @param state GridRenderState to get the text metrics for
431
+ * @param column Column of cell to get text metrics for
432
+ * @param row Row of cell to get text metrics for
433
+ * @returns Object with width, x, and y of the text
434
+ */
435
+ static getTextRenderMetrics(state: GridRenderState, column: VisibleIndex, row: VisibleIndex): {
436
+ width: number;
437
+ x: number;
438
+ y: number;
439
+ };
424
440
  /**
425
441
  * Finds tokens in text (urls, emails) that start with https:// or http://
426
442
  * @param text The text to search in
@@ -1 +1 @@
1
- {"version":3,"file":"GridUtils.d.ts","sourceRoot":"","sources":["../src/GridUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GridUtils.d.ts","sourceRoot":"","sources":["../src/GridUtils.ts"],"names":[],"mappings":"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"}
package/dist/GridUtils.js CHANGED
@@ -5,9 +5,10 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
5
5
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
6
  import clamp from 'lodash.clamp';
7
7
  import { find as linkifyFind } from 'linkifyjs';
8
- import { EMPTY_ARRAY } from '@deephaven/utils';
8
+ import { EMPTY_ARRAY, getOrThrow } from '@deephaven/utils';
9
9
  import GridRange from "./GridRange.js";
10
10
  import { isBoundedAxisRange } from "./GridAxisRange.js";
11
+ import { isExpandableGridModel } from "./ExpandableGridModel.js";
11
12
  export function isLinkToken(token) {
12
13
  return (token === null || token === void 0 ? void 0 : token.href) !== undefined;
13
14
  }
@@ -1119,6 +1120,64 @@ export class GridUtils {
1119
1120
  };
1120
1121
  }
1121
1122
 
1123
+ /**
1124
+ * Gets textWidth and X-Y position for a specific cell
1125
+ * The textWidth returned is the width that the text can occupy accounting for any other cell markings
1126
+ * The width accounts for tree table indents and cell padding, so it is the width the text may consume
1127
+ *
1128
+ * @param state GridRenderState to get the text metrics for
1129
+ * @param column Column of cell to get text metrics for
1130
+ * @param row Row of cell to get text metrics for
1131
+ * @returns Object with width, x, and y of the text
1132
+ */
1133
+ static getTextRenderMetrics(state, column, row) {
1134
+ var {
1135
+ metrics,
1136
+ model,
1137
+ theme
1138
+ } = state;
1139
+ var {
1140
+ firstColumn,
1141
+ allColumnXs,
1142
+ allColumnWidths,
1143
+ allRowYs,
1144
+ allRowHeights,
1145
+ modelRows,
1146
+ modelColumns
1147
+ } = metrics;
1148
+ var {
1149
+ cellHorizontalPadding,
1150
+ treeDepthIndent,
1151
+ treeHorizontalPadding
1152
+ } = theme;
1153
+ var modelRow = getOrThrow(modelRows, row);
1154
+ var modelColumn = getOrThrow(modelColumns, column);
1155
+ var textAlign = model.textAlignForCell(modelColumn, modelRow);
1156
+ var x = getOrThrow(allColumnXs, column);
1157
+ var y = getOrThrow(allRowYs, row);
1158
+ var columnWidth = getOrThrow(allColumnWidths, column);
1159
+ var rowHeight = getOrThrow(allRowHeights, row);
1160
+ var isFirstColumn = column === firstColumn;
1161
+ var treeIndent = 0;
1162
+ if (isExpandableGridModel(model) && model.hasExpandableRows && isFirstColumn) {
1163
+ treeIndent = treeDepthIndent * (model.depthForRow(row) + 1) + treeHorizontalPadding;
1164
+ }
1165
+ var textWidth = columnWidth - treeIndent;
1166
+ var textX = x + cellHorizontalPadding;
1167
+ var textY = y + rowHeight * 0.5;
1168
+ if (textAlign === 'right') {
1169
+ textX = x + textWidth - cellHorizontalPadding;
1170
+ } else if (textAlign === 'center') {
1171
+ textX = x + textWidth * 0.5;
1172
+ }
1173
+ textX += treeIndent;
1174
+ return {
1175
+ width: textWidth - cellHorizontalPadding * 2,
1176
+ x: textX,
1177
+ y: textY
1178
+ };
1179
+ }
1180
+
1122
1181
  /**
1123
1182
  * Finds tokens in text (urls, emails) that start with https:// or http://
1124
1183
  * @param text The text to search in