PageSourceSearch

https://solarthermalworld.org/wp-content/themes/digiqole2025/assets/js/elementor.js?ver=2.2.5

js solarthermalworld.org collected 2026-10-02 04:52:10 UTC 19,607 bytes, 477 lines download raw bytes

1
2(function ($, elementor) {
3   "use strict";
4
5
6   var DIGIQOLE = {
7
8      /**
9      * Create a new Swiper instance
10      *
11      * @param swiperElement widget scope
12      * @param swiperConfig swiper config
13      */
14      swiper: function (swiperElement, swiperConfig) {
15         var swiperContainer = swiperElement.get(0);
16         if (typeof Swiper !== 'function') {
17            // If Swiper is not defined or not a function, load the Swiper library asynchronously
18            const asyncSwiper = elementor.utils.swiper;
19            return new asyncSwiper(swiperContainer, swiperConfig).then((newSwiperInstance) => {
20               return newSwiperInstance;
21            });
22         }
23         // If Swiper is already defined, create a new Swiper instance using the global Swiper object
24         const swiperInstance = new Swiper(swiperContainer, swiperConfig);
25         return Promise.resolve(swiperInstance);
26      },
27
28      init: function () {
29         var widgets = {
30            'newszone-post-grid-slider.default': DIGIQOLE.Newszone_post_grid_slider,
31            'sports-slider.default': DIGIQOLE.Newszone_post_grid_slider,
32            'newszone-post-block-slider.default': DIGIQOLE.Newszone_post_block_slider,
33            'newszone-post-slider.default': DIGIQOLE.Newszone_post_slider,
34            'newszone-editor-pick-post-slider.default': DIGIQOLE.Newszone_editor_pick_post_slider,
35            'newszone-video-post-slider2.default': DIGIQOLE.Newszone_video_slider2,
36            'newszone-post-grid-loadmore.default': DIGIQOLE.Newszone_post_grid_loadmore,
37            //'digiqole-newsticker.default': DIGIQOLE.Newszone_news_ticker,
38            'newszone-main-slider.default': DIGIQOLE.MainSlider,
39         };
40         $.each(widgets, function (widget, callback) {
41            elementor.hooks.addAction('frontend/element_ready/' + widget, callback);
42         });
43      },
44      /* ----------------------------------------------------------- */
45      /*  Grid slider
46      /* ----------------------------------------------------------- */
47      Newszone_post_grid_slider: function ($scope) {
48         let $container = $scope.find('.weekend-top');
49         if ($container.length > 0) {
50            let controls = $container.data('controls');
51            let slide_loop = false;
52            let slide_autoplay = Boolean(controls.auto_nav_slide ? true : false);
53            let slides_to_show = parseInt(controls.item_count);
54            let slide_autoplay_delay = 2500;
55            let slider_space_between = 30;
56            let widget_id = controls.widget_id;
57            let slider_speed = controls.slide_speed;
58            var config = {
59               slidesPerView: slides_to_show,
60               centeredSlides: false,
61               spaceBetween: slider_space_between,
62               loop: slide_loop,
63               slidesPerGroup: slides_to_show,
64               wrapperClass: 'swiper-wrapper',
65               slideClass: 'swiper-slide',
66               grabCursor: false,
67               allowTouchMove: true,
68               speed: slider_speed, //slider transition speed
69               parallax: true,
70               autoplay: slide_autoplay ? { delay: slide_autoplay_delay } : false,
71               effect: 'slide',
72               mousewheelControl: 1,
73               dots: true,
74               pagination: {
75                  el: $scope.find('.swiper-pagination'),
76                  type: 'bullets',
77                  dynamicBullets: true,
78                  clickable: true,
79               },
80               navigation: {
81                  nextEl: `.swiper-next-${widget_id}`,
82                  prevEl: `.swiper-prev-${widget_id}`,
83               },
84               breakpoints: {
85                  0: {
86                     slidesPerView: 1,
87                     slidesPerGroup: 1,
88                  },
89                  767: {
90                     slidesPerView: 2,
91                     slidesPerGroup: 2,
92                  },
93                  1024: {
94                     slidesPerView: slides_to_show,
95                     slidesPerGroup: slides_to_show,
96                  },
97               },
98
99            }
100
101            // swiper
102            let swiperClass = $scope.find(`.${window.elementorFrontend.config.swiperClass}`);
103            DIGIQOLE.swiper(swiperClass, config).then(function (swiperInstance) { });
104         }
105      },
106
107      /* ----------------------------------------------------------- */
108      /*  Post block slider
109      /* ----------------------------------------------------------- */
110      Newszone_post_block_slider: function ($scope) {
111         let $container = $scope.find('.block-slider');
112         if ($container.length > 0) {
113            let controls = $container.data('controls');
114            let slide_loop = true;
115            let slide_autoplay = Boolean(controls.auto_nav_slide ? true : false);
116            let slides_to_show = parseInt(controls.item_count);
117            let slide_autoplay_delay = 2500;
118            let slider_space_between = 30;
119            // eslint-disable-next-line
120            $($container).each(function (index, element) {
121               let $element = $(element).find('.swiper-container');
122               new Swiper($element, {
123                  slidesPerView: slides_to_show,
124                  centeredSlides: false,
125                  spaceBetween: slider_space_between,
126                  loop: slide_loop,
127                  slidesPerGroup: slides_to_show,
128                  wrapperClass: 'swiper-wrapper',
129                  slideClass: 'swiper-slide',
130                  grabCursor: false,
131                  allowTouchMove: true,
132                  speed: 1200, //slider transition speed
133                  parallax: true,
134                  autoplay: slide_autoplay ? { delay: slide_autoplay_delay } : false,
135                  effect: 'slide',
136                  mousewheelControl: 1,
137                  pagination: {
138                     el: $scope.find('.swiper-pagination'),
139                     type: 'bullets',
140                     dynamicBullets: true,
141                     clickable: true,
142                  },
143                  breakpoints: {
144                     0: {
145                        slidesPerView: 1,
146                        slidesPerGroup: 1,
147                     },
148                     767: {
149                        slidesPerView: 2,
150                        slidesPerGroup: 2,
151                     },
152                     1024: {
153                        slidesPerView: slides_to_show,
154                        slidesPerGroup: slides_to_show,
155                     },
156                  },
157
158               });
159            });
160         }
161      },
162      /* ----------------------------------------------------------- */
163      /*  post slider
164      /* ----------------------------------------------------------- */
165      Newszone_post_slider: function ($scope) {
166         let $container = $scope.find('.post-slider');
167         if ($container.length > 0) {
168            let controls = $container.data('controls');
169            let slide_loop = Boolean(controls.slider_loop ? true : false);
170            let slide_autoplay = Boolean(controls.auto_nav_slide ? true : false);
171            let slides_to_show = parseInt(controls.item_count);
172            let slide_autoplay_delay = 2500;
173            let slider_space_between = parseInt(controls.margin);
174            let widget_id = controls.widget_id;
175
176            let config = {
177               slidesPerView: slides_to_show,
178               pagination: {
179                  el: $scope.find('.swiper-pagination')[0],
180                  type: 'bullets',
181                  dynamicBullets: true,
182                  clickable: true,
183               },
184               centeredSlides: false,
185               spaceBetween: slider_space_between,
186               loop: slide_loop,
187               slidesPerGroup: slides_to_show,
188               wrapperClass: 'swiper-wrapper',
189               slideClass: 'swiper-slide',
190               grabCursor: false,
191               allowTouchMove: true,
192               speed: 3000, //slider transition speed
193               parallax: true,
194               autoplay: slide_autoplay ? { delay: slide_autoplay_delay } : false,
195               effect: 'slide',
196               mousewheelControl: 1,
197               navigation: {
198                  nextEl: `.swiper-next-${widget_id}`,
199                  prevEl: `.swiper-prev-${widget_id}`,
200               },
201               breakpoints: {
202                  0: {
203                     slidesPerView: 1,
204                     slidesPerGroup: 1,
205                  },
206                  767: {
207                     slidesPerView: 2,
208                     slidesPerGroup: 2,
209                  },
210                  1024: {
211                     slidesPerView: slides_to_show,
212                     slidesPerGroup: slides_to_show,
213                  },
214               },
215            }
216
217            // swiper
218            let swiperClass = $scope.find(`.${window.elementorFrontend.config.swiperClass}`);
219            DIGIQOLE.swiper(swiperClass, config).then(function (swiperInstance) { });
220         }
221      },
222
223      /* ----------------------------------------------------------- */
224      /*video  post slider
225      /* ----------------------------------------------------------- */
226      // Newszone_video_slider2
227      Newszone_video_slider2: function ($scope) {
228         let $container = $scope.find('.digiqole-video-slider');
229         if ($container.length > 0) {
230            let slides_to_show = 4;
231            let slider_space_between = 0;
232            // eslint-disable-next-line
233            var galleryTop = new Swiper(".digiqole-video-slider-container", {
234               loop: true,
235               loopedSlides: 5, //looped slides should be the same
236               thumbs: {
237                  swiper: new Swiper('.digiqole-video-slider2-container', {
238                     spaceBetween: slider_space_between,
239                     slidesPerView: slides_to_show,
240                     loop: true,
241                     freeMode: true,
242                     loopedSlides: 5, //looped slides should be the same
243                     watchSlidesVisibility: true,
244                     watchSlidesProgress: true,
245                     breakpoints: {
246                        0: {
247                           slidesPerView: 1,
248                        },
249                        767: {
250                           slidesPerView: 2,
251                        },
252                        1024: {
253                           slidesPerView: 4,
254                        },
255                     },
256                  }),
257               },
258            });
259         }
260      },
261      /* ----------------------------------------------------------- */
262      /*   Post grid ajax load
263      /* ----------------------------------------------------------- */
264      Newszone_post_grid_loadmore: function ($scope) {
265         var $container = $scope.find('.digiqole-post-grid-loadmore');
266         if ($container.length > 0) {
267            $container.on('click', function (event) {
268               event.preventDefault();
269               if ($.active > 0) {
270                  return;
271               }
272               var $that = $(this);
273               var ajaxjsondata = $that.data('json_grid_meta');
274               var digiqole_json_data = Object(ajaxjsondata);
275               var contentwrap = $scope.find('.grid-loadmore-content'), // item contentwrap
276                  postperpage = parseInt(digiqole_json_data.posts_per_page), // post per page number
277                  showallposts = parseInt(digiqole_json_data.total_post); // total posts count
278               var items = contentwrap.find('.grid-item'),
279                  totalpostnumber = parseInt(items.length),
280                  paged = parseInt(totalpostnumber / postperpage) + 1; // paged number
281               $.ajax({
282                  url: digiqole_ajax.ajax_url,
283                  type: 'POST',
284                  data: { action: 'digiqole_post_ajax_loading', ajax_json_data: ajaxjsondata, paged: paged },
285                  beforeSend: function () {
286                     $('<i class="ts-icon ts-icon-spinner fa-spin" style="margin-left:10px"></i>').appendTo("#digiqole-post-grid-loadmore").fadeIn(100);
287                  },
288                  complete: function () {
289                     $scope.find('.digiqole-post-grid-loadmore .fa-spinner ').remove();
290                  }
291               })
292                  .done(function (data) {
293                     var $pstitems = $(data);
294                     $scope.find('.grid-loadmore-content').append($pstitems);
295                     var newLenght = contentwrap.find('.grid-item').length;
296
297                     if (showallposts <= newLenght) {
298                        $scope.find('.digiqole-post-grid-loadmore').fadeOut(300, function () {
299                           $scope.find('.digiqole-post-grid-loadmore').remove();
300                        });
301                     }
302
303                  })
304                  .fail(function () {
305                     $scope.find('.digiqole-post-grid-loadmore').remove();
306                  });
307            });
308         }
309
310
311      },
312
313      /* ----------------------------------------------------------- */
314      /*  Editor pick post slider
315      /* ----------------------------------------------------------- */
316      Newszone_editor_pick_post_slider: function ($scope) {
317         let $container = $scope.find('.editor-pick-post-slider');
318         if ($container.length > 0) {
319            let controls = $container.data('controls');
320            let slide_loop = true;
321            let slide_autoplay = Boolean(controls.auto_nav_slide ? true : false);
322            let slides_to_show = parseInt(controls.item_count);
323            let slide_autoplay_delay = 2500;
324            let slider_space_between = 0;
325            let widget_id = controls.widget_id;
326            // eslint-disable-next-line
327            $($container).each(function (index, element) {
328               let $element = $(element).find('.swiper-container');
329               new Swiper($element, {
330                  slidesPerView: slides_to_show,
331                  centeredSlides: false,
332                  spaceBetween: slider_space_between,
333                  loop: slide_loop,
334                  slidesPerGroup: slides_to_show,
335                  wrapperClass: 'swiper-wrapper',
336                  slideClass: 'swiper-slide',
337                  grabCursor: false,
338                  allowTouchMove: true,
339                  speed: 3000, //slider transition speed
340                  parallax: true,
341                  autoplay: slide_autoplay ? { delay: slide_autoplay_delay } : false,
342                  effect: 'slide',
343                  mousewheelControl: 1,
344                  pagination: {
345                     el: '.swiper-pagination',
346                     type: 'bullets',
347                     dynamicBullets: true,
348                     clickable: true,
349                  },
350                  navigation: {
351                     nextEl: `.swiper-next-${widget_id}`,
352                     prevEl: `.swiper-prev-${widget_id}`,
353                  },
354                  breakpoints: {
355                     0: {
356                        slidesPerView: 1,
357                        slidesPerGroup: 1,
358                     },
359                     767: {
360                        slidesPerView: 1,
361                        slidesPerGroup: 1,
362                     },
363                     1024: {
364                        slidesPerView: slides_to_show,
365                        slidesPerGroup: slides_to_show,
366                     },
367                  },
368               });
369            });
370         }
371      },
372      // mainSlider
373      MainSlider: function ($scope) {
374         let $container = $scope.find('.main-slider');
375         if ($container.length > 0) {
376            let controls = $container.data('controls');
377            let slide_loop = true;
378            let slide_autoplay = Boolean(controls.auto_nav_slide ? true : false);
379            let slide_autoplay_delay = 2500;
380            let slider_space_between = 0;
381            let widget_id = controls.widget_id;
382            // eslint-disable-next-line
383            let config = {
384               slidesPerView: 1,
385               centeredSlides: false,
386               spaceBetween: slider_space_between,
387               loop: slide_loop,
388               slidesPerGroup: 1,
389               wrapperClass: 'swiper-wrapper',
390               slideClass: 'swiper-slide',
391               grabCursor: false,
392               allowTouchMove: true,
393               speed: 1200, //slider transition speed
394               parallax: true,
395               autoplay: slide_autoplay ? { delay: slide_autoplay_delay } : false,
396               effect: 'slide',
397               mousewheelControl: 1,
398               pagination: {
399                  el: '.main-pagination',
400                  type: 'bullets',
401                  dynamicBullets: true,
402                  clickable: true,
403               },
404               navigation: {
405                  nextEl: `.swiper-next-${widget_id}`,
406                  prevEl: `.swiper-prev-${widget_id}`,
407               },
408            };
409            // swiper
410            let swiperClass = $scope.find(`.${window.elementorFrontend.config.swiperClass}`);
411            DIGIQOLE.swiper(swiperClass, config).then(function (swiperInstance) { });
412         }
413
414         let $container2 = $scope.find('.main-slide');
415         if ($container2.length > 0) {
416            let controls2 = $container2.data('controls');
417            let slide_loop = true;
418            let slide_autoplay = Boolean(controls2.auto_nav_slide ? true : false);
419            let slide_autoplay_delay = 2500;
420            let slider_space_between2 = 30;
421            let widget_id2 = controls2.widget_id;
422            // eslint-disable-next-line
423            let config = {
424               slidesPerView: 'auto',
425               centeredSlides: true,
426               spaceBetween: slider_space_between2,
427               loop: slide_loop,
428               slidesPerGroup: 1,
429               wrapperClass: 'swiper-wrapper',
430               slideClass: 'swiper-slide',
431               grabCursor: false,
432               allowTouchMove: true,
433               speed: 1200, //slider transition speed
434               parallax: true,
435               autoplay: slide_autoplay ? { delay: slide_autoplay_delay } : false,
436               effect: 'slide',
437               mousewheelControl: 1,
438               pagination: {
439                  el: '.swiper-pagination',
440                  type: 'bullets',
441                  dynamicBullets: true,
442                  clickable: true,
443               },
444               navigation: {
445                  nextEl: `.swiper-next-${widget_id2}`,
446                  prevEl: `.swiper-prev-${widget_id2}`,
447               },
448            };
449            // swiper
450            let swiperClass = $scope.find(`.${window.elementorFrontend.config.swiperClass}`);
451            DIGIQOLE.swiper(swiperClass, config).then(function (swiperInstance) { });
452         }
453      },
454
455   };
456   $(window).on('elementor/frontend/init', DIGIQOLE.init);
457
458   /*==========================================================
459                       Preloader
460     ======================================================================*/
461   $(window).on('load', function () {
462
463      setTimeout(() => {
464         $('#preloader').addClass('loaded');
465      }, 1000);
466
467   });
468
469   // preloader close
470   $('.preloader-cancel-btn').on('click', function (e) {
471      e.preventDefault();
472      if (!($('#preloader').hasClass('loaded'))) {
473         $('#preloader').addClass('loaded');
474      }
475   });
476
477}(jQuery, window.elementorFrontend));

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.