diff options
Diffstat (limited to 'MLEB/UniversalLanguageSelector/resources/js/ext.uls.eventlogger.js')
-rw-r--r-- | MLEB/UniversalLanguageSelector/resources/js/ext.uls.eventlogger.js | 228 |
1 files changed, 0 insertions, 228 deletions
diff --git a/MLEB/UniversalLanguageSelector/resources/js/ext.uls.eventlogger.js b/MLEB/UniversalLanguageSelector/resources/js/ext.uls.eventlogger.js deleted file mode 100644 index a5f4a0be..00000000 --- a/MLEB/UniversalLanguageSelector/resources/js/ext.uls.eventlogger.js +++ /dev/null @@ -1,228 +0,0 @@ -/*! - * ULS Event logger - * - * See https://meta.wikimedia.org/wiki/Schema:UniversalLanguageSelector - * - * @private - * @since 2013.08 - * - * Copyright (C) 2012-2013 Alolita Sharma, Amir Aharoni, Arun Ganesh, Brandon Harris, - * Niklas Laxström, Pau Giner, Santhosh Thottingal, Siebrand Mazeland and other - * contributors. See CREDITS for a list. - * - * UniversalLanguageSelector is dual licensed GPLv2 or later and MIT. You don't - * have to do anything special to choose one license or the other and you don't - * have to notify anyone which license you are using. You are free to use - * UniversalLanguageSelector in commercial projects as long as the copyright - * header is left intact. See files GPL-LICENSE and MIT-LICENSE for details. - * - * @file - * @ingroup Extensions - * @licence GNU General Public Licence 2.0 or later - * @licence MIT License - */ - -( function () { - 'use strict'; - - /** - * 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 - */ - function log( 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 ); - } - - /** - * Log language settings open - * - * @param {string} context Where it was opened from - */ - function ulsSettingsOpen( context ) { - log( { - action: 'settings-open', - context: context - } ); - } - - /** - * Log language revert - * - * @param {jQuery.Deferred} deferred - */ - function ulsLanguageRevert( deferred ) { - log( { action: 'ui-lang-revert' } ); - deferred.resolve(); - } - - /** - * Log IME disabling - * - * @param {string} context Where the setting was changed. - */ - function disableIME( context ) { - log( { action: 'ime-disable', context: context } ); - } - - /** - * Log IME enabling - * - * @param {string} context Where the setting was changed. - */ - function enableIME( context ) { - log( { action: 'ime-enable', context: context } ); - } - - /** - * Log IME change - * - * @param {string} inputMethod - */ - function changeIME( inputMethod ) { - log( { - action: 'ime-change', - inputMethod: inputMethod - } ); - } - - /** - * Log login link click in display settings. - * - * @param {jQuery.Deferred} deferred - */ - function loginClick( deferred ) { - log( { action: 'login-click' } ); - deferred.resolve(); - } - - /** - * Log when "More languages" item in IME menu is clicked. - */ - function imeMoreLanguages() { - log( { - action: 'more-languages-access', - context: 'ime' - } ); - } - - /** - * Log interface language change - * - * @param {string} language language code - * @param {jQuery.Deferred} deferred - */ - function interfaceLanguageChange( language, deferred ) { - var logParams = { - action: 'language-change', - context: 'interface', - interfaceLanguage: language - }; - - log( logParams ); - deferred.resolve(); - } - - /** - * More languages in display settings is clicked - */ - function interfaceMoreLanguages() { - log( { - action: 'more-languages-access', - context: 'interface' - } ); - } - - /** - * Log font preference changes - * - * @param {string} context Either 'interface' or 'content' - * @param {string} language - * @param {string} font - */ - function fontChange( context, language, font ) { - var logParams = { - action: 'font-change', - context: context - }; - - if ( context === 'interface' ) { - logParams.interfaceFont = font; - // Override in case the user changed the ui language but hasn't applied it yet - logParams.interfaceLanguage = language; - } else { - logParams.contentFont = font; - } - - log( logParams ); - } - - /** - * Log webfonts disabling - * - * @param {string} context Where the setting was changed. - */ - function disableWebfonts( context ) { - log( { action: 'webfonts-disable', context: context } ); - } - - /** - * Log webfonts enabling - * - * @param {string} context Where the setting was changed. - */ - function enableWebfonts( context ) { - log( { action: 'webfonts-enable', context: context } ); - } - - /** - * Log search strings which produce no search results. - * - * @param {jQuery.event} event The original event - * @param {Object} data Information about the failed search - */ - function noSearchResults( event, data ) { - log( { - action: 'no-search-results', - context: data.query, - ulsPurpose: data.ulsPurpose, - title: mw.config.get( 'wgPageName' ) - } ); - } - - /** - * Start listening for event logging - */ - function listen() { - // Register handlers for event logging triggers - mw.hook( 'mw.uls.settings.open' ).add( ulsSettingsOpen ); - mw.hook( 'mw.uls.language.revert' ).add( ulsLanguageRevert ); - mw.hook( 'mw.uls.ime.enable' ).add( enableIME ); - mw.hook( 'mw.uls.ime.disable' ).add( disableIME ); - mw.hook( 'mw.uls.ime.change' ).add( changeIME ); - mw.hook( 'mw.uls.login.click' ).add( loginClick ); - mw.hook( 'mw.uls.ime.morelanguages' ).add( imeMoreLanguages ); - mw.hook( 'mw.uls.interface.morelanguages' ).add( interfaceMoreLanguages ); - mw.hook( 'mw.uls.interface.language.change' ).add( interfaceLanguageChange ); - mw.hook( 'mw.uls.font.change' ).add( fontChange ); - mw.hook( 'mw.uls.webfonts.enable' ).add( enableWebfonts ); - mw.hook( 'mw.uls.webfonts.disable' ).add( disableWebfonts ); - - $( document.body ).on( - 'noresults.uls', - '.uls-menu .uls-languagefilter', - noSearchResults - ); - } - - listen(); -}() ); |