|
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