Skip to content

Commit c9e88e2

Browse files
committed
comments pt 1
1 parent 05c223a commit c9e88e2

File tree

11 files changed

+46
-56
lines changed

11 files changed

+46
-56
lines changed

src/cdk-experimental/column-resize/column-resize.ts

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,10 @@ const PROVIDERS = [ColumnResizeNotifier, HeaderRowEventDispatcher, ColumnResizeN
2525
const TABLE_PROVIDERS = [...PROVIDERS, TABLE_LAYOUT_FIXED_RESIZE_STRATEGY_PROVIDER];
2626
const FLEX_PROVIDERS = [...PROVIDERS, FLEX_RESIZE_STRATEGY_PROVIDER];
2727
const HOST_BINDINGS = {
28-
'[class]': 'getIdClass()',
2928
'[class.cdk-column-resize-rtl]': 'directionality.value === "rtl"',
3029
};
3130

32-
let idSequence = 0;
31+
let nextId = 0;
3332

3433
export abstract class ColumnResize implements AfterViewInit, OnDestroy {
3534
protected readonly destroyed = new ReplaySubject<void>();
@@ -40,23 +39,13 @@ export abstract class ColumnResize implements AfterViewInit, OnDestroy {
4039
protected abstract readonly ngZone: NgZone;
4140
protected abstract readonly notifier: ColumnResizeNotifierSource;
4241

43-
private _specifiedId?: string;
44-
private _generatedId?: string;
45-
46-
get id() {
47-
if (this._specifiedId) {
48-
return this._specifiedId;
49-
}
50-
if (!this._generatedId) {
51-
this._generatedId = (++idSequence).toString();
52-
}
53-
return this._generatedId;
54-
}
55-
set id(value: string) {
56-
this._specifiedId = value;
57-
}
42+
protected readonly selectorId = `${++nextId}`;
43+
44+
id?: string;
5845

5946
ngAfterViewInit() {
47+
this.elementRef.nativeElement!.classList.add(this.getUniqueCssClass());
48+
6049
this._listenForRowHoverEvents();
6150
this._listenForResizeActivity();
6251
this._listenForHoverActivity();
@@ -67,8 +56,8 @@ export abstract class ColumnResize implements AfterViewInit, OnDestroy {
6756
this.destroyed.complete();
6857
}
6958

70-
getIdClass() {
71-
return `cdk-column-resize-${this.id}`;
59+
getUniqueCssClass() {
60+
return `cdk-column-resize-${this.selectorId}`;
7261
}
7362

7463
private _listenForRowHoverEvents() {

src/cdk-experimental/column-resize/event-dispatcher.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ export class HeaderRowEventDispatcher {
4040
distinctUntilChanged(),
4141
),
4242
).pipe(
43-
skip(1),
43+
skip(1), // Ignore initial [null, null] emission.
4444
map(([hovered, active]) => active || hovered),
4545
distinctUntilChanged(),
4646
share(),

src/cdk-experimental/column-resize/overlay-handle.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ export abstract class ResizeOverlayHandle implements AfterViewInit, OnDestroy {
134134

135135
let computedNewSize: number = size + (this._isLtr() ? deltaX : -deltaX);
136136
computedNewSize = Math.min(
137-
Math.max(computedNewSize, this.resizeRef.minPx, 0), this.resizeRef.maxPx);
137+
Math.max(computedNewSize, this.resizeRef.minWidthPx, 0), this.resizeRef.maxWidthPx);
138138

139139
this.resizeNotifier.triggerResize.next({columnId, size: computedNewSize});
140140

src/cdk-experimental/column-resize/resizable.ts

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -35,33 +35,33 @@ import {ResizeStrategy} from './resize-strategy';
3535

3636
export abstract class Resizable<HandleComponent extends ResizeOverlayHandle>
3737
implements AfterViewInit, OnDestroy {
38-
protected minPxInternal: number = 0;
39-
protected maxPxInternal: number = Number.MAX_SAFE_INTEGER;
38+
protected minWidthPxInternal: number = 0;
39+
protected maxWidthPxInternal: number = Number.MAX_SAFE_INTEGER;
4040

4141
protected inlineHandle?: HTMLElement;
4242
protected overlayRef?: OverlayRef;
4343
protected readonly destroyed = new ReplaySubject<void>();
4444
protected readonly document: Document;
4545

46-
get minPx(): number {
47-
return this.minPxInternal;
46+
get minWidthPx(): number {
47+
return this.minWidthPxInternal;
4848
}
49-
set minPx(value: number) {
50-
this.minPxInternal = value;
49+
set minWidthPx(value: number) {
50+
this.minWidthPxInternal = value;
5151

5252
if (this.elementRef.nativeElement) {
53-
this._applyMinPx();
53+
this._applyMinWidthPx();
5454
}
5555
}
5656

57-
get maxPx(): number {
58-
return this.maxPxInternal;
57+
get maxWidthPx(): number {
58+
return this.maxWidthPxInternal;
5959
}
60-
set maxPx(value: number) {
61-
this.maxPxInternal = value;
60+
set maxWidthPx(value: number) {
61+
this.maxWidthPxInternal = value;
6262

6363
if (this.elementRef.nativeElement) {
64-
this._applyMaxPx();
64+
this._applyMaxWidthPx();
6565
}
6666
}
6767

@@ -84,7 +84,8 @@ export abstract class Resizable<HandleComponent extends ResizeOverlayHandle>
8484
this._listenForRowHoverEvents();
8585
this._listenForResizeEvents();
8686
this._appendInlineHandle();
87-
this._applyMinPx();
87+
this._applyMinWidthPx();
88+
this._applyMaxWidthPx();
8889
}
8990

9091
ngOnDestroy(): void {
@@ -187,7 +188,7 @@ export abstract class Resizable<HandleComponent extends ResizeOverlayHandle>
187188

188189
private _createHandlePortal(): ComponentPortal<HandleComponent> {
189190
const injector = new PortalInjector(this.injector, new WeakMap([
190-
[ResizeRef, new ResizeRef(this.elementRef, this.overlayRef!, this.minPx, this.maxPx)]
191+
[ResizeRef, new ResizeRef(this.elementRef, this.overlayRef!, this.minWidthPx, this.maxWidthPx)]
191192
]));
192193
return new ComponentPortal(this.getOverlayHandleComponentType(),
193194
this.viewContainerRef, injector);
@@ -203,20 +204,20 @@ export abstract class Resizable<HandleComponent extends ResizeOverlayHandle>
203204
}
204205

205206
private _applySize(sizeInPixels: number): void {
206-
const sizeToApply = Math.min(Math.max(sizeInPixels, this.minPx, 0), this.maxPx);
207+
const sizeToApply = Math.min(Math.max(sizeInPixels, this.minWidthPx, 0), this.maxWidthPx);
207208

208209
this.resizeStrategy.applyColumnSize(this.columnDef.cssClassFriendlyName,
209210
this.elementRef.nativeElement!, sizeToApply);
210211
}
211212

212-
private _applyMinPx(): void {
213+
private _applyMinWidthPx(): void {
213214
this.resizeStrategy.applyMinColumnSize(this.columnDef.cssClassFriendlyName,
214-
this.elementRef.nativeElement, this.minPx);
215+
this.elementRef.nativeElement, this.minWidthPx);
215216
}
216217

217-
private _applyMaxPx(): void {
218+
private _applyMaxWidthPx(): void {
218219
this.resizeStrategy.applyMaxColumnSize(this.columnDef.cssClassFriendlyName,
219-
this.elementRef.nativeElement, this.maxPx);
220+
this.elementRef.nativeElement, this.maxWidthPx);
220221
}
221222

222223
private _appendInlineHandle(): void {

src/cdk-experimental/column-resize/resize-ref.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ export class ResizeRef {
1313
constructor(
1414
readonly origin: ElementRef,
1515
readonly overlayRef: OverlayRef,
16-
readonly minPx: number,
17-
readonly maxPx: number, ) {}
16+
readonly minWidthPx: number,
17+
readonly maxWidthPx: number, ) {}
1818
}

src/cdk-experimental/column-resize/resize-strategy.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ export class CdkFlexTableResizeStrategy extends ResizeStrategy implements OnDest
122122
} else {
123123
properties.delete(key);
124124
}
125-
this._applySizeCSS(cssFriendlyColumnName);
125+
this._applySizeCss(cssFriendlyColumnName);
126126
}
127127

128128
private _getStyleSheet(): CSSStyleSheet {
@@ -144,7 +144,7 @@ export class CdkFlexTableResizeStrategy extends ResizeStrategy implements OnDest
144144
return properties;
145145
}
146146

147-
private _applySizeCSS(cssFriendlyColumnName: string) {
147+
private _applySizeCss(cssFriendlyColumnName: string) {
148148
const properties = this._getColumnPropertiesMap(cssFriendlyColumnName);
149149
const propertyKeys = Array.from(properties.keys());
150150

@@ -162,7 +162,7 @@ export class CdkFlexTableResizeStrategy extends ResizeStrategy implements OnDest
162162
}
163163

164164
const columnClassName = this.getColumnCssClass(cssFriendlyColumnName);
165-
const tableClassName = this._columnResize.getIdClass();
165+
const tableClassName = this._columnResize.getUniqueCssClass();
166166

167167
const selector = `.${tableClassName} .${columnClassName}`;
168168
const body = propertyKeys.map(key => `${key}:${properties.get(key)}`).join(';');

src/dev-app/column-resize/default-enabled-flex/default-enabled-column-resize-flex-demo.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<mat-table [dataSource]="dataSource" class="mat-elevation-z8 example-table">
22
<!-- Position Column -->
33
<ng-container matColumnDef="position">
4-
<mat-header-cell *matHeaderCellDef [matResizableMaxPx]="100"> No. </mat-header-cell>
4+
<mat-header-cell *matHeaderCellDef [matResizableMaxWidthPx]="100"> No. </mat-header-cell>
55
<mat-cell *matCellDef="let element"> {{element.position}} </mat-cell>
66
</ng-container>
77

88
<!-- Name Column -->
99
<ng-container matColumnDef="name">
10-
<mat-header-cell *matHeaderCellDef [matResizableMinPx]="100"> Name </mat-header-cell>
10+
<mat-header-cell *matHeaderCellDef [matResizableMinWidthPx]="100"> Name </mat-header-cell>
1111
<mat-cell *matCellDef="let element"> {{element.name}} </mat-cell>
1212
</ng-container>
1313

src/dev-app/column-resize/default-enabled/default-enabled-column-resize-demo.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<table mat-table [dataSource]="dataSource" class="mat-elevation-z8 example-table">
22
<!-- Position Column -->
33
<ng-container matColumnDef="position">
4-
<th mat-header-cell *matHeaderCellDef [matResizableMaxPx]="100"> No. </th>
4+
<th mat-header-cell *matHeaderCellDef [matResizableMaxWidthPx]="100"> No. </th>
55
<td mat-cell *matCellDef="let element"> {{element.position}} </td>
66
</ng-container>
77

88
<!-- Name Column -->
99
<ng-container matColumnDef="name">
10-
<th mat-header-cell *matHeaderCellDef [matResizableMinPx]="100"> Name </th>
10+
<th mat-header-cell *matHeaderCellDef [matResizableMinWidthPx]="100"> Name </th>
1111
<td mat-cell *matCellDef="let element"> {{element.name}} </td>
1212
</ng-container>
1313

src/dev-app/column-resize/opt-in/opt-in-column-resize-demo.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
<table mat-table columnResize [dataSource]="dataSource" class="mat-elevation-z8 example-table">
22
<!-- Position Column -->
33
<ng-container matColumnDef="position">
4-
<th mat-header-cell *matHeaderCellDef resizable [matResizableMaxPx]="100"> No. </th>
4+
<th mat-header-cell *matHeaderCellDef resizable [matResizableMaxWidthPx]="100"> No. </th>
55
<td mat-cell *matCellDef="let element"> {{element.position}} </td>
66
</ng-container>
77

88
<!-- Name Column -->
99
<ng-container matColumnDef="name">
10-
<th mat-header-cell *matHeaderCellDef resizable [matResizableMinPx]="100"> Name </th>
10+
<th mat-header-cell *matHeaderCellDef resizable [matResizableMinWidthPx]="100"> Name </th>
1111
<td mat-cell *matCellDef="let element"> {{element.name}} </td>
1212
</ng-container>
1313

src/material-experimental/column-resize/column-resize.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@ const HOST_BINDINGS = {
2828
};
2929
const TABLE_HOST_BINDINGS = {
3030
...HOST_BINDINGS,
31-
'[class]': '"mat-column-resize-table " + getIdClass()',
31+
'class': 'mat-column-resize-table',
3232
};
3333
const FLEX_HOST_BINDINGS = {
3434
...HOST_BINDINGS,
35-
'[class]': '"mat-column-resize-flex " + getIdClass()',
35+
'class': 'mat-column-resize-flex',
3636
};
3737

3838
export abstract class AbstractMatColumnResize extends ColumnResize {

src/material-experimental/column-resize/resizable.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {Resizable} from '@angular/cdk-experimental/column-resize';
1212
import {MatColumnResizeOverlayHandle} from './overlay-handle';
1313

1414
export abstract class AbstractMatResizable extends Resizable<MatColumnResizeOverlayHandle> {
15-
minPxInternal = 32;
15+
minWidthPxInternal = 32;
1616

1717
protected getInlineHandleCssClassName(): string {
1818
return 'mat-resizable-handle';
@@ -28,8 +28,8 @@ const RESIZABLE_HOST_BINDINGS = {
2828
};
2929

3030
const RESIZABLE_INPUTS = [
31-
'minPx: matResizableMinPx',
32-
'maxPx: matResizableMaxPx',
31+
'minWidthPx: matResizableMinWidthPx',
32+
'maxWidthPx: matResizableMaxWidthPx',
3333
];
3434

3535
@Directive({

0 commit comments

Comments
 (0)