From 6c8074201d89a480f9b021f61cc6ff2eae7bb283 Mon Sep 17 00:00:00 2001 From: Brian Cully Date: Mon, 12 May 2025 11:41:58 -0400 Subject: js: put save event back --- fretboard.mjs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'fretboard.mjs') 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); -- cgit v1.3