1
Fork 0

Fix trait implementation not collapsing docs

This commit is contained in:
Guillaume Gomez 2018-03-28 09:50:55 +02:00
parent 14ac1b5faa
commit 884153a257

View file

@ -1713,19 +1713,20 @@
// we are collapsing the impl block // we are collapsing the impl block
function implHider(addOrRemove) { function implHider(addOrRemove) {
return function(n) { return function(n) {
if (hasClass(n, "method")) { var is_method = hasClass(n, "method");
if (addOrRemove) { if (is_method || hasClass(n, "type")) {
addClass(n, "hidden-by-impl-hider"); if (is_method === true) {
} else { if (addOrRemove) {
removeClass(n, "hidden-by-impl-hider"); addClass(n, "hidden-by-impl-hider");
} else {
removeClass(n, "hidden-by-impl-hider");
}
} }
var ns = n.nextElementSibling; var ns = n.nextElementSibling;
while (true) { while (true) {
if (ns && ( if (ns && (
hasClass(ns, "docblock") || hasClass(ns, "docblock") ||
hasClass(ns, "stability") || hasClass(ns, "stability"))) {
false
)) {
if (addOrRemove) { if (addOrRemove) {
addClass(ns, "hidden-by-impl-hider"); addClass(ns, "hidden-by-impl-hider");
} else { } else {
@ -1741,12 +1742,13 @@
} }
var relatedDoc = toggle.parentNode; var relatedDoc = toggle.parentNode;
var docblock = relatedDoc.nextElementSibling;
while (!hasClass(relatedDoc, "impl-items")) { while (!hasClass(relatedDoc, "impl-items")) {
relatedDoc = relatedDoc.nextElementSibling; relatedDoc = relatedDoc.nextElementSibling;
} }
if (!relatedDoc) { if (!relatedDoc && !hasClass(docblock, "docblock")) {
return; return;
} }
@ -1754,7 +1756,8 @@
var action = mode; var action = mode;
if (action === "toggle") { if (action === "toggle") {
if (hasClass(relatedDoc, "fns-now-collapsed")) { if (hasClass(relatedDoc, "fns-now-collapsed") ||
hasClass(docblock, "hidden-by-impl-hider")) {
action = "show"; action = "show";
} else { } else {
action = "hide"; action = "hide";
@ -1763,10 +1766,12 @@
if (action === "show") { if (action === "show") {
removeClass(relatedDoc, "fns-now-collapsed"); removeClass(relatedDoc, "fns-now-collapsed");
removeClass(docblock, "hidden-by-usual-hider");
onEach(toggle.childNodes, adjustToggle(false)); onEach(toggle.childNodes, adjustToggle(false));
onEach(relatedDoc.childNodes, implHider(false)); onEach(relatedDoc.childNodes, implHider(false));
} else if (action === "hide") { } else if (action === "hide") {
addClass(relatedDoc, "fns-now-collapsed"); addClass(relatedDoc, "fns-now-collapsed");
addClass(docblock, "hidden-by-usual-hider");
onEach(toggle.childNodes, adjustToggle(true)); onEach(toggle.childNodes, adjustToggle(true));
onEach(relatedDoc.childNodes, implHider(true)); onEach(relatedDoc.childNodes, implHider(true));
} }