jenkins-bot has submitted this change and it was merged.

Change subject: ApiSandbox: Don't use OO.ui.NumberInputWidget for limit fields
......................................................................


ApiSandbox: Don't use OO.ui.NumberInputWidget for limit fields

According to T150455#2789277 it shouldn't be able to allow 'max' even
though this is a mostly-numeric field with one non-numeric value.
Oh well.

Change-Id: I620a233aab20c715db354eff77ea8a3ffee3bc77
---
M resources/src/mediawiki.special/mediawiki.special.apisandbox.js
1 file changed, 17 insertions(+), 9 deletions(-)

Approvals:
  Jforrester: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/resources/src/mediawiki.special/mediawiki.special.apisandbox.js 
b/resources/src/mediawiki.special/mediawiki.special.apisandbox.js
index 64cfcf5..9364e07 100644
--- a/resources/src/mediawiki.special/mediawiki.special.apisandbox.js
+++ b/resources/src/mediawiki.special/mediawiki.special.apisandbox.js
@@ -389,19 +389,27 @@
                                        break;
 
                                case 'limit':
-                                       widget = new OO.ui.NumberInputWidget( {
-                                               required: Util.apiBool( 
pi.required ),
-                                               isInteger: true
+                                       widget = new OO.ui.TextInputWidget( {
+                                               required: Util.apiBool( 
pi.required )
                                        } );
-                                       widget.setIcon = 
widget.input.setIcon.bind( widget.input );
-                                       widget.setIconTitle = 
widget.input.setIconTitle.bind( widget.input );
-                                       widget.getValidity = 
widget.input.getValidity.bind( widget.input );
-                                       widget.input.setValidation( function ( 
value ) {
-                                               return value === 'max' || 
widget.validateNumber( value );
+                                       widget.setValidation( function ( value 
) {
+                                               var n, pi = this.paramInfo;
+
+                                               if ( value === 'max' ) {
+                                                       return true;
+                                               } else {
+                                                       n = +value;
+                                                       return !isNaN( n ) && 
isFinite( n ) &&
+                                                               /* jshint 
bitwise: false */
+                                                               ( n | 0 ) === n 
&&
+                                                               /* jshint 
bitwise: true */
+                                                               n >= pi.min && 
n <= pi.apiSandboxMax;
+                                               }
                                        } );
+                                       pi.min = pi.min || 0;
+                                       pi.apiSandboxMax = mw.config.get( 
'apihighlimits' ) ? pi.highmax : pi.max;
                                        widget.paramInfo = pi;
                                        $.extend( widget, 
WidgetMethods.textInputWidget );
-                                       widget.setRange( pi.min || 0, 
mw.config.get( 'apihighlimits' ) ? pi.highmax : pi.max );
                                        multiMode = 'enter';
                                        break;
 

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I620a233aab20c715db354eff77ea8a3ffee3bc77
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Anomie <bjor...@wikimedia.org>
Gerrit-Reviewer: Anomie <bjor...@wikimedia.org>
Gerrit-Reviewer: Bartosz Dziewoński <matma....@gmail.com>
Gerrit-Reviewer: Gergő Tisza <gti...@wikimedia.org>
Gerrit-Reviewer: Jack Phoenix <j...@countervandalism.net>
Gerrit-Reviewer: Jforrester <jforres...@wikimedia.org>
Gerrit-Reviewer: Legoktm <legoktm.wikipe...@gmail.com>
Gerrit-Reviewer: Reedy <re...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to