@slickgrid-universal/row-detail-view-plugin 5.12.1 → 5.13.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.
@@ -18,14 +18,14 @@ class SlickRowDetailView {
18
18
  this.pluginName = 'RowDetailView';
19
19
  this._dataViewIdProperty = 'id';
20
20
  this._expandableOverride = null;
21
- this._expandedRows = new Set();
21
+ this._expandedRowIds = new Set();
22
22
  this._gridRowBuffer = 0;
23
23
  this._gridUid = '';
24
24
  this._keyPrefix = '';
25
- this._lastRange = null;
26
- this._outsideRange = 5;
25
+ this._disposedRows = new Set();
27
26
  this._rowIdsOutOfViewport = new Set();
28
- this._visibleRenderedCellCount = 0;
27
+ this._renderedViewportRowIds = new Set();
28
+ this._renderedIds = new Set();
29
29
  this._defaults = {
30
30
  alwaysRenderColumn: true,
31
31
  columnId: '_detail_selector',
@@ -40,7 +40,6 @@ class SlickRowDetailView {
40
40
  reorderable: false,
41
41
  saveDetailViewOnScroll: true,
42
42
  singleRowExpand: false,
43
- useSimpleViewportCalc: false,
44
43
  toolTip: '',
45
44
  width: 30,
46
45
  };
@@ -49,6 +48,7 @@ class SlickRowDetailView {
49
48
  this.onAsyncResponse = new common_1.SlickEvent('onAsyncResponse');
50
49
  this.onAfterRowDetailToggle = new common_1.SlickEvent('onAfterRowDetailToggle');
51
50
  this.onBeforeRowDetailToggle = new common_1.SlickEvent('onBeforeRowDetailToggle');
51
+ this.onBeforeRowOutOfViewportRange = new common_1.SlickEvent('onBeforeRowOutOfViewportRange');
52
52
  this.onRowBackToViewportRange = new common_1.SlickEvent('onRowBackToViewportRange');
53
53
  this.onRowOutOfViewportRange = new common_1.SlickEvent('onRowOutOfViewportRange');
54
54
  }
@@ -72,21 +72,14 @@ class SlickRowDetailView {
72
72
  get gridUid() {
73
73
  return this._gridUid || this._grid?.getUID() || '';
74
74
  }
75
- set lastRange(range) {
76
- this._lastRange = range;
77
- }
78
75
  set rowIdsOutOfViewport(rowIds) {
79
76
  this._rowIdsOutOfViewport = new Set(rowIds);
80
77
  }
81
- get visibleRenderedCellCount() {
82
- return this._visibleRenderedCellCount;
83
- }
84
78
  /**
85
79
  * Initialize the Export Service
86
80
  * @param _grid
87
81
  */
88
82
  init(grid) {
89
- this._grid = grid;
90
83
  if (!grid) {
91
84
  throw new Error('[Slickgrid-Universal] RowDetailView Plugin requires the Grid instance to be passed as argument to the "init()" method.');
92
85
  }
@@ -104,20 +97,40 @@ class SlickRowDetailView {
104
97
  this._eventHandler
105
98
  .subscribe(this._grid.onClick, this.handleClick.bind(this))
106
99
  .subscribe(this._grid.onBeforeEditCell, () => this.collapseAll())
107
- .subscribe(this._grid.onScroll, this.handleScroll.bind(this));
100
+ .subscribe(this._grid.onScroll, this.handleScroll.bind(this))
101
+ .subscribe(this._grid.onBeforeRemoveCachedRow, (_e, args) => this.handleRemoveRow(args.row));
108
102
  // Sort will, by default, Collapse all of the open items (unless user implements his own onSort which deals with open row and padding)
109
103
  if (this._addonOptions.collapseAllOnSort) {
110
104
  // sort event can be triggered by column header click or from header menu
111
105
  this.pubSubService.subscribe('onSortChanged', () => this.collapseAll());
112
- this._expandedRows.clear();
113
- this._rowIdsOutOfViewport.clear();
114
106
  }
115
107
  this._eventHandler.subscribe(this.dataView.onRowCountChanged, () => {
116
108
  this._grid.updateRowCount();
117
109
  this._grid.render();
118
110
  });
119
111
  this._eventHandler.subscribe(this.dataView.onRowsChanged, (_e, args) => {
120
- this._grid.invalidateRows(args.rows);
112
+ const cachedRows = Object.keys(this._grid.getRowCache()).map(Number);
113
+ const toInvalidateRows = [];
114
+ const intersectedRows = args.rows.filter((nb) => cachedRows.includes(nb));
115
+ // only consider rows to invalidate as rows that exists in the viewport (cached rows)
116
+ this._expandedRowIds.forEach((itemId) => {
117
+ const idx = this.dataView.getRowById(itemId);
118
+ if (idx !== undefined && intersectedRows.includes(idx)) {
119
+ toInvalidateRows.push(idx);
120
+ }
121
+ });
122
+ // don't invalidate row detail that were already rendered and visible
123
+ // for example, if we open row 3 and then row 1, row 3 will be pushed down but it was already rendered so no need to re-render it
124
+ this._renderedIds.forEach((rowId) => {
125
+ const dataRowIdx = this.dataView.getRowById(rowId);
126
+ if (dataRowIdx !== undefined) {
127
+ const invRowIdx = toInvalidateRows.findIndex((r) => r === dataRowIdx);
128
+ if (invRowIdx >= 0) {
129
+ toInvalidateRows.splice(invRowIdx, 1);
130
+ }
131
+ }
132
+ });
133
+ this._grid.invalidateRows(toInvalidateRows);
121
134
  this._grid.render();
122
135
  });
123
136
  // subscribe to the onAsyncResponse so that the plugin knows when the user server side calls finished
@@ -126,22 +139,14 @@ class SlickRowDetailView {
126
139
  this._eventHandler.subscribe(this.dataView.onSetItemsCalled, () => {
127
140
  this._dataViewIdProperty = this.dataView?.getIdPropertyName() || 'id';
128
141
  });
129
- // if we use the alternative & simpler calculation of the out of viewport range
130
- // we will need to know how many rows are rendered on the screen and we need to wait for grid to be rendered
131
- // unfortunately there is no triggered event for knowing when grid is finished, so we use 250ms delay and it's typically more than enough
132
- if (this._addonOptions.useSimpleViewportCalc) {
133
- this._eventHandler.subscribe(this._grid.onRendered, (_e, args) => {
134
- if (args?.endRow) {
135
- this._visibleRenderedCellCount = args.endRow - args.startRow;
136
- }
137
- });
138
- }
139
142
  }
140
143
  /** Dispose of the Slick Row Detail View */
141
144
  dispose() {
142
145
  this._eventHandler?.unsubscribeAll();
143
- this._expandedRows.clear();
146
+ this._expandedRowIds.clear();
144
147
  this._rowIdsOutOfViewport.clear();
148
+ this._renderedViewportRowIds.clear();
149
+ clearTimeout(this._backViewportTimer);
145
150
  }
146
151
  create(columnDefinitions, gridOptions) {
147
152
  if (!gridOptions.rowDetailView) {
@@ -188,16 +193,17 @@ class SlickRowDetailView {
188
193
  /** Collapse all of the open items */
189
194
  collapseAll() {
190
195
  this.dataView.beginUpdate();
191
- this._expandedRows.forEach((expandedRow) => {
192
- this.collapseDetailView(expandedRow, true);
196
+ this._expandedRowIds.forEach((itemId) => {
197
+ this.collapseDetailView(itemId, true);
193
198
  });
194
199
  this.dataView.endUpdate();
195
200
  }
196
- /** Colapse an Item so it is not longer seen */
197
- collapseDetailView(item, isMultipleCollapsing = false) {
201
+ /** Collapse an Item so it is not longer seen */
202
+ collapseDetailView(itemId, isMultipleCollapsing = false) {
198
203
  if (!isMultipleCollapsing) {
199
204
  this.dataView.beginUpdate();
200
205
  }
206
+ const item = this.dataView.getItemById(itemId);
201
207
  // Save the details on the collapse assuming onetime loading
202
208
  if (this._addonOptions.loadOnce) {
203
209
  this.saveDetailView(item);
@@ -208,20 +214,26 @@ class SlickRowDetailView {
208
214
  }
209
215
  item[`${this._keyPrefix}sizePadding`] = 0;
210
216
  this.dataView.updateItem(item[this._dataViewIdProperty], item);
211
- // Remove the item from the expandedRows
212
- this._expandedRows = new Set(Array.from(this._expandedRows).filter((expRow) => expRow[this._dataViewIdProperty] !== item[this._dataViewIdProperty]));
217
+ // Remove the item from the expandedRows & renderedIds
218
+ this._expandedRowIds = new Set(Array.from(this._expandedRowIds).filter((expItemId) => expItemId !== item[this._dataViewIdProperty]));
219
+ this._renderedIds.delete(item[this._dataViewIdProperty]);
220
+ // we need to reevaluate & invalidate any row detail that are shown on top of the row that we're closing
221
+ this.reevaluateRenderedRowIds(item);
213
222
  if (!isMultipleCollapsing) {
214
223
  this.dataView.endUpdate();
215
224
  }
216
225
  }
217
226
  /** Expand a row given the dataview item that is to be expanded */
218
- expandDetailView(item) {
227
+ expandDetailView(itemId) {
219
228
  if (this._addonOptions?.singleRowExpand) {
220
229
  this.collapseAll();
221
230
  }
231
+ const item = this.dataView.getItemById(itemId);
232
+ // we need to reevaluate & invalidate any row detail that are shown on top of the row that we're closing
233
+ this.reevaluateRenderedRowIds(item);
222
234
  item[`${this._keyPrefix}collapsed`] = false;
223
- this._expandedRows.add(item);
224
- // In the case something went wrong loading it the first time such a scroll of screen before loaded
235
+ this._expandedRowIds.add(itemId);
236
+ // in the case something went wrong loading it the first time such a scroll of screen before loaded
225
237
  if (!item[`${this._keyPrefix}detailContent`]) {
226
238
  item[`${this._keyPrefix}detailViewLoaded`] = false;
227
239
  }
@@ -245,13 +257,20 @@ class SlickRowDetailView {
245
257
  // async server call
246
258
  this._addonOptions.process(item);
247
259
  }
260
+ /** reset all Set rows/ids cache and start empty (but keep expanded rows ref) */
261
+ resetRenderedRows() {
262
+ this._renderedViewportRowIds.clear();
263
+ this._disposedRows.clear();
264
+ }
248
265
  /** Saves the current state of the detail view */
249
266
  saveDetailView(item) {
250
- const view = document.querySelector(`.${this.gridUid} .innerDetailView_${item[this._dataViewIdProperty]}`);
251
- if (view) {
252
- const html = view.innerHTML;
253
- if (html !== undefined) {
254
- item[`${this._keyPrefix}detailContent`] = html;
267
+ if (this._addonOptions.loadOnce) {
268
+ const view = document.querySelector(`.${this.gridUid} .innerDetailView_${item[this._dataViewIdProperty]}`);
269
+ if (view) {
270
+ const html = view.innerHTML;
271
+ if (html !== undefined) {
272
+ item[`${this._keyPrefix}detailContent`] = html;
273
+ }
255
274
  }
256
275
  }
257
276
  }
@@ -264,13 +283,14 @@ class SlickRowDetailView {
264
283
  console.error('SlickRowDetailView plugin requires the onAsyncResponse() to supply "args.item" property.');
265
284
  return;
266
285
  }
267
- // we accept item/itemDetail, just get the one which has data
286
+ // @deprecated `args.itemDetail` we accept item/itemDetail, just get the one which has data
268
287
  const itemDetail = args.item || args.itemDetail;
269
- // If we just want to load in a view directly we can use detailView property to do so
288
+ // if we just want to load in a view directly we can use detailView property to do so
270
289
  itemDetail[`${this._keyPrefix}detailContent`] = args.detailView ?? this._addonOptions?.postTemplate?.(itemDetail);
271
290
  itemDetail[`${this._keyPrefix}detailViewLoaded`] = true;
272
291
  this.dataView.updateItem(itemDetail[this._dataViewIdProperty], itemDetail);
273
292
  // trigger an event once the post template is finished loading
293
+ this._renderedIds.add(itemDetail[this.dataViewIdProperty]);
274
294
  this.onAsyncEndUpdate.notify({
275
295
  grid: this._grid,
276
296
  item: itemDetail,
@@ -278,7 +298,6 @@ class SlickRowDetailView {
278
298
  }, e, this);
279
299
  }
280
300
  /**
281
- * TODO interface only has a GETTER not a SETTER..why?
282
301
  * Override the logic for showing (or not) the expand icon (use case example: only every 2nd row is expandable)
283
302
  * Method that user can pass to override the default behavior or making every row an expandable row.
284
303
  * In order word, user can choose which rows to be an available row detail (or not) by providing his own logic.
@@ -313,8 +332,8 @@ class SlickRowDetailView {
313
332
  };
314
333
  }
315
334
  /** return the currently expanded rows */
316
- getExpandedRows() {
317
- return Array.from(this._expandedRows);
335
+ getExpandedRowIds() {
336
+ return Array.from(this._expandedRowIds);
318
337
  }
319
338
  /** return the rows that are out of the viewport */
320
339
  getOutOfViewportRows() {
@@ -392,82 +411,58 @@ class SlickRowDetailView {
392
411
  this.dataView.insertItem((idxParent || 0) + idx, this.getPaddingItem(item, idx));
393
412
  }
394
413
  }
395
- calculateOutOfRangeViews() {
396
- if (this._grid) {
397
- let scrollDir;
398
- const renderedRange = this._grid.getRenderedRange();
399
- // Only check if we have expanded rows
400
- if (this._expandedRows.size) {
401
- // Assume scroll direction is down by default.
402
- scrollDir = 'DOWN';
403
- if (this._lastRange) {
404
- // Some scrolling isn't anything as the range is the same
405
- if (this._lastRange.top === renderedRange.top && this._lastRange.bottom === renderedRange.bottom) {
406
- return;
407
- }
408
- // If our new top is smaller we are scrolling up
409
- if (this._lastRange.top > renderedRange.top ||
410
- // Or we are at very top but our bottom is increasing
411
- (this._lastRange.top === 0 && renderedRange.top === 0 && this._lastRange.bottom > renderedRange.bottom)) {
412
- scrollDir = 'UP';
413
- }
414
- }
415
- }
416
- this._expandedRows.forEach((row) => {
417
- const rowIndex = this.dataView.getRowById(row[this._dataViewIdProperty]);
418
- const rowPadding = row[`${this._keyPrefix}sizePadding`];
419
- const isRowOutOfRange = this._rowIdsOutOfViewport.has(row[this._dataViewIdProperty]);
420
- if (scrollDir === 'UP') {
421
- // save the view when asked
422
- if (this._addonOptions.saveDetailViewOnScroll) {
423
- // If the bottom item within buffer range is an expanded row save it.
424
- if (rowIndex >= renderedRange.bottom - this._gridRowBuffer) {
425
- this.saveDetailView(row);
426
- }
427
- }
428
- // If the row expanded area is within the buffer notify that it is back in range
429
- if (isRowOutOfRange && rowIndex - this._outsideRange < renderedRange.top && rowIndex >= renderedRange.top) {
430
- this.notifyBackToViewportWhenDomExist(row, row[this._dataViewIdProperty]);
431
- }
432
- else if (!isRowOutOfRange && rowIndex + rowPadding > renderedRange.bottom) {
433
- // if our first expanded row is about to go off the bottom
434
- this.notifyOutOfViewport(row, row[this._dataViewIdProperty]);
414
+ // TODO: after removing @deprecated flag, we should rename this method to `handleRowOutOfViewportRange`
415
+ calculateOutOfRangeViewsSimplerVersion() {
416
+ clearTimeout(this._backViewportTimer);
417
+ this._backViewportTimer = setTimeout(() => {
418
+ this._expandedRowIds.forEach((itemId) => {
419
+ const item = this.dataView.getItemById(itemId);
420
+ const rowIdx = this.dataView.getRowById(itemId);
421
+ const cachedRows = Object.keys(this._grid.getRowCache()).map(Number);
422
+ const visible = this._grid.getRenderedRange();
423
+ const rowDetailCount = this.gridOptions.rowDetailView?.panelRows ?? 0;
424
+ this._visibleRenderedCell = { startRow: visible.top, endRow: visible.bottom };
425
+ let { startRow, endRow } = this._visibleRenderedCell;
426
+ if (rowIdx >= startRow && rowIdx <= endRow) {
427
+ const rowSum = rowIdx + (this.gridOptions.rowDetailView?.panelRows ?? 0);
428
+ if (rowSum > endRow) {
429
+ endRow = rowSum;
435
430
  }
436
431
  }
437
- else if (scrollDir === 'DOWN') {
438
- // save the view when asked
439
- if (this._addonOptions.saveDetailViewOnScroll) {
440
- // If the top item within buffer range is an expanded row save it.
441
- if (rowIndex <= renderedRange.top + this._gridRowBuffer) {
442
- this.saveDetailView(row);
443
- }
444
- }
445
- // If row index is i higher than bottom with some added value (To ignore top rows off view) and is with view and was our of range
446
- if (isRowOutOfRange && rowIndex + rowPadding + this._outsideRange > renderedRange.bottom && rowIndex < rowIndex + rowPadding) {
447
- this.notifyBackToViewportWhenDomExist(row, row[this._dataViewIdProperty]);
448
- }
449
- else if (!isRowOutOfRange && rowIndex < renderedRange.top) {
450
- // if our row is outside top of and the buffering zone but not in the array of outOfVisable range notify it
451
- this.notifyOutOfViewport(row, row[this._dataViewIdProperty]);
452
- }
432
+ const rdEndRow = rowIdx + rowDetailCount;
433
+ if (startRow > rowIdx && rowIdx < rdEndRow && rdEndRow > this._visibleRenderedCell.startRow + 1) {
434
+ startRow = rowIdx;
453
435
  }
454
- });
455
- this._lastRange = renderedRange;
456
- }
457
- }
458
- calculateOutOfRangeViewsSimplerVersion() {
459
- if (this._grid) {
460
- const renderedRange = this._grid.getRenderedRange();
461
- this._expandedRows.forEach((row) => {
462
- const rowIndex = this.dataView.getRowById(row[this._dataViewIdProperty]);
463
- const isOutOfVisibility = this.checkIsRowOutOfViewportRange(rowIndex, renderedRange);
464
- if (!isOutOfVisibility && this._rowIdsOutOfViewport.has(row[this._dataViewIdProperty])) {
465
- this.notifyBackToViewportWhenDomExist(row, row[this._dataViewIdProperty]);
436
+ this._visibleRenderedCell = { startRow, endRow };
437
+ if (!this._renderedViewportRowIds.has(itemId) &&
438
+ this._visibleRenderedCell &&
439
+ rowIdx >= this._visibleRenderedCell.startRow &&
440
+ rowIdx <= this._visibleRenderedCell.endRow &&
441
+ cachedRows.includes(rowIdx)) {
442
+ this._disposedRows.delete(rowIdx);
443
+ this.notifyViewportChange(item, 'add');
466
444
  }
467
- else if (isOutOfVisibility) {
468
- this.notifyOutOfViewport(row, row[this._dataViewIdProperty]);
445
+ else if ((this._disposedRows.has(rowIdx) && !cachedRows.includes(rowIdx)) ||
446
+ (!cachedRows.includes(rowIdx) &&
447
+ this._renderedViewportRowIds.has(itemId) &&
448
+ this._visibleRenderedCell &&
449
+ (rowIdx < this._visibleRenderedCell.startRow || rowIdx > this._visibleRenderedCell.endRow))) {
450
+ this.notifyViewportChange(item, 'remove');
469
451
  }
470
452
  });
453
+ }, 0);
454
+ }
455
+ notifyViewportChange(item, action) {
456
+ if (item) {
457
+ const itemId = item[this._dataViewIdProperty];
458
+ if (action === 'add') {
459
+ this._renderedViewportRowIds.add(itemId);
460
+ this.notifyBackToViewportWhenDomExist(item);
461
+ }
462
+ else if (action === 'remove') {
463
+ this._renderedViewportRowIds.delete(itemId);
464
+ this.notifyOutOfViewport(item);
465
+ }
471
466
  }
472
467
  }
473
468
  checkExpandableOverride(row, dataContext, grid) {
@@ -476,9 +471,6 @@ class SlickRowDetailView {
476
471
  }
477
472
  return true;
478
473
  }
479
- checkIsRowOutOfViewportRange(rowIndex, renderedRange) {
480
- return Math.abs(renderedRange.bottom - this._gridRowBuffer - rowIndex) > this._visibleRenderedCellCount * 2;
481
- }
482
474
  /** Get the Row Detail padding (which are the rows dedicated to the detail panel) */
483
475
  getPaddingItem(parent, offset) {
484
476
  const item = {};
@@ -562,11 +554,12 @@ class SlickRowDetailView {
562
554
  /** When row is getting toggled, we will handle the action of collapsing/expanding */
563
555
  handleAccordionShowHide(item) {
564
556
  if (item) {
557
+ const itemId = item[this._dataViewIdProperty];
565
558
  if (!item[`${this._keyPrefix}collapsed`]) {
566
- this.collapseDetailView(item);
559
+ this.collapseDetailView(itemId);
567
560
  }
568
561
  else {
569
- this.expandDetailView(item);
562
+ this.expandDetailView(itemId);
570
563
  }
571
564
  }
572
565
  }
@@ -597,47 +590,72 @@ class SlickRowDetailView {
597
590
  this.onAfterRowDetailToggle.notify({
598
591
  grid: this._grid,
599
592
  item: dataContext,
600
- expandedRows: Array.from(this._expandedRows),
593
+ expandedRows: Array.from(this._expandedRowIds).map((id) => this.dataView.getItemById(id)),
601
594
  }, e, this);
602
595
  e.stopPropagation();
603
596
  e.stopImmediatePropagation();
604
597
  }
605
598
  }
606
599
  }
607
- handleScroll() {
608
- if (this._addonOptions.useSimpleViewportCalc) {
609
- this.calculateOutOfRangeViewsSimplerVersion();
610
- }
611
- else {
612
- this.calculateOutOfRangeViews();
600
+ handleRemoveRow(rowIndex) {
601
+ const item = this.dataView.getItemByIdx(rowIndex);
602
+ const rowId = item[this.dataViewIdProperty];
603
+ if (this._expandedRowIds.has(rowId)) {
604
+ this.onBeforeRowOutOfViewportRange.notify({
605
+ grid: this._grid,
606
+ item,
607
+ rowId,
608
+ rowIndex,
609
+ expandedRows: Array.from(this._expandedRowIds).map((id) => this.dataView.getItemById(id)),
610
+ rowIdsOutOfViewport: Array.from(this.syncOutOfViewportArray(rowId, true)),
611
+ }, null, this);
612
+ this._disposedRows.add(rowIndex);
613
613
  }
614
614
  }
615
- notifyOutOfViewport(item, rowId) {
615
+ handleScroll() {
616
+ this.calculateOutOfRangeViewsSimplerVersion();
617
+ }
618
+ notifyOutOfViewport(item) {
616
619
  const rowIndex = item.rowIndex || this.dataView.getRowById(item[this._dataViewIdProperty]);
620
+ const rowId = item[this.dataViewIdProperty];
621
+ this._renderedIds.delete(rowId);
617
622
  this.onRowOutOfViewportRange.notify({
618
623
  grid: this._grid,
619
624
  item,
620
625
  rowId,
621
626
  rowIndex,
622
- expandedRows: Array.from(this._expandedRows),
627
+ expandedRows: Array.from(this._expandedRowIds).map((id) => this.dataView.getItemById(id)),
623
628
  rowIdsOutOfViewport: Array.from(this.syncOutOfViewportArray(rowId, true)),
624
629
  }, null, this);
625
630
  }
626
- notifyBackToViewportWhenDomExist(item, rowId) {
631
+ notifyBackToViewportWhenDomExist(item) {
627
632
  const rowIndex = item.rowIndex || this.dataView.getRowById(item[this._dataViewIdProperty]);
628
- window.setTimeout(() => {
629
- // make sure View Row DOM Element really exist before notifying that it's a row that is visible again
630
- if (document.querySelector(`.${this.gridUid} .cellDetailView_${item[this._dataViewIdProperty]}`)) {
631
- this.onRowBackToViewportRange.notify({
632
- grid: this._grid,
633
- item,
634
- rowId,
635
- rowIndex,
636
- expandedRows: Array.from(this._expandedRows),
637
- rowIdsOutOfViewport: Array.from(this.syncOutOfViewportArray(rowId, false)),
638
- }, null, this);
633
+ const rowId = item[this.dataViewIdProperty];
634
+ // make sure View Row DOM Element really exist before notifying that it's a row that is visible again
635
+ if (document.querySelector(`.${this.gridUid} .cellDetailView_${item[this._dataViewIdProperty]}`)) {
636
+ this.onRowBackToViewportRange.notify({
637
+ grid: this._grid,
638
+ item,
639
+ rowId,
640
+ rowIndex,
641
+ expandedRows: Array.from(this._expandedRowIds).map((id) => this.dataView.getItemById(id)),
642
+ rowIdsOutOfViewport: Array.from(this.syncOutOfViewportArray(rowId, false)),
643
+ }, null, this);
644
+ }
645
+ }
646
+ /**
647
+ * keep any row detail that are shown on top of the row that we're opening
648
+ * but invalidate any rows that are after the row that we're opening
649
+ */
650
+ reevaluateRenderedRowIds(item) {
651
+ // get current item row index
652
+ const rowIdx = this.dataView.getRowById(item[this._dataViewIdProperty]);
653
+ this._renderedViewportRowIds.forEach((rid) => {
654
+ const invRowIdx = this.dataView.getRowById(rid);
655
+ if (invRowIdx !== undefined && invRowIdx > rowIdx) {
656
+ this.notifyViewportChange(this.dataView.getItemById(rid), 'remove');
639
657
  }
640
- }, 100);
658
+ });
641
659
  }
642
660
  syncOutOfViewportArray(rowId, isAdding) {
643
661
  const hasRowId = this._rowIdsOutOfViewport.has(rowId);
@@ -1 +1 @@
1
- {"version":3,"file":"slickRowDetailView.js","sourceRoot":"","sources":["../../src/slickRowDetailView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slickRowDetailView.js","sourceRoot":"","sources":["../../src/slickRowDetailView.ts"],"names":[],"mappings":"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"}