Skip to content

Commit bdf3734

Browse files
authored
Merge pull request #9803 from IgniteUI/rkaraivanov/toolbar-resize-fix
fix(toolbar): Listen to window resize events
2 parents c358141 + bfe6c73 commit bdf3734

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

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

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ import {
2929
LOCALE_ID,
3030
HostListener
3131
} from '@angular/core';
32-
import { getResizeObserver } from '../core/utils';
32+
import { resizeObservable } from '../core/utils';
3333
import 'igniteui-trial-watermark';
34-
import { Subject, pipe, fromEvent, noop } from 'rxjs';
34+
import { Subject, pipe, fromEvent, noop, animationFrameScheduler } from 'rxjs';
3535
import { takeUntil, first, filter, throttleTime, map, shareReplay } from 'rxjs/operators';
3636
import { cloneArray, mergeObjects, compareMaps, resolveNestedPath, isObject, PlatformUtil } from '../core/utils';
3737
import { GridColumnDataType } from '../data-operations/data-util';
@@ -2811,7 +2811,6 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
28112811
protected _allowAdvancedFiltering = false;
28122812
protected _filterMode: FilterMode = FilterMode.quickFilter;
28132813

2814-
protected observer: ResizeObserver = new (getResizeObserver())(noop);
28152814

28162815
protected _defaultTargetRecordNumber = 10;
28172816
protected _expansionStates: Map<any, boolean> = new Map<any, boolean>();
@@ -3300,7 +3299,11 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
33003299
this.notifyChanges();
33013300
});
33023301

3303-
this.resizeNotify.pipe(destructor, filter(() => !this._init), throttleTime(100, undefined, { leading: true, trailing: true }))
3302+
this.resizeNotify.pipe(
3303+
destructor,
3304+
filter(() => !this._init),
3305+
throttleTime(0, animationFrameScheduler, { leading: true, trailing: true })
3306+
)
33043307
.subscribe(() => {
33053308
this.zone.run(() => {
33063309
this.notifyChanges(true);
@@ -3553,8 +3556,8 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
35533556
this.zone.runOutsideAngular(() => {
35543557
this.verticalScrollContainer.getScroll().addEventListener('scroll', this.verticalScrollHandler.bind(this));
35553558
this.headerContainer.getScroll().addEventListener('scroll', this.horizontalScrollHandler.bind(this));
3556-
this.observer = new (getResizeObserver())(() => this.resizeNotify.next());
3557-
this.observer.observe(this.nativeElement);
3559+
fromEvent(window, 'resize').pipe(takeUntil(this.destroy$)).subscribe(() => this.resizeNotify.next());
3560+
resizeObservable(this.nativeElement).pipe(takeUntil(this.destroy$)).subscribe(() => this.resizeNotify.next());
35583561
});
35593562
}
35603563

@@ -3659,7 +3662,6 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
36593662
});
36603663

36613664
this.zone.runOutsideAngular(() => {
3662-
this.observer.disconnect();
36633665
this.verticalScrollContainer?.getScroll()?.removeEventListener('scroll', this.verticalScrollHandler);
36643666
this.headerContainer?.getScroll()?.removeEventListener('scroll', this.horizontalScrollHandler);
36653667
const vertScrDC = this.verticalScrollContainer?.displayContainer;
@@ -5811,7 +5813,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
58115813
/**
58125814
* @hidden @internal
58135815
*/
5814-
public closeRowEditingOverlay() {
5816+
public closeRowEditingOverlay() {
58155817
this.rowEditingOverlay.element.removeEventListener('wheel', this.rowEditingWheelHandler);
58165818
this.rowEditPositioningStrategy.isTopInitialPosition = null;
58175819
this.rowEditingOverlay.close();
@@ -5936,7 +5938,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
59365938
/**
59375939
* @hidden
59385940
*/
5939-
public rowEditingWheelHandler(event: WheelEvent) {
5941+
public rowEditingWheelHandler(event: WheelEvent) {
59405942
if (event.deltaY > 0) {
59415943
this.verticalScrollContainer.scrollNext();
59425944
} else {

0 commit comments

Comments
 (0)