Merge "Fix the webfonts preferences"
This commit is contained in:
@@ -293,7 +293,11 @@
|
|||||||
// Get the language code from the right property -
|
// Get the language code from the right property -
|
||||||
// uiLanguage or contentLanguage
|
// uiLanguage or contentLanguage
|
||||||
language = this[ target + 'Language' ];
|
language = this[ target + 'Language' ];
|
||||||
|
if ( this.isWebFontsEnabled() ) {
|
||||||
fonts = this.$webfonts.list( language );
|
fonts = this.$webfonts.list( language );
|
||||||
|
} else {
|
||||||
|
fonts = [];
|
||||||
|
}
|
||||||
// Possible classes:
|
// Possible classes:
|
||||||
// uls-ui-fonts
|
// uls-ui-fonts
|
||||||
// uls-content-fonts
|
// uls-content-fonts
|
||||||
@@ -425,11 +429,19 @@
|
|||||||
|
|
||||||
if ( this.checked ) {
|
if ( this.checked ) {
|
||||||
mw.webfonts.preferences.enable();
|
mw.webfonts.preferences.enable();
|
||||||
$contentFontSelector.prop( 'disabled', false );
|
mw.webfonts.setup();
|
||||||
|
that.$webfonts = $( 'body' ).data( 'webfonts' );
|
||||||
|
$contentFontSelector.removeAttr( 'disabled' );
|
||||||
$uiFontSelector.prop( 'disabled', false );
|
$uiFontSelector.prop( 'disabled', false );
|
||||||
|
displaySettings.prepareContentFonts();
|
||||||
|
displaySettings.prepareUIFonts();
|
||||||
|
displaySettings.i18n();
|
||||||
displaySettings.$webfonts.apply( $uiFontSelector.find( 'option:selected' ) );
|
displaySettings.$webfonts.apply( $uiFontSelector.find( 'option:selected' ) );
|
||||||
|
displaySettings.$webfonts.refresh();
|
||||||
} else {
|
} else {
|
||||||
mw.webfonts.preferences.disable();
|
mw.webfonts.preferences.disable();
|
||||||
|
mw.webfonts.preferences.setFont( that.uiLanguage, 'system' );
|
||||||
|
that.$webfonts.refresh();
|
||||||
$contentFontSelector.prop( 'disabled', true );
|
$contentFontSelector.prop( 'disabled', true );
|
||||||
$uiFontSelector.prop( 'disabled', true );
|
$uiFontSelector.prop( 'disabled', true );
|
||||||
displaySettings.$webfonts.reset();
|
displaySettings.$webfonts.reset();
|
||||||
|
|||||||
@@ -18,23 +18,10 @@
|
|||||||
*/
|
*/
|
||||||
( function ( $, mw, document, undefined ) {
|
( function ( $, mw, document, undefined ) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
$( document ).ready( function () {
|
|
||||||
var mediawikiFontRepository, ulsPreferences;
|
var mediawikiFontRepository, ulsPreferences;
|
||||||
|
|
||||||
mediawikiFontRepository = $.webfonts.repository;
|
|
||||||
ulsPreferences = mw.uls.preferences();
|
|
||||||
mediawikiFontRepository.base = mw.config.get( 'wgExtensionAssetsPath' )
|
|
||||||
+ '/UniversalLanguageSelector/data/fontrepo/fonts/';
|
|
||||||
|
|
||||||
// MediaWiki specific overrides for jquery.webfonts
|
|
||||||
$.extend( $.fn.webfonts.defaults, {
|
|
||||||
repository: mediawikiFontRepository,
|
|
||||||
fontStack: new Array( $( 'body' ).css( 'font-family' ) )
|
|
||||||
} );
|
|
||||||
|
|
||||||
mw.webfonts = mw.webfonts || {};
|
mw.webfonts = mw.webfonts || {};
|
||||||
|
ulsPreferences = mw.uls.preferences();
|
||||||
mw.webfonts.preferences = {
|
mw.webfonts.preferences = {
|
||||||
registry: {
|
registry: {
|
||||||
'fonts': {},
|
'fonts': {},
|
||||||
@@ -72,26 +59,23 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
mw.webfonts.preferences.load();
|
mediawikiFontRepository = $.webfonts.repository;
|
||||||
|
mediawikiFontRepository.base = mw.config.get( 'wgExtensionAssetsPath' )
|
||||||
|
+ '/UniversalLanguageSelector/data/fontrepo/fonts/';
|
||||||
|
|
||||||
|
mw.webfonts.setup = function () {
|
||||||
// Initialize webfonts
|
// Initialize webfonts
|
||||||
$( 'body' ).webfonts( {
|
$( 'body' ).webfonts( {
|
||||||
fontSelector: function ( repository, language ) {
|
fontSelector: function ( repository, language ) {
|
||||||
var font, enabled;
|
var font;
|
||||||
|
|
||||||
font = mw.webfonts.preferences.getFont( language );
|
font = mw.webfonts.preferences.getFont( language );
|
||||||
enabled = mw.webfonts.preferences.isEnabled();
|
|
||||||
// If the user didn't set anything, the preference will be undefined.
|
|
||||||
// The default for now is to enable webfonts if the user didn't select anything.
|
|
||||||
if ( enabled === undefined ) {
|
|
||||||
enabled = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !font ) {
|
if ( !font ) {
|
||||||
font = repository.defaultFont( language );
|
font = repository.defaultFont( language );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( font === 'system' || !enabled ) {
|
if ( font === 'system' ) {
|
||||||
font = null;
|
font = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -107,5 +91,30 @@
|
|||||||
return $.fn.webfonts.defaults.exclude;
|
return $.fn.webfonts.defaults.exclude;
|
||||||
}() )
|
}() )
|
||||||
} );
|
} );
|
||||||
|
};
|
||||||
|
|
||||||
|
$( document ).ready( function () {
|
||||||
|
var webfontsEnabled;
|
||||||
|
|
||||||
|
// MediaWiki specific overrides for jquery.webfonts
|
||||||
|
$.extend( $.fn.webfonts.defaults, {
|
||||||
|
repository: mediawikiFontRepository,
|
||||||
|
fontStack: new Array( $( 'body' ).css( 'font-family' ) )
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
mw.webfonts.preferences.load();
|
||||||
|
|
||||||
|
webfontsEnabled = mw.webfonts.preferences.isEnabled();
|
||||||
|
|
||||||
|
// If the user didn't set anything, the preference will be undefined.
|
||||||
|
// The default for now is to enable webfonts if the user didn't select anything.
|
||||||
|
if ( webfontsEnabled === undefined ) {
|
||||||
|
webfontsEnabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( webfontsEnabled ) {
|
||||||
|
mw.webfonts.setup();
|
||||||
|
}
|
||||||
|
} );
|
||||||
|
|
||||||
}( jQuery, mediaWiki, document ) );
|
}( jQuery, mediaWiki, document ) );
|
||||||
|
|||||||
Reference in New Issue
Block a user