From 3e7ca3bbc8eaa60013d4ab9f2edd42f6dcd8dd4b Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Sun, 26 Apr 2015 13:53:45 +0300 Subject: [PATCH] Minor lint tweaks. --- docs/assets/js/src/customizer.js | 17 +++--- grunt/bs-commonjs-generator.js | 4 +- grunt/bs-glyphicons-data-generator.js | 3 +- grunt/bs-lessdoc-parser.js | 10 ++-- grunt/bs-raw-files-generator.js | 12 ++--- js/button.js | 2 +- js/dropdown.js | 76 +++++++++++++-------------- js/tab.js | 2 +- js/tooltip.js | 6 +-- package.js | 2 +- 10 files changed, 65 insertions(+), 69 deletions(-) diff --git a/docs/assets/js/src/customizer.js b/docs/assets/js/src/customizer.js index d38a71724c..8eac4c200d 100644 --- a/docs/assets/js/src/customizer.js +++ b/docs/assets/js/src/customizer.js @@ -17,7 +17,7 @@ window.onload = function () { // wait for load in a dumb way because B-0 ' * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n' + ' */\n\n' - var supportsFile = (window.File && window.FileReader && window.FileList && window.Blob) + var supportsFile = window.File && window.FileReader && window.FileList && window.Blob var importDropTarget = $('#import-drop-target') function showError(msg, err) { @@ -112,7 +112,7 @@ window.onload = function () { // wait for load in a dumb way because B-0 js: $('#plugin-section input:checked').map(function () { return this.value }).toArray() } - if ($.isEmptyObject(data.vars) && !data.css.length && !data.js.length) return + if ($.isEmptyObject(data.vars) && !data.css.length && !data.js.length) return null return data } @@ -241,11 +241,11 @@ window.onload = function () { // wait for load in a dumb way because B-0 // Core stylesheets like 'normalize.less' are not included in the form // since disabling them would wreck everything, and so their 'fileInclude' // will be 'undefined'. - if (fileInclude || (fileInclude == null)) lessSource += __less[filename] + if (fileInclude || fileInclude == null) lessSource += __less[filename] // Custom variables are added after Bootstrap variables so the custom // ones take precedence. - if (('variables.less' === filename) && vars) lessSource += generateCustomLess(vars) + if (filename === 'variables.less' && vars) lessSource += generateCustomLess(vars) }) lessSource = lessSource.replace(/@import[^\n]*/gi, '') // strip any imports @@ -267,8 +267,7 @@ window.onload = function () { // wait for load in a dumb way because B-0 try { intoResult[baseFilename + '.css'] = cw + tree.toCSS() intoResult[baseFilename + '.min.css'] = cw + tree.toCSS({ compress: true }) - } - catch (compileErr) { + } catch (compileErr) { return promise.reject(compileErr) } promise.resolve() @@ -366,7 +365,7 @@ window.onload = function () { // wait for load in a dumb way because B-0 e.stopPropagation() e.preventDefault() - var file = (e.originalEvent.hasOwnProperty('dataTransfer')) ? e.originalEvent.dataTransfer.files[0] : e.originalEvent.target.files[0] + var file = e.originalEvent.hasOwnProperty('dataTransfer') ? e.originalEvent.dataTransfer.files[0] : e.originalEvent.target.files[0] var reader = new FileReader() @@ -474,7 +473,9 @@ window.onload = function () { // wait for load in a dumb way because B-0 ).done(function (css, js, fonts) { generateZip(css, js, fonts, configJson, function (blob) { $compileBtn.removeAttr('disabled') - setTimeout(function () { saveAs(blob, 'bootstrap.zip') }, 0) + setTimeout(function () { + saveAs(blob, 'bootstrap.zip') + }, 0) }) }) }) diff --git a/grunt/bs-commonjs-generator.js b/grunt/bs-commonjs-generator.js index b0642cd8f1..582eefe374 100644 --- a/grunt/bs-commonjs-generator.js +++ b/grunt/bs-commonjs-generator.js @@ -1,4 +1,5 @@ 'use strict'; + var fs = require('fs'); var path = require('path'); @@ -15,8 +16,7 @@ module.exports = function generateCommonJSModule(grunt, srcFiles, destFilepath) var moduleOutputJs = COMMONJS_BANNER + srcFiles.map(srcPathToDestRequire).join('\n'); try { fs.writeFileSync(destFilepath, moduleOutputJs); - } - catch (err) { + } catch (err) { grunt.fail.warn(err); } grunt.log.writeln('File ' + destFilepath.cyan + ' created.'); diff --git a/grunt/bs-glyphicons-data-generator.js b/grunt/bs-glyphicons-data-generator.js index 339fd0ffed..645e4fe2f2 100644 --- a/grunt/bs-glyphicons-data-generator.js +++ b/grunt/bs-glyphicons-data-generator.js @@ -33,8 +33,7 @@ module.exports = function generateGlyphiconsData(grunt) { try { fs.writeFileSync(glyphiconsYml, glyphiconsData); - } - catch (err) { + } catch (err) { grunt.fail.warn(err); } grunt.log.writeln('File ' + glyphiconsYml.cyan + ' created.'); diff --git a/grunt/bs-lessdoc-parser.js b/grunt/bs-lessdoc-parser.js index d6be774523..d196e766ac 100644 --- a/grunt/bs-lessdoc-parser.js +++ b/grunt/bs-lessdoc-parser.js @@ -121,7 +121,7 @@ Tokenizer.prototype._shift = function () { return new VarDocstring(match[1]); } var commentStart = line.lastIndexOf('//'); - var varLine = (commentStart === -1) ? line : line.slice(0, commentStart); + var varLine = commentStart === -1 ? line : line.slice(0, commentStart); match = VAR_ASSIGNMENT.exec(varLine); if (match !== null) { return new Variable(match[1], match[2]); @@ -168,8 +168,7 @@ Parser.prototype.parseSection = function () { var docstring = this._tokenizer.shift(); if (docstring instanceof SectionDocstring) { section.docstring = docstring; - } - else { + } else { this._tokenizer.unshift(docstring); } this.parseSubSections(section); @@ -185,15 +184,14 @@ Parser.prototype.parseSubSections = function (section) { // Presume an implicit initial subsection subsection = new SubSection(''); this.parseVars(subsection); - } - else { + } else { break; } } section.addSubSection(subsection); } - if (section.subsections.length === 1 && !(section.subsections[0].heading) && section.subsections[0].variables.length === 0) { + if (section.subsections.length === 1 && !section.subsections[0].heading && section.subsections[0].variables.length === 0) { // Ignore lone empty implicit subsection section.subsections = []; } diff --git a/grunt/bs-raw-files-generator.js b/grunt/bs-raw-files-generator.js index ec8c5314e7..5e38e634bf 100644 --- a/grunt/bs-raw-files-generator.js +++ b/grunt/bs-raw-files-generator.js @@ -5,24 +5,23 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ -/* global btoa: true */ - 'use strict'; + var fs = require('fs'); var btoa = require('btoa'); var glob = require('glob'); function getFiles(type) { var files = {}; - var recursive = (type === 'less'); - var globExpr = (recursive ? '/**/*' : '/*'); + var recursive = type === 'less'; + var globExpr = recursive ? '/**/*' : '/*'; glob.sync(type + globExpr) .filter(function (path) { return type === 'fonts' ? true : new RegExp('\\.' + type + '$').test(path); }) .forEach(function (fullPath) { var relativePath = fullPath.replace(/^[^/]+\//, ''); - files[relativePath] = (type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8')); + files[relativePath] = type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8'); }); return 'var __' + type + ' = ' + JSON.stringify(files) + '\n'; } @@ -38,8 +37,7 @@ module.exports = function generateRawFilesJs(grunt, banner) { var rawFilesJs = 'docs/assets/js/raw-files.min.js'; try { fs.writeFileSync(rawFilesJs, files); - } - catch (err) { + } catch (err) { grunt.fail.warn(err); } grunt.log.writeln('File ' + rawFilesJs.cyan + ' created.'); diff --git a/js/button.js b/js/button.js index 3b86f35d46..8716aff4f6 100644 --- a/js/button.js +++ b/js/button.js @@ -31,7 +31,7 @@ var val = $el.is('input') ? 'val' : 'html' var data = $el.data() - state = state + 'Text' + state += 'Text' if (data.resetText == null) $el.data('resetText', $el[val]()) diff --git a/js/dropdown.js b/js/dropdown.js index 371e307569..8fd86a0254 100644 --- a/js/dropdown.js +++ b/js/dropdown.js @@ -21,6 +21,40 @@ Dropdown.VERSION = '3.3.4' + function getParent($this) { + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = selector && $(selector) + + return $parent && $parent.length ? $parent : $this.parent() + } + + function clearMenus(e) { + if (e && e.which === 3) return + $(backdrop).remove() + $(toggle).each(function () { + var $this = $(this) + var $parent = getParent($this) + var relatedTarget = { relatedTarget: this } + + if (!$parent.hasClass('open')) return + + if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return + + $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) + + if (e.isDefaultPrevented()) return + + $this.attr('aria-expanded', 'false') + $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget) + }) + } + Dropdown.prototype.toggle = function (e) { var $this = $(this) @@ -70,7 +104,7 @@ var $parent = getParent($this) var isActive = $parent.hasClass('open') - if ((!isActive && e.which != 27) || (isActive && e.which == 27)) { + if (!isActive && e.which != 27 || isActive && e.which == 27) { if (e.which == 27) $parent.find(toggle).trigger('focus') return $this.trigger('click') } @@ -82,47 +116,13 @@ var index = $items.index(e.target) - if (e.which == 38 && index > 0) index-- // up - if (e.which == 40 && index < $items.length - 1) index++ // down - if (!~index) index = 0 + if (e.which == 38 && index > 0) index-- // up + if (e.which == 40 && index < $items.length - 1) index++ // down + if (!~index) index = 0 $items.eq(index).trigger('focus') } - function clearMenus(e) { - if (e && e.which === 3) return - $(backdrop).remove() - $(toggle).each(function () { - var $this = $(this) - var $parent = getParent($this) - var relatedTarget = { relatedTarget: this } - - if (!$parent.hasClass('open')) return - - if (e && e.type == 'click' && /input|textarea/i.test(e.target.tagName) && $.contains($parent[0], e.target)) return - - $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget)) - - if (e.isDefaultPrevented()) return - - $this.attr('aria-expanded', 'false') - $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget) - }) - } - - function getParent($this) { - var selector = $this.attr('data-target') - - if (!selector) { - selector = $this.attr('href') - selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 - } - - var $parent = selector && $(selector) - - return $parent && $parent.length ? $parent : $this.parent() - } - // DROPDOWN PLUGIN DEFINITION // ========================== diff --git a/js/tab.js b/js/tab.js index 935d5bc803..685bbc91fc 100644 --- a/js/tab.js +++ b/js/tab.js @@ -65,7 +65,7 @@ var $active = container.find('> .active') var transition = callback && $.support.transition - && (($active.length && $active.hasClass('fade')) || !!container.find('> .fade').length) + && ($active.length && $active.hasClass('fade') || !!container.find('> .fade').length) function next() { $active diff --git a/js/tooltip.js b/js/tooltip.js index f48dcfb701..af1483aba4 100644 --- a/js/tooltip.js +++ b/js/tooltip.js @@ -239,8 +239,8 @@ if (isNaN(marginTop)) marginTop = 0 if (isNaN(marginLeft)) marginLeft = 0 - offset.top = offset.top + marginTop - offset.left = offset.left + marginLeft + offset.top += marginTop + offset.left += marginLeft // $.fn.offset doesn't round pixel values // so we use setOffset directly with our own function B-0 @@ -322,7 +322,7 @@ Tooltip.prototype.fixTitle = function () { var $e = this.$element - if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') { + if ($e.attr('title') || typeof $e.attr('data-original-title') != 'string') { $e.attr('data-original-title', $e.attr('title') || '').attr('title', '') } } diff --git a/package.js b/package.js index e42eb98321..2ec041b3a0 100644 --- a/package.js +++ b/package.js @@ -17,6 +17,6 @@ Package.onUse(function (api) { 'dist/fonts/glyphicons-halflings-regular.woff', 'dist/fonts/glyphicons-halflings-regular.woff2', 'dist/css/bootstrap.css', - 'dist/js/bootstrap.js', + 'dist/js/bootstrap.js' ], 'client'); });