jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/383373 )
Change subject: Decouple jquery.ui.listrotator from MediaWiki ...................................................................... Decouple jquery.ui.listrotator from MediaWiki Bug: T177816 Change-Id: Id9654b5f6c51d9b41c0b0ec9f4045a22ded46da1 --- M lib/jquery.ui/jquery.ui.listrotator.js M src/ExpertExtender/ExpertExtender.Listrotator.js M src/experts/GlobeCoordinateInput.js M src/experts/TimeInput.js M tests/src/ExpertExtender/ExpertExtender.Listrotator.tests.js 5 files changed, 22 insertions(+), 42 deletions(-) Approvals: WMDE-leszek: Looks good to me, approved jenkins-bot: Verified Thiemo Mättig (WMDE): Looks good to me, but someone else must approve diff --git a/lib/jquery.ui/jquery.ui.listrotator.js b/lib/jquery.ui/jquery.ui.listrotator.js index 216c871..52b4129 100644 --- a/lib/jquery.ui/jquery.ui.listrotator.js +++ b/lib/jquery.ui/jquery.ui.listrotator.js @@ -2,36 +2,6 @@ 'use strict'; /** - * Whether loaded in MediaWiki context. - * @property {boolean} - * @ignore - */ -var IS_MW_CONTEXT = ( typeof mediaWiki !== 'undefined' && mediaWiki.msg ); - -/** - * Whether actual listrotator resource loader module is loaded. - * @property {boolean} - * @ignore - */ -var IS_MODULE_LOADED = ( - IS_MW_CONTEXT - && $.inArray( 'jquery.ui.listrotator', mediaWiki.loader.getModuleNames() ) !== -1 - ); - -/** - * Returns a message from the MediaWiki context if the listrotator module has been loaded. - * If it has not been loaded, the corresponding string defined in the options will be returned. - * @ignore - * - * @param {string} msgKey - * @param {string} string - * @return {string} - */ -function mwMsgOrString( msgKey, string ) { - return ( IS_MODULE_LOADED ) ? mediaWiki.msg( msgKey ) : string; -} - -/** * Measures the maximum width of a container according to a list of strings. The width is * determined by the widest string. * @ignore @@ -79,6 +49,7 @@ * @param {boolean} [options.deferInit=false] * Whether to defer initializing the section widths until `initWidths()` is called * "manually". + * @param {util.MessageProvider} options.messageProvider */ /** * @event selected @@ -107,9 +78,7 @@ } }, deferInit: false, - messages: { - manually: mwMsgOrString( 'valueview-listrotator-manually', 'manually' ) - } + messageProvider: null }, /** @@ -156,7 +125,7 @@ this.element.append( this.$curr ); this.element.append( $( '<label/>' ) .addClass( this.widgetBaseClass + '-manually' ) - .text( this.options.messages.manually ) + .text( this.options.messageProvider.getMessage( 'valueview-listrotator-manually' ) ) .prepend( this.$manually ) ); // Construct and initialize menu widget: diff --git a/src/ExpertExtender/ExpertExtender.Listrotator.js b/src/ExpertExtender/ExpertExtender.Listrotator.js index aaa3916..fee815c 100644 --- a/src/ExpertExtender/ExpertExtender.Listrotator.js +++ b/src/ExpertExtender/ExpertExtender.Listrotator.js @@ -15,8 +15,9 @@ * @param {Function} onValueChange Callback to be triggered when the listrotator's value is * changed. * @param {Function} getUpstreamValue Callback to retrieve the value from a parent component. + * @param {util.MessageProvider} messageProvider */ - ExpertExtender.Listrotator = function( className, values, onValueChange, getUpstreamValue ) { + ExpertExtender.Listrotator = function( className, values, onValueChange, getUpstreamValue, messageProvider ) { this._onValueChange = onValueChange; this._getUpstreamValue = getUpstreamValue; @@ -24,7 +25,8 @@ .addClass( className ) .listrotator( { values: values, - deferInit: true + deferInit: true, + messageProvider: messageProvider } ); this.rotator = $rotator.data( 'listrotator' ); }; diff --git a/src/experts/GlobeCoordinateInput.js b/src/experts/GlobeCoordinateInput.js index 9762b88..288c94f 100644 --- a/src/experts/GlobeCoordinateInput.js +++ b/src/experts/GlobeCoordinateInput.js @@ -149,7 +149,8 @@ [ getPrecisionLabel( precision ) ] ) }; - } + }, + this._messageProvider ); var inputExtender = new vv.ExpertExtender( diff --git a/src/experts/TimeInput.js b/src/experts/TimeInput.js index d7fc2d0..b4cea40 100644 --- a/src/experts/TimeInput.js +++ b/src/experts/TimeInput.js @@ -72,7 +72,8 @@ function() { var value = self.viewState().value(); return value && value.getOption( 'precision' ); - } + }, + this._messageProvider ); var calendarMsgKey = 'valueview-expert-timeinput-calendar'; @@ -89,7 +90,8 @@ function() { var value = self.viewState().value(); return value && value.getOption( 'calendarModel' ); - } + }, + this._messageProvider ); var inputExtender = new vv.ExpertExtender( diff --git a/tests/src/ExpertExtender/ExpertExtender.Listrotator.tests.js b/tests/src/ExpertExtender/ExpertExtender.Listrotator.tests.js index 1a430d5..08c79ac 100644 --- a/tests/src/ExpertExtender/ExpertExtender.Listrotator.tests.js +++ b/tests/src/ExpertExtender/ExpertExtender.Listrotator.tests.js @@ -8,10 +8,14 @@ QUnit.module( 'jquery.valueview.ExpertExtender.Listrotator' ); + var messageProvider = { + getMessage: function() { } + }; + testExpertExtenderExtension.all( ExpertExtender.Listrotator, function() { - return new ExpertExtender.Listrotator( '', [ { value: 'value', label: 'label' } ] ); + return new ExpertExtender.Listrotator( '', [ { value: 'value', label: 'label' } ], null, null, messageProvider ); } ); @@ -30,7 +34,8 @@ '', [ { value: 'fixed value', label: 'label for fixed value' } ], null, - getUpstreamValue + getUpstreamValue, + messageProvider ); listrotator.init( $extender ); @@ -57,7 +62,8 @@ '', [ { value: 'fixed value', label: 'label for fixed value' } ], onValueChange, - getUpstreamValue + getUpstreamValue, + messageProvider ); listrotator.init( $extender ); -- To view, visit https://gerrit.wikimedia.org/r/383373 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Id9654b5f6c51d9b41c0b0ec9f4045a22ded46da1 Gerrit-PatchSet: 7 Gerrit-Project: data-values/value-view Gerrit-Branch: master Gerrit-Owner: WMDE-leszek <leszek.mani...@wikimedia.de> Gerrit-Reviewer: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de> Gerrit-Reviewer: WMDE-leszek <leszek.mani...@wikimedia.de> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits