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',
|
'position' => 'top',
|
||||||
) + $resourcePaths;
|
) + $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(
|
$wgResourceModules['ext.uls.languagesettings'] = array(
|
||||||
'scripts' => 'resources/js/ext.uls.languagesettings.js',
|
'scripts' => 'resources/js/ext.uls.languagesettings.js',
|
||||||
'styles' => 'resources/css/ext.uls.languagesettings.css',
|
'styles' => 'resources/css/ext.uls.languagesettings.css',
|
||||||
@@ -133,7 +137,10 @@ $wgResourceModules['ext.uls.preferences'] = array(
|
|||||||
'dependencies' => array(
|
'dependencies' => array(
|
||||||
'mediawiki.user',
|
'mediawiki.user',
|
||||||
'mediawiki.api',
|
'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;
|
) + $resourcePaths;
|
||||||
|
|
||||||
|
|||||||
@@ -67,8 +67,12 @@ class UniversalLanguageSelectorHooks {
|
|||||||
|
|
||||||
if ( self::isToolbarEnabled( $out->getUser() ) ) {
|
if ( self::isToolbarEnabled( $out->getUser() ) ) {
|
||||||
// Enable UI language selection for the user.
|
// Enable UI language selection for the user.
|
||||||
|
if ( $out->getUser()->isAnon() ) {
|
||||||
|
$out->addModules( 'ext.uls.interface.anon' );
|
||||||
|
} else {
|
||||||
$out->addModules( 'ext.uls.interface' );
|
$out->addModules( 'ext.uls.interface' );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,13 +115,14 @@
|
|||||||
* Initialize
|
* Initialize
|
||||||
*/
|
*/
|
||||||
init: function () {
|
init: function () {
|
||||||
|
var options;
|
||||||
|
|
||||||
if ( this.isAnon ) {
|
if ( this.isAnon ) {
|
||||||
this.preferences = $.jStorage.get( this.preferenceName );
|
this.preferences = $.jStorage.get( this.preferenceName ) || {};
|
||||||
} else {
|
} else {
|
||||||
var options = mw.user.options.get( this.preferenceName );
|
options = mw.user.options.get( this.preferenceName );
|
||||||
this.preferences = $.parseJSON( options );
|
this.preferences = $.parseJSON( options ) || {};
|
||||||
}
|
}
|
||||||
this.preferences = this.preferences || {};
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -157,7 +158,6 @@
|
|||||||
$.jStorage.set( this.preferenceName, this.preferences );
|
$.jStorage.set( this.preferenceName, this.preferences );
|
||||||
callback.call( this, true );
|
callback.call( this, true );
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// Logged in user. Use MW APIs to change preferences
|
// Logged in user. Use MW APIs to change preferences
|
||||||
saveOptionsWithToken( {
|
saveOptionsWithToken( {
|
||||||
action: 'options',
|
action: 'options',
|
||||||
|
|||||||
Reference in New Issue
Block a user