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