32 lines
1001 B
JavaScript
32 lines
1001 B
JavaScript
function filter_files(side) {
|
|
var elements = Array.from(document.getElementsByClassName(side+ '-align'));
|
|
let visibility = !side ? "see" : "nosee";
|
|
|
|
let filter_value = document.getElementById(side+"_filter").value;
|
|
elements.forEach((x) => {
|
|
if ( !filter_value) {
|
|
x.classList.remove("nosee");
|
|
x.classList.add("see");
|
|
}
|
|
else if (x.parentElement
|
|
&& x.parentElement.parentElement
|
|
&& x.parentElement.parentElement.id.startsWith("hierarchy")
|
|
&& x.textContent === x.parentElement.parentElement.dataset.folder) {
|
|
x.classList.remove("nosee");
|
|
x.classList.add("see");
|
|
}
|
|
|
|
else if (!(x.classList.contains("file") || x.classList.contains("folder") || x.classList.contains("foldercontainer"))) {
|
|
x.classList.remove("nosee");
|
|
x.classList.add("see");
|
|
}
|
|
else if (filter_value && x.textContent.match(new RegExp(filter_value))) {
|
|
x.classList.remove("nosee");
|
|
x.classList.add("see");
|
|
} else {
|
|
x.classList.add("nosee");
|
|
x.classList.remove("see");
|
|
}
|
|
});
|
|
}
|