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

Change subject: RCFilters: Normalize arbitrary values before adding them
......................................................................

RCFilters: Normalize arbitrary values before adding them

Bug: T172026
Change-Id: Iba0e20b6d4266e22b3e894742dd182291f741eb1
---
M resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
1 file changed, 21 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/55/368955/1

diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js 
b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
index 4051eda..432e787 100644
--- a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
+++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
@@ -104,6 +104,14 @@
                                        allowArbitrary: true,
                                        validate: $.isNumeric,
                                        sortFunc: function ( a, b ) { return 
Number( a.name ) - Number( b.name ); },
+                                       normalizeFunc: function ( a ) {
+                                               if ( a < 0 ) {
+                                                       return 0; // Min
+                                               } else if ( a >= 1000 ) {
+                                                       return 500; // Max
+                                               }
+                                               return a;
+                                       },
                                        'default': String( limitDefault ),
                                        isSticky: true,
                                        filters: [ 50, 100, 250, 500 ].map( 
function ( num ) {
@@ -118,6 +126,14 @@
                                        allowArbitrary: true,
                                        validate: $.isNumeric,
                                        sortFunc: function ( a, b ) { return 
Number( a.name ) - Number( b.name ); },
+                                       normalizeFunc: function ( a ) {
+                                               if ( a < 0 ) {
+                                                       return 0; // Min
+                                               } else if ( a >= 800000 ) {
+                                                       return 30; // Max
+                                               }
+                                               return a;
+                                       },
                                        numToLabelFunc: function ( i ) {
                                                return Number( i ) < 1 ?
                                                        ( Number( i ) * 24 
).toFixed( 2 ) :
@@ -252,6 +268,11 @@
 
                arbitraryValues = Array.isArray( arbitraryValues ) ? 
arbitraryValues : [ arbitraryValues ];
 
+               // Normalize the arbitrary values
+               if ( groupData.normalizeFunc ) {
+                       arbitraryValues = arbitraryValues.map( 
groupData.normalizeFunc( val ) );
+               }
+
                // This is only true for single_option group
                // We assume these are the only groups that will allow for
                // arbitrary, since it doesn't make any sense for the other

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iba0e20b6d4266e22b3e894742dd182291f741eb1
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