Skip to content

Commit fd163c0

Browse files
Vasil MihalkovVasil Mihalkov
authored andcommitted
fix(igxGrid): Row Pinning and Search #6640
1 parent 2e72fae commit fd163c0

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2391,6 +2391,8 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
23912391
*/
23922392
protected destroy$ = new Subject<any>();
23932393

2394+
protected _filteredSortedPinnedData;
2395+
protected _filteredSortedUnpinnedData;
23942396
/**
23952397
* @hidden
23962398
*/
@@ -2872,6 +2874,17 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
28722874
this.setupColumns();
28732875
}
28742876

2877+
public setFilteredSortedData(data, pinned: boolean) {
2878+
if (this.pinnedRecords.length > 0 && pinned) {
2879+
this._filteredSortedPinnedData = data;
2880+
this.filteredSortedData = [... this._filteredSortedPinnedData, ... this._filteredSortedUnpinnedData];
2881+
} else if (this.pinnedRecords.length > 0 && !pinned) {
2882+
this._filteredSortedUnpinnedData = data;
2883+
} else {
2884+
this.filteredSortedData = data;
2885+
}
2886+
}
2887+
28752888
/**
28762889
* @hidden @internal
28772890
*/

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@
112112
<ng-container *ngFor="let rowData of pinnedRecords
113113
| visibleColumns:hasVisibleColumns
114114
| gridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:id:pipeTrigger:filteringPipeTrigger
115-
| gridSort:sortingExpressions:sortStrategy:id:pipeTrigger
115+
| gridSort:sortingExpressions:sortStrategy:id:pipeTrigger:true
116116
| gridDetails:hasDetails:expansionStates:pipeTrigger; let rowIndex = index">
117117
<ng-container *ngTemplateOutlet="getRowTemplate(rowData); context: getContext(rowData, rowIndex, true)">
118118
</ng-container>

projects/igniteui-angular/src/lib/grids/grid/grid.pipes.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export class IgxGridSortingPipe implements PipeTransform {
2929
}
3030

3131
public transform(collection: any[], expressions: ISortingExpression[], sorting: IGridSortingStrategy,
32-
id: string, pipeTrigger: number): any[] {
32+
id: string, pipeTrigger: number, pinned?): any[] {
3333
const grid = this.gridAPI.grid;
3434
let result: any[];
3535

@@ -38,7 +38,7 @@ export class IgxGridSortingPipe implements PipeTransform {
3838
} else {
3939
result = DataUtil.sort(cloneArray(collection), expressions, sorting);
4040
}
41-
grid.filteredSortedData = result;
41+
grid.setFilteredSortedData(result, pinned);
4242

4343
return result;
4444
}

0 commit comments

Comments
 (0)