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( $( 'body' ).css( 'font-family' ) )
+               mw.uls.init( function () {
+
+                       // MediaWiki specific overrides for jquery.webfonts
+                       $.extend( $.fn.webfonts.defaults, {
+                               repository: mediawikiFontRepository,
+                               fontStack: new Array( $( 'body' ).css( 
'font-family' ) )
+                       } );
+
+                       mw.webfonts.preferences.load();
+                       mw.webfonts.setup();
                } );
-
-               mw.webfonts.preferences.load();
-               mw.webfonts.setup();
        } );
-
 }( jQuery, mediaWiki ) );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I485ea27deebb530eb89e4b0935eda01a5276f884
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector
Gerrit-Branch: master
Gerrit-Owner: Santhosh <santhosh.thottin...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to