|
1717 | 1717 | // we are collapsing the impl block |
1718 | 1718 | function implHider(addOrRemove) { |
1719 | 1719 | return function(n) { |
1720 | | - if (hasClass(n, "method")) { |
1721 | | - if (addOrRemove) { |
1722 | | - addClass(n, "hidden-by-impl-hider"); |
1723 | | - } else { |
1724 | | - removeClass(n, "hidden-by-impl-hider"); |
| 1720 | + var is_method = hasClass(n, "method"); |
| 1721 | + if (is_method || hasClass(n, "type")) { |
| 1722 | + if (is_method === true) { |
| 1723 | + if (addOrRemove) { |
| 1724 | + addClass(n, "hidden-by-impl-hider"); |
| 1725 | + } else { |
| 1726 | + removeClass(n, "hidden-by-impl-hider"); |
| 1727 | + } |
1725 | 1728 | } |
1726 | 1729 | var ns = n.nextElementSibling; |
1727 | 1730 | while (true) { |
1728 | 1731 | if (ns && ( |
1729 | 1732 | hasClass(ns, "docblock") || |
1730 | | - hasClass(ns, "stability") || |
1731 | | - false |
1732 | | - )) { |
| 1733 | + hasClass(ns, "stability"))) { |
1733 | 1734 | if (addOrRemove) { |
1734 | 1735 | addClass(ns, "hidden-by-impl-hider"); |
1735 | 1736 | } else { |
|
1745 | 1746 | } |
1746 | 1747 |
|
1747 | 1748 | var relatedDoc = toggle.parentNode; |
| 1749 | + var docblock = relatedDoc.nextElementSibling; |
1748 | 1750 |
|
1749 | 1751 | while (!hasClass(relatedDoc, "impl-items")) { |
1750 | 1752 | relatedDoc = relatedDoc.nextElementSibling; |
1751 | 1753 | } |
1752 | 1754 |
|
1753 | | - if (!relatedDoc) { |
| 1755 | + if (!relatedDoc && !hasClass(docblock, "docblock")) { |
1754 | 1756 | return; |
1755 | 1757 | } |
1756 | 1758 |
|
1757 | 1759 | // Hide all functions, but not associated types/consts |
1758 | 1760 |
|
1759 | 1761 | var action = mode; |
1760 | 1762 | if (action === "toggle") { |
1761 | | - if (hasClass(relatedDoc, "fns-now-collapsed")) { |
| 1763 | + if (hasClass(relatedDoc, "fns-now-collapsed") || |
| 1764 | + hasClass(docblock, "hidden-by-impl-hider")) { |
1762 | 1765 | action = "show"; |
1763 | 1766 | } else { |
1764 | 1767 | action = "hide"; |
|
1767 | 1770 |
|
1768 | 1771 | if (action === "show") { |
1769 | 1772 | removeClass(relatedDoc, "fns-now-collapsed"); |
| 1773 | + removeClass(docblock, "hidden-by-usual-hider"); |
1770 | 1774 | onEach(toggle.childNodes, adjustToggle(false)); |
1771 | 1775 | onEach(relatedDoc.childNodes, implHider(false)); |
1772 | 1776 | } else if (action === "hide") { |
1773 | 1777 | addClass(relatedDoc, "fns-now-collapsed"); |
| 1778 | + addClass(docblock, "hidden-by-usual-hider"); |
1774 | 1779 | onEach(toggle.childNodes, adjustToggle(true)); |
1775 | 1780 | onEach(relatedDoc.childNodes, implHider(true)); |
1776 | 1781 | } |
|
0 commit comments