Only highlight results via mouseover if mouse has moved

This commit is contained in:
Carol (Nichols || Goulding) 2020-06-01 22:18:38 -04:00
parent f3fadf6abd
commit 1bc4e45b3f
No known key found for this signature in database
GPG Key ID: D04B39A6CA243902
1 changed files with 24 additions and 13 deletions

View File

@ -100,6 +100,8 @@ function defocusSearchBar() {
// 2 for "In Return Types"
var currentTab = 0;
var mouseMovedAfterSearch = true;
var titleBeforeSearch = document.title;
function clearInputTimeout() {
@ -162,6 +164,7 @@ function defocusSearchBar() {
}
addClass(main, "hidden");
removeClass(search, "hidden");
mouseMovedAfterSearch = false;
}
function hideSearchResults(search) {
@ -424,6 +427,12 @@ function defocusSearchBar() {
document.addEventListener("keypress", handleShortcut);
document.addEventListener("keydown", handleShortcut);
function resetMouseMoved(ev) {
mouseMovedAfterSearch = true;
}
document.addEventListener("mousemove", resetMouseMoved);
var handleSourceHighlight = (function() {
var prev_line_id = 0;
@ -1353,20 +1362,22 @@ function defocusSearchBar() {
}
};
var mouseover_func = function(e) {
var el = e.target;
// to retrieve the real "owner" of the event.
while (el.tagName !== "TR") {
el = el.parentNode;
}
clearTimeout(hoverTimeout);
hoverTimeout = setTimeout(function() {
onEachLazy(document.getElementsByClassName("search-results"), function(e) {
onEachLazy(e.getElementsByClassName("result"), function(i_e) {
removeClass(i_e, "highlighted");
if (mouseMovedAfterSearch) {
var el = e.target;
// to retrieve the real "owner" of the event.
while (el.tagName !== "TR") {
el = el.parentNode;
}
clearTimeout(hoverTimeout);
hoverTimeout = setTimeout(function() {
onEachLazy(document.getElementsByClassName("search-results"), function(e) {
onEachLazy(e.getElementsByClassName("result"), function(i_e) {
removeClass(i_e, "highlighted");
});
});
});
addClass(el, "highlighted");
}, 20);
addClass(el, "highlighted");
}, 20);
}
};
onEachLazy(document.getElementsByClassName("search-results"), function(e) {
onEachLazy(e.getElementsByClassName("result"), function(i_e) {