Skip to content

Commit 759b465

Browse files
MKirovaMKirova
authored andcommitted
chore(*): Merge in pinned row area.
1 parent 95e5b40 commit 759b465

File tree

3 files changed

+9
-7
lines changed

3 files changed

+9
-7
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3991,7 +3991,7 @@ export abstract class IgxGridBaseDirective implements GridType,
39913991
}
39923992

39933993

3994-
protected get activeRowIndex(){
3994+
protected get activeRowIndex() {
39953995
return this.navigation.activeNode.row;
39963996
}
39973997

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

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,16 @@
6262
| gridAddRow:true:pipeTrigger
6363
| gridRowPinning:id:true:pipeTrigger
6464
| gridFiltering:filteringExpressionsTree:filterStrategy:advancedFilteringExpressionsTree:id:pipeTrigger:filteringPipeTrigger:true
65-
| gridSort:sortingExpressions:groupingExpressions:sortStrategy:id:pipeTrigger:true; as pinnedData) {
65+
| gridSort:sortingExpressions:groupingExpressions:sortStrategy:id:pipeTrigger:true
66+
| gridCellMerge:visibleColumns:cellMergeMode:sortingExpressions:activeRowIndex:pipeTrigger; as pinnedData) {
6667
@if (pinnedData.length > 0) {
6768
<div #pinContainer
6869
[ngClass]="{
6970
'igx-grid__tr--pinned-bottom': !isRowPinningToTop,
7071
'igx-grid__tr--pinned-top': isRowPinningToTop
7172
}"
7273
class="igx-grid__tr--pinned" [style.width.px]="calcWidth">
73-
@for (rowData of pinnedData; track rowData; let rowIndex = $index) {
74+
@for (rowData of pinnedData; track (rowData.recordRef || rowData); let rowIndex = $index) {
7475
<ng-container *ngTemplateOutlet="pinned_record_template; context: getContext(rowData, rowIndex, true)">
7576
</ng-container>
7677
}
@@ -89,7 +90,7 @@
8990
| gridDetails:hasDetails:expansionStates:pipeTrigger
9091
| gridAddRow:false:pipeTrigger
9192
| gridRowPinning:id:false:pipeTrigger
92-
| gridCellMerge:visibleColumns:cellMergeMode:sortingExpressions:activeRowIndex:pipeTrigger"
93+
| gridCellMerge:visibleColumns:cellMergeMode:sortingExpressions:((hasPinnedRecords && isRowPinningToTop) ? activeRowIndex - pinnedRecordsCount : activeRowIndex):pipeTrigger"
9394
let-rowIndex="index" [igxForScrollOrientation]="'vertical'" [igxForScrollContainer]="verticalScroll"
9495
[igxForContainerSize]="calcHeight"
9596
[igxForItemSize]="hasColumnLayouts ? rowHeight * multiRowLayoutRowSize + 1 : renderedRowHeight"
@@ -112,7 +113,7 @@
112113
</igx-grid-row>
113114
</ng-template>
114115
<ng-template #pinned_record_template let-rowIndex="index" let-rowData let-metaData="metaData">
115-
<igx-grid-row [gridID]="id" [index]="rowIndex" [data]="rowData"
116+
<igx-grid-row [gridID]="id" [index]="rowIndex" [data]="rowData" [metaData]="metaData"
116117
[ngClass]="rowClasses | igxGridRowClasses:row:row.inEditMode:row.selected:row.dirty:row.deleted:row.dragging:rowIndex:hasColumnLayouts:isRecordMerged(metaData):false:rowData:pipeTrigger"
117118
[ngStyle]="rowStyles | igxGridRowStyles:rowData:rowIndex:pipeTrigger"#row #pinnedRow>
118119
</igx-grid-row>

projects/igniteui-angular/src/lib/grids/row.directive.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -608,10 +608,11 @@ export class IgxRowDirective implements DoCheck, AfterViewInit, OnDestroy {
608608
this.addAnimationEnd.emit(this);
609609
}
610610

611-
protected getMergeCellSpan(col: ColumnType){
611+
protected getMergeCellSpan(col: ColumnType) {
612612
const rowCount = this.metaData.cellMergeMeta.get(col.field).rowSpan;
613613
let sizeSpans = "";
614-
const indexInData = this.grid.verticalScrollContainer.igxForOf.indexOf(this.metaData);
614+
const indexInData = this.pinned ? this.grid.getInitialPinnedIndex(this.data):
615+
this.grid.verticalScrollContainer.igxForOf.indexOf(this.metaData);
615616
for (let index = indexInData; index < indexInData + rowCount; index++) {
616617
const size = this.grid.verticalScrollContainer.getSizeAt(index);
617618
sizeSpans += size + 'px ';

0 commit comments

Comments
 (0)