PageSourceSearch

https://www.mwlesvos.gr/wp-content/themes/city-portal/assets/js/events.js

js mwlesvos.gr collected 2026-10-02 13:50:16 UTC 2,304 bytes, 60 lines download raw bytes

1import { jsonToFormdata, fetchData, showLoading } from "./helper-modules.js";
2
3document.addEventListener("DOMContentLoaded", () => {
4  const eventsContent = document.querySelector(".events-content");
5  const prevMonth = document.getElementById("datepicker-prev");
6  const nextMonth = document.getElementById("datepicker-next");
7  const eventsMonthAndYear = document.querySelector(".events-month-year");
8
9  const generateAjaxData = (travelTo = " 0 months", limit = 4) => {
10    return {
11      lang: script.lang,
12      action: "fetch_events",
13      nonce: events.nonce,
14      current_date: eventsMonthAndYear.dataset.date,
15      travel_to: travelTo,
16      limit: limit,
17    };
18  };
19
20  const fetchRequestedEvents = async (url, data) => {
21    showLoading(eventsContent, events.loadingImage);
22
23    const res = await fetchData(url, data);
24
25    if (!res.success) {
26      eventsContent.innerHTML = `<h3> ${events.ajaxFailed} </h3>`;
27      return;
28    }
29
30    eventsContent.innerHTML = res.events_html;
31    eventsMonthAndYear.dataset.date = res.new_date;
32    eventsMonthAndYear.innerHTML = `${res.new_month} ${res.new_year}`;
33  };
34
35  if (window.__eventsInitial && !window.location.pathname.includes("cw-events")) {
36    eventsContent.innerHTML = window.__eventsInitial.events_html;
37    eventsMonthAndYear.dataset.date = window.__eventsInitial.new_date;
38    eventsMonthAndYear.innerHTML = `${window.__eventsInitial.new_month} ${window.__eventsInitial.new_year}`;
39  } else {
40    const data = window.location.pathname.includes("cw-events") ? generateAjaxData(" 0 months", -1) : generateAjaxData();
41    const formData = jsonToFormdata(data);
42    fetchRequestedEvents(events.ajaxUrl, formData);
43  }
44
45  prevMonth.addEventListener("click", (e) => {
46    const limit = prevMonth.classList.contains("from-archive") ? -1 : 4;
47    const data = generateAjaxData(" -1 months", limit);
48    const formData = jsonToFormdata(data);
49
50    fetchRequestedEvents(events.ajaxUrl, formData);
51  });
52
53  nextMonth.addEventListener("click", (e) => {
54    const limit = nextMonth.classList.contains("from-archive") ? -1 : 4;
55    const data = generateAjaxData(" +1 months", limit);
56    const formData = jsonToFormdata(data);
57
58    fetchRequestedEvents(events.ajaxUrl, formData);
59  });
60});

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.