PageSourceSearch

https://www.manchestertheatres.com/assets/js/load-more-by-date.js?v=146

js manchestertheatres.com collected 2026-10-02 05:37:49 UTC 17,168 bytes, 345 lines download raw bytes

1var mainLoop = 1;
2
3function getApiData() {
4    var weekArray = [
5        "Sunday",
6        "Monday",
7        "Tuesday",
8        "Wednesday",
9        "Thursday",
10        "Friday",
11        "Saturday",
12    ];
13    /*if(type == 'calendar' && lastDate)
14		requestHeader1.date_range.from_date = lastDate.split("-").reverse().join("-");*/
15    $("body").addClass("loading");
16
17    requestHeader1.page = page;
18    scrollEvent = 0;
19    if (typeof targetUrlPass != "undefined" && targetUrlPass != "") {
20        targetUrl = targetUrlPass;
21    } else {
22        targetUrl = "https://www.comparetheticketprice.com/api/v1/events";
23    }
24
25    var settings = {
26        url: targetUrl,
27        method: "GET",
28        timeout: 0,
29        headers: {
30            "data-x-request": JSON.stringify(requestHeader1),
31            Authorization: requestToken,
32            "Content-Type": "application/json",
33        },
34    };
35
36    $.ajax(settings).done(function (response) {
37        $("body").removeClass("loading");
38        scrollEvent = 1;
39        var response = JSON.parse(response);
40
41        if (response.more_flag == false) {
42            moreEvent = 0;
43        }
44        if (response.current_page < response.total_pages) {
45            moreEvent = 1;
46            page = page + 1;
47        } else {
48            moreEvent = 0;
49        }
50        var events = response.events;
51        var bannerData = response.section_banners;
52        var BannerOffset = 0;
53        if (events.length > 0) {
54            eventOffset = events.length + eventOffset;
55            for (var i = 0; i < events.length; i++) {
56                if (events[i].performance.length > 0) {
57                    var divId = "#event-" + events[i].date;
58                    if (!$("#event-" + events[i].date).length) {
59                        $("#event-list").append(
60                            `<h2>` + formatDateNew(events[i].date) + `</h2>`
61                        );
62                        $("#event-list").append(
63                            `<div class="row" id="event-` +
64                                events[i].date +
65                                `">`
66                        );
67                    }
68                    eventCount = events[i].performance.length;
69                    for (var j = 0; j < events[i].performance.length; j++) {
70                        var data = [];
71                        data["title"] = events[i].performance[j].title;
72                        data["description"] =
73                            events[i].performance[j].our_desc + "" + events[i].performance[j].description;
74                        data["slug"] = events[i].performance[j].slug;
75                        data["is_free"] = events[i].performance[j].is_free;
76                        data["is_offer"] = events[i].performance[j].is_offer;
77                        data["is_comp"] = events[i].performance[j].is_comp;
78                        data["venue"] =
79                            events[i].performance[j].venue_name +
80                            (events[i].performance[j].location
81                                ? ", " + events[i].performance[j].location
82                                : "");
83                        data["venue_slug"] =
84                            events[i].performance[j].venue_slug;
85                        data["event_slug"] = events[i].performance[j].slug;
86                        data["event_link"] =
87                            events[i].performance[j].event_link;
88                        data["resource_id"] =
89                            events[i].performance[j].resource_id;
90                        data["date"] = formatDateNew(
91                            events[i].performance[j].performance_date
92                        );
93                        data["media"] = events[i].performance[j].media;
94                        data["event"] = events[i].performance[j];
95                        setDataToView(data, eventCount, divId);
96                        lastDate = events[i].date;
97                    }
98                    if (events[i].more_flag) {
99                        d = new Date(events[i].performance[0].performance_date);
100                        var day = weekArray[d.getDay()];
101                        if (!$(".btn-date-row-" + events[i].date).length) {
102                            $("#event-list").append(
103                                '<div class="row"><div class="col-md-12 mb-5 text-center"><button data-total-events="' +
104                                    events[i].performance.length +
105                                    '" data-date="' +
106                                    events[i].date +
107                                    '" data-div-id="event-' +
108                                    events[i].date +
109                                    '" data-more="' +
110                                    events[i].more_flag +
111                                    '"  class="btn btn-dark more-event-by-day btn-date-row-' +
112                                    events[i].date +
113                                    '">View More Events For ' +
114                                    day +
115                                    "</button></div></div>"
116                            );
117                            $(
118                                ".more-event-by-day.btn-date-row-" +
119                                    events[i].date
120                            ).bind("click", moreEventByDay);
121                        } else {
122                            var currLen = $(
123                                ".btn-date-row-" + events[i].date
124                            ).attr("data-total-events");
125                            currLen = parseInt(currLen);
126                            $(".btn-date-row-" + events[i].date).attr(
127                                "data-total-events",
128                                currLen + events[i].performance.length
129                            );
130                        }
131                    } else if ($(".btn-date-row-" + events[i].date).length) {
132                        $(".btn-date-row-" + events[i].date).hide();
133                    }
134                    mainLoop++;
135
136                    if (i % 3 == 0) {
137                        loadBannerView(bannerData, BannerOffset, divId);
138                    }
139                    $("#event-list").append("</div>");
140                }
141            }
142        }
143    });
144}
145
146$(".more-event-by-day").on("click", moreEventByDay);
147
148function moreEventByDay() {
149    var more_performance_date = $(this).attr("data-date");
150    var len = $(this).attr("data-total-events");
151    var currentObj = $(this);
152    var divId = $(this).attr("data-div-id");
153    var moreFlag = $(this).attr("data-more");
154    requestHeader1.more_performance_date = more_performance_date;
155    requestHeader1.len = len;
156    requestHeader1.page = page;
157    if (moreFlag == 1) {
158        $("body").addClass("loading");
159        targetUrl = "https://www.comparetheticketprice.com/api/v1/more_events";
160        var settings = {
161            url: targetUrl,
162            method: "GET",
163            timeout: 0,
164            headers: {
165                "data-x-request": JSON.stringify(requestHeader1),
166                Authorization: requestToken,
167                "Content-Type": "application/json",
168            },
169        };
170
171        $.ajax(settings).done(function (response) {
172            $("body").removeClass("loading");
173            var response = JSON.parse(response);
174            var performance = response.performance[0];
175            if (performance.length > 0) {
176                if (performance.length > 0) {
177                    for (var i = 0; i < performance.length; i++) {
178                        var img =
179                            typeof performance[i]["media"] !== "undefined" &&
180                            performance[i]["media"].length > 0
181                                ? performance[i]["media"][0]["path"]
182                                : defaultImg;
183                        var stripClass = performance[i]["is_free"]
184                            ? "free-strip"
185                            : performance[i]["is_comp"]
186                            ? "comp-strip"
187                            : performance[i]["is_offer"]
188                            ? "offer-strip"
189                            : "";
190                        $("#" + divId).append(
191                            `<div class="col-md-2-5 col-sm-6 col-12 event-box"><div class="show-events"><a href="/event/` +
192                                performance[i]["slug"] +
193                                `" class="show-mobile mobile-title"><h4>
194                                ` +
195                                performance[i]["title"] +
196                                `</h4>
197                                </a><a href="/event/` +
198                                performance[i]["slug"] +
199                                `" class="` +
200                                stripClass +
201                                `"><img src="` +
202                                img +
203                                `" alt="` +
204                                performance[i]["title"] +
205                                `"></a><div class="show-detail"><a href="/event/` +
206                                performance[i]["slug"] +
207                                `" class="show-desktop desktop-title"><h4>` +
208                                performance[i]["title"] +
209                                `</h4></a><h6 class="venue"><a href="/whats-on/` +
210                                performance[i]["venue_slug"] +
211                                `">` +
212                                performance[i]["venue"] +
213                                `, ` +
214                                performance[i]["location"] +
215                                `</a></h6>
216                                <span class="show-mobile list-description">` +
217                                htmlToPlainText(
218                                    performance[i]["description"]
219                                ).substring(0, 240) +
220                                `</span>
221                                <ul class="event-btns"><li class="info"> <a href="#" class="more-info" data-toggle="modal" data-target="#largeModal2" data-json='` +
222                                JSON.stringify(performance[i])
223                                    .replace(/\//g, "\\/")
224                                    .replace(/'/g, "&apos;") +
225                                `'> More Info </a></li><li class="buy-btn"> <a href="` +
226                                performance[i]["event_link"] +
227                                `" target="_blank" onClick="trackLink(` +
228                                performance[i]["resource_id"] +
229                                `,'` +
230                                performance[i]["event_link"] +
231                                `')"> ` +
232                                (performance[i]["is_free"] ? "Book" : "Buy") +
233                                ` Tickets </a></li></ul> </div></div></div>`
234                        );
235                        $("#show-events a.more-info").bind(
236                            "click",
237                            function () {
238                                popup = $("#largeModal2");
239                                var dataJson = $(this).attr("data-json");
240                                //dataJson = JSON.stringify(dataJson);
241                                dataJson = JSON.parse(dataJson);
242                                //var dataJson = JSON.parse(this["eventData"+eventCount]);
243                                //console.log(dataJson.media);
244
245                                //alert(dataJson);
246                                if (
247                                    typeof dataJson.venue_thumb !==
248                                        "undefined" &&
249                                    dataJson.venue_thumb
250                                )
251                                    popup
252                                        .find("img.event_popup_img")
253                                        .attr("src", dataJson.venue_thumb);
254                                else if (
255                                    typeof dataJson.media !== "undefined" &&
256                                    dataJson.media[0].path
257                                )
258                                    popup
259                                        .find("img.event_popup_img")
260                                        .attr("src", dataJson.media[0].path);
261                                else
262                                    popup
263                                        .find("img.event_popup_img")
264                                        .attr("src", defaultImg);
265                                if (
266                                    dataJson.video &&
267                                    dataJson.video.image_path
268                                ) {
269                                    popup
270                                        .find("iframe.inner-video")
271                                        .attr("src", dataJson.video.image_path);
272                                    popup.find(".event_popup_videolink").show();
273                                } else
274                                    popup.find(".event_popup_videolink").hide();
275                                popup
276                                    .find(".event_popup_title")
277                                    .html(dataJson.title);
278                                popup
279                                    .find(".event_popup_venue")
280                                    .html(dataJson.venue_name);
281                                popup
282                                    .find(".event_popup_venue")
283                                    .attr(
284                                        "href",
285                                        "/whats-on/" + dataJson.venue_slug
286                                    );
287                                popup
288                                    .find(".event_popup_date")
289                                    .html(dataJson.date);
290                                popup
291                                    .find(".event_popup_desc")
292                                    .html(dataJson.our_desc + " " + dataJson.description);
293                                popup
294                                    .find(".event_popup_link")
295                                    .each(function () {
296                                        $(this).attr(
297                                            "href",
298                                            "/event/" +
299                                                (dataJson.event_slug
300                                                    ? dataJson.event_slug
301                                                    : dataJson.slug)
302                                        );
303                                    });
304                                var buylink = dataJson.event_link
305                                    ? dataJson.event_link
306                                    : "/event/" +
307                                      (dataJson.event_slug
308                                          ? dataJson.event_slug
309                                          : dataJson.slug);
310                                var target = dataJson.event_link
311                                    ? "_blank"
312                                    : "_self";
313                                popup
314                                    .find(".event_popup_buylink")
315                                    .attr("href", buylink);
316                                popup
317                                    .find(".event_popup_buylink")
318                                    .attr("target", target);
319                                if (dataJson.event_link) {
320                                    popup
321                                        .find(".event_popup_buylink")[0]
322                                        .bind(
323                                            "click",
324                                            trackLink(
325                                                dataJson.resource_id,
326                                                dataJson.event_link
327                                            )
328                                        );
329                                }
330                                popup.find("iframe.inner-video").hide();
331                                popup.find("img.event_popup_img").show();
332                            }
333                        );
334                    }
335                }
336                var latestTotal = parseInt(len) + parseInt(performance.length);
337                currentObj.attr("data-total-events", latestTotal);
338                currentObj.attr("data-more", response.more_flag);
339                if (!response.more_flag) {
340                    currentObj.hide();
341                }
342            }
343        });
344    }
345}

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.