PageSourceSearch

https://portal.hoou.de/wp-content/plugins/hoou-shortcodes/js/news_scripts.js?ver=1.0.3

js hoou.de collected 2026-09-24 17:34:06 UTC 9,735 bytes, 248 lines download raw bytes

1jQuery(document).ready(function($){
2    let currentNewsPage = 1;
3    let currentNews = 0;
4
5    let maxdots = jQuery("#news-dot-navigation").data("maxdots");
6
7    let currentAmount = 3;
8    let lastSize = 1920;
9
10    // home page scripts
11
12    function setNews(id){
13        jQuery(".news-wrap.news-wrap-mobile .mobile-news").hide();
14        jQuery(".news-wrap.news-wrap-mobile .news-"+id).show();
15        //focus the selected news-element for accessibility
16        jQuery(".news-wrap.news-wrap-mobile .news-"+id).focus();
17
18        jQuery(".navigation_image").removeClass("active_news");
19        jQuery(".navigation_image[data-newsid="+id+"]").addClass("active_news");
20        jQuery(".news-wrap.news-wrap-mobile .news-"+id +" .hoou-content-page-link").focus();
21        currentNews = id;
22    }
23
24    // Right navigation (next)
25    jQuery(".news_navigation_right").on("click", function() {
26        // If the current news item is the last one, go to the first
27        if (currentNews >= 3) {
28            setNews(0);
29        } else {
30            setNews(currentNews + 1);
31        }
32    }).on("keydown", function(event) {
33        // Trigger the same action when the Enter key is pressed
34        if (event.key === "Enter" || event.keyCode === 13) {
35            if (currentNews >= 3) {
36                setNews(0);
37            } else {
38                setNews(currentNews + 1);
39            }
40        }
41    });
42
43    // Left navigation (previous)
44    jQuery(".news_navigation_left").on("click", function() {
45        // If the current news item is the first one, go to the last
46        if (currentNews <= 0) {
47            setNews(3); // Circulate to the last element
48        } else {
49            setNews(currentNews - 1);
50        }
51    }).on("keydown", function(event) {
52        // Trigger the same action when the Enter key is pressed
53        if (event.key === "Enter" || event.keyCode === 13) {
54            if (currentNews <= 0) {
55                setNews(3);
56            } else {
57                setNews(currentNews - 1);
58            }
59        }
60    });
61
62    // Image navigation
63    jQuery(document).on("click", ".navigation_image", function() {
64        if (!jQuery(this).hasClass("active_news")) {
65            let id = jQuery(this).data("newsid");
66            setNews(id);
67            console.log(this);
68        }
69    }).on("keydown", ".navigation_image", function(event) {
70        // Trigger the same action when the Enter key is pressed
71        if (event.key === "Enter" || event.keyCode === 13) {
72            if (!jQuery(this).hasClass("active_news")) {
73                let id = jQuery(this).data("newsid");
74                setNews(id);
75                console.log(this);
76            }
77        }
78    });
79
80    // news page scripts
81
82    let switchedFromOrToMobile = false;
83    let initializedNews = false;
84
85    if(lastSize > 768 && jQuery(window).width() <= 768){
86        currentAmount = 1;
87        lastSize = jQuery(window).width();
88        switchPage(currentNewsPage, currentAmount);
89    }else{
90        initializedNews = true;
91    }
92
93    lastSize = jQuery(window).width();
94
95    jQuery("#news-left-navigation").css("visibility", "hidden");
96
97    jQuery(".go-next-element").on("click", function() {
98        switchPage(currentNewsPage+1, currentAmount);
99    });
100
101    jQuery(".go-prev-element").on("click", function(){
102        switchPage(currentNewsPage-1, currentAmount);
103    })
104
105    function setData(elementId, data){
106        if(data.image != false) {
107            elementId.find(".news_slider_image").show().attr("src", data.image).attr("alt", data.alt);
108        }
109        else {
110            elementId.find(".news_slider_image").hide();
111        }
112        elementId.find(".news_slider_date").html(data.date);
113        elementId.find(".news_slider_title").html(data.title);
114        elementId.find(".news_slider_excerpt").html(data.excerpt);
115        elementId.find("a").attr("href", data.link);
116    }
117
118    function switchPage(newPage, amount = 3) {
119        if(amount == 1){
120            jQuery("#news-slider-content-1, #news-slider-content-2").hide();
121            jQuery(".news-arrow-navigation").hide();
122            jQuery(".news-arrow-navigation-mobile").css("display", "inline-block");
123        }else{
124            jQuery("#news-slider-content-1, #news-slider-content-2").show();
125            jQuery(".news-arrow-navigation").css("display", "inline-block");
126            jQuery(".news-arrow-navigation-mobile").hide();
127        }
128
129        jQuery.ajax({
130            type: 'POST',
131            url: hoou_vars.ajaxurl,
132            data: {action: 'getMainNews', paged: newPage, amount: amount},
133            success: function (dataRaw, textStatus, XMLHttpRequest) {
134
135                let shownDots = maxdots;
136
137                let data = JSON.parse(dataRaw);
138                if (data.max_num_pages < shownDots) {
139                    shownDots = data.max_num_pages;
140                }
141                jQuery(".main-news-slider-dot-last").data("pagenum", data.max_num_pages);
142                jQuery("#news-dot-navigation").data("maxpages", data.max_num_pages);
143                jQuery("#news-dot-navigation").attr('data-maxpages', data.max_num_pages);
144
145                currentNewsPage = data.paged;
146
147                let currentNewsPageDot = currentNewsPage;
148
149                if (data.paged > shownDots - 1) {
150                    if (data.last_page) {
151                        currentNewsPageDot = shownDots;
152                    } else {
153                        currentNewsPageDot = shownDots - 1;
154                    }
155                }
156
157                if(currentNewsPage == newPage || switchedFromOrToMobile) {
158
159                    switchedFromOrToMobile = false;
160
161                    // update news content
162                    data.result.forEach((data, index)=>setData(jQuery(".news-slider-content #news-slider-content-" + index ), data));
163
164                    if(initializedNews) { // no dot redraw on first mobile load
165                        setSliderDotContentNormal(jQuery(".main-news-slider-dot"));
166
167                        let lastpage = data.max_num_pages;
168
169                        // update dot navigation
170                        if(data.last_page){
171                            setTimeout(function () {
172                                setSliderDotContentActive(jQuery(".main-news-slider-dot[data-count='" + shownDots + "']"), 100);
173                            }, 500);
174                        }else{
175                            setTimeout(function () {
176                                setSliderDotContentActive(jQuery(".main-news-slider-dot[data-pagenum='" + currentNewsPageDot + "']"), 100);
177                            }, 500);
178                        }
179
180                    }else{
181                        initializedNews = true;
182                    }
183
184                    if(data.paged == 1){
185                        jQuery("#news-left-navigation").css("visibility", "hidden");
186                        jQuery("#news-left-navigation-mobile").css("visibility", "hidden");
187                        jQuery("#news-slider-content-dummy-left").css("visibility", "hidden");
188                    }else{
189                        jQuery("#news-left-navigation").css("visibility", "visible");
190                        jQuery("#news-left-navigation-mobile").css("visibility", "visible");
191                        jQuery("#news-slider-content-dummy-left").css("visibility", "visible");
192
193                    }
194
195                    if(data.paged == data.max_num_pages){
196                        jQuery("#news-right-navigation").css("visibility", "hidden");
197                        jQuery("#news-right-navigation-mobile").css("visibility", "hidden");
198                        jQuery("#news-slider-content-dummy-right").css("visibility", "hidden");
199                    }else{
200                        jQuery("#news-right-navigation").css("visibility", "visible");
201                        jQuery("#news-right-navigation-mobile").css("visibility", "visible");
202                        jQuery("#news-slider-content-dummy-right").css("visibility", "visible");
203                    }
204                }else{
205
206                    // nothing to do, dot is still the same
207
208                }
209            },
210            error: function (XMLHttpRequest, textStatus, errorThrown) {
211                alert(errorThrown);
212            }
213        });
214    }
215
216    function setSliderDotContentNormal(element){
217        element.removeClass("active-main-news-slider-dot");
218        //  element.html("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" class=\"main-news-slider-dot\" ><circle cx=\"5\" cy=\"5\" r=\"5\" fill=\"#C4CDD3\"/></svg>");
219    }
220
221    function setSliderDotContentActive(element){
222        element.addClass("active-main-news-slider-dot");
223        //  element.html("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" class=\"main-news-slider-dot\" ><circle cx=\"5\" cy=\"5\" r=\"5\" fill=\"#1F538C\"/></svg>");
224    }
225
226    jQuery(document).on("click", ".main-news-slider-dot", function(){
227        let newId = jQuery(this).data("pagenum");
228        if(newId != undefined) {
229            switchPage(newId, currentAmount);
230        }
231    });
232
233    jQuery(window).resize(function(){
234        if(lastSize > 768 && jQuery(window).width() <= 768){
235            currentAmount = 1;
236            lastSize = jQuery(window).width();
237
238            switchedFromOrToMobile = true;
239            switchPage(currentNewsPage, currentAmount);
240        }else if(lastSize <= 768 && jQuery(window).width() > 768){
241            currentAmount = 3;
242            lastSize = jQuery(window).width();
243            switchedFromOrToMobile = true;
244            switchPage(currentNewsPage, currentAmount);
245        }
246    });
247});
248

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.