RC Filters: don't bind onMenuToggle twice
authorStephane Bisson <sbisson@wikimedia.org>
Tue, 2 May 2017 14:46:54 +0000 (10:46 -0400)
committerStephane Bisson <sbisson@wikimedia.org>
Tue, 2 May 2017 14:46:54 +0000 (10:46 -0400)
Having 2 event handlers for onMenuToggle means
double-counting popup openings, which breaks
the highlight guided tour prompt schedule.

Bug: T164228
Change-Id: Ia6855e6b07e1364ff76c2bccd82c33b21b82619b

resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js

index 4192aad..c52ca1f 100644 (file)
@@ -2,7 +2,7 @@
        /**
         * List displaying all filter groups
         *
-        * @extends OO.ui.Widget
+        * @extends OO.ui.MenuTagMultiselectWidget
         * @mixins OO.ui.mixin.PendingElement
         *
         * @constructor
@@ -76,7 +76,6 @@
                        itemUpdate: 'onModelItemUpdate',
                        highlightChange: 'onModelHighlightChange'
                } );
-               this.menu.connect( this, { toggle: 'onMenuToggle' } );
 
                // Build the content
                $contentWrapper.append(
         * @param {boolean} isVisible Menu is visible
         */
        mw.rcfilters.ui.FilterTagMultiselectWidget.prototype.onMenuToggle = function ( isVisible ) {
+               // Parent
+               mw.rcfilters.ui.FilterTagMultiselectWidget.parent.prototype.onMenuToggle.call( this );
+
                if ( isVisible ) {
-                       mw.hook( 'RcFilters.popup.open' ).fire( this.getMenu().getSelectedItem() );
+                       mw.hook( 'RcFilters.popup.open' ).fire();
 
                        if ( !this.getMenu().getSelectedItem() ) {
                                // If there are no selected items, scroll menu to top
                        }
                } else {
                        // Clear selection
-                       this.getMenu().selectItem( null );
                        this.selectTag( null );
                }
        };