Skip to content

Commit 13b4c24

Browse files
MKirovaMKirova
authored andcommitted
chore(*): Add merge strategy to pipe trigger so that it can be changed runtime.
1 parent f69b105 commit 13b4c24

File tree

4 files changed

+9
-8
lines changed

4 files changed

+9
-8
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
| gridRowPinning:id:true:pipeTrigger
6464
| gridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:id:pipeTrigger:filteringPipeTrigger:true
6565
| gridSort:sortingExpressions:groupingExpressions:sortStrategy:id:pipeTrigger:true
66-
| gridCellMerge:visibleColumns:cellMergeMode:sortingExpressions:activeRowIndexes:true:pipeTrigger; as pinnedData) {
66+
| gridCellMerge:visibleColumns:cellMergeMode:mergeStrategy:sortingExpressions:activeRowIndexes:true:pipeTrigger; as pinnedData) {
6767
@if (pinnedData.length > 0) {
6868
<div #pinContainer
6969
[ngClass]="{
@@ -90,7 +90,7 @@
9090
| gridDetails:hasDetails:expansionStates:pipeTrigger
9191
| gridAddRow:false:pipeTrigger
9292
| gridRowPinning:id:false:pipeTrigger
93-
| gridCellMerge:visibleColumns:cellMergeMode:sortingExpressions:activeRowIndexes:false:pipeTrigger"
93+
| gridCellMerge:visibleColumns:cellMergeMode:mergeStrategy:sortingExpressions:activeRowIndexes:false:pipeTrigger"
9494
let-rowIndex="index" [igxForScrollOrientation]="'vertical'" [igxForScrollContainer]="verticalScroll"
9595
[igxForContainerSize]="calcHeight"
9696
[igxForItemSize]="hasColumnLayouts ? rowHeight * multiRowLayoutRowSize + 1 : renderedRowHeight"

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { FilterUtil, IFilteringStrategy } from '../../data-operations/filtering-
1010
import { ISortingExpression } from '../../data-operations/sorting-strategy';
1111
import { IGridSortingStrategy, IGridGroupingStrategy } from '../common/strategy';
1212
import { GridCellMergeMode } from '../common/enums';
13+
import { IGridMergeStrategy } from '../../data-operations/merge-strategy';
1314

1415
/**
1516
* @hidden
@@ -85,15 +86,15 @@ export class IgxGridCellMergePipe implements PipeTransform {
8586

8687
constructor(@Inject(IGX_GRID_BASE) private grid: GridType) { }
8788

88-
public transform(collection: any, visibleColumns: ColumnType[], mergeMode: GridCellMergeMode, sortExpr: ISortingExpression[], activeRowIndexes: number[], pinned: boolean, _pipeTrigger: number) {
89+
public transform(collection: any, visibleColumns: ColumnType[], mergeMode: GridCellMergeMode, mergeStrategy: IGridMergeStrategy, sortExpr: ISortingExpression[], activeRowIndexes: number[], pinned: boolean, _pipeTrigger: number) {
8990
const colsToMerge = this.grid.columnsToMerge;
9091
if (colsToMerge.length === 0) {
9192
return collection;
9293
}
9394
if (!pinned && this.grid.isPinningToStart) {
9495
activeRowIndexes = activeRowIndexes.map(x => x - this.grid.pinnedRecordsCount);
9596
}
96-
const result = DataUtil.merge(cloneArray(collection), colsToMerge, this.grid.mergeStrategy, activeRowIndexes, this.grid);
97+
const result = DataUtil.merge(cloneArray(collection), colsToMerge, mergeStrategy, activeRowIndexes, this.grid);
9798
return result;
9899
}
99100
}

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
@@ -46,7 +46,7 @@
4646
| gridRowPinning:id:true:pipeTrigger
4747
| gridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:id:pipeTrigger:filteringPipeTrigger:true
4848
| gridSort:sortingExpressions:[]:sortStrategy:id:pipeTrigger:true
49-
| gridCellMerge:visibleColumns:cellMergeMode:sortingExpressions:activeRowIndexes:true:pipeTrigger; as pinnedData
49+
| gridCellMerge:visibleColumns:cellMergeMode:mergeStrategy:sortingExpressions:activeRowIndexes:true:pipeTrigger; as pinnedData
5050
) {
5151
@if (pinnedData.length > 0) {
5252
<div #pinContainer class="igx-grid__tr--pinned"
@@ -71,7 +71,7 @@
7171
| gridHierarchical:expansionStates:id:primaryKey:childLayoutKeys:pipeTrigger
7272
| gridAddRow:false:pipeTrigger
7373
| gridRowPinning:id:false:pipeTrigger
74-
| gridCellMerge:visibleColumns:cellMergeMode:sortingExpressions:activeRowIndexes:false:pipeTrigger"
74+
| gridCellMerge:visibleColumns:cellMergeMode:mergeStrategy:sortingExpressions:activeRowIndexes:false:pipeTrigger"
7575
[igxForScrollOrientation]="'vertical'" [igxForScrollContainer]="verticalScroll"
7676
[igxForContainerSize]="calcHeight" [igxForItemSize]="renderedRowHeight" [igxForTrackBy]="trackChanges"
7777
#verticalScrollContainer (chunkPreload)="dataLoading($event)" (dataChanging)="dataRebinding($event)" (dataChanged)="dataRebound($event)">

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
@@ -47,7 +47,7 @@
4747
| gridRowPinning:id:true:pipeTrigger
4848
| treeGridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:pipeTrigger:filteringPipeTrigger:true
4949
| treeGridSorting:sortingExpressions:treeGroupArea?.expressions:sortStrategy:pipeTrigger:true
50-
| gridCellMerge:visibleColumns:cellMergeMode:sortingExpressions:activeRowIndexes:true:pipeTrigger; as pinnedData
50+
| gridCellMerge:visibleColumns:cellMergeMode:mergeStrategy:sortingExpressions:activeRowIndexes:true:pipeTrigger; as pinnedData
5151
) {
5252
@if (pinnedData.length > 0) {
5353
<div #pinContainer
@@ -76,7 +76,7 @@
7676
| treeGridSummary:hasSummarizedColumns:summaryCalculationMode:summaryPosition:showSummaryOnCollapse:pipeTrigger:summaryPipeTrigger
7777
| treeGridAddRow:false:pipeTrigger
7878
| gridRowPinning:id:false:pipeTrigger
79-
| gridCellMerge:visibleColumns:cellMergeMode:sortingExpressions:activeRowIndexes:false:pipeTrigger"
79+
| gridCellMerge:visibleColumns:cellMergeMode:mergeStrategy:sortingExpressions:activeRowIndexes:false:pipeTrigger"
8080
let-rowIndex="index" [igxForScrollOrientation]="'vertical'" [igxForScrollContainer]='verticalScroll'
8181
[igxForContainerSize]='calcHeight' [igxForItemSize]="renderedRowHeight" #verticalScrollContainer
8282
(dataChanging)="dataRebinding($event)" (dataChanged)="dataRebound($event)">

0 commit comments

Comments
 (0)