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

Change subject: rcfilters: Remove implemented filters from list of links
......................................................................

rcfilters: Remove implemented filters from list of links

This is a bit hacky because the filter name needs to be inferred
from the class on each span, and because the separators aren't
wrapped.

Change-Id: Ib39ad435d3b48fa38533926e4ab49942c3bd5d6f
---
M resources/Resources.php
M resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
D resources/src/mediawiki.rcfilters/styles/mw.rcfilters.less
3 files changed, 34 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/37/333837/1

diff --git a/resources/Resources.php b/resources/Resources.php
index bd7f68e..cd5e3b9 100644
--- a/resources/Resources.php
+++ b/resources/Resources.php
@@ -1747,7 +1747,6 @@
                        
'resources/src/mediawiki.rcfilters/mw.rcfilters.init.js',
                ],
                'styles' => [
-                       
'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.less',
                        
'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterItemWidget.less',
                        
'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FilterGroupWidget.less',
                        
'resources/src/mediawiki.rcfilters/styles/mw.rcfilters.ui.FiltersListWidget.less',
diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js 
b/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
index ce0fc8a..98e886f 100644
--- a/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
+++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
@@ -146,6 +146,40 @@
                        // Initialize values
                        controller.initialize();
 
+                       // Remove old-style filter links for filters handled by 
the widget
+                       $( '.rcshowhide' ).children().each( function () {
+                               // Some of the older browsers we support don't 
have .classList :(
+                               var i,
+                                       name = null,
+                                       classes = this.getAttribute( 'class' 
).split( ' ' );
+                               for ( i = 0; i < classes.length; i++ ) {
+                                       if ( classes[ i ].substr( 0, 
'rcshow'.length ) === 'rcshow' ) {
+                                               name = classes[ i ].substr( 
'rcshow'.length );
+                                               break;
+                                       }
+                               }
+                               if ( name === null ) {
+                                       return;
+                               }
+                               if ( name === 'hidemine' ) {
+                                       // HACK: the span for hidemyself is 
called hidemine
+                                       name = 'hidemyself';
+                               }
+                               // This span corresponds to a filter that's in 
our model, so remove it
+                               if ( model.getItemByName( name ) ) {
+                                       debugger;
+                                       // Remove the text node after the span.
+                                       // If there isn't one, we're at the 
end, so remove the text node before the span.
+                                       if ( this.nextSibling && 
this.nextSibling.nodeType === Node.TEXT_NODE ) {
+                                               this.parentNode.removeChild( 
this.nextSibling );
+                                       } else if ( this.previousSibling && 
this.previousSibling.nodeType === Node.TEXT_NODE ) {
+                                               this.parentNode.removeChild( 
this.previousSibling );
+                                       }
+                                       // Remove the span itself
+                                       this.parentNode.removeChild( this );
+                               }
+                       } );
+
                        $( '.rcoptions form' ).submit( function () {
                                var $form = $( this );
 
diff --git a/resources/src/mediawiki.rcfilters/styles/mw.rcfilters.less 
b/resources/src/mediawiki.rcfilters/styles/mw.rcfilters.less
deleted file mode 100644
index 7f71c0c..0000000
--- a/resources/src/mediawiki.rcfilters/styles/mw.rcfilters.less
+++ /dev/null
@@ -1,5 +0,0 @@
-.rcshowhidemine {
-       // HACK: Hide this filter since it already appears in
-       // the new filter drop-down.
-       display: none;
-}

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib39ad435d3b48fa38533926e4ab49942c3bd5d6f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Catrope <r...@wikimedia.org>

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

Reply via email to