|
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