Enable save button when removing item from UsersMultiselectWidget list
authorDavid Barratt <dbarratt@wikimedia.org>
Mon, 4 Sep 2017 23:19:42 +0000 (19:19 -0400)
committerDavid Barratt <dbarratt@wikimedia.org>
Mon, 4 Sep 2017 23:19:42 +0000 (19:19 -0400)
UsersMultiselectWidget uses a hidden input to store values. Hidden inputs do not trigger onChange events. The onChange event must be trigger manually.

Bug: T173973
Change-Id: Ib9ec31791f1fe7bdde8d91ae16a2111f4320c615

resources/src/mediawiki.widgets/mw.widgets.UsersMultiselectWidget.js

index 832cb2b..d250ad8 100644 (file)
        mw.widgets.UsersMultiselectWidget.prototype.updateHiddenInput = function () {
                if ( 'hiddenInput' in this ) {
                        this.hiddenInput.val( this.getSelectedUsernames().join( '\n' ) );
+                       // Hidden inputs do not trigger onChange.
+                       // @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/hidden
+                       this.hiddenInput.trigger( 'change' );
                }
        };