From ea671b1f248e160cf63bdc947ace5d33e8d4983d Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Sat, 13 Apr 2019 18:26:07 +0100 Subject: [PATCH] ext.uls.eventlogger: Use mw.track() and remove EventLogging dep Given the code no longer uses any EventLogging methods directly, but rather mw.track(), this means it also doesn't need to declare any dependencies, including for older MediaWiki versions this will work as-is. Change-Id: I8cdcef54321d0887c509fc3683acf132c113e628 --- includes/UniversalLanguageSelectorHooks.php | 5 ----- resources/js/ext.uls.eventlogger.js | 22 ++++++++++----------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/includes/UniversalLanguageSelectorHooks.php b/includes/UniversalLanguageSelectorHooks.php index 3be6c2d7..66e46fff 100644 --- a/includes/UniversalLanguageSelectorHooks.php +++ b/includes/UniversalLanguageSelectorHooks.php @@ -514,15 +514,10 @@ class UniversalLanguageSelectorHooks { 'scripts' => 'js/ext.uls.eventlogger.js', 'dependencies' => [ 'mediawiki.user', - 'ext.eventLogging', ], 'localBasePath' => __DIR__ . '/../resources', 'remoteExtPath' => 'UniversalLanguageSelector/resources', ]; - if ( version_compare( $wgVersion, '1.33', '<' ) ) { - // Support: EventLogging REL1_32 and earlier (T209629) - $modules['ext.uls.eventlogger']['dependencies'][] = 'schema.UniversalLanguageSelector'; - } } $resourceLoader->register( $modules ); diff --git a/resources/js/ext.uls.eventlogger.js b/resources/js/ext.uls.eventlogger.js index 3466d121..02cfa88e 100644 --- a/resources/js/ext.uls.eventlogger.js +++ b/resources/js/ext.uls.eventlogger.js @@ -25,22 +25,22 @@ ( function () { 'use strict'; - var eventDefault = { - version: 1, - token: mw.user.id(), - contentLanguage: mw.config.get( 'wgContentLanguage' ), - interfaceLanguage: mw.config.get( 'wgUserLanguage' ) - }; - /** - * Local wrapper for 'mw.eventLog.logEvent' + * Try to emit an EventLogging event with schema 'UniversalLanguageSelector'. + * + * If EventLogging is not installed, this simply does nothing. * * @param {Object} event Event action and optional fields - * @return {jQuery.Promise} Promise object for the logging call */ function log( event ) { - event = $.extend( {}, eventDefault, event ); - return mw.eventLog.logEvent( 'UniversalLanguageSelector', event ); + event = $.extend( { + version: 1, + token: mw.user.id(), + contentLanguage: mw.config.get( 'wgContentLanguage' ), + interfaceLanguage: mw.config.get( 'wgUserLanguage' ) + }, event ); + + mw.track( 'event.UniversalLanguageSelector', event ); } /**