class View { constructor() { this.simplemde = new SimpleMDE({ element: document.getElementById("editor"), spellChecker: false, }); } 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) { var editText = document.getElementById("editText"); editText.style.display = "grid"; this.simplemde.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"); saveButton.disabled = show; } }