PageSourceSearch

https://www.visitsierraleone.org/wp-content/themes/traveler/v3/js/elementor.js

js visitsierraleone.org collected 2026-09-24 23:14:16 UTC 26,928 bytes, 746 lines download raw bytes

1;
2(function ($) {
3    'use strict';
4    //Slider item service
5    function st_service_list_slider_element($wrapper) {
6        let wrapper_list = $('.st-list-service', $wrapper);
7        let imageCarousel = $('.st-list-service .swiper-container', $wrapper);
8        let pagination = wrapper_list.attr('data-pagination');
9        let navigation = wrapper_list.attr('data-navigation');
10        let auto_play = wrapper_list.attr('data-auto-play');
11        let delay = wrapper_list.attr('data-delay');
12        let loop = wrapper_list.attr('data-loop');
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        option.breakpoints = {
22            640: {
23                slidesPerView: 1,
24                spaceBetween: 20,
25            },
26            768: {
27                slidesPerView: 2,
28                spaceBetween: 20,
29            },
30            992: {
31                slidesPerView: 2,
32                spaceBetween: 20,
33            },
34            1024: {
35                slidesPerView: 2,
36                spaceBetween: 20,
37            },
38            1366: {
39                slidesPerView: wrapper_list.attr('data-slides-per-view'),
40                spaceBetween: 20,
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    $(window).on('elementor/frontend/init', function () {
78        elementorFrontend.hooks.addAction('frontend/element_ready/st_list_service.default', function ($wrapper) {
79            st_service_list_slider_element($wrapper);
80        });
81    });
82    //End Slider item service
83
84    //Slider Image
85    $(window).on('elementor/frontend/init', function () {
86        elementorFrontend.hooks.addAction('frontend/element_ready/st_sliders.default', function ($wrapper) {
87            if (!$('.st-sliders').hasClass('st-list-slider')) {
88                st_sliders_element($wrapper);
89            }
90        });
91
92        elementorFrontend.hooks.addAction('frontend/element_ready/st_destination.default', function ($wrapper) {
93            if ($('.st-list-destination.st-sliders').length) {
94                st_sliders_element_destination($wrapper);
95            }
96        });
97        elementorFrontend.hooks.addAction('frontend/element_ready/st_blog_list.default', function ($wrapper) {
98            st_blogs_element($wrapper);
99        });
100    });
101
102    function st_blogs_element($wrapper) {
103        let wrapper_list = $('.st-sliders', $wrapper);
104        let imageCarousel = $('.st-sliders .swiper-container', $wrapper);
105        let pagination = wrapper_list.attr('data-pagination');
106        let navigation = wrapper_list.attr('data-navigation');
107        let auto_play = wrapper_list.attr('data-auto-play');
108        let delay = wrapper_list.attr('data-delay');
109        let loop = wrapper_list.attr('data-loop');
110        let style_slider = wrapper_list.attr('data-style-slider') || 'style-1';
111        let center_slider = wrapper_list.attr('data-center-slider');
112        let spaceBetween = wrapper_list.attr('data-space-between') || 20;
113        let option = {
114            observer: true,
115            observeParents: true,
116            speed: 400,
117            spaceBetween: spaceBetween,
118            preloadImages: true,
119            centeredSlides: !!(center_slider == 'on'),
120            centeredSlidesBounds: true,
121            // effect: wrapper_list.attr('data-effect'),
122
123        }
124        if (style_slider === 'style-2') {
125            option.on = {
126                slideChange: function () {
127                    $(".count-item-index", $wrapper).text(parseInt(this.realIndex + 1) + ' / ' + (this.loopedSlides));
128                },
129                init: function () {
130                    $(".count-item-index", $wrapper).text(parseInt(this.realIndex + 1) + ' / ' + (this.loopedSlides));
131                }
132            };
133        }
134        option.breakpoints = {
135            320: {
136                slidesPerView: 1,
137                spaceBetween: 15
138            },
139            480: {
140                slidesPerView: 1,
141                spaceBetween: 15,
142            },
143            640: {
144                slidesPerView: 2,
145                spaceBetween: 15,
146            },
147            768: {
148                slidesPerView: 2,
149                spaceBetween: 20,
150            },
151            992: {
152                slidesPerView: 2,
153                spaceBetween: 20,
154            },
155            1024: {
156                slidesPerView: 2,
157                spaceBetween: 20,
158            },
159            1366: {
160                slidesPerView: wrapper_list.attr('data-slides-per-view'),
161                spaceBetween: 20,
162            },
163        };
164        if (pagination == 'on') {
165            option.pagination = {
166				el: '.swiper-pagination',
167                clickable: true,
168            };
169        }
170        if (navigation == 'on') {
171            option.navigation = {
172				nextEl: '.st-button-next',
173                prevEl: '.st-button-prev',
174            };
175        } else {
176            option.navigation = false;
177        }
178        if (auto_play == 'on') {
179            if (delay.length > 0) {
180                option.autoplay = {
181                    delay: delay,
182                };
183            } else {
184                option.autoplay = {
185                    delay: 2000,
186                };
187            }
188
189        }
190        if (loop == 'true') {
191            option.loop = true;
192        }
193
194        const Swiper = elementorFrontend.utils.swiper;
195        const swipers = new Swiper(imageCarousel, option);
196    }
197
198    function st_sliders_element($wrapper) {
199        let wrapper_list = $('.st-sliders', $wrapper);
200        let imageCarousel = $('.st-sliders .swiper-container', $wrapper);
201        let pagination = wrapper_list.attr('data-pagination');
202        let navigation = wrapper_list.attr('data-navigation');
203        let auto_play = wrapper_list.attr('data-auto-play');
204        let delay = wrapper_list.attr('data-delay');
205        let loop = wrapper_list.attr('data-loop');
206        let style_slider = wrapper_list.attr('data-style-slider') || 'style-1';
207        let center_slider = wrapper_list.attr('data-center-slider');
208        let spaceBetween = wrapper_list.attr('data-space-between') || 20;
209        let responsive = wrapper_list.attr('data-responsive');
210        let option = {
211            observer: true,
212            observeParents: true,
213            speed: 400,
214            spaceBetween: spaceBetween,
215            preloadImages: true,
216            centeredSlides: !!(center_slider == 'on'),
217            centeredSlidesBounds: true,
218            // effect: wrapper_list.attr('data-effect'),
219
220        }
221
222        if (style_slider === 'style-2') {
223
224            option.on = {
225
226                slideChange: function () {
227                    if (loop == 'true') {
228                        var total_slider = this.slides.length - this.loopedSlides * 2;
229                    } else {
230                        var total_slider = this.slides.length;
231                    }
232                    $(".count-item-index", $wrapper).text(parseInt(this.realIndex + 1) + ' / ' + (total_slider));
233                },
234                init: function () {
235                    if (loop == 'true') {
236                        var total_slider = this.slides.length - this.loopedSlides * 2;
237                    } else {
238                        var total_slider = this.slides.length;
239                    }
240                    $(".count-item-index", $wrapper).text(parseInt(this.realIndex + 1) + ' / ' + (total_slider));
241                }
242            };
243        }
244        if (style_slider === 'style-3') {
245            if (typeof responsive !== 'undefined') {
246                option.breakpoints = JSON.parse(responsive);
247            } else {
248
249                option.breakpoints = {
250                    320: {
251                        slidesPerView: 2,
252                        spaceBetween: 15,
253                    },
254                    640: {
255                        slidesPerView: 2,
256                        spaceBetween: 20,
257                    },
258                    768: {
259                        slidesPerView: 4,
260                        spaceBetween: 20,
261                    },
262                    992: {
263                        slidesPerView: 4,
264                        spaceBetween: 20,
265                    },
266                    1024: {
267                        slidesPerView: 4,
268                        spaceBetween: 20,
269                    },
270                    1366: {
271                        slidesPerView: wrapper_list.attr('data-sli
271des-per-view'),
272                        spaceBetween: 40,
273                    },
274                };
275            }
276        } else {
277            if (center_slider == 'on') {
278                option.breakpoints = {
279                    320: {
280                        slidesPerView: 1,
281                        spaceBetween: 1,
282                    },
283                    768: {
284                        slidesPerView: 1,
285                        spaceBetween: 20,
286                    },
287                    992: {
288                        slidesPerView: 'auto',
289                        spaceBetween: 20,
290                    },
291                    1024: {
292                        slidesPerView: 'auto',
293                        spaceBetween: 20,
294                    },
295                };
296            } else {
297                if (typeof responsive !== 'undefined') {
298                    option.breakpoints = JSON.parse(responsive);
299                } else {
300                    option.breakpoints = {
301                        640: {
302                            slidesPerView: 1,
303                            spaceBetween: 20,
304                        },
305                        768: {
306                            slidesPerView: 1,
307                            spaceBetween: 20,
308                        },
309                        992: {
310                            slidesPerView: 1,
311                            spaceBetween: 20,
312                        },
313                        1024: {
314                            slidesPerView: wrapper_list.attr('data-slides-per-view'),
315                            spaceBetween: 20,
316                        },
317                    };
318                }
319            }
320        }
321        if (pagination == 'on') {
322            option.pagination = {
323                el: '.swiper-pagination',
324                clickable: true,
325            };
326        }
327        if (navigation == 'on') {
328            option.navigation = {
329                nextEl: '.st-button-next',
330                prevEl: '.st-button-prev',
331            };
332        } else {
333            option.navigation = false;
334        }
335        if (auto_play == 'on') {
336            if (delay.length > 0) {
337                option.autoplay = {
338                    delay: delay,
339                };
340            } else {
341                option.autoplay = {
342                    delay: 2000,
343                };
344            }
345
346        }
347        if (loop == 'true') {
348            option.loop = true;
349        }
350
351        const Swiper = elementorFrontend.utils.swiper;
352        const swipers = new Swiper(imageCarousel, option);
353
354    }
355
356    function st_sliders_element_destination($wrapper) {
357        let wrapper_list = $('.st-sliders', $wrapper);
358        let imageCarousel = $('.st-sliders .swiper-container', $wrapper);
359        let pagination = wrapper_list.attr('data-pagination');
360        let navigation = wrapper_list.attr('data-navigation');
361        let auto_play = wrapper_list.attr('data-auto-play');
362        let delay = wrapper_list.attr('data-delay');
363        let loop = wrapper_list.attr('data-loop');
364        let style_slider = wrapper_list.attr('data-style-slider') || 'style-1';
365        let center_slider = wrapper_list.attr('data-center-slider');
366        let spaceBetween = wrapper_list.attr('data-space-between') || 20;
367        let option = {
368            observer: true,
369            observeParents: true,
370            speed: 400,
371            spaceBetween: spaceBetween,
372            preloadImages: true,
373            centeredSlides: !!(center_slider == 'on'),
374            centeredSlidesBounds: true,
375            // effect: wrapper_list.attr('data-effect'),
376            slidesPerView: 2,
377            spaceBetween: 20
378
379        }
380        if (style_slider === 'style-2') {
381            option.on = {
382                slideChange: function () {
383                    $(".count-item-index", $wrapper).text(parseInt(this.realIndex + 1) + ' / ' + (this.loopedSlides));
384                },
385                init: function () {
386                    $(".count-item-index", $wrapper).text(parseInt(this.realIndex + 1) + ' / ' + (this.loopedSlides));
387                }
388            };
389        }
390        if (center_slider == 'on') {
391            option.breakpoints = {
392                320: {
393                    slidesPerView: 2,
394                    spaceBetween: 12
395                },
396                480: {
397                    slidesPerView: 2,
398                    spaceBetween: 12,
399                },
400                640: {
401                    slidesPerView: 2,
402                    spaceBetween: 20,
403                },
404                768: {
405                    slidesPerView: 'auto',
406                    spaceBetween: 20,
407                },
408                992: {
409                    slidesPerView: 'auto',
410                    spaceBetween: 20,
411                },
412                1024: {
413                    slidesPerView: 'auto',
414                    spaceBetween: 20,
415                },
416            };
417        } else {
418            option.breakpoints = {
419                320: {
420                    slidesPerView: 2,
421                    spaceBetween: 25
422                },
423                480: {
424                    slidesPerView: 2,
425                    spaceBetween: 25,
426                },
427                640: {
428                    slidesPerView: 2,
429                    spaceBetween: 25,
430                },
431                768: {
432                    slidesPerView: 4,
433                    spaceBetween: 25,
434                },
435                992: {
436                    slidesPerView: 4,
437                    spaceBetween: 25,
438                },
439                1024: {
440                    slidesPerView: 4,
441                    spaceBetween: 25,
442                },
443                1366: {
444                    slidesPerView: wrapper_list.attr('data-slides-per-view'),
445                    spaceBetween: 40,
446                },
447            };
448        }
449        if (pagination == 'on') {
450            option.pagination = {
451                el: '.swiper-pagination',
452                clickable: true,
453            };
454        }
455        if (navigation == 'on') {
456            option.navigation = {
457                nextEl: '.st-button-next',
458                prevEl: '.st-button-prev',
459            };
460        } else {
461            option.navigation = false;
462        }
463        if (auto_play == 'on') {
464            if (delay.length > 0) {
465                option.autoplay = {
466                    delay: delay,
467                };
468            } else {
469                option.autoplay = {
470                    delay: 2000,
471                };
472            }
473
474        }
475        if (loop == 'true') {
476            option.loop = true;
477        }
478
479        const Swiper = elementorFrontend.utils.swiper;
480        if (imageCarousel.length) {
481            const swipers = new Swiper(imageCarousel, option);
482        }
483
484    }
485    //End Slider Image
486
487    //Slider Testimonial
488    $(window).on('elementor/frontend/init', function () {
489        elementorFrontend.hooks.addAction('frontend/element_ready/st_testimonial.default', function ($wrapper) {
490            st_testimonial_element($wrapper);
491        });
492    });
493
494    function st_testimonial_element($wrapper) {
495        let wrapper_list = $('.st-testimonial', $wrapper);
496        let imageCarousel = $('.st-testimonial .swiper-container', $wrapper);
497        let pagination = wrapper_list.attr('data-pagination');
498        let navigation = wrapper_list.attr('data-navigation');
499        let auto_play = wrapper_list.attr('data-auto-play');
500        let delay = wrapper_list.attr('data-delay');
501        let loop = wrapper_list.attr('data-loop');
502        let responsive = wrapper_list.attr('data-responsive');
503        let option = {
504            speed: 400,
505            spaceBetween: 20,
506            preloadImages: true,
507            observer: true,
508            observeParents: true,
509            // effect: wrapper_list.attr('data-effect'),
510        }
511        if (typeof responsive !== 'undefined') {
512            option.breakpoints = JSON.parse(responsive);
513        } else {
514            option.breakpoints = {
515                640: {
516                    slidesPerView: 1,
517                    spaceBetween: 20,
518                },
519                768: {
520                    slidesPerView: 2,
521                    spaceBetween: 20,
522                },
523                992: {
524                    slidesPerView: 3,
525                    spaceBetween: 20,
526                },
527                1024: {
528                    slidesPerView: wrapper_list.attr('data-slides-per-view'),
529                    spaceBetween: 20,
530                },
531            };
532        }
533
534        if (pagination == 'on') {
535            option.pagination = {
536                el: '.swiper-pagination',
537                clickable: true,
538            };
539        }
540        if (navigation == 'on') {
541            option.navigation = {
542                nextEl: '.st-button-next',
543                prevEl: '.st-button-prev',
544            };
545        }
546        if (auto_play == 'on') {
547            if (delay.length > 0) {
548                option.autoplay = {
549                    delay: delay,
550                };
551            } else {
552                option.autoplay = {
553                    delay: 2000,
554                };
555            }
556
557        }
558        if (loop == 'true') {
559            option.loop = true;
560        }
561        const Swiper = elementorFrontend.utils.swiper;
562        $('.st-testimonial .swiper-wrapper .swiper-slide', $wrapper).matchHeight({
563            remove: true
564        });
565        $('.st-testimonial .swiper-wrapper .swiper-slide', $wrapper).matchHeight();
566        const swipers = new Swiper(imageCarousel, option);
567        $('.st-testimonial .swiper-wrapper .swiper-slide', $wrapper).matchHeight();
568    }
569
570    //Ajax list of service
571    function URLToArrayNew() {
572        var res = {};
573
574        $('.toolbar .layout span').each(function () {
575            if ($(this).hasClass('active')) {
576                res['layout'] = $(this).data('value');
577            }
578        });
579
580        res['orderby'] = '';
581
582        var sPageURL = window.location.search.substring(1);
583        if (sPageURL != '') {
584            var sURLVariables = sPageURL.split('&');
585            if (sURLVariables.length) {
586                for (var i = 0; i < sURLVariables.length; i++) {
587                    var sParameterName = sURLVariables[i].split('=');
588                    if (sParameterName.length) {
589                        let val = decodeURIComponent(sParameterName[1]);
590                        res[decodeURIComponent(sParameterName[0])] = val == 'undefined' ? '' : val;
591                    }
592                }
593            }
594        }
595        return res;
596    }
597    var dataAjax = URLToArrayNew();
598    var requestRunning = false;
599    var xhr;
600    $(document).on('click', '.panigation-list-new-style a.page-numbers:not
600(.current, .dots)', function (e) {
601        e.preventDefault();
602        var t = $(this);
603        var parent_panigation = t.closest('.panigation-list-new-style');
604
605        var pagUrl = t.attr('href');
606        var action_service = parent_panigation.data('action_service');
607        let posts_per_page = parent_panigation.data('posts_per_page');
608        let item_row = parent_panigation.data('st_item_row');
609        let item_row_tablet = parent_panigation.data('st_item_row_tablet');
610        let st_item_row_tablet_extra = parent_panigation.data('st_item_row_tablet_extra');
611        if (typeof parent_panigation.data('st_location_id') !== 'undefined') {
612            var location_id = parent_panigation.data('st_location_id');
613        } else {
614            var location_id = '';
615        }
616        let order = parent_panigation.data('order');
617        let orderby = parent_panigation.data('orderby');
618        let stt_service = parent_panigation.data('stt_service');
619        pageNum = 1;
620
621        if (typeof pagUrl !== typeof undefined && pagUrl !== false) {
622            var arr = pagUrl.split('/');
623            var pageNum = arr[arr.indexOf('page') + 1];
624            if (isNaN(pageNum)) {
625                pageNum = 1;
626            }
627
628            ajaxFilterHandler(action_service, posts_per_page, pageNum, order, orderby, item_row, item_row_tablet, st_item_row_tablet_extra, stt_service, t, location_id);
629            if ($('.modern-search-result-popup').length) {
630                $('.col-left-map').animate({
631                    scrollTop: 0
632                }, 'slow');
633            }
634
635            if ($('#modern-result-string').length) {
636                window.scrollTo({
637                    top: $('#modern-result-string').offset().top - 20,
638                    behavior: 'smooth'
639                });
640            }
641            return false;
642        } else {
643            return false;
644        }
645    });
646
647    function ajaxFilterHandler(action_service = '', posts_per_page = '', pageNum = 1, order = '', orderby = '', item_row = 4, item_row_tablet = 2, st_item_row_tablet_extra = 3, stt_service = '', t, location_id = '') {
648        if (requestRunning) {
649            xhr.abort();
650        }
651        $('.filter-loading').show();
652        //Check layout search rental acency in library
653        if ($('.st_agency_list_service').length > 0) {
654            dataAjax['agency'] = 'agency';
655        }
656        //End Check layout search rental acency in library
657        dataAjax['format'] = 'normal';
658        dataAjax['version_layout'] = '';
659        dataAjax['st_order'] = order;
660        dataAjax['st_orderby'] = orderby;
661        dataAjax['st_item_row'] = item_row;
662        dataAjax['st_item_row_tablet'] = item_row_tablet;
663        dataAjax['location_id'] = location_id;
664        dataAjax['st_item_row_tablet_extra'] = st_item_row_tablet_extra;
665        dataAjax['page'] = pageNum;
666        dataAjax['action'] = action_service;
667		dataAjax['is_search_page'] = 1;
668        if (posts_per_page != '') {
669            dataAjax['posts_per_page'] = posts_per_page;
670        }
671
672        dataAjax['_s'] = st_params._s;
673        if (typeof dataAjax['page'] == 'undefined') {
674            dataAjax['page'] = 1;
675        }
676
677        var divResult = t.closest('.stt-tab-list-ofservice').find('.modern-search-result');
678        var divResultString = $('.modern-result-string');
679        var divPagination = t.closest('#nav-list-of_service' + stt_service).find('.moderm-pagination');
680        dataAjax['layout'] = 'grid';
681        if (t.closest('.st_list_service_room').find('.panigation-list-new-style').length > 0) {
682            var divResult = t.closest('.st_list_service_room');
683            var divPagination = t.closest('.st_list_service_room').find('.panigation-list-new-style');
684            dataAjax['layout'] = 'list';
685
686			if (t.closest('.st_list_service_room').find('.panigation-list-new-style').data('post_id')) {
687				dataAjax['post__in'] = t.closest('.st_list_service_room').find('.panigation-list-new-style').data('post_id');
688			}
689
690        }
691		if (t.closest('.st_list_service_room').find('.panigation-list-new-style').data('layout') == 'grid') {
692			dataAjax['layout'] = 'grid';
693		}
694        divResult.addClass('loading');
695        $('.map-content-loading').fadeIn();
696        // console.log(divResult);
697        let wrapper = $('.search-result-page');
698        dataAjax['version'] = 'elementorv2';
699        xhr = $.ajax({
700            url: st_params.ajax_url,
701            dataType: 'json',
702            type: 'get',
703            data: dataAjax,
704            success: function (doc) {
705                if (typeof doc.pag === 'undefined') {
706                    divResult.html(doc.content);
707                } else {
708                    divResult.html(doc.content);
709
710                    divResultString.each(function () {
711                        $(this).html(doc.count);
712                    });
713                    //console.log(doc.content);
714                    divPagination.each(function () {
715                        $(this).html(doc.pag);
716                    });
717                }
718
719            },
720            complete: function () {
721                divResult.removeClass('loading');
722                $('.map-content-loading').fadeOut();
723
724                var time = 0;
725                divResult.find('img').one("load", function () {
726                    $(this).addClass('loaded');
727                    if (divResult.find('img.loaded').length === divResult.find('img').length) {
728                        if ($('.has-matchHeight').length) {
729                            $('.has-matchHeight').matchHeight({
730                                remove: true
731                            });
732                            $('.has-matchHeight').matchHeight();
733                        }
734                    }
735                });
736                requestRunning = false;
737            },
738        });
739        requestRunning = true;
740    }
741    $(".login").on('click', function () {
742        $("#st-main-menu").removeClass("open");
743    });
744
745})
746    (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.