d2coreui 23.0.30 → 23.0.32

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.
@@ -5,7 +5,7 @@ import 'ag-grid-community/styles/ag-grid.css';
5
5
  import 'ag-grid-community/styles/ag-theme-balham.css';
6
6
  import 'd2coreui/style/ag-grid/aggrid-adaptations.css';
7
7
  import { ContextMenuProps, PageOrientation } from "d2coreui/components/grid/export/contextMenu";
8
- import { CellClassParams, CellFocusedEvent, CellMouseDownEvent, ColDef, Column, ColumnEvent, ColumnState, FilterChangedEvent, FilterModifiedEvent, GridApi, GridOptions, GridReadyEvent, IRowNode, PaginationChangedEvent, RowClassParams, RowPinnedType, RowStyle, ViewportChangedEvent } from "ag-grid-community";
8
+ import { CellClassParams, CellFocusedEvent, CellMouseDownEvent, CellMouseOverEvent, ColDef, Column, ColumnEvent, ColumnState, FilterChangedEvent, FilterModifiedEvent, GridApi, GridOptions, GridReadyEvent, IRowNode, PaginationChangedEvent, RowClassParams, RowPinnedType, RowStyle, ViewportChangedEvent } from "ag-grid-community";
9
9
  import { GridRowStyle, RowStyleRule } from "d2coreui/components/grid/cell/tableDefaultRowStyleRules";
10
10
  import ProgressPopup from "d2coreui/components/grid/export/progressPopup";
11
11
  import WildcardQuickFilterEngine from "./filter/wildcardQuickFilterEngine";
@@ -117,6 +117,12 @@ export interface DataGridProps extends Omit<GridOptions, "columnDefs" | "paginat
117
117
  };
118
118
  getRowStyle?(params: any): GridRowStyle | undefined;
119
119
  gridRef?: React.RefObject<AgGridReact>;
120
+ showFillHandle?: boolean;
121
+ onFillHandleComplete?: (startRow: number, endRow: number, columns: string[]) => void;
122
+ }
123
+ interface CellCoord {
124
+ rowIndex: number;
125
+ colId: string;
120
126
  }
121
127
  interface DataGridState {
122
128
  pageIndex: number;
@@ -134,6 +140,10 @@ interface DataGridState {
134
140
  columnTransferHeight: number;
135
141
  pageOrientation: PageOrientation;
136
142
  exporting: boolean;
143
+ isDragging: boolean;
144
+ startCoord: CellCoord | null;
145
+ endCoord: CellCoord | null;
146
+ focusedCell: CellCoord | null;
137
147
  }
138
148
  export default class DataGrid extends React.Component<DataGridProps, DataGridState> {
139
149
  static defaultProps: {
@@ -161,6 +171,7 @@ export default class DataGrid extends React.Component<DataGridProps, DataGridSta
161
171
  private static getCellValue;
162
172
  textCustomComparator(filter: string, value: any, filterText: string): boolean;
163
173
  componentDidUpdate(prevProps: DataGridProps): void;
174
+ componentWillUnmount(): void;
164
175
  setColumnState(columnModel: ColumnState[]): void;
165
176
  setSortModel(sortModel: SortItem[]): void;
166
177
  getSortModel(): SortItem[];
@@ -194,7 +205,9 @@ export default class DataGrid extends React.Component<DataGridProps, DataGridSta
194
205
  getValue(column: Column, row: IRowNode, doNotReplaceNewline?: boolean): string;
195
206
  getExportContent(progressPopup: ProgressPopup | null, props: ContextMenuProps): Promise<string[][]>;
196
207
  onCellFocused(event: CellFocusedEvent): void;
208
+ onCellMouseOver(e: CellMouseOverEvent): void;
197
209
  onCellMouseDown(e: CellMouseDownEvent): void;
210
+ onMouseUp(): void;
198
211
  setFocusedCellDebounced(rowIndex: number, column: string | Column, rowPinned: RowPinnedType): void;
199
212
  private onCellContextMenu;
200
213
  private loadingOverlayRenderer;
@@ -217,6 +230,7 @@ export default class DataGrid extends React.Component<DataGridProps, DataGridSta
217
230
  renderToolBarWithSearch(): ReactElement;
218
231
  getSettingsMenu(): MenuProps;
219
232
  private getAdaptedColumnDefs;
233
+ private isInRange;
220
234
  render(): React.JSX.Element;
221
235
  }
222
236
  export {};
@@ -116,7 +116,11 @@ class DataGrid extends React.Component {
116
116
  loading: false,
117
117
  columnTransferHeight: 500,
118
118
  pageOrientation: "PORTRAIT",
119
- exporting: false
119
+ exporting: false,
120
+ isDragging: false,
121
+ startCoord: null,
122
+ endCoord: null,
123
+ focusedCell: null,
120
124
  };
121
125
  this.indexToJump = null;
122
126
  this.columnToJump = null;
@@ -126,6 +130,8 @@ class DataGrid extends React.Component {
126
130
  this.onCellContextMenu = this.onCellContextMenu.bind(this);
127
131
  this.onCellFocused = this.onCellFocused.bind(this);
128
132
  this.onCellMouseDown = this.onCellMouseDown.bind(this);
133
+ this.onCellMouseOver = this.onCellMouseOver.bind(this);
134
+ this.onMouseUp = this.onMouseUp.bind(this);
129
135
  this.setFocusedCellDebounced = debounce(this.setFocusedCellDebounced.bind(this), 200);
130
136
  this.noRecordsOverlayRenderer = this.noRecordsOverlayRenderer.bind(this);
131
137
  this.loadingOverlayRenderer = this.loadingOverlayRenderer.bind(this);
@@ -240,7 +246,7 @@ class DataGrid extends React.Component {
240
246
  return "---";
241
247
  }
242
248
  let tooltipValue;
243
- tooltipValue = unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(true, true, true));
249
+ tooltipValue = unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(true, true, true, true));
244
250
  return React.createElement("span", { title: tooltipValue }, unixTimeToMoment(value).format(LocaleHolder.getDateFormat(!this.props.hideYear)));
245
251
  }
246
252
  else {
@@ -280,8 +286,8 @@ class DataGrid extends React.Component {
280
286
  return "Null Time";
281
287
  }
282
288
  let tooltipValue;
283
- tooltipValue = unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(true, true, true));
284
- return React.createElement("span", { title: tooltipValue }, unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(!this.props.hideYear, true, this.props.showMilliseconds)));
289
+ tooltipValue = unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(true, true, true, true));
290
+ return React.createElement("span", { title: tooltipValue }, unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(!this.props.hideYear, true, this.props.showMilliseconds, true)));
285
291
  }
286
292
  else {
287
293
  return "---";
@@ -290,7 +296,7 @@ class DataGrid extends React.Component {
290
296
  valueFormatter: (params) => {
291
297
  const value = DataGrid.getCellValue(params);
292
298
  if (value !== undefined) {
293
- return unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(!this.props.hideYear, true, this.props.showMilliseconds));
299
+ return unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(!this.props.hideYear, true, this.props.showMilliseconds, true));
294
300
  }
295
301
  return "---";
296
302
  },
@@ -300,14 +306,14 @@ class DataGrid extends React.Component {
300
306
  filterValueGetter: (params) => {
301
307
  const value = DataGrid.getCellValue(params);
302
308
  if (value !== undefined) {
303
- return unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(!this.props.hideYear, true, this.props.showMilliseconds));
309
+ return unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(!this.props.hideYear, true, this.props.showMilliseconds, true));
304
310
  }
305
311
  return null;
306
312
  },
307
313
  getQuickFilterText: (params) => {
308
314
  const value = DataGrid.getCellValue(params);
309
315
  if (value !== undefined) {
310
- return unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(!this.props.hideYear, true, this.props.showMilliseconds));
316
+ return unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(!this.props.hideYear, true, this.props.showMilliseconds, true));
311
317
  }
312
318
  return "";
313
319
  }
@@ -317,7 +323,7 @@ class DataGrid extends React.Component {
317
323
  const value = DataGrid.getCellValue(params);
318
324
  if (value !== undefined) {
319
325
  let tooltipValue;
320
- tooltipValue = unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(true, true, true));
326
+ tooltipValue = unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(true, true, true, true));
321
327
  return React.createElement("span", { title: tooltipValue }, unixTimeToMoment(value).fromNow());
322
328
  }
323
329
  else {
@@ -327,7 +333,7 @@ class DataGrid extends React.Component {
327
333
  valueFormatter: (params) => {
328
334
  const value = DataGrid.getCellValue(params);
329
335
  if (value !== undefined) {
330
- return unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(!this.props.hideYear, true, this.props.showMilliseconds));
336
+ return unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(!this.props.hideYear, true, this.props.showMilliseconds, true));
331
337
  }
332
338
  return "---";
333
339
  },
@@ -337,14 +343,14 @@ class DataGrid extends React.Component {
337
343
  filterValueGetter: (params) => {
338
344
  const value = DataGrid.getCellValue(params);
339
345
  if (value !== undefined) {
340
- return unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(!this.props.hideYear, true, this.props.showMilliseconds));
346
+ return unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(!this.props.hideYear, true, this.props.showMilliseconds, true));
341
347
  }
342
348
  return null;
343
349
  },
344
350
  getQuickFilterText: (params) => {
345
351
  const value = DataGrid.getCellValue(params);
346
352
  if (value !== undefined) {
347
- return unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(!this.props.hideYear, true, this.props.showMilliseconds));
353
+ return unixTimeToMoment(value).format(LocaleHolder.getDateTimeFormat(!this.props.hideYear, true, this.props.showMilliseconds, true));
348
354
  }
349
355
  return "";
350
356
  }
@@ -493,6 +499,9 @@ class DataGrid extends React.Component {
493
499
  }
494
500
  this.updateRowHeight();
495
501
  }
502
+ componentWillUnmount() {
503
+ window.removeEventListener('mouseup', this.onMouseUp);
504
+ }
496
505
  setColumnState(columnModel) {
497
506
  var _a;
498
507
  const columnStates = [];
@@ -587,6 +596,7 @@ class DataGrid extends React.Component {
587
596
  });
588
597
  this.updateRowHeight();
589
598
  }
599
+ window.addEventListener('mouseup', this.onMouseUp);
590
600
  setTimeout(() => {
591
601
  if (!!this.lastPaginationEvent) {
592
602
  this.onPaginationChanged(this.lastPaginationEvent);
@@ -1254,9 +1264,24 @@ class DataGrid extends React.Component {
1254
1264
  row.setSelected(true, true);
1255
1265
  }
1256
1266
  }
1267
+ if (event.rowIndex !== null && event.column !== null && this.props.showFillHandle) {
1268
+ const colId = typeof event.column === "string" ? event.column : event.column.getColId();
1269
+ this.setState({ focusedCell: { rowIndex: event.rowIndex, colId: colId } }, () => {
1270
+ var _a;
1271
+ (_a = this.gridApi) === null || _a === void 0 ? void 0 : _a.refreshCells({ force: true });
1272
+ });
1273
+ }
1257
1274
  (_e = (_d = this.props).onCellFocused) === null || _e === void 0 ? void 0 : _e.call(_d, event);
1258
1275
  this.lastCellFocus = event;
1259
1276
  }
1277
+ onCellMouseOver(e) {
1278
+ if (this.state.isDragging) {
1279
+ this.setState({ endCoord: { rowIndex: e.rowIndex, colId: e.column.getColId() } }, () => {
1280
+ var _a;
1281
+ (_a = this.gridApi) === null || _a === void 0 ? void 0 : _a.refreshCells({ force: true });
1282
+ });
1283
+ }
1284
+ }
1260
1285
  onCellMouseDown(e) {
1261
1286
  var _a, _b;
1262
1287
  this.lastNavigationEvent = 1;
@@ -1264,7 +1289,42 @@ class DataGrid extends React.Component {
1264
1289
  this.setFocusedCellDebounced(e.rowIndex, e.column, e.rowPinned !== null ? e.rowPinned : undefined);
1265
1290
  }
1266
1291
  (_b = (_a = this.props).onCellMouseDown) === null || _b === void 0 ? void 0 : _b.call(_a, e);
1292
+ if (this.props.showFillHandle) {
1293
+ const mouseEvent = e.event;
1294
+ const cellElement = mouseEvent.target.closest('.ag-cell');
1295
+ const rect = cellElement === null || cellElement === void 0 ? void 0 : cellElement.getBoundingClientRect();
1296
+ const isHandleClick = rect !== undefined && (rect.right - mouseEvent.clientX < 10) && (rect.bottom - mouseEvent.clientY < 10);
1297
+ if (isHandleClick) {
1298
+ this.setState({
1299
+ isDragging: true,
1300
+ startCoord: { rowIndex: e.rowIndex, colId: e.column.getColId() },
1301
+ endCoord: { rowIndex: e.rowIndex, colId: e.column.getColId() }
1302
+ });
1303
+ }
1304
+ }
1267
1305
  }
1306
+ onMouseUp() {
1307
+ var _a, _b, _c, _d;
1308
+ if (this.state.isDragging) {
1309
+ const columns = (_b = (_a = this.gridApi) === null || _a === void 0 ? void 0 : _a.getAllDisplayedColumns().map((c) => c.getColId())) !== null && _b !== void 0 ? _b : [];
1310
+ if (this.state.startCoord && this.state.endCoord) {
1311
+ const startIndex = columns.findIndex((c) => { var _a; return c === ((_a = this.state.startCoord) === null || _a === void 0 ? void 0 : _a.colId); });
1312
+ const endIndex = columns.findIndex((c) => { var _a; return c === ((_a = this.state.endCoord) === null || _a === void 0 ? void 0 : _a.colId); });
1313
+ if (startIndex >= 0 && endIndex >= 0) {
1314
+ const actualStart = Math.min(startIndex, endIndex);
1315
+ const actualEnd = Math.max(startIndex, endIndex);
1316
+ const actualRowStart = Math.min(this.state.startCoord.rowIndex, this.state.endCoord.rowIndex);
1317
+ const actualRowEnd = Math.max(this.state.startCoord.rowIndex, this.state.endCoord.rowIndex);
1318
+ (_d = (_c = this.props).onFillHandleComplete) === null || _d === void 0 ? void 0 : _d.call(_c, actualRowStart, actualRowEnd, columns.slice(actualStart, actualEnd + 1));
1319
+ }
1320
+ }
1321
+ this.setState({ isDragging: false, startCoord: null, endCoord: null }, () => {
1322
+ var _a;
1323
+ (_a = this.gridApi) === null || _a === void 0 ? void 0 : _a.refreshCells({ force: true });
1324
+ });
1325
+ }
1326
+ }
1327
+ ;
1268
1328
  setFocusedCellDebounced(rowIndex, column, rowPinned) {
1269
1329
  var _a;
1270
1330
  (_a = this.gridApi) === null || _a === void 0 ? void 0 : _a.setFocusedCell(rowIndex, column, rowPinned);
@@ -1559,7 +1619,10 @@ class DataGrid extends React.Component {
1559
1619
  }
1560
1620
  return Object.assign(Object.assign({}, rest), { floatingFilter: floatingFilterEnabledForColumn && floatingFilterEnabled, resizable: true, headerComponent: "simpleHeader", headerComponentParams: {
1561
1621
  onColumnsConfigVisible: this.showColumnsConfig
1562
- }, hide: (_d = (_c = this.state.columnModel.find((c) => c.colId === columnDef.colId)) === null || _c === void 0 ? void 0 : _c.hide) !== null && _d !== void 0 ? _d : (hide === undefined ? rest.initialHide : hide), cellStyle: this._getCellStyle, cellRendererParams: columnDef.cellStyle ? Object.assign(columnDef.cellRendererParams !== undefined ? columnDef.cellRendererParams : {}, { originalCellStyle: columnDef.cellStyle }) : columnDef.cellRendererParams, editable: editable, cellEditorPopup: !editable ? undefined : cellEditorPopup !== false });
1622
+ }, hide: (_d = (_c = this.state.columnModel.find((c) => c.colId === columnDef.colId)) === null || _c === void 0 ? void 0 : _c.hide) !== null && _d !== void 0 ? _d : (hide === undefined ? rest.initialHide : hide), cellStyle: this._getCellStyle, cellRendererParams: columnDef.cellStyle ? Object.assign(columnDef.cellRendererParams !== undefined ? columnDef.cellRendererParams : {}, { originalCellStyle: columnDef.cellStyle }) : columnDef.cellRendererParams, editable: editable, cellEditorPopup: !editable ? undefined : cellEditorPopup !== false, cellClassRules: {
1623
+ 'cell-has-handle': (p) => { var _a, _b; return ((_a = this.state.focusedCell) === null || _a === void 0 ? void 0 : _a.rowIndex) === p.rowIndex && ((_b = this.state.focusedCell) === null || _b === void 0 ? void 0 : _b.colId) === p.colDef.colId && !this.state.isDragging; },
1624
+ 'cell-drag-selected': (params) => (this.state.startCoord !== null && this.state.endCoord !== null) ? this.isInRange(params.rowIndex, params.colDef.colId) : false,
1625
+ } });
1563
1626
  }) : undefined;
1564
1627
  if (adaptedColumnDefs) {
1565
1628
  setTimeout(() => {
@@ -1569,6 +1632,22 @@ class DataGrid extends React.Component {
1569
1632
  }
1570
1633
  return adaptedColumnDefs;
1571
1634
  }
1635
+ isInRange(rowIndex, colId) {
1636
+ var _a;
1637
+ const { startCoord, endCoord } = this.state;
1638
+ if (startCoord === null || endCoord === null)
1639
+ return false;
1640
+ const allCols = ((_a = this.gridApi.getColumnDefs()) === null || _a === void 0 ? void 0 : _a.map(c => c.colId)) || [];
1641
+ const startColIdx = allCols.indexOf(startCoord.colId);
1642
+ const endColIdx = allCols.indexOf(endCoord.colId);
1643
+ const currentColIdx = allCols.indexOf(colId);
1644
+ const minRow = Math.min(startCoord.rowIndex, endCoord.rowIndex);
1645
+ const maxRow = Math.max(startCoord.rowIndex, endCoord.rowIndex);
1646
+ const minCol = Math.min(startColIdx, endColIdx);
1647
+ const maxCol = Math.max(startColIdx, endColIdx);
1648
+ return rowIndex >= minRow && rowIndex <= maxRow && currentColIdx >= minCol && currentColIdx <= maxCol;
1649
+ }
1650
+ ;
1572
1651
  render() {
1573
1652
  var _a, _b, _c, _d;
1574
1653
  const _e = this.props, { onGridReady, columnDefs, disableColumnDefsPreprocessing, onColumnsChanged, paging, onPaginationChanged, onViewportChanged, selectedIds, search, toolbar, filter, onFilterChanged, onFilterModified, onCellFocused, onSortChanged, components, tableConfigVisible, onTableConfigVisible, noRecordsOverlayRenderer, loadingOverlayRenderer, onRowDataUpdated, rowStyleRules, onChangeRowStyleRules, defaultShowMilliseconds, onShowMilliseconds, defaultHideYear, onShowYear, suppressLoadingOverlay, defaultColDef, headerHeight, rowData, rowDataManualMode, gridRef, quickFilterParser, quickFilterMatcher, rowSelection, contextMenu, settingsMenu, exportMenu, panelStyle, tablePanelStyle, onColumnDefsAdapted, tableOverlayRenderer, onKeyPressed } = _e, passedProperties = __rest(_e, ["onGridReady", "columnDefs", "disableColumnDefsPreprocessing", "onColumnsChanged", "paging", "onPaginationChanged", "onViewportChanged", "selectedIds", "search", "toolbar", "filter", "onFilterChanged", "onFilterModified", "onCellFocused", "onSortChanged", "components", "tableConfigVisible", "onTableConfigVisible", "noRecordsOverlayRenderer", "loadingOverlayRenderer", "onRowDataUpdated", "rowStyleRules", "onChangeRowStyleRules", "defaultShowMilliseconds", "onShowMilliseconds", "defaultHideYear", "onShowYear", "suppressLoadingOverlay", "defaultColDef", "headerHeight", "rowData", "rowDataManualMode", "gridRef", "quickFilterParser", "quickFilterMatcher", "rowSelection", "contextMenu", "settingsMenu", "exportMenu", "panelStyle", "tablePanelStyle", "onColumnDefsAdapted", "tableOverlayRenderer", "onKeyPressed"]);
@@ -1635,7 +1714,7 @@ class DataGrid extends React.Component {
1635
1714
  React.createElement("div", { className: "ag-theme-balham", style: { width: "100%", height: "100%" }, ref: (wrapingDiv) => {
1636
1715
  this.wrappingDiv = wrapingDiv;
1637
1716
  } },
1638
- React.createElement(AgGridReact, Object.assign({ key: key, debug: debugMode, ref: gridRef, paginationPageSize: paginationPageSize, maxConcurrentDatasourceRequests: this.props.rowModelType === "infinite" ? 1 : undefined, onGridReady: this.onGridReady, onPaginationChanged: this.onPaginationChanged, onFilterModified: this.onFilterModified, onFilterChanged: this.onFilterChanged, onSortChanged: this.onSortChanged, defaultColDef: this.getDefaultColDefinition(defaultColDef), columnDefs: adaptedColumnDefs, rowData: !rowDataManualMode ? rowData : undefined }, passedProperties, { onCellFocused: this.onCellFocused, cellSelection: rowSelection === "multiple" || (rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.mode) === "multiRow", rowSelection: rowSelection, suppressPaginationPanel: true, getRowId: getRowId, maintainColumnOrder: true, components: customComponents, columnTypes: this.columnTypes, onColumnVisible: this.onColumnsChanged, onColumnPinned: this.onColumnsChanged, onColumnResized: this.onColumnsChanged, onColumnMoved: this.onColumnsChanged, onCellMouseDown: this.onCellMouseDown, navigateToNextCell: this.navigateToNextCell, onViewportChanged: this.onViewportChanged, onCellContextMenu: this.onCellContextMenu, loadingOverlayComponent: 'loadingOverlay', noRowsOverlayComponent: 'noRecordsOverlay', onRowDataUpdated: this.onRowDataUpdated, context: this.table_context, rowHeight: this.state.rowHeight, getRowStyle: this._getRowStyle, getRowHeight: this._getRowHeight, headerHeight: headerHeight !== undefined ? headerHeight : headerFilterRowHeight, floatingFiltersHeight: headerFilterRowHeight, suppressLoadingOverlay: this.props.loadingOverlayRenderer ? true : this.props.suppressLoadingOverlay, quickFilterParser: this.wildcardQuickFilter.quickFilterParser, quickFilterMatcher: this.wildcardQuickFilter.quickFilterMatcher })),
1717
+ React.createElement(AgGridReact, Object.assign({ key: key, debug: debugMode, ref: gridRef, paginationPageSize: paginationPageSize, maxConcurrentDatasourceRequests: this.props.rowModelType === "infinite" ? 1 : undefined, onGridReady: this.onGridReady, onPaginationChanged: this.onPaginationChanged, onFilterModified: this.onFilterModified, onFilterChanged: this.onFilterChanged, onSortChanged: this.onSortChanged, defaultColDef: this.getDefaultColDefinition(defaultColDef), columnDefs: adaptedColumnDefs, rowData: !rowDataManualMode ? rowData : undefined }, passedProperties, { onCellFocused: this.onCellFocused, cellSelection: rowSelection === "multiple" || (rowSelection === null || rowSelection === void 0 ? void 0 : rowSelection.mode) === "multiRow", rowSelection: rowSelection, suppressPaginationPanel: true, getRowId: getRowId, maintainColumnOrder: true, components: customComponents, columnTypes: this.columnTypes, onColumnVisible: this.onColumnsChanged, onColumnPinned: this.onColumnsChanged, onColumnResized: this.onColumnsChanged, onColumnMoved: this.onColumnsChanged, onCellMouseOver: this.onCellMouseOver, onCellMouseDown: this.onCellMouseDown, navigateToNextCell: this.navigateToNextCell, onViewportChanged: this.onViewportChanged, onCellContextMenu: this.onCellContextMenu, loadingOverlayComponent: 'loadingOverlay', noRowsOverlayComponent: 'noRecordsOverlay', onRowDataUpdated: this.onRowDataUpdated, context: this.table_context, rowHeight: this.state.rowHeight, getRowStyle: this._getRowStyle, getRowHeight: this._getRowHeight, headerHeight: headerHeight !== undefined ? headerHeight : headerFilterRowHeight, floatingFiltersHeight: headerFilterRowHeight, suppressLoadingOverlay: this.props.loadingOverlayRenderer ? true : this.props.suppressLoadingOverlay, quickFilterParser: this.wildcardQuickFilter.quickFilterParser, quickFilterMatcher: this.wildcardQuickFilter.quickFilterMatcher })),
1639
1718
  this.state.loading && this.props.loadingOverlayRenderer &&
1640
1719
  React.createElement("div", { className: "ag-overlay", "aria-hidden": "true", ref: "overlayWrapper" },
1641
1720
  React.createElement("div", { className: "ag-overlay-panel" },