PageSourceSearch

https://www.zahrada.cz/assets/js/custom.js?v=1.0.5

js zahrada.cz collected 2026-10-02 13:54:27 UTC 7,579 bytes, 216 lines download raw bytes

1"use strict";
2
3/**
4 * CUSTOM JS
5 */
6var APP_JS =
7  APP_JS ||
8  (function () {
9    var self;
10
11    return {
12      productArea: null,
13
14      init: function () {
15        self = this;
16        self.fireEvents();
17      },
18
19      /** Events */
20      fireEvents: function () {
21        self = this;
22
23        let linkToggle = document.querySelectorAll(".js--toggle");
24
25        for (var i = 0; i < linkToggle.length; i++) {
26          linkToggle[i].addEventListener("click", function (event) {
27            event.preventDefault();
28            var container = document.getElementById(this.dataset.container);
29            var parent = document.getElementById(this.dataset.parent);
30            if (!container.classList.contains("active")) {
31              container.classList.add("active");
32              parent.classList.add("active");
33              container.style.height = "auto";
34              var height = container.clientHeight + "px";
35              container.style.height = "0px";
36              setTimeout(function () {
37                container.style.height = height;
38              }, 0);
39            } else {
40              container.style.height = "0px";
41              container.addEventListener(
42                "transitionend",
43                function () {
44                  container.classList.remove("active");
45                  parent.classList.remove("active");
46                },
47                {
48                  once: true,
49                }
50              );
51            }
52          });
53        }
54        let uploadImg = document.getElementById("uploadImg");
55        let uploadImgName = document.getElementById("uploadImgName");
56        let uploadImgText = document.getElementById("uploadImgText");
57        if (uploadImg) {
58          uploadImg.addEventListener('change', function() {
59            if (uploadImg.files.length != 0) {
60              uploadImgName.setAttribute("required", "");
61              uploadImgText.style.display = 'inline';
62            } else {
63              uploadImgName.removeAttribute("required");
64              uploadImgText.style.display = 'none';
65            }
66          });
67        }
68
69        let modalUserAlertClose = document.getElementsByClassName("modalUserAlert--close");
70        for (var i = 0; i < modalUserAlertClose.length; i++) {
71          modalUserAlertClose[i].addEventListener("click", (event) => {
72            event.preventDefault();
73            this.setCookie("zahradaCloseModal", true, 7);
74            event.target.closest('.modalUserAlert--backdrop').style.display = 'none';
75          });
76        }
77
78        /* interactive map */
79        let interactiveMap = document.getElementsByClassName("js--mapInteractive");
80        let interactiveMapPath = document.querySelectorAll(".js--mapInteractive path");
81        let interactiveMapContainer = document.querySelectorAll(".js--mapInteractiveContent");
82        for (var i = 0; i < interactiveMapPath.length; i++) {
83          interactiveMapPath[i].addEventListener("click", (event) => {
84            event.preventDefault();
85
86            interactiveMapPath.forEach((e) => {
87              e.classList.remove('active');
88            });
89
90            if (!event.currentTarget.classList.contains('active')) {
91              event.currentTarget.classList.add('active');
92
93              let regionID = event.currentTarget.id;
94              let containerID = document.querySelector('[data-name="'+regionID+'"]');
95
96              interactiveMapContainer.forEach((e) => {
97                e.style.display = 'none';
98              });
99
100              containerID.style.display = 'block';
101            }
102          });
103        }
104        /*
105        window.addEventListener('CookieScriptLoaded', function () {
106
107          const hideEarly = () => {
108            self.hideCookieScript(); // nebo tvá vlastní funkce
109          };
110        
111          const acceptBtn = document.getElementById('cookiescript_accept');
112          const rejectBtn = document.getElementById('cookiescript_reject');
113          const closeBtn = document.getElementById('cookiescript_close');
114        
115          if (acceptBtn) {
116            acceptBtn.addEventListener('mousedown', hideEarly, true); // capture = true
117          }
118        
119          if (rejectBtn) {
120            rejectBtn.addEventListener('mousedown', hideEarly, true); // capture = true
121          }
122        
123          if (closeBtn) {
124            closeBtn.addEventListener('mousedown', hideEarly, true); // capture = true
125          }
126        });
127        */
128
129      },
130
131      setCookie: function (name,value,days) {
132        var expires = "";
133        if (days) {
134            var date = new Date();
135            date.setTime(date.getTime() + (days*24*60*60*1000));
136            expires = "; expires=" + date.toUTCString();
137        }
138        document.cookie = name + "=" + (value || "")  + expires + "; path=/;";
139      },
140
141      decodeHTMLEntities: function (text) {
142        const textArea = document.createElement('textarea');
143        textArea.innerHTML = text;
144        return textArea.value;
145      }, 
146
147      updateFeed: function (data, id, isCompact) {
148        const wpFeed = document.getElementById(id);
149        const latestPosts = data.slice(0, 6);
150        const placeholders = wpFeed.querySelectorAll('.placeholder');
151        placeholders.forEach((placeholder, index) => {
152          const post = latestPosts[index];
153          this.updatePlaceholder(placeholder, post, isCompact);
154        });
155    
156        console.log("updateFeed done");
157      },
158
159      updateFeedBanner: function (data) {
160        const wpFeedBanner = document.getElementById('wpFeedBanner');
161        const threeRandomPosts = data.slice(0, 6);
162        const placeholders = wpFeedBanner.querySelectorAll('.placeholder');
163        placeholders.forEach((placeholder, index) => {
164          const post = threeRandomPosts[index] || {};
165          this.updatePlaceholder(placeholder, post, true);
166        });
167    
168        console.log("updateFeedBanner done");
169      },
170
171      updatePlaceholder: function (placeholder, post, isCompact) {
172        let postImg = "";
173        let postTitle = "";
174        let postDate = "";
175      
176        if (post.fimg_urls_news) {
177          postImg = isCompact ? post.fimg_urls_news.td_218x150 : post.fimg_urls_news.td_485x360;
178        }
179      
180        if (post.title && post.title.rendered) {
181          postTitle = APP_JS.decodeHTMLEntities(post.title.rendered);
182        }
183      
184        if (post.date) {
185          postDate = new Date(post.date).toLocaleDateString('cs-CZ');
186        }
187      
188        const img = placeholder.querySelector('img');
189        img.src = postImg;
190        img.alt = postTitle;
191      
192        const h3 = placeholder.querySelector('h3') || placeholder.querySelector('h4');
193        h3.textContent = postTitle;
194      
195        const p = placeholder.querySelector('p');
196        p.textContent = postDate;
197      
198        placeholder.classList.remove('placeholder');
199        placeholder.href = post.link || '#';
200        placeholder.target = '_blank';
201        placeholder.title = `Zahrada.cz - ${postTitle}`;
202      },
203
204      hideCookieScript: function () {
205        let cookieScriptWrapper = document.getElementById('cookiescript_injected_wrapper');
206        if (cookieScriptWrapper) {
207          cookieScriptWrapper.style.visibility = 'hidden';
208        }
209      }
210      
211
212    };
213  })();
214document.addEventListener("DOMContentLoaded", function () {
215  APP_JS.init();
216});

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.