Amire80 has uploaded a new change for review.
https://gerrit.wikimedia.org/r/66380
Change subject: Make cancel reset preferences and apply save and close
......................................................................
Make cancel reset preferences and apply save and close
Bug: 48898
Change-Id: I9f5444ffd57ddf46d197ebdb23a18c0c4600b196
---
M resources/js/ext.uls.inputsettings.js
1 file changed, 26 insertions(+), 8 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UniversalLanguageSelector
refs/changes/80/66380/1
diff --git a/resources/js/ext.uls.inputsettings.js
b/resources/js/ext.uls.inputsettings.js
index 685f437..d22e35e 100644
--- a/resources/js/ext.uls.inputsettings.js
+++ b/resources/js/ext.uls.inputsettings.js
@@ -75,6 +75,9 @@
this.contentLanguage = this.getContentLanguage();
this.$imes = null;
this.$parent = $parent;
+
+ this.preferencesCallback = $.noop;
+ this.savedRegistry = $.extend( true, {},
$.ime.preferences.registry );
}
InputSettings.prototype = {
@@ -85,15 +88,21 @@
* Render the module into a given target
*/
render: function () {
+ var enabledOnly;
+
this.$parent.$settingsPanel.empty();
this.$imes = $( 'body' ).data( 'ime' );
this.$parent.$settingsPanel.append( this.$template );
+
+ enabledOnly = this.$template.find( '.enabled-only' );
+
if ( $.ime.preferences.isEnabled() ) {
- this.$template.find( '.enabled-only'
).removeClass( 'hide' );
+ enabledOnly.removeClass( 'hide' );
} else {
// Hide the language list and ime selector
- this.$template.find( '.enabled-only'
).addClass( 'hide' );
+ enabledOnly.addClass( 'hide' );
}
+
this.prepareLanguages();
this.prepareToggleButton();
this.$template.i18n();
@@ -106,6 +115,10 @@
*/
enableApplyButton: function () {
this.$template.find( 'button.uls-input-settings-apply'
).removeAttr( 'disabled' );
+ },
+
+ disableApplyButton: function () {
+ this.$template.find( 'button.uls-input-settings-apply'
).prop( 'disabled', true );
},
prepareInputmethods: function ( language ) {
@@ -410,7 +423,14 @@
} );
inputSettings.$template.find(
'button.uls-input-settings-cancel' ).on( 'click', function () {
+ inputSettings.preferencesCallback = $.noop;
+ inputSettings.disableApplyButton();
+
inputSettings.close();
+
+ // Reload preferences and redraw
+ $.ime.preferences.registry = $.extend( true,
{}, inputSettings.savedRegistry );
+ inputSettings.render();
} );
$imeListContainer.on( 'change',
'input:radio[name=ime]:checked', function () {
@@ -436,9 +456,7 @@
*/
disableInputTools: function () {
$.ime.preferences.disable();
- $.ime.preferences.save( function () {
- mw.ime.disable();
- } );
+ this.preferencesCallback = mw.ime.disable;
this.$template.find( '.enabled-only' ).addClass( 'hide'
);
this.prepareToggleButton();
},
@@ -448,10 +466,9 @@
*/
enableInputTools: function () {
$.ime.preferences.enable();
- $.ime.preferences.save( function () {
- mw.ime.setup();
- } );
+ this.preferencesCallback = mw.ime.setup;
this.$template.find( '.enabled-only' ).removeClass(
'hide' );
+ this.$template[0].scrollIntoView();
this.prepareToggleButton();
},
@@ -491,6 +508,7 @@
// Save the preferences
$.ime.preferences.save( function ( result ) {
// closure for not losing the scope
+ inputSettings.preferencesCallback();
inputSettings.onSave( result );
} );
}
--
To view, visit https://gerrit.wikimedia.org/r/66380
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9f5444ffd57ddf46d197ebdb23a18c0c4600b196
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