@@ -148,12 +148,12 @@ export class MatCalendar<D> implements AfterContentInit, OnDestroy, OnChanges {
148148 if ( this . _currentView == 'year' ) {
149149 return this . _dateAdapter . getYearName ( this . _activeDate ) ;
150150 }
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 } ` ;
157157 }
158158
159159 get _periodButtonLabel ( ) : string {
@@ -231,15 +231,9 @@ export class MatCalendar<D> implements AfterContentInit, OnDestroy, OnChanges {
231231 }
232232
233233 /** 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 ;
243237 }
244238
245239 /** Handles user clicks on the period label. */
@@ -308,6 +302,7 @@ export class MatCalendar<D> implements AfterContentInit, OnDestroy, OnChanges {
308302 if ( this . _currentView == 'year' ) {
309303 return this . _dateAdapter . getYear ( date1 ) == this . _dateAdapter . getYear ( date2 ) ;
310304 }
305+ // Otherwise we are in 'multi-year' view.
311306 return Math . floor ( this . _dateAdapter . getYear ( date1 ) / yearsPerPage ) ==
312307 Math . floor ( this . _dateAdapter . getYear ( date2 ) / yearsPerPage ) ;
313308 }
@@ -395,7 +390,7 @@ export class MatCalendar<D> implements AfterContentInit, OnDestroy, OnChanges {
395390 this . _dateAdapter . addCalendarYears ( this . _activeDate , event . altKey ? 10 : 1 ) ;
396391 break ;
397392 case ENTER :
398- this . _monthSelected ( this . _activeDate ) ;
393+ this . _goToDateInView ( this . _activeDate , 'month' ) ;
399394 break ;
400395 default :
401396 // 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 {
441436 this . _activeDate , event . altKey ? yearsPerPage * 10 : yearsPerPage ) ;
442437 break ;
443438 case ENTER :
444- this . _yearSelected ( this . _activeDate ) ;
439+ this . _goToDateInView ( this . _activeDate , 'year' ) ;
445440 break ;
446441 default :
447442 // Don't prevent default or focus active cell on keys that we don't explicitly handle.
0 commit comments