@deephaven/iris-grid 1.22.1-alpha-pivot-builder.0 → 1.22.2-alpha-pivot-builder.0
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.js +65 -102
- package/dist/AdvancedFilterCreator.js.map +1 -1
- package/dist/AdvancedFilterCreatorFilterItem.js +22 -37
- package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValue.js +37 -63
- package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.js +29 -59
- package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
- package/dist/ColumnHeaderGroup.js +6 -8
- package/dist/ColumnHeaderGroup.js.map +1 -1
- package/dist/ColumnStatistics.js +22 -28
- package/dist/ColumnStatistics.js.map +1 -1
- package/dist/CrossColumnSearch.js +20 -29
- package/dist/CrossColumnSearch.js.map +1 -1
- package/dist/FilterInputField.js +19 -46
- package/dist/FilterInputField.js.map +1 -1
- package/dist/GotoRow.js +32 -29
- package/dist/GotoRow.js.map +1 -1
- package/dist/IrisGrid.js +490 -822
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridBottomBar.js +10 -11
- package/dist/IrisGridBottomBar.js.map +1 -1
- package/dist/IrisGridCacheUtils.js +28 -8
- package/dist/IrisGridCacheUtils.js.map +1 -1
- package/dist/IrisGridCellOverflowModal.js +30 -13
- package/dist/IrisGridCellOverflowModal.js.map +1 -1
- package/dist/IrisGridCellRendererUtils.js +6 -12
- package/dist/IrisGridCellRendererUtils.js.map +1 -1
- package/dist/IrisGridCopyHandler.js +28 -47
- package/dist/IrisGridCopyHandler.js.map +1 -1
- package/dist/IrisGridMetricCalculator.js +28 -51
- package/dist/IrisGridMetricCalculator.js.map +1 -1
- package/dist/IrisGridModelUpdater.js +32 -30
- package/dist/IrisGridModelUpdater.js.map +1 -1
- package/dist/IrisGridPartitionSelector.js +28 -62
- package/dist/IrisGridPartitionSelector.js.map +1 -1
- package/dist/IrisGridProxyModel.js +7 -12
- package/dist/IrisGridProxyModel.js.map +1 -1
- package/dist/IrisGridRenderer.js +162 -264
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridTableModel.js +23 -16
- package/dist/IrisGridTableModel.js.map +1 -1
- package/dist/IrisGridTableModelTemplate.js +49 -73
- package/dist/IrisGridTableModelTemplate.js.map +1 -1
- package/dist/IrisGridTestUtils.js +19 -19
- package/dist/IrisGridTestUtils.js.map +1 -1
- package/dist/IrisGridTextCellRenderer.js +35 -52
- package/dist/IrisGridTextCellRenderer.js.map +1 -1
- package/dist/IrisGridTheme.js +9 -1
- package/dist/IrisGridTheme.js.map +1 -1
- package/dist/IrisGridThemeProvider.js +5 -7
- package/dist/IrisGridThemeProvider.js.map +1 -1
- package/dist/IrisGridTreeTableModel.js +5 -9
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.js +246 -300
- package/dist/IrisGridUtils.js.map +1 -1
- package/dist/NoPastePermissionModal.js +3 -5
- package/dist/NoPastePermissionModal.js.map +1 -1
- package/dist/PendingDataBottomBar.js +27 -16
- package/dist/PendingDataBottomBar.js.map +1 -1
- package/dist/ToastBottomBar.js +16 -8
- package/dist/ToastBottomBar.js.map +1 -1
- package/dist/format-context-menus/CustomFormatAction.js +11 -24
- package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
- package/dist/key-handlers/CopyCellKeyHandler.js +3 -4
- package/dist/key-handlers/CopyCellKeyHandler.js.map +1 -1
- package/dist/key-handlers/CopyKeyHandler.js +1 -3
- package/dist/key-handlers/CopyKeyHandler.js.map +1 -1
- package/dist/key-handlers/ReverseKeyHandler.js +1 -3
- package/dist/key-handlers/ReverseKeyHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js +35 -59
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +13 -29
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +8 -17
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +96 -199
- package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js +2 -4
- package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js +16 -30
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridPartitionedTableMouseHandler.js +5 -13
- package/dist/mousehandlers/IrisGridPartitionedTableMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js +20 -36
- package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridSortMouseHandler.js +3 -5
- package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridTokenMouseHandler.js +9 -18
- package/dist/mousehandlers/IrisGridTokenMouseHandler.js.map +1 -1
- package/dist/mousehandlers/PendingMouseHandler.js +10 -18
- package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
- package/dist/sidebar/AdvancedSettingsMenu.js +12 -5
- package/dist/sidebar/AdvancedSettingsMenu.js.map +1 -1
- package/dist/sidebar/ChartBuilder.js +45 -102
- package/dist/sidebar/ChartBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.js +35 -77
- package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnInput.js +9 -11
- package/dist/sidebar/CustomColumnInput.js.map +1 -1
- package/dist/sidebar/InputEditor.js +17 -24
- package/dist/sidebar/InputEditor.js.map +1 -1
- package/dist/sidebar/PluginTableOptionsErrorBoundary.js +6 -11
- package/dist/sidebar/PluginTableOptionsErrorBoundary.js.map +1 -1
- package/dist/sidebar/RollupRows.js +72 -113
- package/dist/sidebar/RollupRows.js.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.js +16 -33
- package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
- package/dist/sidebar/TableCsvExporter.js +50 -74
- package/dist/sidebar/TableCsvExporter.js.map +1 -1
- package/dist/sidebar/TableSaver.js +18 -42
- package/dist/sidebar/TableSaver.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationEdit.js +25 -18
- package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
- package/dist/sidebar/aggregations/AggregationUtils.d.ts.map +1 -1
- package/dist/sidebar/aggregations/AggregationUtils.js +3 -4
- package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.js +45 -34
- package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +35 -24
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionEditor.js +38 -21
- package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +27 -11
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +9 -11
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +48 -57
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
- package/dist/sidebar/conditional-formatting/RowFormatEditor.js +35 -24
- package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/StyleEditor.js +26 -11
- package/dist/sidebar/conditional-formatting/StyleEditor.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/SearchItem.js +5 -7
- package/dist/sidebar/visibility-ordering-builder/SearchItem.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/SearchWithModal.js +24 -18
- package/dist/sidebar/visibility-ordering-builder/SearchWithModal.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js +166 -256
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js +4 -11
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js +28 -14
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js +16 -19
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/PointerSensorWithInteraction.js +1 -3
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/PointerSensorWithInteraction.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js +19 -29
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeDndContext.js +39 -52
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeDndContext.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js +18 -23
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js +19 -15
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/keyboardCoordinates.js +16 -30
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/keyboardCoordinates.js.map +1 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.js +30 -39
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.js.map +1 -1
- package/package.json +16 -16
package/dist/IrisGridRenderer.js
CHANGED
|
@@ -58,14 +58,10 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
58
58
|
this.drawPendingRowLine(context, state);
|
|
59
59
|
}
|
|
60
60
|
drawCellContent(context, state, column, row) {
|
|
61
|
-
var
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
var {
|
|
66
|
-
modelColumns,
|
|
67
|
-
modelRows
|
|
68
|
-
} = metrics;
|
|
61
|
+
var metrics = state.metrics,
|
|
62
|
+
model = state.model;
|
|
63
|
+
var modelColumns = metrics.modelColumns,
|
|
64
|
+
modelRows = metrics.modelRows;
|
|
69
65
|
var modelColumn = modelColumns.get(column);
|
|
70
66
|
var modelRow = getOrThrow(modelRows, row);
|
|
71
67
|
if (modelColumn === undefined) {
|
|
@@ -76,40 +72,33 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
76
72
|
cellRenderer.drawCellContent(context, state, column, row);
|
|
77
73
|
}
|
|
78
74
|
getCellOverflowButtonPosition(_ref) {
|
|
79
|
-
var
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
theme
|
|
84
|
-
} = _ref;
|
|
75
|
+
var mouseX = _ref.mouseX,
|
|
76
|
+
mouseY = _ref.mouseY,
|
|
77
|
+
metrics = _ref.metrics,
|
|
78
|
+
theme = _ref.theme;
|
|
85
79
|
return this.textCellRenderer.getCellOverflowButtonPosition(mouseX, mouseY, metrics, theme);
|
|
86
80
|
}
|
|
87
81
|
shouldRenderOverflowButton(state) {
|
|
88
82
|
return this.textCellRenderer.shouldRenderOverflowButton(state);
|
|
89
83
|
}
|
|
90
84
|
drawCellOverflowButton(state) {
|
|
91
|
-
var
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
theme
|
|
96
|
-
} = state;
|
|
85
|
+
var context = state.context,
|
|
86
|
+
mouseX = state.mouseX,
|
|
87
|
+
mouseY = state.mouseY,
|
|
88
|
+
theme = state.theme;
|
|
97
89
|
if (mouseX == null || mouseY == null) return;
|
|
98
90
|
if (!this.shouldRenderOverflowButton(state)) {
|
|
99
91
|
return;
|
|
100
92
|
}
|
|
101
|
-
var
|
|
102
|
-
left
|
|
103
|
-
top
|
|
104
|
-
width
|
|
105
|
-
height
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
overflowButtonHoverColor,
|
|
111
|
-
iconSize
|
|
112
|
-
} = theme;
|
|
93
|
+
var _this$getCellOverflow = this.getCellOverflowButtonPosition(state),
|
|
94
|
+
buttonLeft = _this$getCellOverflow.left,
|
|
95
|
+
buttonTop = _this$getCellOverflow.top,
|
|
96
|
+
buttonWidth = _this$getCellOverflow.width,
|
|
97
|
+
buttonHeight = _this$getCellOverflow.height;
|
|
98
|
+
var cellHorizontalPadding = theme.cellHorizontalPadding,
|
|
99
|
+
overflowButtonColor = theme.overflowButtonColor,
|
|
100
|
+
overflowButtonHoverColor = theme.overflowButtonHoverColor,
|
|
101
|
+
iconSize = theme.iconSize;
|
|
113
102
|
context.save();
|
|
114
103
|
if (overflowButtonHoverColor != null && buttonLeft != null && buttonWidth != null && buttonTop != null && buttonHeight != null && mouseX >= buttonLeft && mouseX <= buttonLeft + buttonWidth && mouseY >= buttonTop && mouseY <= buttonTop + buttonHeight) {
|
|
115
104
|
context.fillStyle = overflowButtonHoverColor;
|
|
@@ -124,19 +113,13 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
124
113
|
context.restore();
|
|
125
114
|
}
|
|
126
115
|
drawGroupedColumnLine(context, state) {
|
|
127
|
-
var
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
} = model;
|
|
135
|
-
var {
|
|
136
|
-
maxY,
|
|
137
|
-
allColumnWidths,
|
|
138
|
-
allColumnXs
|
|
139
|
-
} = metrics;
|
|
116
|
+
var metrics = state.metrics,
|
|
117
|
+
model = state.model,
|
|
118
|
+
theme = state.theme;
|
|
119
|
+
var groupedColumns = model.groupedColumns;
|
|
120
|
+
var maxY = metrics.maxY,
|
|
121
|
+
allColumnWidths = metrics.allColumnWidths,
|
|
122
|
+
allColumnXs = metrics.allColumnXs;
|
|
140
123
|
if (groupedColumns.length === 0 || theme.groupedColumnDividerColor == null) {
|
|
141
124
|
return;
|
|
142
125
|
}
|
|
@@ -162,18 +145,12 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
162
145
|
context.stroke();
|
|
163
146
|
}
|
|
164
147
|
drawPendingRowLine(context, state) {
|
|
165
|
-
var
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
var
|
|
171
|
-
allRowYs,
|
|
172
|
-
maxX
|
|
173
|
-
} = metrics;
|
|
174
|
-
var {
|
|
175
|
-
pendingRowCount
|
|
176
|
-
} = model;
|
|
148
|
+
var metrics = state.metrics,
|
|
149
|
+
model = state.model,
|
|
150
|
+
theme = state.theme;
|
|
151
|
+
var allRowYs = metrics.allRowYs,
|
|
152
|
+
maxX = metrics.maxX;
|
|
153
|
+
var pendingRowCount = model.pendingRowCount;
|
|
177
154
|
if (pendingRowCount <= 0) {
|
|
178
155
|
return;
|
|
179
156
|
}
|
|
@@ -194,51 +171,39 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
194
171
|
context.restore();
|
|
195
172
|
}
|
|
196
173
|
drawMouseColumnHover(context, state) {
|
|
197
|
-
var
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
hoverSelectColumn
|
|
201
|
-
} = state;
|
|
174
|
+
var theme = state.theme,
|
|
175
|
+
metrics = state.metrics,
|
|
176
|
+
hoverSelectColumn = state.hoverSelectColumn;
|
|
202
177
|
if (hoverSelectColumn == null || theme.linkerColumnHoverBackgroundColor == null) {
|
|
203
178
|
return;
|
|
204
179
|
}
|
|
205
|
-
var
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
maxY
|
|
209
|
-
} = metrics;
|
|
180
|
+
var allColumnWidths = metrics.allColumnWidths,
|
|
181
|
+
allColumnXs = metrics.allColumnXs,
|
|
182
|
+
maxY = metrics.maxY;
|
|
210
183
|
var x = getOrThrow(allColumnXs, hoverSelectColumn);
|
|
211
184
|
var columnWidth = getOrThrow(allColumnWidths, hoverSelectColumn);
|
|
212
185
|
context.fillStyle = theme.linkerColumnHoverBackgroundColor;
|
|
213
186
|
context.fillRect(x, 0, columnWidth, maxY);
|
|
214
187
|
}
|
|
215
188
|
drawMouseRowHover(context, state) {
|
|
216
|
-
var
|
|
217
|
-
isSelectingColumn
|
|
218
|
-
} = state;
|
|
189
|
+
var isSelectingColumn = state.isSelectingColumn;
|
|
219
190
|
if (!isSelectingColumn) {
|
|
220
191
|
super.drawMouseRowHover(context, state);
|
|
221
192
|
}
|
|
222
193
|
}
|
|
223
194
|
drawScrim(state) {
|
|
224
|
-
var
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
theme
|
|
229
|
-
} = state;
|
|
195
|
+
var context = state.context,
|
|
196
|
+
loadingScrimProgress = state.loadingScrimProgress,
|
|
197
|
+
metrics = state.metrics,
|
|
198
|
+
theme = state.theme;
|
|
230
199
|
if (loadingScrimProgress == null) {
|
|
231
200
|
return;
|
|
232
201
|
}
|
|
233
|
-
var
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
var {
|
|
239
|
-
scrimBlurSize,
|
|
240
|
-
scrimColor
|
|
241
|
-
} = theme;
|
|
202
|
+
var width = metrics.width,
|
|
203
|
+
height = metrics.height,
|
|
204
|
+
gridY = metrics.gridY;
|
|
205
|
+
var scrimBlurSize = theme.scrimBlurSize,
|
|
206
|
+
scrimColor = theme.scrimColor;
|
|
242
207
|
context.save();
|
|
243
208
|
|
|
244
209
|
// Use global composite so we can change the underlying layer to grayscale
|
|
@@ -264,22 +229,16 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
264
229
|
}
|
|
265
230
|
drawColumnHeaders(context, state) {
|
|
266
231
|
super.drawColumnHeaders(context, state);
|
|
267
|
-
var
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
} = state;
|
|
273
|
-
var {
|
|
274
|
-
columnHeaderHeight
|
|
275
|
-
} = metrics;
|
|
232
|
+
var theme = state.theme,
|
|
233
|
+
metrics = state.metrics,
|
|
234
|
+
model = state.model,
|
|
235
|
+
reverse = state.reverse;
|
|
236
|
+
var columnHeaderHeight = metrics.columnHeaderHeight;
|
|
276
237
|
this.drawFilterHeaders(context, state);
|
|
277
238
|
if (columnHeaderHeight <= 0) {
|
|
278
239
|
return;
|
|
279
240
|
}
|
|
280
|
-
var
|
|
281
|
-
sort
|
|
282
|
-
} = model;
|
|
241
|
+
var sort = model.sort;
|
|
283
242
|
// if there is only one sort bar, it is interior to the header to save space
|
|
284
243
|
if (sort.length === 1) {
|
|
285
244
|
var color;
|
|
@@ -300,15 +259,11 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
300
259
|
}
|
|
301
260
|
drawHeaderBar(context, state, color, barHeight) {
|
|
302
261
|
var interior = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
|
|
303
|
-
var
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
var {
|
|
309
|
-
columnHeaderHeight,
|
|
310
|
-
width
|
|
311
|
-
} = metrics;
|
|
262
|
+
var theme = state.theme,
|
|
263
|
+
metrics = state.metrics,
|
|
264
|
+
model = state.model;
|
|
265
|
+
var columnHeaderHeight = metrics.columnHeaderHeight,
|
|
266
|
+
width = metrics.width;
|
|
312
267
|
// Draw casing with 1 pixel above and below the bar,
|
|
313
268
|
// 1px falls on the existing split between grid/headers
|
|
314
269
|
// so don't need to be accounnted for in math elsewhere
|
|
@@ -322,21 +277,13 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
322
277
|
context.fillRect(0, model.columnHeaderMaxDepth * columnHeaderHeight - barHeight - 1 + offset, width, barHeight);
|
|
323
278
|
}
|
|
324
279
|
drawColumnHeadersAtDepth(context, state, range, boundsProp, depth) {
|
|
325
|
-
var
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
var
|
|
332
|
-
columnHeaderMaxDepth
|
|
333
|
-
} = model;
|
|
334
|
-
var {
|
|
335
|
-
width
|
|
336
|
-
} = metrics;
|
|
337
|
-
var {
|
|
338
|
-
columnHeaderHeight
|
|
339
|
-
} = theme;
|
|
280
|
+
var metrics = state.metrics,
|
|
281
|
+
model = state.model,
|
|
282
|
+
isMenuShown = state.isMenuShown,
|
|
283
|
+
theme = state.theme;
|
|
284
|
+
var columnHeaderMaxDepth = model.columnHeaderMaxDepth;
|
|
285
|
+
var width = metrics.width;
|
|
286
|
+
var columnHeaderHeight = theme.columnHeaderHeight;
|
|
340
287
|
var bounds = _objectSpread(_objectSpread({}, boundsProp), {}, {
|
|
341
288
|
maxX: depth === columnHeaderMaxDepth - 1 && boundsProp.maxX === width ? width - (isMenuShown ? 0 : columnHeaderHeight) // Account for the menu button
|
|
342
289
|
: boundsProp.maxX
|
|
@@ -346,22 +293,16 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
346
293
|
drawColumnHeaderAtIndex(context, state, index, bounds) {
|
|
347
294
|
var _model$columns$modelC;
|
|
348
295
|
super.drawColumnHeaderAtIndex(context, state, index, bounds);
|
|
349
|
-
var
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
columnHeaderHeight
|
|
360
|
-
} = metrics;
|
|
361
|
-
var {
|
|
362
|
-
headerHorizontalPadding,
|
|
363
|
-
iconSize: themeIconSize
|
|
364
|
-
} = theme;
|
|
296
|
+
var metrics = state.metrics,
|
|
297
|
+
model = state.model,
|
|
298
|
+
theme = state.theme;
|
|
299
|
+
var modelColumns = metrics.modelColumns,
|
|
300
|
+
allColumnWidths = metrics.allColumnWidths,
|
|
301
|
+
allColumnXs = metrics.allColumnXs,
|
|
302
|
+
gridX = metrics.gridX,
|
|
303
|
+
columnHeaderHeight = metrics.columnHeaderHeight;
|
|
304
|
+
var headerHorizontalPadding = theme.headerHorizontalPadding,
|
|
305
|
+
themeIconSize = theme.iconSize;
|
|
365
306
|
var iconSize = Math.round(themeIconSize * 0.75); // The vsTriangle icons are a bit bigger than we want
|
|
366
307
|
var columnWidth = getOrThrow(allColumnWidths, index, 0);
|
|
367
308
|
var columnX = getOrThrow(allColumnXs, index) + gridX;
|
|
@@ -387,9 +328,7 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
387
328
|
}
|
|
388
329
|
var textWidth = this.getCachedHeaderWidth(context, text);
|
|
389
330
|
var textRight = gridX + columnX + textWidth + headerHorizontalPadding;
|
|
390
|
-
var
|
|
391
|
-
maxX
|
|
392
|
-
} = bounds;
|
|
331
|
+
var maxX = bounds.maxX;
|
|
393
332
|
maxX -= headerHorizontalPadding; // Right visible edge of the headers
|
|
394
333
|
// Right edge of the column. The icon has its own horizontal padding
|
|
395
334
|
var defaultX = gridX + columnX + columnWidth - iconSize;
|
|
@@ -408,11 +347,9 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
408
347
|
context.restore();
|
|
409
348
|
}
|
|
410
349
|
drawFilterHeaders(context, state) {
|
|
411
|
-
var
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
advancedFilters
|
|
415
|
-
} = state;
|
|
350
|
+
var isFilterBarShown = state.isFilterBarShown,
|
|
351
|
+
quickFilters = state.quickFilters,
|
|
352
|
+
advancedFilters = state.advancedFilters;
|
|
416
353
|
if (isFilterBarShown) {
|
|
417
354
|
this.drawExpandedFilterHeaders(context, state);
|
|
418
355
|
} else if (quickFilters != null && quickFilters.size > 0 || advancedFilters != null && advancedFilters.size > 0) {
|
|
@@ -420,28 +357,22 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
420
357
|
}
|
|
421
358
|
}
|
|
422
359
|
drawExpandedFilterHeaders(context, state) {
|
|
423
|
-
var
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
} = state;
|
|
430
|
-
var {
|
|
431
|
-
filterBarHeight
|
|
432
|
-
} = theme;
|
|
360
|
+
var metrics = state.metrics,
|
|
361
|
+
model = state.model,
|
|
362
|
+
theme = state.theme,
|
|
363
|
+
quickFilters = state.quickFilters,
|
|
364
|
+
advancedFilters = state.advancedFilters;
|
|
365
|
+
var filterBarHeight = theme.filterBarHeight;
|
|
433
366
|
if (filterBarHeight <= 0) {
|
|
434
367
|
return;
|
|
435
368
|
}
|
|
436
|
-
var
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
allColumnXs
|
|
444
|
-
} = metrics;
|
|
369
|
+
var gridX = metrics.gridX,
|
|
370
|
+
gridY = metrics.gridY,
|
|
371
|
+
maxX = metrics.maxX,
|
|
372
|
+
modelColumns = metrics.modelColumns,
|
|
373
|
+
visibleColumns = metrics.visibleColumns,
|
|
374
|
+
allColumnWidths = metrics.allColumnWidths,
|
|
375
|
+
allColumnXs = metrics.allColumnXs;
|
|
445
376
|
var columnHeaderHeight = gridY - filterBarHeight;
|
|
446
377
|
context.save();
|
|
447
378
|
context.font = theme.filterBarFont;
|
|
@@ -489,23 +420,17 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
489
420
|
if (columnWidth <= 0) {
|
|
490
421
|
return;
|
|
491
422
|
}
|
|
492
|
-
var
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
var
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
filterBarHeight,
|
|
504
|
-
filterBarExpandedActiveCellBackgroundColor,
|
|
505
|
-
filterBarErrorColor,
|
|
506
|
-
filterBarHorizontalPadding,
|
|
507
|
-
headerColor
|
|
508
|
-
} = theme;
|
|
423
|
+
var metrics = state.metrics,
|
|
424
|
+
theme = state.theme,
|
|
425
|
+
quickFilters = state.quickFilters,
|
|
426
|
+
advancedFilters = state.advancedFilters;
|
|
427
|
+
var modelColumns = metrics.modelColumns,
|
|
428
|
+
gridY = metrics.gridY;
|
|
429
|
+
var filterBarHeight = theme.filterBarHeight,
|
|
430
|
+
filterBarExpandedActiveCellBackgroundColor = theme.filterBarExpandedActiveCellBackgroundColor,
|
|
431
|
+
filterBarErrorColor = theme.filterBarErrorColor,
|
|
432
|
+
filterBarHorizontalPadding = theme.filterBarHorizontalPadding,
|
|
433
|
+
headerColor = theme.headerColor;
|
|
509
434
|
var columnHeaderHeight = gridY - filterBarHeight;
|
|
510
435
|
var modelColumn = modelColumns.get(column);
|
|
511
436
|
if (modelColumn === undefined) return;
|
|
@@ -516,18 +441,14 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
516
441
|
}
|
|
517
442
|
var text = null;
|
|
518
443
|
if (quickFilter != null) {
|
|
519
|
-
var
|
|
520
|
-
text: filterText
|
|
521
|
-
} = quickFilter;
|
|
444
|
+
var filterText = quickFilter.text;
|
|
522
445
|
text = filterText;
|
|
523
446
|
if (!text) {
|
|
524
447
|
text = TableUtils.getFilterText(quickFilter.filter);
|
|
525
448
|
}
|
|
526
449
|
if (text != null) {
|
|
527
|
-
var
|
|
528
|
-
|
|
529
|
-
fontWidthsUpper
|
|
530
|
-
} = metrics;
|
|
450
|
+
var fontWidthsLower = metrics.fontWidthsLower,
|
|
451
|
+
fontWidthsUpper = metrics.fontWidthsUpper;
|
|
531
452
|
var fontWidthLower = fontWidthsLower.get(context.font);
|
|
532
453
|
var fontWidthUpper = fontWidthsUpper.get(context.font);
|
|
533
454
|
var maxLength = columnWidth - filterBarHorizontalPadding * 2;
|
|
@@ -569,25 +490,19 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
569
490
|
context.restore();
|
|
570
491
|
}
|
|
571
492
|
drawCollapsedFilterHeaders(context, state) {
|
|
572
|
-
var
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
var {
|
|
577
|
-
headerSeparatorColor,
|
|
578
|
-
filterBarCollapsedHeight
|
|
579
|
-
} = theme;
|
|
493
|
+
var metrics = state.metrics,
|
|
494
|
+
theme = state.theme;
|
|
495
|
+
var headerSeparatorColor = theme.headerSeparatorColor,
|
|
496
|
+
filterBarCollapsedHeight = theme.filterBarCollapsedHeight;
|
|
580
497
|
if (filterBarCollapsedHeight <= 0) {
|
|
581
498
|
return;
|
|
582
499
|
}
|
|
583
|
-
var
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
allColumnXs
|
|
590
|
-
} = metrics;
|
|
500
|
+
var gridX = metrics.gridX,
|
|
501
|
+
gridY = metrics.gridY,
|
|
502
|
+
maxX = metrics.maxX,
|
|
503
|
+
visibleColumns = metrics.visibleColumns,
|
|
504
|
+
allColumnWidths = metrics.allColumnWidths,
|
|
505
|
+
allColumnXs = metrics.allColumnXs;
|
|
591
506
|
var columnHeaderHeight = gridY - filterBarCollapsedHeight;
|
|
592
507
|
context.save();
|
|
593
508
|
|
|
@@ -610,26 +525,20 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
610
525
|
if (columnWidth <= 0) {
|
|
611
526
|
return;
|
|
612
527
|
}
|
|
613
|
-
var
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
var {
|
|
620
|
-
modelColumns,
|
|
621
|
-
gridY
|
|
622
|
-
} = metrics;
|
|
528
|
+
var metrics = state.metrics,
|
|
529
|
+
theme = state.theme,
|
|
530
|
+
quickFilters = state.quickFilters,
|
|
531
|
+
advancedFilters = state.advancedFilters;
|
|
532
|
+
var modelColumns = metrics.modelColumns,
|
|
533
|
+
gridY = metrics.gridY;
|
|
623
534
|
var modelColumn = modelColumns.get(column);
|
|
624
535
|
if (modelColumn === undefined) return;
|
|
625
536
|
var quickFilter = quickFilters.get(modelColumn);
|
|
626
537
|
var advancedFilter = advancedFilters.get(modelColumn);
|
|
627
|
-
var
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
filterBarErrorColor
|
|
632
|
-
} = theme;
|
|
538
|
+
var filterBarCollapsedHeight = theme.filterBarCollapsedHeight,
|
|
539
|
+
filterBarActiveColor = theme.filterBarActiveColor,
|
|
540
|
+
filterBarActiveBackgroundColor = theme.filterBarActiveBackgroundColor,
|
|
541
|
+
filterBarErrorColor = theme.filterBarErrorColor;
|
|
633
542
|
context.save();
|
|
634
543
|
var isFilterValid = IrisGridRenderer.isFilterValid(advancedFilter, quickFilter);
|
|
635
544
|
if (filterBarActiveBackgroundColor != null && quickFilter == null && advancedFilter == null) {
|
|
@@ -647,40 +556,34 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
647
556
|
context.restore();
|
|
648
557
|
}
|
|
649
558
|
drawRowFooters(context, state) {
|
|
650
|
-
var
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
allRowHeights,
|
|
670
|
-
allRowYs,
|
|
671
|
-
width
|
|
672
|
-
} = metrics;
|
|
559
|
+
var metrics = state.metrics,
|
|
560
|
+
model = state.model,
|
|
561
|
+
mouseX = state.mouseX,
|
|
562
|
+
mouseY = state.mouseY,
|
|
563
|
+
theme = state.theme;
|
|
564
|
+
var gridY = metrics.gridY,
|
|
565
|
+
gridX = metrics.gridX,
|
|
566
|
+
maxX = metrics.maxX,
|
|
567
|
+
modelRows = metrics.modelRows,
|
|
568
|
+
floatingTopHeight = metrics.floatingTopHeight,
|
|
569
|
+
floatingBottomHeight = metrics.floatingBottomHeight,
|
|
570
|
+
floatingRows = metrics.floatingRows,
|
|
571
|
+
rowFooterWidth = metrics.rowFooterWidth,
|
|
572
|
+
height = metrics.height,
|
|
573
|
+
horizontalBarHeight = metrics.horizontalBarHeight,
|
|
574
|
+
verticalBarWidth = metrics.verticalBarWidth,
|
|
575
|
+
allRowHeights = metrics.allRowHeights,
|
|
576
|
+
allRowYs = metrics.allRowYs,
|
|
577
|
+
width = metrics.width;
|
|
673
578
|
// Only draw the footers on the floating rows
|
|
674
579
|
if (rowFooterWidth <= 0 || floatingRows.length === 0) {
|
|
675
580
|
return;
|
|
676
581
|
}
|
|
677
|
-
var
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
rowHoverBackgroundColor
|
|
683
|
-
} = theme;
|
|
582
|
+
var cellHorizontalPadding = theme.cellHorizontalPadding,
|
|
583
|
+
floatingGridRowColor = theme.floatingGridRowColor,
|
|
584
|
+
floatingRowBackgroundColors = theme.floatingRowBackgroundColors,
|
|
585
|
+
headerColor = theme.headerColor,
|
|
586
|
+
rowHoverBackgroundColor = theme.rowHoverBackgroundColor;
|
|
684
587
|
context.translate(gridX, gridY);
|
|
685
588
|
context.beginPath();
|
|
686
589
|
var x = Math.min(maxX, width - rowFooterWidth - verticalBarWidth - gridX);
|
|
@@ -731,12 +634,10 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
731
634
|
context.translate(-gridX, -gridY);
|
|
732
635
|
}
|
|
733
636
|
getExpandButtonPosition(_ref2, depth) {
|
|
734
|
-
var
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
theme
|
|
739
|
-
} = _ref2;
|
|
637
|
+
var mouseX = _ref2.mouseX,
|
|
638
|
+
mouseY = _ref2.mouseY,
|
|
639
|
+
metrics = _ref2.metrics,
|
|
640
|
+
theme = _ref2.theme;
|
|
740
641
|
var NULL_POSITION = {
|
|
741
642
|
left: null,
|
|
742
643
|
top: null,
|
|
@@ -746,17 +647,14 @@ export class IrisGridRenderer extends GridRenderer {
|
|
|
746
647
|
if (mouseX == null || mouseY == null || depth == null || !metrics) {
|
|
747
648
|
return NULL_POSITION;
|
|
748
649
|
}
|
|
749
|
-
var
|
|
750
|
-
rowHeight,
|
|
751
|
-
left,
|
|
752
|
-
top
|
|
753
|
-
} = GridUtils.getCellInfoFromXY(mouseX, mouseY, metrics);
|
|
650
|
+
var _GridUtils$getCellInf = GridUtils.getCellInfoFromXY(mouseX, mouseY, metrics),
|
|
651
|
+
rowHeight = _GridUtils$getCellInf.rowHeight,
|
|
652
|
+
left = _GridUtils$getCellInf.left,
|
|
653
|
+
top = _GridUtils$getCellInf.top;
|
|
754
654
|
if (left == null || rowHeight == null || top == null) {
|
|
755
655
|
return NULL_POSITION;
|
|
756
656
|
}
|
|
757
|
-
var
|
|
758
|
-
cellHorizontalPadding
|
|
759
|
-
} = theme;
|
|
657
|
+
var cellHorizontalPadding = theme.cellHorizontalPadding;
|
|
760
658
|
var width = EXPAND_ICON_SIZE + 2 * cellHorizontalPadding;
|
|
761
659
|
var buttonLeft = Math.max(left + EXPAND_ICON_SIZE * depth, metrics.gridX);
|
|
762
660
|
var buttonTop = metrics.gridY + top;
|