Skip to content

Commit ee56c12

Browse files
committed
chore(*): address comments
1 parent 73def45 commit ee56c12

File tree

3 files changed

+18
-33
lines changed

3 files changed

+18
-33
lines changed

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

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2154,8 +2154,7 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy
21542154
if (size && !!size.width) {
21552155
result.push(size.width + 'px');
21562156
} else {
2157-
const possibleWidth = this.getPossibeWidth();
2158-
const currentWidth = parseFloat(possibleWidth);
2157+
const currentWidth = parseFloat(this.grid.getPossibleColumnWidth());
21592158
result.push((this.getConstrainedSizePx(currentWidth)) + 'px');
21602159
}
21612160
}
@@ -2650,12 +2649,18 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy
26502649
this._calcWidth = this.grid.calcWidth ? this.getConstrainedSizePx(currentCalcWidth) : 0;
26512650
} else if (!colWidth || isAutoWidth && !this.autoSize) {
26522651
// no width
2653-
const possibleWidth = this.getPossibeWidth();
2654-
const currentCalcWidth = this.defaultWidth || possibleWidth;
2652+
const currentCalcWidth = this.defaultWidth || this.grid.getPossibleColumnWidth();
26552653
this._calcWidth = this.getConstrainedSizePx(currentCalcWidth);
26562654
} else {
2657-
const currentCalcWidth = parseFloat(this.width);
2658-
this._calcWidth =this.getConstrainedSizePx(currentCalcWidth);
2655+
let possibleColumnWidth = '';
2656+
if (!this.widthSetByUser && this.minWidthSetByUser && this.userSetMinWidthPx < this.grid.minColumnWidth) {
2657+
possibleColumnWidth = this.defaultWidth = this.grid.getPossibleColumnWidth(null, this.userSetMinWidthPx);
2658+
} else {
2659+
possibleColumnWidth = this.width;
2660+
}
2661+
2662+
const currentCalcWidth = parseFloat(possibleColumnWidth);
2663+
this._calcWidth = this.getConstrainedSizePx(currentCalcWidth);
26592664
}
26602665
this.calcPixelWidth = parseFloat(this._calcWidth);
26612666
}
@@ -2720,12 +2725,4 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy
27202725
public get minWidthSetByUser(): boolean {
27212726
return this._minWidthSetByUser;
27222727
}
2723-
2724-
private getPossibeWidth(): string {
2725-
const possibleWidth = this.grid.getPossibleColumnWidth();
2726-
if (!this.minWidthSetByUser && parseFloat(possibleWidth) < this.grid.minColumnWidth) {
2727-
return this.grid.minColumnWidth + 'px';
2728-
}
2729-
return possibleWidth;
2730-
}
27312728
}

projects/igniteui-angular/src/lib/grids/common/grid.interface.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1156,7 +1156,7 @@ export interface GridType extends IGridDataBindable {
11561156
refreshSearch(): void;
11571157
getDefaultExpandState(record: any): boolean;
11581158
trackColumnChanges(index: number, column: any): any;
1159-
getPossibleColumnWidth(): string;
1159+
getPossibleColumnWidth(baseWidth?: number, minColumnWidth?: number): string;
11601160
resetHorizontalVirtualization(): void;
11611161
hasVerticalScroll(): boolean;
11621162
getVisibleContentHeight(): number;

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

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3237,7 +3237,6 @@ export abstract class IgxGridBaseDirective implements GridType,
32373237
private _shouldRecalcRowHeight = false;
32383238

32393239
private _hostWidth;
3240-
private _possibleColumnWidth: string;
32413240
private _advancedFilteringOverlayId: string;
32423241
private _advancedFilteringPositionSettings: PositionSettings = {
32433242
verticalDirection: VerticalAlignment.Middle,
@@ -5485,7 +5484,7 @@ export abstract class IgxGridBaseDirective implements GridType,
54855484
/**
54865485
* @hidden @internal
54875486
*/
5488-
public getPossibleColumnWidth(baseWidth: number = null) {
5487+
public getPossibleColumnWidth(baseWidth: number = null, minColumnWidth: number = null) {
54895488
let computedWidth;
54905489
if (baseWidth !== null) {
54915490
computedWidth = baseWidth;
@@ -5534,9 +5533,11 @@ export abstract class IgxGridBaseDirective implements GridType,
55345533
}
55355534
computedWidth -= this.featureColumnsWidth();
55365535

5536+
const minColWidth = minColumnWidth || this.minColumnWidth;
5537+
55375538
const columnWidth = !Number.isFinite(sumExistingWidths) ?
5538-
Math.max(computedWidth / columnsToSize, this.defaultHeaderGroupMinWidth) :
5539-
Math.max((computedWidth - sumExistingWidths) / columnsToSize, this.defaultHeaderGroupMinWidth);
5539+
Math.max(computedWidth / columnsToSize, minColWidth) :
5540+
Math.max((computedWidth - sumExistingWidths) / columnsToSize, minColWidth);
55405541

55415542
return columnWidth + 'px';
55425543
}
@@ -6620,10 +6621,9 @@ export abstract class IgxGridBaseDirective implements GridType,
66206621
*/
66216622
protected _derivePossibleWidth() {
66226623
if (!this.columnWidthSetByUser) {
6623-
this._possibleColumnWidth = this._columnWidth = this.width !== null ? this.getPossibleColumnWidth() : this.minColumnWidth + 'px';
6624+
this._columnWidth = this.width !== null ? this.getPossibleColumnWidth() : this.minColumnWidth + 'px';
66246625
}
66256626
this._columns.forEach((column: IgxColumnComponent) => {
6626-
this.setPossibleMinColumnWidth(column);
66276627
if (this.hasColumnLayouts && parseFloat(this._columnWidth)) {
66286628
const columnWidthCombined = parseFloat(this._columnWidth) * (column.colEnd ? column.colEnd - column.colStart : 1);
66296629
column.defaultWidth = columnWidthCombined + 'px';
@@ -8010,16 +8010,4 @@ export abstract class IgxGridBaseDirective implements GridType,
80108010
}
80118011
this._rowCount += 1; // include header row
80128012
}
8013-
8014-
private setPossibleMinColumnWidth(column: IgxColumnComponent): void {
8015-
if (this.columnWidthSetByUser || this.width == null) {
8016-
return;
8017-
}
8018-
8019-
if (column.minWidthSetByUser || column.hidden) {
8020-
this._columnWidth = this._possibleColumnWidth;
8021-
} else if (!column.minWidthSetByUser && parseFloat(this._possibleColumnWidth) < this.minColumnWidth) {
8022-
this._columnWidth = this.minColumnWidth + 'px';
8023-
}
8024-
}
80258013
}

0 commit comments

Comments
 (0)