mw.widgets.Complex*: Fix setDisabled
authorPrateek Saxena <prtksxna@gmail.com>
Wed, 12 Apr 2017 19:27:22 +0000 (00:57 +0530)
committerPrateek Saxena <prtksxna@gmail.com>
Wed, 12 Apr 2017 19:27:22 +0000 (00:57 +0530)
* 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

resources/src/mediawiki.widgets/mw.widgets.ComplexNamespaceInputWidget.js
resources/src/mediawiki.widgets/mw.widgets.ComplexTitleInputWidget.js

index b0c9f91..9edd0bd 100644 (file)
         */
        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 );
                }
                if ( this.associated ) {
                        this.associated.setDisabled( disabled );
                }
+               return this;
        };
 
 }( jQuery, mediaWiki ) );
index 030fbb0..a01fbde 100644 (file)
         */
        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 ) );