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