Skip to content

Commit c68b7d0

Browse files
committed
chore(*): Remove calculation of offset when pinning to the right side
1 parent 92968ac commit c68b7d0

File tree

10 files changed

+18
-23
lines changed

10 files changed

+18
-23
lines changed

projects/igniteui-angular/src/lib/core/styles/components/grid/_grid-theme.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -719,6 +719,7 @@
719719
width: 100%;
720720
overflow: visible;
721721
flex: 1;
722+
min-width: 0; // needed to override the min-width of the column headers
722723
}
723724

724725
%grid-mrl-block {

projects/igniteui-angular/src/lib/grids/columns/column.component.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1619,13 +1619,6 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy
16191619
return this.pinningPosition === ColumnPinningPosition.End && pinnedCols[0] === this;
16201620
}
16211621

1622-
/** @hidden @internal **/
1623-
public get rightPinnedOffset(): string {
1624-
return this.pinned && this.pinningPosition === ColumnPinningPosition.End ?
1625-
- this.grid.pinnedEndWidth - this.grid.pinnedStartWidth + 'px' :
1626-
null;
1627-
}
1628-
16291622
/** @hidden @internal **/
16301623
public get gridRowSpan(): number {
16311624
return this.rowEnd && this.rowStart ? this.rowEnd - this.rowStart : 1;

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@
6565
<div class="igx-grid__mrl-block"
6666
[class.igx-grid__td--pinned-last]="col.hasLastPinnedChildColumn"
6767
[class.igx-grid__td--pinned-first]="col.hasFirstPinnedChildColumn"
68-
[style.left]="col.rightPinnedOffset"
6968
[ngStyle]="{
7069
'grid-template-rows':col.getGridTemplate(true),
7170
'grid-template-columns':col.getGridTemplate(false),
@@ -113,7 +112,6 @@
113112
[style.min-width]="col.resolvedWidth"
114113
[style.max-width]="col.resolvedWidth"
115114
[style.flex-basis]="col.resolvedWidth"
116-
[style.left]="col.rightPinnedOffset"
117115
[width]="col.getCellWidth()"
118116
[visibleColumnIndex]="col.visibleIndex"
119117
[value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath"

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ export class IgxGridRowComponent extends IgxRowDirective {
2626
};
2727
}
2828

29-
3029
public getContextMRL(pinnedCols, row) {
3130
return {
3231
$implicit: pinnedCols,

projects/igniteui-angular/src/lib/grids/grid/grid.pinning.spec.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import { IgxGridComponent } from './grid.component';
2828
import { DropPosition } from '../moving/moving.service';
2929
import { clearGridSubs, setupGridScrollDetection } from '../../test-utils/helper-utils.spec';
3030
import { SortingDirection } from '../../data-operations/sorting-strategy';
31-
import { IPinningConfig } from '../public_api';
31+
import { IgxGridHeaderRowComponent, IPinningConfig } from '../public_api';
3232

3333
describe('IgxGrid - Column Pinning #grid', () => {
3434

@@ -134,7 +134,7 @@ describe('IgxGrid - Column Pinning #grid', () => {
134134
expect(GridFunctions.isCellPinned(cell)).toBe(true);
135135
});
136136

137-
it('should allow pinning/unpinning via the column API', () => {
137+
it('should allow pinning/unpinning via the column API', () => {
138138
const col = grid.getColumnByName('ID');
139139

140140
col.pinned = true;
@@ -694,9 +694,14 @@ describe('IgxGrid - Column Pinning #grid', () => {
694694
expect(grid.getColumnByName('CompanyName').isFirstPinned).toBeTruthy();
695695
const row = grid.gridAPI.get_row_by_index(0).nativeElement;
696696
// check cells are rendered after main display container and have left offset
697+
const headerRowDisplayContainer = fix.debugElement.query(By.directive(IgxGridHeaderRowComponent)).nativeElement.querySelector(".igx-display-container");
698+
const displayContainerRect = headerRowDisplayContainer.getBoundingClientRect();
699+
let xAxis = displayContainerRect.x + displayContainerRect.width;
697700
for (let i = 0; i <= pinnedCols.length - 1; i++) {
698701
const elem = row.children[i + 1];
699-
expect(parseInt((elem as any).style.left, 10)).toBe(-330);
702+
const rect = elem.getBoundingClientRect();
703+
expect(rect.x).toBe(xAxis);
704+
xAxis += rect.width;
700705
}
701706

702707
// check correct headers have left border
@@ -715,9 +720,13 @@ describe('IgxGrid - Column Pinning #grid', () => {
715720
const row = grid.gridAPI.get_row_by_index(0).nativeElement;
716721
expect(GridFunctions.getRowDisplayContainer(fix, 0)).toBeTruthy();
717722

723+
const headerRowdisplayContainer = fix.debugElement.query(By.directive(IgxGridHeaderRowComponent)).nativeElement.querySelector(".igx-display-container");
724+
const displayContainerRect = headerRowdisplayContainer.getBoundingClientRect();
725+
const xAxis = displayContainerRect.x + displayContainerRect.width;
726+
718727
expect(row.children[1].classList.contains(`${CELL_PINNED_CLASS}-first`)).toBeTruthy();
719728
expect(row.children[1].classList.contains(GRID_MRL_BLOCK)).toBeTruthy();
720-
expect(parseInt((row.children[1] as any).style.left, 10)).toEqual(-408);
729+
expect(row.children[1].getBoundingClientRect().x).toEqual(xAxis);
721730

722731
// check correct headers have left border
723732
const firstPinnedHeader = grid.headerGroupsList.find(group => group.isPinned);
@@ -810,7 +819,7 @@ describe('IgxGrid - Column Pinning #grid', () => {
810819
.toEqual(grid.pinnedStartColumns.length + grid.unpinnedColumns.length + 1);
811820
expect(col.pinningPosition).toBe(ColumnPinningPosition.End);
812821

813-
let cell = grid.gridAPI.get_cell_by_index(0, 'ID');
822+
const cell = grid.gridAPI.get_cell_by_index(0, 'ID');
814823
expect(cell.visibleColumnIndex)
815824
.toEqual(grid.pinnedStartColumns.length + grid.unpinnedColumns.length + 1);
816825
expect(GridFunctions.isCellPinned(cell)).toBe(true);

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,7 @@
9999
[ngStyle]="column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger"
100100
[column]="column"
101101
[style.min-width]="column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL"
102-
[style.flex-basis]="column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL"
103-
[style.left]="column.rightPinnedOffset">
102+
[style.flex-basis]="column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL">
104103
</igx-grid-header-group>
105104
}
106105
}

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,6 @@
119119
[style.min-width]="col.resolvedWidth"
120120
[style.max-width]="col.resolvedWidth"
121121
[style.flex-basis]="col.resolvedWidth"
122-
[style.left]="col.rightPinnedOffset"
123122
[width]="col.getCellWidth()"
124123
[visibleColumnIndex]="col.visibleIndex"
125124
[value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath"

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@
305305
[ngStyle]="column.headerGroupStyles |igxHeaderGroupStyle:column:grid.pipeTrigger" [column]="column"
306306
[style.min-width]="column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL"
307307
[style.flex-basis]="column.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:hasMRL"
308-
[style.left]="column.rightPinnedOffset" (pointerdown)="grid.navigation.focusOutRowHeader($event)">
308+
(pointerdown)="grid.navigation.focusOutRowHeader($event)">
309309
</igx-grid-header-group>
310310
}
311311
}

projects/igniteui-angular/src/lib/grids/summaries/summary-row.component.html

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@
5555
[style.min-height.px]="minHeight"
5656
[style.min-width]="col.resolvedWidth"
5757
[style.max-width]="col.resolvedWidth"
58-
[style.flex-basis]="col.resolvedWidth"
59-
[style.left]="col.rightPinnedOffset">
58+
[style.flex-basis]="col.resolvedWidth">
6059
</igx-grid-summary-cell>
6160
}
6261
</ng-template>

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,6 @@
123123
[style.min-width]="col.resolvedWidth"
124124
[style.max-width]="col.resolvedWidth"
125125
[style.flex-basis]="col.resolvedWidth"
126-
[style.left]="col.rightPinnedOffset"
127126
[width]="col.getCellWidth()"
128127
[visibleColumnIndex]="col.visibleIndex"
129128
[value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath"
@@ -155,7 +154,6 @@
155154
[style.min-width]="col.resolvedWidth"
156155
[style.max-width]="col.resolvedWidth"
157156
[style.flex-basis]="col.resolvedWidth"
158-
[style.left]="col.rightPinnedOffset"
159157
[width]="col.getCellWidth()"
160158
[visibleColumnIndex]="col.visibleIndex"
161159
[value]="data | dataMapper:col.field:grid.pipeTrigger:data[col.field]:col.hasNestedPath"

0 commit comments

Comments
 (0)