From 4e04182ecdb86c461b65f708f601eabe1a38f16d Mon Sep 17 00:00:00 2001 From: "Amir E. Aharoni" Date: Tue, 20 Aug 2013 08:54:52 +0300 Subject: [PATCH] Fire the ime-enable/disable hook upon saving the preferences Change-Id: I98e502cd8dc1990b10b1f824614c84d3bf5b993f --- resources/js/ext.uls.eventlogger.js | 10 ++++++---- resources/js/ext.uls.ime.js | 3 +-- resources/js/ext.uls.inputsettings.js | 10 +++++++++- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/resources/js/ext.uls.eventlogger.js b/resources/js/ext.uls.eventlogger.js index 75db1152..d9ecb193 100644 --- a/resources/js/ext.uls.eventlogger.js +++ b/resources/js/ext.uls.eventlogger.js @@ -110,16 +110,18 @@ /** * Log IME disabling + * @param {string} context Where the setting was changed. */ - disableIME: function () { - this.log( { action: 'ime-disable' } ); + disableIME: function ( context ) { + this.log( { action: 'ime-disable', context: context } ); }, /** * Log IME enabling + * @param {string} context Where the setting was changed. */ - enableIME: function () { - this.log( { action: 'ime-enable' } ); + enableIME: function ( context ) { + this.log( { action: 'ime-enable', context: context } ); }, /** diff --git a/resources/js/ext.uls.ime.js b/resources/js/ext.uls.ime.js index 819bab46..38683a97 100644 --- a/resources/js/ext.uls.ime.js +++ b/resources/js/ext.uls.ime.js @@ -81,13 +81,11 @@ disable: function () { this.registry.isDirty = true; this.registry.enable = false; - mw.hook( 'mw.uls.ime.disable' ).fire(); }, enable: function () { this.registry.isDirty = true; this.registry.enable = true; - mw.hook( 'mw.uls.ime.enable' ).fire(); }, isEnabled: function () { @@ -152,6 +150,7 @@ $.ime.preferences.save( function () { mw.ime.disable(); imeNotification(); + mw.hook( 'mw.uls.ime.disable' ).fire( 'menu' ); } ); e.stopPropagation(); } ); diff --git a/resources/js/ext.uls.inputsettings.js b/resources/js/ext.uls.inputsettings.js index ea98ea3d..ffe91ae9 100644 --- a/resources/js/ext.uls.inputsettings.js +++ b/resources/js/ext.uls.inputsettings.js @@ -528,12 +528,20 @@ * Handle the apply button press */ apply: function () { - var inputSettings = this; + var toggleHookName, + inputSettings = this; mw.hook( 'mw.uls.ime.change' ).fire( $.ime.preferences.getIM( $.ime.preferences.getLanguage() ) ); + if ( inputSettings.savedRegistry.enable !== $.ime.preferences.isEnabled() ) { + toggleHookName = $.ime.preferences.isEnabled() ? + 'mw.uls.ime.enable' : + 'mw.uls.ime.disable'; + mw.hook( toggleHookName ).fire( 'inputsettings' ); + } + // Save the preferences $.ime.preferences.save( function ( result ) { // closure for not losing the scope