From 7a80c55421e474835ef3b4492e7d75fed177dafb Mon Sep 17 00:00:00 2001 From: Prateek Saxena Date: Thu, 13 Apr 2017 00:57:22 +0530 Subject: [PATCH] mw.widgets.Complex*: Fix setDisabled * Check if elements exists before trying to disable them * Return `this`, as the method is marked as chainable Follows-up I6747f4e64dd81197bb3e37c09876399f1cb3be07 Bug: T162667 Change-Id: I17665e57537dbed0821bc3226377849eb8388a32 --- .../mw.widgets.ComplexNamespaceInputWidget.js | 6 ++++-- .../mw.widgets.ComplexTitleInputWidget.js | 10 ++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/resources/src/mediawiki.widgets/mw.widgets.ComplexNamespaceInputWidget.js b/resources/src/mediawiki.widgets/mw.widgets.ComplexNamespaceInputWidget.js index b0c9f916ad..9edd0bd958 100644 --- a/resources/src/mediawiki.widgets/mw.widgets.ComplexNamespaceInputWidget.js +++ b/resources/src/mediawiki.widgets/mw.widgets.ComplexNamespaceInputWidget.js @@ -120,8 +120,9 @@ */ mw.widgets.ComplexNamespaceInputWidget.prototype.setDisabled = function ( disabled ) { mw.widgets.ComplexNamespaceInputWidget.parent.prototype.setDisabled.call( this, disabled ); - this.namespace.setDisabled( disabled ); - + if ( this.namespace ) { + this.namespace.setDisabled( disabled ); + } if ( this.invert ) { this.invert.setDisabled( disabled ); } @@ -129,6 +130,7 @@ if ( this.associated ) { this.associated.setDisabled( disabled ); } + return this; }; }( jQuery, mediaWiki ) ); diff --git a/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js b/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js index 030fbb0935..a01fbde1f8 100644 --- a/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js +++ b/resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js @@ -108,8 +108,14 @@ */ mw.widgets.ComplexTitleInputWidget.prototype.setDisabled = function ( disabled ) { mw.widgets.ComplexTitleInputWidget.parent.prototype.setDisabled.call( this, disabled ); - this.namespace.setDisabled( disabled ); - this.title.setDisabled( disabled ); + if ( this.namespace ) { + this.namespace.setDisabled( disabled ); + } + + if ( this.title ) { + this.title.setDisabled( disabled ); + } + return this; }; }( jQuery, mediaWiki ) ); -- 2.20.1