Skip to content

Commit 1c9dcb4

Browse files
authored
docs: switch all examples to use inject (#29495)
Updates all of the docs examples to use `inject` instead of constructor-based injection.
1 parent 0a6b3ea commit 1c9dcb4

File tree

44 files changed

+164
-158
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+164
-158
lines changed

src/components-examples/cdk/a11y/focus-monitor-directives/focus-monitor-directives-example.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import {ChangeDetectorRef, Component, NgZone, inject} from '@angular/core';
12
import {A11yModule, FocusOrigin} from '@angular/cdk/a11y';
2-
import {ChangeDetectorRef, Component, NgZone} from '@angular/core';
33

44
/** @title Monitoring focus with FocusMonitor */
55
@Component({
@@ -10,14 +10,12 @@ import {ChangeDetectorRef, Component, NgZone} from '@angular/core';
1010
imports: [A11yModule],
1111
})
1212
export class FocusMonitorDirectivesExample {
13+
private _ngZone = inject(NgZone);
14+
private _cdr = inject(ChangeDetectorRef);
15+
1316
elementOrigin = this.formatOrigin(null);
1417
subtreeOrigin = this.formatOrigin(null);
1518

16-
constructor(
17-
private _ngZone: NgZone,
18-
private _cdr: ChangeDetectorRef,
19-
) {}
20-
2119
formatOrigin(origin: FocusOrigin): string {
2220
return origin ? origin + ' focused' : 'blurred';
2321
}

src/components-examples/cdk/a11y/focus-monitor-focus-via/focus-monitor-focus-via-example.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';
21
import {
32
AfterViewInit,
43
ChangeDetectorRef,
@@ -7,7 +6,9 @@ import {
76
NgZone,
87
OnDestroy,
98
ViewChild,
9+
inject,
1010
} from '@angular/core';
11+
import {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';
1112
import {MatSelectModule} from '@angular/material/select';
1213
import {MatFormFieldModule} from '@angular/material/form-field';
1314

@@ -20,16 +21,14 @@ import {MatFormFieldModule} from '@angular/material/form-field';
2021
imports: [MatFormFieldModule, MatSelectModule],
2122
})
2223
export class FocusMonitorFocusViaExample implements OnDestroy, AfterViewInit {
24+
focusMonitor = inject(FocusMonitor);
25+
private _cdr = inject(ChangeDetectorRef);
26+
private _ngZone = inject(NgZone);
27+
2328
@ViewChild('monitored') monitoredEl: ElementRef<HTMLElement>;
2429

2530
origin = this.formatOrigin(null);
2631

27-
constructor(
28-
public focusMonitor: FocusMonitor,
29-
private _cdr: ChangeDetectorRef,
30-
private _ngZone: NgZone,
31-
) {}
32-
3332
ngAfterViewInit() {
3433
this.focusMonitor.monitor(this.monitoredEl).subscribe(origin =>
3534
this._ngZone.run(() => {

src/components-examples/cdk/a11y/focus-monitor-overview/focus-monitor-overview-example.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';
21
import {
32
AfterViewInit,
43
ChangeDetectorRef,
@@ -7,7 +6,9 @@ import {
76
NgZone,
87
OnDestroy,
98
ViewChild,
9+
inject,
1010
} from '@angular/core';
11+
import {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';
1112

1213
/** @title Monitoring focus with FocusMonitor */
1314
@Component({
@@ -17,18 +18,16 @@ import {
1718
standalone: true,
1819
})
1920
export class FocusMonitorOverviewExample implements OnDestroy, AfterViewInit {
21+
private _focusMonitor = inject(FocusMonitor);
22+
private _cdr = inject(ChangeDetectorRef);
23+
private _ngZone = inject(NgZone);
24+
2025
@ViewChild('element') element: ElementRef<HTMLElement>;
2126
@ViewChild('subtree') subtree: ElementRef<HTMLElement>;
2227

2328
elementOrigin = this.formatOrigin(null);
2429
subtreeOrigin = this.formatOrigin(null);
2530

26-
constructor(
27-
private _focusMonitor: FocusMonitor,
28-
private _cdr: ChangeDetectorRef,
29-
private _ngZone: NgZone,
30-
) {}
31-
3231
ngAfterViewInit() {
3332
this._focusMonitor.monitor(this.element).subscribe(origin =>
3433
this._ngZone.run(() => {

src/components-examples/cdk/dialog/cdk-dialog-data/cdk-dialog-data-example.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Component, Inject} from '@angular/core';
1+
import {Component, inject} from '@angular/core';
22
import {Dialog, DIALOG_DATA, DialogModule} from '@angular/cdk/dialog';
33

44
export interface DialogData {
@@ -15,7 +15,7 @@ export interface DialogData {
1515
imports: [DialogModule],
1616
})
1717
export class CdkDialogDataExample {
18-
constructor(public dialog: Dialog) {}
18+
dialog = inject(Dialog);
1919

2020
openDialog() {
2121
this.dialog.open(CdkDialogDataExampleDialog, {
@@ -34,5 +34,5 @@ export class CdkDialogDataExample {
3434
standalone: true,
3535
})
3636
export class CdkDialogDataExampleDialog {
37-
constructor(@Inject(DIALOG_DATA) public data: DialogData) {}
37+
data = inject(DIALOG_DATA);
3838
}

src/components-examples/cdk/dialog/cdk-dialog-overview/cdk-dialog-overview-example.ts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Component, Inject} from '@angular/core';
1+
import {Component, inject} from '@angular/core';
22
import {Dialog, DialogRef, DIALOG_DATA, DialogModule} from '@angular/cdk/dialog';
33
import {FormsModule} from '@angular/forms';
44

@@ -17,11 +17,11 @@ export interface DialogData {
1717
imports: [FormsModule, DialogModule],
1818
})
1919
export class CdkDialogOverviewExample {
20+
dialog = inject(Dialog);
21+
2022
animal: string | undefined;
2123
name: string;
2224

23-
constructor(public dialog: Dialog) {}
24-
2525
openDialog(): void {
2626
const dialogRef = this.dialog.open<string>(CdkDialogOverviewExampleDialog, {
2727
width: '250px',
@@ -43,8 +43,6 @@ export class CdkDialogOverviewExample {
4343
imports: [FormsModule],
4444
})
4545
export class CdkDialogOverviewExampleDialog {
46-
constructor(
47-
public dialogRef: DialogRef<string>,
48-
@Inject(DIALOG_DATA) public data: DialogData,
49-
) {}
46+
dialogRef = inject<DialogRef<string>>(DialogRef<string>);
47+
data = inject(DIALOG_DATA);
5048
}

src/components-examples/cdk/dialog/cdk-dialog-styling/cdk-dialog-styling-example.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Component} from '@angular/core';
1+
import {Component, inject} from '@angular/core';
22
import {Dialog, DialogModule, DialogRef} from '@angular/cdk/dialog';
33

44
/**
@@ -11,7 +11,7 @@ import {Dialog, DialogModule, DialogRef} from '@angular/cdk/dialog';
1111
imports: [DialogModule],
1212
})
1313
export class CdkDialogStylingExample {
14-
constructor(public dialog: Dialog) {}
14+
dialog = inject(Dialog);
1515

1616
openDialog(): void {
1717
this.dialog.open<string>(CdkDialogStylingExampleDialog);
@@ -25,5 +25,5 @@ export class CdkDialogStylingExample {
2525
standalone: true,
2626
})
2727
export class CdkDialogStylingExampleDialog {
28-
constructor(public dialogRef: DialogRef) {}
28+
dialogRef = inject(DialogRef);
2929
}

src/components-examples/cdk/drag-drop/cdk-drag-drop-root-element/cdk-drag-drop-root-element-example.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
AfterViewInit,
66
ViewContainerRef,
77
OnDestroy,
8+
inject,
89
} from '@angular/core';
910
import {Overlay, OverlayRef} from '@angular/cdk/overlay';
1011
import {TemplatePortal} from '@angular/cdk/portal';
@@ -21,15 +22,13 @@ import {CdkDrag} from '@angular/cdk/drag-drop';
2122
imports: [CdkDrag],
2223
})
2324
export class CdkDragDropRootElementExample implements AfterViewInit, OnDestroy {
25+
private _overlay = inject(Overlay);
26+
private _viewContainerRef = inject(ViewContainerRef);
27+
2428
@ViewChild(TemplateRef) _dialogTemplate: TemplateRef<any>;
2529
private _overlayRef: OverlayRef;
2630
private _portal: TemplatePortal;
2731

28-
constructor(
29-
private _overlay: Overlay,
30-
private _viewContainerRef: ViewContainerRef,
31-
) {}
32-
3332
ngAfterViewInit() {
3433
this._portal = new TemplatePortal(this._dialogTemplate, this._viewContainerRef);
3534
this._overlayRef = this._overlay.create({

src/components-examples/cdk/layout/breakpoint-observer-overview/breakpoint-observer-overview-example.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import {Component, OnDestroy, inject} from '@angular/core';
12
import {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';
2-
import {Component, OnDestroy} from '@angular/core';
33
import {Subject} from 'rxjs';
44
import {takeUntil} from 'rxjs/operators';
55

@@ -23,8 +23,8 @@ export class BreakpointObserverOverviewExample implements OnDestroy {
2323
[Breakpoints.XLarge, 'XLarge'],
2424
]);
2525

26-
constructor(breakpointObserver: BreakpointObserver) {
27-
breakpointObserver
26+
constructor() {
27+
inject(BreakpointObserver)
2828
.observe([
2929
Breakpoints.XSmall,
3030
Breakpoints.Small,

src/components-examples/cdk/platform/cdk-platform-overview/cdk-platform-overview-example.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Component} from '@angular/core';
1+
import {Component, inject} from '@angular/core';
22
import {
33
getSupportedInputTypes,
44
Platform,
@@ -15,9 +15,9 @@ import {
1515
standalone: true,
1616
})
1717
export class CdkPlatformOverviewExample {
18+
platform = inject(Platform);
19+
1820
supportedInputTypes = Array.from(getSupportedInputTypes()).join(', ');
1921
supportsPassiveEventListeners = supportsPassiveEventListeners();
2022
supportsScrollBehavior = supportsScrollBehavior();
21-
22-
constructor(public platform: Platform) {}
2323
}

src/components-examples/cdk/portal/cdk-portal-overview/cdk-portal-overview-example.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
ViewChild,
66
ViewContainerRef,
77
ElementRef,
8+
inject,
89
} from '@angular/core';
910
import {
1011
ComponentPortal,
@@ -25,6 +26,8 @@ import {
2526
imports: [PortalModule],
2627
})
2728
export class CdkPortalOverviewExample implements AfterViewInit {
29+
private _viewContainerRef = inject(ViewContainerRef);
30+
2831
@ViewChild('templatePortalContent') templatePortalContent: TemplateRef<unknown>;
2932
@ViewChild('domPortalContent') domPortalContent: ElementRef<HTMLElement>;
3033

@@ -33,8 +36,6 @@ export class CdkPortalOverviewExample implements AfterViewInit {
3336
templatePortal: TemplatePortal<any>;
3437
domPortal: DomPortal<any>;
3538

36-
constructor(private _viewContainerRef: ViewContainerRef) {}
37-
3839
ngAfterViewInit() {
3940
this.componentPortal = new ComponentPortal(ComponentPortalExample);
4041
this.templatePortal = new TemplatePortal(this.templatePortalContent, this._viewContainerRef);

src/components-examples/cdk/stepper/cdk-linear-stepper-with-form/cdk-linear-stepper-with-form-example.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Component, forwardRef} from '@angular/core';
1+
import {Component, forwardRef, inject} from '@angular/core';
22
import {CdkStepper, CdkStepperModule} from '@angular/cdk/stepper';
33
import {FormBuilder, Validators, FormsModule, ReactiveFormsModule} from '@angular/forms';
44
import {NgTemplateOutlet} from '@angular/common';
@@ -17,6 +17,8 @@ import {NgTemplateOutlet} from '@angular/common';
1717
],
1818
})
1919
export class CdkLinearStepperWithFormExample {
20+
private readonly _formBuilder = inject(FormBuilder);
21+
2022
isLinear = true;
2123
firstFormGroup = this._formBuilder.group({
2224
firstControl: ['', Validators.required],
@@ -25,8 +27,6 @@ export class CdkLinearStepperWithFormExample {
2527
secondControl: ['', Validators.required],
2628
});
2729

28-
constructor(private readonly _formBuilder: FormBuilder) {}
29-
3030
toggleLinearity() {
3131
this.isLinear = !this.isLinear;
3232
}

src/components-examples/cdk/text-field/text-field-autofill-monitor/text-field-autofill-monitor-example.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import {AfterViewInit, Component, ElementRef, OnDestroy, ViewChild, inject} from '@angular/core';
12
import {AutofillMonitor} from '@angular/cdk/text-field';
2-
import {AfterViewInit, Component, ElementRef, OnDestroy, ViewChild} from '@angular/core';
33
import {MatButtonModule} from '@angular/material/button';
44
import {MatInputModule} from '@angular/material/input';
55
import {MatFormFieldModule} from '@angular/material/form-field';
@@ -13,13 +13,13 @@ import {MatFormFieldModule} from '@angular/material/form-field';
1313
imports: [MatFormFieldModule, MatInputModule, MatButtonModule],
1414
})
1515
export class TextFieldAutofillMonitorExample implements AfterViewInit, OnDestroy {
16+
private _autofill = inject(AutofillMonitor);
17+
1618
@ViewChild('first', {read: ElementRef}) firstName: ElementRef<HTMLElement>;
1719
@ViewChild('last', {read: ElementRef}) lastName: ElementRef<HTMLElement>;
1820
firstNameAutofilled: boolean;
1921
lastNameAutofilled: boolean;
2022

21-
constructor(private _autofill: AutofillMonitor) {}
22-
2323
ngAfterViewInit() {
2424
this._autofill
2525
.monitor(this.firstName)

src/components-examples/material-experimental/popover-edit/popover-edit-mat-table/popover-edit-mat-table-example.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Component} from '@angular/core';
1+
import {Component, inject} from '@angular/core';
22
import {DataSource} from '@angular/cdk/collections';
33
import {FormValueContainer, CdkPopoverEditModule} from '@angular/cdk-experimental/popover-edit';
44
import {NgForm, FormsModule} from '@angular/forms';
@@ -221,6 +221,8 @@ const FANTASY_ELEMENTS: readonly FantasyElement[] = [
221221
],
222222
})
223223
export class PopoverEditMatTableExample {
224+
private readonly _snackBar = inject(MatSnackBar);
225+
224226
displayedColumns: string[] = [
225227
'position',
226228
'name',
@@ -241,8 +243,6 @@ export class PopoverEditMatTableExample {
241243
readonly typeValues = new FormValueContainer<PeriodicElement, any>();
242244
readonly fantasyValues = new FormValueContainer<PeriodicElement, any>();
243245

244-
constructor(private readonly _snackBar: MatSnackBar) {}
245-
246246
onSubmitName(element: PeriodicElement, f: NgForm) {
247247
if (!f.valid) {
248248
return;

src/components-examples/material/autocomplete/autocomplete-optgroup/autocomplete-optgroup-example.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Component, OnInit} from '@angular/core';
1+
import {Component, OnInit, inject} from '@angular/core';
22
import {FormBuilder, FormsModule, ReactiveFormsModule} from '@angular/forms';
33
import {Observable} from 'rxjs';
44
import {startWith, map} from 'rxjs/operators';
@@ -35,6 +35,8 @@ export const _filter = (opt: string[], value: string): string[] => {
3535
],
3636
})
3737
export class AutocompleteOptgroupExample implements OnInit {
38+
private _formBuilder = inject(FormBuilder);
39+
3840
stateForm = this._formBuilder.group({
3941
stateGroup: '',
4042
});
@@ -138,8 +140,6 @@ export class AutocompleteOptgroupExample implements OnInit {
138140

139141
stateGroupOptions: Observable<StateGroup[]>;
140142

141-
constructor(private _formBuilder: FormBuilder) {}
142-
143143
ngOnInit() {
144144
this.stateGroupOptions = this.stateForm.get('stateGroup')!.valueChanges.pipe(
145145
startWith(''),

src/components-examples/material/bottom-sheet/bottom-sheet-harness/bottom-sheet-harness-example.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Component, TemplateRef, ViewChild} from '@angular/core';
1+
import {Component, TemplateRef, ViewChild, inject} from '@angular/core';
22
import {
33
MatBottomSheet,
44
MatBottomSheetConfig,
@@ -15,9 +15,9 @@ import {
1515
imports: [MatBottomSheetModule],
1616
})
1717
export class BottomSheetHarnessExample {
18-
@ViewChild(TemplateRef) template: TemplateRef<any>;
18+
readonly bottomSheet = inject(MatBottomSheet);
1919

20-
constructor(readonly bottomSheet: MatBottomSheet) {}
20+
@ViewChild(TemplateRef) template: TemplateRef<any>;
2121

2222
open(config?: MatBottomSheetConfig) {
2323
return this.bottomSheet.open(this.template, config);

0 commit comments

Comments
 (0)