1import { a as __toESM, n as SiteModule_default } from "./lib-DxM6wEfp.js"; 2import { C as showError, T as t, _ as renderA11yMessage, b as requireTarget, c as focusElement, p as isClientError, w as showMessage, y as requireDataset } from "./Utils-rB3N7v_-.js"; 3import { t as useFocusTraps } from "./FocusTrap-DQ5wjUkW.js"; 4import { a as startEscapeListener, o as startInsertListener, r as removeEscapeHandler, t as addEscapeHandler } from "./KeyBoardEventHandlers-C0G58594.js"; 5import { c as require_aos, l as initCookieBar, r as useDialogButton, s as initUIElements } from "./Dialogs-Dhel80wj.js"; 6import { n as AxiosError, r as isAxiosError, t as client_default } from "./client-C9w93h5A.js"; 7import { n as setDefaults, t as AxiosForm } from "./AxiosForm-DqQe0jrG.js"; 8import { t as getFaker } from "./Faker-KUdio9a3.js"; 9import { n as initSearch } from "./SearchDialog-B9f4oZ8K.js"; 10import { t as includeFaker } from "./FormHelpers-1kXh7Tom.js"; 11var handleLoginClick = async (i) => { 12 let O = getEventTarget(i); 13 if (!O) return; 14 let { loadDialog: k } = useDialogButton("login"), { dialog: A, openDialog: j, closeDialog: M } = await k(O), N = A.querySelector("#login-form"); 15 N && initLoginForm(N, (i) => { 16 i.data.returnUrl && (location.href = i.data.returnUrl), M(); 17 }); 18 let P = A.querySelector("#password-reset-form"); 19 P && initPasswordResetForm(P, M), j(); 20}, handleRegistrationClick = async (i) => { 21 let O = getEventTarget(i); 22 if (!O) return; 23 let { loadDialog: k } = useDialogButton("registration"), { getForm: A, openDialog: j, closeDialog: M } = await k(O); 24 initRegistrationForm(A(), M), j(); 25}; 26const initRegistrationBtn = (i) => { 27 i.removeEventListener("click", handleRegistrationClick), i.addEventListener("click", handleRegistrationClick); 28}, initLoginBtn = (i) => { 29 i.removeEventListener("click", handleLoginClick), i.addEventListener("click", handleLoginClick); 30}; 31var getEventTarget = (i) => { 32 let O = i.currentTarget; 33 return !(O instanceof HTMLButtonElement) || O.classList.contains("loading") ? null : O; 34}; 35const initLoginForm = (i, O) => { 36 new AxiosForm(i, client_default, { 37 onSuccess(i, k) { 38 showMessage(t("login", "Login successfully")), O(k); 39 }, 40 onError(i, O) { 41 O instanceof AxiosError && isClientError(O) && i.addError("loginName", O.response?.data.message), showError(O); 42 } 43 }), includeFaker(i); 44 let j = i.closest(".login-outer-container"); 45 if (!j) return; 46 let M = j.querySelector(".registration-dialog-opener"); 47 M && initRegistrationBtn(M), (j.querySelectorAll(".toggle-forgot-password") ?? null).forEach((i) => { 48 i.addEventListener("click", () => { 49 let i = j.querySelector(".login-container"), O = j.querySelector(".reset-password-container"); 50 if (!O || !i) throw Error("No reset or login-container found"); 51 if (O.style.display === "none") { 52 i.style.display = "none", O.style.removeProperty("display"); 53 let k = O.querySelector("input[type=\"email\"]"); 54 k && k.focus(); 55 } else O.style.display = "none", i.style.removeProperty("display"), focusElement(i); 56 }); 57 }); 58}, initPasswordResetForm = (i, O) => { 59 new AxiosForm(i, client_default, { onSuccess(i, k) { 60 showMessage(k.data.message), O(); 61 } }); 62}, initRegistrationForm = (i, O = null) => { 63 new AxiosForm(i, client_default, { onSuccess(i, k) { 64 let A = k.data.message; 65 showMessage(A); 66 let j = k.data?.redirect ?? null; 67 j && (location.href = j), O && O(); 68 } }), includeFaker(i); 69 let k = () => i.querySelectorAll(".person-details").forEach((i) => i.style.removeProperty("display")), A = () => i.querySelectorAll(".person-details").forEach((i) => i.style.display = "none"), j = i.querySelector("input[name=\"email\"]"); 70 j && j.addEventListener("input", () => { 71 j.value.includes("fli") ? A() : k(); 72 }); 73}, initMenu = (i, O) => { 74 let k = document.querySelector("#mainmenu > ul"), A = i.parentElement; 75 if (!O || !k || !i || !A) throw Error("Could not initialize menu"); 76 let j = [...i.querySelectorAll("a"), ...i.querySelectorAll("button")], N = (i) => i.querySelector(":scope > button") ?? i.querySelector(":scope > a") ?? null, { createFocusTrap: P, startFocusTrap: F, stopLatestFocusTrap: I } = useFocusTraps(), L = null, R = () => L || (L = P(A), L), z = (O) => { 77 O.preventDefault(), i.scrollTop = 0, requireTarget(O.currentTarget); 78 let k = O.currentTarget.parentElement; 79 if (!k || !k.parentElement) return; 80 k.parentElement.querySelectorAll(".open").forEach((i) => { 81 i !== k && i.classList.remove("open"); 82 }), k.classList.add("open"), i.dataset.depth = k.dataset.depth ?? "", V(), W(); 83 let A = J(k); 84 A.removeAttribute("tabindex"), A.focus(); 85 }, B = (O) => { 86 O.preventDefault(), i.scrollTop = 0; 87 let k = O.currentTarget?.closest("li.has-sub"); 88 k?.classList.remove("open"); 89 let A = k?.parentElement?.closest("li.has-sub"); 90 i.dataset.depth = A?.dataset.depth || "1", V(), W(), k && N(k)?.focu
90s(), A && J(A).removeAttribute("tabindex"); 91 }; 92 i.querySelectorAll("li.has-sub").forEach((i) => { 93 N(i)?.addEventListener("click", z); 94 let O = i.querySelector(".btn-back"); 95 O && O.addEventListener("click", B); 96 }); 97 let V = () => { 98 j.forEach((i) => i.setAttribute("tabindex", "-1")); 99 }, H = () => (requireDataset(i.dataset.depth), Number.parseInt(i.dataset.depth)), U = () => { 100 let O = H(); 101 return O === 1 ? i.querySelector("ul") ?? null : i.querySelector(`li[data-depth="${O}"].open`)?.querySelector("ul") ?? null; 102 }, W = () => { 103 U()?.querySelectorAll(":scope >li").forEach((i) => { 104 N(i)?.removeAttribute("tabindex"); 105 }); 106 }, G = () => { 107 O.classList.remove("open"), i.classList.remove("open"), Y(), removeEscapeHandler(q), I(); 108 }, K = () => { 109 F(R(), document.activeElement, G), O.classList.add("open"), i.classList.add("open"), Y(), addEscapeHandler(q), V(), W(); 110 let k = U(); 111 k && J(k).removeAttribute("tabindex"); 112 }, q = (O = null) => { 113 O?.preventDefault(), i.classList.contains("open") ? I() : K(); 114 }, J = (i) => { 115 let O = i.querySelector(".menu-back"); 116 if (!O) throw Error("No back button found in list item"); 117 let k = O.querySelector("button.btn-back"); 118 if (!k) throw Error("No back button found in list item"); 119 return k; 120 }, Y = () => { 121 let O = i.classList.contains("open"); 122 k.setAttribute("aria-hidden", O ? "false" : "true"); 123 }; 124 return O.addEventListener("click", q), { 125 closeMenu: G, 126 openMenu: K 127 }; 128}; 129var import_aos = /* @__PURE__ */ __toESM(require_aos(), 1); 130window.showMessage = showMessage, window.showError = showError, initCookieBar(), initUIElements(document.body), SiteModule_default.isDevMode() && startInsertListener(), setDefaults({ 131 baseUrl: SiteModule_default.baseUrl + "actions/", 132 appendErrorToFormItem: !0, 133 hideErrorContainer: !0, 134 guessSubmitInput: !0, 135 errorWording: t("a11y", "Error:"), 136 onError(i, O) { 137 showError(O); 138 }, 139 startLoading() { 140 renderA11yMessage(t("a11y", "Loading")); 141 }, 142 continuousLoading() { 143 renderA11yMessage(t("a11y", "Still Loading")); 144 }, 145 afterInit(i) { 146 i.form.querySelectorAll("button[data-submit]").forEach((i) => { 147 i.type = "submit"; 148 }); 149 } 150}), startEscapeListener(); 151var navToggle = document.querySelector(".hamburger"), nav = document.querySelector("#mainmenu"); 152if (!nav || !navToggle) throw Error("Menu not found"); 153var { closeMenu } = initMenu(nav, navToggle), mainHtmlTag = document.querySelector("html"), scrollFunction = () => { 154 document.body.scrollTop > 50 || document.documentElement.scrollTop > 50 ? mainHtmlTag?.classList.add("fill-header") : mainHtmlTag?.classList.remove("fill-header"); 155}; 156window.addEventListener("load", scrollFunction), window.onscroll = scrollFunction, (() => { 157 let i = document.body.querySelector("#site-switcher"), O = document.body.querySelector("#site-switcher-btn"), k = i?.closest("li"); 158 if (!i || !O || !k) return; 159 let A = (O) => { 160 let k = O.target; 161 (!k || !i.contains(k)) && M(); 162 }, j = (k) => { 163 !i.contains(k.target) && !O.contains(k.target) && M(); 164 }, M = () => { 165 k.classList.remove("open"), i.setAttribute("aria-hidden", "true"), O.setAttribute("aria-expanded", "false"), document.removeEventListener("focusin", A), document.removeEventListener("mousedown", j); 166 }, N = () => { 167 closeMenu(), k.classList.add("open"), i.setAttribute("aria-hidden", "false"), O.setAttribute("aria-expanded", "true"), i.querySelector("a")?.focus(), document.removeEventListener("focusin", A), document.addEventListener("focusin", A), document.removeEventListener("mousedown", j), document.addEventListener("mousedown", j); 168 }; 169 O.addEventListener("click", () => { 170 k.classList.contains("open") ? M() : N(); 171 }); 172})(); 173var skipLinks = document.querySelectorAll(".nav-skip-wrap a[href=\"#mainmenu\"]"), skipLinkListener = (i) => { 174 i.preventDefault(); 175 let O = i.currentTarget.getAttribute("href"), k = O ? document.querySelector(O) : null; 176 if (k) { 177 k.classList.add("open"); 178 let i = document.querySelector(".hamburger"); 179 i && (i.classList.add("open"), i.focus()); 180 } 181}; 182skipLinks.forEach((i) => { 183 i.addEventListener("click", skipLinkListener); 184}); 185var { openSearchBtn, searchInput } = initSearch(); 186openSearchBtn.addEventListener("click", () => { 187 closeMenu(), window.setTimeout(() => { 188 searchInput.focus(); 189 }, 500); 190}), (async () => { 191 let i = document.body.querySelector(".news-index"); 192 if (!i) return; 193 let { initNewsIndex: O } = await import("./NewsIndex-r-IGFFzP.js"); 194 O(i); 195})(), (async () => { 196 let i = document.body.querySelector("#main-search"); 197 if (!i) return; 198 let { initMainSearch: O } = await import("./MainSearch--e5rcJDz.js"); 199 O(i); 200})(), document.body.querySelectorAll(".login-dialog-opener").forEach((i) => initLoginBtn(i)), (async () => { 201 let i = document.body.querySelector(".event-index"); 202 if (!i) return; 203 let { initEventIndex: O } = await import("./EventIndex-BdNn8VyI.js"); 204 O(i); 205})(), (async () => { 206 let i = document.body.querySelector(".publication-index"); 207 if (!i) return; 208 let { initPublicationIndex: O } = await import("./PublicationIndex-DPA77Euv.js"); 209 O(i); 210})(); 211var loginForm = document.body.querySelector("#login-form"); 212loginForm && initLoginForm(loginForm, (i) => { 213 i.data.returnUrl && (location.href = i.data.returnUrl); 214}); 215var resetForm = document.body.querySelector("#password-reset-form"); 216resetForm && initPasswordResetForm(resetForm, () => { 217 showMessage("Please check your email"); 218}); 219var registrationForm = document.body.querySelector("#registration-form"); 220registrationForm && initRegistrationForm(registrationForm, () => { 221 registrationForm.remove(); 222}), document.body.querySelectorAll(".reset-password-form").forEach((i) => { 223 let j = i.querySelectorAll("input[type=\"password\"]"); 224 new AxiosForm(i, client_default, { 225 onSuccess() { 226 showMessage(t("password", "Password changed")), SiteModule_default.dashBoardUrl && (location.href = SiteModule_default.dashBoardUrl); 227 }, 228 onError(i, O) { 229 if (isAxiosError(O)) { 230 let A = O.response?.data.message; 231 A && showError(A); 232 let M = O.response?.data[0] ?? null;
233 M && j.forEach((O) => i.addErrorsToInput(O, [M])); 234 } 235 } 236 }); 237}), window.testMessages = async () => { 238 let i = await getFaker(); 239 showError(i.lorem.sentence({ 240 min: 10, 241 max: 20 242 })), showMessage(i.lorem.sentence({ 243 min: 10, 244 max: 20 245 })); 246}, import_aos.default.init({ once: !0 });
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.