hide when nothing to edit is k

master
Bel LaPointe 2022-02-09 15:55:06 -07:00
parent aeea7f4855
commit ae7f9e18a8
1 changed files with 29 additions and 21 deletions

View File

@ -34,12 +34,11 @@
</style> </style>
<script> <script>
function init() { function init() {
/* TODO when no drawFile, disable editor or somethin */
drawTree() drawTree()
setInterval(drawTree, 100000) setInterval(drawTree, 100000)
var queryF = getParameterByName("f") var queryF = getParameterByName("f")
console.log("init query f:", queryF) console.log("init query f:", queryF)
if (!queryF || queryF.length == "") { if (queryF && queryF.length > 0) {
drawFile(queryF) drawFile(queryF)
} }
} }
@ -55,20 +54,20 @@
const title = document.getElementById("title").innerHTML ? document.getElementById("title").innerHTML : "" const title = document.getElementById("title").innerHTML ? document.getElementById("title").innerHTML : ""
const body = easyMDE.value() ? easyMDE.value() : "" const body = easyMDE.value() ? easyMDE.value() : ""
const id = easyMDE.meta.id ? easyMDE.meta.id : "" const id = easyMDE.meta.id ? easyMDE.meta.id : ""
var method = "PUT"
if (id == "")
method = "POST"
headers = {} headers = {}
if (title) if (title)
headers["Title"] = title headers["Title"] = title
http(method, "/api/v0/files" + (id == "" ? "" : "/"+id), (body, status) => { http("PUT", "/api/v0/files/" + id, (body, status) => {
console.log(status, body) if (status != 200) {
alert("todo") alert(`failed to push file ${id}: ${status}: ${body}`)
raise `failed to push file ${id}: ${status}: ${body}`
}
drawTree()
drawFile(id)
document.getElementById("saveFeedback").innerHTML = "success!"
// todo cancel set timeout on setmde
setTimeout(() => {document.getElementById("saveFeedback").innerHTML = ""}, 5000)
}, body, headers) }, body, headers)
drawTree()
document.getElementById("saveFeedback").innerHTML = "success!"
// todo cancel set timeout on setmde
setTimeout(() => {document.getElementById("saveFeedback").innerHTML = ""}, 5000)
} }
function drawFile(id) { function drawFile(id) {
if (!id || id.length < 1) { if (!id || id.length < 1) {
@ -80,12 +79,17 @@
} }
const title = headers("title") ? headers("title") : "" const title = headers("title") ? headers("title") : ""
setMDE(id, title, body) setMDE(id, title, body)
document.getElementById("saveFeedback").innerHTML = ""
}) })
} }
function drawNewFile(pid) { function drawNewFile(pid) {
setMDE(pid + "/" + crypto.randomUUID().substr(0, 5), "", "") setMDE(pid + "/" + crypto.randomUUID().substr(0, 5), "", "")
} }
function enableMDE() {
document.getElementById("article").style.display = "";
}
function disableMDE() {
document.getElementById("article").style.display = "none";
}
function setMDE(id, title, body) { function setMDE(id, title, body) {
if (id[0] == "/") if (id[0] == "/")
id = id.slice(1, id.length) id = id.slice(1, id.length)
@ -99,6 +103,7 @@
titlePath += ` <input type="button" value="${pids[pid]}" onclick="drawFile('${pids.slice(0, pid+1).join("/")}');"/> /` titlePath += ` <input type="button" value="${pids[pid]}" onclick="drawFile('${pids.slice(0, pid+1).join("/")}');"/> /`
} }
enableMDE()
document.getElementById("titlePath").innerHTML = titlePath document.getElementById("titlePath").innerHTML = titlePath
document.getElementById("title").innerHTML = title document.getElementById("title").innerHTML = title
easyMDE.value(body) easyMDE.value(body)
@ -168,14 +173,17 @@
</div> </div>
<div style="width: 100%; display: flex; flex-direction: row; flex-grow: 1;"> <div style="width: 100%; display: flex; flex-direction: row; flex-grow: 1;">
<div id="tree"></div> <div id="tree"></div>
<article style="flex-grow: 1; margin-left: 1em;"> <article id="article" style="display: none; flex-grow: 1; margin-left: 1em;">
<h1 style="display: flex; flex-direction: row;"> <div>
<span id="titlePath"> <h1 style="display: flex; flex-direction: row;">
</span> <span id="titlePath">
<span id="title" contenteditable style="flex-grow: 1;"></span> </span>
<input type="submit" value="SAVE" onclick="pushFile(); return false;"/> <span id="title" contenteditable style="flex-grow: 1;"></span>
<span id="saveFeedback"></span> <input type="submit" value="SAVE" onclick="pushFile(); return false;"/>
</h1> </h1>
</div>
<div id="saveFeedback" style="min-height: 1.2em; text-align: right;">
</div>
<textarea id="my-text-area"></textarea> <textarea id="my-text-area"></textarea>
</article> </article>
</div> </div>