summaryrefslogtreecommitdiffstats
path: root/fretboard.mjs
diff options
context:
space:
mode:
authorBrian Cully <bjc@spork.org>2025-05-12 11:41:58 -0400
committerBrian Cully <bjc@spork.org>2025-05-12 11:41:58 -0400
commit6c8074201d89a480f9b021f61cc6ff2eae7bb283 (patch)
tree6c0342ae66163a78dc903d60281ef8d98dc9cbb5 /fretboard.mjs
parentbaacc2cb11f7a87c326f0df21d606da459d02483 (diff)
downloadchords-6c8074201d89a480f9b021f61cc6ff2eae7bb283.tar.gz
chords-6c8074201d89a480f9b021f61cc6ff2eae7bb283.zip
js: put save event back
Diffstat (limited to 'fretboard.mjs')
-rw-r--r--fretboard.mjs16
1 files changed, 11 insertions, 5 deletions
diff --git a/fretboard.mjs b/fretboard.mjs
index 38fdc0f..d862952 100644
--- a/fretboard.mjs
+++ b/fretboard.mjs
@@ -83,16 +83,15 @@ function openClick(e) {
formChanged(elt.closest('form'));
}
-// export default function (form, { onSave }) {
-// }
-
export default class extends HTMLElement {
- static name = 'x-fretboard'
+ static name = 'x-fretboard';
static register() {
console.debug('Registering Element', this.name, this);
customElements.define(this.name, this);
}
+ saveEvent = 'x-fretboard-save';
+
constructor() {
super();
@@ -113,10 +112,17 @@ export default class extends HTMLElement {
elt.onmousedown = fretMousedown;
elt.onclick = fretClick;
});
+
form.querySelectorAll('.save').forEach(elt => {
elt.onclick = (e) => {
- e.preventDefault();
console.log('Fretboard#onSave');
+ e.preventDefault();
+ const event = new CustomEvent(this.saveEvent, {
+ bubbles: true,
+ cancelable: true,
+ detail: new FormData(form)
+ });
+ this.dispatchEvent(event);
};
})
formChanged(form);