Sbisson has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/405973 )

Change subject: RCLFilters specific message for invalid target page
......................................................................

RCLFilters specific message for invalid target page

* always hide the big red .errorbox when rcfilters
  is enabled

* always identify the changes-list section with
  .mw-changeslist or .mw-changeslist-empty

* conditionally add .mw-changeslist-empty-<reason>
  to the changeslist section when the reason for it
  being empty is known

* handle RCL being empty because the specified title
  is invalid or inter-wiki

Bug: T184952
Change-Id: I5dd974f5f769503e89301dd22bdfd3d49b0dd11f
---
M includes/specialpage/ChangesListSpecialPage.php
M includes/specials/SpecialRecentchangeslinked.php
M resources/Resources.php
M resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
M resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
M resources/src/mediawiki.rcfilters/styles/mw.rcfilters.less
M 
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js
7 files changed, 24 insertions(+), 17 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/73/405973/1

diff --git a/includes/specialpage/ChangesListSpecialPage.php 
b/includes/specialpage/ChangesListSpecialPage.php
index 282d764..af4ff1d 100644
--- a/includes/specialpage/ChangesListSpecialPage.php
+++ b/includes/specialpage/ChangesListSpecialPage.php
@@ -838,7 +838,7 @@
         */
        protected function outputTimeout() {
                $this->getOutput()->addHTML(
-                       '<div class="mw-changeslist-timeout">' .
+                       '<div class="mw-changeslist-empty 
mw-changeslist-timeout">' .
                        $this->msg( 'recentchanges-timeout' )->parse() .
                        '</div>'
                );
diff --git a/includes/specials/SpecialRecentchangeslinked.php 
b/includes/specials/SpecialRecentchangeslinked.php
index d4aef6c..181b4db 100644
--- a/includes/specials/SpecialRecentchangeslinked.php
+++ b/includes/specials/SpecialRecentchangeslinked.php
@@ -65,7 +65,6 @@
                        $outputPage->addHTML(
                                Html::errorBox( $this->msg( 'allpagesbadtitle' 
)->parse() )
                        );
-
                        return false;
                }
 
@@ -295,12 +294,19 @@
        }
 
        protected function outputNoResults() {
-               if ( $this->getTargetTitle() === false ) {
+               $targetTitle = $this->getTargetTitle();
+               if ( $targetTitle === false ) {
                        $this->getOutput()->addHTML(
-                               '<div class="mw-changeslist-notargetpage">' .
+                               '<div class="mw-changeslist-empty 
mw-changeslist-notargetpage">' .
                                $this->msg( 'recentchanges-notargetpage' 
)->parse() .
                                '</div>'
                        );
+               } elseif ( !$targetTitle || $targetTitle->isExternal() ) {
+                       $this->getOutput()->addHTML(
+                               '<div class="mw-changeslist-empty 
mw-changeslist-invalidtargetpage">' .
+                               $this->msg( 'allpagesbadtitle' )->parse() .
+                               '</div>'
+                       );
                } else {
                        parent::outputNoResults();
                }
diff --git a/resources/Resources.php b/resources/Resources.php
index 0e9ab18..41835b3 100644
--- a/resources/Resources.php
+++ b/resources/Resources.php
@@ -1919,6 +1919,7 @@
                        'recentchanges-timeout',
                        'recentchanges-network',
                        'recentchanges-notargetpage',
+                       'allpagesbadtitle',
                        'quotation-marks',
                ],
                'dependencies' => [
diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js 
b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
index 4b78175..3c1fdf8 100644
--- a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
+++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
@@ -320,6 +320,8 @@
                                info.noResultsDetails = 'NO_RESULTS_TIMEOUT';
                        } else if ( $root.find( '.mw-changeslist-notargetpage' 
).length ) {
                                info.noResultsDetails = 
'NO_RESULTS_NO_TARGET_PAGE';
+                       } else if ( $root.find( 
'.mw-changeslist-invalidtargetpage' ).length ) {
+                               info.noResultsDetails = 
'NO_RESULTS_INVALID_TARGET_PAGE';
                        } else {
                                info.noResultsDetails = 'NO_RESULTS_NORMAL';
                        }
diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js 
b/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
index 1f72484..d181532 100644
--- a/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
+++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
@@ -78,12 +78,7 @@
                                {
                                        $topSection: $topSection,
                                        $filtersContainer: $( 
'.rcfilters-container' ),
-                                       $changesListContainer: $( [
-                                               '.mw-changeslist',
-                                               '.mw-changeslist-empty',
-                                               '.mw-changeslist-timeout',
-                                               '.mw-changeslist-notargetpage'
-                                       ].join( ', ' ) ),
+                                       $changesListContainer: $( 
'.mw-changeslist, .mw-changeslist-empty' ),
                                        $formContainer: $initialFieldset
                                }
                        );
diff --git a/resources/src/mediawiki.rcfilters/styles/mw.rcfilters.less 
b/resources/src/mediawiki.rcfilters/styles/mw.rcfilters.less
index db439e3..4f171ee 100644
--- a/resources/src/mediawiki.rcfilters/styles/mw.rcfilters.less
+++ b/resources/src/mediawiki.rcfilters/styles/mw.rcfilters.less
@@ -75,10 +75,12 @@
                }
        }
 
-       // Temporarily hide any specific 'no result' message while we load 
rcfilters.
-       .mw-changeslist-empty,
-       .mw-changeslist-timeout,
-       .mw-changeslist-notargetpage {
+       // Temporarily hide the empty results section while we load rcfilters.
+       .mw-changeslist-empty {
+               display: none;
+       }
+
+       .errorbox {
                display: none;
        }
 
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 e2092dc..03a48fd 100644
--- 
a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js
+++ 
b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js
@@ -158,8 +158,8 @@
                                                        .text( mw.msg( 
this.getMsgKeyForNoResults( noResultsDetails ) ) )
                                        );
 
-                               this.$element.removeClass( 
'mw-changeslist-timeout' );
-                               this.$element.removeClass( 
'mw-changeslist-notargetpage' );
+                               // todo: remove all classes matching 
mw-changeslist-*
+                               this.$element.removeClass( function () {} );
                        }
 
                        this.$element.append( $message );
@@ -212,7 +212,8 @@
                        NO_RESULTS_NORMAL: 'recentchanges-noresult',
                        NO_RESULTS_TIMEOUT: 'recentchanges-timeout',
                        NO_RESULTS_NETWORK_ERROR: 'recentchanges-network',
-                       NO_RESULTS_NO_TARGET_PAGE: 'recentchanges-notargetpage'
+                       NO_RESULTS_NO_TARGET_PAGE: 'recentchanges-notargetpage',
+                       NO_RESULTS_INVALID_TARGET_PAGE: 'allpagesbadtitle'
                };
                return reasonMsgKeyMap[ reason ];
        };

-- 
To view, visit https://gerrit.wikimedia.org/r/405973
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I5dd974f5f769503e89301dd22bdfd3d49b0dd11f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Sbisson <sbis...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to