RCFilters: Make extra filters footer non-sticky
authorMoriel Schottlender <moriel@gmail.com>
Tue, 27 Jun 2017 00:17:19 +0000 (17:17 -0700)
committerCatrope <roan@wikimedia.org>
Tue, 27 Jun 2017 18:53:25 +0000 (18:53 +0000)
Bug: T168851
Change-Id: I504847e4b07d473786a4026b053a55ae460897e8

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

index 70381f2..0ab459e 100644 (file)
@@ -47,6 +47,7 @@
                                footers: [
                                        {
                                                name: 'viewSelect',
+                                               sticky: false,
                                                // View select menu, appears on default view only
                                                $element: $( '<div>' )
                                                        .append( new mw.rcfilters.ui.ViewSwitchWidget( this.controller, this.model ).$element ),
index c70e00b..cc63fb6 100644 (file)
                // based on view
                config.footers = config.footers || [];
                config.footers.forEach( function ( footerData ) {
-                       var adjustedData = {
-                               // Wrap the element with our own footer wrapper
-                               $element: $( '<div>' )
-                                       .addClass( 'mw-rcfilters-ui-menuSelectWidget-footer' )
-                                       .addClass( 'mw-rcfilters-ui-menuSelectWidget-footer-' + footerData.name )
-                                       .append( footerData.$element ),
-                               views: footerData.views
-                       };
+                       var isSticky = footerData.sticky === undefined ? true : !!footerData.sticky,
+                               adjustedData = {
+                                       // Wrap the element with our own footer wrapper
+                                       $element: $( '<div>' )
+                                               .addClass( 'mw-rcfilters-ui-menuSelectWidget-footer' )
+                                               .addClass( 'mw-rcfilters-ui-menuSelectWidget-footer-' + footerData.name )
+                                               .append( footerData.$element ),
+                                       views: footerData.views
+                               };
 
                        this.footers.push( adjustedData );
-                       this.$element.append( adjustedData.$element );
+
+                       if ( isSticky ) {
+                               this.$element.append( adjustedData.$element );
+                       } else {
+                               this.$body.append( adjustedData.$element );
+                       }
                }.bind( this ) );
 
                // Switch to the correct view