You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.3 KiB
JavaScript
86 lines
2.3 KiB
JavaScript
class View {
|
|
constructor() {}
|
|
|
|
drawDirTree(
|
|
dirtree,
|
|
ulToAdd = document.getElementsByTagName("ul")[0],
|
|
parrentObj
|
|
) {
|
|
var dirtreeul = document.getElementsByTagName("ul");
|
|
var tag = document.createElement("li");
|
|
var text = document.createTextNode(dirtree[0]);
|
|
tag.appendChild(text);
|
|
tag.classList.add("caret");
|
|
|
|
ulToAdd.appendChild(tag);
|
|
if (dirtree.length > 1) {
|
|
var newul = document.createElement("ul");
|
|
newul.classList.add("nested");
|
|
|
|
tag.parentElement.appendChild(newul);
|
|
for (let i = 1; i < dirtree.length; i++) {
|
|
if (Array.isArray(dirtree[i])) {
|
|
this.drawDirTree(dirtree[i], newul, parrentObj);
|
|
} else {
|
|
var tag = document.createElement("li");
|
|
var text = document.createTextNode(dirtree[i]);
|
|
tag.appendChild(text);
|
|
newul.appendChild(tag);
|
|
var _this = this;
|
|
tag.addEventListener("click", function () {
|
|
parrentObj.loadFile(dirtree[0] + dirtree[i]);
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
openFile(fileread) {
|
|
let textArea = document.getElementsByTagName("textarea")[0];
|
|
textArea.value = fileread;
|
|
}
|
|
|
|
removeDirTree() {
|
|
let mainul = document.getElementsByTagName("ul")[0];
|
|
while (mainul.firstChild) {
|
|
mainul.lastChild.remove();
|
|
}
|
|
this.hloubka = 1;
|
|
}
|
|
|
|
dirTreeToggler() {
|
|
var toggler = document.getElementsByClassName("caret");
|
|
var i;
|
|
|
|
function addClass() {
|
|
this.nextSibling.classList.toggle("active");
|
|
this.classList.toggle("caret-down");
|
|
}
|
|
|
|
for (i = 0; i < toggler.length; i++) {
|
|
toggler[i].addEventListener("click", addClass);
|
|
}
|
|
toggler[0].classList.add("caret-down");
|
|
if (toggler[0].nextSibling) {
|
|
toggler[0].nextSibling.classList.add("active");
|
|
}
|
|
toggler[0].removeEventListener("click", addClass);
|
|
}
|
|
|
|
openSettings() {
|
|
var settings = document.getElementsByClassName("settingsbg")[0];
|
|
settings.style.display = "grid";
|
|
|
|
let repo = document.getElementById("inputRepository");
|
|
let baseDir = document.getElementById("inputBaseDir");
|
|
|
|
repo.value = localStorage.getItem("repo");
|
|
baseDir.value = localStorage.getItem("baseDir");
|
|
}
|
|
|
|
closeSettings() {
|
|
var settings = document.getElementsByClassName("settingsbg")[0];
|
|
settings.style.removeProperty("display");
|
|
}
|
|
}
|