Do not load jquery.jStorage for logged in users
Change-Id: Ibe77962cecd6aa8504aa60d5d2b8d17a56e1319f
This commit is contained in:
@@ -118,6 +118,10 @@ $wgResourceModules['ext.uls.interface'] = array(
|
||||
'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 @@ $wgResourceModules['ext.uls.preferences'] = array(
|
||||
'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;
|
||||
|
||||
|
||||
@@ -67,8 +67,12 @@ class UniversalLanguageSelectorHooks {
|
||||
|
||||
if ( self::isToolbarEnabled( $out->getUser() ) ) {
|
||||
// Enable UI language selection for the user.
|
||||
if ( $out->getUser()->isAnon() ) {
|
||||
$out->addModules( 'ext.uls.interface.anon' );
|
||||
} else {
|
||||
$out->addModules( 'ext.uls.interface' );
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user