Santhosh has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/75830


Change subject: Delay loading of langauge settings javascript
......................................................................

Delay loading of langauge settings javascript

Load them when language settings is opened using cog or ULS icon click

Change-Id: I472497c549bff0fd578156fa0113dae2d6a7a7fb
---
M Resources.php
M resources/js/ext.uls.ime.js
M resources/js/ext.uls.init.js
M resources/js/ext.uls.interface.js
4 files changed, 43 insertions(+), 28 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UniversalLanguageSelector 
refs/changes/30/75830/1

diff --git a/Resources.php b/Resources.php
index cb2ec50..6ce8de8 100644
--- a/Resources.php
+++ b/Resources.php
@@ -88,8 +88,11 @@
        'dependencies' => array(
                'ext.uls.init',
                'jquery.tipsy',
-               'ext.uls.displaysettings',
-               'ext.uls.inputsettings',
+               'mediawiki.user',
+               // We can not delay webfonts loading since it is required
+               // immediately after page load
+               'ext.uls.webfonts',
+               'ext.uls.ime',
        ),
        'messages' => array(
                'uls-plang-title-languages',
diff --git a/resources/js/ext.uls.ime.js b/resources/js/ext.uls.ime.js
index 8f16b81..5ef22b1 100644
--- a/resources/js/ext.uls.ime.js
+++ b/resources/js/ext.uls.ime.js
@@ -121,15 +121,16 @@
                $moreSettingsLink = $( '<span>' )
                        .addClass( 'uls-ime-more-settings-link' );
 
-               $moreSettingsLink.languagesettings( {
-                       defaultModule: 'input',
-                       onClose: function () {
-                               // on close of input settings, keep focus in 
input area.
-                               imeselector.$element.focus();
-                       },
-                       top: imeselector.$element.offset().top
+               mw.loader.using( mw.uls.languageSettingsModules, function () {
+                       $moreSettingsLink.languagesettings( {
+                               defaultModule: 'input',
+                               onClose: function () {
+                                       // on close of input settings, keep 
focus in input area.
+                                       imeselector.$element.focus();
+                               },
+                               top: imeselector.$element.offset().top
+                       } );
                } );
-
                // Hide the menu.
                $moreSettingsLink.on( 'click', function ( e ) {
                        imeselector.hide();
diff --git a/resources/js/ext.uls.init.js b/resources/js/ext.uls.init.js
index 5be29d5..47579b8 100644
--- a/resources/js/ext.uls.init.js
+++ b/resources/js/ext.uls.init.js
@@ -38,6 +38,7 @@
 
        mw.uls = mw.uls || {};
        mw.uls.previousLanguagesCookie = 'uls-previous-languages';
+       mw.uls.languageSettingsModules = ['ext.uls.inputsettings', 
'ext.uls.displaysettings'];
        /**
         * Change the language of wiki using setlang URL parameter
         * @param {String} language
diff --git a/resources/js/ext.uls.interface.js 
b/resources/js/ext.uls.interface.js
index 0f64385..0a1cb28 100644
--- a/resources/js/ext.uls.interface.js
+++ b/resources/js/ext.uls.interface.js
@@ -34,7 +34,7 @@
                $displaySettings = $( '<div>' )
                        .addClass( 'display-settings-block' )
                        .prop( 'id', 'display-settings-block' )
-                       .append( $displaySettingsTitle );
+                       .append( $displaySettingsTitle.i18n() );
 
                return $displaySettings;
        }
@@ -53,7 +53,7 @@
                $inputSettings = $( '<div>' )
                        .addClass( 'input-settings-block' )
                        .prop( 'id', 'input-settings-block' )
-                       .append( $inputSettingsTitle );
+                       .append( $inputSettingsTitle.i18n() );
 
                return $inputSettings;
        }
@@ -86,8 +86,10 @@
                                        };
                                }
                                $.extend( displaySettingsOptions, 
uls.position() );
-                               $displaySettings.languagesettings( 
displaySettingsOptions )
-                                       .click();
+                               mw.loader.using( 
mw.uls.languageSettingsModules, function () {
+                                       $displaySettings.languagesettings( 
displaySettingsOptions )
+                                               .click();
+                               } );
                        }
                        uls.hide();
                } );
@@ -106,14 +108,16 @@
                                languagesettings = $inputSettings.data( 
'languagesettings' );
 
                        if ( !languagesettings ) {
-                               $inputSettings.languagesettings( {
-                                       defaultModule: 'input',
-                                       onClose: function () {
-                                               uls.show();
-                                       },
-                                       top: position.top,
-                                       left: position.left
-                               } ).click();
+                               mw.loader.using( 
mw.uls.languageSettingsModules, function () {
+                                       $inputSettings.languagesettings( {
+                                               defaultModule: 'input',
+                                               onClose: function () {
+                                                       uls.show();
+                                               },
+                                               top: position.top,
+                                               left: position.left
+                                       } ).click();
+                               } );
                        }
                        uls.hide();
                } );
@@ -344,7 +348,10 @@
                                                                this.position();
                                                        }
                                                };
-                                               $ulsTrigger.languagesettings( 
langaugeSettingsOptions ).click();
+                                               mw.loader.using( 
mw.uls.languageSettingsModules, function () {
+                                                       
$ulsTrigger.languagesettings( langaugeSettingsOptions ).click();
+                                               } );
+
                                                e.stopPropagation();
                                        }
                                } );
@@ -353,7 +360,9 @@
                                        var languagesettings = 
$ulsTrigger.data( 'languagesettings' );
 
                                        if ( !languagesettings ) {
-                                               
$ulsTrigger.languagesettings().click();
+                                               mw.loader.using( 
mw.uls.languageSettingsModules, function () {
+                                                       
$ulsTrigger.languagesettings().click();
+                                               } );
                                                e.stopPropagation();
                                        }
                                } );
@@ -366,10 +375,11 @@
                                                // ULS options that are common 
to all modes of showing
                                                ulsOptions = {
                                                        onReady: function () {
-                                                               if ( 
$.fn.languagesettings ) {
-                                                                       
addDisplaySettings( this );
-                                                                       
addInputSettings( this );
-                                                               }
+                                                               var uls = this;
+                                                               
mw.loader.using( mw.uls.languageSettingsModules, function () {
+                                                                       
addDisplaySettings( uls );
+                                                                       
addInputSettings( uls );
+                                                               } );
                                                        },
                                                        onSelect: function ( 
language ) {
                                                                
mw.uls.changeLanguage( language );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I472497c549bff0fd578156fa0113dae2d6a7a7fb
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