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

Change subject: Pass ContentLanguages instance using ULS to ValueView
......................................................................


Pass ContentLanguages instance using ULS to ValueView

Bug: T86653
Change-Id: I4e603bde39bf6634320b562df44149fdc9a2dd10
---
M composer.json
M repo/resources/Resources.php
M repo/resources/wikibase.ValueViewBuilder.js
A repo/resources/wikibase.WikibaseContentLanguages.js
M repo/resources/wikibase.ui.entityViewInit.js
5 files changed, 82 insertions(+), 8 deletions(-)

Approvals:
  Thiemo Mättig (WMDE): Looks good to me, approved
  jenkins-bot: Verified



diff --git a/composer.json b/composer.json
index d2bde90..142612a 100644
--- a/composer.json
+++ b/composer.json
@@ -33,7 +33,7 @@
                "data-values/data-types": "~0.4.0",
                "data-values/serialization": "~1.0",
                "data-values/javascript": "~0.6.0",
-               "data-values/value-view": "~0.11.0",
+               "data-values/value-view": "~0.12.0",
 
                "wikibase/data-model": "~2.4",
                "wikibase/data-model-javascript": "~1.0",
diff --git a/repo/resources/Resources.php b/repo/resources/Resources.php
index 71cb302..d66534a 100644
--- a/repo/resources/Resources.php
+++ b/repo/resources/Resources.php
@@ -183,7 +183,8 @@
                                'wikibase.store.CombiningEntityStore',
                                'wikibase.store.FetchedContentUnserializer',
                                'wikibase.store.MwConfigEntityStore',
-                               'wikibase.ValueViewBuilder'
+                               'wikibase.ValueViewBuilder',
+                               'wikibase.WikibaseContentLanguages'
                        ),
                        'messages' => array(
                                'pagetitle',
@@ -267,6 +268,17 @@
                        )
                ),
 
+               'wikibase.WikibaseContentLanguages' => $moduleTemplate + array(
+                       'scripts' => array(
+                               'wikibase.WikibaseContentLanguages.js',
+                       ),
+                       'dependencies' => array(
+                               'util.ContentLanguages',
+                               'util.inherit',
+                               'wikibase',
+                       ),
+               ),
+
                'wikibase.toc' => $moduleTemplate + array(
                        'styles' => array(
                                'themes/default/wikibase.toc.css',
@@ -278,6 +290,7 @@
                $modules['wikibase.getLanguageNameByCode']['dependencies'][] = 
'ext.uls.mediawiki';
                
$modules['wikibase.special.itemDisambiguation']['dependencies'][] = 
'ext.uls.mediawiki';
                $modules['wikibase.special.entitiesWithout']['dependencies'][] 
= 'ext.uls.mediawiki';
+               $modules['wikibase.WikibaseContentLanguages']['dependencies'][] 
= 'ext.uls.languagenames';
        }
 
        return array_merge(
diff --git a/repo/resources/wikibase.ValueViewBuilder.js 
b/repo/resources/wikibase.ValueViewBuilder.js
index f2ca36d..173342c 100644
--- a/repo/resources/wikibase.ValueViewBuilder.js
+++ b/repo/resources/wikibase.ValueViewBuilder.js
@@ -1,6 +1,6 @@
 /**
  * @licence GNU GPL v2+
- * @author Adrian Lang <adrian.l...@wikimedia.de>
+ * @author Adrian Heine <adrian.he...@wikimedia.de>
  */
 ( function( wb, $ ) {
        'use strict';
@@ -8,20 +8,22 @@
        /**
         * @constructor
         *
-        * @param {$.valueview.ExpertStore} expertStore
+        * @param {jQuery.valueview.ExpertStore} expertStore
         * @param {valueFormatters.ValueFormatterStore} formatterStore
         * @param {valueParsers.ValueParserStore} parserStore
         * @param {string} language
         * @param {Object} mediaWiki
+        * @param {util.ContentLanguages} contentLanguages
         */
        var SELF = wb.ValueViewBuilder = function(
-               expertStore, formatterStore, parserStore, language, mediaWiki
+               expertStore, formatterStore, parserStore, language, mediaWiki, 
contentLanguages
        ) {
                this._baseOptions = {
                        expertStore: expertStore,
                        formatterStore: formatterStore,
                        parserStore: parserStore,
-                       language: language
+                       language: language,
+                       contentLanguages: contentLanguages
                };
 
                this._mw = mediaWiki;
diff --git a/repo/resources/wikibase.WikibaseContentLanguages.js 
b/repo/resources/wikibase.WikibaseContentLanguages.js
new file mode 100644
index 0000000..99bd48c
--- /dev/null
+++ b/repo/resources/wikibase.WikibaseContentLanguages.js
@@ -0,0 +1,57 @@
+
+/**
+ * @licence GNU GPL v2+
+ * @author Adrian Heine <adrian.he...@wikimedia.de>
+ */
+( function( mw, wb, $ ) {
+       'use strict';
+
+var MODULE = wb;
+var PARENT = util.ContentLanguages;
+
+/**
+ * @constructor
+ */
+var SELF = MODULE.WikibaseContentLanguages = util.inherit(
+       'WbContentLanguages',
+       PARENT,
+       function() {
+               this._languageMap = mw.config.get( 'wgULSLanguages' );
+       }
+);
+
+$.extend( SELF.prototype, {
+       /**
+        * @type {Object|null}
+        * @private
+        */
+       _languageMap: null,
+
+       /**
+        * @type {string[]|null}
+        * @private
+        */
+       _languageNames: null,
+
+       /**
+        * @inheritdoc
+        */
+       getAll: function() {
+               // Cache language names
+               if( !this._languageNames && this._languageMap ) {
+                       this._languageNames = $.map( this._languageMap, 
function( val, key ) {
+                               return key;
+                       } );
+               }
+               return this._languageNames;
+       },
+
+       /**
+        * @inheritdoc
+        */
+       getName: function( code ) {
+               return this._languageMap ? this._languageMap[ code ] : null;
+       }
+} );
+
+}( mediaWiki, wikibase, jQuery ) );
diff --git a/repo/resources/wikibase.ui.entityViewInit.js 
b/repo/resources/wikibase.ui.entityViewInit.js
index fd8d932..8322f49 100644
--- a/repo/resources/wikibase.ui.entityViewInit.js
+++ b/repo/resources/wikibase.ui.entityViewInit.js
@@ -117,7 +117,8 @@
                                repoApi,
                                revisionStore,
                                entity
-                       );
+                       ),
+                       contentLanguages = new 
wikibase.WikibaseContentLanguages();
 
                var view = entity.getType() + 'view';
 
@@ -135,7 +136,8 @@
                                getFormatterStore( repoApi, dataTypeStore ),
                                getParserStore( repoApi ),
                                mw.config.get( 'wgUserLanguage' ),
-                               mw
+                               mw,
+                               contentLanguages
                        ),
                        dataTypeStore: dataTypeStore
                } )

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I4e603bde39bf6634320b562df44149fdc9a2dd10
Gerrit-PatchSet: 6
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Adrian Lang <adrian.he...@wikimedia.de>
Gerrit-Reviewer: Adrian Lang <adrian.he...@wikimedia.de>
Gerrit-Reviewer: Henning Snater <henning.sna...@wikimedia.de>
Gerrit-Reviewer: Legoktm <legoktm.wikipe...@gmail.com>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <thiemo.maet...@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