@deephaven/iris-grid 0.32.1-beta.0 → 0.32.1-beta.11
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/GotoRow.d.ts +2 -3
- package/dist/GotoRow.d.ts.map +1 -1
- package/dist/GotoRow.js +11 -7
- package/dist/GotoRow.js.map +1 -1
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +7 -5
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridRenderer.d.ts.map +1 -1
- package/dist/IrisGridRenderer.js +6 -8
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridUtils.d.ts +9 -8
- package/dist/IrisGridUtils.d.ts.map +1 -1
- package/dist/IrisGridUtils.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +6 -0
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationUtils.d.ts +1 -0
- package/dist/sidebar/aggregations/AggregationUtils.d.ts.map +1 -1
- package/dist/sidebar/aggregations/AggregationUtils.js +2 -0
- package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.d.ts +0 -1
- package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.js +1 -3
- package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
- package/package.json +15 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridRenderer.d.ts","sourceRoot":"","sources":["../src/IrisGridRenderer.ts"],"names":[],"mappings":"AAGA,OAAO,EAML,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,WAAW,EACX,cAAc,EACd,YAAY,EACZ,eAAe,EACf,aAAa,EAEb,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAc,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EACd,WAAW,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAa5C,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG;IAClD,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,iBAAiB,CAAC;IACzB,iBAAiB,EAAE,cAAc,CAAC;IAClC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,yBAAyB,CAAC;IAC3C,YAAY,EAAE,sBAAsB,CAAC;IACrC,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AACF;;KAEK;AACL,cAAM,gBAAiB,SAAQ,YAAY;IACzC,MAAM,CAAC,aAAa,CAClB,cAAc,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,EACjD,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,GAC1C,OAAO;;IAeV,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9B,SAAS,IAAI,IAAI;IASjB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;IAcnD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI7B,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI;IAa7C,UAAU,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAM5C,QAAQ,CACN,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,mBAAmB,GACzB,IAAI;IAKP,aAAa,CACX,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,mBAAmB,GACzB,IAAI;IAQP,eAAe,CACb,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,YAAY,EACpB,GAAG,EAAE,YAAY,GAChB,IAAI;IAsBP,qBAAqB,CACnB,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,mBAAmB,GACzB,IAAI;IAmCP,kBAAkB,CAChB,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,mBAAmB,GACzB,IAAI;IA4BP,oBAAoB,CAClB,OAAO,EAAE,wBAAwB,EACjC,KAAK,EAAE,mBAAmB,GACzB,IAAI;
|
|
1
|
+
{"version":3,"file":"IrisGridRenderer.d.ts","sourceRoot":"","sources":["../src/IrisGridRenderer.ts"],"names":[],"mappings":"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"}
|
package/dist/IrisGridRenderer.js
CHANGED
|
@@ -194,10 +194,8 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
194
194
|
allColumnXs,
|
|
195
195
|
maxY
|
|
196
196
|
} = metrics;
|
|
197
|
-
var x = allColumnXs
|
|
198
|
-
var columnWidth = allColumnWidths
|
|
199
|
-
assertNotNull(x);
|
|
200
|
-
assertNotNull(columnWidth);
|
|
197
|
+
var x = getOrThrow(allColumnXs, hoverSelectColumn);
|
|
198
|
+
var columnWidth = getOrThrow(allColumnWidths, hoverSelectColumn);
|
|
201
199
|
context.fillStyle = theme.linkerColumnHoverBackgroundColor;
|
|
202
200
|
context.fillRect(x, 0, columnWidth, maxY);
|
|
203
201
|
}
|
|
@@ -813,7 +811,7 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
813
811
|
width: null,
|
|
814
812
|
height: null
|
|
815
813
|
};
|
|
816
|
-
if (mouseX == null || mouseY == null ||
|
|
814
|
+
if (mouseX == null || mouseY == null || metrics == null) {
|
|
817
815
|
return NULL_POSITION;
|
|
818
816
|
}
|
|
819
817
|
var {
|
|
@@ -822,9 +820,9 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
822
820
|
left,
|
|
823
821
|
top
|
|
824
822
|
} = GridUtils.getCellInfoFromXY(mouseX, mouseY, metrics);
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
823
|
+
if (left == null || columnWidth == null || top == null) {
|
|
824
|
+
return NULL_POSITION;
|
|
825
|
+
}
|
|
828
826
|
var {
|
|
829
827
|
width: gridWidth,
|
|
830
828
|
verticalBarWidth
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridRenderer.js","names":["dhSortDown","dhSortUp","vsTriangleDown","vsTriangleRight","vsLinkExternal","GridRenderer","GridUtils","TableUtils","assertNotNull","getOrThrow","ICON_NAMES","Object","freeze","SORT_UP","SORT_DOWN","CARET_DOWN","CARET_RIGHT","CELL_OVERFLOW","EXPAND_ICON_SIZE","ICON_SIZE","IrisGridRenderer","isFilterValid","advancedFilter","quickFilter","isAdvancedFilterValid","filter","isQuickFilterValid","constructor","icons","initIcons","setIcon","name","faIcon","path","Array","isArray","icon","Path2D","scaledIcon","scaleMatrix","a","d","addPath","getIcon","getSortIcon","sort","direction","sortDirection","ascending","descending","drawCanvas","state","drawScrim","drawGrid","context","drawCellOverflowButton","drawGridLines","drawGroupedColumnLine","drawPendingRowLine","drawCellContent","column","row","metrics","model","modelColumns","modelRows","modelRow","modelColumn","get","undefined","value","valueForCell","isTextType","columns","type","originalFont","font","displayValue","theme","groupedColumns","maxY","allColumnWidths","allColumnXs","length","groupedColumnDividerColor","lastVisibleGroupColumnIndex","columnX","columnWidth","x","strokeStyle","lineWidth","beginPath","moveTo","lineTo","stroke","allRowYs","maxX","pendingRowCount","firstPendingRow","rowCount","floatingBottomRowCount","y","save","setLineDash","pendingTextColor","restore","drawMouseColumnHover","hoverSelectColumn","linkerColumnHoverBackgroundColor","fillStyle","fillRect","drawMouseRowHover","isSelectingColumn","loadingScrimProgress","width","height","gridY","scrimBlurSize","scrimColor","globalCompositeOperation","rect","clip","drawColumnHeaders","reverseType","columnHeaderHeight","drawFilterHeaders","hasReverse","REVERSE_TYPE","NONE","color","headerReverseBarColor","headerSortBarColor","drawHeaderBar","reverseHeaderBarHeight","sortHeaderBarHeight","barHeight","interior","offset","headerBarCasingColor","columnHeaderMaxDepth","drawColumnHeadersAtDepth","range","boundsProp","depth","isMenuShown","bounds","drawColumnHeaderAtIndex","index","gridX","fontWidths","headerHorizontalPadding","columnName","getSortForColumn","text","textForColumnHeader","fontWidth","DEFAULT_FONT_WIDTH","textWidth","textRight","defaultX","Math","min","yOffset","translate","fill","isFilterBarShown","quickFilters","advancedFilters","drawExpandedFilterHeaders","size","drawCollapsedFilterHeaders","filterBarHeight","visibleColumns","textAlign","filterBarExpandedActiveBackgroundColor","filterBarExpandedBackgroundColor","y1","filterBarSeparatorColor","i","isFilterable","x1","drawExpandedFilterHeader","filterBarExpandedActiveCellBackgroundColor","filterBarErrorColor","filterBarHorizontalPadding","headerColor","filterText","getFilterText","measureText","maxLength","substring","rectLeft","rectTop","rectWidth","rectHeight","strokeRect","textX","textY","fillText","headerSeparatorColor","filterBarCollapsedHeight","drawCollapsedFilterHeader","filterBarActiveColor","filterBarActiveBackgroundColor","drawTreeMarker","rowY","treeBox","isExpanded","markerIcon","iconX","iconY","drawRowFooters","mouseX","mouseY","floatingTopHeight","floatingBottomHeight","floatingRows","rowFooterWidth","horizontalBarHeight","verticalBarWidth","allRowHeights","cellHorizontalPadding","floatingGridRowColor","floatingRowBackgroundColors","rowHoverBackgroundColor","mouseRow","getRowAtY","includes","rowHeight","textForRowFooter","getTextRenderMetrics","textMetrics","mouseColumn","getGridPointFromXY","left","getCellOverflowButtonPosition","shouldRenderOverflowButton","getCellInfoFromXY","isStringType","textForCell","truncatedText","getCachedTruncatedString","truncationCharForCell","NULL_POSITION","top","gridWidth","right","buttonLeft","buttonTop","buttonWidth","buttonHeight","overflowButtonColor","overflowButtonHoverColor","getExpandButtonPosition","max"],"sources":["../src/IrisGridRenderer.ts"],"sourcesContent":["/* eslint react/destructuring-assignment: \"off\" */\n/* eslint class-methods-use-this: \"off\" */\n/* eslint no-param-reassign: \"off\" */\nimport {\n dhSortDown,\n dhSortUp,\n vsTriangleDown,\n vsTriangleRight,\n vsLinkExternal,\n IconDefinition,\n} from '@deephaven/icons';\nimport {\n BoundedAxisRange,\n BoxCoordinates,\n Coordinate,\n GridMetrics,\n GridRangeIndex,\n GridRenderer,\n GridRenderState,\n GridThemeType,\n GridUtils,\n VisibleIndex,\n} from '@deephaven/grid';\nimport { Sort } from '@deephaven/jsapi-shim';\nimport { TableUtils, ReverseType } from '@deephaven/jsapi-utils';\nimport { assertNotNull, getOrThrow } from '@deephaven/utils';\nimport {\n ReadonlyAdvancedFilterMap,\n ReadonlyQuickFilterMap,\n AdvancedFilter,\n QuickFilter,\n} from './CommonTypes';\nimport { IrisGridThemeType } from './IrisGridTheme';\nimport IrisGridModel from './IrisGridModel';\n\nconst ICON_NAMES = Object.freeze({\n SORT_UP: 'sortUp',\n SORT_DOWN: 'sortDown',\n CARET_DOWN: 'caretDown',\n CARET_RIGHT: 'caretRight',\n CELL_OVERFLOW: 'cellOverflow',\n});\n\nconst EXPAND_ICON_SIZE = 10;\nconst ICON_SIZE = 16;\n\nexport type IrisGridRenderState = GridRenderState & {\n model: IrisGridModel;\n theme: IrisGridThemeType;\n hoverSelectColumn: GridRangeIndex;\n isSelectingColumn: boolean;\n loadingScrimProgress: number;\n reverseType: ReverseType;\n isFilterBarShown: boolean;\n advancedFilters: ReadonlyAdvancedFilterMap;\n quickFilters: ReadonlyQuickFilterMap;\n isMenuShown: boolean;\n};\n/**\n * Handles rendering some of the Iris specific features, such as sorting icons, sort bar display\n * */\nclass IrisGridRenderer extends GridRenderer {\n static isFilterValid(\n advancedFilter: AdvancedFilter | undefined | null,\n quickFilter: QuickFilter | undefined | null\n ): boolean {\n const isAdvancedFilterValid =\n advancedFilter == null || advancedFilter.filter != null;\n const isQuickFilterValid =\n quickFilter == null || quickFilter.filter != null;\n return isAdvancedFilterValid && isQuickFilterValid;\n }\n\n constructor() {\n super();\n this.icons = {};\n\n this.initIcons();\n }\n\n icons: Record<string, Path2D>;\n\n initIcons(): void {\n this.setIcon(ICON_NAMES.SORT_UP, dhSortUp);\n this.setIcon(ICON_NAMES.SORT_DOWN, dhSortDown);\n this.setIcon(ICON_NAMES.CARET_DOWN, vsTriangleDown);\n this.setIcon(ICON_NAMES.CARET_RIGHT, vsTriangleRight);\n this.setIcon(ICON_NAMES.CELL_OVERFLOW, vsLinkExternal);\n }\n\n // Scales the icon to be square and match the global ICON_SIZE\n setIcon(name: string, faIcon: IconDefinition): void {\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 this.icons[name] = scaledIcon;\n }\n\n getIcon(name: string): Path2D {\n return this.icons[name];\n }\n\n getSortIcon(sort: Sort | null): Path2D | null {\n if (!sort) {\n return null;\n }\n if (sort.direction === TableUtils.sortDirection.ascending) {\n return this.getIcon(ICON_NAMES.SORT_UP);\n }\n if (sort.direction === TableUtils.sortDirection.descending) {\n return this.getIcon(ICON_NAMES.SORT_DOWN);\n }\n return null;\n }\n\n drawCanvas(state: IrisGridRenderState): void {\n super.drawCanvas(state);\n\n this.drawScrim(state);\n }\n\n drawGrid(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n super.drawGrid(context, state);\n this.drawCellOverflowButton(state);\n }\n\n drawGridLines(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n super.drawGridLines(context, state);\n\n this.drawGroupedColumnLine(context, state);\n\n this.drawPendingRowLine(context, state);\n }\n\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 const displayValue = value === null ? 'null' : 'empty';\n super.drawCellContent(context, state, column, row, displayValue);\n context.font = originalFont;\n return;\n }\n }\n super.drawCellContent(context, state, column, row);\n }\n\n drawGroupedColumnLine(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { metrics, model, theme } = state;\n const { groupedColumns } = model;\n const { maxY, allColumnWidths, allColumnXs } = metrics;\n if (\n groupedColumns.length === 0 ||\n theme.groupedColumnDividerColor == null\n ) {\n return;\n }\n\n // This assumes that the engine puts the grouped columns at the start of the\n // model, so model and visible index match for grouped columns. If we ever\n // add freeze support for tree tables or allow moving the grouped columns,\n // this assumption may no longer hold true. If such a change occurs, we'll\n // need to revisit this since a single vertical divider may no longer make\n // sense.\n const lastVisibleGroupColumnIndex = groupedColumns.length - 1;\n\n const columnX = allColumnXs.get(lastVisibleGroupColumnIndex);\n const columnWidth = allColumnWidths.get(lastVisibleGroupColumnIndex);\n if (columnX == null || columnWidth == null) {\n return;\n }\n\n const x = columnX + columnWidth + 0.5;\n\n context.strokeStyle = theme.groupedColumnDividerColor;\n context.lineWidth = 1;\n context.beginPath();\n context.moveTo(x, 0);\n context.lineTo(x, maxY);\n context.stroke();\n }\n\n drawPendingRowLine(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { metrics, model, theme } = state;\n const { allRowYs, maxX } = metrics;\n const { pendingRowCount } = model;\n if (pendingRowCount <= 0) {\n return;\n }\n\n const firstPendingRow =\n model.rowCount - model.pendingRowCount - model.floatingBottomRowCount;\n let y = allRowYs.get(firstPendingRow);\n if (y == null) {\n return;\n }\n\n y -= 0.5;\n context.save();\n context.setLineDash([4, 2]);\n context.strokeStyle = theme.pendingTextColor;\n\n context.lineWidth = 1;\n context.beginPath();\n context.moveTo(0, y);\n context.lineTo(maxX, y);\n context.stroke();\n context.restore();\n }\n\n drawMouseColumnHover(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { theme, metrics, hoverSelectColumn } = state;\n if (\n hoverSelectColumn == null ||\n theme.linkerColumnHoverBackgroundColor == null\n ) {\n return;\n }\n\n const { allColumnWidths, allColumnXs, maxY } = metrics;\n\n const x = allColumnXs.get(hoverSelectColumn);\n const columnWidth = allColumnWidths.get(hoverSelectColumn);\n assertNotNull(x);\n assertNotNull(columnWidth);\n\n context.fillStyle = theme.linkerColumnHoverBackgroundColor;\n context.fillRect(x, 0, columnWidth, maxY);\n }\n\n drawMouseRowHover(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { isSelectingColumn } = state;\n if (!isSelectingColumn) {\n super.drawMouseRowHover(context, state);\n }\n }\n\n drawScrim(state: IrisGridRenderState): void {\n const { context, loadingScrimProgress, metrics, theme } = state;\n if (loadingScrimProgress == null) {\n return;\n }\n\n const { width, height, gridY } = metrics;\n const { scrimBlurSize, scrimColor } = theme;\n\n context.save();\n\n // Use global composite so we can change the underlying layer to grayscale\n context.globalCompositeOperation = 'color';\n context.filter = `blur(${scrimBlurSize}px)`;\n if (scrimColor != null) {\n context.fillStyle = scrimColor;\n }\n\n // Clip the path so the top edge is hard edge, bottom edge is soft/blurry\n context.beginPath();\n context.rect(0, gridY, width, height - gridY);\n context.clip();\n\n // Extend the edges beyond the clip area so they're hard edges\n context.fillRect(\n -scrimBlurSize,\n -scrimBlurSize + gridY,\n scrimBlurSize * 2 + width,\n (scrimBlurSize * 2 + (height - gridY)) * loadingScrimProgress\n );\n\n // add an overlay of the scrim color to darken things a bit\n context.globalCompositeOperation = 'overlay';\n context.filter = `blur(${scrimBlurSize}px) opacity(15%)`;\n context.fillRect(\n -scrimBlurSize,\n -scrimBlurSize + gridY,\n scrimBlurSize * 2 + width,\n (scrimBlurSize * 2 + (height - gridY)) * loadingScrimProgress\n );\n\n context.restore();\n }\n\n drawColumnHeaders(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n super.drawColumnHeaders(context, state);\n\n const { theme, metrics, model, reverseType } = state;\n const { columnHeaderHeight } = metrics;\n\n this.drawFilterHeaders(context, state);\n\n if (columnHeaderHeight <= 0) {\n return;\n }\n\n const { sort } = model;\n // if there is only one sort bar, it is interior to the header to save space\n if (sort.length === 1) {\n const hasReverse = reverseType !== TableUtils.REVERSE_TYPE.NONE;\n\n let color;\n if (hasReverse) {\n color = theme.headerReverseBarColor;\n } else {\n color = theme.headerSortBarColor;\n }\n this.drawHeaderBar(\n context,\n state,\n color,\n hasReverse ? theme.reverseHeaderBarHeight : theme.sortHeaderBarHeight\n );\n } else if (sort.length > 1) {\n // if there's multiple bars, the sort is interior to header\n // and the reverse claims space in the table\n if (\n // has table reverse\n reverseType !== TableUtils.REVERSE_TYPE.NONE\n ) {\n this.drawHeaderBar(\n context,\n state,\n theme.headerReverseBarColor,\n theme.reverseHeaderBarHeight,\n false\n );\n }\n this.drawHeaderBar(\n context,\n state,\n theme.headerSortBarColor,\n theme.sortHeaderBarHeight\n );\n }\n }\n\n drawHeaderBar(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n color: string | CanvasGradient | CanvasPattern,\n barHeight: number,\n interior = true\n ): void {\n const { theme, metrics, model } = state;\n const { columnHeaderHeight, width } = metrics;\n // Draw casing with 1 pixel above and below the bar,\n // 1px falls on the existing split between grid/headers\n // so don't need to be accounnted for in math elsewhere\n let offset = 0;\n if (!interior) {\n offset = barHeight;\n }\n context.fillStyle = theme.headerBarCasingColor;\n context.fillRect(\n 0,\n model.columnHeaderMaxDepth * columnHeaderHeight - barHeight - 2 + offset,\n width,\n barHeight + 2\n );\n\n context.fillStyle = color;\n context.fillRect(\n 0,\n model.columnHeaderMaxDepth * columnHeaderHeight - barHeight - 1 + offset,\n width,\n barHeight\n );\n }\n\n drawColumnHeadersAtDepth(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n range: BoundedAxisRange,\n boundsProp: { minX: number; maxX: number },\n depth: number\n ): void {\n const { metrics, model, isMenuShown } = state;\n const { columnHeaderMaxDepth } = model;\n const { width } = metrics;\n const bounds = {\n ...boundsProp,\n maxX:\n depth === columnHeaderMaxDepth - 1 && boundsProp.maxX === width\n ? width - (isMenuShown ? 0 : 30) // Account for the menu button\n : boundsProp.maxX,\n };\n super.drawColumnHeadersAtDepth(context, state, range, bounds, depth);\n }\n\n drawColumnHeaderAtIndex(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n index: VisibleIndex,\n bounds: { minX: number; maxX: number }\n ): void {\n super.drawColumnHeaderAtIndex(context, state, index, bounds);\n const { metrics, model, theme } = state;\n const {\n modelColumns,\n allColumnWidths,\n allColumnXs,\n gridX,\n columnHeaderHeight,\n fontWidths,\n } = metrics;\n\n const { headerHorizontalPadding } = theme;\n const columnWidth = getOrThrow(allColumnWidths, index, 0);\n const columnX = getOrThrow(allColumnXs, index) + gridX;\n const modelColumn = modelColumns.get(index);\n\n if (modelColumn == null) {\n return;\n }\n\n const columnName = model.columns[modelColumn]?.name;\n\n if (columnName == null) {\n return;\n }\n\n const sort = TableUtils.getSortForColumn(model.sort, columnName);\n\n if (!sort) {\n return;\n }\n\n const icon = this.getSortIcon(sort);\n if (!icon) {\n return;\n }\n\n const text = model.textForColumnHeader(modelColumn);\n if (text === undefined) {\n return;\n }\n\n const fontWidth =\n fontWidths.get(context.font) ?? GridRenderer.DEFAULT_FONT_WIDTH;\n assertNotNull(fontWidth);\n const textWidth = text.length * fontWidth;\n const textRight = gridX + columnX + textWidth + headerHorizontalPadding;\n let { maxX } = bounds;\n maxX -= headerHorizontalPadding;\n const defaultX =\n gridX + columnX + columnWidth - headerHorizontalPadding - 1;\n\n const x = textRight > maxX ? textRight + 1 : Math.min(maxX, defaultX);\n const yOffset =\n sort.direction === TableUtils.sortDirection.ascending ? -6 : -12;\n const y = columnHeaderHeight * 0.5 + yOffset;\n\n context.save();\n\n context.beginPath();\n context.rect(columnX, 0, columnWidth, columnHeaderHeight);\n context.clip();\n\n context.fillStyle = theme.headerSortBarColor;\n context.translate(x, y);\n context.fill(icon);\n\n context.restore();\n }\n\n drawFilterHeaders(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { isFilterBarShown, quickFilters, advancedFilters } = state;\n\n if (isFilterBarShown) {\n this.drawExpandedFilterHeaders(context, state);\n } else if (\n (quickFilters != null && quickFilters.size > 0) ||\n (advancedFilters != null && advancedFilters.size > 0)\n ) {\n this.drawCollapsedFilterHeaders(context, state);\n }\n }\n\n drawExpandedFilterHeaders(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { metrics, model, theme, quickFilters, advancedFilters } = state;\n const { filterBarHeight } = theme;\n\n if (filterBarHeight <= 0) {\n return;\n }\n\n const {\n gridX,\n gridY,\n maxX,\n modelColumns,\n visibleColumns,\n allColumnWidths,\n allColumnXs,\n } = metrics;\n\n const columnHeaderHeight = gridY - filterBarHeight;\n\n context.save();\n\n context.font = theme.font;\n context.textAlign = 'left';\n\n if (\n (quickFilters != null && quickFilters.size > 0) ||\n (advancedFilters != null && advancedFilters.size > 0)\n ) {\n // fill style if a fiter is set on any column\n context.fillStyle = theme.filterBarExpandedActiveBackgroundColor;\n } else {\n // fill style with no filters set\n context.fillStyle = theme.filterBarExpandedBackgroundColor;\n }\n\n // Draw the background\n context.fillRect(gridX, columnHeaderHeight, maxX, filterBarHeight - 1);\n\n // Draw the bottom border\n context.fillStyle = theme.headerBarCasingColor;\n\n context.fillRect(gridX, columnHeaderHeight + filterBarHeight - 1, maxX, 1);\n\n // Draw the filter input boxes\n const y1 = columnHeaderHeight;\n context.strokeStyle = theme.filterBarSeparatorColor;\n context.beginPath();\n\n for (let i = 0; i < visibleColumns.length; i += 1) {\n const column = visibleColumns[i];\n const modelColumn = getOrThrow(modelColumns, column);\n const columnX = getOrThrow(allColumnXs, column);\n const columnWidth = getOrThrow(allColumnWidths, column);\n if (model.isFilterable(modelColumn) && columnWidth > 0) {\n const x1 = gridX + (columnX ?? 0);\n context.rect(x1 + 0.5, y1 + 0.5, columnWidth, filterBarHeight - 2); // 1 for the border, 1 for the casing\n }\n }\n context.stroke();\n\n for (let i = 0; i < visibleColumns.length; i += 1) {\n const column = visibleColumns[i];\n const columnWidth = getOrThrow(allColumnWidths, column);\n const columnX = getOrThrow(allColumnXs, column);\n const x = columnX + gridX;\n this.drawExpandedFilterHeader(context, state, column, x, columnWidth);\n }\n\n context.restore();\n }\n\n drawExpandedFilterHeader(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n column: VisibleIndex,\n columnX: Coordinate,\n columnWidth: number\n ): void {\n if (columnWidth <= 0) {\n return;\n }\n\n const { metrics, theme, quickFilters, advancedFilters } = state;\n const { modelColumns, gridY } = metrics;\n const {\n filterBarHeight,\n filterBarExpandedActiveCellBackgroundColor,\n filterBarErrorColor,\n filterBarHorizontalPadding,\n headerColor,\n } = theme;\n const columnHeaderHeight = gridY - filterBarHeight;\n const modelColumn = modelColumns.get(column);\n if (modelColumn === undefined) return;\n const quickFilter = quickFilters.get(modelColumn);\n const advancedFilter = advancedFilters.get(modelColumn);\n if (quickFilter == null && advancedFilter == null) {\n return;\n }\n\n let text = null;\n if (quickFilter != null) {\n const { text: filterText } = quickFilter;\n text = filterText;\n if (!text) {\n text = TableUtils.getFilterText(quickFilter.filter);\n }\n\n if (text != null) {\n const { fontWidths } = metrics;\n let fontWidth = fontWidths.get(context.font);\n if (fontWidth == null || fontWidth === 0) {\n fontWidth = context.measureText('8').width;\n if (!fontWidth) {\n fontWidth = 10;\n }\n }\n\n const maxLength =\n (columnWidth - filterBarHorizontalPadding * 2) / fontWidth;\n if (maxLength <= 0) {\n text = '';\n } else if (text.length > maxLength) {\n text = `${text.substring(0, maxLength - 1)}…`;\n }\n }\n }\n\n context.save();\n\n const isFilterValid = IrisGridRenderer.isFilterValid(\n advancedFilter,\n quickFilter\n );\n if (isFilterValid && filterBarExpandedActiveCellBackgroundColor != null) {\n // draw active filter background inside cell\n context.fillStyle = filterBarExpandedActiveCellBackgroundColor;\n context.fillRect(\n columnX + 1, // +1 left border\n columnHeaderHeight + 1, // +1 top border\n columnWidth - 1, // -1 right border\n filterBarHeight - 3 // -3 top, bottom border and bottom casing\n );\n } else if (filterBarErrorColor != null) {\n // draw error box inside cell\n context.fillStyle = filterBarErrorColor;\n context.lineWidth = 2;\n context.strokeStyle = filterBarErrorColor;\n // Because this is drawn with a strokeRect, we have to add/subtract half the,\n // linewidth from each side to make interior, in addition to accounting for any borders/casings\n const rectLeft = columnX + 2; // 1 for strokeRect, 1 for border\n const rectTop = columnHeaderHeight + 2; // 1 for strokeRect, 1 for border\n const rectWidth = columnWidth - 3; // for 2 border and 1 for strokeRect\n const rectHeight = filterBarHeight - 5; // -2 for strokeRect, -3 for top, bottom border and bottom casing\n context.strokeRect(rectLeft, rectTop, rectWidth, rectHeight);\n }\n\n if (text != null && text !== '') {\n const textX = columnX + filterBarHorizontalPadding;\n const textY = columnHeaderHeight + filterBarHeight * 0.5 + 1; // + 1 for border\n context.fillStyle = headerColor;\n context.fillText(text, textX, textY);\n }\n\n context.restore();\n }\n\n drawCollapsedFilterHeaders(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { metrics, theme } = state;\n const { headerSeparatorColor, filterBarCollapsedHeight } = theme;\n\n if (filterBarCollapsedHeight <= 0) {\n return;\n }\n\n const {\n gridX,\n gridY,\n maxX,\n visibleColumns,\n allColumnWidths,\n allColumnXs,\n } = metrics;\n const columnHeaderHeight = gridY - filterBarCollapsedHeight;\n\n context.save();\n\n // Draw the background of the collapsed filter bar\n context.fillStyle = headerSeparatorColor;\n context.fillRect(gridX, columnHeaderHeight, maxX, filterBarCollapsedHeight);\n\n for (let i = 0; i < visibleColumns.length; i += 1) {\n const column = visibleColumns[i];\n const columnWidth = allColumnWidths.get(column);\n const columnX = allColumnXs.get(column);\n if (columnX != null && columnWidth != null) {\n const x = columnX + gridX;\n // draw the collapsed cells\n this.drawCollapsedFilterHeader(context, state, column, x, columnWidth);\n }\n }\n\n context.restore();\n }\n\n drawCollapsedFilterHeader(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n column: VisibleIndex,\n columnX: Coordinate,\n columnWidth: number\n ): void {\n if (columnWidth <= 0) {\n return;\n }\n\n const { metrics, theme, quickFilters, advancedFilters } = state;\n const { modelColumns, gridY } = metrics;\n const modelColumn = modelColumns.get(column);\n\n if (modelColumn === undefined) return;\n const quickFilter = quickFilters.get(modelColumn);\n const advancedFilter = advancedFilters.get(modelColumn);\n\n const {\n filterBarCollapsedHeight,\n filterBarActiveColor,\n filterBarActiveBackgroundColor,\n filterBarErrorColor,\n } = theme;\n\n context.save();\n\n const isFilterValid = IrisGridRenderer.isFilterValid(\n advancedFilter,\n quickFilter\n );\n\n if (\n filterBarActiveBackgroundColor != null &&\n quickFilter == null &&\n advancedFilter == null\n ) {\n context.fillStyle = filterBarActiveBackgroundColor;\n } else if (filterBarActiveColor != null && isFilterValid) {\n context.fillStyle = filterBarActiveColor;\n } else if (filterBarErrorColor != null) {\n context.fillStyle = filterBarErrorColor;\n }\n\n const x = columnX + 1; // for gap between columns\n const y = gridY - filterBarCollapsedHeight;\n const rectWidth = columnWidth - 1; // for gap between columns\n const rectHeight = filterBarCollapsedHeight - 1; // for casing bottom\n context.fillRect(x, y, rectWidth, rectHeight);\n\n context.restore();\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 context.save();\n const { x1, y1 } = treeBox;\n const markerIcon = isExpanded\n ? this.getIcon(ICON_NAMES.CARET_DOWN)\n : this.getIcon(ICON_NAMES.CARET_RIGHT);\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 drawRowFooters(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { metrics, model, mouseX, mouseY, theme } = state;\n const {\n gridY,\n gridX,\n maxX,\n modelRows,\n floatingTopHeight,\n floatingBottomHeight,\n floatingRows,\n rowFooterWidth,\n height,\n horizontalBarHeight,\n verticalBarWidth,\n allRowHeights,\n allRowYs,\n width,\n } = metrics;\n // Only draw the footers on the floating rows\n if (rowFooterWidth <= 0 || floatingRows.length === 0) {\n return;\n }\n\n const {\n cellHorizontalPadding,\n floatingGridRowColor,\n floatingRowBackgroundColors,\n headerColor,\n rowHoverBackgroundColor,\n } = theme;\n\n context.translate(gridX, gridY);\n\n context.beginPath();\n const x = Math.min(maxX, width - rowFooterWidth - verticalBarWidth - gridX);\n context.fillStyle = floatingRowBackgroundColors;\n if (floatingTopHeight > 0) {\n context.rect(x, 0, rowFooterWidth, floatingTopHeight);\n }\n if (floatingBottomHeight > 0) {\n context.rect(\n x,\n height - gridY - horizontalBarHeight - floatingBottomHeight,\n rowFooterWidth,\n floatingBottomHeight\n );\n }\n context.fill();\n\n const mouseRow =\n mouseX != null &&\n mouseY != null &&\n mouseX >= gridX &&\n mouseX <= maxX + rowFooterWidth\n ? GridUtils.getRowAtY(mouseY, metrics)\n : null;\n if (\n rowHoverBackgroundColor != null &&\n mouseRow !== null &&\n floatingRows.includes(mouseRow)\n ) {\n context.fillStyle = rowHoverBackgroundColor;\n const y = allRowYs.get(mouseRow);\n const rowHeight = allRowHeights.get(mouseRow);\n assertNotNull(y);\n assertNotNull(rowHeight);\n context.fillRect(x, y, rowFooterWidth, rowHeight);\n }\n\n context.beginPath();\n if (floatingGridRowColor != null) {\n context.strokeStyle = floatingGridRowColor;\n }\n if (floatingTopHeight > 0) {\n context.moveTo(x + 0.5, 0.5);\n context.lineTo(x + 0.5, floatingTopHeight - 0.5);\n }\n if (floatingBottomHeight > 0) {\n const y = height - gridY - horizontalBarHeight - floatingBottomHeight;\n context.moveTo(x - 0.5, y + 0.5);\n context.lineTo(x - 0.5, y + floatingBottomHeight - 0.5);\n }\n context.stroke();\n\n context.fillStyle = headerColor;\n context.textAlign = 'left';\n\n const textX = x + cellHorizontalPadding;\n for (let i = 0; i < floatingRows.length; i += 1) {\n const row = floatingRows[i];\n const rowHeight = allRowHeights.get(row);\n const rowY = allRowYs.get(row);\n const modelRow = modelRows.get(row);\n if (rowY != null && rowHeight != null && modelRow != null) {\n const textY = rowY + rowHeight * 0.5;\n context.fillText(model.textForRowFooter(modelRow), textX, textY);\n }\n }\n\n context.translate(-gridX, -gridY);\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 = super.getTextRenderMetrics(state, column, row);\n\n const { mouseX, mouseY, metrics } = 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(state);\n if (this.shouldRenderOverflowButton(state) && left != null) {\n textMetrics.width = left - metrics.gridX - textMetrics.x;\n }\n }\n return textMetrics;\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 } = super.getTextRenderMetrics(state, column, row);\n const fontWidth =\n metrics.fontWidths.get(theme.font) ?? IrisGridRenderer.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 getCellOverflowButtonPosition({\n mouseX,\n mouseY,\n metrics,\n theme,\n }: {\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) {\n return NULL_POSITION;\n }\n const { rowHeight, columnWidth, left, top } = GridUtils.getCellInfoFromXY(\n mouseX,\n mouseY,\n metrics\n );\n\n assertNotNull(left);\n assertNotNull(columnWidth);\n assertNotNull(top);\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 drawCellOverflowButton(state: IrisGridRenderState): void {\n const { context, mouseX, mouseY, theme } = state;\n if (mouseX == null || mouseY == null) return;\n\n if (!this.shouldRenderOverflowButton(state)) {\n return;\n }\n\n const {\n left: buttonLeft,\n top: buttonTop,\n width: buttonWidth,\n height: buttonHeight,\n } = this.getCellOverflowButtonPosition(state);\n\n const {\n cellHorizontalPadding,\n overflowButtonColor,\n overflowButtonHoverColor,\n } = theme;\n\n context.save();\n if (\n overflowButtonHoverColor != null &&\n buttonLeft != null &&\n buttonWidth != null &&\n buttonTop != null &&\n buttonHeight != null &&\n mouseX >= buttonLeft &&\n mouseX <= buttonLeft + buttonWidth &&\n mouseY >= buttonTop &&\n mouseY <= buttonTop + buttonHeight\n ) {\n context.fillStyle = overflowButtonHoverColor;\n } else if (overflowButtonColor != null) {\n context.fillStyle = overflowButtonColor;\n }\n const icon = this.getIcon(ICON_NAMES.CELL_OVERFLOW);\n if (buttonLeft != null && buttonTop != null) {\n context.translate(buttonLeft + cellHorizontalPadding, buttonTop + 2);\n }\n context.fill(icon);\n\n context.restore();\n }\n\n getExpandButtonPosition(\n {\n mouseX,\n mouseY,\n metrics,\n theme,\n }: {\n mouseX: Coordinate | null;\n mouseY: Coordinate | null;\n metrics: GridMetrics | undefined;\n theme: GridThemeType;\n },\n depth: number | null\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 || depth == null || !metrics) {\n return NULL_POSITION;\n }\n const { rowHeight, left, top } = GridUtils.getCellInfoFromXY(\n mouseX,\n mouseY,\n metrics\n );\n\n assertNotNull(left);\n assertNotNull(rowHeight);\n assertNotNull(top);\n const { cellHorizontalPadding } = theme;\n\n const width = EXPAND_ICON_SIZE + 2 * cellHorizontalPadding;\n\n const buttonLeft = Math.max(left + EXPAND_ICON_SIZE * depth, metrics.gridX);\n const buttonTop = metrics.gridY + top;\n\n return {\n left: buttonLeft,\n top: buttonTop,\n width,\n height: rowHeight,\n };\n }\n}\n\nexport default IrisGridRenderer;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IrisGridRenderer.js","names":["dhSortDown","dhSortUp","vsTriangleDown","vsTriangleRight","vsLinkExternal","GridRenderer","GridUtils","TableUtils","assertNotNull","getOrThrow","ICON_NAMES","Object","freeze","SORT_UP","SORT_DOWN","CARET_DOWN","CARET_RIGHT","CELL_OVERFLOW","EXPAND_ICON_SIZE","ICON_SIZE","IrisGridRenderer","isFilterValid","advancedFilter","quickFilter","isAdvancedFilterValid","filter","isQuickFilterValid","constructor","icons","initIcons","setIcon","name","faIcon","path","Array","isArray","icon","Path2D","scaledIcon","scaleMatrix","a","d","addPath","getIcon","getSortIcon","sort","direction","sortDirection","ascending","descending","drawCanvas","state","drawScrim","drawGrid","context","drawCellOverflowButton","drawGridLines","drawGroupedColumnLine","drawPendingRowLine","drawCellContent","column","row","metrics","model","modelColumns","modelRows","modelRow","modelColumn","get","undefined","value","valueForCell","isTextType","columns","type","originalFont","font","displayValue","theme","groupedColumns","maxY","allColumnWidths","allColumnXs","length","groupedColumnDividerColor","lastVisibleGroupColumnIndex","columnX","columnWidth","x","strokeStyle","lineWidth","beginPath","moveTo","lineTo","stroke","allRowYs","maxX","pendingRowCount","firstPendingRow","rowCount","floatingBottomRowCount","y","save","setLineDash","pendingTextColor","restore","drawMouseColumnHover","hoverSelectColumn","linkerColumnHoverBackgroundColor","fillStyle","fillRect","drawMouseRowHover","isSelectingColumn","loadingScrimProgress","width","height","gridY","scrimBlurSize","scrimColor","globalCompositeOperation","rect","clip","drawColumnHeaders","reverseType","columnHeaderHeight","drawFilterHeaders","hasReverse","REVERSE_TYPE","NONE","color","headerReverseBarColor","headerSortBarColor","drawHeaderBar","reverseHeaderBarHeight","sortHeaderBarHeight","barHeight","interior","offset","headerBarCasingColor","columnHeaderMaxDepth","drawColumnHeadersAtDepth","range","boundsProp","depth","isMenuShown","bounds","drawColumnHeaderAtIndex","index","gridX","fontWidths","headerHorizontalPadding","columnName","getSortForColumn","text","textForColumnHeader","fontWidth","DEFAULT_FONT_WIDTH","textWidth","textRight","defaultX","Math","min","yOffset","translate","fill","isFilterBarShown","quickFilters","advancedFilters","drawExpandedFilterHeaders","size","drawCollapsedFilterHeaders","filterBarHeight","visibleColumns","textAlign","filterBarExpandedActiveBackgroundColor","filterBarExpandedBackgroundColor","y1","filterBarSeparatorColor","i","isFilterable","x1","drawExpandedFilterHeader","filterBarExpandedActiveCellBackgroundColor","filterBarErrorColor","filterBarHorizontalPadding","headerColor","filterText","getFilterText","measureText","maxLength","substring","rectLeft","rectTop","rectWidth","rectHeight","strokeRect","textX","textY","fillText","headerSeparatorColor","filterBarCollapsedHeight","drawCollapsedFilterHeader","filterBarActiveColor","filterBarActiveBackgroundColor","drawTreeMarker","rowY","treeBox","isExpanded","markerIcon","iconX","iconY","drawRowFooters","mouseX","mouseY","floatingTopHeight","floatingBottomHeight","floatingRows","rowFooterWidth","horizontalBarHeight","verticalBarWidth","allRowHeights","cellHorizontalPadding","floatingGridRowColor","floatingRowBackgroundColors","rowHoverBackgroundColor","mouseRow","getRowAtY","includes","rowHeight","textForRowFooter","getTextRenderMetrics","textMetrics","mouseColumn","getGridPointFromXY","left","getCellOverflowButtonPosition","shouldRenderOverflowButton","getCellInfoFromXY","isStringType","textForCell","truncatedText","getCachedTruncatedString","truncationCharForCell","NULL_POSITION","top","gridWidth","right","buttonLeft","buttonTop","buttonWidth","buttonHeight","overflowButtonColor","overflowButtonHoverColor","getExpandButtonPosition","max"],"sources":["../src/IrisGridRenderer.ts"],"sourcesContent":["/* eslint react/destructuring-assignment: \"off\" */\n/* eslint class-methods-use-this: \"off\" */\n/* eslint no-param-reassign: \"off\" */\nimport {\n dhSortDown,\n dhSortUp,\n vsTriangleDown,\n vsTriangleRight,\n vsLinkExternal,\n IconDefinition,\n} from '@deephaven/icons';\nimport {\n BoundedAxisRange,\n BoxCoordinates,\n Coordinate,\n GridMetrics,\n GridRangeIndex,\n GridRenderer,\n GridRenderState,\n GridThemeType,\n GridUtils,\n VisibleIndex,\n} from '@deephaven/grid';\nimport { Sort } from '@deephaven/jsapi-shim';\nimport { TableUtils, ReverseType } from '@deephaven/jsapi-utils';\nimport { assertNotNull, getOrThrow } from '@deephaven/utils';\nimport {\n ReadonlyAdvancedFilterMap,\n ReadonlyQuickFilterMap,\n AdvancedFilter,\n QuickFilter,\n} from './CommonTypes';\nimport { IrisGridThemeType } from './IrisGridTheme';\nimport IrisGridModel from './IrisGridModel';\n\nconst ICON_NAMES = Object.freeze({\n SORT_UP: 'sortUp',\n SORT_DOWN: 'sortDown',\n CARET_DOWN: 'caretDown',\n CARET_RIGHT: 'caretRight',\n CELL_OVERFLOW: 'cellOverflow',\n});\n\nconst EXPAND_ICON_SIZE = 10;\nconst ICON_SIZE = 16;\n\nexport type IrisGridRenderState = GridRenderState & {\n model: IrisGridModel;\n theme: IrisGridThemeType;\n hoverSelectColumn: GridRangeIndex;\n isSelectingColumn: boolean;\n loadingScrimProgress: number;\n reverseType: ReverseType;\n isFilterBarShown: boolean;\n advancedFilters: ReadonlyAdvancedFilterMap;\n quickFilters: ReadonlyQuickFilterMap;\n isMenuShown: boolean;\n};\n/**\n * Handles rendering some of the Iris specific features, such as sorting icons, sort bar display\n * */\nclass IrisGridRenderer extends GridRenderer {\n static isFilterValid(\n advancedFilter: AdvancedFilter | undefined | null,\n quickFilter: QuickFilter | undefined | null\n ): boolean {\n const isAdvancedFilterValid =\n advancedFilter == null || advancedFilter.filter != null;\n const isQuickFilterValid =\n quickFilter == null || quickFilter.filter != null;\n return isAdvancedFilterValid && isQuickFilterValid;\n }\n\n constructor() {\n super();\n this.icons = {};\n\n this.initIcons();\n }\n\n icons: Record<string, Path2D>;\n\n initIcons(): void {\n this.setIcon(ICON_NAMES.SORT_UP, dhSortUp);\n this.setIcon(ICON_NAMES.SORT_DOWN, dhSortDown);\n this.setIcon(ICON_NAMES.CARET_DOWN, vsTriangleDown);\n this.setIcon(ICON_NAMES.CARET_RIGHT, vsTriangleRight);\n this.setIcon(ICON_NAMES.CELL_OVERFLOW, vsLinkExternal);\n }\n\n // Scales the icon to be square and match the global ICON_SIZE\n setIcon(name: string, faIcon: IconDefinition): void {\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 this.icons[name] = scaledIcon;\n }\n\n getIcon(name: string): Path2D {\n return this.icons[name];\n }\n\n getSortIcon(sort: Sort | null): Path2D | null {\n if (!sort) {\n return null;\n }\n if (sort.direction === TableUtils.sortDirection.ascending) {\n return this.getIcon(ICON_NAMES.SORT_UP);\n }\n if (sort.direction === TableUtils.sortDirection.descending) {\n return this.getIcon(ICON_NAMES.SORT_DOWN);\n }\n return null;\n }\n\n drawCanvas(state: IrisGridRenderState): void {\n super.drawCanvas(state);\n\n this.drawScrim(state);\n }\n\n drawGrid(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n super.drawGrid(context, state);\n this.drawCellOverflowButton(state);\n }\n\n drawGridLines(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n super.drawGridLines(context, state);\n\n this.drawGroupedColumnLine(context, state);\n\n this.drawPendingRowLine(context, state);\n }\n\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 const displayValue = value === null ? 'null' : 'empty';\n super.drawCellContent(context, state, column, row, displayValue);\n context.font = originalFont;\n return;\n }\n }\n super.drawCellContent(context, state, column, row);\n }\n\n drawGroupedColumnLine(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { metrics, model, theme } = state;\n const { groupedColumns } = model;\n const { maxY, allColumnWidths, allColumnXs } = metrics;\n if (\n groupedColumns.length === 0 ||\n theme.groupedColumnDividerColor == null\n ) {\n return;\n }\n\n // This assumes that the engine puts the grouped columns at the start of the\n // model, so model and visible index match for grouped columns. If we ever\n // add freeze support for tree tables or allow moving the grouped columns,\n // this assumption may no longer hold true. If such a change occurs, we'll\n // need to revisit this since a single vertical divider may no longer make\n // sense.\n const lastVisibleGroupColumnIndex = groupedColumns.length - 1;\n\n const columnX = allColumnXs.get(lastVisibleGroupColumnIndex);\n const columnWidth = allColumnWidths.get(lastVisibleGroupColumnIndex);\n if (columnX == null || columnWidth == null) {\n return;\n }\n\n const x = columnX + columnWidth + 0.5;\n\n context.strokeStyle = theme.groupedColumnDividerColor;\n context.lineWidth = 1;\n context.beginPath();\n context.moveTo(x, 0);\n context.lineTo(x, maxY);\n context.stroke();\n }\n\n drawPendingRowLine(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { metrics, model, theme } = state;\n const { allRowYs, maxX } = metrics;\n const { pendingRowCount } = model;\n if (pendingRowCount <= 0) {\n return;\n }\n\n const firstPendingRow =\n model.rowCount - model.pendingRowCount - model.floatingBottomRowCount;\n let y = allRowYs.get(firstPendingRow);\n if (y == null) {\n return;\n }\n\n y -= 0.5;\n context.save();\n context.setLineDash([4, 2]);\n context.strokeStyle = theme.pendingTextColor;\n\n context.lineWidth = 1;\n context.beginPath();\n context.moveTo(0, y);\n context.lineTo(maxX, y);\n context.stroke();\n context.restore();\n }\n\n drawMouseColumnHover(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { theme, metrics, hoverSelectColumn } = state;\n if (\n hoverSelectColumn == null ||\n theme.linkerColumnHoverBackgroundColor == null\n ) {\n return;\n }\n\n const { allColumnWidths, allColumnXs, maxY } = metrics;\n\n const x = getOrThrow(allColumnXs, hoverSelectColumn);\n const columnWidth = getOrThrow(allColumnWidths, hoverSelectColumn);\n\n context.fillStyle = theme.linkerColumnHoverBackgroundColor;\n context.fillRect(x, 0, columnWidth, maxY);\n }\n\n drawMouseRowHover(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { isSelectingColumn } = state;\n if (!isSelectingColumn) {\n super.drawMouseRowHover(context, state);\n }\n }\n\n drawScrim(state: IrisGridRenderState): void {\n const { context, loadingScrimProgress, metrics, theme } = state;\n if (loadingScrimProgress == null) {\n return;\n }\n\n const { width, height, gridY } = metrics;\n const { scrimBlurSize, scrimColor } = theme;\n\n context.save();\n\n // Use global composite so we can change the underlying layer to grayscale\n context.globalCompositeOperation = 'color';\n context.filter = `blur(${scrimBlurSize}px)`;\n if (scrimColor != null) {\n context.fillStyle = scrimColor;\n }\n\n // Clip the path so the top edge is hard edge, bottom edge is soft/blurry\n context.beginPath();\n context.rect(0, gridY, width, height - gridY);\n context.clip();\n\n // Extend the edges beyond the clip area so they're hard edges\n context.fillRect(\n -scrimBlurSize,\n -scrimBlurSize + gridY,\n scrimBlurSize * 2 + width,\n (scrimBlurSize * 2 + (height - gridY)) * loadingScrimProgress\n );\n\n // add an overlay of the scrim color to darken things a bit\n context.globalCompositeOperation = 'overlay';\n context.filter = `blur(${scrimBlurSize}px) opacity(15%)`;\n context.fillRect(\n -scrimBlurSize,\n -scrimBlurSize + gridY,\n scrimBlurSize * 2 + width,\n (scrimBlurSize * 2 + (height - gridY)) * loadingScrimProgress\n );\n\n context.restore();\n }\n\n drawColumnHeaders(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n super.drawColumnHeaders(context, state);\n\n const { theme, metrics, model, reverseType } = state;\n const { columnHeaderHeight } = metrics;\n\n this.drawFilterHeaders(context, state);\n\n if (columnHeaderHeight <= 0) {\n return;\n }\n\n const { sort } = model;\n // if there is only one sort bar, it is interior to the header to save space\n if (sort.length === 1) {\n const hasReverse = reverseType !== TableUtils.REVERSE_TYPE.NONE;\n\n let color;\n if (hasReverse) {\n color = theme.headerReverseBarColor;\n } else {\n color = theme.headerSortBarColor;\n }\n this.drawHeaderBar(\n context,\n state,\n color,\n hasReverse ? theme.reverseHeaderBarHeight : theme.sortHeaderBarHeight\n );\n } else if (sort.length > 1) {\n // if there's multiple bars, the sort is interior to header\n // and the reverse claims space in the table\n if (\n // has table reverse\n reverseType !== TableUtils.REVERSE_TYPE.NONE\n ) {\n this.drawHeaderBar(\n context,\n state,\n theme.headerReverseBarColor,\n theme.reverseHeaderBarHeight,\n false\n );\n }\n this.drawHeaderBar(\n context,\n state,\n theme.headerSortBarColor,\n theme.sortHeaderBarHeight\n );\n }\n }\n\n drawHeaderBar(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n color: string | CanvasGradient | CanvasPattern,\n barHeight: number,\n interior = true\n ): void {\n const { theme, metrics, model } = state;\n const { columnHeaderHeight, width } = metrics;\n // Draw casing with 1 pixel above and below the bar,\n // 1px falls on the existing split between grid/headers\n // so don't need to be accounnted for in math elsewhere\n let offset = 0;\n if (!interior) {\n offset = barHeight;\n }\n context.fillStyle = theme.headerBarCasingColor;\n context.fillRect(\n 0,\n model.columnHeaderMaxDepth * columnHeaderHeight - barHeight - 2 + offset,\n width,\n barHeight + 2\n );\n\n context.fillStyle = color;\n context.fillRect(\n 0,\n model.columnHeaderMaxDepth * columnHeaderHeight - barHeight - 1 + offset,\n width,\n barHeight\n );\n }\n\n drawColumnHeadersAtDepth(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n range: BoundedAxisRange,\n boundsProp: { minX: number; maxX: number },\n depth: number\n ): void {\n const { metrics, model, isMenuShown } = state;\n const { columnHeaderMaxDepth } = model;\n const { width } = metrics;\n const bounds = {\n ...boundsProp,\n maxX:\n depth === columnHeaderMaxDepth - 1 && boundsProp.maxX === width\n ? width - (isMenuShown ? 0 : 30) // Account for the menu button\n : boundsProp.maxX,\n };\n super.drawColumnHeadersAtDepth(context, state, range, bounds, depth);\n }\n\n drawColumnHeaderAtIndex(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n index: VisibleIndex,\n bounds: { minX: number; maxX: number }\n ): void {\n super.drawColumnHeaderAtIndex(context, state, index, bounds);\n const { metrics, model, theme } = state;\n const {\n modelColumns,\n allColumnWidths,\n allColumnXs,\n gridX,\n columnHeaderHeight,\n fontWidths,\n } = metrics;\n\n const { headerHorizontalPadding } = theme;\n const columnWidth = getOrThrow(allColumnWidths, index, 0);\n const columnX = getOrThrow(allColumnXs, index) + gridX;\n const modelColumn = modelColumns.get(index);\n\n if (modelColumn == null) {\n return;\n }\n\n const columnName = model.columns[modelColumn]?.name;\n\n if (columnName == null) {\n return;\n }\n\n const sort = TableUtils.getSortForColumn(model.sort, columnName);\n\n if (!sort) {\n return;\n }\n\n const icon = this.getSortIcon(sort);\n if (!icon) {\n return;\n }\n\n const text = model.textForColumnHeader(modelColumn);\n if (text === undefined) {\n return;\n }\n\n const fontWidth =\n fontWidths.get(context.font) ?? GridRenderer.DEFAULT_FONT_WIDTH;\n assertNotNull(fontWidth);\n const textWidth = text.length * fontWidth;\n const textRight = gridX + columnX + textWidth + headerHorizontalPadding;\n let { maxX } = bounds;\n maxX -= headerHorizontalPadding;\n const defaultX =\n gridX + columnX + columnWidth - headerHorizontalPadding - 1;\n\n const x = textRight > maxX ? textRight + 1 : Math.min(maxX, defaultX);\n const yOffset =\n sort.direction === TableUtils.sortDirection.ascending ? -6 : -12;\n const y = columnHeaderHeight * 0.5 + yOffset;\n\n context.save();\n\n context.beginPath();\n context.rect(columnX, 0, columnWidth, columnHeaderHeight);\n context.clip();\n\n context.fillStyle = theme.headerSortBarColor;\n context.translate(x, y);\n context.fill(icon);\n\n context.restore();\n }\n\n drawFilterHeaders(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { isFilterBarShown, quickFilters, advancedFilters } = state;\n\n if (isFilterBarShown) {\n this.drawExpandedFilterHeaders(context, state);\n } else if (\n (quickFilters != null && quickFilters.size > 0) ||\n (advancedFilters != null && advancedFilters.size > 0)\n ) {\n this.drawCollapsedFilterHeaders(context, state);\n }\n }\n\n drawExpandedFilterHeaders(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { metrics, model, theme, quickFilters, advancedFilters } = state;\n const { filterBarHeight } = theme;\n\n if (filterBarHeight <= 0) {\n return;\n }\n\n const {\n gridX,\n gridY,\n maxX,\n modelColumns,\n visibleColumns,\n allColumnWidths,\n allColumnXs,\n } = metrics;\n\n const columnHeaderHeight = gridY - filterBarHeight;\n\n context.save();\n\n context.font = theme.font;\n context.textAlign = 'left';\n\n if (\n (quickFilters != null && quickFilters.size > 0) ||\n (advancedFilters != null && advancedFilters.size > 0)\n ) {\n // fill style if a fiter is set on any column\n context.fillStyle = theme.filterBarExpandedActiveBackgroundColor;\n } else {\n // fill style with no filters set\n context.fillStyle = theme.filterBarExpandedBackgroundColor;\n }\n\n // Draw the background\n context.fillRect(gridX, columnHeaderHeight, maxX, filterBarHeight - 1);\n\n // Draw the bottom border\n context.fillStyle = theme.headerBarCasingColor;\n\n context.fillRect(gridX, columnHeaderHeight + filterBarHeight - 1, maxX, 1);\n\n // Draw the filter input boxes\n const y1 = columnHeaderHeight;\n context.strokeStyle = theme.filterBarSeparatorColor;\n context.beginPath();\n\n for (let i = 0; i < visibleColumns.length; i += 1) {\n const column = visibleColumns[i];\n const modelColumn = getOrThrow(modelColumns, column);\n const columnX = getOrThrow(allColumnXs, column);\n const columnWidth = getOrThrow(allColumnWidths, column);\n if (model.isFilterable(modelColumn) && columnWidth > 0) {\n const x1 = gridX + (columnX ?? 0);\n context.rect(x1 + 0.5, y1 + 0.5, columnWidth, filterBarHeight - 2); // 1 for the border, 1 for the casing\n }\n }\n context.stroke();\n\n for (let i = 0; i < visibleColumns.length; i += 1) {\n const column = visibleColumns[i];\n const columnWidth = getOrThrow(allColumnWidths, column);\n const columnX = getOrThrow(allColumnXs, column);\n const x = columnX + gridX;\n this.drawExpandedFilterHeader(context, state, column, x, columnWidth);\n }\n\n context.restore();\n }\n\n drawExpandedFilterHeader(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n column: VisibleIndex,\n columnX: Coordinate,\n columnWidth: number\n ): void {\n if (columnWidth <= 0) {\n return;\n }\n\n const { metrics, theme, quickFilters, advancedFilters } = state;\n const { modelColumns, gridY } = metrics;\n const {\n filterBarHeight,\n filterBarExpandedActiveCellBackgroundColor,\n filterBarErrorColor,\n filterBarHorizontalPadding,\n headerColor,\n } = theme;\n const columnHeaderHeight = gridY - filterBarHeight;\n const modelColumn = modelColumns.get(column);\n if (modelColumn === undefined) return;\n const quickFilter = quickFilters.get(modelColumn);\n const advancedFilter = advancedFilters.get(modelColumn);\n if (quickFilter == null && advancedFilter == null) {\n return;\n }\n\n let text = null;\n if (quickFilter != null) {\n const { text: filterText } = quickFilter;\n text = filterText;\n if (!text) {\n text = TableUtils.getFilterText(quickFilter.filter);\n }\n\n if (text != null) {\n const { fontWidths } = metrics;\n let fontWidth = fontWidths.get(context.font);\n if (fontWidth == null || fontWidth === 0) {\n fontWidth = context.measureText('8').width;\n if (!fontWidth) {\n fontWidth = 10;\n }\n }\n\n const maxLength =\n (columnWidth - filterBarHorizontalPadding * 2) / fontWidth;\n if (maxLength <= 0) {\n text = '';\n } else if (text.length > maxLength) {\n text = `${text.substring(0, maxLength - 1)}…`;\n }\n }\n }\n\n context.save();\n\n const isFilterValid = IrisGridRenderer.isFilterValid(\n advancedFilter,\n quickFilter\n );\n if (isFilterValid && filterBarExpandedActiveCellBackgroundColor != null) {\n // draw active filter background inside cell\n context.fillStyle = filterBarExpandedActiveCellBackgroundColor;\n context.fillRect(\n columnX + 1, // +1 left border\n columnHeaderHeight + 1, // +1 top border\n columnWidth - 1, // -1 right border\n filterBarHeight - 3 // -3 top, bottom border and bottom casing\n );\n } else if (filterBarErrorColor != null) {\n // draw error box inside cell\n context.fillStyle = filterBarErrorColor;\n context.lineWidth = 2;\n context.strokeStyle = filterBarErrorColor;\n // Because this is drawn with a strokeRect, we have to add/subtract half the,\n // linewidth from each side to make interior, in addition to accounting for any borders/casings\n const rectLeft = columnX + 2; // 1 for strokeRect, 1 for border\n const rectTop = columnHeaderHeight + 2; // 1 for strokeRect, 1 for border\n const rectWidth = columnWidth - 3; // for 2 border and 1 for strokeRect\n const rectHeight = filterBarHeight - 5; // -2 for strokeRect, -3 for top, bottom border and bottom casing\n context.strokeRect(rectLeft, rectTop, rectWidth, rectHeight);\n }\n\n if (text != null && text !== '') {\n const textX = columnX + filterBarHorizontalPadding;\n const textY = columnHeaderHeight + filterBarHeight * 0.5 + 1; // + 1 for border\n context.fillStyle = headerColor;\n context.fillText(text, textX, textY);\n }\n\n context.restore();\n }\n\n drawCollapsedFilterHeaders(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { metrics, theme } = state;\n const { headerSeparatorColor, filterBarCollapsedHeight } = theme;\n\n if (filterBarCollapsedHeight <= 0) {\n return;\n }\n\n const {\n gridX,\n gridY,\n maxX,\n visibleColumns,\n allColumnWidths,\n allColumnXs,\n } = metrics;\n const columnHeaderHeight = gridY - filterBarCollapsedHeight;\n\n context.save();\n\n // Draw the background of the collapsed filter bar\n context.fillStyle = headerSeparatorColor;\n context.fillRect(gridX, columnHeaderHeight, maxX, filterBarCollapsedHeight);\n\n for (let i = 0; i < visibleColumns.length; i += 1) {\n const column = visibleColumns[i];\n const columnWidth = allColumnWidths.get(column);\n const columnX = allColumnXs.get(column);\n if (columnX != null && columnWidth != null) {\n const x = columnX + gridX;\n // draw the collapsed cells\n this.drawCollapsedFilterHeader(context, state, column, x, columnWidth);\n }\n }\n\n context.restore();\n }\n\n drawCollapsedFilterHeader(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState,\n column: VisibleIndex,\n columnX: Coordinate,\n columnWidth: number\n ): void {\n if (columnWidth <= 0) {\n return;\n }\n\n const { metrics, theme, quickFilters, advancedFilters } = state;\n const { modelColumns, gridY } = metrics;\n const modelColumn = modelColumns.get(column);\n\n if (modelColumn === undefined) return;\n const quickFilter = quickFilters.get(modelColumn);\n const advancedFilter = advancedFilters.get(modelColumn);\n\n const {\n filterBarCollapsedHeight,\n filterBarActiveColor,\n filterBarActiveBackgroundColor,\n filterBarErrorColor,\n } = theme;\n\n context.save();\n\n const isFilterValid = IrisGridRenderer.isFilterValid(\n advancedFilter,\n quickFilter\n );\n\n if (\n filterBarActiveBackgroundColor != null &&\n quickFilter == null &&\n advancedFilter == null\n ) {\n context.fillStyle = filterBarActiveBackgroundColor;\n } else if (filterBarActiveColor != null && isFilterValid) {\n context.fillStyle = filterBarActiveColor;\n } else if (filterBarErrorColor != null) {\n context.fillStyle = filterBarErrorColor;\n }\n\n const x = columnX + 1; // for gap between columns\n const y = gridY - filterBarCollapsedHeight;\n const rectWidth = columnWidth - 1; // for gap between columns\n const rectHeight = filterBarCollapsedHeight - 1; // for casing bottom\n context.fillRect(x, y, rectWidth, rectHeight);\n\n context.restore();\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 context.save();\n const { x1, y1 } = treeBox;\n const markerIcon = isExpanded\n ? this.getIcon(ICON_NAMES.CARET_DOWN)\n : this.getIcon(ICON_NAMES.CARET_RIGHT);\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 drawRowFooters(\n context: CanvasRenderingContext2D,\n state: IrisGridRenderState\n ): void {\n const { metrics, model, mouseX, mouseY, theme } = state;\n const {\n gridY,\n gridX,\n maxX,\n modelRows,\n floatingTopHeight,\n floatingBottomHeight,\n floatingRows,\n rowFooterWidth,\n height,\n horizontalBarHeight,\n verticalBarWidth,\n allRowHeights,\n allRowYs,\n width,\n } = metrics;\n // Only draw the footers on the floating rows\n if (rowFooterWidth <= 0 || floatingRows.length === 0) {\n return;\n }\n\n const {\n cellHorizontalPadding,\n floatingGridRowColor,\n floatingRowBackgroundColors,\n headerColor,\n rowHoverBackgroundColor,\n } = theme;\n\n context.translate(gridX, gridY);\n\n context.beginPath();\n const x = Math.min(maxX, width - rowFooterWidth - verticalBarWidth - gridX);\n context.fillStyle = floatingRowBackgroundColors;\n if (floatingTopHeight > 0) {\n context.rect(x, 0, rowFooterWidth, floatingTopHeight);\n }\n if (floatingBottomHeight > 0) {\n context.rect(\n x,\n height - gridY - horizontalBarHeight - floatingBottomHeight,\n rowFooterWidth,\n floatingBottomHeight\n );\n }\n context.fill();\n\n const mouseRow =\n mouseX != null &&\n mouseY != null &&\n mouseX >= gridX &&\n mouseX <= maxX + rowFooterWidth\n ? GridUtils.getRowAtY(mouseY, metrics)\n : null;\n if (\n rowHoverBackgroundColor != null &&\n mouseRow !== null &&\n floatingRows.includes(mouseRow)\n ) {\n context.fillStyle = rowHoverBackgroundColor;\n const y = allRowYs.get(mouseRow);\n const rowHeight = allRowHeights.get(mouseRow);\n assertNotNull(y);\n assertNotNull(rowHeight);\n context.fillRect(x, y, rowFooterWidth, rowHeight);\n }\n\n context.beginPath();\n if (floatingGridRowColor != null) {\n context.strokeStyle = floatingGridRowColor;\n }\n if (floatingTopHeight > 0) {\n context.moveTo(x + 0.5, 0.5);\n context.lineTo(x + 0.5, floatingTopHeight - 0.5);\n }\n if (floatingBottomHeight > 0) {\n const y = height - gridY - horizontalBarHeight - floatingBottomHeight;\n context.moveTo(x - 0.5, y + 0.5);\n context.lineTo(x - 0.5, y + floatingBottomHeight - 0.5);\n }\n context.stroke();\n\n context.fillStyle = headerColor;\n context.textAlign = 'left';\n\n const textX = x + cellHorizontalPadding;\n for (let i = 0; i < floatingRows.length; i += 1) {\n const row = floatingRows[i];\n const rowHeight = allRowHeights.get(row);\n const rowY = allRowYs.get(row);\n const modelRow = modelRows.get(row);\n if (rowY != null && rowHeight != null && modelRow != null) {\n const textY = rowY + rowHeight * 0.5;\n context.fillText(model.textForRowFooter(modelRow), textX, textY);\n }\n }\n\n context.translate(-gridX, -gridY);\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 = super.getTextRenderMetrics(state, column, row);\n\n const { mouseX, mouseY, metrics } = 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(state);\n if (this.shouldRenderOverflowButton(state) && left != null) {\n textMetrics.width = left - metrics.gridX - textMetrics.x;\n }\n }\n return textMetrics;\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 } = super.getTextRenderMetrics(state, column, row);\n const fontWidth =\n metrics.fontWidths.get(theme.font) ?? IrisGridRenderer.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 getCellOverflowButtonPosition({\n mouseX,\n mouseY,\n metrics,\n theme,\n }: {\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 drawCellOverflowButton(state: IrisGridRenderState): void {\n const { context, mouseX, mouseY, theme } = state;\n if (mouseX == null || mouseY == null) return;\n\n if (!this.shouldRenderOverflowButton(state)) {\n return;\n }\n\n const {\n left: buttonLeft,\n top: buttonTop,\n width: buttonWidth,\n height: buttonHeight,\n } = this.getCellOverflowButtonPosition(state);\n\n const {\n cellHorizontalPadding,\n overflowButtonColor,\n overflowButtonHoverColor,\n } = theme;\n\n context.save();\n if (\n overflowButtonHoverColor != null &&\n buttonLeft != null &&\n buttonWidth != null &&\n buttonTop != null &&\n buttonHeight != null &&\n mouseX >= buttonLeft &&\n mouseX <= buttonLeft + buttonWidth &&\n mouseY >= buttonTop &&\n mouseY <= buttonTop + buttonHeight\n ) {\n context.fillStyle = overflowButtonHoverColor;\n } else if (overflowButtonColor != null) {\n context.fillStyle = overflowButtonColor;\n }\n const icon = this.getIcon(ICON_NAMES.CELL_OVERFLOW);\n if (buttonLeft != null && buttonTop != null) {\n context.translate(buttonLeft + cellHorizontalPadding, buttonTop + 2);\n }\n context.fill(icon);\n\n context.restore();\n }\n\n getExpandButtonPosition(\n {\n mouseX,\n mouseY,\n metrics,\n theme,\n }: {\n mouseX: Coordinate | null;\n mouseY: Coordinate | null;\n metrics: GridMetrics | undefined;\n theme: GridThemeType;\n },\n depth: number | null\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 || depth == null || !metrics) {\n return NULL_POSITION;\n }\n const { rowHeight, left, top } = GridUtils.getCellInfoFromXY(\n mouseX,\n mouseY,\n metrics\n );\n\n assertNotNull(left);\n assertNotNull(rowHeight);\n assertNotNull(top);\n const { cellHorizontalPadding } = theme;\n\n const width = EXPAND_ICON_SIZE + 2 * cellHorizontalPadding;\n\n const buttonLeft = Math.max(left + EXPAND_ICON_SIZE * depth, metrics.gridX);\n const buttonTop = metrics.gridY + top;\n\n return {\n left: buttonLeft,\n top: buttonTop,\n width,\n height: rowHeight,\n };\n }\n}\n\nexport default IrisGridRenderer;\n"],"mappings":"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"}
|
package/dist/IrisGridUtils.d.ts
CHANGED
|
@@ -41,6 +41,14 @@ export interface DehydratedSort {
|
|
|
41
41
|
isAbs: boolean;
|
|
42
42
|
direction: SortDirection;
|
|
43
43
|
}
|
|
44
|
+
export interface TableSettings {
|
|
45
|
+
quickFilters?: readonly DehydratedQuickFilter[];
|
|
46
|
+
advancedFilters?: readonly DehydratedAdvancedFilter[];
|
|
47
|
+
inputFilters?: readonly InputFilter[];
|
|
48
|
+
sorts?: readonly (DehydratedSort | LegacyDehydratedSort)[];
|
|
49
|
+
partition?: unknown;
|
|
50
|
+
partitionColumn?: ColumnName;
|
|
51
|
+
}
|
|
44
52
|
export interface DehydratedIrisGridState {
|
|
45
53
|
advancedFilters: readonly DehydratedAdvancedFilter[];
|
|
46
54
|
aggregationSettings: AggregationSettings;
|
|
@@ -238,14 +246,7 @@ declare class IrisGridUtils {
|
|
|
238
246
|
* @param tableSettings Dehydrated table settings extracted with `extractTableSettings`
|
|
239
247
|
* @param timeZone The time zone to make this value in if it is a date type. E.g. America/New_York
|
|
240
248
|
*/
|
|
241
|
-
static applyTableSettings(table: Table, tableSettings:
|
|
242
|
-
quickFilters?: readonly DehydratedQuickFilter[];
|
|
243
|
-
advancedFilters?: readonly DehydratedAdvancedFilter[];
|
|
244
|
-
inputFilters?: readonly InputFilter[];
|
|
245
|
-
sorts?: readonly (DehydratedSort | LegacyDehydratedSort)[];
|
|
246
|
-
partition?: unknown;
|
|
247
|
-
partitionColumn?: ColumnName;
|
|
248
|
-
}, timeZone: string): void;
|
|
249
|
+
static applyTableSettings(table: Table, tableSettings: TableSettings, timeZone: string): void;
|
|
249
250
|
static getInputFiltersForColumns(columns: readonly Column[], inputFilters?: readonly InputFilter[]): InputFilter[];
|
|
250
251
|
static getFiltersFromInputFilters(columns: readonly Column[], inputFilters?: readonly InputFilter[], timeZone?: string): FilterCondition[];
|
|
251
252
|
static getFiltersFromFilterMap(filterMap: ReadonlyAdvancedFilterMap | ReadonlyQuickFilterMap): FilterCondition[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridUtils.d.ts","sourceRoot":"","sources":["../src/IrisGridUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IrisGridUtils.d.ts","sourceRoot":"","sources":["../src/IrisGridUtils.ts"],"names":[],"mappings":"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"}
|