chore(users): grfn -> aspen
Change-Id: I6c6847fac56f0a9a1a2209792e00a3aec5e672b9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10809 Autosubmit: aspen <root@gws.fyi> Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi>
This commit is contained in:
parent
0ba476a426
commit
82ecd61f5c
478 changed files with 75 additions and 77 deletions
73
users/aspen/bbbg/resources/public/main.js
Normal file
73
users/aspen/bbbg/resources/public/main.js
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
window.onload = () => {
|
||||
const input = document.getElementById("name-autocomplete");
|
||||
if (input != null) {
|
||||
const attendeeList = document.getElementById("attendees-list");
|
||||
const filterAttendees = (filter) => {
|
||||
if (filter == "") {
|
||||
for (let elt of attendeeList.querySelectorAll("li")) {
|
||||
elt.classList.remove("hidden");
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
let re = "";
|
||||
for (let c of filter) {
|
||||
re += `${c}.*`;
|
||||
}
|
||||
let filterRe = new RegExp(re, "i");
|
||||
|
||||
for (let elt of attendeeList.querySelectorAll("li")) {
|
||||
const attendee = JSON.parse(elt.dataset.attendee);
|
||||
if (attendee["bbbg.attendee/meetup-name"].match(filterRe) == null) {
|
||||
elt.classList.add("hidden");
|
||||
} else {
|
||||
elt.classList.remove("hidden");
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const attendeeIDInput = document.getElementById("attendee-id");
|
||||
const submit = document.querySelector("#submit-button");
|
||||
const signupForm = document.getElementById("signup-form");
|
||||
|
||||
input.oninput = (e) => {
|
||||
filterAttendees(e.target.value);
|
||||
attendeeIDInput.value = null;
|
||||
submit.classList.add("hidden");
|
||||
submit.setAttribute("disabled", "disabled");
|
||||
signupForm.setAttribute("disabled", "disabled");
|
||||
};
|
||||
|
||||
attendeeList.addEventListener("click", (e) => {
|
||||
if (!(e.target instanceof HTMLLIElement)) {
|
||||
return;
|
||||
}
|
||||
if (e.target.dataset.attendee == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
const attendee = JSON.parse(e.target.dataset.attendee);
|
||||
input.value = attendee["bbbg.attendee/meetup-name"];
|
||||
attendeeIDInput.value = attendee["bbbg.attendee/id"];
|
||||
|
||||
submit.classList.remove("hidden");
|
||||
submit.removeAttribute("disabled");
|
||||
signupForm.removeAttribute("disabled");
|
||||
});
|
||||
}
|
||||
|
||||
document.querySelectorAll("form").forEach((form) => {
|
||||
form.addEventListener("submit", (e) => {
|
||||
if (e.target.attributes.disabled) {
|
||||
e.preventDefault();
|
||||
}
|
||||
|
||||
const confirmMessage = e.target.dataset.confirm;
|
||||
if (confirmMessage != null && !confirm(confirmMessage)) {
|
||||
e.stopImmediatePropagation();
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue