Reduce Cognitive Complexity of fastsearch.js (#554)

This commit is contained in:
Aditya Telange 2021-09-04 15:44:22 +05:30 committed by GitHub
parent 42a23c96e2
commit d76bc91ed0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -103,31 +103,31 @@ document.onkeydown = function (e) {
} }
} else if (current_elem) ae = current_elem; } else if (current_elem) ae = current_elem;
if (key === "ArrowDown" && resultsAvailable && inbox) { if (key === "Escape") {
reset()
} else if (!resultsAvailable || !inbox) {
return
} else if (key === "ArrowDown") {
e.preventDefault(); e.preventDefault();
if (ae == sInput) { if (ae == sInput) {
// if the currently focused element is the search input, focus the <a> of first <li> // if the currently focused element is the search input, focus the <a> of first <li>
activeToggle(resList.firstChild.lastChild); activeToggle(resList.firstChild.lastChild);
} else if (ae.parentElement == last) { } else if (ae.parentElement != last) {
// if the currently focused element's parent is last, do nothing // if the currently focused element's parent is last, do nothing
} else {
// otherwise select the next search result // otherwise select the next search result
activeToggle(ae.parentElement.nextSibling.lastChild); activeToggle(ae.parentElement.nextSibling.lastChild);
} }
} else if (key === "ArrowUp" && resultsAvailable && inbox) { } else if (key === "ArrowUp") {
e.preventDefault(); e.preventDefault();
if (ae == sInput) { if (ae.parentElement == first) {
// if the currently focused element is input box, do nothing
} else if (ae.parentElement == first) {
// if the currently focused element is first item, go to input box // if the currently focused element is first item, go to input box
activeToggle(sInput); activeToggle(sInput);
} else { } else if (ae != sInput) {
// if the currently focused element is input box, do nothing
// otherwise select the previous search result // otherwise select the previous search result
activeToggle(ae.parentElement.previousSibling.lastChild); activeToggle(ae.parentElement.previousSibling.lastChild);
} }
} else if (key === "ArrowRight" && resultsAvailable && inbox) { } else if (key === "ArrowRight") {
ae.click(); // click on active link ae.click(); // click on active link
} else if (key === "Escape") {
reset()
} }
} }