From: petarpetkovic Date: Wed, 29 Nov 2017 15:28:36 +0000 (+0100) Subject: Absolutely position "legend" on grouped results X-Git-Tag: 1.31.0-rc.0~1289^2 X-Git-Url: https://git.cyclocoop.org/%7B%24admin_url%7Dmembres/cotisations/rappels.php?a=commitdiff_plain;ds=sidebyside;h=bc3f4d1b1860f4e7d8b3b63f8d5eb8c24a0ffe7c;p=lhc%2Fweb%2Fwiklou.git Absolutely position "legend" on grouped results - When results are grouped by page, on pages where new RC filters are enabled, apply position: absolute to legend, to avoid top result entries being pushed too much. Bug: T174728 Change-Id: Ifecaaff5727905b3c4e860555ba094f71aac6f80 --- diff --git a/includes/specialpage/ChangesListSpecialPage.php b/includes/specialpage/ChangesListSpecialPage.php index 5194983964..0e99c3cc13 100644 --- a/includes/specialpage/ChangesListSpecialPage.php +++ b/includes/specialpage/ChangesListSpecialPage.php @@ -1596,8 +1596,13 @@ abstract class ChangesListSpecialPage extends SpecialPage { # Collapsible $collapsedState = $this->getRequest()->getCookie( 'changeslist-state' ); $collapsedClass = $collapsedState === 'collapsed' ? ' mw-collapsed' : ''; + # Enhanced mode + $enhancedMode = $this->getRequest()->getBool( 'enhanced', $user->getOption( 'usenewrc' ) ); + $enhancedClass = $enhancedMode ? ' mw-enhanced' : ''; + + $legendClasses = $collapsedClass . $enhancedClass; $legend = - '
' . + '
' . $legendHeading . '
' . $legend . '
' . '
'; diff --git a/resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesListWrapperWidget.less b/resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesListWrapperWidget.less index b923efb879..ec311dfcf1 100644 --- a/resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesListWrapperWidget.less +++ b/resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.ChangesListWrapperWidget.less @@ -54,8 +54,19 @@ } } + &-enhancedView { + .mw-changeslist-legend { + z-index: 1; + + &:not( .mw-collapsed ) { + .box-shadow( 0 1px 1px rgba( 0, 0, 0, 0.15 ) ); + } + } + } + .mw-changeslist-legend { background-color: @background-color-base; + border: 1px solid @colorGray12; } // Correction for Enhanced RC diff --git a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js index 8716c68c4a..98a7d8cd3c 100644 --- a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js +++ b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js @@ -327,6 +327,8 @@ // Regular RC $content.find( 'ul.special li' ) .prepend( $highlights.clone() ); + + $content.removeClass( 'mw-rcfilters-ui-changesListWrapperWidget-enhancedView' ); } }; diff --git a/resources/src/mediawiki.special/mediawiki.special.changeslist.css b/resources/src/mediawiki.special/mediawiki.special.changeslist.css index 532ca8652c..734666f18e 100644 --- a/resources/src/mediawiki.special/mediawiki.special.changeslist.css +++ b/resources/src/mediawiki.special/mediawiki.special.changeslist.css @@ -44,3 +44,16 @@ .mw-changeslist-legend.mw-collapsed .mw-collapsible-content { display: none; } + +/* Prevent pushing down of content if legend is initially collapsed */ +.mw-changeslist-legend.mw-collapsed ~ ul.special > li:first-child { + clear: right; +} + +/* Absolute positioning to avoid table overlap with floating elements */ +.mw-changeslist-legend.mw-enhanced { + background-color: #fff; + position: absolute; + right: 0; + margin-top: -0.5em; +}