Bel LaPointe 2022-02-10 10:49:42 -07:00
commit f0beec4fe6
2 changed files with 41 additions and 4 deletions

View File

@ -1,4 +1,5 @@
todo: todo:
- https://developer.mozilla.org/en-US/docs/Web/API/History/pushState#change_a_query_parameter
- preview default via q param - preview default via q param
- css - css
done:
- https://developer.mozilla.org/en-US/docs/Web/API/History/pushState#change_a_query_parameter

View File

@ -42,6 +42,10 @@
function init() { function init() {
drawTree() drawTree()
setInterval(drawTree, 100000) setInterval(drawTree, 100000)
navigateToQueryParams()
}
function navigateToQueryParams() {
var queryF = getParameterByName("f") var queryF = getParameterByName("f")
var queryQ = getParameterByName("q") var queryQ = getParameterByName("q")
console.log("init query f:", queryF, "q:", queryQ) console.log("init query f:", queryF, "q:", queryQ)
@ -99,7 +103,7 @@
if (!results || results.length == 0) if (!results || results.length == 0)
innerHTML = "no results" innerHTML = "no results"
disableMDE() disableMDE()
window.location.hash = "#?q="+q navigateToQuery("q", q)
document.getElementById("searchResults").innerHTML = innerHTML document.getElementById("searchResults").innerHTML = innerHTML
}) })
} }
@ -174,7 +178,29 @@
easyMDE.meta = { easyMDE.meta = {
id: id, id: id,
} }
window.location.hash = "#?f="+id navigateToQuery("f", id)
}
var lastNavigateToQuery = new Date()
function navigateToQuery(k, v) {
if (new Date() - lastNavigateToQuery < .1)
return
lastNavigateToQuery = new Date()
const url = new URL(window.location)
url.searchParams.set(k, v)
var hash = "#?"
const it = url.searchParams.entries()
let result = it.next()
while (!result.done) {
hash = hash + result.value[0] + "=" + result.value[1] + "&"
result = it.next()
}
window.location.hash = hash
}
window.onhashchange = () => {
navigateToQueryParams()
} }
function drawTree() { function drawTree() {
@ -255,7 +281,9 @@
<div id="saveFeedback" style="min-height: 1.2em; text-align: right;"> <div id="saveFeedback" style="min-height: 1.2em; text-align: right;">
</div> </div>
<!-- todo: each line no is an anchor --> <!-- todo: each line no is an anchor -->
<textarea id="my-text-area"></textarea> <div style="font-family:Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;">
<textarea id="my-text-area"></textarea>
</font>
</article> </article>
</div> </div>
</div> </div>
@ -291,6 +319,14 @@
codeSyntaxHighlighting: true, codeSyntaxHighlighting: true,
}, },
}) })
easyMDE.togglePreview()
/* todo */
setTimeout(() => {
var previews = document.getElementsByClassName("preview")
for (var i in previews) {
previews[i].classList.add("active")
}
}, 250)
function logValue() { function logValue() {
console.log(easyMDE.value()) console.log(easyMDE.value())