Merge "Use $.Callbacks to queue events until EL has loaded"

This commit is contained in:
jenkins-bot
2013-07-11 12:41:29 +00:00
committed by Gerrit Code Review

View File

@@ -34,7 +34,8 @@
var MWMessageStore,
jsonLoader,
initialized = false,
currentLang = mw.config.get( 'wgUserLanguage' );
currentLang = mw.config.get( 'wgUserLanguage' ),
logEventQueue = $.Callbacks( 'memory once' );
mw.uls = mw.uls || {};
mw.uls.previousLanguagesCookie = 'uls-previous-languages';
@@ -156,24 +157,11 @@
* @since 2013.07
* @see https://meta.wikimedia.org/wiki/Schema:UniversalLanguageSelector
*/
mw.uls.logEvent = $.noop;
// If EventLogging integration is enabled, set event defaults and make the
// the function call event logging with correct schema.
if ( mw.config.get( 'wgULSEventLogging' ) ) {
mw.loader.using( 'schema.UniversalLanguageSelector', function () {
mw.eventLog.setDefaults( 'UniversalLanguageSelector', {
version: 1,
token: mw.user.id(),
contentLanguage: mw.config.get( 'wgContentLanguage' ),
interfaceLanguage: currentLang
} );
mw.uls.logEvent = function ( event ) {
mw.eventLog.logEvent( 'UniversalLanguageSelector', event );
};
mw.uls.logEvent = function ( event ) {
logEventQueue.add( function () {
mw.eventLog.logEvent( 'UniversalLanguageSelector', event );
} );
}
};
/**
* jquery.i18n message store for MediaWiki
@@ -239,6 +227,20 @@
return;
}
// If EventLogging integration is enabled, set event defaults and make the
// the function call event logging with correct schema.
if ( mw.config.get( 'wgULSEventLogging' ) ) {
mw.loader.using( 'schema.UniversalLanguageSelector', function () {
mw.eventLog.setDefaults( 'UniversalLanguageSelector', {
version: 1,
token: mw.user.id(),
contentLanguage: mw.config.get( 'wgContentLanguage' ),
interfaceLanguage: currentLang
} );
logEventQueue.fire();
} );
}
/*
* The 'als' is used in a non-standard way in MediaWiki -
* it may be used to represent the Allemanic language,