Skip to content

Commit 957d034

Browse files
Merge pull request #8624 from IgniteUI/ibarakov/fix-8602-9.1.x
fix(grid-filtering): prevent page hanging when using remote data
2 parents cbdf8f3 + 0bbdb06 commit 957d034

File tree

4 files changed

+12
-18
lines changed

4 files changed

+12
-18
lines changed

projects/igniteui-angular/src/lib/grids/grid-base.directive.ts

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1447,8 +1447,8 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
14471447
/**
14481448
* @hidden @internal
14491449
*/
1450-
@ViewChild('loadingOverlay', { static: true })
1451-
public loadingOverlay: ElementRef;
1450+
@ViewChild('loadingOverlay', { read: IgxToggleDirective, static: true })
1451+
public loadingOverlay: IgxToggleDirective;
14521452

14531453
/**
14541454
* @hidden @internal
@@ -1959,7 +1959,7 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
19591959
/**
19601960
* @hidden @internal
19611961
*/
1962-
@ViewChild(IgxToggleDirective)
1962+
@ViewChild('rowEditingOverlay', { read: IgxToggleDirective })
19631963
public rowEditingOverlay: IgxToggleDirective;
19641964

19651965
/**
@@ -2596,7 +2596,6 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
25962596
protected _baseFontSize: number;
25972597
private _horizontalForOfs: Array<IgxGridForOfDirective<any>> = [];
25982598
private _multiRowLayoutRowSize = 1;
2599-
protected _loadingId;
26002599
protected _expansionStates: Map<any, boolean> = new Map<any, boolean>();
26012600
protected _defaultExpandState = false;
26022601
// Caches
@@ -6205,15 +6204,10 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
62056204
closeOnOutsideClick: false,
62066205
positionStrategy: new ContainerPositionStrategy()
62076206
};
6208-
if (!this._loadingId) {
6209-
this._loadingId = this.overlayService.attach(this.loadingOverlay, overlaySettings);
6210-
this.overlayService.show(this._loadingId, overlaySettings);
6211-
}
6207+
6208+
this.loadingOverlay.open(overlaySettings);
62126209
} else {
6213-
if (this._loadingId) {
6214-
this.overlayService.hide(this._loadingId);
6215-
this._loadingId = null;
6216-
}
6210+
this.loadingOverlay.close();
62176211
}
62186212
}
62196213

projects/igniteui-angular/src/lib/grids/grid/grid.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@
195195
<div class="igx-grid__row-editing-outlet" igxOverlayOutlet #igxRowEditingOverlayOutlet></div>
196196
<igc-trial-watermark></igc-trial-watermark>
197197
</div>
198-
<div #loadingOverlay>
198+
<div igxToggle #loadingOverlay>
199199
<igx-circular-bar [indeterminate]="true" *ngIf='shouldOverlayLoading'>
200200
</igx-circular-bar>
201201
</div>
@@ -279,7 +279,7 @@
279279
}">unfold_more</igx-icon>
280280
</ng-template>
281281

282-
<div *ngIf="rowEditable" igxToggle>
282+
<div *ngIf="rowEditable" igxToggle #rowEditingOverlay>
283283
<div [className]="bannerClass">
284284
<ng-container
285285
*ngTemplateOutlet="rowEditContainer; context: { rowChangesCount: rowChangesCount, endEdit: endEdit.bind(this) }">

projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
<igx-grid-filtering-row #filteringRow [style.width.px]='calcWidth' *ngIf="filteringService.isFilterRowVisible"
7474
[column]="filteringService.filteredColumn"></igx-grid-filtering-row>
7575
</div>
76-
<div #loadingOverlay>
76+
<div igxToggle #loadingOverlay>
7777
<igx-circular-bar [indeterminate]="true" *ngIf='shouldOverlayLoading'>
7878
</igx-circular-bar>
7979
</div>
@@ -227,7 +227,7 @@
227227
<igx-icon role="button" [isActive]='hasExpandedRecords() && hasExpandableChildren' fontSet="material">unfold_less</igx-icon>
228228
</ng-template>
229229

230-
<div *ngIf="rowEditable" igxToggle>
230+
<div *ngIf="rowEditable" igxToggle #rowEditingOverlay>
231231
<div [className]="bannerClass">
232232
<ng-container
233233
*ngTemplateOutlet="rowEditContainer; context: { rowChangesCount: rowChangesCount, endEdit: endEdit.bind(this) }">

projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
[column]="filteringService.filteredColumn"></igx-grid-filtering-row>
5757
</div>
5858
<div class="igx-grid__thead-thumb" [hidden]='!hasVerticalScroll()' [style.width.px]="scrollSize"></div>
59-
<div #loadingOverlay>
59+
<div igxToggle #loadingOverlay>
6060
<igx-circular-bar [indeterminate]="true" *ngIf='shouldOverlayLoading'>
6161
</igx-circular-bar>
6262
</div>
@@ -194,7 +194,7 @@
194194
</div>
195195
</ng-template>
196196

197-
<div *ngIf="rowEditable" igxToggle>
197+
<div *ngIf="rowEditable" igxToggle #rowEditingOverlay>
198198
<div [className]="bannerClass">
199199
<ng-container
200200
*ngTemplateOutlet="rowEditContainer; context: { rowChangesCount: rowChangesCount, endEdit: endEdit.bind(this) }">

0 commit comments

Comments
 (0)