diff options
author | Simon Parri <simonparri@ganzeria.com> | 2025-02-16 23:29:02 -0600 |
---|---|---|
committer | Simon Parri <simonparri@ganzeria.com> | 2025-02-16 23:36:39 -0600 |
commit | ca51ae66c40c0f040b81a5ed7b39602eb30c4ad2 (patch) | |
tree | 01546304cf59582de29fd12e3c639e3aa1174397 /ie.html | |
download | onpoint-0.1.tar.gz onpoint-0.1.zip |
Add version 0.1v0.1
Diffstat (limited to 'ie.html')
-rw-r--r-- | ie.html | 35 |
1 files changed, 35 insertions, 0 deletions
@@ -0,0 +1,35 @@ +<form name=import-export onsubmit="return false"> +<p> +<input type=submit name=import value="Import data"> +<input type=submit name=export value="Export data"> +</form> + +<script> +$loaded_p.then(() => { + let f = document.forms["import-export"] + f.onsubmit = async e => { + e.preventDefault() + switch (e.submitter.name) { + case "import": + let file = await new Promise(r => + ė("input", {type: "file", onchange(e) { r(this.files[0]) }}) + .ǀ(e => f.append(e)).ǀ(ff`click`).remove()) + let reader = new FileReader() + reader.onload = + e => ṡ.set_all(JSON.parse(reader.result)) + .then(() => location.reload()) + reader.onerror = e => alert(reader.error) + reader.readAsText(file) + break + case "export": + let data = await ṡ.get_all(["deck", "settings"]), + blob = new Blob([JSON.stringify (data)], {type: "application/json"}), + href = URL.createObjectURL(blob) + ė("a", {href, download: "onpoint-export.json"}) + .ǀ(e => f.append(e)).ǀ(ff`click`).remove() + URL.revokeObjectURL(href) + break + } + } +}) +</script> |