Merge "Log ime-change event"
This commit is contained in:
@@ -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 $( '<ul>' ).addClass( 'ime-list' );
|
||||
return $( '<ul>' ).addClass( 'ime-list' );
|
||||
}
|
||||
|
||||
function imeListTitle() {
|
||||
return $( '<h3>' ).addClass( 'ime-list-title' );
|
||||
return $( '<h3>' ).addClass( 'ime-list-title' );
|
||||
}
|
||||
|
||||
function toggleMenuItem() {
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
['6', '6'],
|
||||
['7', '7'],
|
||||
['8', '8'],
|
||||
['\\)', '੯'],
|
||||
['\\(', '੯'],
|
||||
['9', '9'],
|
||||
['\\),', '੦'],
|
||||
['0', '0'],
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 () {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user