1(function ($) { 2 'use strict'; 3 4 function st_service_list_slider_acency_element($wrapper) { 5 let wrapper_list = $('.st-list-service', $wrapper); 6 let imageCarousel = $('.st-list-service .swiper-container', $wrapper); 7 let pagination = wrapper_list.attr('data-pagination'); 8 let navigation = wrapper_list.attr('data-navigation'); 9 let auto_play = wrapper_list.attr('data-auto-play'); 10 let delay = wrapper_list.attr('data-delay'); 11 let loop = wrapper_list.attr('data-loop'); 12 let responsive = wrapper_list.attr('data-responsive'); 13 let option = { 14 observer: true, 15 observeParents: true, 16 speed: 400, 17 spaceBetween: 20, 18 preloadImages: true, 19 // effect: wrapper_list.attr('data-effect'), 20 } 21 if (typeof responsive !== 'undefined') { 22 option.breakpoints = JSON.parse(responsive); 23 } else { 24 option.breakpoints = { 25 480: { 26 slidesPerView: 1, 27 spaceBetween: 10, 28 }, 29 767: { 30 slidesPerView: 2, 31 spaceBetween: 24, 32 }, 33 1024: { 34 slidesPerView: 3, 35 spaceBetween: 24, 36 }, 37 1366: { 38 slidesPerView: wrapper_list.attr('data-slides-per-view'), 39 spaceBetween: 24, 40 }, 41 }; 42 } 43 if (pagination == 'on') { 44 option.pagination = { 45 el: '.swiper-pagination', 46 clickable: true, 47 }; 48 } 49 if (navigation == 'on') { 50 option.navigation = { 51 nextEl: '.st-button-next', 52 prevEl: '.st-button-prev', 53 }; 54 } 55 if (auto_play == 'on') { 56 if (delay.length > 0) { 57 option.autoplay = { 58 delay: delay, 59 }; 60 } else { 61 option.autoplay = { 62 delay: 2000, 63 }; 64 } 65 66 } 67 if (loop == 'true') { 68 option.loop = true; 69 } 70 71 const Swiper = elementorFrontend.utils.swiper; 72 if (imageCarousel.length) { 73 const swipers = new Swiper(imageCarousel, option); 74 } 75 76 77 } 78 79 function st_sliders_agency_element($wrapper) { 80 let wrapper_list = $('.st-sliders', $wrapper); 81 let imageCarousel = $('.st-sliders .swiper-container', $wrapper); 82 let pagination = wrapper_list.attr('data-pagination'); 83 let navigation = wrapper_list.attr('data-navigation'); 84 let auto_play = wrapper_list.attr('data-auto-play'); 85 let delay = wrapper_list.attr('data-delay'); 86 let loop = wrapper_list.attr('data-loop'); 87 let style_slider = wrapper_list.attr('data-style-slider') || 'style-1'; 88 let center_slider = wrapper_list.attr('data-center-slider'); 89 let spaceBetween = wrapper_list.attr('data-space-between') || 20; 90 91 let responsive = wrapper_list.attr('data-responsive'); 92 93 let option = { 94 observer: true, 95 observeParents: true, 96 speed: 400, 97 spaceBetween: parseInt(spaceBetween), 98 preloadImages: true, 99 centeredSlides: !!(center_slider == 'on'), 100 centeredSlidesBounds: true, 101 // effect: wrapper_list.attr('data-effect'), 102 103 } 104 105 if (center_slider == 'on') { 106 107 option.breakpoints = { 108 320: { 109 slidesPerView: 1, 110 spaceBetween: 0, 111 }, 112 768: { 113 slidesPerView: 1, 114 spaceBetween: 20, 115 }, 116 992: { 117 slidesPerView: 'auto', 118 spaceBetween: 30, 119 }, 120 1024: { 121 slidesPerView: 'auto', 122 spaceBetween: 30, 123 }, 124 }; 125 } else { 126 127 if (typeof responsive !== 'undefined') { 128 option.breakpoints = JSON.parse(responsive); 129 } else { 130 option.breakpoints = { 131 640: { 132 slidesPerView: 1, 133 spaceBetween: 16, 134 }, 135 768: { 136 slidesPerView: 1, 137 spaceBetween: 20, 138 }, 139 992: { 140 slidesPerView: 1, 141 spaceBetween: 20, 142 }, 143 1024: { 144 slidesPerView: wrapper_list.attr('data-sli
144des-per-view'), 145 spaceBetween: 30, 146 }, 147 }; 148 } 149 } 150 151 if (pagination == 'on') { 152 option.pagination = { 153 el: '.swiper-pagination', 154 clickable: true, 155 }; 156 } 157 if (navigation == 'on') { 158 option.navigation = { 159 nextEl: '.st-button-next', 160 prevEl: '.st-button-prev', 161 }; 162 } else { 163 option.navigation = false; 164 } 165 if (auto_play == 'on') { 166 if (delay.length > 0) { 167 option.autoplay = { 168 delay: delay, 169 }; 170 } else { 171 option.autoplay = { 172 delay: 2000, 173 }; 174 } 175 176 } 177 if (loop == 'true') { 178 option.loop = true; 179 } 180 181 const Swiper = elementorFrontend.utils.swiper; 182 const swipers = new Swiper(imageCarousel, option); 183 console.log('option', option); 184 185 } 186 187 $(window).on('elementor/frontend/init', function () { 188 elementorFrontend.hooks.addAction('frontend/element_ready/st_team.default', function ($wrapper) { 189 st_service_list_slider_acency_element($wrapper); 190 $('.service-list-wrapper .swiper-wrapper .swiper-slide', $wrapper).matchHeight({ 191 remove: true 192 }); 193 $('.service-list-wrapper .swiper-wrapper .swiper-slide', $wrapper).matchHeight(); 194 }); 195 elementorFrontend.hooks.addAction('frontend/element_ready/st_list_service_room.default', function ($wrapper) { 196 st_service_list_slider_acency_element($wrapper); 197 $('.service-list-wrapper .swiper-wrapper .swiper-slide', $wrapper).matchHeight({ 198 remove: true 199 }); 200 $('.service-list-wrapper .swiper-wrapper .swiper-slide', $wrapper).matchHeight(); 201 }); 202 elementorFrontend.hooks.addAction('frontend/element_ready/st_slider_room.default', function ($wrapper) { 203 st_sliders_agency_element($wrapper); 204 }); 205 elementorFrontend.hooks.addAction('frontend/element_ready/st_sliders.default', function ($wrapper) { 206 st_sliders_agency_element($wrapper); 207 }); 208 }); 209 //subcrible 210 $(".traveler-form").each(function () { 211 var id = $(this).attr('data-validation-id'); 212 $('#form-subscribe-' + id).submit(function (event) { 213 event.preventDefault(); 214 var email = $('#EMAIL-' + id).val(); 215 var name = $('#NAME-' + id).val(); 216 var api_key = $('.api_key').val(); 217 var id_list_mailchimp = $('.id_list_mailchimp').val(); 218 var status_email = $('.status_email').val(); 219 $.ajax({
220 type: "post", 221 dataType: "json", 222 url: cpm_object.ajax_url, 223 data: { 224 action: "traveler_newsletter", 225 email: email, 226 api_key: api_key, 227 name: name, 228 id_list_mailchimp: id_list_mailchimp, 229 status_email: status_email, 230 security: cpm_object.nonce, 231 }, 232 beforeSend: function () {}, 233 success: function (response) { 234 alert(response.message); 235 $('#EMAIL-' + id).val(''); 236 $('#NAME-' + id).val(''); 237 }, 238 error: function (jqXHR, textStatus, errorThrown) { 239 240 console.log('The following error occured: ' + textStatus, errorThrown); 241 } 242 }) 243 244 }); 245 }); 246 247}) 248(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.