Cleanup ext.uls.languagesettings.js
Change-Id: Ied12c6bf2022c0c291d7e5edc213340e6a159f77
This commit is contained in:
@@ -62,26 +62,24 @@
|
|||||||
this.hide();
|
this.hide();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Register all event listeners to the ULS language settings here.
|
||||||
listen: function () {
|
listen: function () {
|
||||||
var langSettings = this;
|
this.$element.on( 'click', $.proxy( this.click, this ) );
|
||||||
// Register all event listeners to the ULS language settings here.
|
this.$window.find( '#languagesettings-close' )
|
||||||
langSettings.$element.on( 'click', $.proxy( langSettings.click, langSettings ) );
|
.on( 'click', $.proxy( this.close, this ) );
|
||||||
langSettings.$window.find( '#languagesettings-close' )
|
|
||||||
.on( 'click', $.proxy( langSettings.close, langSettings ) );
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function () {
|
render: function () {
|
||||||
var modules, defaultModule, moduleName;
|
var moduleName,
|
||||||
|
defaultModule = this.options.defaultModule;
|
||||||
|
|
||||||
// Get the name of all registered modules and list them in left side menu.
|
// Get the name of all registered modules and list them in left side menu.
|
||||||
modules = $.fn.languagesettings.modules;
|
for ( moduleName in $.fn.languagesettings.modules ) {
|
||||||
defaultModule = this.options.defaultModule;
|
if ( $.fn.languagesettings.modules.hasOwnProperty( moduleName ) ) {
|
||||||
for ( moduleName in modules ) {
|
|
||||||
if ( modules.hasOwnProperty( moduleName ) ) {
|
|
||||||
if ( !defaultModule ) {
|
if ( !defaultModule ) {
|
||||||
defaultModule = moduleName;
|
defaultModule = moduleName;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call render function on the current setting module.
|
// Call render function on the current setting module.
|
||||||
this.renderModule( moduleName, defaultModule === moduleName );
|
this.renderModule( moduleName, defaultModule === moduleName );
|
||||||
}
|
}
|
||||||
@@ -94,11 +92,11 @@
|
|||||||
* @param active boolean Make this module active and show by default
|
* @param active boolean Make this module active and show by default
|
||||||
*/
|
*/
|
||||||
renderModule: function ( moduleName, active ) {
|
renderModule: function ( moduleName, active ) {
|
||||||
var $settingsMenuItems, module, $settingsText, $settingsTitle, $settingsLink,
|
var $settingsTitle, $settingsText, $settingsLink,
|
||||||
languageSettings = this;
|
languageSettings = this,
|
||||||
|
module = new $.fn.languagesettings.modules[moduleName]( languageSettings ),
|
||||||
|
$settingsMenuItems = languageSettings.$window.find( '.settings-menu-items' );
|
||||||
|
|
||||||
$settingsMenuItems = languageSettings.$window.find( '.settings-menu-items' );
|
|
||||||
module = new $.fn.languagesettings.modules[moduleName]( languageSettings );
|
|
||||||
$settingsTitle = $( '<div>' )
|
$settingsTitle = $( '<div>' )
|
||||||
.addClass( 'settings-title' )
|
.addClass( 'settings-title' )
|
||||||
.text( module.name );
|
.text( module.name );
|
||||||
@@ -109,19 +107,21 @@
|
|||||||
.addClass( moduleName + '-settings-block menu-section' )
|
.addClass( moduleName + '-settings-block menu-section' )
|
||||||
.prop( 'id', moduleName + '-settings-block' )
|
.prop( 'id', moduleName + '-settings-block' )
|
||||||
.data( 'module', module )
|
.data( 'module', module )
|
||||||
.append( $settingsTitle )
|
.append(
|
||||||
.append( $settingsText );
|
$settingsTitle,
|
||||||
|
$settingsText
|
||||||
|
);
|
||||||
|
|
||||||
$settingsMenuItems.append( $settingsLink );
|
$settingsMenuItems.append( $settingsLink );
|
||||||
|
|
||||||
$settingsLink.on( 'click', function () {
|
$settingsLink.on( 'click', function () {
|
||||||
var module = $( this ).data( 'module' );
|
var $this = $( this );
|
||||||
|
|
||||||
module.render();
|
$this.data( 'module' ).render();
|
||||||
// re-position the window and scroll in to view if required.
|
// re-position the window and scroll in to view if required.
|
||||||
languageSettings.position();
|
languageSettings.position();
|
||||||
$settingsMenuItems.find( '.menu-section' ).removeClass( 'active' );
|
$settingsMenuItems.find( '.menu-section' ).removeClass( 'active' );
|
||||||
$( this ).addClass( 'active' );
|
$this.addClass( 'active' );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
if ( active ) {
|
if ( active ) {
|
||||||
@@ -150,9 +150,11 @@
|
|||||||
this.render();
|
this.render();
|
||||||
this.initialized = true;
|
this.initialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.$window.i18n();
|
this.$window.i18n();
|
||||||
this.shown = true;
|
this.shown = true;
|
||||||
this.$window.show();
|
this.$window.show();
|
||||||
|
|
||||||
// Every time we show this window, make sure the current
|
// Every time we show this window, make sure the current
|
||||||
// settings panels is upto date. So just click on active menu item.
|
// settings panels is upto date. So just click on active menu item.
|
||||||
this.$window.find( '.input-settings-block.active' ).click();
|
this.$window.find( '.input-settings-block.active' ).click();
|
||||||
@@ -189,6 +191,7 @@
|
|||||||
*/
|
*/
|
||||||
close: function () {
|
close: function () {
|
||||||
this.hide();
|
this.hide();
|
||||||
|
|
||||||
if ( this.options.onClose ) {
|
if ( this.options.onClose ) {
|
||||||
this.options.onClose();
|
this.options.onClose();
|
||||||
}
|
}
|
||||||
@@ -212,6 +215,7 @@
|
|||||||
if ( !data ) {
|
if ( !data ) {
|
||||||
$this.data( 'languagesettings', ( data = new LanguageSettings( this, options ) ) );
|
$this.data( 'languagesettings', ( data = new LanguageSettings( this, options ) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( typeof option === 'string' ) {
|
if ( typeof option === 'string' ) {
|
||||||
data[option]();
|
data[option]();
|
||||||
}
|
}
|
||||||
@@ -229,5 +233,4 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
$.fn.languagesettings.Constructor = LanguageSettings;
|
$.fn.languagesettings.Constructor = LanguageSettings;
|
||||||
|
|
||||||
}( jQuery ) );
|
}( jQuery ) );
|
||||||
|
|||||||
Reference in New Issue
Block a user