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);