More jshint fixes

Change-Id: I132133b183be28165067f2c023304c00a4cb8f76
This commit is contained in:
Santhosh Thottingal
2012-10-16 17:10:08 +05:30
parent 400f401d4e
commit b8b6cc7be7
2 changed files with 51 additions and 43 deletions

View File

@@ -18,28 +18,30 @@
*/
( function ( $ ) {
"use strict";
'use strict';
var closeRow = '<div class="row">' +
var closeRow, settingsMenu, settingsPanel, windowTemplate, panelsRow;
closeRow = '<div class="row">' +
'<span id="languagesettings-close" class="icon-close"></span>' +
'</div>';
var settingsMenu = '<div class="four columns languagesettings-menu">' +
settingsMenu = '<div class="four columns languagesettings-menu">' +
'<h1 data-i18n="ext-uls-language-settings-title"></h1>' +
'<div class="settings-menu-items">' +
'</div>' +
'</div>';
var settingsPanel = '<div id="languagesettings-settings-panel" class="eight columns">' +
settingsPanel = '<div id="languagesettings-settings-panel" class="eight columns">' +
'</div>';
var panelsRow = '<div class="row" id="languagesettings-panels">' +
panelsRow = '<div class="row" id="languagesettings-panels">' +
settingsMenu +
settingsPanel +
'</div>';
var windowTemplate = '<div style="display: block;" id="language-settings-dialog" class="uls-menu">'
windowTemplate = '<div style="display: block;" id="language-settings-dialog" class="uls-menu">'
+ closeRow
+ panelsRow
+ '</div>';
var LanguageSettings = function ( element, options ) {
function LanguageSettings( element, options ) {
this.$element = $( element );
this.options = $.extend( {}, $.fn.languagesettings.defaults, options );
this.$window = $( this.options.template );
@@ -47,32 +49,34 @@
this.initialized = false;
this.left = this.options.left;
this.top = this.options.top;
this.$settingsPanel = this.$window.find( "#languagesettings-settings-panel" );
this.$settingsPanel = this.$window.find( '#languagesettings-settings-panel' );
this.init();
this.listen();
};
}
LanguageSettings.prototype = {
constructor: LanguageSettings,
init: function () {
$( "body" ).append( this.$window );
$( 'body' ).append( this.$window );
this.hide();
},
listen: function () {
var that = this;
// 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 ) );
that.$window.find( '#languagesettings-close' )
.on( "click", $.proxy( that.hide, that ) );
.on( 'click', $.proxy( that.hide, that ) );
},
render: function () {
var modules, defaultModule, moduleName;
// Get the name of all registered modules and list them in left side menu.
var modules = $.fn.languagesettings.modules;
var defaultModule = this.options.defaultModule;
for ( var moduleName in modules ) {
modules = $.fn.languagesettings.modules;
defaultModule = this.options.defaultModule;
for ( moduleName in modules ) {
if ( modules.hasOwnProperty( moduleName ) ) {
if ( !defaultModule ) {
defaultModule = moduleName;
@@ -89,25 +93,27 @@
* @param active boolean Make this module active and show by default
*/
renderModule: function ( moduleName, active ) {
var $settingsMenuItems = this.$window.find( ".settings-menu-items" );
var module = new $.fn.languagesettings.modules[moduleName]( this );
var $settingsTitle = $( "<div>" )
.addClass( "settings-title" )
var $settingsMenuItems, module, $settingsText, $settingsTitle, $settingsLink;
$settingsMenuItems = this.$window.find( '.settings-menu-items' );
module = new $.fn.languagesettings.modules[moduleName]( this );
$settingsTitle = $( '<div>' )
.addClass( 'settings-title' )
.text( module.name );
var $settingsText = $( "<span>" )
.addClass( "settings-text" )
$settingsText = $( '<span>' )
.addClass( 'settings-text' )
.text( module.description );
var $settingsLink = $( "<div>" )
.addClass( moduleName + "-settings-block menu-section" )
.prop( "id", moduleName + "-settings-block" )
.data( "module", module )
$settingsLink = $( '<div>' )
.addClass( moduleName + '-settings-block menu-section' )
.prop( 'id', moduleName + '-settings-block' )
.data( 'module', module )
.append( $settingsTitle )
.append( $settingsText );
$settingsMenuItems.append( $settingsLink );
$settingsLink.on( "click", function () {
var module = $( this ).data( "module" );
$settingsLink.on( 'click', function () {
var module = $( this ).data( 'module' );
module.render();
$( this ).addClass( 'active' );
} );
@@ -120,13 +126,15 @@
show: function () {
if ( !this.initialized ) {
var top, pos, left;
this.render();
this.initialized = true;
var pos = $.extend( {}, this.$element.offset(), {
pos = $.extend( {}, this.$element.offset(), {
height: this.$element[0].offsetHeight
} );
var top = this.top || pos.top + pos.height;
var left = this.left || '25%';
top = this.top || pos.top + pos.height;
left = this.left || '25%';
// FIXME this is not exactly correct. position may not
// be relative to the trigger.
this.$window.css( {
@@ -161,7 +169,7 @@
}
},
click: function ( e ) {
click: function () {
if ( !this.shown ) {
this.show();
}
@@ -171,13 +179,13 @@
$.fn.languagesettings = function ( option ) {
return this.each( function () {
var $this = $( this ),
data = $this.data( "languagesettings" ),
options = typeof option === "object" && option;
data = $this.data( 'languagesettings' ),
options = typeof option === 'object' && option;
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]();
}
} );

View File

@@ -19,7 +19,7 @@
*/
( function ( $, mw, undefined ) {
"use strict";
'use strict';
var ULSPreferences = function ( group ) {
this.preferenceName = 'uls-preferences';
@@ -73,7 +73,7 @@
* @param callback
*/
save: function ( callback ) {
var that = this;
var that = this, api;
callback = callback || $.noop();
if ( this.isAnon ) {
// Anonymous user- Save preferences in local storage
@@ -81,7 +81,7 @@
callback.call( this, true );
} else {
// Logged in user. Use MW apis to change preferences
var api = new mw.Api();
api = new mw.Api();
api.post( {
action: 'tokens',
type: 'options'
@@ -93,12 +93,12 @@
optionname: that.preferenceName,
optionvalue: $.toJSON( that.preferences ),
token: token
} ).done( function ( result ) {
} ).done( function () {
callback.call( this, true );
} ).fail( function () {
callback.call( this, false );
} );
} ).fail( function ( xhr, textStatus, exception ) {
} ).fail( function () {
callback.call( this, false );
} );
}
@@ -107,12 +107,12 @@
mw.uls = mw.uls || {};
mw.uls.preferences = function ( group ) {
var data = $( 'body' ).data( "preferences" );
var data = $( 'body' ).data( 'preferences' );
if ( !data ) {
$( 'body' ).data( "preferences", ( data = new ULSPreferences( group ) ) );
$( 'body' ).data( 'preferences', ( data = new ULSPreferences( group ) ) );
}
if ( typeof group === "string" ) {
if ( typeof group === 'string' ) {
data.get( group );
}
return data;