diff options
| author | Brian Cully <bjc@spork.org> | 2025-05-12 11:41:58 -0400 |
|---|---|---|
| committer | Brian Cully <bjc@spork.org> | 2025-05-12 11:41:58 -0400 |
| commit | 6c8074201d89a480f9b021f61cc6ff2eae7bb283 (patch) | |
| tree | 6c0342ae66163a78dc903d60281ef8d98dc9cbb5 /fretboard.mjs | |
| parent | baacc2cb11f7a87c326f0df21d606da459d02483 (diff) | |
| download | chords-6c8074201d89a480f9b021f61cc6ff2eae7bb283.tar.gz chords-6c8074201d89a480f9b021f61cc6ff2eae7bb283.zip | |
js: put save event back
Diffstat (limited to 'fretboard.mjs')
| -rw-r--r-- | fretboard.mjs | 16 |
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); |
