From 6fda65bdc4668153e9942ea2bbbe42824d690a01 Mon Sep 17 00:00:00 2001 From: nate smith Date: Tue, 13 Feb 2024 00:32:53 -0800 Subject: [PATCH] regen button --- assets/main.js | 22 ++++++++++++++++------ templates/index.tmpl | 4 ++-- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/assets/main.js b/assets/main.js index 2acacdc..b27b51f 100644 --- a/assets/main.js +++ b/assets/main.js @@ -31,13 +31,25 @@ class LineAdder extends HTMLButtonElement { customElements.define("line-adder", LineAdder, { extends: "button" }); +class PoemRegenner extends HTMLButtonElement { + constructor() { + super(); + this.addEventListener("click", () => { + document.querySelectorAll(".unpinned").forEach((e) => { + e.parentElement.regen(); + }); + }); + } +} + +customElements.define("poem-regenner", PoemRegenner, {extends: "button"}); + class PoemLine extends HTMLDivElement { constructor() { super(); const ltp = document.querySelector("#linetmpl"); var l = ltp.content.cloneNode(true); this.appendChild(l); - this.addEventListener("regen", this.regen); // TODO will this be bound? } regen() { @@ -53,9 +65,7 @@ class PoemLine extends HTMLDivElement { } } -customElements.define("poem-line", PoemLine, { extends: "div" }); - -const regen = new Event("regen"); +customElements.define("poem-line", PoemLine, {extends: "div"}); class Lines extends HTMLDivElement { constructor() { @@ -66,10 +76,10 @@ class Lines extends HTMLDivElement { } add() { - var ld = document.createElement("div", { is: "poem-line" }); + var ld = document.createElement("div", {is: "poem-line"}); this.append(ld); ld.regen(); } } -customElements.define("lines-div", Lines, { extends: "div" }); +customElements.define("lines-div", Lines, {extends: "div"}); diff --git a/templates/index.tmpl b/templates/index.tmpl index d3abca4..8e17b80 100644 --- a/templates/index.tmpl +++ b/templates/index.tmpl @@ -10,7 +10,7 @@