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

Change subject: RCFilters: Fix getFilterRepresentation to consider '0' as false
......................................................................

RCFilters: Fix getFilterRepresentation to consider '0' as false

Because '0' is a string, it's true, but for our purposes, it's
supposed to be false. Thanks JavaScript.

This bug was actually pretty horrific, it meant that when you refresh
the representation is all wrong (all items in the group were considered
true if the group was 'send_unselected_if_any' which meant that most
of those (that are full coverage) 'corrected themselves' to be all-false
which meant you lost filters when refreshing, even though the parameters
appeared in the URL (the url helpfully corrects itself based on the model
but the model was wrong.)

Change-Id: I16d8d95be067b3e48e557ef25f8eb6a49736aa4e
---
M resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterGroup.js
M resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
2 files changed, 6 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/13/353713/1

diff --git 
a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterGroup.js 
b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterGroup.js
index 22b2619..69a615e 100644
--- a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterGroup.js
+++ b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.FilterGroup.js
@@ -451,10 +451,12 @@
                        paramRepresentation = paramRepresentation || {};
                        // Expand param representation to include all filters 
in the group
                        this.getItems().forEach( function ( filterItem ) {
-                               paramRepresentation[ filterItem.getParamName() 
] = !!paramRepresentation[ filterItem.getParamName() ];
-                               paramToFilterMap[ filterItem.getParamName() ] = 
filterItem;
+                               var paramName = filterItem.getParamName();
 
-                               if ( paramRepresentation[ 
filterItem.getParamName() ] ) {
+                               paramRepresentation[ paramName ] = 
paramRepresentation[ paramName ] || '0';
+                               paramToFilterMap[ paramName ] = filterItem;
+
+                               if ( Number( paramRepresentation[ 
filterItem.getParamName() ] ) ) {
                                        areAnySelected = true;
                                }
                        } );
diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js 
b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
index f3fee74..81b9dc3 100644
--- a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
+++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
@@ -44,6 +44,7 @@
                        parsedSavedQueries,
                        this._getBaseState()
                );
+
                this.updateStateBasedOnUrl();
 
                // Update the changes list with the existing data

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I16d8d95be067b3e48e557ef25f8eb6a49736aa4e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Mooeypoo <mor...@gmail.com>

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

Reply via email to