Clicking on a month does not mean that the user has made a selection,
it only means that if we are in { precision: 'month' } mode.
In { precision: 'day' } mode, clicking a month is navigational,
so don't auto-close in that case.
Bug: T172041
Change-Id: I16a3e15a3b69844ff866fc09ba6a9268e85b2930
* @return {boolean} False to cancel the default event
*/
mw.widgets.DateInputWidget.prototype.onCalendarClick = function ( e ) {
+ var targetClass = this.calendar.getPrecision() === 'month' ?
+ 'mw-widget-calendarWidget-month' :
+ 'mw-widget-calendarWidget-day';
if (
!this.isDisabled() &&
e.which === 1 &&
- (
- $( e.target ).hasClass( 'mw-widget-calendarWidget-day' ) ||
- $( e.target ).hasClass( 'mw-widget-calendarWidget-month' )
- )
+ $( e.target ).hasClass( targetClass )
) {
this.deactivate( true );
return false;