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 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits