{"version":3,"file":"pages-events.js","mappings":"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","sources":["webpack://silverstripe-base/./themes/app/src/pages/events.js","webpack://silverstripe-base/./themes/app/src/scripts/common/ajax.js","webpack://silverstripe-base/./themes/app/src/scripts/common/scroll-to.js","webpack://silverstripe-base/./themes/app/src/scripts/common/util.js"],"sourcesContent":["import Swiper from \"swiper\";\nimport { A11y, Autoplay, EffectFade, Pagination, Scrollbar } from \"swiper/modules\";\nimport \"@styles/components/slider.css\";\nimport easydropdown from \"easydropdown-a11y\";\nimport \"@styles/components/dropdown.css\";\nimport { on } from \"delegated-events\";\nimport ajax from \"@common/ajax\";\nimport { scrollToIfNeeded } from \"@common/scroll-to\";\nimport { generateQueryString } from \"@common/util\";\nimport { Calendar } from \"@fullcalendar/core\";\nimport dayGridPlugin from \"@fullcalendar/daygrid\";\n\nconst state = {\n calendar: null,\n};\n\nconst form = document.querySelector(\".filter-form\");\n\nconst setupDropdown = (el) => {\n if (el.tagName !== \"SELECT\") {\n return;\n }\n\n const opts = {\n behavior: {\n openOnFocus: true,\n maxVisibleItems: 10,\n liveUpdates: true,\n useNativeUiOnMobile: false,\n },\n };\n\n easydropdown(el, opts);\n};\n\nconst handleFilterChange = (e) => {\n e && e.preventDefault();\n\n const params = new FormData(form);\n const queryString = generateQueryString(params);\n\n const windowUrl = new URL(window.location.href);\n const windowParams = new URLSearchParams(windowUrl.search);\n\n if (windowParams.has(\"view\")) {\n queryString.set(\"view\", windowParams.get(\"view\"));\n }\n\n const url = queryString.size ? `${form.action}?${queryString}` : form.action;\n\n window.history.replaceState({}, \"\", url);\n\n updateResults();\n};\n\nconst handleFilterClear = () => {\n form.reset();\n form.querySelectorAll(\"select\").forEach((x) => (x.value = \"\"));\n\n window.history.replaceState({}, \"\", form.action);\n\n updateResults();\n\n document.body.classList.remove(\"is-searching\");\n};\n\nconst handleView = (e) => {\n const button = e.target.closest(\"button\");\n\n document.querySelectorAll(\".events-view-controls .is-active\").forEach((x) => x.classList.remove(\"is-active\"));\n\n button.classList.add(\"is-active\");\n\n const gridView = document.querySelector(\".events-view-grid\");\n const calendarView = document.querySelector(\".events-view-calendar\");\n const pastEvents = document.querySelector(\".events-past\");\n\n let selectedView = \"\";\n\n if (button.dataset.view === \"grid\") {\n gridView.classList.remove(\"hidden\");\n calendarView.classList.add(\"hidden\");\n selectedView = \"grid\";\n\n if (pastEvents) {\n pastEvents.classList.remove(\"hidden\");\n }\n\n setupEventSliders();\n } else {\n gridView.classList.add(\"hidden\");\n calendarView.classList.remove(\"hidden\");\n selectedView = \"calendar\";\n\n if (pastEvents) {\n pastEvents.classList.add(\"hidden\");\n }\n\n setupCalendar();\n }\n\n const windowUrl = new URL(window.location.href);\n const params = new URLSearchParams(windowUrl.search);\n\n params.set(\"view\", selectedView);\n\n windowUrl.search = params.toString();\n\n window.history.replaceState({}, \"\", windowUrl);\n};\n\nconst handleSwitchToGridView = () => {\n const selected = document.querySelector(\".events-view-controls .is-active\");\n\n if (selected.dataset.view === \"calendar\") {\n selected.classList.remove(\"is-active\");\n\n document.querySelector('.events-view-controls [data-view=\"grid\"]').classList.add(\"is-active\");\n\n const gridView = document.querySelector(\".events-view-grid\");\n const calendarView = document.querySelector(\".events-view-calendar\");\n\n gridView.classList.remove(\"hidden\");\n calendarView.classList.add(\"hidden\");\n\n const windowUrl = new URL(window.location.href);\n const params = new URLSearchParams(windowUrl.search);\n\n params.set(\"view\", \"grid\");\n\n windowUrl.search = params.toString();\n\n window.history.replaceState({}, \"\", windowUrl);\n }\n};\n\nconst updateResults = async () => {\n const pageContent = document.querySelector(\"[data-page-content]\");\n\n pageContent.classList.add(\"is-loading\");\n\n const res = await ajax.get(window.location.href).json();\n\n pageContent.innerHTML = res.page;\n pageContent.classList.remove(\"is-loading\");\n\n if (res.isFiltered) {\n form.classList.add(\"is-filtered\");\n scrollToIfNeeded(pageContent, 24);\n } else {\n form.classList.remove(\"is-filtered\");\n }\n\n setupEventSliders();\n setupCalendar();\n};\n\nconst setupFeaturedSlider = () => {\n const slider = document.querySelector(\".featured-slider\");\n\n if (slider) {\n const container = slider.querySelector(\".swiper\");\n const numSlides = slider.querySelectorAll(\".swiper-slide\").length;\n\n if (numSlides > 1) {\n const opts = {\n modules: [A11y, Autoplay, EffectFade, Pagination],\n autoplay: {\n delay: 6000,\n pauseOnMouseEnter: true,\n },\n effect: \"fade\",\n fadeEffect: {\n crossFade: true,\n },\n loop: true,\n speed: 1000,\n allowTouchMove: false,\n simulateTouch: false,\n };\n\n const swiper = new Swiper(container, opts);\n\n on(\"click\", \".featured-slider .next-slide\", () => swiper.slideNext());\n on(\"click\", \".featured-slider .prev-slide\", () => swiper.slidePrev());\n }\n }\n};\n\nconst setupEventSliders = () => {\n document.querySelectorAll(\".events-slider\").forEach((el) => {\n if (el.classList.contains(\"did-init\")) {\n return;\n }\n\n el.classList.add(\"did-init\");\n\n const container = el.querySelector(\".swiper\");\n\n const swiper = new Swiper(container, {\n modules: [A11y, Autoplay, Scrollbar],\n autoplay: {\n delay: 4000,\n pauseOnMouseEnter: true,\n },\n slidesPerView: 1,\n spaceBetween: 16,\n speed: 500,\n freeMode: true,\n scrollbar: {\n el: el.querySelector(\".swiper-scrollbar\"),\n draggable: true,\n },\n breakpoints: {\n 768: {\n slidesPerView: 2,\n spaceBetween: 24,\n },\n 1024: {\n slidesPerView: 3,\n spaceBetween: 36,\n },\n },\n });\n\n const showAllToggles = el.querySelectorAll(\".show-all-toggle\");\n\n if (showAllToggles.length) {\n showAllToggles.forEach((button) => {\n button.addEventListener(\"click\", () => {\n el.classList.toggle(\"is-show-all\");\n\n if (el.classList.contains(\"is-show-all\")) {\n swiper.slideTo(0, 0);\n swiper.disable();\n\n handleSwitchToGridView();\n } else {\n el.classList.add(\"is-enabling\");\n swiper.enable();\n\n setTimeout(() => {\n el.classList.remove(\"is-enabling\");\n }, 300);\n }\n });\n });\n }\n });\n};\n\nconst setupCalendar = () => {\n const el = document.getElementById(\"events-calendar\");\n\n if (!el) {\n return;\n }\n\n if (!el.classList.contains(\"fc\")) {\n const endpoint = el.dataset.endpoint;\n\n state.calendar = new Calendar(el, {\n plugins: [dayGridPlugin],\n initialView: \"dayGridMonth\",\n aspectRatio: 1.6,\n dayMaxEvents: window.matchMedia(\"(min-width: 1024px)\").matches ? 3 : 0,\n headerToolbar: {\n left: \"\",\n center: \"prev,title,next\",\n right: \"\",\n },\n eventTimeFormat: {\n hour: \"numeric\",\n meridiem: \"short\",\n },\n events: async (info, success) => {\n const query = { start: info.startStr, end: info.endStr };\n const urlParams = new URLSearchParams(window.location.search);\n const searchCategory = urlParams.get(\"category\");\n const searchTerm = urlParams.get(\"search\");\n\n if (searchCategory) {\n query.category = searchCategory;\n }\n\n if (searchTerm) {\n query.search = searchTerm;\n }\n\n const resp = await ajax.url(endpoint).query(query).get().json();\n\n success(resp);\n\n el.querySelectorAll(\"a.fc-event\").forEach((anchor) => {\n if (anchor.href.includes(\"_modal\")) {\n anchor.setAttribute(\"data-modal\", \"content\");\n anchor.setAttribute(\"data-modal-use-custom-close\", \"true\");\n }\n });\n },\n moreLinkClick: () => {\n setTimeout(() => {\n document.querySelectorAll(\".fc-popover-body a.fc-event\").forEach((anchor) => {\n if (anchor.href.includes(\"_modal\")) {\n anchor.setAttribute(\"data-modal\", \"content\");\n anchor.setAttribute(\"data-modal-use-custom-close\", \"true\");\n }\n });\n }, 16);\n\n return \"popover\";\n },\n });\n }\n\n state.calendar.render();\n};\n\nconst init = () => {\n if (form) {\n form.querySelectorAll(\"select:not([multiple])\").forEach((el) => setupDropdown(el));\n\n on(\"change\", \".filter-form select\", handleFilterChange);\n on(\"submit\", \".filter-form\", handleFilterChange);\n on(\"click\", \".filter-form-clear\", handleFilterClear);\n\n on(\"click\", \".search-toggle\", () => {\n document.body.classList.toggle(\"is-searching\");\n\n if (document.body.classList.contains(\"is-searching\")) {\n form.querySelector('input[type=\"search\"]').focus();\n }\n });\n\n on(\"click\", \".events-view-controls button\", handleView);\n }\n\n setupFeaturedSlider();\n setupEventSliders();\n setupCalendar();\n};\n\ninit();\n","import wretch from 'wretch'\nimport QueryStringAddon from 'wretch/addons/queryString'\n\nwretch.options({\n headers: { 'X-Requested-With': 'XMLHttpRequest' },\n})\n\nexport default wretch().addon(QueryStringAddon)\n","import jump from \"jump.js\";\n\nconst getPageOffset = () => {\n let offset = 0;\n\n const siteHeader = document.querySelector(\".site-header\");\n\n if (siteHeader) {\n const siteHeaderHeight = getComputedStyle(document.documentElement).getPropertyValue(\"--site-header-height\");\n\n offset += parseInt(siteHeaderHeight);\n }\n\n return offset;\n};\n\nconst scrollTo = (target, additionalOffset = 0) => {\n const pageOffset = getPageOffset() * -1;\n\n if (target.dataset.scrollOffset) {\n additionalOffset = parseInt(target.dataset.scrollOffset);\n }\n\n let offset = pageOffset - additionalOffset;\n\n return new Promise((resolve) => {\n jump(target, {\n duration: 600,\n offset,\n callback: () => {\n resolve();\n },\n });\n });\n};\n\nexport const scrollToIfNeeded = (target, additionalOffset = 0) => {\n const rect = target.getBoundingClientRect();\n const viewportHeight = window.innerHeight || document.documentElement.clientHeight;\n const isInViewport = rect.top >= 0 && rect.bottom <= viewportHeight;\n const is50PercentFromTop = rect.top <= viewportHeight / 2;\n\n if (!isInViewport || !is50PercentFromTop) {\n return scrollTo(target, additionalOffset);\n }\n};\n\nexport default scrollTo;\n","export const isTouchDevice = \"ontouchstart\" in document.documentElement;\n\nexport const generateQueryString = (data = {}) => {\n let params = data;\n\n if (data instanceof FormData === true) {\n params = {};\n\n data.forEach((value, key) => (params[key] = value));\n }\n\n for (const key in params) {\n if (params[key] === \"\") {\n delete params[key];\n }\n }\n\n return new URLSearchParams(params);\n};\n\nexport const trackGoogleAnalytics = (event) => {\n if (window.dataLayer) {\n window.dataLayer.push(event);\n }\n};\n"],"names":["state","calendar","form","document","querySelector","handleFilterChange","e","preventDefault","params","FormData","queryString","generateQueryString","windowUrl","URL","window","location","href","windowParams","URLSearchParams","search","has","set","get","url","size","action","history","replaceState","updateResults","async","pageContent","classList","add","res","ajax","json","innerHTML","page","remove","isFiltered","scrollToIfNeeded","setupEventSliders","setupCalendar","querySelectorAll","forEach","el","contains","container","swiper","Swiper","modules","A11y","Autoplay","Scrollbar","autoplay","delay","pauseOnMouseEnter","slidesPerView","spaceBetween","speed","freeMode","scrollbar","draggable","breakpoints","showAllToggles","length","button","addEventListener","toggle","slideTo","disable","handleSwitchToGridView","selected","dataset","view","gridView","calendarView","toString","enable","setTimeout","getElementById","endpoint","Calendar","plugins","dayGridPlugin","initialView","aspectRatio","dayMaxEvents","matchMedia","matches","headerToolbar","left","center","right","eventTimeFormat","hour","meridiem","events","info","success","query","start","startStr","end","endStr","urlParams","searchCategory","searchTerm","category","anchor","includes","setAttribute","moreLinkClick","render","tagName","easydropdown","behavior","openOnFocus","maxVisibleItems","liveUpdates","useNativeUiOnMobile","setupDropdown","on","handleFilterClear","reset","x","value","body","focus","target","closest","pastEvents","selectedView","setupFeaturedSlider","slider","opts","EffectFade","Pagination","effect","fadeEffect","crossFade","loop","allowTouchMove","simulateTouch","slideNext","slidePrev","wretch","options","headers","addon","QueryStringAddon","scrollTo","additionalOffset","pageOffset","getPageOffset","offset","siteHeaderHeight","getComputedStyle","documentElement","getPropertyValue","parseInt","scrollOffset","Promise","resolve","jump","duration","callback","rect","getBoundingClientRect","viewportHeight","innerHeight","clientHeight","isInViewport","top","bottom","is50PercentFromTop","data","key","trackGoogleAnalytics","event","dataLayer","push"],"sourceRoot":""}