diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js
index f017fd846b1db..7f6d64e474685 100644
--- a/src/librustdoc/html/static/main.js
+++ b/src/librustdoc/html/static/main.js
@@ -905,7 +905,6 @@ function hideThemeButtonState() {
return;
}
if (hasClass(innerToggle, "will-expand")) {
- updateLocalStorage("rustdoc-collapse", "false");
removeClass(innerToggle, "will-expand");
onEachLazy(document.getElementsByTagName("details"), function(e) {
e.open = true;
@@ -920,7 +919,6 @@ function hideThemeButtonState() {
});
}
} else {
- updateLocalStorage("rustdoc-collapse", "true");
addClass(innerToggle, "will-expand");
onEachLazy(document.getElementsByTagName("details"), function(e) {
e.open = false;
@@ -1075,40 +1073,18 @@ function hideThemeButtonState() {
}
}
- function collapser(e, collapse) {
+ function collapseNonInherent(e) {
// inherent impl ids are like "impl" or impl-'.
// they will never be hidden by default.
var n = e.parentElement;
if (n.id.match(/^impl(?:-\d+)?$/) === null) {
// Automatically minimize all non-inherent impls
- if (collapse || hasClass(n, "impl")) {
+ if (hasClass(n, "impl")) {
collapseDocs(e, "hide");
}
}
}
- function autoCollapse(collapse) {
- if (collapse) {
- toggleAllDocs(true);
- } else if (getSettingValue("auto-hide-trait-implementations") !== "false") {
- var impl_list = document.getElementById("trait-implementations-list");
-
- if (impl_list !== null) {
- onEachLazy(impl_list.getElementsByClassName("collapse-toggle"), function(e) {
- collapser(e, collapse);
- });
- }
-
- var blanket_list = document.getElementById("blanket-implementations-list");
-
- if (blanket_list !== null) {
- onEachLazy(blanket_list.getElementsByClassName("collapse-toggle"), function(e) {
- collapser(e, collapse);
- });
- }
- }
- }
-
function insertAfter(newNode, referenceNode) {
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}
@@ -1167,6 +1143,22 @@ function hideThemeButtonState() {
var hideMethodDocs = getSettingValue("auto-hide-method-docs") === "true";
var hideImplementors = getSettingValue("auto-collapse-implementors") !== "false";
var hideLargeItemContents = getSettingValue("auto-hide-large-items") !== "false";
+ var hideTraitImplementations =
+ getSettingValue("auto-hide-trait-implementations") !== "false";
+
+ var impl_list = document.getElementById("trait-implementations-list");
+ if (impl_list !== null) {
+ onEachLazy(impl_list.getElementsByClassName("collapse-toggle"), function(e) {
+ collapseNonInherent(e);
+ });
+ }
+
+ var blanket_list = document.getElementById("blanket-implementations-list");
+ if (blanket_list !== null) {
+ onEachLazy(blanket_list.getElementsByClassName("collapse-toggle"), function(e) {
+ collapseNonInherent(e);
+ });
+ }
var func = function(e) {
var next = e.nextElementSibling;
@@ -1353,8 +1345,6 @@ function hideThemeButtonState() {
onEachLazy(document.getElementsByClassName("docblock"), buildToggleWrapper);
onEachLazy(document.getElementsByClassName("sub-variant"), buildToggleWrapper);
- autoCollapse(getSettingValue("collapse") === "true");
-
var pageId = getPageId();
if (pageId !== null) {
expandSection(pageId);