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); 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]); }); } } } statDirTree( dirtree, ulToAdd = document.getElementsByTagName("ul")[0].children[1] ) { var li = ulToAdd.children; var skip = 0; for (let i = 1; i < dirtree.length; i++) { if (Array.isArray(dirtree[i])) { this.statDirTree(dirtree[i], li[skip + 1]); skip += 2; } else { if (dirtree[i] == "*modified") { li[skip].style.backgroundColor = "red"; } else { li[skip].style.removeProperty("background-color"); } skip += 1; } } } openFile(fileread) { let textArea = document.getElementsByTagName("textarea")[0]; textArea.disabled = false; 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"); } showSaveButton(show) { var saveButton = document.getElementById("saveBtn"); if (show) { saveButton.disabled = false; } else { saveButton.disabled = true; } } }