diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index 2e3e148eaf695..d7e34ed02b348 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -916,7 +916,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; @@ -931,7 +930,6 @@ function hideThemeButtonState() { }); } } else { - updateLocalStorage("rustdoc-collapse", "true"); addClass(innerToggle, "will-expand"); onEachLazy(document.getElementsByTagName("details"), function(e) { e.open = false; @@ -1086,40 +1084,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); } @@ -1178,6 +1154,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; @@ -1348,8 +1340,6 @@ function hideThemeButtonState() { onEachLazy(document.getElementsByClassName("docblock"), buildToggleWrapper); - autoCollapse(getSettingValue("collapse") === "true"); - var pageId = getPageId(); if (pageId !== null) { expandSection(pageId);