i am really sorry

This commit is contained in:
nate smith 2024-02-14 20:40:52 -08:00
parent c397766687
commit dba4aa02c1

View File

@ -4,6 +4,13 @@ const $$ = document.querySelectorAll.bind(document);
const initialLines = 10; const initialLines = 10;
// I am truly sorry
function invoker(methodName) {
return function(a) {
return a[methodName]();
}
}
class Button extends HTMLButtonElement { class Button extends HTMLButtonElement {
constructor() { constructor() {
super(); super();
@ -76,9 +83,7 @@ class LineAdder extends Button {
class PoemRegenner extends Button { class PoemRegenner extends Button {
click() { click() {
$$(".unpinned").forEach((e) => { $$(".unpinned").forEach(invoker("regen"));
e.regen();
});
} }
} }
@ -119,12 +124,8 @@ class PoemLines extends HTMLDivElement {
constructor() { constructor() {
super(); super();
this.addEventListener("reorder", () => { this.addEventListener("reorder", () => {
this.querySelectorAll("button[is=line-downer]").forEach((e) => { $$("button[is=line-downer]").forEach(invoker("checkDisabled"));
e.checkDisabled(); $$("button[is=line-upper]").forEach(invoker("checkDisabled"));
});
this.querySelectorAll("button[is=line-upper]").forEach((e) => {
e.checkDisabled();
});
}); });
} }
@ -144,9 +145,7 @@ class PoemLines extends HTMLDivElement {
} }
reset() { reset() {
this.querySelectorAll("div.line").forEach((e) => { this.querySelectorAll("div.line").forEach(invoker("remove"));
e.remove();
});
this.init() this.init()
} }