Skip to content

Commit c04ea4f

Browse files
odubtmcw
authored andcommitted
Fix ToC filter in default theme. (#457)
* Fix filter functionality. * Add missing semicolon. * Update tests. * Replace whitespace to appease tests. * Tweak whitespace. * Tweak whitespace.
1 parent 891b06c commit c04ea4f

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

default_theme/assets/site.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ var tocElements = document.getElementById('toc')
1111
document.getElementById('filter-input')
1212
.addEventListener('keyup', function (e) {
1313

14-
var i, element;
14+
var i, element, children;
1515

1616
// enter key
1717
if (e.keyCode === 13) {
@@ -32,14 +32,15 @@ document.getElementById('filter-input')
3232
var value = this.value.toLowerCase();
3333

3434
if (!value.match(/^\s*$/)) {
35-
match = function (text) {
36-
return text.toLowerCase().indexOf(value) !== -1;
35+
match = function (element) {
36+
return element.firstChild.innerHTML.toLowerCase().indexOf(value) !== -1;
3737
};
3838
}
3939

4040
for (i = 0; i < tocElements.length; i++) {
4141
element = tocElements[i];
42-
if (match(element.firstChild.innerHTML)) {
42+
children = Array.from(element.getElementsByTagName('li'));
43+
if (match(element) || children.some(match)) {
4344
element.classList.remove('display-none');
4445
} else {
4546
element.classList.add('display-none');
@@ -71,7 +72,7 @@ for (var j = 0; j < items.length; j++) {
7172

7273
function toggleSibling() {
7374
var stepSibling = this.parentNode.getElementsByClassName('toggle-target')[0];
74-
var icon = this.getElementsByClassName('icon')[0]
75+
var icon = this.getElementsByClassName('icon')[0];
7576
var klass = 'display-none';
7677
if (stepSibling.classList.contains(klass)) {
7778
stepSibling.classList.remove(klass);

default_theme/index._

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<div class='toggle-target display-none'>
3535
<% if (doc.members.static && doc.members.static.length) { %>
3636
<ul class='list-reset py1-ul pl1'>
37-
<li class='h5'>Static members</li>
37+
<li class='h5'><span>Static members</span></li>
3838
<% doc.members.static.forEach(function(member) { %>
3939
<li><a
4040
href='#<%=member.namespace%>'
@@ -46,7 +46,7 @@
4646
<% } %>
4747
<% if (doc.members.instance && doc.members.instance.length) { %>
4848
<ul class='list-reset py1-ul pl1'>
49-
<li class='h5'>Instance members</li>
49+
<li class='h5'><span>Instance members</span></li>
5050
<% doc.members.instance.forEach(function(member) { %>
5151
<li><a
5252
href='#<%=member.namespace%>'

test/fixture/html/nested.output.files

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<div class='toggle-target display-none'>
3535

3636
<ul class='list-reset py1-ul pl1'>
37-
<li class='h5'>Static members</li>
37+
<li class='h5'><span>Static members</span></li>
3838

3939
<li><a
4040
href='#Klass.isClass'
@@ -76,7 +76,7 @@
7676

7777

7878
<ul class='list-reset py1-ul pl1'>
79-
<li class='h5'>Instance members</li>
79+
<li class='h5'><span>Instance members</span></li>
8080

8181
<li><a
8282
href='#Klass#getFoo'
@@ -139,7 +139,7 @@
139139

140140

141141
<ul class='list-reset py1-ul pl1'>
142-
<li class='h5'>Instance members</li>
142+
<li class='h5'><span>Instance members</span></li>
143143

144144
<li><a
145145
href='#Foo#bar'
@@ -165,7 +165,7 @@
165165
<div class='toggle-target display-none'>
166166

167167
<ul class='list-reset py1-ul pl1'>
168-
<li class='h5'>Static members</li>
168+
<li class='h5'><span>Static members</span></li>
169169

170170
<li><a
171171
href='#customStreams.passthrough'

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy