59 lines
1.8 KiB
JavaScript
59 lines
1.8 KiB
JavaScript
var hierarchy = document.getElementById("hierarchy");
|
|
var clickhandler = function(event) {
|
|
var elem = event.target;
|
|
if(elem.tagName.toLowerCase() == "span" && elem !== event.currentTarget) {
|
|
console.log(elem);
|
|
var type = elem.classList.contains("folder") ? "folder" : "file";
|
|
console.log("foo" + type);
|
|
if(type=="file") {
|
|
alert("File");
|
|
}
|
|
if (type == "folder") {
|
|
var isexpanded = elem.dataset.isexpanded=="true";
|
|
/*if (isexpanded) {
|
|
//elem.classList.remove("folder-open");
|
|
elem.classList.remove("fa-folder-o");
|
|
elem.classList.add("fa-folder");
|
|
//elem.classList.add("folder-close");
|
|
} else {
|
|
elem.classList.add("fa-folder-o");
|
|
elem.classList.remove("fa-folder");
|
|
}*/
|
|
if ( !isexpanded ) {
|
|
console.log("fetch");
|
|
fetchTable(elem.parentElement);
|
|
//hierarchy.removeEventListener("click",clickhandler);
|
|
//hierarchy.addEventListener("click", clickhandler);
|
|
|
|
}
|
|
elem.dataset.isexpanded = !isexpanded;
|
|
var toggleelms = [].slice.call(elem.parentElement.children);
|
|
console.log(toggleelms);
|
|
console.log(elem.parentElement);
|
|
var classnames = "file,foldercontainer,noitems".split(",");
|
|
toggleelms.forEach(function(element) {
|
|
if(classnames.some(function(val) {
|
|
return element.classList.contains(val);
|
|
}))
|
|
element.style.display = isexpanded ? "none" : "block";
|
|
});
|
|
|
|
}
|
|
}
|
|
};
|
|
hierarchy.addEventListener("click",
|
|
// Check if the clicked element matches the element you're interested in
|
|
//if (event.target.classList.contains('folder')) {
|
|
// Handle the click event here
|
|
clickhandler
|
|
//}
|
|
);
|
|
//hierarchy.addEventListener("click", clickhandler);
|
|
hierarchy.addEventListener("click", function(event) {
|
|
// Check if the clicked element matches the element you're interested in
|
|
//if (event.target.classList.contains('folder')) {
|
|
// Handle the click event here
|
|
clickhandler(event);
|
|
//}
|
|
});
|