Skip to content

Commit c625f86

Browse files
committed
Fix #2482: partially collapse packages with too many members
1 parent 8ed5db5 commit c625f86

File tree

2 files changed

+52
-0
lines changed

2 files changed

+52
-0
lines changed

doc-tool/resources/_includes/sidebar.html

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,16 @@ <h1><a class="entity-name" href="{{ site.baseurl }}/api/{{ pkg.path | join: "/"
2020
{% for member in pkg.children %}
2121
{% if member.kind == "object" and member.hasCompanion %}
2222
{% elsif member.kind != "package" %}
23+
24+
{% if forloop.index == 6 and forloop.length > 7 %}
25+
<li id="show-hidden-by-default" onclick="toggleHiddenByDefault(this);">+ expand rest</li>
26+
<li class="hidden-by-default {% if member.hasCompanion %} with-companion {% endif %}">
27+
{% elsif forloop.index > 6 and forloop.length > 7 %}
28+
<li class="hidden-by-default {% if member.hasCompanion %} with-companion {% endif %}">
29+
{% else %}
2330
<li class="{% if member.hasCompanion %} with-companion {% endif %}">
31+
{% endif %}<!-- end li setter -->
32+
2433
<div class="entity-kinds">
2534
{% if member.hasCompanion %}
2635
<a class="letter-anchor object" href="{{ site.baseurl }}/api/{{ member.companionPath | join: "/" }}.html">O</a>
@@ -29,10 +38,28 @@ <h1><a class="entity-name" href="{{ site.baseurl }}/api/{{ pkg.path | join: "/"
2938
</div>
3039
<a class="entity-name" href="{{ site.baseurl }}/api/{{ member.path | join: "/" }}.html">{{ member.name }}</a>
3140
</li>
41+
42+
{% if forloop.last and forloop.index > 6 %}
43+
<li id="hide-hidden-by-default" onclick="toggleHiddenByDefault(this);">- collapse members</li>
3244
{% endif %}
45+
46+
{% endif %} <!-- end != "package" -->
47+
3348
{% endfor %}
3449
</ul>
3550
</li>
3651
{% endfor %}
3752
</ul>
3853
</div>
54+
<script>
55+
function toggleHiddenByDefault(li) {
56+
var ul = li.parentElement;
57+
58+
for (var i = 0; i < ul.children.length; i++) {
59+
var childLi = ul.children[i];
60+
if (childLi.classList.contains('hidden-by-default') || childLi.id == "hide-hidden-by-default" || childLi.id == "show-hidden-by-default") {
61+
childLi.classList.toggle('toggled');
62+
}
63+
}
64+
}
65+
</script>

doc-tool/resources/css/sidebar.css

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ div#content-wrapper div.index-wrapper {
1010
font-family: "Titillium Web", sans-serif;
1111
font-weight: 200;
1212
padding-left: 14px;
13+
padding-bottom: 75px;
1314
}
1415

1516
/** Mobile (x < 576px) sidebar: Defaults closed with 60% wide sidebar */
@@ -133,6 +134,30 @@ li.entity-package > ul.package-entities > li {
133134
transition: all 0.2s ease;
134135
}
135136

137+
li.entity-package > ul.package-entities > li#hide-hidden-by-default,
138+
li.entity-package > ul.package-entities > li#show-hidden-by-default {
139+
margin-left: 0;
140+
color: #ff4081;
141+
font-size: 13px;
142+
}
143+
144+
li.entity-package > ul.package-entities > li#hide-hidden-by-default:hover,
145+
li.entity-package > ul.package-entities > li#show-hidden-by-default:hover {
146+
cursor: pointer;
147+
}
148+
149+
li.entity-package > ul.package-entities > li#show-hidden-by-default,
150+
li.entity-package > ul.package-entities > li#hide-hidden-by-default.toggled,
151+
li.entity-package > ul.package-entities > li.hidden-by-default.toggled {
152+
display: block;
153+
}
154+
155+
li.entity-package > ul.package-entities > li.hidden-by-default,
156+
li.entity-package > ul.package-entities > li#show-hidden-by-default.toggled,
157+
li.entity-package > ul.package-entities > li#hide-hidden-by-default {
158+
display: none;
159+
}
160+
136161
li.entity-package > ul.package-entities > li.with-companion {
137162
margin-left: -92px;
138163
}

0 commit comments

Comments
 (0)