diff options
author | Griffin Smith <grfn@gws.fyi> | 2021-12-14T02·28-0500 |
---|---|---|
committer | Griffin Smith <grfn@gws.fyi> | 2021-12-14T02·45-0500 |
commit | c3cb7b0df82479016c252ef45a302f566bd569f6 (patch) | |
tree | 2f60fac21680a379950c7d34c2e12304e10cc115 /users/grfn/bbbg/resources/main.js | |
parent | 479e9ea279a157d81964a9b8cc97423b484921e6 (diff) |
feat(grfn/bbbg): Init r/3233
This will eventually become a signup sheet + no-show tracker for my local board game meetup group Change-Id: Id8d1d80d95d1e2fda5041275cff2fecfd6fa43f1
Diffstat (limited to 'users/grfn/bbbg/resources/main.js')
-rw-r--r-- | users/grfn/bbbg/resources/main.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/users/grfn/bbbg/resources/main.js b/users/grfn/bbbg/resources/main.js new file mode 100644 index 000000000000..d4752f114167 --- /dev/null +++ b/users/grfn/bbbg/resources/main.js @@ -0,0 +1,49 @@ +window.onload = () => { + console.log("loaded"); + const input = document.getElementById("name-autocomplete"); + if (input != null) { + const eventID = document.getElementById("event-id").value; + + const autocomplete = new autoComplete({ + selector: "#name-autocomplete", + placeHolder: "Enter your name", + data: { + src: async (query) => { + const resp = await fetch( + `/attendees.json?q=${query}&event_id=${eventID}&attended=false` + ); + console.log("got resp"); + const { results } = await resp.json(); + return results; + }, + keys: ["bbbg.attendee/meetup-name"], + }, + resultItem: { + highlight: { + render: true, + }, + }, + }); + + input.addEventListener("selection", function (event) { + const attendee = event.detail.selection.value; + event.target.value = attendee["bbbg.attendee/meetup-name"]; + + const attendeeID = attendee["bbbg.attendee/id"]; + document.getElementById("attendee-id").value = attendeeID; + document.getElementById("signup-form").removeAttribute("disabled"); + document + .getElementById("signup-form") + .querySelector('input[type="submit"]') + .removeAttribute("disabled"); + }); + } + + document.querySelectorAll("form").forEach((form) => { + form.onsubmit = (e) => { + if (e.target.attributes.disabled) { + e.preventDefault(); + } + }; + }); +}; |