Merge "Log ime-change event"

This commit is contained in:
jenkins-bot
2013-08-20 05:44:08 +00:00
committed by Gerrit Code Review
5 changed files with 33 additions and 8 deletions

View File

@@ -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 );
},
/**

View File

@@ -23,7 +23,7 @@
['6', '6'],
['7', '7'],
['8', '8'],
['\\)', '੯'],
['\\(', '੯'],
['9', '9'],
['\\),', ''],
['0', '0'],

View File

@@ -78,6 +78,7 @@
mw.hook( 'mw.uls.language.revert' ).add( $.proxy( this.ulsLanguageRevert, this ) );
mw.hook( 'mw.uls.ime.enable' ).add( $.proxy( this.enableIME, this ) );
mw.hook( 'mw.uls.ime.disable' ).add( $.proxy( this.disableIME, this ) );
mw.hook( 'mw.uls.ime.change' ).add( $.proxy( this.changeIME, this ) );
mw.hook( 'mw.uls.login.click' ).add( $.proxy( this.loginClick, this ) );
mw.hook( 'mw.uls.ime.morelanguages' ).add( $.proxy( this.imeMoreLanguages, this ) );
mw.hook( 'mw.uls.interface.morelanguages' ).add( $.proxy( this.interfaceMoreLanguages, this ) );
@@ -121,6 +122,17 @@
this.log( { action: 'ime-enable' } );
},
/**
* Log IME change
* @param {string} inputMethod
*/
changeIME: function ( inputMethod ) {
this.log( {
action: 'ime-change',
inputMethod: inputMethod
} );
},
/**
* Log login link click in display settings.
* @param {jQuery.Deferred} deferred

View File

@@ -262,9 +262,11 @@
imeselector = $input.data( 'imeselector' );
if ( imeselector ) {
imeselector.selectLanguage( $.ime.preferences.getLanguage() );
imeselector.$element.on( 'setim.ime', function ( event, inputMethod ) {
mw.hook( 'mw.uls.ime.change' ).fire( inputMethod );
} );
}
} );
};
$( document ).ready( function () {

View File

@@ -530,6 +530,10 @@
apply: function () {
var inputSettings = this;
mw.hook( 'mw.uls.ime.change' ).fire(
$.ime.preferences.getIM( $.ime.preferences.getLanguage() )
);
// Save the preferences
$.ime.preferences.save( function ( result ) {
// closure for not losing the scope