start on copying, fix saving

This commit is contained in:
nate smith 2024-03-09 15:03:36 -08:00
parent b664bb8d26
commit 14636b269e
2 changed files with 12 additions and 11 deletions

View File

@ -329,12 +329,16 @@ class PoemSaver extends HTMLFormElement {
connectedCallback() { connectedCallback() {
this.addEventListener("submit", (e) => { this.addEventListener("submit", (e) => {
e.preventDefault(); e.preventDefault();
const saveType = this.querySelector("input[name=type]"); if (e.submitter.innerText == "copy") {
const includeSources = this.querySelector("input[name=sources]").checked; // TODO
if (saveType.value == "text") {
this.saveText(includeSources);
} else { } else {
this.saveImage(includeSources); const saveType = this.querySelector("input[name=type]");
const includeSources = this.querySelector("input[name=sources]").checked;
if (saveType.value == "text") {
this.saveText(includeSources);
} else {
this.saveImage(includeSources);
}
} }
}); });
} }
@ -342,7 +346,7 @@ class PoemSaver extends HTMLFormElement {
saveText(includeSources) { saveText(includeSources) {
var text = ""; var text = "";
var sources = ""; var sources = "";
$$(".line").forEach((e) => { $$(".linetext").forEach((e) => {
text += e.innerText + "\n"; text += e.innerText + "\n";
sources += e.dataset.source + "\n" sources += e.dataset.source + "\n"
}) })
@ -350,12 +354,8 @@ class PoemSaver extends HTMLFormElement {
text += "\n\nsources:\n" + sources; text += "\n\nsources:\n" + sources;
} }
// TODO getting the line controls included
// TODO timestamp has decimal place
// TODO sources undefined
const blob = new Blob([text], {type: "text/plain"}); const blob = new Blob([text], {type: "text/plain"});
const fname = `trunkless-poem-${Date.now()/1000}.txt` const fname = `trunkless-poem-${Math.trunc(Date.now()/1000)}.txt`
const dlink = document.createElement("a"); const dlink = document.createElement("a");
dlink.download = fname; dlink.download = fname;
dlink.href = window.URL.createObjectURL(blob); dlink.href = window.URL.createObjectURL(blob);

View File

@ -63,6 +63,7 @@ span.linetext {
<input name="type" value="text" type="radio" checked="true"/>as text <input name="type" value="text" type="radio" checked="true"/>as text
<input name="type" value="image" type="radio"/>as image <input name="type" value="image" type="radio"/>as image
<input name="sources" type="checkbox"/>include sources <input name="sources" type="checkbox"/>include sources
<button type="submit">copy</button>
<button type="submit">save</button> <button type="submit">save</button>
</form> </form>
</div> </div>