X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fspecialpage%2FChangesListSpecialPage.php;h=58944b4ce02af9f0a7b9e6a1057ad60ae7c7a279;hb=48a72eee8203330657d6ce5daace39e0077666b9;hp=0622584331cd6d117d85e8f599172c7fc0c76c9a;hpb=aef5149bcd5cdf7f11ce73cc32a42be0e426e1b4;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/specialpage/ChangesListSpecialPage.php b/includes/specialpage/ChangesListSpecialPage.php index 0622584331..58944b4ce0 100644 --- a/includes/specialpage/ChangesListSpecialPage.php +++ b/includes/specialpage/ChangesListSpecialPage.php @@ -57,6 +57,12 @@ abstract class ChangesListSpecialPage extends SpecialPage { */ protected static $limitPreferenceName; + /** + * Preference name for collapsing the active filter display. Subclasses should override this. + * @var string + */ + protected static $collapsedPreferenceName; + /** @var string */ protected $rcSubpage; @@ -704,9 +710,8 @@ abstract class ChangesListSpecialPage extends SpecialPage { return; } - $knownParams = call_user_func_array( - [ $this->getRequest(), 'getValues' ], - array_keys( $this->getOptions()->getAllValues() ) + $knownParams = $this->getRequest()->getValues( + ...array_keys( $this->getOptions()->getAllValues() ) ); // HACK: Temporarily until we can properly define "sticky" filters and parameters, @@ -780,9 +785,13 @@ abstract class ChangesListSpecialPage extends SpecialPage { foreach ( $jsData['messageKeys'] as $key ) { $messages[$key] = $this->msg( $key )->plain(); } - $out->addBodyClasses( 'mw-rcfilters-enabled' ); + $collapsed = $this->getUser()->getBoolOption( static::$collapsedPreferenceName ); + if ( $collapsed ) { + $out->addBodyClasses( 'mw-rcfilters-collapsed' ); + } + $out->addHTML( ResourceLoader::makeInlineScript( ResourceLoader::makeMessageSetScript( $messages ), @@ -791,6 +800,7 @@ abstract class ChangesListSpecialPage extends SpecialPage { ); $out->addJsConfigVars( 'wgStructuredChangeFilters', $jsData['groups'] ); + $out->addJsConfigVars( 'wgStructuredChangeFiltersCollapsedState', $collapsed ); $out->addJsConfigVars( 'wgRCFiltersChangeTags', @@ -819,6 +829,10 @@ abstract class ChangesListSpecialPage extends SpecialPage { 'wgStructuredChangeFiltersDaysPreferenceName', static::$daysPreferenceName ); + $out->addJsConfigVars( + 'wgStructuredChangeFiltersCollapsedPreferenceName', + static::$collapsedPreferenceName + ); $out->addJsConfigVars( 'StructuredChangeFiltersLiveUpdatePollingRate',