1(function ($) { 2 "use strict"; 3 4 /* Ajax load more posts */ 5 $( '.art-ajax-load-more-posts-button' ).on( 'click', function( event ) { 6 event.preventDefault(); 7 8 const $button = $( this ), 9 $buttonWrap = $button.closest( '.art-ajax-load-more-posts-button-wrap' ), 10 $wrapper = $button.closest( '.art-ajax-posts-wrapper' ), 11 $container = $wrapper.find( '.art-ajax-posts-container' ), 12 postType = $wrapper.data( 'postType' ), 13 templatePart = $wrapper.data( 'templatePart' ), 14 taxonomy = $wrapper.data( 'taxonomy' ), 15 count = $wrapper.data( 'count' ), 16 page = $wrapper.data( 'page' ), 17 order = $wrapper.data( 'order' ), 18 termId = $wrapper.data( 'termId' ); 19 20 const obj = { 21 init: () => { 22 $buttonWrap.addClass( 'art-loading' ); 23 24 obj.doAjax(); 25 }, 26 doAjax: () => { 27 const ajaxData = { 28 nonce: art_params.nonce, 29 action: 'art_load_more_posts', 30 art_post_type: postType, 31 art_template_part: templatePart, 32 art_taxonomy: taxonomy, 33 art_count: count, 34 art_page: page, 35 art_order: order, 36 art_term_id: termId, 37 }; 38 39 $.post( art_params.ajaxurl, ajaxData, obj.ajaxCallback ); 40 }, 41 ajaxCallback: ( response ) => { 42 if ( true !== response.success ) { 43 return; 44 } 45 46 if ( 'hide' === response.load_more_visibility ) { 47 $buttonWrap.addClass( 'art-hide' ); 48 } 49 50 $container.append( response.data ); 51 52 $wrapper.data( 'page', response.current_page ); 53 54 $buttonWrap.removeClass( 'art-loading' ); 55 }, 56 }; 57 58 obj.init(); 59 } ); 60 61 /* Ajax term filter posts */ 62 $( '.art-ajax-terms-list-item' ).on( 'click', function( event ) { 63 event.preventDefault(); 64 65 if ( $( this ).hasClass( 'art-current-item' ) ) { 66 return; 67 } 68 69 const $button = $( this ), 70 $buttonsWrap = $button.closest( '.art-ajax-terms-list' ), 71 $wrapper = $button.closest( '.art-ajax-posts-wrapper' ), 72 $container = $wrapper.find( '.art-ajax-posts-container' ), 73 termId = $button.data( 'termId' ), 74 postType = $wrapper.data( 'postType' ), 75 templatePart = $wrapper.data( 'templatePart' ), 76 taxonomy = $wrapper.data( 'taxonomy' ), 77 count = $wrapper.data( 'count' ), 78 order = $wrapper.data( 'order' ); 79 80 const obj = { 81 init: () => { 82 $wrapper.data( 'termId', termId ); 83 $wrapper.data( 'page', 1 ); 84 $wrapper.addClass( 'art-loading' ); 85 86 obj.doAjax(); 87 }, 88 doAjax: () => { 89 const ajaxData = { 90 nonce: art_params.nonce, 91 action: 'art_term_filter_posts', 92 art_post_type: postType, 93 art_template_part: templatePart, 94 art_taxonomy: taxonomy, 95 art_count: count, 96 art_page: 1, 97 art_order: order, 98 art_term_id: termId, 99 }; 100 101 $.post( art_params.ajaxurl, ajaxData, obj.ajaxCallback ); 102 }, 103 ajaxCallback: ( response ) => { 104 if ( true !== response.success ) { 105 return; 106 } 107 108 if ( 'hide' === response.load_more_visibility ) { 109 $wrapper.find( '.art-ajax-load-more-posts-button-wrap' ).addClass( 'art-hide' ); 110 } else { 111 $wrapper.find( '.art-ajax-load-more-posts-button-wrap' ).removeClass( 'art-hide' ); 112 } 113 114 $container.html( response.data ); 115 116 $buttonsWrap.find( '.art-current-item' ).removeClass( 'art-current-item' ); 117 118 $button.addClass( 'art-current-item' ); 119 120 $wrapper.removeClass( 'art-loading' ); 121 }, 122 }; 123 124 obj.init(); 125 } ); 126 127 $('.open-popup-link').magnificPopup({ 128 type:'inline', 129 midClick: true, // Allow opening popup on middle mouse click. Always set it to true if you don't provide alternative source in href. 130 131 removalDelay: 300, 132 mainClass: 'my-mfp-zoom-in', 133 134 fixedContentPos: true, 135 fixedBgPos: true, 136 overflowY: 'auto' 137 }); 138 139 let imagesSwiperTestimonials = function ($scope, $) { 140 141 let swiperTestimonials = new Swiper(".art-testimonials-swiper", { 142 slidesPerView: 3, 143 spaceBetween: 30, 144 navigation: { 145 nextEl: '.swiper-button-next', 146 prevEl: '.swiper-button-prev', 147 }, 148 breakpoints: { 149 200: { 150 slidesPerView: 1, 151 }, 152 767: { 153 slidesPerView: 2, 154 }, 155 980: { 156 slidesPerView: 3, 157 }, 158 } 159 }); 160 161 } 162 163 let imagesSwiperTestimonialsTwo = function ($scope, $) { 164 165 let swiperTestimonials = new Swiper(".art-testimonials-two-swiper", { 166 slidesPerView: 3, 167 spaceBetween: 30, 168 navigation: { 169 nextEl: '.swiper-button-next', 170 prevEl: '.swiper-button-prev', 171 }, 172 breakpoints: { 173 200: { 174 slidesPerView: 1, 175 }, 176 767: { 177 slidesPerView: 2, 178 }, 179 980: { 180 slidesPerView: 3, 181 }, 182 } 183 }); 184 185 } 186 187 let floaatImages = function ($scope, $) { 188 189 // Paroller 190 $("[data-paroller-factor]").paroller(); 191 $(".art-paroller-image").paroller(); 192 193 } 194 195 196 let accordionTabs = function ($scope, $) { 197 198 // Accordion tabs 199 $('.art-accordion-menu-tabs li').on('click', function(){ 200 201 var widget_itself = $(this), 202 widget_parent_tabs = widget_itself.parent(), 203 //widget_parent_content = widget_itself.parent().parent().find('.art-accordion-menu-info'), 204 widget_parent_content = widget_itself.parent().parent().parent().find('.art-accordion-menu-info'), 205 selected_button = widget_itself.data('id'); 206 207 widget_parent_tabs.find('li').removeClass('art-active').addClass('art-no-active'); 208 widget_itself.removeClass('art-no-active').addClass('art-active'); 209 210 widget_parent_content.find('.art-accordion-item').hide(); 211 widget_parent_content.find('.art-accordion-item[data-id="' + selected_button + '"]').fadeIn(); 212 213 }); 214 215 } 216 217 218 $(window).on("elementor/frontend/init", function () { 219 220 elementorFrontend.hooks.addAction( 221 "frontend/element_ready/art-testimonials.default", 222 imagesSwiperTestimonials 223 ); 224 225 elementorFrontend.hooks.addAction( 226 "frontend/element_ready/art-testimonials-two.default", 227 imagesSwiperTestimonialsTwo 228 ); 229 230 elementorFrontend.hooks.addAction( 231 "frontend/element_ready/art-accordion-tabs.default", 232 accordionTabs 233 ); 234 235 /*elementorFrontend.hooks.addAction( 236 "frontend/element_ready/art-floating-image.default", 237 floaatImages 238 );*/ 239 240 }); 241 242 $("[data-paroller-factor]").paroller(); 243 $(".art-paroller-image").paroller(); 244 245 246}) 247(jQuery); 248 249 250
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.