Skip to content

Commit 7b2b98c

Browse files
committed
fix(pivotGrid): Fix pivot row select event not triggering due to being run outside of ngZone. Rely on dimension header group for click handling.
1 parent 53adc8b commit 7b2b98c

File tree

3 files changed

+7
-22
lines changed

3 files changed

+7
-22
lines changed

projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-row-dimension-content.component.html

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212
</div>
1313

1414
<ng-template #headerTemplate let-column>
15-
<div class='igx-grid__tr--header igx-grid__row-indentation--level-{{getLevel(column)}}'
16-
(click)="selectPivotRow(column, $event)">
15+
<div class='igx-grid__tr--header igx-grid__row-indentation--level-{{getLevel(column)}}'>
1716
<igx-icon [attr.draggable]=" false" (click)="grid.toggleRow(getRowDimensionKey(column))">
1817
{{ getExpandState(column) ? 'expand_more' : 'chevron_right'}}</igx-icon>
1918
{{column.header}}
@@ -22,8 +21,7 @@
2221

2322
<ng-template #headerDefaultTemplate let-column>
2423

25-
<div class='igx-grid__tr--header igx-grid__row-indentation--level-{{getLevel(column)}}'
26-
(click)="selectPivotRow(column, $event)">
24+
<div class='igx-grid__tr--header igx-grid__row-indentation--level-{{getLevel(column)}}'>
2725
<igx-icon style='flex-shrink: 0;' [attr.draggable]=" false">
2826
</igx-icon>
2927
{{column.header}}

projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-row-dimension-content.component.ts

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -132,22 +132,6 @@ export class IgxPivotRowDimensionContentComponent extends IgxGridHeaderRowCompon
132132
return this.rowSpan * this.grid.rowHeight + (this.rowSpan - 1);
133133
}
134134

135-
/**
136-
* @hidden @internal
137-
*/
138-
public selectPivotRow(col: any, event?: any) {
139-
if (this.grid.rowSelection === 'none') {
140-
return;
141-
}
142-
event?.stopPropagation();
143-
const key = this.getRowDimensionKey(col);
144-
if (this.grid.selectionService.isRowSelected(key)) {
145-
this.grid.selectionService.deselectRow(key, event);
146-
} else {
147-
this.grid.selectionService.selectRowById(key, true, event);
148-
}
149-
}
150-
151135
protected extractFromDimensions() {
152136
const dimData = PivotUtil.getDimensionLevel(this.dimension, this.rowData, this.grid.pivotKeys);
153137
const prevDims = this.getPrevDims(this.dimension);

projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-row-dimension-header-group.component.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, HostListener, Inject, Input, ViewChild, ViewChildren } from '@angular/core';
1+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostBinding, HostListener, Inject, Input, NgZone, ViewChild, ViewChildren } from '@angular/core';
22
import { PlatformUtil } from '../../core/utils';
33
import { IgxColumnComponent } from '../columns/column.component';
44
import { IGX_GRID_BASE, PivotGridType } from '../common/grid.interface';
@@ -30,7 +30,8 @@ export class IgxPivotRowDimensionHeaderGroupComponent extends IgxGridHeaderGroup
3030
private elementRef: ElementRef<HTMLElement>,
3131
public colResizingService: IgxPivotColumnResizingService,
3232
public filteringService: IgxFilteringService,
33-
protected platform: PlatformUtil) {
33+
protected platform: PlatformUtil,
34+
protected zone: NgZone) {
3435
super(cdRef, grid, elementRef, colResizingService, filteringService, platform);
3536
}
3637

@@ -76,6 +77,8 @@ export class IgxPivotRowDimensionHeaderGroupComponent extends IgxGridHeaderGroup
7677
} else {
7778
this.grid.selectionService.selectRowById(key, true, event);
7879
}
80+
81+
this.zone.run(() => {});
7982
}
8083

8184
/**

0 commit comments

Comments
 (0)