@@ -12,17 +12,16 @@ import {
1212 ChangeDetectorRef ,
1313 Component ,
1414 Directive ,
15- Inject ,
1615 Injectable ,
1716 OnDestroy ,
18- Optional ,
1917 ViewChild ,
2018 ViewEncapsulation ,
19+ inject ,
2120} from '@angular/core' ;
2221import { FormControl , FormGroup , FormsModule , ReactiveFormsModule } from '@angular/forms' ;
2322import { MatButtonModule } from '@angular/material/button' ;
2423import { 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' ;
2625import {
2726 DateRange ,
2827 MAT_DATE_RANGE_SELECTION_STRATEGY ,
@@ -42,7 +41,7 @@ import {takeUntil} from 'rxjs/operators';
4241/** Range selection strategy that preserves the current range. */
4342@Injectable ( )
4443export class PreserveRangeStrategy < D > implements MatDateRangeSelectionStrategy < D > {
45- constructor ( private _dateAdapter : DateAdapter < D > ) { }
44+ private _dateAdapter = inject < DateAdapter < D > > ( DateAdapter < D > ) ;
4645
4746 selectionFinished ( date : D , currentRange : DateRange < D > ) {
4847 let { start, end} = currentRange ;
@@ -108,14 +107,16 @@ export class CustomRangeStrategy {}
108107 imports : [ MatIconModule , MatButtonModule ] ,
109108} )
110109export 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+
111114 private readonly _destroyed = new Subject < void > ( ) ;
112115
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+
119120 _calendar . stateChanges . pipe ( takeUntil ( this . _destroyed ) ) . subscribe ( ( ) => cdr . markForCheck ( ) ) ;
120121 }
121122
@@ -157,11 +158,11 @@ export class CustomHeader<D> implements OnDestroy {
157158 changeDetection : ChangeDetectionStrategy . OnPush ,
158159} )
159160export class CustomHeaderNgContent < D > {
161+ private _dateAdapter = inject < DateAdapter < D > > ( DateAdapter ) ;
162+
160163 @ViewChild ( MatCalendarHeader )
161164 header : MatCalendarHeader < D > ;
162165
163- constructor ( @Optional ( ) private _dateAdapter : DateAdapter < D > ) { }
164-
165166 todayClicked ( ) {
166167 let calendar = this . header . calendar ;
167168
0 commit comments