$output = $this->getOutput();
$request = $this->getRequest();
$this->addHelpLink( 'Help:Watching pages' );
+ $output->addModuleStyles( [ 'mediawiki.special' ] );
$output->addModules( [
- 'mediawiki.special.changeslist.visitedstatus',
'mediawiki.special.watchlist',
] );
- $output->addModuleStyles( [ 'mediawiki.special.watchlist.styles' ] );
$mode = SpecialEditWatchlist::getMode( $request, $subpage );
if ( $mode !== false ) {
}
public static function checkStructuredFilterUiEnabled( Config $config, User $user ) {
- return (
- $config->get( 'StructuredChangeFiltersOnWatchlist' ) &&
- $user->getOption( 'rcenhancedfilters' )
- );
+ if ( !$config->get( 'StructuredChangeFiltersOnWatchlist' ) ) {
+ return false;
+ }
+
+ if ( $config->get( 'StructuredChangeFiltersShowWatchlistPreference' ) ) {
+ return !$user->getOption( 'wlenhancedfilters-disable' );
+ } else {
+ return $user->getOption( 'rcenhancedfilters' );
+ }
}
/**
$reviewStatus = $this->getFilterGroup( 'reviewStatus' );
if ( $reviewStatus !== null ) {
// Conditional on feature being available and rights
- $hidePatrolled = $reviewStatus->getFilter( 'hidepatrolled' );
- $hidePatrolled->setDefault( $user->getBoolOption( 'watchlisthidepatrolled' ) );
+ if ( $user->getBoolOption( 'watchlisthidepatrolled' ) ) {
+ $reviewStatus->setDefault( 'unpatrolled' );
+ $legacyReviewStatus = $this->getFilterGroup( 'legacyReviewStatus' );
+ $legacyHidePatrolled = $legacyReviewStatus->getFilter( 'hidepatrolled' );
+ $legacyHidePatrolled->setDefault( true );
+ }
}
$authorship = $this->getFilterGroup( 'authorship' );