jenkins-bot has submitted this change and it was merged.
Change subject: Do not load jquery.jStorage for logged in users
......................................................................
Do not load jquery.jStorage for logged in users
Change-Id: Ibe77962cecd6aa8504aa60d5d2b8d17a56e1319f
---
M Resources.php
M UniversalLanguageSelector.hooks.php
M resources/js/ext.uls.preferences.js
3 files changed, 18 insertions(+), 7 deletions(-)
Approvals:
Nikerabbit: Looks good to me, approved
jenkins-bot: Verified
diff --git a/Resources.php b/Resources.php
index f5d4d99..2f64303 100644
--- a/Resources.php
+++ b/Resources.php
@@ -118,6 +118,10 @@
'position' => 'top',
) + $resourcePaths;
+// Anonymous users need 'jquery.jStorage' module for client side preference
persistence.
+$wgResourceModules['ext.uls.interface.anon'] =
$wgResourceModules['ext.uls.interface'];
+$wgResourceModules['ext.uls.interface.anon']['dependencies'][] =
'jquery.jStorage';
+
$wgResourceModules['ext.uls.languagesettings'] = array(
'scripts' => 'resources/js/ext.uls.languagesettings.js',
'styles' => 'resources/css/ext.uls.languagesettings.css',
@@ -133,7 +137,10 @@
'dependencies' => array(
'mediawiki.user',
'mediawiki.api',
- 'jquery.jStorage',
+ 'jquery.json',
+ // This is quite a big module and only needed for anons.
+ // Loaded conditionally in ext.uls.interface(.anon).
+ //'jquery.jStorage',
),
) + $resourcePaths;
diff --git a/UniversalLanguageSelector.hooks.php
b/UniversalLanguageSelector.hooks.php
index 44436a7..82a9c59 100644
--- a/UniversalLanguageSelector.hooks.php
+++ b/UniversalLanguageSelector.hooks.php
@@ -67,7 +67,11 @@
if ( self::isToolbarEnabled( $out->getUser() ) ) {
// Enable UI language selection for the user.
- $out->addModules( 'ext.uls.interface' );
+ if ( $out->getUser()->isAnon() ) {
+ $out->addModules( 'ext.uls.interface.anon' );
+ } else {
+ $out->addModules( 'ext.uls.interface' );
+ }
}
return true;
diff --git a/resources/js/ext.uls.preferences.js
b/resources/js/ext.uls.preferences.js
index f0cbb5f..5edde74 100644
--- a/resources/js/ext.uls.preferences.js
+++ b/resources/js/ext.uls.preferences.js
@@ -115,13 +115,14 @@
* Initialize
*/
init: function () {
+ var options;
+
if ( this.isAnon ) {
- this.preferences = $.jStorage.get(
this.preferenceName );
+ this.preferences = $.jStorage.get(
this.preferenceName ) || {};
} else {
- var options = mw.user.options.get(
this.preferenceName );
- this.preferences = $.parseJSON( options );
+ options = mw.user.options.get(
this.preferenceName );
+ this.preferences = $.parseJSON( options ) || {};
}
- this.preferences = this.preferences || {};
},
/**
@@ -157,7 +158,6 @@
$.jStorage.set( this.preferenceName,
this.preferences );
callback.call( this, true );
} else {
-
// Logged in user. Use MW APIs to change
preferences
saveOptionsWithToken( {
action: 'options',
--
To view, visit https://gerrit.wikimedia.org/r/93051
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ibe77962cecd6aa8504aa60d5d2b8d17a56e1319f
Gerrit-PatchSet: 6
Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>
Gerrit-Reviewer: Nikerabbit <[email protected]>
Gerrit-Reviewer: Santhosh <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits