From: Timo Tijhof Date: Wed, 26 Aug 2015 17:06:52 +0000 (+0200) Subject: jquery.byteLimit: Expose trimValueForByteLength as trimByteLength X-Git-Tag: 1.31.0-rc.0~10263^2 X-Git-Url: https://git.cyclocoop.org/%28%28?a=commitdiff_plain;h=b9af7e9e8c56b93744cbbf88ae783a9f8652cac7;p=lhc%2Fweb%2Fwiklou.git jquery.byteLimit: Expose trimValueForByteLength as trimByteLength Follows-up 6b79105034, which exposed this private function as a subproperty of a prototype member, but the JSDuck comment still treated it as private. Expose it as proper static method instead. Change-Id: I1e25ee595ac367a9ae24a325efab2942a37835d9 --- diff --git a/resources/src/jquery/jquery.byteLimit.js b/resources/src/jquery/jquery.byteLimit.js index e2315d2326..afff463e92 100644 --- a/resources/src/jquery/jquery.byteLimit.js +++ b/resources/src/jquery/jquery.byteLimit.js @@ -10,17 +10,17 @@ * "fobo", not "foba". Basically emulating the native maxlength by * reconstructing where the insertion occurred. * - * @private + * @static * @param {string} safeVal Known value that was previously returned by this * function, if none, pass empty string. * @param {string} newVal New value that may have to be trimmed down. * @param {number} byteLimit Number of bytes the value may be in size. - * @param {Function} [fn] See jQuery.byteLimit. + * @param {Function} [fn] See jQuery#byteLimit. * @return {Object} * @return {string} return.newVal * @return {boolean} return.trimmed */ - function trimValueForByteLength( safeVal, newVal, byteLimit, fn ) { + $.trimByteLength = function ( safeVal, newVal, byteLimit, fn ) { var startMatches, endMatches, matchesLen, inpParts, oldVal = safeVal; @@ -92,7 +92,7 @@ newVal: newVal, trimmed: true }; - } + }; var eventKeys = [ 'keyup.byteLimit', @@ -206,7 +206,7 @@ // See http://www.w3.org/TR/DOM-Level-3-Events/#events-keyboard-event-order for // the order and characteristics of the key events. $el.on( eventKeys, function () { - var res = trimValueForByteLength( + var res = $.trimByteLength( prevSafeVal, this.value, elLimit, @@ -221,15 +221,13 @@ this.value = res.newVal; } // Always adjust prevSafeVal to reflect the input value. Not doing this could cause - // trimValueForByteLength to compare the new value to an empty string instead of the + // trimByteLength to compare the new value to an empty string instead of the // old value, resulting in trimming always from the end (bug 40850). prevSafeVal = res.newVal; } ); } ); }; - $.fn.byteLimit.trimValueForByteLength = trimValueForByteLength; - /** * @class jQuery * @mixins jQuery.plugin.byteLimit diff --git a/resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.js b/resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.js index 3697a1c633..cf4d7886ed 100644 --- a/resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.js +++ b/resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.js @@ -302,7 +302,7 @@ mw.widgets.TitleInputWidget.prototype.cleanUpValue = function ( value ) { var widget = this; value = mw.widgets.TitleInputWidget.parent.prototype.cleanUpValue.call( this, value ); - return $.fn.byteLimit.trimValueForByteLength( this.value, value, this.maxLength, function ( value ) { + return $.trimByteLength( this.value, value, this.maxLength, function ( value ) { var title = widget.getTitle( value ); return title ? title.getMain() : value; } ).newVal;