1(function ($) { 2 'use strict'; 3 $('*') 4 .on('touchstart', function () { 5 $(this).trigger('hover'); 6 }) 7 .on('touchend', function () { 8 $(this).trigger('hover'); 9 }); 10 11 $(function () { 12 preFunction(); 13 $(document) 14 .on('mouseover', '.tss-isotope-button-wrapper.tooltip-active .rt-iso-button', function () { 15 var self = $(this), 16 count = self.attr('data-filter-counter'), 17 id = self.parents('.tss-wrapper').attr('id'); 18 $tooltip = 19 '<div class="tss-tooltip" id="tss-tooltip-' + 20 id + 21 '">' + 22 '<div class="tss-tooltip-content">' + 23 count + 24 '</div>' + 25 '<div class="tss-tooltip-bottom"></div>' + 26 '</div>'; 27 $('body').append($tooltip); 28 var $tooltip = $('body > .tss-tooltip'); 29 var tHeight = $tooltip.outerHeight(); 30 var tBottomHeight = $tooltip.find('.tss-tooltip-bottom').outerHeight(); 31 var tWidth = $tooltip.outerWidth(); 32 var tHolderWidth = self.outerWidth(); 33 var top = self.offset().top - (tHeight + tBottomHeight); 34 var left = self.offset().left; 35 $tooltip 36 .css({ 37 top: top + 'px', 38 left: left + 'px', 39 opacity: 1 40 }) 41 .show(); 42 if (tWidth <= tHolderWidth) { 43 var itemLeft = (tHolderWidth - tWidth) / 2; 44 left = left + itemLeft; 45 $tooltip.css('left', left + 'px'); 46 } else { 47 var itemLeft = (tWidth - tHolderWidth) / 2; 48 left = left - itemLeft; 49 if (left < 0) { 50 left = 0; 51 } 52 $tooltip.css('left', left + 'px'); 53 } 54 }) 55 .on('mouseout', '.tss-isotope-button-wrapper.tooltip-active .rt-iso-button', function () { 56 $('body > .tss-tooltip').fadeOut(300, function () { $(this).remove(); }); 57 }); 58 }); 59 60 $(window).on('load resize', function () { 61 preFunction(); 62 }); 63 64 function preFunction() { 65 overlayIconResize(); 66 } 67 68 RTInitCaroIso(); 69 70 $(window).on('et_fb_ajax_render', function(){ 71 rtInitCarousel(); 72 }); 73 74 function RTInitCaroIso() { 75 var elementInstances = []; 76 var elementThumbInstances = []; 77 78 $('.tss-wrapper').each(function (index) { 79 var container = $(this); 80 var str = $(this).attr('data-layout'); 81 if (str) { 82 var qsRegex, 83 buttonFilter, 84 Iso = container.find('.tss-isotope'), 85 caro = container.find('.tss-carousel'), 86 caroThumb = container.find('.tss-carousel-main'), 87 html_loading = 88 '<div class="rt-loading-overlay"></div><div class="rt-loading rt-ball-clip-rotate"><div></div></div>', 89 preLoader = container.find('.tss-pre-loader'); 90 if (preLoader.find('.rt-loading-overlay').length == 0) { 91 preLoader.append(html_loading); 92 } 93 94 if (caroThumb.length) { 95 var carouselOptions = RTCarouselOptions(caroThumb); 96 97 carouselOptions.responsive = { 98 0: { 99 slidesPerView: carouselOptions.mItems ? carouselOptions.mItems : 3 100 }, 101 575: { 102 slidesPerView: carouselOptions.tItems ? carouselOptions.tItems : 3 103 }, 104 991: { 105 slidesPerView: carouselOptions.items ? carouselOptions.items : 5 106 } 107 }; 108 109 RTElementThumbCarousel(container, carouselOptions, elementThumbInstances, index); 110 111 caroThumb.parents('.rt-row').removeClass('tss-pre-loader'); 112 caroThumb.parents('.rt-row').find('.rt-loading-overlay, .rt-loading').fadeOut(100); 113 114 // Updating the sliders 115 setTimeout(function () { 116 elementThumbInstances.forEach(function (sliders) { 117 sliders.forEach(function (slider) { 118 slider.update(); 119 }); 120 }); 121 }, 50); 122 } 123 124 if (caro.length) { 125 var carouselEl = { 126 container: container.find('.tss-carousel'), 127 navPrev: '.swiper-button-prev', 128 navNext: '.swiper-button-next', 129 dotsEl: '.swiper-pagination' 130 }; 131 132 var carouselOptions = RTCarouselOptions(caro); 133 134 carouselOptions.responsive = { 135 0: { 136 slidesPerView: carouselOptions.mItems ? carouselOptions.mItems : 1, 137 slidesPerGroup: carouselOptions.mItems ? carouselOptions.mItems : 1 138 }, 139 767: { 140 slidesPerView: carouselOptions.tItems ? carouselOptions.tItems : 2, 141 slidesPerGroup: carouselOptions.tItems ? carouselOptions.tItems : 2 142 },
143 991: { 144 slidesPerView: carouselOptions.items ? carouselOptions.items : 3, 145 slidesPerGroup: carouselOptions.items ? carouselOptions.items : 3 146 } 147 }; 148 149 RTElementCarousel(carouselEl, carouselOptions, elementInstances, index); 150 151 // Updating the sliders 152 setTimeout(function () { 153 elementInstances.forEach(function (slider) { 154 slider.update(); 155 }); 156 }, 50); 157 158 // Updating the sliders in tab 159 $('body').on('shown.bs.tab', 'a[data-bs-toggle="tab"], a[data-bs-toggle="pill"]', function (e) { 160 elementInstances.forEach(function (slider) { 161 slider.update(); 162 }); 163 }); 164 165 $('.vc_tta-tabs-list li').on('click', function () { 166 setTimeout(function () { 167 elementInstances.forEach(function (slider) { 168 slider.update(); 169 }); 170 }, 100); 171 }); 172 173 caro.parents('.rt-row').removeClass('tss-pre-loader'); 174 caro.parents('.rt-row').find('.rt-loading-overlay, .rt-loading').fadeOut(100); 175 } else if (Iso.length) { 176 var IsoButton = container.find('.tss-isotope-button-wrapper'); 177 if (!buttonFilter) { 178 buttonFilter = IsoButton.find('.rt-iso-button.selected').data('filter'); 179 } 180 var isotope = Iso.imagesLoaded(function () { 181 Iso.parents('.rt-row').removeClass('tss-pre-loader'); 182 Iso.parents('.rt-row').find('.rt-loading-overlay, .rt-loading').remove(); 183 preFunction(); 184 isotope.isotope({ 185 itemSelector: '.isotope-item', 186 masonry: { 187 columnWidth: '.isotope-item' 188 }, 189 filter: function () { 190 var $this = $(this); 191 var searchResult = qsRegex ? $this.text().match(qsRegex) : true; 192 var buttonResult = buttonFilter ? $this.is(buttonFilter) : true; 193 return searchResult && buttonResult; 194 } 195 }); 196 isoFilterCounter(container, isotope); 197 }); 198 // use value of search field to filter 199 var $quicksearch = container.find('.iso-search-input').keyup( 200 debounce(function () { 201 qsRegex = new RegExp($quicksearch.val(), 'gi'); 202 isotope.isotope(); 203 }) 204 ); 205 206 IsoButton.on('click', '.rt-iso-button', function (e) { 207 e.preventDefault(); 208 buttonFilter = $(this).attr('data-filter'); 209 isotope.isotope(); 210 $(this).parent().find('.selected').removeClass('selected'); 211 $(this).addClass('selected'); 212 }); 213 214 if (container.find('.tss-utility .tss-load-more').length) { 215 container.find('.tss-load-more').on('click', '.rt-button', function (e) { 216 e.preventDefault(e); 217 loadMoreButton($(this), isotope, container, 'isotope', IsoButton); 218 }); 219 } 220 221 if (container.find('.tss-utility .tss-scroll-load-more').length) { 222 $(window).on('scroll', function () { 223 var $this = container.find('.tss-utility .tss-scroll-load-more'); 224 scrollLoadMore($this, isotope, container, 'isotope', IsoButton); 225 }); 226 } 227 } else if (container.find('.rt-row.tss-masonry').length) { 228 var masonryTarget = container.find('.rt-row.tss-masonry'); 229 preFunction(); 230 var isotopeM = masonryTarget.imagesLoaded(function () { 231 isotopeM.isotope({ 232 itemSelector: '.masonry-grid-item', 233 masonry: { 234 columnWidth: '.masonry-grid-item' 235 } 236 }); 237 }); 238 if (container.find('.tss-utility .tss-load-more').length) { 239 container.find('.tss-load-more').on('click', '.rt-button', function (e) { 240 e.preventDefault(e); 241 loadMoreButton($(this), isotopeM, container, 'mLayout'); 242 }); 243 } 244 if (container.find('.tss-utility .tss-scroll-load-more').length) { 245 $(window).on('scroll', function () { 246 var $this = container.find('.tss-utility .tss-scroll-load-more'); 247 if ($this.attr('data-trigger') > 0) { 248 scrollLoadMore($this, isotopeM, container, 'mLayout'); 249 } 250 }); 251 } 252 253 if (container.find('.tss-utility .tss-pagination.tss-ajax').length) { 254 ajaxPagination(container, isotopeM); 255 } 256 } else { 257 if (container.find('.tss-utility .tss-load-more').length) { 258 container.find('.tss-load-more').on('click', '.rt-button', function (e) { 259 e.preventDefault(e);
260 loadMoreButton($(this), isotopeM, container, 'eLayout'); 261 }); 262 } 263 if (container.find('.tss-utility .tss-scroll-load-more').length) { 264 $(window).on('scroll', function () { 265 var $this = container.find('.tss-utility .tss-scroll-load-more'); 266 if ($this.attr('data-trigger') > 0) { 267 scrollLoadMore($this, isotopeM, container, 'eLayout'); 268 } 269 }); 270 } 271 if (container.find('.tss-utility .tss-pagination.tss-ajax').length) { 272 ajaxPagination(container); 273 } 274 } 275 } 276 }); 277 } 278 279 function RTCarouselOptions(el) { 280 return { 281 items: parseInt(el.data('items-desktop')), 282 tItems: parseInt(el.data('items-tab')), 283 mItems: parseInt(el.data('items-mobile')), 284 loop: el.data('loop'), 285 nav: el.data('nav'), 286 dots: el.data('dots'), 287 autoplay: el.data('autoplay'), 288 autoplayDelay: parseInt(el.data('autoplay-timeout'), 10), 289 autoPlayHoverPause: el.data('autoplay-hover-pause'), 290 autoHeight: el.data('auto-height'), 291 lazyLoad: el.data('lazy-load'), 292 rtl: el.data('rtl'), 293 smartSpeed: parseInt(el.data('smart-speed')) 294 }; 295 } 296 297 function RTElementCarousel(elements, carouselOptions, instance, index) { 298 var slider = elements.container.addClass('instance-' + index); 299 elements.container.parent().find(elements.navPrev).addClass('prev-' + index); 300 elements.container.parent().find(elements.navNext).addClass('next-' + index); 301 302 var options = { 303 slidesPerView: carouselOptions.items ? carouselOptions.items : 2, 304 slidesPerGroup: carouselOptions.items ? carouselOptions.items : 2, 305 spaceBetween: 0, 306 speed: carouselOptions.smartSpeed ? carouselOptions.smartSpeed : 1000, 307 loop: carouselOptions.loop ? carouselOptions.loop : false, 308 autoHeight: carouselOptions.autoHeight ? carouselOptions.autoHeight : false, 309 310 // Responsive breakpoints 311 breakpoints: carouselOptions.responsive 312 }; 313 314 if (carouselOptions.autoplay) { 315 options.autoplay = { 316 delay: carouselOptions.autoplayDelay, 317 pauseOnMouseEnter: carouselOptions.autoPlayHoverPause, 318 disableOnInteraction: false 319 }; 320 } 321 322 if (carouselOptions.lazyLoad) { 323 options.preloadImages = false; 324 options.lazy = true; 325 } 326 327 if (carouselOptions.nav) { 328 options.navigation = { 329 nextEl: elements.navNext, 330 prevEl: elements.navPrev 331 }; 332 } 333 334 if (carouselOptions.dots) { 335 options.pagination = { 336 el: elements.dotsEl, 337 type: 'bullets', 338 clickable: true 339 }; 340 } 341 instance[index] = new Swiper(slider[0], options); 342 } 343 344 function RTElementThumbCarousel(container, options, instance, index) { 345 // Params 346 var mainSlider = container.find('.tss-carousel-main').addClass('instance-' + index), 347 navSlider = container.find('.tss-carousel-thumb').addClass('instance-' + index), 348 navPrev = '.swiper-button-prev', 349 navNext = '.swiper-button-next', 350 dotsEl = '.swiper-pagination'; 351 352 container.find(navPrev).addClass('prev-' + index); 353 container.find(navNext).addClass('next-' + index); 354 355 // Main Slider 356 var mainSliderOptions = { 357 loop: true, 358 speed: options.smartSpeed ? options.smartSpeed : 1000, 359 loopedSlides: 5, 360 autoHeight: options.autoHeight ? options.autoHeight : false 361 }; 362 363 if (options.nav) { 364 mainSliderOptions.navigation = { 365 nextEl: navNext, 366 prevEl: navPrev 367 }; 368 } 369 370 if (options.dots) { 371 mainSliderOptions.pagination = { 372 el: dotsEl, 373 type: 'bullets', 374 clickable: true 375 }; 376 } 377 var main = new Swiper(mainSlider[0], mainSliderOptions); 378 379 // Navigation Slider 380 var navSliderOptions = { 381 loop: true, 382 speed: options.smartSpeed ? options.smartSpeed : 1000, 383 observer: true, 384 observerParents: true, 385 slidesPerView: options.items ? options.items : 5, 386 centeredSlides: true, 387 spaceBetween: 0, 388 touchRatio: 0.2, 389 slideToClickedSlide: true, 390 loopedSlides: 5, 391 watchSlidesProgress: true, 392 breakpoints: options.responsive 393 }; 394 395 if (options.autoplay) { 396 navSliderOptions.autoplay = { 397 delay: options.autoplayDelay, 398 pauseOnMouseEnter: options.autoPlayHoverPause, 399 disableOnInteraction: false 400 }; 401 } 402 403 if (options.lazyLoad) { 404 navSliderOptions.preloadImages = false; 405 navSliderOptions.lazy = true; 406 } 407 408 var thumb = new Swiper(navSlider[0], navSliderOptions); 409 410 // Syncing the sliders 411 main.controller.control = thumb; 412 thumb.controller.control = main; 413 414 instance[index] = [main, thumb]; 415 } 416 417 function isoFilterCounter(container, isotope) { 418 var total = 0; 419 container.find('.tss-isotope-button-wrapper .rt-iso-button').each(function () { 420 var self = $(this), 421 filter = self.data('filter'), 422 itemTotal = isotope.find(filter).length; 423 if (filter != '*') { 424 self.attr('data-filter-counter', itemTotal); 425 total = total + itemTotal; 426 } 427 }); 428 container 429 .find('.tss-isotope-button-wrapper .rt-iso-button[data-filter="*"]') 430 .attr('data-filter-counter', total); 431 } 432 433 function loadMoreButton($this, $isotope, container, layout, IsoButton) { 434 var $thisText = $this.clone().children().remove().end().text(), 435 noMorePostText = $this.data('no-more-post-text'), 436 loadingText = $this.data('loading-text'), 437 scID = $this.attr('data-sc-id'), 438 elData = $this.data('tss-elementor'), 439 paged = parseInt($this.attr('data-paged'), 10) + 1, 440 totalPages = parseInt($this.data('total-pages'), 10),
441 foundPosts = parseInt($this.data('found-posts'), 10), 442 postsPerPage = parseInt($this.data('posts-per-page'), 10), 443 data = 'scID=' + scID + '&paged=' + paged, 444 morePosts = foundPosts - postsPerPage * paged, 445 data; 446 447 data = 'scID=' + scID + '&paged=' + paged; 448 449 if (typeof elData !== 'undefined') { 450 data = 'scID=elementor&elData=' + JSON.stringify(elData) + '&paged=' + paged; 451 } 452 453 if (morePosts > 0) { 454 $thisText = $thisText + ' <span>(' + morePosts + ')</span>'; 455 } else { 456 $thisText = noMorePostText; 457 } 458 data = data + '&action=tssLoadMore&' + tss.nonceId + '=' + tss.nonce; 459 if (container.data('archive')) { 460 data = data + '&archive=' + container.data('archive'); 461 if (container.data('archive-value')) { 462 data = data + '&archive-value=' + container.data('archive-value'); 463 } 464 } 465 466 $.ajax({ 467 type: 'post', 468 url: tss.ajaxurl, 469 data: data, 470 beforeSend: function () { 471 $this.html('<span class="more-loading">' + loadingText + '</span>'); 472 }, 473 success: function (data) { 474 if (!data.error) { 475 $this.attr('data-paged', paged); 476 if (layout == 'isotope') { 477 renderIsotope(container, $isotope, data.data, IsoButton); 478 } else if (layout == 'mLayout') { 479 $isotope 480 .append(data.data) 481 .isotope('appended', data.data) 482 .isotope('updateSortData') 483 .isotope('reloadItems'); 484 $isotope.imagesLoaded(function () { 485 $isotope.isotope(); 486 }); 487 } else { 488 container.children('.rt-row').append(data.data); 489 container.children('.rt-row').imagesLoaded(function () { 490 preFunction(); 491 }); 492 } 493 $this.html($thisText); 494 if (totalPages <= paged) { 495 $this.css("pointer-events", "none"); 496 $this.unbind("click"); 497 } 498 } else { 499 $this.text(data.msg); 500 $this.attr('disabled', 'disabled'); 501 $this.parent().hide(); 502 } 503 }, 504 error: function (jqXHR, textStatus, errorThrown) { 505 container.find('.more-loading').remove(); 506 alert(textStatus + ' (' + errorThrown + ')'); 507 } 508 }); 509 return false; 510 } 511 512 function renderIsotope(container, $isotope, data, IsoButton) { 513 var qsRegexG, buttonFilter; 514 if (!buttonFilter) { 515 buttonFilter = IsoButton.find('.rt-iso-button.selected').data('filter'); 516 } 517 518 $isotope.append(data).isotope('appended', data).isotope('reloadItems').isotope('updateSortData'); 519 $isotope.imagesLoaded(function () { 520 preFunction(); 521 $isotope.isotope(); 522 }); 523 524 $(IsoButton).on('click', '.rt-iso-button', function (e) { 525 e.preventDefault(); 526 buttonFilter = $(this).attr('data-filter'); 527 $isotope.isotope(); 528 $(this).parent().find('.selected').removeClass('selected'); 529 $(this).addClass('selected'); 530 }); 531 var $quicksearch = container.find('.iso-search-input').keyup( 532 debounce(function () { 533 qsRegexG = new RegExp($quicksearch.val(), 'gi'); 534 $isotope.isotope(); 535 }) 536 ); 537 isoFilterCounter(container, $isotope); 538 } 539 540 function scrollLoadMore($this, $isotope, container, layout, IsoButton) { 541 var viewportHeight = $(window).height(); 542 var scrollTop = $(window).scrollTop(); 543 var targetHeight = $this.offset().top + $this.outerHeight() - 50; 544 var targetScroll = scrollTop + viewportHeight; 545 546 if (targetScroll >= targetHeight) { 547 var trigger = $this.attr('data-trigger'); 548 if (trigger == 1) { 549 // $this.data('trigger', false); 550 $this.attr('data-trigger', 0); 551 var data, 552 scID = $this.attr('data-sc-id'), 553 elData = $this.data('tss-elementor'), 554 maxpage = $this.data('max-page'), 555 paged = parseInt($this.attr('data-paged'), 10); 556 557 data = 'scID=' + scID + '&paged=' + paged; 558 559 if (typeof elData !== 'undefined') { 560 data = 'scID=elementor&elData=' + JSON.stringify(elData) + '&paged=' + paged; 561 } 562 563 // data = 'scID=' + scID + '&paged=' + paged; 564 data = data + '&action=tssLoadMore&' + tss.nonceId + '=' + tss.nonce; 565 566 if (container.data('archive')) { 567 data = data + '&archive=' + container.data('archive'); 568 if (container.data('archive-value')) { 569 data = data + '&archive-value=' + container.data('archive-value'); 570 } 571 } 572 $.ajax({
573 type: 'post', 574 url: tss.ajaxurl, 575 data: data, 576 beforeSend: function () { 577 $this.html('<span class="more-loading">Loading ...</span>'); 578 }, 579 success: function (data) { 580 if (!data.error) { 581 $this.attr('data-paged', paged + 1); 582 if (layout == 'isotope') { 583 renderIsotope(container, $isotope, data.data, IsoButton); 584 } else if (layout == 'mLayout') { 585 $isotope 586 .append(data.data) 587 .isotope('appended', data.data) 588 .isotope('updateSortData') 589 .isotope('reloadItems'); 590 $isotope.imagesLoaded(function () { 591 $isotope.isotope(); 592 }); 593 } else { 594 container.children('.rt-row').append(data.data); 595 container.children('.rt-row').imagesLoaded(function () { 596 preFunction(); 597 }); 598 } 599 $this.html(''); 600 $this.attr('data-trigger', 1); 601 602 if ($this.attr('data-paged') > maxpage) { 603 $this.attr('data-trigger', 0); 604 } 605 } else { 606 $this.html(''); 607 $this.attr('data-trigger', 0); 608 } 609 }, 610 error: function (jqXHR, textStatus, errorThrown) { 611 container.find('.more-loading').remove(); 612 alert(textStatus + ' (' + errorThrown + ')'); 613 } 614 }); 615 } // if trigger == 1 616 } 617 } 618 619 function ajaxPagination(container, isotopeM) { 620 container.find('.tss-pagination.tss-ajax ul li').on('click', 'a', function (e) { 621 e.preventDefault(); 622 var data, 623 $this = $(this), 624 target = $this.parents('li'), 625 parent = target.parents('.tss-pagination.tss-ajax'), 626 activeLi = parent.find('li.active'), 627 activeNumber = parseInt(activeLi.text(), 10), 628 replaced = "<a data-paged='" + activeNumber + "' href='#'>" + activeNumber + '</a>', 629 scID = parent.data('sc-id'), 630 elData = parent.data('tss-elementor'), 631 paged = $this.data('paged'); 632 activeLi.html(replaced); 633 parent.find('li').removeClass('active'); 634 target.addClass('active'); 635 target.html('<span>' + paged + '</span>'); 636 637 data = 'scID=' + scID + '&paged=' + paged; 638 639 if (typeof elData !== 'undefined') { 640 data = 'scID=elementor&elData=' + JSON.stringify(elData) + '&paged=' + paged; 641 } 642 643 data = data + '&action=tssLoadMore&' + tss.nonceId + '=' + tss.nonce; 644 645 if (container.data('archive')) { 646 data = data + '&archive=' + container.data('archive'); 647 if (container.data('archive-value')) { 648 data = data + '&archive-value=' + container.data('archive-value'); 649 } 650 } 651 $.ajax({ 652 type: 'post', 653 url: tss.ajaxurl, 654 data: data, 655 beforeSend: function () { 656 parent.append( 657 '<div class="tss-loading-holder"><span class="more-loading">Loading ...</span></div>' 658 ); 659 }, 660 success: function (data) { 661 662 if (!data.error) { 663 if (typeof isotopeM === 'undefined') { 664 container.children('.rt-row').animate({ 665 opacity: 0 666 }); 667 setTimeout(function () { 668 container.children('.rt-row').html(data.data); 669 container.children('.rt-row').imagesLoaded(function () { 670 preFunction(); 671 container.children('.rt-row').animate( 672 { 673 opacity: 1 674 }, 675 1000 676 ); 677 });
678 }, 500); 679 } else { 680 container.children('.rt-row').find('.masonry-grid-item').remove(); 681 isotopeM 682 .append(data.data) 683 .isotope('appended', data.data) 684 .isotope('updateSortData') 685 .isotope('reloadItems'); 686 isotopeM.imagesLoaded(function () { 687 preFunction(); 688 isotopeM.isotope(); 689 }); 690 } 691 692 $('.tss-wrapper').animate({ scrollTop: 0 }, 700); 693 $('html, body').animate({ 694 scrollTop: ($('.tss-wrapper').offset().top - 100) 695 }, 700); 696 } else { 697 alert(data.msg); 698 } 699 container.find('.tss-loading-holder').remove(); 700 }, 701 error: function (jqXHR, textStatus, errorThrown) { 702 container.find('.tss-loading-holder').remove(); 703 alert(textStatus + ' (' + errorThrown + ')'); 704 } 705 }); 706 }); 707 } 708 709 // debounce so filtering doesn't happen every millisecond 710 function debounce(fn, threshold) { 711 var timeout; 712 return function debounced() { 713 if (timeout) { 714 clearTimeout(timeout); 715 } 716 717 function delayed() { 718 fn(); 719 timeout = null; 720 } 721 722 setTimeout(delayed, threshold || 100); 723 }; 724 } 725 726 function overlayIconResize() { 727 $('.tlp-item').each(function () { 728 var holder_height = $(this).height(); 729 var a_height = $(this).find('.tlp-overlay .link-icon').height(); 730 var h = (holder_height - a_height) / 2; 731 $(this).find('.link-icon').css('margin-top', h + 'px'); 732 }); 733 } 734 735 function RTPromoContent() { 736 parent.document.addEventListener("mousedown", function (e) { 737 var widgets = parent.document.querySelectorAll(".elementor-element--promotion"); 738 739 if (widgets.length > 0) { 740 for (var i = 0; i < widgets.length; i++) { 741 if (widgets[i].contains(e.target)) { 742 var dialog = parent.document.querySelector("#elementor-element--promotion__dialog"); 743 var icon = widgets[i].querySelector(".icon > i"); 744 745 if (icon.classList.toString().indexOf("tss-promotional-element") >= 0) { 746 dialog.querySelector(".dialog-buttons-action").style.visibility = "hidden"; 747 dialog.querySelector(".dialog-buttons-action").style.width = 0; 748 dialog.querySelector(".dialog-buttons-action").style.height = 0; 749 dialog.querySelector(".dialog-buttons-action").style.opacity = 0; 750 dialog.querySelector(".dialog-buttons-action").style.padding = 0; 751 752 if (dialog.querySelector(".rt-dialog-buttons-action") === null) { 753 var button = document.createElement("a"); 754 var buttonText = document.createTextNode("Get Pro"); 755 756 button.setAttribute("href", "https://www.radiustheme.com/downloads/wp-testimonial-slider-showcase-pro-wordpress/"); 757 button.setAttribute("target", "_blank"); 758 button.classList.add( 759 "dialog-button", 760 "dialog-action", 761 "dialog-buttons-action", 762 "elementor-button", 763 "elementor-button-success", 764 "rt-dialog-buttons-action" 765 ); 766 button.appendChild(buttonText); 767 768 dialog.querySelector(".dialog-buttons-action").insertAdjacentHTML("afterend", button.outerHTML); 769 } else { 770 dialog.querySelector(".rt-dialog-buttons-action").style.display = ""; 771 } 772 } else { 773 dialog.querySelector(".dialog-buttons-action").style.display = ""; 774 dialog.querySelector(".dialog-buttons-action").style.visibility = ""; 775 dialog.querySelector(".dialog-buttons-action").style.width = ""; 776 dialog.querySelector(".dialog-buttons-action").style.height = ""; 777 dialog.querySelector(".dialog-buttons-action").style.opacity = ""; 778 dialog.querySelector(".dialog-buttons-action").style.padding = ""; 779 780 if (dialog.querySelector(".rt-dialog-buttons-action") !== null) { 781 dialog.querySelector(".rt-dialog-buttons-action").style.display = "none"; 782 } 783 } 784 785 break; 786 } 787 } 788 } 789 }); 790 } 791 792 function RTInitIsotope() { 793 var container = jQuery('.tss-wrapper'); 794 795 if (container.find('.tss-isotope, .tss-isotope2').length) { 796 container.find('.tss-isotope, .tss-isotope2').isotope(); 797 } 798 799 if (container.find('.rt-row.tss-masonry').length) { 800 var masonryTarget = container.find('.rt-row.tss-masonry'); 801 masonryTarget.isotope({ 802 itemSelector: '.isotope-item', 803 masonry: { columnWidth: '.isotope-item' } 804 }); 805 } 806 } 807 808 // Elementor Frontend Load 809 $(window).on('elementor/frontend/init', function () { 810 if (elementorFrontend.isEditMode()) { 811 elementorFrontend.hooks.addAction('frontend/element_ready/widget', function () { 812 RTInitCaroIso(); 813 preFunction(); 814 }); 815 816 // Promo Content. 817 RTPromoContent(); 818 } 819 }); 820 821 // Open popup 822 // $('.tlp-openPopup').on('click', function () { 823 // const popupId = $(this).data('popup-id'); 824 // $('#' + popupId).fadeIn(); 825 // }); 826 // 827 // // Close popup 828 // $(document).on('click', '.close-popup', function () { 829 // $(this).closest('.tlp-popup').fadeOut(); 830 // }); 831 // 832 // // Close popup when clicking outside content 833 // $(window).on('click', function (event) { 834 // if ($(event.target).hasClass('tlp-popup')) { 835 // $(event.target).fadeOut(); 836 // } 837 // }); 838 839 $('.tlp-openPopup').magnificPopup({ 840 type: 'iframe' 841 }); 842 843 844 // $('.tlp-openPopup').magnificPopup({ 845 // type: 'iframe', 846 // mainClass: 'mfp-fade', 847 // removalDelay: 160, 848 // preloader: false,
849 // fixedContentPos: false 850 // }); 851 852 853 854 855})(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.