Skip to content

Commit d869a7b

Browse files
authored
Rollup merge of rust-lang#58873 - GuillaumeGomez:fix-auto-hide-method-doc, r=QuietMisdreavus
Fix "Auto-hide item methods documentation" setting Fixes rust-lang#58825. r? @QuietMisdreavus
2 parents 2318274 + e969de8 commit d869a7b

File tree

1 file changed

+37
-32
lines changed

1 file changed

+37
-32
lines changed

src/librustdoc/html/static/main.js

+37-32
Original file line numberDiff line numberDiff line change
@@ -2077,16 +2077,22 @@ if (!DOMTokenList.prototype.remove) {
20772077
}
20782078

20792079
var toggle = createSimpleToggle(false);
2080+
var hideMethodDocs = getCurrentValue("rustdoc-method-docs") !== "false";
2081+
var pageId = getPageId();
20802082

20812083
var func = function(e) {
20822084
var next = e.nextElementSibling;
20832085
if (!next) {
20842086
return;
20852087
}
2086-
if (hasClass(next, "docblock") ||
2087-
(hasClass(next, "stability") &&
2088-
hasClass(next.nextElementSibling, "docblock"))) {
2089-
insertAfter(toggle.cloneNode(true), e.childNodes[e.childNodes.length - 1]);
2088+
if (hasClass(next, "docblock") === true ||
2089+
(hasClass(next, "stability") === true &&
2090+
hasClass(next.nextElementSibling, "docblock") === true)) {
2091+
var newToggle = toggle.cloneNode(true);
2092+
insertAfter(newToggle, e.childNodes[e.childNodes.length - 1]);
2093+
if (hideMethodDocs === true && hasClass(e, "method") === true) {
2094+
collapseDocs(newToggle, "hide", pageId);
2095+
}
20902096
}
20912097
};
20922098

@@ -2107,17 +2113,16 @@ if (!DOMTokenList.prototype.remove) {
21072113
onEachLazy(document.getElementsByClassName("associatedconstant"), func);
21082114
onEachLazy(document.getElementsByClassName("impl"), funcImpl);
21092115
var impl_call = function() {};
2110-
if (getCurrentValue("rustdoc-method-docs") !== "false") {
2116+
if (hideMethodDocs === true) {
21112117
impl_call = function(e, newToggle, pageId) {
21122118
if (e.id.match(/^impl(?:-\d+)?$/) === null) {
21132119
// Automatically minimize all non-inherent impls
2114-
if (hasClass(e, "impl")) {
2120+
if (hasClass(e, "impl") === true) {
21152121
collapseDocs(newToggle, "hide", pageId);
21162122
}
21172123
}
21182124
};
21192125
}
2120-
var pageId = getPageId();
21212126
var newToggle = document.createElement("a");
21222127
newToggle.href = "javascript:void(0)";
21232128
newToggle.className = "collapse-toggle hidden-default collapsed";
@@ -2163,7 +2168,7 @@ if (!DOMTokenList.prototype.remove) {
21632168
var inner_toggle = newToggle.cloneNode(true);
21642169
inner_toggle.onclick = toggleClicked;
21652170
e.insertBefore(inner_toggle, e.firstChild);
2166-
impl_call(e, inner_toggle, pageId);
2171+
impl_call(e.previousSibling, inner_toggle, pageId);
21672172
}
21682173
});
21692174

@@ -2265,30 +2270,6 @@ if (!DOMTokenList.prototype.remove) {
22652270
onEachLazy(document.getElementsByClassName("docblock"), buildToggleWrapper);
22662271
onEachLazy(document.getElementsByClassName("sub-variant"), buildToggleWrapper);
22672272

2268-
// In the search display, allows to switch between tabs.
2269-
function printTab(nb) {
2270-
if (nb === 0 || nb === 1 || nb === 2) {
2271-
currentTab = nb;
2272-
}
2273-
var nb_copy = nb;
2274-
onEachLazy(document.getElementById("titles").childNodes, function(elem) {
2275-
if (nb_copy === 0) {
2276-
addClass(elem, "selected");
2277-
} else {
2278-
removeClass(elem, "selected");
2279-
}
2280-
nb_copy -= 1;
2281-
});
2282-
onEachLazy(document.getElementById("results").childNodes, function(elem) {
2283-
if (nb === 0) {
2284-
elem.style.display = "";
2285-
} else {
2286-
elem.style.display = "none";
2287-
}
2288-
nb -= 1;
2289-
});
2290-
}
2291-
22922273
function createToggleWrapper(tog) {
22932274
var span = document.createElement("span");
22942275
span.className = "toggle-label";
@@ -2374,6 +2355,30 @@ if (!DOMTokenList.prototype.remove) {
23742355
};
23752356
});
23762357

2358+
// In the search display, allows to switch between tabs.
2359+
function printTab(nb) {
2360+
if (nb === 0 || nb === 1 || nb === 2) {
2361+
currentTab = nb;
2362+
}
2363+
var nb_copy = nb;
2364+
onEachLazy(document.getElementById("titles").childNodes, function(elem) {
2365+
if (nb_copy === 0) {
2366+
addClass(elem, "selected");
2367+
} else {
2368+
removeClass(elem, "selected");
2369+
}
2370+
nb_copy -= 1;
2371+
});
2372+
onEachLazy(document.getElementById("results").childNodes, function(elem) {
2373+
if (nb === 0) {
2374+
elem.style.display = "";
2375+
} else {
2376+
elem.style.display = "none";
2377+
}
2378+
nb -= 1;
2379+
});
2380+
}
2381+
23772382
function putBackSearch(search_input) {
23782383
if (search_input.value !== "") {
23792384
addClass(main, "hidden");

0 commit comments

Comments
 (0)