@@ -12,17 +12,16 @@ import {
12
12
ChangeDetectorRef ,
13
13
Component ,
14
14
Directive ,
15
- Inject ,
16
15
Injectable ,
17
16
OnDestroy ,
18
- Optional ,
19
17
ViewChild ,
20
18
ViewEncapsulation ,
19
+ inject ,
21
20
} from '@angular/core' ;
22
21
import { FormControl , FormGroup , FormsModule , ReactiveFormsModule } from '@angular/forms' ;
23
22
import { MatButtonModule } from '@angular/material/button' ;
24
23
import { MatCheckboxModule } from '@angular/material/checkbox' ;
25
- import { DateAdapter , MAT_DATE_FORMATS , MatDateFormats , ThemePalette } from '@angular/material/core' ;
24
+ import { DateAdapter , MAT_DATE_FORMATS , ThemePalette } from '@angular/material/core' ;
26
25
import {
27
26
DateRange ,
28
27
MAT_DATE_RANGE_SELECTION_STRATEGY ,
@@ -42,7 +41,7 @@ import {takeUntil} from 'rxjs/operators';
42
41
/** Range selection strategy that preserves the current range. */
43
42
@Injectable ( )
44
43
export class PreserveRangeStrategy < D > implements MatDateRangeSelectionStrategy < D > {
45
- constructor ( private _dateAdapter : DateAdapter < D > ) { }
44
+ private _dateAdapter = inject < DateAdapter < D > > ( DateAdapter < D > ) ;
46
45
47
46
selectionFinished ( date : D , currentRange : DateRange < D > ) {
48
47
let { start, end} = currentRange ;
@@ -108,14 +107,16 @@ export class CustomRangeStrategy {}
108
107
imports : [ MatIconModule , MatButtonModule ] ,
109
108
} )
110
109
export class CustomHeader < D > implements OnDestroy {
110
+ private _calendar = inject < MatCalendar < D > > ( MatCalendar ) ;
111
+ private _dateAdapter = inject < DateAdapter < D > > ( DateAdapter ) ;
112
+ private _dateFormats = inject ( MAT_DATE_FORMATS ) ;
113
+
111
114
private readonly _destroyed = new Subject < void > ( ) ;
112
115
113
- constructor (
114
- private _calendar : MatCalendar < D > ,
115
- private _dateAdapter : DateAdapter < D > ,
116
- @Inject ( MAT_DATE_FORMATS ) private _dateFormats : MatDateFormats ,
117
- cdr : ChangeDetectorRef ,
118
- ) {
116
+ constructor ( ) {
117
+ const _calendar = this . _calendar ;
118
+ const cdr = inject ( ChangeDetectorRef ) ;
119
+
119
120
_calendar . stateChanges . pipe ( takeUntil ( this . _destroyed ) ) . subscribe ( ( ) => cdr . markForCheck ( ) ) ;
120
121
}
121
122
@@ -157,11 +158,11 @@ export class CustomHeader<D> implements OnDestroy {
157
158
changeDetection : ChangeDetectionStrategy . OnPush ,
158
159
} )
159
160
export class CustomHeaderNgContent < D > {
161
+ private _dateAdapter = inject < DateAdapter < D > > ( DateAdapter ) ;
162
+
160
163
@ViewChild ( MatCalendarHeader )
161
164
header : MatCalendarHeader < D > ;
162
165
163
- constructor ( @Optional ( ) private _dateAdapter : DateAdapter < D > ) { }
164
-
165
166
todayClicked ( ) {
166
167
let calendar = this . header . calendar ;
167
168
0 commit comments