Merge "Use $.Callbacks to queue events until EL has loaded"
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user