summaryrefslogtreecommitdiffstats
path: root/fretboard.mjs
diff options
context:
space:
mode:
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);