RCFilters UI: Fix scrolling behavior on search/popup
authorMoriel Schottlender <moriel@gmail.com>
Mon, 6 Mar 2017 20:26:43 +0000 (12:26 -0800)
committerMoriel Schottlender <moriel@gmail.com>
Mon, 6 Mar 2017 20:26:43 +0000 (12:26 -0800)
Bug: T158018
Change-Id: I7278f34018721e7631ed3f9307e093bd55ff7d24

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

index 7da97a1..886dc43 100644 (file)
         */
        mw.rcfilters.ui.FilterWrapperWidget.prototype.scrollToTop = function ( $element, marginFromTop ) {
                var container = OO.ui.Element.static.getClosestScrollableContainer( $element[ 0 ], 'y' ),
-                       pos = OO.ui.Element.static.getRelativePosition( $element, $( container ) );
+                       pos = OO.ui.Element.static.getRelativePosition( $element, $( container ) ),
+                       containerScrollTop = $( container ).is( 'body' ) ? 0 : $( container ).scrollTop();
 
                // Scroll to item
                $( container ).animate( {
-                       scrollTop: $( container ).scrollTop() + pos.top + ( marginFromTop || 0 )
+                       scrollTop: containerScrollTop + pos.top - ( marginFromTop || 0 )
                } );
        };
 }( mediaWiki ) );