Skip to content

Commit 70cc291

Browse files
committed
fix(*): fix the iissues with hierarchical and tree grid #9674
1 parent 2c519a3 commit 70cc291

File tree

6 files changed

+12
-8
lines changed

6 files changed

+12
-8
lines changed

projects/igniteui-angular/src/lib/grids/common/grid.interface.ts

+2
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import { OverlaySettings } from '../../services/overlay/utilities';
3636
import { IPinningConfig } from '../grid.common';
3737
import { IDimensionsChange, IPivotConfiguration, IPivotDimension, IPivotKeys, IPivotValue, IValuesChange, PivotDimensionType } from '../pivot-grid/pivot-grid.interface';
3838
import { IDataCloneStrategy } from '../../data-operations/data-clone-strategy';
39+
import { IgxTreeGridGroupByAreaComponent } from '../grouping/tree-grid-group-by-area.component';
3940

4041
export const IGX_GRID_BASE = new InjectionToken<GridType>('IgxGridBaseToken');
4142
export const IGX_GRID_SERVICE_BASE = new InjectionToken<GridServiceType>('IgxGridServiceBaseToken');
@@ -444,6 +445,7 @@ export interface GridType extends IGridDataBindable {
444445
records?: Map<any, ITreeGridRecord>;
445446
processedExpandedFlatData?: any[] | null;
446447
processedRecords?: Map<any, ITreeGridRecord>;
448+
treeGroupArea?: IgxTreeGridGroupByAreaComponent;
447449

448450
activeNodeChange: EventEmitter<IActiveNodeChangeEventArgs>;
449451
gridKeydown: EventEmitter<IGridKeydownEventArgs>;

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
| gridAddRow:true:pipeTrigger
5353
| gridRowPinning:id:true:pipeTrigger
5454
| gridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:id:pipeTrigger:filteringPipeTrigger:true
55-
| gridSort:sortingExpressions:sortStrategy:id:pipeTrigger:true as pinnedData'>
55+
| gridSort:sortingExpressions:groupingExpressions:sortStrategy:id:pipeTrigger:true as pinnedData'>
5656
<div #pinContainer *ngIf='pinnedData.length > 0'
5757
[ngClass]="{
5858
'igx-grid__tr--pinned-bottom': !isRowPinningToTop,

projects/igniteui-angular/src/lib/grids/grouping/group-by-area.directive.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export abstract class IgxGroupByAreaDirective {
5151

5252
/** The parent grid containing the component. */
5353
@Input()
54-
public grid: FlatGridType & GridType;
54+
public grid: FlatGridType | GridType;
5555

5656
/**
5757
* The group-by expressions provided by the parent grid.
@@ -159,9 +159,10 @@ export abstract class IgxGroupByAreaDirective {
159159
}
160160

161161
protected updateGroupSorting(id: string) {
162-
const expr = this.grid.groupingExpressions.find(e => e.fieldName === id);
162+
const expr = this.expressions.find(e => e.fieldName === id);
163163
expr.dir = 3 - expr.dir;
164164
this.grid.pipeTrigger++;
165+
this.grid.notifyChanges();
165166
}
166167

167168
protected expressionsChanged() {

projects/igniteui-angular/src/lib/grids/headers/grid-header.component.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,8 @@ export class IgxGridHeaderComponent implements DoCheck, OnDestroy {
153153
* @hidden
154154
*/
155155
public get disabled() {
156-
if (this.grid.groupingExpressions.length && this.grid.groupingExpressions.map(g => g.fieldName).includes(this.column.field)) {
156+
const groupArea = this.grid.groupArea || this.grid.treeGroupArea;
157+
if (groupArea?.expressions && groupArea.expressions.length && groupArea.expressions.map(g => g.fieldName).includes(this.column.field)) {
157158
return true;
158159
}
159160
return false;

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
| gridAddRow:true:pipeTrigger
3535
| gridRowPinning:id:true:pipeTrigger
3636
| gridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:id:pipeTrigger:filteringPipeTrigger:true
37-
| gridSort:sortingExpressions:sortStrategy:id:pipeTrigger:true as pinnedData">
37+
| gridSort:sortingExpressions:[]:sortStrategy:id:pipeTrigger:true as pinnedData">
3838
<div #pinContainer *ngIf='pinnedData.length > 0' class='igx-grid__tr--pinned'
3939
[ngClass]="{ 'igx-grid__tr--pinned-bottom': !isRowPinningToTop, 'igx-grid__tr--pinned-top': isRowPinningToTop }"
4040
[style.width.px]='calcWidth'>
@@ -51,7 +51,7 @@
5151
| gridTransaction:id:pipeTrigger
5252
| visibleColumns:hasVisibleColumns
5353
| gridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:id:pipeTrigger:filteringPipeTrigger
54-
| gridSort:sortingExpressions:sortStrategy:id:pipeTrigger
54+
| gridSort:sortingExpressions:[]:sortStrategy:id:pipeTrigger
5555
| gridHierarchicalPaging:paginator?.page:paginator?.perPage:id:pipeTrigger
5656
| gridHierarchical:expansionStates:id:primaryKey:childLayoutKeys:pipeTrigger
5757
| gridAddRow:false:pipeTrigger

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
| treeGridAddRow:true:pipeTrigger
3535
| gridRowPinning:id:true:pipeTrigger
3636
| treeGridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:pipeTrigger:filteringPipeTrigger:true
37-
| treeGridSorting:sortingExpressions:sortStrategy:pipeTrigger:true as pinnedData'>
37+
| treeGridSorting:sortingExpressions:treeGroupArea?.expressions:sortStrategy:pipeTrigger:true as pinnedData'>
3838
<div #pinContainer *ngIf='pinnedData.length > 0'
3939
[ngClass]="{
4040
'igx-grid__tr--pinned-bottom': !isRowPinningToTop,
@@ -54,7 +54,7 @@
5454
| visibleColumns:hasVisibleColumns
5555
| treeGridHierarchizing:primaryKey:foreignKey:childDataKey:pipeTrigger
5656
| treeGridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:pipeTrigger:filteringPipeTrigger
57-
| treeGridSorting:sortingExpressions:sortStrategy:pipeTrigger
57+
| treeGridSorting:sortingExpressions:treeGroupArea?.expressions:sortStrategy:pipeTrigger
5858
| treeGridFlattening:expansionDepth:expansionStates:pipeTrigger
5959
| treeGridPaging:paginator?.page:paginator?.perPage:pipeTrigger
6060
| treeGridSummary:hasSummarizedColumns:summaryCalculationMode:summaryPosition:showSummaryOnCollapse:pipeTrigger:summaryPipeTrigger

0 commit comments

Comments
 (0)