Skip to content

Commit 1dac6ce

Browse files
committed
refactor(cdk/a11y): switch to input transforms
Switches inputs in cdk/a11y to use transforms instead of getters/setters.
1 parent 04e5058 commit 1dac6ce

File tree

2 files changed

+24
-52
lines changed

2 files changed

+24
-52
lines changed

src/cdk/overlay/overlay-directives.ts

Lines changed: 9 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
*/
88

99
import {Direction, Directionality} from '@angular/cdk/bidi';
10-
import {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';
1110
import {ESCAPE, hasModifierKey} from '@angular/cdk/keycodes';
1211
import {TemplatePortal} from '@angular/cdk/portal';
1312
import {
@@ -100,11 +99,6 @@ export class CdkOverlayOrigin {
10099
export class CdkConnectedOverlay implements OnDestroy, OnChanges {
101100
private _overlayRef: OverlayRef;
102101
private _templatePortal: TemplatePortal;
103-
private _hasBackdrop = false;
104-
private _lockPosition = false;
105-
private _growAfterOpen = false;
106-
private _flexibleDimensions = false;
107-
private _push = false;
108102
private _backdropSubscription = Subscription.EMPTY;
109103
private _attachSubscription = Subscription.EMPTY;
110104
private _detachSubscription = Subscription.EMPTY;
@@ -188,49 +182,23 @@ export class CdkConnectedOverlay implements OnDestroy, OnChanges {
188182
@Input('cdkConnectedOverlayTransformOriginOn') transformOriginSelector: string;
189183

190184
/** Whether or not the overlay should attach a backdrop. */
191-
@Input('cdkConnectedOverlayHasBackdrop')
192-
get hasBackdrop(): boolean {
193-
return this._hasBackdrop;
194-
}
195-
set hasBackdrop(value: BooleanInput) {
196-
this._hasBackdrop = coerceBooleanProperty(value);
197-
}
185+
@Input({alias: 'cdkConnectedOverlayHasBackdrop', transform: booleanAttribute})
186+
hasBackdrop: boolean = false;
198187

199188
/** Whether or not the overlay should be locked when scrolling. */
200-
@Input('cdkConnectedOverlayLockPosition')
201-
get lockPosition(): boolean {
202-
return this._lockPosition;
203-
}
204-
set lockPosition(value: BooleanInput) {
205-
this._lockPosition = coerceBooleanProperty(value);
206-
}
189+
@Input({alias: 'cdkConnectedOverlayLockPosition', transform: booleanAttribute})
190+
lockPosition: boolean = false;
207191

208192
/** Whether the overlay's width and height can be constrained to fit within the viewport. */
209-
@Input('cdkConnectedOverlayFlexibleDimensions')
210-
get flexibleDimensions(): boolean {
211-
return this._flexibleDimensions;
212-
}
213-
set flexibleDimensions(value: BooleanInput) {
214-
this._flexibleDimensions = coerceBooleanProperty(value);
215-
}
193+
@Input({alias: 'cdkConnectedOverlayFlexibleDimensions', transform: booleanAttribute})
194+
flexibleDimensions: boolean = false;
216195

217196
/** Whether the overlay can grow after the initial open when flexible positioning is turned on. */
218-
@Input('cdkConnectedOverlayGrowAfterOpen')
219-
get growAfterOpen(): boolean {
220-
return this._growAfterOpen;
221-
}
222-
set growAfterOpen(value: BooleanInput) {
223-
this._growAfterOpen = coerceBooleanProperty(value);
224-
}
197+
@Input({alias: 'cdkConnectedOverlayGrowAfterOpen', transform: booleanAttribute})
198+
growAfterOpen: boolean = false;
225199

226200
/** Whether the overlay can be pushed on-screen if none of the provided positions fit. */
227-
@Input('cdkConnectedOverlayPush')
228-
get push(): boolean {
229-
return this._push;
230-
}
231-
set push(value: BooleanInput) {
232-
this._push = coerceBooleanProperty(value);
233-
}
201+
@Input({alias: 'cdkConnectedOverlayPush', transform: booleanAttribute}) push: boolean = false;
234202

235203
/** Whether the overlay should be disposed of when the user goes backwards/forwards in history. */
236204
@Input({alias: 'cdkConnectedOverlayDisposeOnNavigation', transform: booleanAttribute})

tools/public_api_guard/cdk/overlay.md

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
55
```ts
66

7-
import { BooleanInput } from '@angular/cdk/coercion';
87
import { CdkScrollable } from '@angular/cdk/scrolling';
98
import { ComponentFactoryResolver } from '@angular/core';
109
import { ComponentPortal } from '@angular/cdk/portal';
@@ -55,20 +54,26 @@ export class CdkConnectedOverlay implements OnDestroy, OnChanges {
5554
disableClose: boolean;
5655
get disposeOnNavigation(): boolean;
5756
set disposeOnNavigation(value: boolean);
58-
get flexibleDimensions(): boolean;
59-
set flexibleDimensions(value: BooleanInput);
60-
get growAfterOpen(): boolean;
61-
set growAfterOpen(value: BooleanInput);
62-
get hasBackdrop(): boolean;
63-
set hasBackdrop(value: BooleanInput);
57+
flexibleDimensions: boolean;
58+
growAfterOpen: boolean;
59+
hasBackdrop: boolean;
6460
height: number | string;
65-
get lockPosition(): boolean;
66-
set lockPosition(value: BooleanInput);
61+
lockPosition: boolean;
6762
minHeight: number | string;
6863
minWidth: number | string;
6964
// (undocumented)
7065
static ngAcceptInputType_disposeOnNavigation: unknown;
7166
// (undocumented)
67+
static ngAcceptInputType_flexibleDimensions: unknown;
68+
// (undocumented)
69+
static ngAcceptInputType_growAfterOpen: unknown;
70+
// (undocumented)
71+
static ngAcceptInputType_hasBackdrop: unknown;
72+
// (undocumented)
73+
static ngAcceptInputType_lockPosition: unknown;
74+
// (undocumented)
75+
static ngAcceptInputType_push: unknown;
76+
// (undocumented)
7277
ngOnChanges(changes: SimpleChanges): void;
7378
// (undocumented)
7479
ngOnDestroy(): void;
@@ -85,8 +90,7 @@ export class CdkConnectedOverlay implements OnDestroy, OnChanges {
8590
readonly positionChange: EventEmitter<ConnectedOverlayPositionChange>;
8691
positions: ConnectedPosition[];
8792
positionStrategy: FlexibleConnectedPositionStrategy;
88-
get push(): boolean;
89-
set push(value: BooleanInput);
93+
push: boolean;
9094
scrollStrategy: ScrollStrategy;
9195
transformOriginSelector: string;
9296
viewportMargin: number;

0 commit comments

Comments
 (0)