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, var MWMessageStore,
jsonLoader, jsonLoader,
initialized = false, initialized = false,
currentLang = mw.config.get( 'wgUserLanguage' ); currentLang = mw.config.get( 'wgUserLanguage' ),
logEventQueue = $.Callbacks( 'memory once' );
mw.uls = mw.uls || {}; mw.uls = mw.uls || {};
mw.uls.previousLanguagesCookie = 'uls-previous-languages'; mw.uls.previousLanguagesCookie = 'uls-previous-languages';
@@ -156,24 +157,11 @@
* @since 2013.07 * @since 2013.07
* @see https://meta.wikimedia.org/wiki/Schema:UniversalLanguageSelector * @see https://meta.wikimedia.org/wiki/Schema:UniversalLanguageSelector
*/ */
mw.uls.logEvent = $.noop; mw.uls.logEvent = function ( event ) {
logEventQueue.add( function () {
// If EventLogging integration is enabled, set event defaults and make the mw.eventLog.logEvent( 'UniversalLanguageSelector', event );
// 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 );
};
} ); } );
} };
/** /**
* jquery.i18n message store for MediaWiki * jquery.i18n message store for MediaWiki
@@ -239,6 +227,20 @@
return; 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 - * The 'als' is used in a non-standard way in MediaWiki -
* it may be used to represent the Allemanic language, * it may be used to represent the Allemanic language,