Make the close button of language settings work
* Actually it should go to previous context. but that is a FIXME * Jslint fixes Change-Id: I2e0685adc42331fd86716dfa73be3630208aa893
This commit is contained in:
@@ -17,7 +17,7 @@
|
|||||||
* @licence MIT License
|
* @licence MIT License
|
||||||
*/
|
*/
|
||||||
|
|
||||||
( function( $, mw ) {
|
( function( $, mw, window, undefined ) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var template = '<div class="row"><div class="twelve columns"><h3>Display Settings</h3></div></div>'
|
var template = '<div class="row"><div class="twelve columns"><h3>Display Settings</h3></div></div>'
|
||||||
@@ -112,6 +112,15 @@
|
|||||||
languages.push( previousLanguages[lang] );
|
languages.push( previousLanguages[lang] );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function buttonHandler( button ) {
|
||||||
|
return function () {
|
||||||
|
that.uiLanguage = button.data( "language" ) || that.uiLanguage;
|
||||||
|
$( "div.uls-ui-languages button.button" ).removeClass( "down" );
|
||||||
|
button.addClass( "down" );
|
||||||
|
that.prepareUIFonts();
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
for ( var i = 0; i < 3; i++ ) {
|
for ( var i = 0; i < 3; i++ ) {
|
||||||
var language = languages[i];
|
var language = languages[i];
|
||||||
var $button = $( '<button>' )
|
var $button = $( '<button>' )
|
||||||
@@ -122,12 +131,7 @@
|
|||||||
}
|
}
|
||||||
$button.data( 'language', language );
|
$button.data( 'language', language );
|
||||||
$languages.append( $button );
|
$languages.append( $button );
|
||||||
$button.on ( 'click', function () {
|
$button.on ( 'click', buttonHandler( $button ) );
|
||||||
that.uiLanguage = $( this ).data( "language" ) || that.uiLanguage;
|
|
||||||
$( "div.uls-ui-languages button.button" ).removeClass( "down" );
|
|
||||||
$( this ).addClass( "down" );
|
|
||||||
that.prepareUIFonts();
|
|
||||||
} );
|
|
||||||
}
|
}
|
||||||
this.prepareMoreLanguages();
|
this.prepareMoreLanguages();
|
||||||
},
|
},
|
||||||
@@ -190,7 +194,7 @@
|
|||||||
*/
|
*/
|
||||||
getUILanguage: function () {
|
getUILanguage: function () {
|
||||||
if ( !window.mw ) {
|
if ( !window.mw ) {
|
||||||
return navigator.language || navigator.userLanguage;
|
return window.navigator.language || window.navigator.userLanguage;
|
||||||
}
|
}
|
||||||
return mw.config.get( 'wgUserLanguage' );
|
return mw.config.get( 'wgUserLanguage' );
|
||||||
},
|
},
|
||||||
@@ -277,10 +281,15 @@
|
|||||||
$uiFontSelector = this.$template.find( "select#ui-font-selector" );
|
$uiFontSelector = this.$template.find( "select#ui-font-selector" );
|
||||||
// TODO all these repeated selectors can be placed in object constructor.
|
// TODO all these repeated selectors can be placed in object constructor.
|
||||||
|
|
||||||
this.$template.find( '#uls-displaysettings-apply' ).on( 'click', function () {
|
this.$template.find( 'button#uls-displaysettings-apply' ).on( 'click', function () {
|
||||||
that.apply();
|
that.apply();
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
this.$template.find( 'button.uls-settings-close' ).on( 'click', function () {
|
||||||
|
// FIXME This should actually go to the previous context than just hiding.
|
||||||
|
that.hide();
|
||||||
|
} );
|
||||||
|
|
||||||
this.$template.find( '#webfonts-enable-checkbox' ).on( 'click', function () {
|
this.$template.find( '#webfonts-enable-checkbox' ).on( 'click', function () {
|
||||||
if ( this.checked ) {
|
if ( this.checked ) {
|
||||||
that.webfontPreferences.set( 'webfonts-enabled', true );
|
that.webfontPreferences.set( 'webfonts-enabled', true );
|
||||||
@@ -308,6 +317,14 @@
|
|||||||
} );
|
} );
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hide this window.2
|
||||||
|
*/
|
||||||
|
hide: function () {
|
||||||
|
this.$parent.hide();
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change the language of wiki using setlang URL parameter
|
* Change the language of wiki using setlang URL parameter
|
||||||
* @param {String} language
|
* @param {String} language
|
||||||
@@ -356,4 +373,4 @@
|
|||||||
$.fn.languagesettings.modules = $.extend( $.fn.languagesettings.modules, {
|
$.fn.languagesettings.modules = $.extend( $.fn.languagesettings.modules, {
|
||||||
display: DisplaySettings
|
display: DisplaySettings
|
||||||
} );
|
} );
|
||||||
} ) ( jQuery, mediaWiki );
|
} ) ( jQuery, mediaWiki, window );
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
( function( $ ) {
|
( function( $ ) {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
var closeRow = '<div class="row" id="languagesettings-close">' +
|
var closeRow = '<div class="row">' +
|
||||||
'<span id="languagesettings-close" class="icon-close"></span>' +
|
'<span id="languagesettings-close" class="icon-close"></span>' +
|
||||||
'</div>';
|
'</div>';
|
||||||
var settingsMenu = '<div class="four columns languagesettings-menu">' +
|
var settingsMenu = '<div class="four columns languagesettings-menu">' +
|
||||||
@@ -64,8 +64,7 @@
|
|||||||
var that = this;
|
var that = this;
|
||||||
// Register all event listeners to the ULS language settings here.
|
// Register all event listeners to the ULS language settings here.
|
||||||
that.$element.on( "click", $.proxy( that.show, that ) );
|
that.$element.on( "click", $.proxy( that.show, that ) );
|
||||||
$( '#languagesettings-close' ).on( "click", $.proxy( that.hide, that ) );
|
that.$window.find( 'span#languagesettings-close' ).on( "click", $.proxy( that.hide, that ) );
|
||||||
$( '.uls-settings-close' ).on( "click", $.proxy( that.hide, that ) );
|
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function() {
|
render: function() {
|
||||||
|
|||||||
Reference in New Issue
Block a user