run eslint on cycle-inputs.js

This commit is contained in:
Slackhead 2018-01-17 19:32:05 +00:00
parent 7aecebf028
commit 743aa86dfb
2 changed files with 72 additions and 23 deletions

View File

@ -0,0 +1,46 @@
/* Cycle <input> text boxes.
* works with the types defined in 'types'.
* Note: Does not work for <textarea>.
*
* Example keybind:
* CYCLE_INPUTS = "jseval -q -f ~/.config/qutebrowser/cycle-inputs.js"
* config.bind('gi', CYCLE_INPUTS)
*
* By dive on freenode <dave@dawoodfall.net>
*/
"use strict";
var inputs = document.getElementsByTagName("input");
var types = /text|password|date|email|month|number|range|search|tel|time|url|week/;
var hidden = /hidden/;
var found = false;
var ii = 0;
var jj = 0;
function ishidden(el) {
return hidden.test(el.attributes.value) || el.offsetParent === null;
}
for (ii = 0; ii < inputs.length; ii++) {
if (inputs[ii] === document.activeElement) {
for (jj = ii + 1; jj < inputs.length; jj++) {
if (!ishidden(inputs[jj]) && types.test(inputs[jj].type)) {
inputs[jj].focus();
found = true;
break;
}
}
break;
}
}
if (!found) {
for (ii = 0; ii < inputs.length; ii++) {
if (!ishidden(inputs[ii]) && types.test(inputs[ii].type)) {
inputs[ii].focus();
break;
}
}
}
// vim: tw=0 expandtab tabstop=4 softtabstop=4 shiftwidth=4

View File

@ -1,43 +1,46 @@
/* Cycle <input> text boxes. /* Cycle <input> text boxes.
* works with the types defined in 'types'. * works with the types defined in 'types'.
* Note: Does not work for <textarea>. * Note: Does not work for <textarea>.
* *
* Example keybind: * Example keybind:
* CYCLE_INPUTS = "jseval -q -f ~/.config/qutebrowser/cycle-inputs.js" * CYCLE_INPUTS = "jseval -q -f ~/.config/qutebrowser/cycle-inputs.js"
* config.bind('gi', CYCLE_INPUTS) * config.bind('gi', CYCLE_INPUTS)
* *
* By dive on freenode <dave@dawoodfall.net> * By dive on freenode <dave@dawoodfall.net>
*/ */
"use strict";
var inputs = document.getElementsByTagName("input"); var inputs = document.getElementsByTagName("input");
var found = false;
var types = /text|password|date|email|month|number|range|search|tel|time|url|week/; var types = /text|password|date|email|month|number|range|search|tel|time|url|week/;
var hidden = /hidden/; var hidden = /hidden/;
var found = false;
var ii = 0;
var jj = 0;
function ishidden(el) { function ishidden(el) {
return hidden.test(el.attributes.value) || el.offsetParent === null; return hidden.test(el.attributes.value) || el.offsetParent === null;
} }
for (var i = 0; i < inputs.length; i++) { for (ii = 0; ii < inputs.length; ii++) {
if (inputs[i] == document.activeElement) { if (inputs[ii] === document.activeElement) {
for (var j = i+1; j < inputs.length; j++) { for (jj = ii + 1; jj < inputs.length; jj++) {
if (! ishidden(inputs[j]) && types.test(inputs[j].type)) { if (!ishidden(inputs[jj]) && types.test(inputs[jj].type)) {
inputs[j].focus(); inputs[jj].focus();
found = true; found = true;
break; break;
} }
} }
break; break;
} }
} }
if (! found) { if (!found) {
for (i = 0; i < inputs.length; i++) { for (ii = 0; ii < inputs.length; ii++) {
if (! ishidden(inputs[i]) && types.test(inputs[i].type)) { if (!ishidden(inputs[ii]) && types.test(inputs[ii].type)) {
inputs[i].focus(); inputs[ii].focus();
break; break;
} }
} }
} }
// vim: tw=0 // vim: tw=0 expandtab tabstop=4 softtabstop=4 shiftwidth=4