jenkins-bot has submitted this change and it was merged. Change subject: Card 703: Promote lazy languages to stable ......................................................................
Card 703: Promote lazy languages to stable Bug: 40678 Change-Id: I035c07ebc4ca17153e8480690762c73cc5d89f8d --- M includes/Resources.php M includes/skins/MinervaTemplate.php M includes/skins/MinervaTemplateBeta.php M includes/skins/SkinMinervaBeta.php M includes/specials/SpecialMobileLanguages.php R javascripts/modules/languages/languages.js D javascripts/modules/languages/languagesStable.js D templates/languageSection.html 8 files changed, 28 insertions(+), 153 deletions(-) Approvals: Jdlrobson: Looks good to me, approved jenkins-bot: Verified diff --git a/includes/Resources.php b/includes/Resources.php index 785fde9..8a8e834 100644 --- a/includes/Resources.php +++ b/includes/Resources.php @@ -244,8 +244,6 @@ 'templates' => array( 'page', 'section', - // FIXME: Remove when lazy loaded languages go to stable - 'languageSection', ), 'scripts' => array( 'javascripts/common/Router.js', @@ -862,12 +860,13 @@ ), ), - 'mobile.languages.common' => $wgMFMobileResourceBoilerplate + array( + 'mobile.languages' => $wgMFMobileResourceBoilerplate + array( 'dependencies' => array( 'mobile.overlays', ), 'scripts' => array( 'javascripts/modules/languages/LanguageOverlay.js', + 'javascripts/modules/languages/languages.js', ), 'templates' => array( 'modules/languages/LanguageOverlay', @@ -877,24 +876,6 @@ 'mobile-frontend-language-header', 'mobile-frontend-language-variant-header' => array( 'parse' ), 'mobile-frontend-language-site-choose', - ), - ), - - 'mobile.languages' => $wgMFMobileResourceBoilerplate + array( - 'dependencies' => array( - 'mobile.languages.common', - ), - 'scripts' => array( - 'javascripts/modules/languages/languagesStable.js', - ), - ), - - 'mobile.languages.beta' => $wgMFMobileResourceBoilerplate + array( - 'dependencies' => array( - 'mobile.languages.common', - ), - 'scripts' => array( - 'javascripts/modules/languages/languagesBeta.js', ), ), diff --git a/includes/skins/MinervaTemplate.php b/includes/skins/MinervaTemplate.php index 39e1369..3ba7189 100644 --- a/includes/skins/MinervaTemplate.php +++ b/includes/skins/MinervaTemplate.php @@ -39,50 +39,6 @@ return $this->data['footerlinks']; } - protected function renderLanguages() { - $languages = $this->getLanguages(); - $variants = $this->getLanguageVariants(); - // stupid php: count( false ) returns 1 - $languagesCount = is_array( $languages ) ? count( $languages ) : 0; - $variantsCount = is_array( $variants ) ? count( $variants ) : 0; - - if ( $languagesCount > 0 || $variantsCount > 1 ) { - $heading = wfMessage( 'mobile-frontend-language-article-heading' )->text(); - $languageSummary = wfMessage( 'mobile-frontend-language-header', $languagesCount )->text(); - $variantSummary = $variantsCount > 1 ? wfMessage( 'mobile-frontend-language-variant-header' )->text() : ''; - ?> - <div class="section" id="mw-mf-language-section"> - <h2 id="section_language" class="section_heading"><?php echo $heading; ?></h2> - <div id="content_language" class="content_block"> - - <?php if ( $variantsCount > 1 ) { ?> - <p id="mw-mf-language-variant-header"><?php echo $variantSummary; ?></p> - <ul id="mw-mf-language-variant-selection"> - <?php - foreach( $variants as $key => $val ): - echo $this->makeListItem( $key, $val ); - endforeach; - ?> - </ul> - <?php } ?> - - <?php if ( $languagesCount > 0 ) { ?> - <p id="mw-mf-language-header"><?php echo $languageSummary; ?></p> - <ul id="mw-mf-language-selection"> - <?php - foreach( $languages as $key => $val ): - echo $this->makeListItem( $key, $val ); - endforeach; - ?> - </ul> - <?php } ?> - - </div> - </div> - <?php - } - } - protected function renderFooter( $data ) { if ( !$data['disableSearchAndFooter'] ) { ?> @@ -129,7 +85,20 @@ } protected function renderMetaSections() { - $this->renderLanguages(); + echo Html::openElement( 'div', array( 'id' => 'page-secondary-actions' ) ); + + // If languages are available, render a languages link + if ( $this->getLanguages() || $this->getLanguageVariants() ) { + $languageUrl = SpecialPage::getTitleFor( 'MobileLanguages', $this->getSkin()->getTitle() )->getLocalURL(); + $languageLabel = wfMessage( 'mobile-frontend-language-article-heading' )->text(); + + echo Html::element( 'a', array( + 'class' => 'mw-ui-button mw-ui-progressive button languageSelector', + 'href' => $languageUrl + ), $languageLabel ); + } + + echo Html::closeElement( 'div' ); } /** diff --git a/includes/skins/MinervaTemplateBeta.php b/includes/skins/MinervaTemplateBeta.php index dc56ed8..6cc0b54 100644 --- a/includes/skins/MinervaTemplateBeta.php +++ b/includes/skins/MinervaTemplateBeta.php @@ -13,23 +13,6 @@ } } - protected function renderMetaSections() { - echo Html::openElement( 'div', array( 'id' => 'page-secondary-actions' ) ); - - // If languages are available, render a languages link - if ( $this->getLanguages() || $this->getLanguageVariants() ) { - $languageUrl = SpecialPage::getTitleFor( 'MobileLanguages', $this->getSkin()->getTitle() )->getLocalURL(); - $languageLabel = wfMessage( 'mobile-frontend-language-article-heading' )->text(); - - echo Html::element( 'a', array( - 'class' => 'mw-ui-button mw-ui-progressive button languageSelector', - 'href' => $languageUrl - ), $languageLabel ); - } - - echo Html::closeElement( 'div' ); - } - protected function renderContentWrapper( $data ) { $this->renderHistoryLinkTop( $data ); parent::renderContentWrapper( $data ); diff --git a/includes/skins/SkinMinervaBeta.php b/includes/skins/SkinMinervaBeta.php index fea316f..d6b22d6 100644 --- a/includes/skins/SkinMinervaBeta.php +++ b/includes/skins/SkinMinervaBeta.php @@ -60,7 +60,6 @@ $modules['mobile'][] = 'mobile.head.beta'; $modules['beta'] = array( 'mobile.beta' ); $modules['beta'][] = 'mobile.geonotahack'; - $modules['languages'] = array( 'mobile.languages.beta' ); $modules['toggling'] = array( 'mobile.toggling.beta' ); // turn off stable only modules $modules['stableonly'] = array(); diff --git a/includes/specials/SpecialMobileLanguages.php b/includes/specials/SpecialMobileLanguages.php index 4d74714..27f3a97 100755 --- a/includes/specials/SpecialMobileLanguages.php +++ b/includes/specials/SpecialMobileLanguages.php @@ -1,7 +1,6 @@ <?php class SpecialMobileLanguages extends MobileSpecialPage { - protected $mode = 'beta'; /** @var Title */ private $title; diff --git a/javascripts/modules/languages/languagesBeta.js b/javascripts/modules/languages/languages.js similarity index 65% rename from javascripts/modules/languages/languagesBeta.js rename to javascripts/modules/languages/languages.js index 6723d26..408ea8d 100644 --- a/javascripts/modules/languages/languagesBeta.js +++ b/javascripts/modules/languages/languages.js @@ -1,6 +1,17 @@ ( function( M, $ ) { - var LanguageOverlay = M.require( 'languages/LanguageOverlay' ); + var LanguageOverlay = M.require( 'languages/LanguageOverlay' ), + $cachedHeading = $( '#section_language' ), label; + // FIXME: Remove after 30 days. + if ( $cachedHeading.length > 0 ) { + label = $cachedHeading.text(); + $( '<a class="mw-ui-button mw-ui-progressive button languageSelector">' ). + text( label ). + appendTo( + $( '<div id="page-secondary-actions"></div>' ).insertBefore( '#mw-mf-language-section' ) + ); + $( '#mw-mf-language-section' ).remove(); + } M.overlayManager.add( /^\/languages$/, function() { var LoadingOverlay = M.require( 'LoadingOverlayNew' ), diff --git a/javascripts/modules/languages/languagesStable.js b/javascripts/modules/languages/languagesStable.js deleted file mode 100644 index db94993..0000000 --- a/javascripts/modules/languages/languagesStable.js +++ /dev/null @@ -1,56 +0,0 @@ -// FIXME: remove this file and mobile.languages.stable module when dynamic -// loading of languages goes to stable -( function( M, $ ) { - var LanguageOverlay = M.require( 'languages/LanguageOverlay' ), - variants, languages; - - M.overlayManager.add( /^\/languages$/, function() { - return new LanguageOverlay( { - languages: languages, - variants: variants - } ); - } ); - - /** - * Takes a list of languages and transforms them into an array for use in a LanguageOverlay - * - * @returns {Array} - */ - function parseList( $list ) { - var list = []; - $list.find( 'li' ).each( function() { - var $a = $( this ).find( 'a' ), lang, pageName = $a.attr( 'title' ); - - lang = { lang: $a.attr( 'lang' ), langname: $a.text(), url: $a.attr( 'href' ) }; - if ( pageName ) { - lang.pageName = pageName; - } - list.push( lang ); - } ); - return list; - } - - function initButton() { - var $section = $( '#mw-mf-language-section' ), - $h2 = $section.find( 'h2' ); - - languages = parseList( $section.find( '#mw-mf-language-selection' ) ); - variants = parseList( $section.find( '#mw-mf-language-variant-selection' ) ); - - // assume the current language is not present - if ( languages.length > 0 || variants.length > 1 ) { - $( '<button>' ).text( $h2.text() ). - addClass( 'languageSelector' ). - on( 'click', function() { - M.router.navigate( '/languages' ); - } ).insertBefore( $section ); - } - $section.remove(); - } - - $( initButton ); - M.on( 'page-loaded', initButton ); - - M.define( 'modules/languages/languagesStable', { parseList: parseList } ); - -}( mw.mobileFrontend, jQuery ) ); diff --git a/templates/languageSection.html b/templates/languageSection.html deleted file mode 100644 index bff66b7..0000000 --- a/templates/languageSection.html +++ /dev/null @@ -1,11 +0,0 @@ -<h2 id="section_language" class="section_heading">{{heading}}</h2> -<div id="content_language"> - <p id="mw-mf-language-header">{{description}}</p> - <ul id="mw-mf-language-selection"> - {{#langlinks}} - <li> - <a href="{{url}}" hreflang="{{lang}}" lang="{{lang}}" title="{{*}}">{{langname}}</a> - </li> - {{/langlinks}} - </ul> -</div> -- To view, visit https://gerrit.wikimedia.org/r/115978 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I035c07ebc4ca17153e8480690762c73cc5d89f8d Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/extensions/MobileFrontend Gerrit-Branch: master Gerrit-Owner: MaxSem <maxsem.w...@gmail.com> Gerrit-Reviewer: Dr0ptp4kt <ab...@wikimedia.org> Gerrit-Reviewer: Jdlrobson <jrob...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits