jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/383832 )
Change subject: Show available languages on suggested pages filter ...................................................................... Show available languages on suggested pages filter Bug: T176626 Change-Id: Ib2418ca379694082041f259b4d73d2c00785fdff --- M modules/base/ext.cx.sitemapper.js M modules/dashboard/ext.cx.dashboard.js M modules/source/ext.cx.source.selector.js 3 files changed, 62 insertions(+), 41 deletions(-) Approvals: Petar.petkovic: Looks good to me, but someone else must approve jenkins-bot: Verified Santhosh: Looks good to me, approved diff --git a/modules/base/ext.cx.sitemapper.js b/modules/base/ext.cx.sitemapper.js index cdd1d89..6116328 100644 --- a/modules/base/ext.cx.sitemapper.js +++ b/modules/base/ext.cx.sitemapper.js @@ -18,6 +18,7 @@ */ mw.cx.SiteMapper = function ( siteconfig ) { this.config = siteconfig; + this.languagePairsPromise = null; }; /** @@ -152,6 +153,36 @@ }; /** + * Get all the source and target languages. + * + * @return {jQuery.Promise} + */ + mw.cx.SiteMapper.prototype.getLanguagePairs = function () { + var languagePairsAPIUrl, + self = this; + + if ( !this.languagePairsPromise ) { + languagePairsAPIUrl = this.getCXServerUrl( '/list/languagepairs' ); + this.languagePairsPromise = $.get( languagePairsAPIUrl ) + .then( function ( response ) { + return { + targetLanguages: response.target, + sourceLanguages: response.source + }; + }, function ( response ) { + mw.log( + 'Error getting language pairs from ' + languagePairsAPIUrl + ' . ' + + response.statusText + ' (' + response.status + '). ' + + response.responseText + ); + mw.hook( 'mw.cx.error' ).fire( mw.msg( 'cx-error-server-connection' ) ); + self.languagePairsPromise = null; + } ); + } + return this.languagePairsPromise; + }; + + /** * Get the URL for Special:CX on the needed wiki * according to given source and target title and the target language. * diff --git a/modules/dashboard/ext.cx.dashboard.js b/modules/dashboard/ext.cx.dashboard.js index da7c6e1..8e8d908 100644 --- a/modules/dashboard/ext.cx.dashboard.js +++ b/modules/dashboard/ext.cx.dashboard.js @@ -437,25 +437,39 @@ * Creates source and target language ULS for suggestions list */ CXDashboard.prototype.createUlsForSuggestionsList = function () { - var list = this.lists.suggestions, + var self = this, + list = this.lists.suggestions, ulsOptions = { menuWidth: 'medium', - quickList: function () { - return mw.uls.getFrequentLanguageList(); - }, compact: true }; - createUls( - list.languageFilter.$sourceLanguageFilter, - this.setFilter.bind( this, 'sourceLanguage' ), - ulsOptions - ); - createUls( - list.languageFilter.$targetLanguageFilter, - this.setFilter.bind( this, 'targetLanguage' ), - ulsOptions - ); + this.siteMapper.getLanguagePairs().then( function ( data ) { + createUls( + list.languageFilter.$sourceLanguageFilter, + self.setFilter.bind( self, 'sourceLanguage' ), + $.extend( { + languages: getAutonyms( data.sourceLanguages ), + quickList: function () { + return mw.uls.getFrequentLanguageList().filter( function ( n ) { + return data.sourceLanguages.indexOf( n ) !== -1; + } ); + } + }, ulsOptions ) + ); + createUls( + list.languageFilter.$targetLanguageFilter, + self.setFilter.bind( self, 'targetLanguage' ), + $.extend( { + languages: getAutonyms( data.targetLanguages ), + quickList: function () { + return mw.uls.getFrequentLanguageList().filter( function ( n ) { + return data.targetLanguages.indexOf( n ) !== -1; + } ); + } + }, ulsOptions ) + ); + } ); }; /** diff --git a/modules/source/ext.cx.source.selector.js b/modules/source/ext.cx.source.selector.js index 7018a0c..b6b6eba 100644 --- a/modules/source/ext.cx.source.selector.js +++ b/modules/source/ext.cx.source.selector.js @@ -119,7 +119,9 @@ this.isNarrowScreenSize = document.documentElement.clientWidth < this.narrowLimit; - this.getLanguagePairs().then( function () { + this.siteMapper.getLanguagePairs().then( function ( data ) { + self.targetLanguages = data.targetLanguages; + self.sourceLanguages = data.sourceLanguages; self.render(); self.setDefaultLanguages(); self.prefill(); @@ -160,32 +162,6 @@ this.show(); this.check(); } - }; - - /** - * Get all the source and target languages. - * - * @return {jQuery.Promise} - */ - CXSourceSelector.prototype.getLanguagePairs = function () { - var languagePairsAPIUrl, - cxSourceSelector = this; - - languagePairsAPIUrl = this.siteMapper.getCXServerUrl( '/list/languagepairs' ); - - return $.get( languagePairsAPIUrl ) - .done( function ( response ) { - cxSourceSelector.targetLanguages = response.target; - cxSourceSelector.sourceLanguages = response.source; - } ) - .fail( function ( response ) { - mw.log( - 'Error getting language pairs from ' + languagePairsAPIUrl + ' . ' + - response.statusText + ' (' + response.status + '). ' + - response.responseText - ); - mw.hook( 'mw.cx.error' ).fire( mw.msg( 'cx-error-server-connection' ) ); - } ); }; /** -- To view, visit https://gerrit.wikimedia.org/r/383832 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ib2418ca379694082041f259b4d73d2c00785fdff Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/ContentTranslation Gerrit-Branch: master Gerrit-Owner: Esanders <esand...@wikimedia.org> Gerrit-Reviewer: Petar.petkovic <ppetko...@wikimedia.org> Gerrit-Reviewer: Santhosh <santhosh.thottin...@gmail.com> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits