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