[MediaWiki-commits] [Gerrit] Use single entry point mw.uls.init for all ULS ui initializa... - change (mediawiki...UniversalLanguageSelector)
Santhosh has uploaded a new change for review. https://gerrit.wikimedia.org/r/71989 Change subject: Use single entry point mw.uls.init for all ULS ui initialization .. Use single entry point mw.uls.init for all ULS ui initialization Change-Id: I485ea27deebb530eb89e4b0935eda01a5276f884 --- M resources/js/ext.uls.ime.js M resources/js/ext.uls.init.js M resources/js/ext.uls.interface.js M resources/js/ext.uls.webfonts.js 4 files changed, 36 insertions(+), 29 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UniversalLanguageSelector refs/changes/89/71989/1 diff --git a/resources/js/ext.uls.ime.js b/resources/js/ext.uls.ime.js index 1d26010..d3da527 100644 --- a/resources/js/ext.uls.ime.js +++ b/resources/js/ext.uls.ime.js @@ -203,17 +203,14 @@ }; $( document ).ready( function () { - if ( !mw.uls.isBrowserSupported() ) { - return; - } + mw.uls.init( function () { + // Load the ime preferences + $.ime.preferences.load(); - // Load the ime preferences - $.ime.preferences.load(); - - if ( $.ime.preferences.isEnabled() ) { - mw.ime.setup(); - } - + if ( $.ime.preferences.isEnabled() ) { + mw.ime.setup(); + } + } ); } ); function imeNotification () { diff --git a/resources/js/ext.uls.init.js b/resources/js/ext.uls.init.js index f35dfee..dee92b8 100644 --- a/resources/js/ext.uls.init.js +++ b/resources/js/ext.uls.init.js @@ -31,7 +31,8 @@ this.$languageFilter.addClass( 'noime' ); }; - var currentLang = mw.config.get( 'wgUserLanguage' ); + var initialized = false, + currentLang = mw.config.get( 'wgUserLanguage' ); mw.uls = mw.uls || {}; mw.uls.previousLanguagesCookie = 'uls-previous-languages'; /** @@ -111,7 +112,7 @@ * Browse support policy: http://www.mediawiki.org/wiki/Browser_support#Grade_A * @return boolean */ - mw.uls.isBrowserSupported = function () { + function isBrowserSupported() { // Blacklist Grade B browsers IE 6, 7 and IE60-IE79 return !/MSIE [67]/i.test( navigator.userAgent ); }; @@ -159,8 +160,14 @@ .load( jsonLoader + currentLang, currentLang ); } - $( document ).ready( function () { - if ( !mw.uls.isBrowserSupported() ) { + mw.uls.init = function( callback ) { + callback = callback || $.noop; + + if ( initialized ) { + callback.call( this, false ); + return; + } + if ( !isBrowserSupported() ) { $( '#pt-uls' ).hide(); return; } @@ -177,5 +184,11 @@ // JavaScript side i18n initialization i18nInit(); + initialized = true; + callback.call( this, true ); + } + + $( document ).ready( function () { + mw.uls.init(); } ); }( jQuery, mediaWiki ) ); diff --git a/resources/js/ext.uls.interface.js b/resources/js/ext.uls.interface.js index e243b24..3212d69 100644 --- a/resources/js/ext.uls.interface.js +++ b/resources/js/ext.uls.interface.js @@ -223,6 +223,7 @@ } $( document ).ready( function () { + mw.uls.init( function () { var $ulsTrigger = $( '.uls-trigger' ), $ulsSettingsTrigger, $pLang, @@ -231,10 +232,6 @@ anonMode = ( mw.user.isAnon() !mw.config.get( 'wgULSAnonCanChangeLanguage' ) ), ulsPosition = mw.config.get( 'wgULSPosition' ); - - if ( !mw.uls.isBrowserSupported() ) { - return; - } if ( ulsPosition === 'interlanguage' ) { // The interlanguage links section @@ -325,4 +322,5 @@ showULSTooltip(); } ); + } ); }( jQuery, mediaWiki ) ); diff --git a/resources/js/ext.uls.webfonts.js b/resources/js/ext.uls.webfonts.js index 4b11ae8..804f0fa 100644 --- a/resources/js/ext.uls.webfonts.js +++ b/resources/js/ext.uls.webfonts.js @@ -81,17 +81,16 @@ }; $( document ).ready( function () { - if ( !mw.uls.isBrowserSupported() ) { - return; - } - // MediaWiki specific overrides for jquery.webfonts - $.extend( $.fn.webfonts.defaults, { - repository: mediawikiFontRepository, - fontStack: new Array( $(
[MediaWiki-commits] [Gerrit] Use single entry point mw.uls.init for all ULS ui initializa... - change (mediawiki...UniversalLanguageSelector)
jenkins-bot has submitted this change and it was merged. Change subject: Use single entry point mw.uls.init for all ULS ui initialization .. Use single entry point mw.uls.init for all ULS ui initialization Change-Id: I485ea27deebb530eb89e4b0935eda01a5276f884 --- M resources/js/ext.uls.ime.js M resources/js/ext.uls.init.js M resources/js/ext.uls.interface.js M resources/js/ext.uls.webfonts.js 4 files changed, 37 insertions(+), 30 deletions(-) Approvals: Amire80: Looks good to me, approved jenkins-bot: Verified diff --git a/resources/js/ext.uls.ime.js b/resources/js/ext.uls.ime.js index 1d26010..d3da527 100644 --- a/resources/js/ext.uls.ime.js +++ b/resources/js/ext.uls.ime.js @@ -203,17 +203,14 @@ }; $( document ).ready( function () { - if ( !mw.uls.isBrowserSupported() ) { - return; - } + mw.uls.init( function () { + // Load the ime preferences + $.ime.preferences.load(); - // Load the ime preferences - $.ime.preferences.load(); - - if ( $.ime.preferences.isEnabled() ) { - mw.ime.setup(); - } - + if ( $.ime.preferences.isEnabled() ) { + mw.ime.setup(); + } + } ); } ); function imeNotification () { diff --git a/resources/js/ext.uls.init.js b/resources/js/ext.uls.init.js index 5733c28..4531923 100644 --- a/resources/js/ext.uls.init.js +++ b/resources/js/ext.uls.init.js @@ -31,7 +31,8 @@ this.$languageFilter.addClass( 'noime' ); }; - var currentLang = mw.config.get( 'wgUserLanguage' ); + var initialized = false, + currentLang = mw.config.get( 'wgUserLanguage' ); mw.uls = mw.uls || {}; mw.uls.previousLanguagesCookie = 'uls-previous-languages'; /** @@ -139,10 +140,10 @@ * Browse support policy: http://www.mediawiki.org/wiki/Browser_support#Grade_A * @return boolean */ - mw.uls.isBrowserSupported = function () { + function isBrowserSupported() { // Blacklist Grade B browsers IE 6, 7 and IE60-IE79 return !/MSIE [67]/i.test( navigator.userAgent ); - }; + } /** * Local wrapper for 'mw.eventLog.logEvent' which handles default params @@ -187,8 +188,14 @@ .load( jsonLoader + currentLang, currentLang ); } - $( document ).ready( function () { - if ( !mw.uls.isBrowserSupported() ) { + mw.uls.init = function( callback ) { + callback = callback || $.noop; + + if ( initialized ) { + callback.call( this, false ); + return; + } + if ( !isBrowserSupported() ) { $( '#pt-uls' ).hide(); return; } @@ -205,5 +212,11 @@ // JavaScript side i18n initialization i18nInit(); + initialized = true; + callback.call( this, true ); + }; + + $( document ).ready( function () { + mw.uls.init(); } ); }( jQuery, mediaWiki ) ); diff --git a/resources/js/ext.uls.interface.js b/resources/js/ext.uls.interface.js index ed60f97..4d69347 100644 --- a/resources/js/ext.uls.interface.js +++ b/resources/js/ext.uls.interface.js @@ -223,6 +223,7 @@ } $( document ).ready( function () { + mw.uls.init( function () { var $ulsTrigger = $( '.uls-trigger' ), $ulsSettingsTrigger, $pLang, @@ -231,10 +232,6 @@ anonMode = ( mw.user.isAnon() !mw.config.get( 'wgULSAnonCanChangeLanguage' ) ), ulsPosition = mw.config.get( 'wgULSPosition' ); - - if ( !mw.uls.isBrowserSupported() ) { - return; - } if ( ulsPosition === 'interlanguage' ) { // The interlanguage links section @@ -330,4 +327,5 @@ showULSTooltip(); } ); + } ); }( jQuery, mediaWiki ) ); diff --git a/resources/js/ext.uls.webfonts.js b/resources/js/ext.uls.webfonts.js index 4b11ae8..804f0fa 100644 --- a/resources/js/ext.uls.webfonts.js +++ b/resources/js/ext.uls.webfonts.js @@ -81,17 +81,16 @@ }; $( document ).ready( function () { - if ( !mw.uls.isBrowserSupported() ) { - return; - } - // MediaWiki specific overrides for jquery.webfonts - $.extend( $.fn.webfonts.defaults, { - repository: mediawikiFontRepository, -