forked from OpenPrograms/openprograms.github.io
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsearch.js
More file actions
37 lines (34 loc) · 1.05 KB
/
search.js
File metadata and controls
37 lines (34 loc) · 1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var repos = document.getElementsByName("content");
var repoBackup;
function initBackup() {
repoBackup = [];
for(var i = 0; i < repos.length; i++) {
repoBackup.push(repos[i].cloneNode(true));
}
}
function search() {
if(!repoBackup) {
initBackup();
}
var searchRepos = [];
var search = document.getElementById("searchbox").value.toLowerCase();
var parent = document.getElementById("searchbox").parentNode;
if(search.length < 2) {
searchRepos = repoBackup;
} else {
for(var i = 0; i < repoBackup.length; i++) {
var part = repoBackup[i];
if(part && part.textContent && part.textContent.toLowerCase().indexOf(search) >= 0) {
searchRepos.push(part);
}
}
}
while(repos.length > 0) {
var part = repos[0];
part.parentNode.removeChild(part);
}
for(var i = 0; i < searchRepos.length; i++) {
var part = searchRepos[i];
parent.appendChild(part.cloneNode(true));
}
}