@@ -148,12 +148,12 @@ export class MatCalendar<D> implements AfterContentInit, OnDestroy, OnChanges {
148
148
if ( this . _currentView == 'year' ) {
149
149
return this . _dateAdapter . getYearName ( this . _activeDate ) ;
150
150
}
151
- let curYear = this . _dateAdapter . getYear ( this . _activeDate ) ;
152
- let firstYear = this . _dateAdapter . getYearName (
153
- this . _dateAdapter . createDate ( curYear - curYear % 24 , 0 , 1 ) ) ;
154
- let lastYear = this . _dateAdapter . getYearName (
155
- this . _dateAdapter . createDate ( curYear + yearsPerPage - 1 - curYear % 24 , 0 , 1 ) ) ;
156
- return `${ firstYear } \u2013 ${ lastYear } ` ;
151
+ const activeYear = this . _dateAdapter . getYear ( this . _activeDate ) ;
152
+ const firstYearInView = this . _dateAdapter . getYearName (
153
+ this . _dateAdapter . createDate ( activeYear - activeYear % 24 , 0 , 1 ) ) ;
154
+ const lastYearInView = this . _dateAdapter . getYearName (
155
+ this . _dateAdapter . createDate ( activeYear + yearsPerPage - 1 - activeYear % 24 , 0 , 1 ) ) ;
156
+ return `${ firstYearInView } \u2013 ${ lastYearInView } ` ;
157
157
}
158
158
159
159
get _periodButtonLabel ( ) : string {
@@ -231,15 +231,9 @@ export class MatCalendar<D> implements AfterContentInit, OnDestroy, OnChanges {
231
231
}
232
232
233
233
/** Handles month selection in the multi-year view. */
234
- _yearSelected ( year : D ) : void {
235
- this . _activeDate = year ;
236
- this . _currentView = 'year' ;
237
- }
238
-
239
- /** Handles month selection in the year view. */
240
- _monthSelected ( month : D ) : void {
241
- this . _activeDate = month ;
242
- this . _currentView = 'month' ;
234
+ _goToDateInView ( date : D , view : 'month' | 'year' | 'multi-year' ) : void {
235
+ this . _activeDate = date ;
236
+ this . _currentView = view ;
243
237
}
244
238
245
239
/** Handles user clicks on the period label. */
@@ -308,6 +302,7 @@ export class MatCalendar<D> implements AfterContentInit, OnDestroy, OnChanges {
308
302
if ( this . _currentView == 'year' ) {
309
303
return this . _dateAdapter . getYear ( date1 ) == this . _dateAdapter . getYear ( date2 ) ;
310
304
}
305
+ // Otherwise we are in 'multi-year' view.
311
306
return Math . floor ( this . _dateAdapter . getYear ( date1 ) / yearsPerPage ) ==
312
307
Math . floor ( this . _dateAdapter . getYear ( date2 ) / yearsPerPage ) ;
313
308
}
@@ -395,7 +390,7 @@ export class MatCalendar<D> implements AfterContentInit, OnDestroy, OnChanges {
395
390
this . _dateAdapter . addCalendarYears ( this . _activeDate , event . altKey ? 10 : 1 ) ;
396
391
break ;
397
392
case ENTER :
398
- this . _monthSelected ( this . _activeDate ) ;
393
+ this . _goToDateInView ( this . _activeDate , 'month' ) ;
399
394
break ;
400
395
default :
401
396
// Don't prevent default or focus active cell on keys that we don't explicitly handle.
@@ -441,7 +436,7 @@ export class MatCalendar<D> implements AfterContentInit, OnDestroy, OnChanges {
441
436
this . _activeDate , event . altKey ? yearsPerPage * 10 : yearsPerPage ) ;
442
437
break ;
443
438
case ENTER :
444
- this . _yearSelected ( this . _activeDate ) ;
439
+ this . _goToDateInView ( this . _activeDate , 'year' ) ;
445
440
break ;
446
441
default :
447
442
// Don't prevent default or focus active cell on keys that we don't explicitly handle.
0 commit comments