Amire80 has uploaded a new change for review.
https://gerrit.wikimedia.org/r/61770
Change subject: Add a MediaWiki preference for enabling ULS IME
......................................................................
Add a MediaWiki preference for enabling ULS IME
Bug: 47240
Change-Id: I957d9f409b0c29f956bcf8a49187cdf27c4f42f8
---
M UniversalLanguageSelector.hooks.php
M UniversalLanguageSelector.i18n.php
M resources/js/ext.uls.preferences.js
3 files changed, 52 insertions(+), 6 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UniversalLanguageSelector
refs/changes/70/61770/1
diff --git a/UniversalLanguageSelector.hooks.php
b/UniversalLanguageSelector.hooks.php
index 1aa0adc..3bd31be 100644
--- a/UniversalLanguageSelector.hooks.php
+++ b/UniversalLanguageSelector.hooks.php
@@ -295,10 +295,21 @@
}
public static function onGetPreferences( $user, &$preferences ) {
+ // The detailed preferences for different layouts.
+ // Saved as JSON and modifiable through the ULS screens.
$preferences['uls-preferences'] = array(
'type' => 'api',
);
+ // A checkbox in the general MediaWiki preferences screen
+ // to enable or disable IME in ULS
+ $preferences['uls-ime-enable'] = array(
+ 'type' => 'toggle',
+ 'label-message' => 'uls-ime-enable-preferences-label',
+ 'section' => 'editing/advancedediting', // under
'Advanced options' section of 'Editing' tab
+ 'default' => $user->getOption( 'uls-ime-enable' )
+ );
+
return true;
}
diff --git a/UniversalLanguageSelector.i18n.php
b/UniversalLanguageSelector.i18n.php
index 811a1ab..2149e1e 100644
--- a/UniversalLanguageSelector.i18n.php
+++ b/UniversalLanguageSelector.i18n.php
@@ -27,6 +27,8 @@
$messages['en'] = array(
'UniversalLanguageSelector' => 'Universal Language Selector',
'uls-desc' => 'Gives the user several ways to select a language and to
adjust language settings',
+
+ 'uls-ime-enable-preferences-label' => 'Enable input method tools in the
Universal Language Selector',
);
/** Message documentation (Message documentation)
@@ -35,6 +37,8 @@
$messages['qqq'] = array(
'UniversalLanguageSelector' => 'Extension name',
'uls-desc' => 'Extension description',
+ 'uls-ime-enable-preferences-label' => 'A label for a user preference.',
+
'uls-select-content-language' => 'Main heading in the language selector
popup.
{{Identical|Select language}}',
);
diff --git a/resources/js/ext.uls.preferences.js
b/resources/js/ext.uls.preferences.js
index 3340438..252647d 100644
--- a/resources/js/ext.uls.preferences.js
+++ b/resources/js/ext.uls.preferences.js
@@ -104,6 +104,7 @@
ULSPreferences = function () {
this.preferenceName = 'uls-preferences';
+ this.imeEnablePreferenceName = 'uls-ime-enable',
this.username = mw.user.getName();
this.isAnon = mw.user.isAnon();
this.preferences = null;
@@ -115,12 +116,19 @@
* Initialize
*/
init: function () {
+ var options;
+
if ( this.isAnon ) {
this.preferences = $.jStorage.get(
this.preferenceName );
} else {
- var options = mw.user.options.get(
this.preferenceName );
+ options = mw.user.options.get(
this.preferenceName );
this.preferences = $.parseJSON( options );
+
+ if ( mw.user.options.get( 'uls-ime-enable' )
!== '1' ) {
+ this.preferences.ime.enable = false;
+ }
}
+
this.preferences = this.preferences || {};
},
@@ -151,22 +159,45 @@
save: function ( callback ) {
var ulsPreferences = this;
+
callback = callback || $.noop;
if ( this.isAnon ) {
// Anonymous user. Save preferences in local
storage
$.jStorage.set( this.preferenceName,
this.preferences );
callback.call( this, true );
} else {
+ var successFunction, failFunction;
+
+ successFunction = function () {
+ callback.call( this, true );
+ };
+ failFunction = function () {
+ callback.call( this, false );
+ };
+
// Logged in user. Use MW APIs to change
preferences
saveOptionsWithToken( {
action: 'options',
optionname:
ulsPreferences.preferenceName,
optionvalue: $.toJSON(
ulsPreferences.preferences )
- }, function () {
- callback.call( this, true );
- }, function () {
- callback.call( this, false );
- } );
+ },
+ successFunction,
+ failFunction
+ );
+
+ if ( ulsPreferences.preferences.ime !==
undefined &&
+ ulsPreferences.preferences.ime.enable
!== undefined
+ ) {
+ // Logged in user. Use MW APIs to
change preferences
+ saveOptionsWithToken( {
+ action: 'options',
+ optionname:
ulsPreferences.imeEnablePreferenceName,
+ optionvalue:
ulsPreferences.preferences.ime.enable ? '1' : ''
+ },
+ successFunction,
+ failFunction
+ );
+ }
}
}
};
--
To view, visit https://gerrit.wikimedia.org/r/61770
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I957d9f409b0c29f956bcf8a49187cdf27c4f42f8
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/UniversalLanguageSelector
Gerrit-Branch: master
Gerrit-Owner: Amire80 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits