From 3b6d5cc83e8252bd2181708e9fc17f0aaf587a39 Mon Sep 17 00:00:00 2001 From: "Amir E. Aharoni" Date: Tue, 20 Aug 2013 07:40:42 +0300 Subject: [PATCH] Log ime-change event Change-Id: I6dfc769f0de536e2ef35b165fe7a35f196bb181b --- lib/jquery.ime/jquery.ime.js | 19 +++++++++++++------ lib/jquery.ime/rules/pa/pa-phonetic.js | 2 +- resources/js/ext.uls.eventlogger.js | 12 ++++++++++++ resources/js/ext.uls.ime.js | 4 +++- resources/js/ext.uls.inputsettings.js | 4 ++++ 5 files changed, 33 insertions(+), 8 deletions(-) diff --git a/lib/jquery.ime/jquery.ime.js b/lib/jquery.ime/jquery.ime.js index fbe5dd8e..ace47dc5 100644 --- a/lib/jquery.ime/jquery.ime.js +++ b/lib/jquery.ime/jquery.ime.js @@ -1,4 +1,4 @@ -/*! jquery.ime - v0.1.0+20130819 +/*! jquery.ime - v0.1.0+20130820 * https://github.com/wikimedia/jquery.ime * Copyright (c) 2013 Santhosh Thottingal; Licensed GPL, MIT */ ( function ( $ ) { @@ -881,12 +881,14 @@ imeselector.$menu.on( 'click.ime', 'li.ime-im', function () { imeselector.selectIM( $( this ).data( 'ime-inputmethod' ) ); + imeselector.$element.trigger( 'setim.ime', $( this ).data( 'ime-inputmethod' ) ); return false; } ); imeselector.$menu.on( 'click.ime', 'li.ime-lang', function () { - imeselector.selectLanguage( $( this ).attr( 'lang' ) ); + var im = imeselector.selectLanguage( $( this ).attr( 'lang' ) ); + imeselector.$element.trigger( 'setim.ime', im ); return false; } ); @@ -942,9 +944,11 @@ if ( isShortcutKey( e ) ) { if ( ime.isActive() ) { this.disableIM(); + this.$element.trigger( 'setim.ime', 'system' ); } else { if ( this.inputmethod !== null ) { this.selectIM( this.inputmethod.id ); + this.$element.trigger( 'setim.ime', this.inputmethod.id ); } else { languageCode = this.decideLanguage(); this.selectLanguage( languageCode ); @@ -1042,7 +1046,8 @@ /** * Select a language * - * @param languageCode + * @param {string} languageCode + * @return {string|bool} Selected input method id or false */ selectLanguage: function ( languageCode ) { var ime, @@ -1062,7 +1067,7 @@ this.selectIM( $.ime.preferences.getIM( languageCode ) ); } - return false; + return $.ime.preferences.getIM( languageCode ); } this.$menu.find( 'li.ime-lang' ).show(); @@ -1075,6 +1080,8 @@ ime.setLanguage( languageCode ); this.inputmethod = null; this.selectIM( $.ime.preferences.getIM( languageCode ) ); + + return $.ime.preferences.getIM( languageCode ); }, /** @@ -1283,11 +1290,11 @@ } function imeList() { - return $( '