@deephaven/iris-grid 0.13.3-beta.2 → 0.13.5
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/AdvancedFilterCreator.d.ts +63 -69
- package/dist/AdvancedFilterCreator.d.ts.map +1 -1
- package/dist/AdvancedFilterCreator.js +73 -79
- package/dist/AdvancedFilterCreator.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValue.d.ts +45 -45
- package/dist/AdvancedFilterCreatorSelectValue.d.ts.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValue.js +36 -32
- package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.d.ts +52 -47
- package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.js +39 -24
- package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
- package/dist/ColumnStatistics.d.ts +22 -34
- package/dist/ColumnStatistics.d.ts.map +1 -1
- package/dist/ColumnStatistics.js +12 -8
- package/dist/ColumnStatistics.js.map +1 -1
- package/dist/CrossColumnSearch.d.ts +24 -26
- package/dist/CrossColumnSearch.d.ts.map +1 -1
- package/dist/CrossColumnSearch.js +13 -9
- package/dist/CrossColumnSearch.js.map +1 -1
- package/dist/FilterInputField.d.ts +51 -48
- package/dist/FilterInputField.d.ts.map +1 -1
- package/dist/FilterInputField.js +27 -30
- package/dist/FilterInputField.js.map +1 -1
- package/dist/IrisGrid.d.ts +453 -409
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +449 -514
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridCellOverflowModal.d.ts +1 -1
- package/dist/IrisGridCellOverflowModal.d.ts.map +1 -1
- package/dist/IrisGridCellOverflowModal.js.map +1 -1
- package/dist/IrisGridCopyHandler.d.ts +46 -52
- package/dist/IrisGridCopyHandler.d.ts.map +1 -1
- package/dist/IrisGridCopyHandler.js +38 -22
- package/dist/IrisGridCopyHandler.js.map +1 -1
- package/dist/IrisGridMetricCalculator.d.ts +4 -5
- package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
- package/dist/IrisGridMetricCalculator.js +1 -5
- package/dist/IrisGridMetricCalculator.js.map +1 -1
- package/dist/IrisGridModel.d.ts +35 -37
- package/dist/IrisGridModel.d.ts.map +1 -1
- package/dist/IrisGridModel.js +3 -19
- package/dist/IrisGridModel.js.map +1 -1
- package/dist/IrisGridModelFactory.d.ts +5 -7
- package/dist/IrisGridModelFactory.d.ts.map +1 -1
- package/dist/IrisGridModelFactory.js +5 -5
- package/dist/IrisGridModelFactory.js.map +1 -1
- package/dist/IrisGridModelUpdater.d.ts +11 -13
- package/dist/IrisGridModelUpdater.d.ts.map +1 -1
- package/dist/IrisGridModelUpdater.js.map +1 -1
- package/dist/IrisGridPartitionSelector.d.ts +39 -38
- package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
- package/dist/IrisGridPartitionSelector.js +24 -18
- package/dist/IrisGridPartitionSelector.js.map +1 -1
- package/dist/IrisGridProxyModel.d.ts +32 -111
- package/dist/IrisGridProxyModel.d.ts.map +1 -1
- package/dist/IrisGridProxyModel.js +170 -212
- package/dist/IrisGridProxyModel.js.map +1 -1
- package/dist/IrisGridRenderer.d.ts +31 -59
- package/dist/IrisGridRenderer.d.ts.map +1 -1
- package/dist/IrisGridRenderer.js +46 -92
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridTableModel.d.ts +147 -48
- package/dist/IrisGridTableModel.d.ts.map +1 -1
- package/dist/IrisGridTableModel.js +1381 -58
- package/dist/IrisGridTableModel.js.map +1 -1
- package/dist/IrisGridTestUtils.d.ts +14 -18
- package/dist/IrisGridTestUtils.d.ts.map +1 -1
- package/dist/IrisGridTestUtils.js +1 -29
- package/dist/IrisGridTestUtils.js.map +1 -1
- package/dist/IrisGridTheme.d.ts +3 -35
- package/dist/IrisGridTheme.d.ts.map +1 -1
- package/dist/IrisGridTheme.js.map +1 -1
- package/dist/IrisGridTreeTableModel.d.ts +7 -26
- package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
- package/dist/IrisGridTreeTableModel.js +14 -24
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.d.ts +162 -257
- package/dist/IrisGridUtils.d.ts.map +1 -1
- package/dist/IrisGridUtils.js +95 -132
- package/dist/IrisGridUtils.js.map +1 -1
- package/dist/MissingKeyError.d.ts +3 -5
- package/dist/MissingKeyError.d.ts.map +1 -1
- package/dist/MissingKeyError.js.map +1 -1
- package/dist/PartitionSelectorSearch.d.ts +40 -61
- package/dist/PartitionSelectorSearch.d.ts.map +1 -1
- package/dist/PartitionSelectorSearch.js +15 -25
- package/dist/PartitionSelectorSearch.js.map +1 -1
- package/dist/PendingDataBottomBar.d.ts +6 -3
- package/dist/PendingDataBottomBar.d.ts.map +1 -1
- package/dist/PendingDataBottomBar.js.map +1 -1
- package/dist/TableViewportUpdater.d.ts +55 -39
- package/dist/TableViewportUpdater.d.ts.map +1 -1
- package/dist/TableViewportUpdater.js +64 -42
- package/dist/TableViewportUpdater.js.map +1 -1
- package/dist/TreeTableViewportUpdater.d.ts +37 -29
- package/dist/TreeTableViewportUpdater.d.ts.map +1 -1
- package/dist/TreeTableViewportUpdater.js +50 -39
- package/dist/TreeTableViewportUpdater.js.map +1 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -9
- package/dist/index.js.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +0 -2
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +130 -41
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +317 -426
- package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridFilterMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js +2 -2
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridSortMouseHandler.js +1 -1
- package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
- package/dist/mousehandlers/PendingMouseHandler.d.ts +4 -8
- package/dist/mousehandlers/PendingMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/PendingMouseHandler.js +5 -4
- package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
- package/dist/sidebar/ChartBuilder.d.ts +33 -48
- package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
- package/dist/sidebar/ChartBuilder.js +27 -28
- package/dist/sidebar/ChartBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.d.ts +41 -51
- package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.js +18 -22
- package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnInput.d.ts +36 -26
- package/dist/sidebar/CustomColumnInput.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnInput.js +20 -11
- package/dist/sidebar/CustomColumnInput.js.map +1 -1
- package/dist/sidebar/InputEditor.d.ts +35 -34
- package/dist/sidebar/InputEditor.d.ts.map +1 -1
- package/dist/sidebar/InputEditor.js +24 -43
- package/dist/sidebar/InputEditor.js.map +1 -1
- package/dist/sidebar/RollupRows.d.ts +52 -67
- package/dist/sidebar/RollupRows.d.ts.map +1 -1
- package/dist/sidebar/RollupRows.js +53 -51
- package/dist/sidebar/RollupRows.js.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.d.ts +21 -27
- package/dist/sidebar/SelectDistinctBuilder.d.ts.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.js +10 -6
- package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
- package/dist/sidebar/TableCsvExporter.d.ts +39 -42
- package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
- package/dist/sidebar/TableCsvExporter.js +20 -12
- package/dist/sidebar/TableCsvExporter.js.map +1 -1
- package/dist/sidebar/TableSaver.d.ts +60 -59
- package/dist/sidebar/TableSaver.d.ts.map +1 -1
- package/dist/sidebar/TableSaver.js +68 -154
- package/dist/sidebar/TableSaver.js.map +1 -1
- package/dist/sidebar/VisibilityOrderingBuilder.d.ts +45 -56
- package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
- package/dist/sidebar/VisibilityOrderingBuilder.js +29 -34
- package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +1 -2
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +5 -6
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +0 -5
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
- package/dist/sidebar/icons/index.d.ts +7 -7
- package/dist/sidebar/icons/index.d.ts.map +1 -1
- package/dist/sidebar/icons/index.js.map +1 -1
- package/dist/sidebar/index.d.ts +12 -12
- package/dist/sidebar/index.d.ts.map +1 -1
- package/dist/sidebar/index.js.map +1 -1
- package/package.json +16 -17
- package/dist/CommonTypes.d.ts +0 -58
- package/dist/CommonTypes.d.ts.map +0 -1
- package/dist/CommonTypes.js +0 -2
- package/dist/CommonTypes.js.map +0 -1
- package/dist/IrisGridTableModelTemplate.d.ts +0 -219
- package/dist/IrisGridTableModelTemplate.d.ts.map +0 -1
- package/dist/IrisGridTableModelTemplate.js +0 -1623
- package/dist/IrisGridTableModelTemplate.js.map +0 -1
|
@@ -1,69 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
import { BoxCoordinates, Coordinate, GridMetrics, GridRangeIndex, GridRenderer, GridRenderState, GridThemeType, VisibleIndex } from '@deephaven/grid';
|
|
3
|
-
import { Sort } from '@deephaven/jsapi-shim';
|
|
4
|
-
import { ReverseType } from '@deephaven/jsapi-utils';
|
|
5
|
-
import { AdvancedFilterMap, QuickFilterMap, AdvancedFilter, QuickFilter } from './CommonTypes';
|
|
6
|
-
import { IrisGridThemeType } from './IrisGridTheme';
|
|
7
|
-
import IrisGridModel from './IrisGridModel';
|
|
8
|
-
export declare type IrisGridRenderState = GridRenderState & {
|
|
9
|
-
model: IrisGridModel;
|
|
10
|
-
theme: IrisGridThemeType;
|
|
11
|
-
hoverSelectColumn: GridRangeIndex;
|
|
12
|
-
isSelectingColumn: boolean;
|
|
13
|
-
loadingScrimProgress: number;
|
|
14
|
-
reverseType: ReverseType;
|
|
15
|
-
isFilterBarShown: boolean;
|
|
16
|
-
advancedFilters: AdvancedFilterMap;
|
|
17
|
-
quickFilters: QuickFilterMap;
|
|
18
|
-
};
|
|
1
|
+
export default IrisGridRenderer;
|
|
19
2
|
/**
|
|
20
3
|
* Handles rendering some of the Iris specific features, such as sorting icons, sort bar display
|
|
21
4
|
* */
|
|
22
5
|
declare class IrisGridRenderer extends GridRenderer {
|
|
23
|
-
static isFilterValid(advancedFilter:
|
|
24
|
-
constructor();
|
|
25
|
-
icons: Record<string, Path2D>;
|
|
6
|
+
static isFilterValid(advancedFilter: any, quickFilter: any): boolean;
|
|
26
7
|
initIcons(): void;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
drawCollapsedFilterHeader(context: CanvasRenderingContext2D, state: IrisGridRenderState, column: VisibleIndex, columnX: Coordinate, columnWidth: number): void;
|
|
47
|
-
drawTreeMarker(context: CanvasRenderingContext2D, state: IrisGridRenderState, columnX: Coordinate, rowY: Coordinate, treeBox: BoxCoordinates, color: string, isExpanded: boolean): void;
|
|
48
|
-
drawRowFooters(context: CanvasRenderingContext2D, state: IrisGridRenderState): void;
|
|
49
|
-
getTextRenderMetrics(context: CanvasRenderingContext2D, state: IrisGridRenderState, column: VisibleIndex, row: VisibleIndex): {
|
|
50
|
-
width: number;
|
|
51
|
-
x: Coordinate;
|
|
52
|
-
y: Coordinate;
|
|
53
|
-
};
|
|
54
|
-
shouldRenderOverflowButton(state: IrisGridRenderState): boolean;
|
|
55
|
-
getCellOverflowButtonPosition({ mouseX, mouseY, metrics, theme, }: {
|
|
56
|
-
mouseX: Coordinate | null;
|
|
57
|
-
mouseY: Coordinate | null;
|
|
58
|
-
metrics: GridMetrics | undefined;
|
|
59
|
-
theme: GridThemeType;
|
|
8
|
+
icons: {} | undefined;
|
|
9
|
+
setIcon(name: any, faIcon: any): void;
|
|
10
|
+
getIcon(name: any): any;
|
|
11
|
+
getSortIcon(sort: any): any;
|
|
12
|
+
drawGroupedColumnLine(context: any, state: any): void;
|
|
13
|
+
drawPendingRowLine(context: any, state: any): void;
|
|
14
|
+
drawScrim(state: any): void;
|
|
15
|
+
drawHeaderBar(context: any, state: any, color: any, barHeight: any, interior?: boolean): void;
|
|
16
|
+
drawFilterHeaders(context: any, state: any): void;
|
|
17
|
+
drawExpandedFilterHeaders(context: any, state: any): void;
|
|
18
|
+
drawExpandedFilterHeader(context: any, state: any, column: any, columnX: any, columnWidth: any): void;
|
|
19
|
+
drawCollapsedFilterHeaders(context: any, state: any): void;
|
|
20
|
+
drawCollapsedFilterHeader(context: any, state: any, column: any, columnX: any, columnWidth: any): void;
|
|
21
|
+
shouldRenderOverflowButton(state: any): boolean;
|
|
22
|
+
getCellOverflowButtonPosition({ mouseX, mouseY, metrics, theme }: {
|
|
23
|
+
mouseX: any;
|
|
24
|
+
mouseY: any;
|
|
25
|
+
metrics: any;
|
|
26
|
+
theme: any;
|
|
60
27
|
}): {
|
|
61
|
-
left:
|
|
62
|
-
top:
|
|
63
|
-
width:
|
|
28
|
+
left: null;
|
|
29
|
+
top: null;
|
|
30
|
+
width: null;
|
|
31
|
+
height: null;
|
|
32
|
+
} | {
|
|
33
|
+
left: number;
|
|
34
|
+
top: any;
|
|
35
|
+
width: number;
|
|
64
36
|
height: number | null;
|
|
65
37
|
};
|
|
66
|
-
drawCellOverflowButton(state:
|
|
38
|
+
drawCellOverflowButton(state: any): void;
|
|
67
39
|
}
|
|
68
|
-
|
|
40
|
+
import { GridRenderer } from "packages/grid/src/GridRenderer";
|
|
69
41
|
//# sourceMappingURL=IrisGridRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IrisGridRenderer.d.ts","sourceRoot":"","sources":["../src/IrisGridRenderer.
|
|
1
|
+
{"version":3,"file":"IrisGridRenderer.d.ts","sourceRoot":"","sources":["../src/IrisGridRenderer.js"],"names":[],"mappings":";AAuBA;;KAEK;AACL;IACE,qEAMC;IAQD,kBAQC;IAPC,sBAAe;IAUjB,sCASC;IAED,wBAEC;IAED,4BAWC;IAwCD,sDA0BC;IAED,mDAyBC;IAwBD,4BA8BC;IAgDD,8FAwBC;IAgDD,kDAWC;IAED,0DAsEC;IAED,sGAuFC;IAED,2DAiCC;IAED,uGAwCC;IAqID,gDA6CC;IAED;;;;;;;;;;;;;;;MAyBC;IAED,yCAqCC;CACF"}
|
package/dist/IrisGridRenderer.js
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
|
|
3
1
|
/* eslint react/destructuring-assignment: "off" */
|
|
4
2
|
|
|
5
3
|
/* eslint class-methods-use-this: "off" */
|
|
6
4
|
|
|
7
5
|
/* eslint no-param-reassign: "off" */
|
|
8
6
|
import { dhSortDown, dhSortUp, vsTriangleDown, vsTriangleRight, vsLinkExternal } from '@deephaven/icons';
|
|
9
|
-
import { getOrThrow, GridRenderer, GridUtils } from '@deephaven/grid';
|
|
10
7
|
import { TableUtils } from '@deephaven/jsapi-utils';
|
|
11
|
-
import {
|
|
8
|
+
import { GridRenderer, GridUtils } from '@deephaven/grid';
|
|
12
9
|
var ICON_NAMES = Object.freeze({
|
|
13
10
|
SORT_UP: 'sortUp',
|
|
14
11
|
SORT_DOWN: 'sortDown',
|
|
@@ -17,10 +14,10 @@ var ICON_NAMES = Object.freeze({
|
|
|
17
14
|
CELL_OVERFLOW: 'cellOverflow'
|
|
18
15
|
});
|
|
19
16
|
var ICON_SIZE = 16;
|
|
20
|
-
|
|
21
17
|
/**
|
|
22
18
|
* Handles rendering some of the Iris specific features, such as sorting icons, sort bar display
|
|
23
19
|
* */
|
|
20
|
+
|
|
24
21
|
class IrisGridRenderer extends GridRenderer {
|
|
25
22
|
static isFilterValid(advancedFilter, quickFilter) {
|
|
26
23
|
var isAdvancedFilterValid = advancedFilter == null || advancedFilter.filter != null;
|
|
@@ -30,14 +27,11 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
30
27
|
|
|
31
28
|
constructor() {
|
|
32
29
|
super();
|
|
33
|
-
|
|
34
|
-
_defineProperty(this, "icons", void 0);
|
|
35
|
-
|
|
36
|
-
this.icons = {};
|
|
37
30
|
this.initIcons();
|
|
38
31
|
}
|
|
39
32
|
|
|
40
33
|
initIcons() {
|
|
34
|
+
this.icons = {};
|
|
41
35
|
this.setIcon(ICON_NAMES.SORT_UP, dhSortUp);
|
|
42
36
|
this.setIcon(ICON_NAMES.SORT_DOWN, dhSortDown);
|
|
43
37
|
this.setIcon(ICON_NAMES.CARET_DOWN, vsTriangleDown);
|
|
@@ -47,8 +41,7 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
47
41
|
|
|
48
42
|
|
|
49
43
|
setIcon(name, faIcon) {
|
|
50
|
-
var
|
|
51
|
-
var icon = new Path2D(path);
|
|
44
|
+
var icon = new Path2D(faIcon.icon[4]);
|
|
52
45
|
var scaledIcon = new Path2D();
|
|
53
46
|
var scaleMatrix = {
|
|
54
47
|
a: ICON_SIZE / faIcon.icon[0],
|
|
@@ -103,8 +96,8 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
103
96
|
modelColumns,
|
|
104
97
|
modelRows
|
|
105
98
|
} = metrics;
|
|
106
|
-
var modelRow =
|
|
107
|
-
var modelColumn =
|
|
99
|
+
var modelRow = modelRows.get(row);
|
|
100
|
+
var modelColumn = modelColumns.get(column);
|
|
108
101
|
var value = model.valueForCell(modelColumn, modelRow);
|
|
109
102
|
|
|
110
103
|
if (TableUtils.isTextType(model.columns[modelColumn].type)) {
|
|
@@ -214,8 +207,6 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
214
207
|
} = metrics;
|
|
215
208
|
var x = visibleColumnXs.get(hoverSelectColumn);
|
|
216
209
|
var columnWidth = visibleColumnWidths.get(hoverSelectColumn);
|
|
217
|
-
assertNotNull(x);
|
|
218
|
-
assertNotNull(columnWidth);
|
|
219
210
|
context.fillStyle = theme.linkerColumnHoverBackgroundColor;
|
|
220
211
|
context.fillRect(x, 0, columnWidth, maxY);
|
|
221
212
|
}
|
|
@@ -255,11 +246,7 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
255
246
|
|
|
256
247
|
context.globalCompositeOperation = 'color';
|
|
257
248
|
context.filter = "blur(".concat(scrimBlurSize, "px)");
|
|
258
|
-
|
|
259
|
-
if (scrimColor) {
|
|
260
|
-
context.fillStyle = scrimColor;
|
|
261
|
-
} // Clip the path so the top edge is hard edge, bottom edge is soft/blurry
|
|
262
|
-
|
|
249
|
+
context.fillStyle = scrimColor; // Clip the path so the top edge is hard edge, bottom edge is soft/blurry
|
|
263
250
|
|
|
264
251
|
context.beginPath();
|
|
265
252
|
context.rect(0, gridY, width, height - gridY);
|
|
@@ -292,15 +279,7 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
292
279
|
|
|
293
280
|
if (sort.length === 1) {
|
|
294
281
|
var hasReverse = reverseType !== TableUtils.REVERSE_TYPE.NONE;
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
if (hasReverse) {
|
|
298
|
-
color = theme.headerReverseBarColor;
|
|
299
|
-
} else {
|
|
300
|
-
color = theme.headerSortBarColor;
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
this.drawHeaderBar(context, state, color, hasReverse ? theme.reverseHeaderBarHeight : theme.sortHeaderBarHeight);
|
|
282
|
+
this.drawHeaderBar(context, state, hasReverse ? theme.headerReverseBarColor : theme.headerSortBarColor, hasReverse ? theme.reverseHeaderBarHeight : theme.sortHeaderBarHeight);
|
|
304
283
|
} else if (sort.length > 1) {
|
|
305
284
|
// if there's multiple bars, the sort is interior to header
|
|
306
285
|
// and the reverse claims space in the table
|
|
@@ -348,13 +327,8 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
348
327
|
var {
|
|
349
328
|
modelColumns
|
|
350
329
|
} = metrics;
|
|
351
|
-
var modelColumn =
|
|
330
|
+
var modelColumn = modelColumns.get(column);
|
|
352
331
|
var sort = TableUtils.getSortForColumn(model.sort, modelColumn);
|
|
353
|
-
|
|
354
|
-
if (!sort) {
|
|
355
|
-
return;
|
|
356
|
-
}
|
|
357
|
-
|
|
358
332
|
var icon = this.getSortIcon(sort);
|
|
359
333
|
|
|
360
334
|
if (!icon) {
|
|
@@ -443,32 +417,32 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
443
417
|
context.fillStyle = theme.headerBarCasingColor;
|
|
444
418
|
context.fillRect(gridX, columnHeaderHeight + filterBarHeight - 1, maxX, 1); // Draw the filter input boxes
|
|
445
419
|
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
420
|
+
if (theme.filterBarSeparatorColor) {
|
|
421
|
+
var y1 = columnHeaderHeight;
|
|
422
|
+
context.strokeStyle = theme.filterBarSeparatorColor;
|
|
423
|
+
context.beginPath();
|
|
449
424
|
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
425
|
+
for (var i = 0; i < visibleColumns.length; i += 1) {
|
|
426
|
+
var column = visibleColumns[i];
|
|
427
|
+
var modelColumn = modelColumns.get(column);
|
|
428
|
+
var columnX = visibleColumnXs.get(column);
|
|
429
|
+
var columnWidth = visibleColumnWidths.get(column);
|
|
455
430
|
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
431
|
+
if (model.isFilterable(modelColumn) && columnWidth > 0) {
|
|
432
|
+
var x1 = gridX + columnX;
|
|
433
|
+
context.rect(x1 + 0.5, y1 + 0.5, columnWidth, filterBarHeight - 2); // 1 for the border, 1 for the casing
|
|
434
|
+
}
|
|
459
435
|
}
|
|
460
|
-
}
|
|
461
436
|
|
|
462
|
-
|
|
437
|
+
context.stroke();
|
|
438
|
+
}
|
|
463
439
|
|
|
464
440
|
for (var _i = 0; _i < visibleColumns.length; _i += 1) {
|
|
465
441
|
var _column = visibleColumns[_i];
|
|
466
442
|
|
|
467
|
-
var _columnWidth =
|
|
468
|
-
|
|
469
|
-
var _columnX = getOrThrow(visibleColumnXs, _column);
|
|
443
|
+
var _columnWidth = visibleColumnWidths.get(_column);
|
|
470
444
|
|
|
471
|
-
var x =
|
|
445
|
+
var x = visibleColumnXs.get(_column) + gridX;
|
|
472
446
|
this.drawExpandedFilterHeader(context, state, _column, x, _columnWidth);
|
|
473
447
|
}
|
|
474
448
|
|
|
@@ -499,7 +473,6 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
499
473
|
} = theme;
|
|
500
474
|
var columnHeaderHeight = gridY - filterBarHeight;
|
|
501
475
|
var modelColumn = modelColumns.get(column);
|
|
502
|
-
if (!modelColumn) return;
|
|
503
476
|
var quickFilter = quickFilters.get(modelColumn);
|
|
504
477
|
var advancedFilter = advancedFilters.get(modelColumn);
|
|
505
478
|
|
|
@@ -526,7 +499,7 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
526
499
|
var fontWidth = fontWidths.get(context.font);
|
|
527
500
|
|
|
528
501
|
if (!fontWidth) {
|
|
529
|
-
fontWidth = context.measureText('8')
|
|
502
|
+
fontWidth = context.measureText('8');
|
|
530
503
|
|
|
531
504
|
if (!fontWidth) {
|
|
532
505
|
fontWidth = 10;
|
|
@@ -546,7 +519,7 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
546
519
|
context.save();
|
|
547
520
|
var isFilterValid = IrisGridRenderer.isFilterValid(advancedFilter, quickFilter);
|
|
548
521
|
|
|
549
|
-
if (isFilterValid
|
|
522
|
+
if (isFilterValid) {
|
|
550
523
|
// draw active filter background inside cell
|
|
551
524
|
context.fillStyle = filterBarExpandedActiveCellBackgroundColor;
|
|
552
525
|
context.fillRect(columnX + 1, // +1 left border
|
|
@@ -554,7 +527,7 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
554
527
|
columnWidth - 1, // -1 right border
|
|
555
528
|
filterBarHeight - 3 // -3 top, bottom border and bottom casing
|
|
556
529
|
);
|
|
557
|
-
} else
|
|
530
|
+
} else {
|
|
558
531
|
// draw error box inside cell
|
|
559
532
|
context.fillStyle = filterBarErrorColor;
|
|
560
533
|
context.lineWidth = 2;
|
|
@@ -614,13 +587,9 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
614
587
|
for (var i = 0; i < visibleColumns.length; i += 1) {
|
|
615
588
|
var column = visibleColumns[i];
|
|
616
589
|
var columnWidth = visibleColumnWidths.get(column);
|
|
617
|
-
var
|
|
590
|
+
var x = visibleColumnXs.get(column) + gridX; // draw the collapsed cells
|
|
618
591
|
|
|
619
|
-
|
|
620
|
-
var x = columnX + gridX; // draw the collapsed cells
|
|
621
|
-
|
|
622
|
-
this.drawCollapsedFilterHeader(context, state, column, x, columnWidth);
|
|
623
|
-
}
|
|
592
|
+
this.drawCollapsedFilterHeader(context, state, column, x, columnWidth);
|
|
624
593
|
}
|
|
625
594
|
|
|
626
595
|
context.restore();
|
|
@@ -642,8 +611,8 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
642
611
|
gridY
|
|
643
612
|
} = metrics;
|
|
644
613
|
var modelColumn = modelColumns.get(column);
|
|
645
|
-
var quickFilter =
|
|
646
|
-
var advancedFilter =
|
|
614
|
+
var quickFilter = quickFilters.get(modelColumn);
|
|
615
|
+
var advancedFilter = advancedFilters.get(modelColumn);
|
|
647
616
|
var {
|
|
648
617
|
filterBarCollapsedHeight,
|
|
649
618
|
filterBarActiveColor,
|
|
@@ -653,11 +622,11 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
653
622
|
context.save();
|
|
654
623
|
var isFilterValid = IrisGridRenderer.isFilterValid(advancedFilter, quickFilter);
|
|
655
624
|
|
|
656
|
-
if (
|
|
625
|
+
if (quickFilter == null && advancedFilter == null) {
|
|
657
626
|
context.fillStyle = filterBarActiveBackgroundColor;
|
|
658
|
-
} else if (
|
|
627
|
+
} else if (isFilterValid) {
|
|
659
628
|
context.fillStyle = filterBarActiveColor;
|
|
660
|
-
} else
|
|
629
|
+
} else {
|
|
661
630
|
context.fillStyle = filterBarErrorColor;
|
|
662
631
|
}
|
|
663
632
|
|
|
@@ -738,22 +707,17 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
738
707
|
}
|
|
739
708
|
|
|
740
709
|
context.fill();
|
|
741
|
-
var mouseRow = mouseX
|
|
710
|
+
var mouseRow = mouseX >= gridX && mouseX <= maxX + rowFooterWidth ? GridUtils.getRowAtY(mouseY, metrics) : null;
|
|
742
711
|
|
|
743
|
-
if (
|
|
712
|
+
if (mouseRow !== null && floatingRows.includes(mouseRow)) {
|
|
744
713
|
context.fillStyle = rowHoverBackgroundColor;
|
|
745
714
|
var y = visibleRowYs.get(mouseRow);
|
|
746
715
|
var rowHeight = visibleRowHeights.get(mouseRow);
|
|
747
|
-
assertNotNull(y);
|
|
748
|
-
assertNotNull(rowHeight);
|
|
749
716
|
context.fillRect(x, y, rowFooterWidth, rowHeight);
|
|
750
717
|
}
|
|
751
718
|
|
|
752
719
|
context.beginPath();
|
|
753
|
-
|
|
754
|
-
if (floatingGridRowColor) {
|
|
755
|
-
context.strokeStyle = floatingGridRowColor;
|
|
756
|
-
}
|
|
720
|
+
context.strokeStyle = floatingGridRowColor;
|
|
757
721
|
|
|
758
722
|
if (floatingTopHeight > 0) {
|
|
759
723
|
context.moveTo(x + 0.5, 0.5);
|
|
@@ -779,11 +743,8 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
779
743
|
|
|
780
744
|
var rowY = visibleRowYs.get(row);
|
|
781
745
|
var modelRow = modelRows.get(row);
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
var textY = rowY + _rowHeight * 0.5;
|
|
785
|
-
context.fillText(model.textForRowFooter(modelRow), textX, textY);
|
|
786
|
-
}
|
|
746
|
+
var textY = rowY + _rowHeight * 0.5;
|
|
747
|
+
context.fillText(model.textForRowFooter(modelRow), textX, textY);
|
|
787
748
|
}
|
|
788
749
|
|
|
789
750
|
context.translate(-gridX, -gridY);
|
|
@@ -813,7 +774,7 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
813
774
|
left
|
|
814
775
|
} = this.getCellOverflowButtonPosition(state);
|
|
815
776
|
|
|
816
|
-
if (this.shouldRenderOverflowButton(state)
|
|
777
|
+
if (this.shouldRenderOverflowButton(state)) {
|
|
817
778
|
textMetrics.width = left - metrics.gridX - textMetrics.x;
|
|
818
779
|
}
|
|
819
780
|
}
|
|
@@ -874,7 +835,7 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
874
835
|
height: null
|
|
875
836
|
};
|
|
876
837
|
|
|
877
|
-
if (mouseX == null || mouseY == null
|
|
838
|
+
if (mouseX == null || mouseY == null) {
|
|
878
839
|
return NULL_POSITION;
|
|
879
840
|
}
|
|
880
841
|
|
|
@@ -884,9 +845,6 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
884
845
|
left,
|
|
885
846
|
top
|
|
886
847
|
} = GridUtils.getCellInfoFromXY(mouseX, mouseY, metrics);
|
|
887
|
-
assertNotNull(left);
|
|
888
|
-
assertNotNull(columnWidth);
|
|
889
|
-
assertNotNull(top);
|
|
890
848
|
var {
|
|
891
849
|
width: gridWidth,
|
|
892
850
|
verticalBarWidth
|
|
@@ -934,18 +892,14 @@ class IrisGridRenderer extends GridRenderer {
|
|
|
934
892
|
} = theme;
|
|
935
893
|
context.save();
|
|
936
894
|
|
|
937
|
-
if (
|
|
895
|
+
if (mouseX >= buttonLeft && mouseX <= buttonLeft + buttonWidth && mouseY >= buttonTop && mouseY <= buttonTop + buttonHeight) {
|
|
938
896
|
context.fillStyle = overflowButtonHoverColor;
|
|
939
|
-
} else
|
|
897
|
+
} else {
|
|
940
898
|
context.fillStyle = overflowButtonColor;
|
|
941
899
|
}
|
|
942
900
|
|
|
943
901
|
var icon = this.getIcon(ICON_NAMES.CELL_OVERFLOW);
|
|
944
|
-
|
|
945
|
-
if (buttonLeft != null && buttonTop != null) {
|
|
946
|
-
context.translate(buttonLeft + cellHorizontalPadding, buttonTop + 2);
|
|
947
|
-
}
|
|
948
|
-
|
|
902
|
+
context.translate(buttonLeft + cellHorizontalPadding, buttonTop + 2);
|
|
949
903
|
context.fill(icon);
|
|
950
904
|
context.restore();
|
|
951
905
|
}
|