Skip to content

Commit a75bd7b

Browse files
MKirovaMKirova
authored andcommitted
Merge branch 'mkirova/cell-merge-split-merge-pipes' of https://github.com/IgniteUI/igniteui-angular into mkirova/cell-merge-split-merge-pipes
2 parents c60ab0d + 8be3eac commit a75bd7b

File tree

5 files changed

+21
-7
lines changed

5 files changed

+21
-7
lines changed

projects/igniteui-angular/src/lib/data-operations/merge-strategy.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ export class DefaultMergeStrategy implements IGridMergeStrategy {
7676
continue;
7777
}
7878
const recToUpdateData = recData ?? { recordRef: grid.isGhostRecord(rec) ? rec.recordRef : rec, cellMergeMeta: new Map<string, IMergeByResult>(), ghostRecord: rec.ghostRecord };
79-
recToUpdateData.cellMergeMeta.set(field, { rowSpan: 1 });
79+
recToUpdateData.cellMergeMeta.set(field, { rowSpan: 1, childRecords: [] });
8080
if (prev && comparer.call(this, prev.recordRef, recToUpdateData.recordRef, field, isDate, isTime) && prev.ghostRecord === recToUpdateData.ghostRecord) {
8181
const root = prev.cellMergeMeta.get(field)?.root ?? prev;
8282
root.cellMergeMeta.get(field).rowSpan += 1;

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,8 @@ export interface IGroupingDoneEventArgs extends IBaseEventArgs {
154154
IgxGridDetailsPipe,
155155
IgxStringReplacePipe,
156156
IgxGridCellMergePipe,
157-
IgxGridUnmergeActivePipe,
158-
IgxScrollInertiaDirective
157+
IgxScrollInertiaDirective,
158+
IgxGridUnmergeActivePipe
159159
],
160160
schemas: [CUSTOM_ELEMENTS_SCHEMA]
161161
})

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { ColumnType, GridType, IGX_GRID_BASE } from '../common/grid.interface';
99
import { FilterUtil, IFilteringStrategy } from '../../data-operations/filtering-strategy';
1010
import { ISortingExpression } from '../../data-operations/sorting-strategy';
1111
import { IGridSortingStrategy, IGridGroupingStrategy } from '../common/strategy';
12-
import { GridCellMergeMode, RowPinningPosition } from '../common/enums';
12+
import { GridCellMergeMode } from '../common/enums';
1313
import { IGridMergeStrategy } from '../../data-operations/merge-strategy';
1414

1515
/**
@@ -107,7 +107,7 @@ export class IgxGridUnmergeActivePipe implements PipeTransform {
107107
if (colsToMerge.length === 0) {
108108
return collection;
109109
}
110-
if (this.grid.hasPinnedRecords && !pinned && this.grid.pinning.rows !== RowPinningPosition.Bottom) {
110+
if (!pinned && this.grid.isPinningToStart) {
111111
activeRowIndexes = activeRowIndexes.map(x => x - this.grid.pinnedRecordsCount);
112112
}
113113
activeRowIndexes = activeRowIndexes.filter((val, idx, arr) => arr.indexOf(val) === idx).filter(x => !isNaN(x));

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,18 @@
4343
}
4444
</div>
4545
}
46+
@if (mergedDataInView && mergedDataInView.length > 0) {
47+
<div igxScrollInertia
48+
[IgxScrollInertiaScrollContainer]="this.verticalScrollContainer.dc.instance.scrollContainer"
49+
[IgxScrollInertiaDirection]="this.verticalScrollContainer.dc.instance.scrollDirection">
50+
@for (rowData of mergedDataInView; track rowData.record;) {
51+
<igx-hierarchical-grid-row class="igx-grid__tr--merged-top" [gridID]="id" [index]="rowData.index" [data]="rowData.record.recordRef" [metaData]="rowData.record" [style.top.px]="getMergeCellOffset(rowData)"
52+
[ngClass]="rowClasses | igxGridRowClasses:row:row.inEditMode:row.selected:row.dirty:row.deleted:row.dragging:rowData.index:hasColumnLayouts:isRecordMerged(rowData.record):false:rowData.record:pipeTrigger"
53+
[ngStyle]="rowStyles | igxGridRowStyles:rowData.record:rowData.index:pipeTrigger" #row>
54+
</igx-hierarchical-grid-row>
55+
}
56+
</div>
57+
}
4658
<ng-template #pinnedRecordsTemplate>
4759
@if (data
4860
| gridTransaction:id:pipeTrigger

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@
5757
</div>
5858
</ng-template>
5959

60-
<ng-template #pinnedCellsTemplate let-col let-columns="columns">
61-
@for (col of columns | igxNotGrouped; track trackPinnedColumn(col)) {
60+
<ng-template #pinnedCellsTemplate let-col>
61+
@for (col of pinnedColumns | igxNotGrouped; track trackPinnedColumn(col)) {
6262
@if (this.hasMergedCells) {
6363
<div [style.height.px]=" this.metaData?.cellMergeMeta.get(col.field)?.rowSpan > 1 ? getRowHeight() : null"
6464
class="igx-grid__mrl-block"
@@ -98,6 +98,7 @@
9898
[style.min-width]="col.resolvedWidth"
9999
[style.max-width]="col.resolvedWidth"
100100
[style.flex-basis]="col.resolvedWidth"
101+
[style.left]="col.rightPinnedOffset"
101102
[width]="col.getCellWidth()"
102103
[visibleColumnIndex]="col.visibleIndex"
103104
[value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath"
@@ -135,6 +136,7 @@
135136
[style.min-width]="col.resolvedWidth"
136137
[style.max-width]="col.resolvedWidth"
137138
[style.flex-basis]="col.resolvedWidth"
139+
[style.left]="col.rightPinnedOffset"
138140
[width]="col.getCellWidth()"
139141
[visibleColumnIndex]="col.visibleIndex"
140142
[value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath"

0 commit comments

Comments
 (0)