about summary refs log tree commit diff
path: root/src/librustdoc/html
diff options
context:
space:
mode:
Diffstat (limited to 'src/librustdoc/html')
-rw-r--r--src/librustdoc/html/static/main.js46
1 files changed, 18 insertions, 28 deletions
diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js
index 2e3e148eaf6..d7e34ed02b3 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-<number>'.
         // 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);