přidání Settings

This commit is contained in:
2020-12-23 22:00:59 +01:00
parent ed2c6b8a1a
commit 2a919d5d56
5 changed files with 110 additions and 4 deletions

View File

@@ -7,8 +7,17 @@ class Controller {
var cloneBtn = document.getElementsByClassName("clone")[0];
var purgeBtn = document.getElementsByClassName("wipe")[0];
var settingsBtn = document.getElementsByClassName("settingsBtn")[0];
var settingsClose = document.getElementsByClassName("close");
var settingsSubmit = document.getElementById("settingsSubmit");
cloneBtn.addEventListener("click", this.cloneRep.bind(this));
purgeBtn.addEventListener("click", this.wipeFS.bind(this));
settingsBtn.addEventListener("click", view.openSettings.bind(this));
for (let i = 0; i < settingsClose.length; i++) {
settingsClose[i].addEventListener("click", view.closeSettings.bind(this));
}
settingsSubmit.addEventListener("click", this.saveSettings.bind(this));
}
wipeFS() {
@@ -40,4 +49,16 @@ class Controller {
function (error) {}
);
}
saveSettings() {
let repo = document.getElementById("inputRepository");
let baseDir = document.getElementById("inputBaseDir");
this.model.setRepo(repo.value);
this.model.setBaseDir(baseDir.value);
this.redrawDirTree(this.view);
this.view.closeSettings();
console.log(repo.value);
}
}

View File

@@ -35,8 +35,9 @@ class Model {
return dirtree;
}
async dirTree(dir = "/") {
var tree = await this.dirList(dir);
async dirTree() {
let baseDir = localStorage.getItem("baseDir");
var tree = await this.dirList(baseDir);
return tree;
}
@@ -47,12 +48,22 @@ class Model {
}
async cloneRep() {
this.wipeFS();
await git.clone({
fs,
http,
dir,
url: "https://git.microlab.space/microlab/website.git",
url: localStorage.getItem("repo"),
corsProxy: "https://cors.isomorphic-git.org",
});
}
setRepo(repoURL) {
localStorage.setItem("repo", repoURL);
}
setBaseDir(baseDir) {
localStorage.setItem("baseDir", baseDir);
}
}

View File

@@ -53,4 +53,20 @@ class View {
}
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");
}
}