3 * Run JSHINT in the browser against the servers JS.
6 /* global jQuery:false */
7 /* global Drupal:false */
8 /* global JSHINT:false */
11 * Have clicks to advagg_validator_js classes run JSHINT clientside.
15 Drupal.behaviors.advagg_validator_js_simple = {
16 attach: function (context, settings) {
17 $('.advagg_validator_js', context).click(function (context) {
19 var results = $(this).siblings('.results');
20 // Clear out the results.
22 // Loop over each filename.
23 $.each($(this).siblings('.filenames'), function () {
24 var filename = $(this).val();
27 var t = new Date().getTime();
29 url: settings.path.baseUrl + filename + '?t=' + t,
33 if (!JSHINT(x.responseText, drupalSettings.jshint, drupalSettings.jshint.predef)) {
34 $(results).append('<p><h4>' + filename + '</h4><ul>');
35 for (var i = 0; i < JSHINT.errors.length; i++) {
36 var ignore = (drupalSettings.jshint && drupalSettings.jshint.ignore) ? drupalSettings.jshint.ignore.split(',') : [];
37 if (ignore.indexOf(JSHINT.errors[i].code) === -1) {
38 var w = JSHINT.errors[i].reason + ' (line ' + JSHINT.errors[i].line + ', col ' + JSHINT.errors[i].character + ', rule ' + JSHINT.errors[i].code + ')';
39 $(results).append('<li class="' + JSHINT.errors[i].id.replace(/[()]/g, '') + '">' + w.replace(/ /g, ' ') + '</li>');
42 $(results).append('</ul></p>');
46 $(results).append(err);
58 * Have clicks to advagg_validator_recursive_js classes run JSHINT clientside.
62 Drupal.behaviors.advagg_validator_js_recursive = {
63 attach: function (context, settings) {
64 $('.advagg_validator_recursive_js', context).click(function (context) {
66 var results = $(this).siblings('.results');
67 // Clear out the results.
69 // Loop over each filename.
70 $.each($(this).parent().find('.filenames'), function () {
71 var filename = $(this).val();
74 var t = new Date().getTime();
76 url: settings.path.baseUrl + filename + '?t=' + t,
80 if (!JSHINT(x.responseText, drupalSettings.jshint, drupalSettings.jshint.predef)) {
81 $(results).append('<p><h4>' + filename + '</h4><ul>');
82 for (var i = 0; i < JSHINT.errors.length; i++) {
83 var ignore = (drupalSettings.jshint && drupalSettings.jshint.ignore) ? drupalSettings.jshint.ignore.split(',') : [];
84 if (ignore.indexOf(JSHINT.errors[i].code) === -1) {
85 var w = JSHINT.errors[i].reason + ' (line ' + JSHINT.errors[i].line + ', col ' + JSHINT.errors[i].character + ', rule ' + JSHINT.errors[i].code + ')';
86 $(results).append('<li class="' + JSHINT.errors[i].id.replace(/[()]/g, '') + '">' + w.replace(/ /g, ' ') + '</li>');
89 $(results).append('</ul></p>');
93 $(results).append(err);