Dr0ptp4kt has submitted this change and it was merged. Change subject: grunt: Make jshint pass ......................................................................
grunt: Make jshint pass Add jshintrc file, based on https://www.mediawiki.org/wiki/Manual:Coding_conventions/JavaScript Fix errors: listeners.js: line 129, col 24, 'touchEndY' is not defined. This inadvertently became a global variable. Fix style violations: elementLocation.js: line 29, col 32, The object literal notation {} is preferable. elementLocation.js: line 30, col 15, ['top'] is better written in dot notation. listeners.js: line 1, col 12, 'module' is defined but never used. listeners.js: line 8, col 56, 'event' is defined but never used. listeners.js: line 56, col 54, 'payload' is defined but never used. Bug: T71838 Change-Id: I32ec9046dd28c9199ea3754b978a22c2974775aa --- A www/.jshintrc M www/Gruntfile.js M www/js/elementLocation.js M www/js/listeners.js M www/js/refs.js M www/package.json 6 files changed, 45 insertions(+), 25 deletions(-) Approvals: Dr0ptp4kt: Looks good to me, approved Bgerstle: Looks good to me, but someone else must approve jenkins-bot: Verified diff --git a/www/.jshintrc b/www/.jshintrc new file mode 100644 index 0000000..8e07ca6 --- /dev/null +++ b/www/.jshintrc @@ -0,0 +1,14 @@ +{ + // Enforcing + "bitwise": true, + "freeze": true, + "latedef": true, + "noarg": true, + "nonew": true, + "undef": true, + "unused": true, + + // Environment + "browser": true, + "browserify": true +} diff --git a/www/Gruntfile.js b/www/Gruntfile.js index e8148fb..29a0a19 100644 --- a/www/Gruntfile.js +++ b/www/Gruntfile.js @@ -34,7 +34,7 @@ jshint: { allFiles: allScriptFiles, options: { - jshintrc: ".jshintrc" + jshintrc: true } }, @@ -53,5 +53,5 @@ } } ); - grunt.registerTask('default', [/*'jshint',*/ 'browserify', 'less', 'copy']); + grunt.registerTask('default', ['jshint', 'browserify', 'less', 'copy']); }; diff --git a/www/js/elementLocation.js b/www/js/elementLocation.js index f701809..cd4af9b 100644 --- a/www/js/elementLocation.js +++ b/www/js/elementLocation.js @@ -8,42 +8,47 @@ function getZoomLevel() { // From: http://stackoverflow.com/a/5078596/135557 - var deviceWidth = (Math.abs(window.orientation) == 90) ? screen.height : screen.width; + var deviceWidth = (Math.abs(window.orientation) === 90) ? screen.height : screen.width; var zoom = deviceWidth / window.innerWidth; return zoom; } exports.getImageWithSrc = function(src) { - var images = document.getElementsByTagName('IMG'); + var images = document.getElementsByTagName('img'); for (var i = 0; i < images.length; ++i) { - if (stringEndsWith(images[i].src, src)){ + if (stringEndsWith(images[i].src, src)) { return images[i]; } } return null; -} +}; exports.getElementRect = function(element) { var rect = element.getBoundingClientRect(); var zoom = getZoomLevel(); - var zoomedRect = new Object(); - zoomedRect['top'] = rect.top * zoom; - zoomedRect['left'] = rect.left * zoom; - zoomedRect['width'] = rect.width * zoom; - zoomedRect['height'] = rect.height * zoom; + var zoomedRect = { + top: rect.top * zoom, + left: rect.left * zoom, + width: rect.width * zoom, + height: rect.height * zoom + }; return zoomedRect; -} +}; exports.getElementRectAsJson = function(element) { return JSON.stringify(this.getElementRect(element)); -} +}; -exports.getIndexOfFirstOnScreenElementWithTopGreaterThanY = function(elementPrefix, elementCount, y){ +exports.getIndexOfFirstOnScreenElementWithTopGreaterThanY = function(elementPrefix, elementCount){ for (var i = 0; i < elementCount; ++i) { var div = document.getElementById(elementPrefix + i); - if(div == null) continue; - var rect = this.getElementRect(div); - if( (rect['top'] >= 0) || ((rect['top'] + rect['height']) >= 0)) return i; + if (div === null) { + continue; + } + var rect = this.getElementRect(div); + if ( (rect.top >= 0) || ((rect.top + rect.height) >= 0)) { + return i; + } } return -1; -} +}; diff --git a/www/js/listeners.js b/www/js/listeners.js index 0b641c7..cbaf845 100644 --- a/www/js/listeners.js +++ b/www/js/listeners.js @@ -1,11 +1,11 @@ -(function (module) { +(function () { var bridge = require("./bridge"); var transformer = require("./transformer"); var refs = require("./refs"); // DOMContentLoaded fires before window.onload! That's good! // See: http://stackoverflow.com/a/3698214/135557 -document.addEventListener("DOMContentLoaded", function(event) { +document.addEventListener("DOMContentLoaded", function() { transformer.transform( "moveFirstGoodParagraphUp", document ); transformer.transform( "hideRedlinks", document ); @@ -53,7 +53,7 @@ } ); -bridge.registerListener( "collapseTables", function( payload ) { +bridge.registerListener( "collapseTables", function() { transformer.transform( "hideTables", document ); } ); @@ -72,7 +72,7 @@ } var maybeLowerCase = function (s) { return typeof s === 'string' ? s.toLowerCase() : undefined; - } + }; return _findParent(element, maybeLowerCase(matches[1]), maybeLowerCase(matches[2]), @@ -125,7 +125,7 @@ function handleTouchEnded(event){ var touchobj = event.changedTouches[0]; - touchEndY = parseInt(touchobj.clientY); + var touchEndY = parseInt(touchobj.clientY); if (((touchDownY - touchEndY) === 0) && (event.changedTouches.length === 1)) { // None of our tap events should fire if the user dragged vertically. touchEndedWithoutDragging(event); @@ -185,4 +185,4 @@ div.style.height = payload.height + 'px'; }); -})(module); +})(); diff --git a/www/js/refs.js b/www/js/refs.js index 566a686..3193e93 100644 --- a/www/js/refs.js +++ b/www/js/refs.js @@ -52,6 +52,7 @@ var targetId = href.slice(1); var targetNode = document.getElementById( targetId ); if ( targetNode === null ) { + /*global console */ console.log("reference target not found: " + targetId); return ""; } diff --git a/www/package.json b/www/package.json index 86dcbba..ff84433 100644 --- a/www/package.json +++ b/www/package.json @@ -8,7 +8,7 @@ "grunt-browserify": "1.3.2", "grunt-cli": "0.1.13", "grunt-contrib-copy": "0.5.0", - "grunt-contrib-jshint": "0.8.0", + "grunt-contrib-jshint": "0.11.0", "grunt-contrib-less": "0.9.0" } } -- To view, visit https://gerrit.wikimedia.org/r/195016 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I32ec9046dd28c9199ea3754b978a22c2974775aa Gerrit-PatchSet: 5 Gerrit-Project: apps/ios/wikipedia Gerrit-Branch: master Gerrit-Owner: Krinkle <[email protected]> Gerrit-Reviewer: Bgerstle <[email protected]> Gerrit-Reviewer: Dr0ptp4kt <[email protected]> Gerrit-Reviewer: Fjalapeno <[email protected]> Gerrit-Reviewer: Krinkle <[email protected]> Gerrit-Reviewer: Mhurd <[email protected]> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
