diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2021-04-28 21:19:52 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2021-05-02 14:17:07 +0200 |
| commit | dfde867fcd4d29213dbdaf0b948ed00fe82a43e5 (patch) | |
| tree | a7ed595c1cd3ce66670e0837d709da68f598f361 /src/librustdoc/html/static | |
| parent | bcd696d722c04a0f8c34d884aa4ed2322f55cdd8 (diff) | |
| download | rust-dfde867fcd4d29213dbdaf0b948ed00fe82a43e5.tar.gz rust-dfde867fcd4d29213dbdaf0b948ed00fe82a43e5.zip | |
Migrate trait and impl blocks' toggles into
Diffstat (limited to 'src/librustdoc/html/static')
| -rw-r--r-- | src/librustdoc/html/static/main.js | 97 | ||||
| -rw-r--r-- | src/librustdoc/html/static/rustdoc.css | 34 | ||||
| -rw-r--r-- | src/librustdoc/html/static/themes/ayu.css | 3 | ||||
| -rw-r--r-- | src/librustdoc/html/static/themes/dark.css | 3 | ||||
| -rw-r--r-- | src/librustdoc/html/static/themes/light.css | 3 |
5 files changed, 46 insertions, 94 deletions
diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index 95b18490641..0c43f7730c0 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -1156,8 +1156,6 @@ 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) { @@ -1173,39 +1171,18 @@ function hideThemeButtonState() { }); } - var func = function(e) { - var next = e.nextElementSibling; - if (next && hasClass(next, "item-info")) { - next = next.nextElementSibling; - } - if (!next) { - return; - } - if (hasClass(next, "docblock")) { - var newToggle = toggle.cloneNode(true); - insertAfter(newToggle, e.childNodes[e.childNodes.length - 1]); - if (hideMethodDocs === true && hasClass(e, "method") === true) { - collapseDocs(newToggle, "hide"); + if (hideMethodDocs === true) { + onEachLazy(document.getElementsByClassName("method"), function(e) { + var toggle = e.parentNode; + if (toggle) { + toggle = toggle.parentNode; } - } - }; - - var funcImpl = function(e) { - var next = e.nextElementSibling; - if (next && hasClass(next, "item-info")) { - next = next.nextElementSibling; - } - if (next && hasClass(next, "docblock")) { - next = next.nextElementSibling; - } - if (!next) { - return; - } - }; + if (toggle && toggle.tagName === "DETAILS") { + toggle.open = false; + } + }); + } - onEachLazy(document.getElementsByClassName("method"), func); - onEachLazy(document.getElementsByClassName("associatedconstant"), func); - var impl_call = function() {}; onEachLazy(document.getElementsByTagName("details"), function (e) { var showLargeItem = !hideLargeItemContents && hasClass(e, "type-contents-toggle"); var showImplementor = !hideImplementors && hasClass(e, "implementors-toggle"); @@ -1213,60 +1190,6 @@ function hideThemeButtonState() { e.open = true; } }); - if (hideMethodDocs === true) { - impl_call = function(e, newToggle) { - if (e.id.match(/^impl(?:-\d+)?$/) === null) { - // Automatically minimize all non-inherent impls - if (hasClass(e, "impl") === true) { - collapseDocs(newToggle, "hide"); - } - } - }; - } - var newToggle = document.createElement("a"); - newToggle.href = "javascript:void(0)"; - newToggle.className = "collapse-toggle hidden-default collapsed"; - newToggle.innerHTML = "[<span class=\"inner\">" + labelForToggleButton(true) + - "</span>] Show hidden undocumented items"; - function toggleClicked() { - if (hasClass(this, "collapsed")) { - removeClass(this, "collapsed"); - onEachLazy(this.parentNode.getElementsByClassName("hidden"), function(x) { - if (hasClass(x, "content") === false) { - removeClass(x, "hidden"); - addClass(x, "x"); - } - }, true); - this.innerHTML = "[<span class=\"inner\">" + labelForToggleButton(false) + - "</span>] Hide undocumented items"; - } else { - addClass(this, "collapsed"); - onEachLazy(this.parentNode.getElementsByClassName("x"), function(x) { - if (hasClass(x, "content") === false) { - addClass(x, "hidden"); - removeClass(x, "x"); - } - }, true); - this.innerHTML = "[<span class=\"inner\">" + labelForToggleButton(true) + - "</span>] Show hidden undocumented items"; - } - } - onEachLazy(document.getElementsByClassName("impl-items"), function(e) { - onEachLazy(e.getElementsByClassName("associatedconstant"), func); - // We transform the DOM iterator into a vec of DOM elements to prevent performance - // issues on webkit browsers. - var hiddenElems = Array.prototype.slice.call(e.getElementsByClassName("hidden")); - var needToggle = hiddenElems.some(function(hiddenElem) { - return hasClass(hiddenElem, "content") === false && - hasClass(hiddenElem, "docblock") === false; - }); - if (needToggle === true) { - var inner_toggle = newToggle.cloneNode(true); - inner_toggle.onclick = toggleClicked; - e.insertBefore(inner_toggle, e.firstChild); - impl_call(e.previousSibling, inner_toggle); - } - }); var currentType = document.getElementsByClassName("type-decl")[0]; var className = null; diff --git a/src/librustdoc/html/static/rustdoc.css b/src/librustdoc/html/static/rustdoc.css index a95c90e999f..55d8514533a 100644 --- a/src/librustdoc/html/static/rustdoc.css +++ b/src/librustdoc/html/static/rustdoc.css @@ -147,6 +147,9 @@ h1, h2, h3, h4, .sidebar, a.source, .search-input, .content table td:first-child > a, .collapse-toggle, div.item-list .out-of-band, #source-sidebar, #sidebar-toggle, +details.rustdoc-toggle > summary::before, +details.undocumented > summary::before, +.content ul.crate a.crate, /* This selector is for the items listed in the "all items" page. */ #main > ul.docblock > li > a { font-family: "Fira Sans", Arial, sans-serif; @@ -154,7 +157,6 @@ h1, h2, h3, h4, .content ul.crate a.crate { font-size: 16px/1.6; - font-family: "Fira Sans", Arial, sans-serif; } ol, ul { @@ -596,7 +598,9 @@ h4 > code, h3 > code, .invisible > code { left: -19px; } -.content .impl-items .method, .content .impl-items > .type, .impl-items > .associatedconstant { +.content .impl-items .method, .content .impl-items > .type, .impl-items > .associatedconstant, +.content .impl-items details > summary > .type, +.impl-items details > summary > .associatedconstant { margin-left: 20px; } @@ -1764,7 +1768,10 @@ details.rustdoc-toggle > summary.hideme { cursor: pointer; } -details.rustdoc-toggle > summary::-webkit-details-marker { +details.rustdoc-toggle > summary::-webkit-details-marker, +details.rustdoc-toggle > summary::marker, +details.undocumented > summary::-webkit-details-marker, +details.undocumented > summary::marker { display: none; } @@ -1787,6 +1794,14 @@ details.rustdoc-toggle > summary.hideme::before { details.rustdoc-toggle > summary:not(.hideme)::before { position: absolute; left: -23px; + top: initial; +} + +.impl-items > details.rustdoc-toggle > summary:not(.hideme)::before, +.undocumented > details.rustdoc-toggle > summary:not(.hideme)::before { + position: absolute; + top: 3px; + left: -2px; } /* When a "hideme" summary is open and the "Expand description" or "Show @@ -1798,7 +1813,7 @@ details.rustdoc-toggle[open] > summary.hideme { position: absolute; } -details.rustdoc-toggle[open] { +details.rustdoc-toggle, details.undocumented { position: relative; } @@ -1810,3 +1825,14 @@ details.rustdoc-toggle[open] > summary::before { content: "[−]"; display: inline; } + +details.undocumented > summary::before { + content: "[+] Show hidden undocumented items"; + cursor: pointer; + font-size: 16px; + font-weight: 300; +} + +details.undocumented[open] > summary::before { + content: "[-] Hide undocumented items"; +} diff --git a/src/librustdoc/html/static/themes/ayu.css b/src/librustdoc/html/static/themes/ayu.css index 72396ec6b76..aace0b3c037 100644 --- a/src/librustdoc/html/static/themes/ayu.css +++ b/src/librustdoc/html/static/themes/ayu.css @@ -226,7 +226,8 @@ a { .collapse-toggle, details.rustdoc-toggle > summary.hideme > span, -details.rustdoc-toggle > summary::before { +details.rustdoc-toggle > summary::before, +details.undocumented > summary::before { color: #999; } diff --git a/src/librustdoc/html/static/themes/dark.css b/src/librustdoc/html/static/themes/dark.css index b2003b52741..c23e95ce107 100644 --- a/src/librustdoc/html/static/themes/dark.css +++ b/src/librustdoc/html/static/themes/dark.css @@ -188,7 +188,8 @@ a.test-arrow { .collapse-toggle, details.rustdoc-toggle > summary.hideme > span, -details.rustdoc-toggle > summary::before { +details.rustdoc-toggle > summary::before, +details.undocumented > summary::before { color: #999; } diff --git a/src/librustdoc/html/static/themes/light.css b/src/librustdoc/html/static/themes/light.css index 04187773b64..93309721210 100644 --- a/src/librustdoc/html/static/themes/light.css +++ b/src/librustdoc/html/static/themes/light.css @@ -186,7 +186,8 @@ a.test-arrow { .collapse-toggle, details.rustdoc-toggle > summary.hideme > span, -details.rustdoc-toggle > summary::before { +details.rustdoc-toggle > summary::before, +details.undocumented > summary::before { color: #999; } |
