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

Reply via email to