Avoid loading of jquery.i18n and messages until trigger clicked
Use RL for trigger tooltip messages to avoid using jquery.i18n just to display the triggers. Reordered dependencies so that messages are loaded for the setting panels and ime menu. Change-Id: Ic9518f7b63699542deb02a413e03c28344c99fa4
This commit is contained in:
committed by
Nikerabbit
parent
9df061c692
commit
15b3c31029
@@ -17,7 +17,8 @@ $wgResourceModules['ext.uls.languagenames'] = array(
|
||||
);
|
||||
|
||||
$wgResourceModules['ext.uls.messages'] = array(
|
||||
'class' => 'ResourceLoaderULSJsonMessageModule'
|
||||
'class' => 'ResourceLoaderULSJsonMessageModule',
|
||||
'dependencies' => 'ext.uls.i18n',
|
||||
);
|
||||
|
||||
$wgResourceModules['ext.uls.buttons'] = array(
|
||||
@@ -28,11 +29,10 @@ $wgResourceModules['ext.uls.displaysettings'] = array(
|
||||
'scripts' => 'resources/js/ext.uls.displaysettings.js',
|
||||
'styles' => 'resources/css/ext.uls.displaysettings.css',
|
||||
'dependencies' => array(
|
||||
'ext.uls.buttons',
|
||||
// Common dependencies come from languagesettings
|
||||
'ext.uls.languagesettings',
|
||||
'ext.uls.webfonts',
|
||||
'ext.uls.mediawiki',
|
||||
'jquery.i18n',
|
||||
'ext.uls.webfonts',
|
||||
'mediawiki.api.parse',
|
||||
),
|
||||
) + $resourcePaths;
|
||||
@@ -47,6 +47,7 @@ $wgResourceModules['ext.uls.ime'] = array(
|
||||
'ext.uls.init',
|
||||
'ext.uls.preferences',
|
||||
'ext.uls.mediawiki',
|
||||
'ext.uls.messages',
|
||||
'jquery.ime',
|
||||
),
|
||||
'messages' => array(
|
||||
@@ -72,7 +73,6 @@ $wgResourceModules['ext.uls.init'] = array(
|
||||
'jquery.client',
|
||||
'jquery.json',
|
||||
'jquery.cookie',
|
||||
'ext.uls.messages',
|
||||
),
|
||||
'position' => 'top',
|
||||
) + $resourcePaths;
|
||||
@@ -94,12 +94,11 @@ $wgResourceModules['ext.uls.inputsettings'] = array(
|
||||
'scripts' => 'resources/js/ext.uls.inputsettings.js',
|
||||
'styles' => 'resources/css/ext.uls.inputsettings.css',
|
||||
'dependencies' => array(
|
||||
'ext.uls.buttons',
|
||||
'ext.uls.languagesettings',
|
||||
'ext.uls.ime',
|
||||
// Common dependencies come from languagesettings
|
||||
'ext.uls.languagesettings',
|
||||
'ext.uls.mediawiki',
|
||||
'jquery.ime',
|
||||
'jquery.i18n',
|
||||
),
|
||||
) + $resourcePaths;
|
||||
|
||||
@@ -116,6 +115,9 @@ $wgResourceModules['ext.uls.interface'] = array(
|
||||
),
|
||||
'messages' => array(
|
||||
'uls-plang-title-languages',
|
||||
'ext-uls-select-language-settings-icon-tooltip',
|
||||
'ext-uls-undo-language-tooltip-text',
|
||||
'ext-uls-language-settings-preferences-link',
|
||||
),
|
||||
'position' => 'top',
|
||||
) + $resourcePaths;
|
||||
@@ -125,6 +127,7 @@ $wgResourceModules['ext.uls.languagesettings'] = array(
|
||||
'styles' => 'resources/css/ext.uls.languagesettings.css',
|
||||
'dependencies' => array(
|
||||
'ext.uls.buttons',
|
||||
'ext.uls.messages',
|
||||
'ext.uls.preferences',
|
||||
// The grid styles are used here,
|
||||
// but ULS itself is lazy-loaded
|
||||
@@ -203,7 +206,6 @@ $wgResourceModules['ext.uls.mediawiki'] = array(
|
||||
'scripts' => 'resources/js/ext.uls.mediawiki.js',
|
||||
'dependencies' => array(
|
||||
'jquery.uls',
|
||||
'jquery.i18n',
|
||||
'mediawiki.util',
|
||||
'ext.uls.init',
|
||||
'ext.uls.languagenames',
|
||||
|
||||
@@ -34,6 +34,9 @@ $messages['en'] = array(
|
||||
'uls-plang-title-languages' => 'Languages',
|
||||
'uls-ime-helppage' => 'https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:UniversalLanguageSelector/Input_methods/$1',
|
||||
'uls-preference' => 'Enable the [https://www.mediawiki.org/wiki/Special:MyLanguage/Universal_Language_Selector Universal Language Selector]',
|
||||
'ext-uls-select-language-settings-icon-tooltip' => 'Language settings',
|
||||
'ext-uls-undo-language-tooltip-text' => 'Language changed from $1',
|
||||
'ext-uls-language-settings-preferences-link' => 'More language settings',
|
||||
);
|
||||
|
||||
/** Message documentation (Message documentation)
|
||||
|
||||
@@ -11,8 +11,6 @@
|
||||
"ext-uls-display-settings-fonts-tab": "Fonts",
|
||||
"ext-uls-display-settings-title-short": "Display",
|
||||
"ext-uls-display-settings-desc": "Set language used for menus and fonts.",
|
||||
"ext-uls-select-language-settings-icon-tooltip": "Language settings",
|
||||
"ext-uls-undo-language-tooltip-text": "Language changed from $1",
|
||||
"ext-uls-language-settings-title": "Language settings",
|
||||
"ext-uls-language-settings-apply": "Apply settings",
|
||||
"ext-uls-language-settings-cancel": "Cancel",
|
||||
@@ -47,6 +45,5 @@
|
||||
"ext-uls-input-disable-notification-undo": "Undo",
|
||||
"ext-uls-input-disable-notification-info-personal": "You can enable the input tools at any time from the language settings.",
|
||||
"ext-uls-input-disable-notification-info-interlanguage": "You can enable the input tools at any time from the language settings next to the language list.",
|
||||
"ext-uls-language-settings-applying": "Applying...",
|
||||
"ext-uls-language-settings-preferences-link": "More language settings"
|
||||
"ext-uls-language-settings-applying": "Applying..."
|
||||
}
|
||||
|
||||
@@ -40,11 +40,6 @@
|
||||
}() );
|
||||
}
|
||||
|
||||
|
||||
var jsonLoader = null,
|
||||
initialized = false,
|
||||
currentLang = mw.config.get( 'wgUserLanguage' );
|
||||
|
||||
mw.uls = mw.uls || {};
|
||||
mw.uls.previousLanguagesCookie = 'uls-previous-languages';
|
||||
mw.uls.previousLanguageAutonymCookie = 'uls-previous-language-autonym';
|
||||
@@ -230,33 +225,19 @@
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize ULS front-end and its i18n.
|
||||
* Initialize ULS front-end if browser is supported.
|
||||
*
|
||||
* @param {Function} callback callback function to be called after initialization.
|
||||
*/
|
||||
mw.uls.init = function ( callback ) {
|
||||
|
||||
callback = callback || $.noop;
|
||||
|
||||
if ( initialized ) {
|
||||
callback.call( this );
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !isBrowserSupported() ) {
|
||||
$( '#pt-uls' ).hide();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !jsonLoader ) {
|
||||
jsonLoader = mw.uls.loadLocalization( currentLang );
|
||||
} else {
|
||||
jsonLoader.done( function () {
|
||||
initialized = true;
|
||||
} );
|
||||
jsonLoader.done( callback );
|
||||
if ( callback ) {
|
||||
callback.call( this );
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -231,7 +231,7 @@
|
||||
// Get the html of the link by wrapping it in div first
|
||||
link = $( '<div>' ).html( link ).html();
|
||||
|
||||
return $.i18n( 'ext-uls-undo-language-tooltip-text', link );
|
||||
return mw.msg( 'ext-uls-undo-language-tooltip-text', link );
|
||||
}
|
||||
} );
|
||||
|
||||
@@ -321,9 +321,7 @@
|
||||
// The interlanguage links section
|
||||
$pLang = $( '#p-lang' );
|
||||
// Add an element near the interlanguage links header
|
||||
$ulsTrigger = $( '<span>' )
|
||||
.addClass( 'uls-settings-trigger' )
|
||||
.attr( 'title', $.i18n( 'ext-uls-language-settings-title' ) );
|
||||
$ulsTrigger = $( '<span>' ).addClass( 'uls-settings-trigger' );
|
||||
// Append ULS cog to languages section, but make sure it is visible.
|
||||
$pLang.show().prepend( $ulsTrigger );
|
||||
// Take care of any other elements with this class.
|
||||
@@ -344,7 +342,7 @@
|
||||
}
|
||||
|
||||
$ulsTrigger.attr( {
|
||||
title: $.i18n( 'ext-uls-select-language-settings-icon-tooltip' )
|
||||
title: mw.msg( 'ext-uls-select-language-settings-icon-tooltip' )
|
||||
} );
|
||||
|
||||
$ulsTrigger.on( 'click', function ( e, eventParams ) {
|
||||
@@ -461,7 +459,7 @@
|
||||
|
||||
// Bind language settings to preferences page link
|
||||
$( '#uls-preferences-link' )
|
||||
.text( $.i18n( 'ext-uls-language-settings-preferences-link' ) )
|
||||
.text( mw.msg( 'ext-uls-language-settings-preferences-link' ) )
|
||||
.click( function () {
|
||||
$ulsTrigger.trigger( 'click', {
|
||||
source: 'preferences'
|
||||
|
||||
Reference in New Issue
Block a user