Rollup merge of #66430 - dns2utf8:fix_code_selection_click_handler, r=GuillaumeGomez
[doc] Fix the source code highlighting on source comments The code would always forget the previous selection. r? @GuillaumeGomez
This commit is contained in:
commit
95b9766e0a
@ -396,38 +396,51 @@ function getSearchElement() {
|
||||
|
||||
document.onkeypress = handleShortcut;
|
||||
document.onkeydown = handleShortcut;
|
||||
|
||||
var handleSourceHighlight = (function() {
|
||||
var prev_line_id = 0;
|
||||
|
||||
var set_fragment = function(name) {
|
||||
var x = window.scrollX,
|
||||
y = window.scrollY;
|
||||
if (browserSupportsHistoryApi()) {
|
||||
history.replaceState(null, null, "#" + name);
|
||||
highlightSourceLines();
|
||||
} else {
|
||||
location.replace("#" + name);
|
||||
}
|
||||
// Prevent jumps when selecting one or many lines
|
||||
window.scrollTo(x, y);
|
||||
};
|
||||
|
||||
return function(ev) {
|
||||
var cur_line_id = parseInt(ev.target.id, 10);
|
||||
ev.preventDefault();
|
||||
|
||||
if (ev.shiftKey && prev_line_id) {
|
||||
// Swap selection if needed
|
||||
if (prev_line_id > cur_line_id) {
|
||||
var tmp = prev_line_id;
|
||||
prev_line_id = cur_line_id;
|
||||
cur_line_id = tmp;
|
||||
}
|
||||
|
||||
set_fragment(prev_line_id + "-" + cur_line_id);
|
||||
} else {
|
||||
prev_line_id = cur_line_id;
|
||||
|
||||
set_fragment(cur_line_id);
|
||||
}
|
||||
}
|
||||
})();
|
||||
|
||||
document.onclick = function(ev) {
|
||||
if (hasClass(ev.target, "collapse-toggle")) {
|
||||
collapseDocs(ev.target, "toggle");
|
||||
} else if (hasClass(ev.target.parentNode, "collapse-toggle")) {
|
||||
collapseDocs(ev.target.parentNode, "toggle");
|
||||
} else if (ev.target.tagName === "SPAN" && hasClass(ev.target.parentNode, "line-numbers")) {
|
||||
var prev_id = 0;
|
||||
|
||||
var set_fragment = function(name) {
|
||||
if (browserSupportsHistoryApi()) {
|
||||
history.replaceState(null, null, "#" + name);
|
||||
highlightSourceLines();
|
||||
} else {
|
||||
location.replace("#" + name);
|
||||
}
|
||||
};
|
||||
|
||||
var cur_id = parseInt(ev.target.id, 10);
|
||||
|
||||
if (ev.shiftKey && prev_id) {
|
||||
if (prev_id > cur_id) {
|
||||
var tmp = prev_id;
|
||||
prev_id = cur_id;
|
||||
cur_id = tmp;
|
||||
}
|
||||
|
||||
set_fragment(prev_id + "-" + cur_id);
|
||||
} else {
|
||||
prev_id = cur_id;
|
||||
|
||||
set_fragment(cur_id);
|
||||
}
|
||||
handleSourceHighlight(ev);
|
||||
} else if (hasClass(getHelpElement(), "hidden") === false) {
|
||||
var help = getHelpElement();
|
||||
var is_inside_help_popup = ev.target !== help && help.contains(ev.target);
|
||||
|
Loading…
x
Reference in New Issue
Block a user