1jQuery(window).on('load', function() { 2 3 (function($) { 4 5 function request_events_ajax($events) { 6 7 $ajax_container = $('.ajax-calendar-events'); 8 $ajax_container.addClass('loading'); 9 $ajax_container.closest('.calendar_area').addClass('section-loading'); 10 11 $data = { 12 action: 'ajax_get_events', 13 events: $events, 14 }; 15 16 console.log('starting get_events ajax for events:' + $events); 17 18 $.ajax({ 19 url: ajax_get_events.ajaxurl, 20 type: "get", 21 dataType: "json", 22 data: $data, 23 success: function(response) { 24 25 console.log('AJAX success, messages ' + response.message); 26 27 $ajax_container.html(response.data.content); 28 29 if (!response.data.count) { 30 $ajax_container.addClass('no-more-results'); 31 } 32 33 reveal_events($ajax_container); 34
35 //$ajax_container.removeClass('loading'); 36 $ajax_container.closest('.calendar_area').removeClass('section-loading'); 37 38 }, 39 error: function(xhr, ajaxOptions, thrownError) { 40 console.log('AJAX Failed ' + xhr.status); 41 console.log(xhr.responseText); 42 $ajax_container.removeClass('loading'); 43 $ajax_container.closest('.calendar_area').removeClass('section-loading'); 44 45 } 46 }); 47 48 49 } 50 51 52 53 $('body').on('click', '[data-ajax-trigger][data-events] label', function(e) { 54 console.log('clicked'); 55 $events = $(this).closest('[data-ajax-trigger][data-events]').attr('data-events'); 56 57 console.log($events); 58 // if ($events) 59 // request_events_ajax($events); 60 61 62 toggleDaysEvents($events); 63 64 }); 65 66 $(document).on('click', '.calendar_area .splide__arrow[disabled] svg', function(e) { 67 //$(document).on('click', '.calendar_area .splide__arrow svg', function(e) { 68 69 // ---- ADDED ---- 70 // Check if .splide__list, which is the child of .splide__track is at the edge of the container 71 // If it is, then we need to load the next month 72 /* 73 $parent = $(this).closest('.splide__arrow'); 74 $splide_track = $(this).closest('.splide__track'); 75 $splide_list = $splide_track.find('.splide__list'); 76 77 $splide_list_width = $splide_list.width(); 78 $splide_track_width = $splide_track.width(); 79 80 //$splide_list_left = $splide_list.position().left; 81 // Find different solution. $splide_list is not defined 82 $splide_list_left = $splide_track.position().left; 83 $splide_list_right = $splide_list_left + $splide_list_width; 84 85 $splide_track_left = $splide_track.position().left; 86 $splide_track_right = $splide_track_left + $splide_track_width; 87 88 console.log('splide_list_left ' + $splide_list_left); 89 console.log('splide_list_right ' + $splide_list_right); 90 console.log('splide_track_left ' + $splide_track_left); 91 console.log('splide_track_right ' + $splide_track_right); 92 93 if ($parent.hasClass('splide__arrow--prev') && $splide_list_left >= $splide_track_left) { 94 e.preventDefault(); 95 console.log('prev'); 96 $('.calendar_area .ajax-get-month-trigger .prev.trigger').trigger('click'); 97 $parent.addClass('load-next'); 98 99 } else if ($parent.hasClass('splide__arrow--next') && $splide_list_right <= $splide_track_right) { 100 e.preventDefault(); 101 console.log('next'); 102 $('.calendar_area .ajax-get-month-trigger .next.trigger').trigger('click'); 103 $parent.addClass('load-next'); 104 105 } 106 107 108 */ 109 // ---- ----- ---- 110 111 112 $parent = $(this).closest('.splide__arrow'); 113 114 if ($parent.hasClass('splide__arrow--prev') && $parent.hasClass('load-next')) { 115 $('.calendar_area .ajax-get-month-trigger .prev.trigger').trigger('click'); 116 } else if ($parent.hasClass('splide__arrow--next') && $parent.hasClass('load-next')) { 117 $('.calendar_area .ajax-get-month-trigger .next.trigger').trigger('click'); 118 } 119 120 $parent.addClass('load-next'); 121 122 }); 123 124 })(jQuery); 125 126}); 127 128function toggleDaysEvents($events) { 129 130 console.log('running toggleDaysEvents'); 131 132 $ajax_container = $('.ajax-calendar-events'); 133 $ajax_container.addClass('loading'); 134 $ajax_container.closest('.calendar_area').addClass('section-loading'); 135 136 if ($events) { 137 138 // hide .events-no-results 139 $('.calendar_area .events-no-results').hide(); 140 141 $i = 1; 142 143 $events = $events.split(','); 144 145 console.log($events); 146 147 148 $ajax_container.find('.loop-calendar-horizontal-event').each(function(k, v) { 149 150 151 //if ($events.indexOf($(this).attr('data-event_id')) == -1) { 152 // If the event is not in the list of events to show, hide it. 153 // The 'data-event_id' can be ab implode of multiple event ids, so we need to check each one. 154 155 $event_id = $(this).attr('data-event_id'); 156 // Check if coma separated list 157 if ($event_id.indexOf(',') != -1) { 158 $event_id = $event_id.split(','); 159 } else { 160 $event_id = [$event_id]; 161 } 162 163 $event_id = $event_id.filter(function(e) { 164 return e 165 }); 166 167 $show = false;
168 169 $event_id.forEach(function($id) { 170 171 if ($events.indexOf($id) != -1) { 172 173 $show = true; 174 175 } 176 177 }); 178 179 if (!$show) { 180 181 $(this).hide(); 182 $(this).removeClass('revealed'); 183 184 } else { 185 186 console.log('showing ' + $(this).attr('data-event_id')); 187 188 $(this).show(); 189 190 191 var el = this; 192 var speed = 200; 193 194 $c = $i + 1; 195 196 // if(window.innerWidth > 1600){ 197 // $ajax_container.removeClass('loading'); 198 // $ajax_container.closest('.calendar_area').removeClass('section-loading'); 199 200 // remove load-next class from arrows 201 $('.calendar_area .splide__arrow').removeClass('load-next'); 202 // } 203 204 jQuery(el).addClass('revealed'); 205 console.log('revealed ' + $i + ' with delay ' + $c * speed); 206 207 208 $i++; 209 } 210 211 212 213 214 215 }); 216 217 218 219 // unslick first 220 if ($('.calendar-slider').hasClass('slick-initialized')) { 221 $('.calendar-slider').slick('unslick'); 222 } 223 224 $ajax_container.addClass('loading'); 225 226 setTimeout(() => { 227 228 $ajax_container.closest('.calendar_area').addClass('section-loading'); 229 230 calendar_slider(); 231 232 $('.calendar-slider .loop-calendar-horizontal-event:not(.revealed)').hide(); 233 234 $ajax_container.removeClass('loading'); 235 $ajax_container.closest('.calendar_area').removeClass('section-loading'); 236 237 // remove load-next class from arrows 238 $('.calendar_area .splide__arrow').removeClass('load-next'); 239 240 }, 1000); 241 242 } else { 243 console.log('no events'); 244 245 // unslick first 246 if ($('.calendar-slider').hasClass('slick-initialized')) { 247 $('.calendar-slider').slick('unslick'); 248 } 249 250 setTimeout(() => { 251 252 // hide all events 253 $ajax_container.find('.loop-calendar-horizontal-event').hide(); 254 $ajax_container.find('.loop-calendar-horizontal-event').removeClass('revealed'); 255 256 $ajax_container.removeClass('loading'); 257 $ajax_container.closest('.calendar_area').removeClass('section-loading'); 258 259 // remove load-next class from arrows 260 $('.calendar_area .splide__arrow').removeClass('load-next'); 261 262 // show .events-no-results 263 $('.calendar_area .events-no-results').show(); 264 265 }, 1000); 266 267 } 268 269 270} 271 272function calendar_slider() { 273 274 console.log('running calendar_slider'); 275 $rtl = true; 276 // Check html lang 277 if ($('html').attr('lang') == 'en-US') { 278 $rtl = false; 279 } 280 // Guard against double-init: re-initializing Slick on an already 281 // initialized element skips buildOut() and leaves $slides null, which 282 // throws "initADA: Cannot read properties of null (reading 'add')". 283 if ($('.calendar-slider').hasClass('slick-initialized')) { 284 $('.calendar-slider').slick('unslick'); 285 } 286 $('.calendar-slider').not('.slick-initialized').slick({ 287 slidesToShow: 1, 288 slidesToScroll: 1, 289 // autoplay: true, 290 autoplaySpeed: 2000, 291 arrows: true, 292 nav: true, 293 navText: [ 294 '<img src="/wp-content/uploads/2022/09/arrow_right.svg" alt="">', 295 '<img src="/wp-content/uploads/2022/09/arrow_left.svg" alt="">' 296 ], 297infinite: false, 298 dots: false, 299 rtl: $rtl, 300 slide: '.revealed', 301 variableWidth: true, 302 swipe: true, 303 responsive: [{ 304 breakpoint: 990, 305 settings: { 306 slidesToShow: 2, 307 } 308 }, 309 { 310 breakpoint: 600, 311 settings: { 312 slidesToShow: 1, 313 variableWidth: false, 314 } 315 } 316 ] 317 }); 318 319}
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.