PageSourceSearch

https://www.hypersuggest.com/assets/main/js/events/events.js?v=1.0.0

js hypersuggest.com collected 2026-09-29 03:06:31 UTC 7,331 bytes, 217 lines download raw bytes

1(function ($) {
2    "use strict";
3
4    hypertool.events = {};
5
6    $(document).on("show.bs.dropdown", ".event-dropdown", function () {
7        updateEventList();
8    });
9
10    let updateEventList = function () {
11        let formData = new FormData();
12        formData.append("data", JSON.stringify({}));
13
14        $.when(
15            hypertool.ajax("events_get_all", formData, function (response) {
16                if (response["status"] == "success") {
17                    if (response["data"]["items"].length > 0) {
18                        $(".event-dropdown .dropdown-menu").html(
19                            response["data"]["items"]
20                        );
21                        new SimpleBar(
22                            $(
23                                ".event-dropdown .dropdown-menu .events-dropdown-list"
24                            )[0]
25                        );
26                    }
27                }
28
29                if (
30                    response["status"] == "error" &&
31                    response["data"]["error_code"] === "invalid_auth"
32                ) {
33                    $("#request-validation-error").modal("show");
34                    return;
35                }
36
37                if (response["status"] == "error") {
38                }
39            })
40        );
41    };
42
43    $(document).on("visibilitychange", function () {
44        if (document.visibilityState === "visible") {
45            updateUnreadCount();
46        }
47    });
48
49    let checkEvents = function () {
50        let data = {
51            current_url: window.location.href,
52        };
53        let formData = new FormData();
54        formData.append("data", JSON.stringify(data));
55
56        $.when(
57            hypertool.ajax("events_check", formData, function (response) {
58                if (response["status"] == "success") {
59                    if (response["data"]["new_events_count"] > 0) {
60                        let currentCount = parseInt(
61                            $(".event-dropdown .event-indicator").text()
62                        );
63                        let unreadCount =
64                            currentCount +
65                            parseInt(response["data"]["new_events_count"]);
66                        $(".event-dropdown .event-indicator")
67                            .text(unreadCount)
68                            .removeClass("d-none");
69
70                        $(".toast").remove();
71                        $("body").append(response["data"]["toasts"]);
72
73                        if (response["data"]["redirect_url"] !== null) {
74                            window.location.href =
75                                response["data"]["redirect_url"];
76                        }
77
78                        $(".toast").each(function () {
79                            let newToast = new bootstrap.Toast($(this)[0]);
80                            newToast.show();
81                        });
82                    } else {
83                    }
84                }
85
86                if (
87                    response["status"] == "error" &&
88                    response["data"]["error_code"] === "invalid_auth"
89                ) {
90                    $("#request-validation-error").modal("show");
91                    return;
92                }
93            })
94        );
95    };
96
97    let updateUnreadCount = function () {
98        let formData = new FormData();
99        formData.append("data", JSON.stringify({}));
100
101        $.when(
102            hypertool.ajax(
103                "events_get_unread_count",
104                formData,
105                function (response) {
106                    if (response["status"] == "success") {
107                        $(".event-dropdown .event-indicator").text(
108                            response["data"]["unread_events_count"]
109                        );
110                    }
111
112                    if (
113                        response["status"] == "error" &&
114                        response["data"]["error_code"] === "invalid_auth"
115                    ) {
116                        $("#request-validation-error").modal("show");
117                        return;
118                    }
119                }
120            )
121        );
122    };
123
124    $(document).on("click", ".event-message-indicator", function (e) {
125        e.stopPropagation();
126        e.preventDefault();
127
128        let $indicator = $(this);
129        let eventId = $indicator
130            .closest(".event-message")
131            .attr("data-event-id");
132
133        $indicator.hide();
134
135        markAsRead(eventId);
136    });
137
138    $(document).on("click", ".event-message a", function (e) {
139        e.preventDefault();
140        let $anchor = $(this);
141        let $eventMessage = $anchor.closest(".event-message");
142        let eventId = $eventMessage.attr("data-event-id");
143
144        if ($eventMessage.hasClass("unread")) {
145            markAsRead(eventId);
146
147            setTimeout(function () {
148                window.location.href = $anchor.attr("href");
149            }, 200);
150        } else {
151            window.location.href = $anchor.attr("href");
152        }
153    });
154
155    let markAsRead = function (eventId) {
156        let data = {
157            event_id: eventId,
158        };
159
160        let formData = new FormData();
161        formData.append("data", JSON.stringify(data));
162
163        $.when(
164            hypertool.ajax("events_mark_read", formData, function (response) {
165                if (response["status"] == "success") {
166                    let currentCount = parseInt(
167                        $(".event-dropdown .event-indicator").text()
168                    );
169                    let unreadCount = currentCount > 0 ? currentCount - 1 : 0;
170                    if (unreadCount > 0) {
171                        $(".event-dropdown .event-indicator").text(unreadCount);
172                    } else {
173                        $(".event-dropdown .event-indicator").hide();
174                    }
175                }
176
177                if (
178                    response["status"] == "error" &&
179                    response["data"]["error_code"] === "invalid_auth"
180                ) {
181                    $("#request-validation-error").modal("show");
182                    return;
183                }
184            })
185        );
186    };
187
188    $(document).on("click", ".events-mark-all-indicator", function (e) {
189        e.stopPropagation();
190
191        let $indicator = $(this);
192        $indicator.hide();
193        $(".events-mark-all-spinner").show();
194
195        let data = {};
196
197        let formData = new FormData();
198        formData.append("data", JSON.stringify(data));
199
200        $.when(
201            hypertool.ajax("events_mark_read", formData, function (response) {
202                if (response["status"] == "success") {
203                    updateEventList();
204                    $(".event-dropdown .event-indicator").hide();
205                }
206
207                if (
208                    response["status"] == "error" &&
209                    response["data"]["error_code"] === "invalid_auth"
210                ) {
211                    $("#request-validation-error").modal("show");
212                    return;
213                }
214            })
215        );
216    });
217})(jQuery);

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.