1/** @format */ 2'use strict'; 3var $dLmap = {}; 4 5// for dark mode map style 6let $darkModeStyles = [{ 7 elementType: 'geometry', 8 stylers: [{ 9 color: '#242f3e' 10 }] 11 }, 12 { 13 elementType: 'labels.text.stroke', 14 stylers: [{ 15 color: '#242f3e' 16 }] 17 }, 18 { 19 elementType: 'labels.text.fill', 20 stylers: [{ 21 color: '#746855' 22 }] 23 }, 24 { 25 featureType: 'administrative.locality', 26 elementType: 'labels.text.fill', 27 stylers: [{ 28 color: '#d59563' 29 }], 30 }, 31 { 32 featureType: 'poi', 33 elementType: 'labels.text.fill', 34 stylers: [{ 35 color: '#d59563' 36 }], 37 }, 38 { 39 featureType: 'poi.park', 40 elementType: 'geometry', 41 stylers: [{ 42 color: '#263c3f' 43 }], 44 }, 45 { 46 featureType: 'poi.park', 47 elementType: 'labels.text.fill', 48 stylers: [{ 49 color: '#6b9a76' 50 }], 51 }, 52 { 53 featureType: 'road', 54 elementType: 'geometry', 55 stylers: [{ 56 color: '#38414e' 57 }], 58 }, 59 { 60 featureType: 'road', 61 elementType: 'geometry.stroke', 62 stylers: [{ 63 color: '#212a37' 64 }], 65 }, 66 { 67 featureType: 'road', 68 elementType: 'labels.text.fill', 69 stylers: [{ 70 color: '#9ca5b3' 71 }], 72 }, 73 { 74 featureType: 'road.highway', 75 elementType: 'geometry', 76 stylers: [{ 77 color: '#746855' 78 }], 79 }, 80 { 81 featureType: 'road.highway', 82 elementType: 'geometry.stroke', 83 stylers: [{ 84 color: '#1f2835' 85 }], 86 }, 87 { 88 featureType: 'road.highway', 89 elementType: 'labels.text.fill', 90 stylers: [{ 91 color: '#f3d19c' 92 }], 93 }, 94 { 95 featureType: 'transit', 96 elementType: 'geometry', 97 stylers: [{ 98 color: '#2f3948' 99 }], 100 }, 101 { 102 featureType: 'transit.station', 103 elementType: 'labels.text.fill', 104 stylers: [{ 105 color: '#d59563' 106 }], 107 }, 108 { 109 featureType: 'water', 110 elementType: 'geometry', 111 stylers: [{ 112 color: '#17263c' 113 }], 114 }, 115 { 116 featureType: 'water', 117 elementType: 'labels.text.fill', 118 stylers: [{ 119 color: '#515c6d' 120 }], 121 }, 122 { 123 featureType: 'water', 124 elementType: 'labels.text.stroke', 125 stylers: [{ 126 color: '#17263c' 127 }], 128 }, 129]; 130 131// init map 132function initDlMap() { 133 document.querySelectorAll('.dladdons_gmap_pro').forEach(($v) => { 134 if ($v.getAttribute('data-mapid')) { 135 let $ids = $v.getAttribute('data-mapid'); 136 $dLmap[$ids] = document.getElementById('map-' + $ids); 137 } 138 }); 139} 140 141(function ($, elementor) { 142 var $window = $(elementor); 143 var droitElementsPro = { 144 onInit: function () { 145 var E_FRONT = elementorFrontend, 146 E_Modules = elementorModules; 147 148 var widgetHandlersMap = { 149 //"dladdons-countdown-pro.default": droitElementsPro._dl_pro_count_down, 150 'droit-teams.default': droitElementsPro._dl_pro_team, 151 'dladdons-animated-image.default': droitElementsPro._dl_pro_animated_img, 152 'droit-advance-accordions.default': droitElementsPro._dl_pro_accordions, 153 'droit-blogs.default': droitElementsPro._dl_pro_blogs, 154 'droit-blogs_grid.default': droitElementsPro._dl_pro_blog_grid, 155 'droit-tabs.default': droitElementsPro._dl_pro_tabs, 156 'droit-tabs-new.default': droitElementsPro._dl_pro_tabs_new, 157 'droit-image_compare.default': droitElementsPro._dl_pro_compare, 158 'droit-fun_fact.default': droitElementsPro._dl_pro_counterup, 159 'droit-advance_pricing.default': droitElementsPro._dl_pro_advance_pricing, 160 'droit-advance-pricing-toggle.default': droitElementsPro._dl_pro_advance_pricing_toggle, 161 'droit-adavnced-slider.default': droitElementsPro._dl_pro_advance_slider, 162 'dladdons-testimonial-pro.default': droitElementsPro._dl_pro_advance_slider, 163 'droit-video_popup.default': droitElementsPro._video_popup, 164 'dladdons-animate-title-pro.default': droitElementsPro.Animated_Heading, 165 // 'dladdons-post-slider-pro.default': droitElementsPro._dl_pro_advance_slider, 166 'dladdons-post-filter-gallery-pro.default': droitElementsPro._dl_pro_portfolio_isotope, 167 'droit-woo-filter.default': droitElementsPro._dl_pro_portfolio_isotope, 168 'dladdons-pricing-table.default': droitElementsPro._dl_pricing_theme, 169 'dladdons-post-slider-pro.default': droitElementsPro._dl_pro_advance_slider, 170 'dladdons-pinterest-pro.default': droitElementsPro.pinterest_isotope, 171 'dladdons-table-pricing.default': droitElementsPro.dl_table_pricing, 172 'dladdons-popup-modal-pro.default': droitElementsPro.dl_popup_modal, 173 'droit-woo-slider.default': droitElementsPro._dl_pro_advance_slider, 174 'droit-woo-product-cat-slider.default': droitElementsPro._dl_pro_advance_slider, 175 'dladdons-google-map-pro.default': droitElementsPro._dl_pro_advance_google_map, 176 177 // start charts map here 178 'droit-line-chart-pro.default': droitElementsPro.dl_pro_line_chart, 179 'droit-pie-chart-pro.default': droitElementsPro.dl_pro_pie_chart, 180 'droit-radar-chart-pro.default': droitElementsPro.dl_pro_radar_chart, 181 'droit-polararea-chart-pro.default': droitElementsPro.dl_pro_polararea_chart, 182 'droit-hotspot.default': droitElementsPro.dl_hotspot_pro, 183 'droit-woo-mini-cart.default': droitElementsPro.dl_pro_mini_cart, 184 'droit-woo-checkout.default': droitElementsPro.dl_pro_woo_checkout, 185 'droit-polararea-chart-pro.default': droitElementsPro.dl_pro_polararea_chart, 186 'droit-banner-slider.default': droitElementsPro._dl_pro_banner_slider, 187 }; 188 189 $.each(widgetHandlersMap, function (widgetName, callback) { 190 E_FRONT.hooks.addAction( 191 'frontend/element_ready/' + widgetName, 192 callback 193 ); 194 }); 195 }, 196 197 _dl_pro_count_down: function ($scope, t) { 198 var $selector = $scope.find('.droit-countdown-wrapper-pro'), 199 $countdown_id = 200 void 0 !== $selector.data('countdown-id') ? 201 $selector.data('countdown-id') : 202 '', 203 $end_type = 204 void 0 !== $selector.data('end-type') ? 205 $selector.data('end-type') : 206 '', 207 $end_title = 208 void 0 !== $selector.data('end-title') ? 209 $selector.data('end-title') : 210 '', 211 $end_text = 212 void 0 !== $selector.data('end-text') ? 213 $selector.data('end-text') : 214 '', 215 $redirect_url = 216 void 0 !== $selector.data('redirect-url') ? 217 $selector.data('redirect-url') : 218 '', 219 $item = $scope.find('#droit-countdown-pro-' + $countdown_id); 220 $item.countdown({ 221 end: function () { 222 if ('text' == $end_type) 223 $item.html( 224 '<div class="droit-countdown-action-message"><h4 class="droit-countdown-end-title">' + 225 $end_title + 226 '</h4><div class="droit-countdown-end-text">' +
227 $end_text + 228 '</div></div>' 229 ); 230 else if ('url' === $end_type) { 231 _dl_pro_count_down_redirect($redirect_url); 232 } 233 }, 234 }); 235 }, 236 237 _dl_pro_team: function ($scope, t) { 238 var $selector = $scope.find('.mouse_move_animation'); 239 if ($($selector).length > 0) { 240 $($selector).parallax({ 241 scalarX: 10.0, 242 scalarY: 8.0 243 }); 244 } 245 }, 246 _dl_pro_accordions: function ($scope) { 247 var $accrodion = $scope.find('.dl_accordion'); 248 if ($accrodion.length > 0) { 249 $accrodion 250 .find('.dl_accordion_item.is-active') 251 .children('.dl_accordion_panel') 252 .slideDown(); 253 $accrodion.find('.dl_accordion_item').on('click', function () { 254 // Cancel the siblings 255 $(this) 256 .siblings('.dl_accordion_item') 257 .removeClass('is-active') 258 .children('.dl_accordion_panel') 259 .slideUp(); 260 // Toggle the item 261 $(this) 262 .toggleClass('is-active') 263 .children('.dl_accordion_panel') 264 .slideToggle('ease-out'); 265 }); 266 } 267 }, 268 269 _dl_pro_blogs: function ($scope, t, e) { 270 var $blogSelector = $scope.find('.droit__blog--wrap'), 271 pagination = $blogSelector.data('pagination'), 272 layout = $blogSelector.data('layout'), 273 pageNumber = 1; 274 if ('masonry' === layout) { 275 var $selector = $scope.find('.droit__blog---inner-wrap'); 276 $selector.dlAddonsGridLayout(); 277 } 278 if (pagination) { 279 $scope.on('click', '.page-numbers', function (e) { 280 e.preventDefault(); 281 if ($(this).hasClass('current')) return; 282 var currentPage = parseInt( 283 $scope.find('.page-numbers.current').html() 284 ); 285 if ($(this).hasClass('next')) { 286 pageNumber = currentPage + 1; 287 } else if ($(this).hasClass('prev')) { 288 pageNumber = currentPage - 1; 289 } else { 290 pageNumber = $(this).html(); 291 } 292 getPostsByAjax(scrollAfter); 293 }); 294 } 295 if ('tab' === layout) { 296 var a = 297 '#' + $scope.find('.droit-blog-tabs-container').attr('id').toString(); 298 t(a + ' ul.dl_tab_menu > li').each(function (e) { 299 t(this).hasClass('active-default') ? 300 (t(a + ' ul.dl_tab_menu > li') 301 .removeClass('dl_active') 302 .addClass('dl_inactive'), 303 t(this).removeClass('dl_inactive')) : 304 0 == e && 305 t(this).removeClass('dl_inactive').addClass('dl_active'); 306 }), 307 t(a + ' .tab_container div').each(function (e) { 308 t(this).hasClass('active-default') ? 309 t(a + ' .tab_container > div').removeClass('dl_active') : 310 0 == e && 311 t(this).removeClass('dl_inactive').addClass('dl_active'); 312 }), 313 t(a + ' ul.dl_tab_menu > li').click(function () { 314 var e = t(this).index(), 315 a = t(this).closest('.droit-advance-tabs'), 316 n = t(a) 317 .children('.droit-tabs-nav') 318 .children('ul') 319 .children('li'), 320 i = t(a).children('.tab_container').children('div'); 321 t(this).parent('li').addClass('dl_active'), 322 t(n) 323 .removeClass('dl_active active-default') 324 .addClass('dl_inactive'), 325 t(this).addClass('dl_active').removeClass('dl_inactive'), 326 t(i).removeClass('dl_active').addClass('dl_inactive'), 327 t(i).eq(e).addClass('dl_active').removeClass('dl_inactive'); 328 t(i).each(function (e) { 329 t(this).removeClass('active-default'); 330 }); 331 }); 332 } 333 334 function getPostsByAjax(shouldScroll) { 335 $.ajax({
336 url: dlpro.ajaxurl, 337 type: 'post', 338 data: { 339 action: 'droit_pro_get_posts', 340 page_id: $blogElement.data('page'), 341 widget_id: $scope.data('id'), 342 page_number: pageNumber, 343 nonce: dlpro.nonce, 344 }, 345 beforeSend: function () { 346 console.log('before'); 347 }, 348 success: function (res) { 349 console.log('before'); 350 if (!res.data) return; 351 var posts = res.data.posts, 352 paging = res.data.paging; 353 $blogElement.html(posts); 354 $scope.find('.droit-blog-footer').html(paging); 355 }, 356 error: function (err) { 357 console.log(err); 358 }, 359 }); 360 return !1; 361 } 362 }, 363 _dl_pro_blog_grid: function ($scope, t, e) { 364 var $blogSelector = $scope.find('.dl__blog--grid-inner'), 365 pagination = $blogSelector.data('pagination'), 366 layout = $blogSelector.data('layout'), 367 isLoaded = true, 368 pageNumber = 1; 369 if (pagination) { 370 $scope.on('click', '.page-numbers', function (e) { 371 e.preventDefault(); 372 if ($(this).hasClass('current')) return; 373 var currentPage = parseInt( 374 $scope.find('.page-numbers.current').html() 375 ); 376 if ($(this).hasClass('next')) { 377 pageNumber = currentPage + 1; 378 } else if ($(this).hasClass('prev')) { 379 pageNumber = currentPage - 1; 380 } else { 381 pageNumber = $(this).html(); 382 } 383 gridPostsByAjax(false); 384 }); 385 } 386 387 function gridPostsByAjax(shouldScroll) { 388 $.ajax({
389 url: dlpro.ajaxurl, 390 type: 'post', 391 data: { 392 action: 'droit_pro_get_grid_posts', 393 page_id: $blogSelector.data('page'), 394 widget_id: $scope.data('id'), 395 page_number: pageNumber, 396 nonce: dlpro.nonce, 397 }, 398 beforeSend: function () { 399 //console.log("before"); 400 }, 401 success: function (res) { 402 if (!res.data) return; 403 var posts = res.data.posts, 404 paging = res.data.paging; 405 $blogSelector.html(posts); 406 $scope.find('.dl-grid-pagination').html(paging); 407 }, 408 error: function (err) { 409 // console.log(err); 410 }, 411 }); 412 return !1; 413 } 414 415 function getInfiniteScrollPosts() { 416 var windowHeight = jQuery(window).outerHeight() / 1.25; 417 418 $(window).scroll(function () { 419 if (filterTabs) { 420 $blogPost = $blogSelector.find('.blog-grid-item'); 421 total = $blogPost.data('total'); 422 } 423 424 if (count <= total) { 425 if ( 426 $(window).scrollTop() + windowHeight >= 427 $scope.find('.blog-grid-item:last').offset().top 428 ) { 429 if (true == isLoaded) { 430 pageNumber = count; 431 gridPostsByAjax(false); 432 count++; 433 isLoaded = false; 434 } 435 } 436 } 437 }); 438 } 439 }, 440 _dl_pro_tabs: function ($scope, t, e) { 441 var a = '#' + $scope.find('.dl_tab_container').attr('id').toString(); 442 t(a + ' ul.dl_tab_menu > li').each(function (e) { 443 t(this).hasClass('active-default') ? 444 (t(a + ' ul.dl_tab_menu > li') 445 .removeClass('dl_active') 446 .addClass('dl_inactive'), 447 t(this).removeClass('dl_inactive')) : 448 0 == e && t(this).removeClass('dl_inactive').addClass('dl_active'); 449 }), 450 t(a + ' .tab_container div').each(function (e) { 451 t(this).hasClass('active-default') ? 452 t(a + ' .tab_container > div').removeClass('dl_active') : 453 0 == e && 454 t(this).removeClass('dl_inactive').addClass('dl_active'); 455 }), 456 t(a + ' ul.dl_tab_menu > li').click(function () { 457 var e = t(this).index(), 458 a = t(this).closest('.droit-advance-tabs'), 459 n = t(a).children('.droit-tabs-nav').children('ul').children('li'), 460 i = t(a).children('.tab_container').children('div'); 461 t(this).parent('li').addClass('dl_active'), 462 t(n) 463 .removeClass('dl_active active-default') 464 .addClass('dl_inactive'), 465 t(this).addClass('dl_active').removeClass('dl_inactive'), 466 t(i).removeClass('dl_active').addClass('dl_inactive'), 467 t(i).eq(e).addClass('dl_active').removeClass('dl_inactive'); 468 t(i).each(function (e) { 469 t(this).removeClass('active-default'); 470 }); 471 }); 472 }, 473 _dl_pro_tabs_new: function ($scope, t, e) { 474 475 var a = '#' + $scope.find('.dl_tab_container').attr('id').toString(); 476 477 t(a + ' ul.dl_tab_menu > li').each(function (e) { 478 t(this).hasClass('active-default') ? 479 (t(a + ' ul.dl_tab_menu > li') 480 .removeClass('dl_active') 481 .addClass('dl_inactive'), 482 t(this).removeClass('dl_inactive')) : 483 0 == e && t(this).removeClass('dl_inactive').addClass('dl_active'); 484 485 var selector = t(this).data('selector'); 486 if(selector){ 487 t( selector).hide(); 488 if( t(this).hasClass('dl_active') ){ 489 t( selector).show(); 490 } 491 } 492 493 }); 494 495 t(a + ' ul.dl_tab_menu > li').click(function () { 496 497 var e = t(this).index(), 498 aa = t(this).closest('.droit-advance-tabs'), 499 n = t(aa).children('.droit-tabs-nav').children('ul').children('li'); 500 501 t(this).parent('li').addClass('dl_active'), 502 t(n) 503 .removeClass('dl_active active-default') 504 .addClass('dl_inactive'), 505 t(this).addClass('dl_active').removeClass('dl_inactive'); 506 507 var $this = t(this), 508 selector = $this.data('selector'); 509 t(a + ' ul.dl_tab_menu > li').each(function () { 510 let $tSelector = $(this).data('selector'); 511 $( $tSelector ).hide(); 512 }); 513 t( selector ).show(); 514 515 }); 516 }, 517 _dl_pro_compare: function ($scope) { 518 var $selector = $scope.find('.dl_image_swipe'), 519 controls = null, 520 before_label = 'Before', 521 after_label = 'After', 522 orientation_style = '',
523 overlay = false, 524 move = true, 525 offset = 0.5, 526 _icon_type = '', 527 left_icon = 'fas fa-chevron-left', 528 right_icon = 'fas fa-chevron-right'; 529 530 if ($selector.attr('data-controls')) { 531 var controls = JSON.parse($selector.attr('data-controls')); 532 before_label = controls.before; 533 after_label = controls.after; 534 move = controls.move == 'yes' ? true : false; 535 overlay = 536 move == 'yes' ? false : controls.overlay == 'yes' ? true : false; 537 orientation_style = controls.orientation; 538 offset = controls.offset; 539 _icon_type = controls.icon_type; 540 left_icon = controls.left_icon; 541 right_icon = controls.right_icon; 542 } 543 var $obj = {}; 544 $obj.before_label = before_label; 545 $obj.after_label = after_label; 546 $obj.orientation = orientation_style; 547 $obj.no_overlay = overlay; 548 $obj.move_slider_on_hover = move; 549 $obj.default_offset_pct = offset; 550 $obj._icon_type = _icon_type; 551 $obj.left_icon = left_icon; 552 $obj.right_icon = right_icon; 553 if ($($selector).length) { 554 $($selector).imagesLoaded(function () { 555 $($selector).twentytwenty($obj); 556 }); 557 } 558 559 let $id = $selector.attr('id'); 560 let $idSelector = document.querySelector('#' + $id); 561 if ($idSelector) { 562 let $before = $idSelector.querySelector('img').offsetWidth; 563 $scope.find('.dl_product_compaire').css('width', $before + 'px'); 564 } 565 }, 566 567 _dl_pro_counterup: function ($scope) { 568 var $selector = $scope.find('.dl-fun-fact-wrapper'), 569 $selector_id = '#' + $selector.attr('id').toString(), 570 controls = null, 571 delay = 10, 572 timer = 1000; 573 if ($selector.attr('data-controls')) { 574 var controls = JSON.parse($selector.attr('data-controls')); 575 delay = controls.delay; 576 timer = controls.timer; 577 } 578 if ($selector_id.length > 0) { 579 $($selector_id + ' .fun-counter').counterUp({ 580 delay: delay, 581 time: timer, 582 }); 583 } 584 }, 585 586 _dl_pro_advance_pricing: function ($scope) { 587 var t = $scope.find('.dl_switcher_control-item'), 588 h = $scope.find('.dl_switcher_content-item'); 589 // tab style 590 t.click(function (e) { 591 e.preventDefault(); 592 var $this = $(this); 593 594 // close all switcher active class 595 t.each(function () { 596 let $self = $(this); 597 $self.removeClass('on-select'); 598 }); 599 600 // close all content tab 601 h.each(function () { 602 let $self = $(this); 603 $self.removeClass('on-active'); 604 }); 605 606 // selector content 607 let $target = $this.data('target'); 608 let $content = $scope.find('[data-toggle=' + $target + ']'); 609 $content.addClass('on-active'); 610 // selected tab 611 $this.addClass('on-select'); 612 }); 613 614 // switch style 615 var s = $scope.find('.dl_toggle'); 616 s.click(function (e) { 617 e.preventDefault(); 618 var $this = $(this); 619 $this.toggleClass('dl-active'); 620 $this.parents('.dl_switcher_control').toggleClass('dl-active'); 621 622 // content 623 h.each(function () { 624 let $self = $(this); 625 $self.toggleClass('on-active'); 626 }); 627 }); 628 }, 629 630 _dl_pro_advance_pricing_toggle: function ($scope) { 631 var t = $scope.find('.dl_switcher_control-item'), 632 h = $scope.find('.dl_switcher_content-item'), 633 switcher = $scope.find('.dl_pricing_plan_switcher'), 634 settings = switcher.data('settings'), 635 annualCon = ( settings && settings.a_selector.includes('.') ) ? $(settings.a_selector) : '', 636 lifetimeCon = ( settings && settings.lt_selector.includes('.') ) ? $(settings.lt_selector) : ''; 637 if ( settings && lifetimeCon ) { 638 lifetimeCon.hide(); 639 } 640 641 // tab style 642 t.click(function (e) { 643 e.preventDefault(); 644 var $this = $(this); 645 646 // close all switcher active class 647 t.each(function () { 648 let $self = $(this); 649 $self.removeClass('on-select'); 650 }); 651 652 t.each(function () { 653 let $tTarget = $(this).data('target'); 654 $( $tTarget ).hide(); 655 }); 656 657 // selector content 658 let $target = $this.data('target'); 659 $( $target ).show(); 660 // selected tab 661 $this.addClass('on-select'); 662 }); 663 664 // switch style 665 var s = $scope.find('.dl_toggle'); 666 s.click(function (e) { 667 e.preventDefault(); 668 var $this = $(this); 669 $this.toggleClass('dl-active'); 670 $this.parents('.dl_switcher_control').toggleClass('dl-active'); 671 672 // content 673 // h.each(function () { 674 // let $self = $(this); 675 // $self.toggleClass('on-active'); 676 // }); 677 678 if ($this.hasClass('dl-active')) { 679 annualCon.hide(); 680 lifetimeCon.show(); 681 } else { 682 annualCon.show(); 683 lifetimeCon.hide(); 684 } 685 686 }); 687 }, 688 689 _dl_pro_advance_slider: function ($scope) { 690 var $slider = $scope.find( 691 '.dl_advance_slider, .dl_pro_testimonial_slider, .dl_pro_post_slider, .dl_pro_wooslider, .dl_product_category_slider' 692 ), 693 $item = $scope.find('.swiper-slide'), 694 $dat = $slider.data('settings'); 695 696 let $breakPoints = $dat.breakpoints ? $dat.breakpoints : {}; 697 698 // render slider 699 swiperLoader( $slider, $dat ).then( ( swiper ) => { 700 701 // auto slider 702 if ($dat.dl_mouseover) { 703 $slider.hover( 704 function () { 705 swiper.autoplay.stop(); 706 }, 707 function () { 708 swiper.autoplay.start(); 709 } 710 ); 711 } 712 713 if ($dat.dl_autoplay) { 714 $slider.each(function () { 715 swiper.autoplay.start(); 716 });
717 } else { 718 $slider.each(function () { 719 swiper.autoplay.stop(); 720 }); 721 } 722 723 }); 724 725 let $delay = $dat.speed; 726 if ($dat.autoplay) { 727 $delay = $dat.autoplay.delay; 728 } 729 730 window.addEventListener('resize', function () { 731 droitElementsPro.autoloadMedia($breakPoints, $scope); 732 }); 733 // auto load media 734 droitElementsPro.autoloadMedia($breakPoints, $scope); 735 }, 736 autoloadMedia: function ($breakPoints, $scope) { 737 let $pagi = $scope.find('.dl_swiper_adv_pagination'); 738 let $nav = $scope.find('.dl_adv_swiper_navigation'); 739 if (Object.entries($breakPoints)) { 740 for (const [$k, $v] of Object.entries($breakPoints)) { 741 function matchBreakPoint(x) { 742 if (x.matches) { 743 let $nv = $v.navigation ? $v.navigation : { 744 enable: true 745 }; 746 if (!$nv.enable) { 747 if ($nav) { 748 $nav.addClass('swiper-button-disabled'); 749 } 750 } 751 let $pg = $v.pagination ? $v.pagination : { 752 enable: true 753 }; 754 if (!$pg.enable) { 755 if ($pagi) { 756 $pagi.addClass('swiper-button-disabled'); 757 } 758 } 759 } else { 760 if ($nav) { 761 $nav.removeClass('swiper-button-disabled'); 762 } 763 if ($pagi) { 764 $pagi.removeClass('swiper-button-disabled'); 765 } 766 } 767 } 768 var $media = window.matchMedia('(max-width: ' + $k + 'px)'); 769 matchBreakPoint($media); 770 $media.addListener(matchBreakPoint); 771 } 772 } 773 }, 774 775 _dl_pro_animated_img: function ($scope) { 776 var $parallax_img = $scope.find('.droit_parallax_img_wrapper'), 777 $parallax_data = $parallax_img.data('settings'); 778 }, 779 780 _video_popup: function ($scope) { 781 var $selector = $scope.find('.droit-video-popup'); 782 if ($selector.length > 0) { 783 $($selector).magnificPopup({ 784 type: 'iframe', 785 mainClass: 'mfp-fade', 786 removalDelay: 160, 787 preloader: !0, 788 fixedContentPos: !1, 789 }); 790 } 791 }, 792 793 _dl_pro_portfolio_gallery: function ($scope) { 794 var $gallery = $scope.find('.zoom-gallery'); 795 $($gallery).magnificPopup({ 796 delegate: '.popup_image', 797 type: 'image', 798 closeOnContentClick: false, 799 closeBtnInside: false, 800 mainClass: 'mfp-with-zoom mfp-img-mobile', 801 gallery: { 802 enabled: true, 803 navigateByImgClick: true, 804 preload: [0, 1], 805 }, 806 zoom: { 807 enabled: true, 808 duration: 300, // don't foget to change the duration also in CSS 809 opener: function (element) { 810 return element.find('img'); 811 }, 812 }, 813 }); 814 }, 815 816 _dl_pro_portfolio_isotope: function ($scope) { 817 if (window.elementorFrontend) { 818 var $element_grid = $scope.find('.element_grid').isotope({ 819 itemSelector: '.element-item', 820 layoutMode: 'fitRows', 821 }); 822 823 var filterFns = { 824 numberGreaterThan50: function () { 825 var number = $(this).find('.number').text(); 826 return parseInt(number, 10) > 50; 827 }, 828 ium: function () { 829 var name = $(this).find('.name').text(); 830 return name.match(/ium$/); 831 }, 832 }; 833 834 $scope.find('.filter-btns-group').on('click', 'button', function () { 835 var filterValue = $(this).attr('data-filter'); 836 filterValue = filterFns[filterValue] || filterValue; 837 $element_grid.isotope({ 838 filter: filterValue, 839 }); 840 }); 841 $scope.find('.button-group').each(function (i, buttonGroup) { 842 var $buttonGroup = $(buttonGroup); 843 $buttonGroup.on('click', 'button', function () { 844 $buttonGroup.find('.active').removeClass('active'); 845 $(this).addClass('active'); 846 }); 847 }); 848 849 function portfolioMasonry() { 850 var portfolio = $scope.find('.masonry_portfolio'); 851 852 if (portfolio.length) { 853 console.log('Hi'); 854 portfolio.imagesLoaded(function () { 855 portfolio.isotope({ 856 itemSelector: '.element-item', 857 layoutMode: 'masonry', 858 filter: '*', 859 animationOptions: { 860 duration: 1000, 861 }, 862 transitionDuration: '0.5s', 863 masonry: {}, 864 });
865 866 $('.filter-btns-group > ul > li > button').on( 867 'click', 868 function () { 869 $('.filter-btns-group > ul > li > button').removeClass( 870 'active' 871 ); 872 $(this).addClass('active'); 873 874 var selector = $(this).attr('data-filter'); 875 portfolio.isotope({ 876 filter: selector, 877 animationOptions: { 878 animationDuration: 750, 879 easing: 'linear', 880 queue: false, 881 }, 882 }); 883 return false; 884 } 885 ); 886 }); 887 } 888 } 889 portfolioMasonry(); 890 } 891 }, 892 893 pinterest_isotope: function ($scope) { 894 if (window.elementorFrontend) { 895 var $element_grid = $scope.find('.dlab-layout-masonry').isotope({ 896 itemSelector: '.alignment-center', 897 layoutMode: 'masonry', 898 }); 899 } 900 }, 901 _dl_pricing_theme: function () { 902 $('.dl_table_nav').on('click', 'button', function () { 903 var pos = $(this).index() + 2; 904 $('tr').find('td:not(:eq(0))').hide(); 905 $('td:nth-child(' + pos + ')').css('display', 'table-cell'); 906 $('tr').find('th:not(:eq(0))').hide(); 907 $('button').removeClass('active'); 908 $(this).addClass('active'); 909 }); 910 }, 911 // Animated Heading 912 Animated_Heading: function ($scope) { 913 var $item = $scope.find('.dl_animated_headline'), 914 $animationDelay = $item.data('animation-delay'); 915 droitAnimatedText({ 916 selector: $item, 917 animationDelay: $animationDelay, 918 }); 919 }, 920 921 dl_table_pricing: function ($scope) { 922 var $item = $scope.find('.dltable-nav-secletor'); 923 924 if ($item.length > 0) { 925 $($item).on('click', 'button', function (e) { 926 e.preventDefault(); 927 var $this = $(this); 928 var $data = $this.data('tdnav'); 929 930 var $tbody = $scope.find( 931 'table td:not(.package_design), table th:not(.package_design)' 932 ); 933 934 if ($tbody.length > 0) { 935 var i = 0; 936 for (; i < $tbody.length; i++) { 937 $tbody[i].setAttribute('style', 'display: none;'); 938 } 939 } 940 941 var $open = $scope.find( 942 'table td.dltd-' + $data + ', table th.dlth-' + $data 943 ); 944 945 if ($open.length > 0) { 946 var j = 0; 947 for (; j < $open.length; j++) { 948 $open[j].setAttribute('style', 'display: table-cell;'); 949 } 950 } 951 var $active = $scope.find('.dltable-nav-secletor button'); 952 if ($active.length > 0) { 953 var i = 0; 954 for (; i < $active.length; i++) { 955 $active[i].removeAttribute('class'); 956 } 957 } 958 $this.attr('class', 'dl-active'); 959 }); 960 961 var $media = window.matchMedia('(max-width: 768px)'); 962 $media.addListener(function (x) { 963 if (x.matches) { 964 var $active = $scope.find('.dltable-nav-secletor button.dl-active'); 965 if ($active.length > 0) { 966 var $this = $active[0]; 967 var $data = $this.getAttribute('data-tdnav'); 968 969 var $open1 = $scope.find( 970 'table td.dltd-' + $data + ', table th.dlth-' + $data 971 ); 972 973 if ($open1.length > 0) { 974 var j = 0; 975 for (; j < $open1.length; j++) { 976 $open1[j].setAttribute('style', 'display: table-cell;'); 977 } 978 } 979 } 980 } 981 }); 982 } 983 }, 984 985 dl_popup_modal: function ($scope) { 986 var $wrap = $scope.find('.dladdons-popup-modal'); 987 if ($wrap.length > 0) { 988 $($wrap).on('click', 'a', function (e) { 989 e.preventDefault(); 990 var $this = $(this); 991 var $modal = $wrap.find('.dladdons-popup-modal-wrapper'); 992 if ($modal.length > 0) { 993 $modal.addClass('dl-modal-fullscreen').addClass('dl-modal-show'); 994 var $ani = $modal.data('animation'); 995 if ($ani.type) { 996 var $content = $modal.find('.dladdons-modal-popup-content'); 997 $content.addClass('animated').addClass($ani.type); 998 } 999 } 1000 }); 1001 1002 $($wrap).on( 1003 'click', 1004 '.dladdons-popup-close, .dladdons-modal-popup-overlay', 1005 function (e) { 1006 e.preventDefault(); 1007 var $this = $(this); 1008 console.log($this); 1009 var $modal = $wrap.find('.dladdons-popup-modal-wrapper'); 1010 if ($modal.length > 0) { 1011 $modal 1012 .removeClass('dl-modal-fullscreen') 1013 .removeClass('dl-modal-show'); 1014 var $ani = $modal.data('animation'); 1015 if ($ani.type) { 1016 var $content = $modal.find('.dladdons-modal-popup-content'); 1017 $content.removeClass('animated').removeClass($ani.type); 1018 } 1019 } 1020 } 1021 ); 1022 } 1023 }, 1024 1025 // for advance google map 1026 1027 _dl_pro_advance_google_map: function ($scope) { 1028 // initilize setup map 1029 initDlMap(); 1030 1031 // get settings & init map data 1032 var $wrap = $scope.find('.dladdons_gmap_pro'); 1033 let $ids = $wrap.data('mapid'); 1034 let $settings = $wrap.data('settings'); 1035 1036 if (!$settings) { 1037 return; 1038 } 1039 1040 let $map; 1041 1042 // console.log( 'map settings ', $settings ); 1043 1044 let $center = $settings.hasOwnProperty('center') ? 1045 $settings.center : 1046 { 1047 lat: 40.76, 1048 lng: -73.983 1049 }, 1050 $cm_title = $settings.hasOwnProperty('cm_title') ? 1051 $settings.cm_title : 1052 '', 1053 $cm_marker = $settings.hasOwnProperty('cm_marker') ? 1054 $settings.cm_marker : 1055 '', 1056 $cm_width = 1057 $settings.hasOwnProperty('cm_width') && $settings.cm_width > 0 ? 1058 $settings.cm_width : 1059 35, 1060 $cm_height = 1061 $settings.hasOwnProperty('cm_height') && $settings.cm_height > 0 ? 1062 $settings.cm_height : 1063 40, 1064 $cm_label = $settings.hasOwnProperty('cm_label') ? 1065 $settings.cm_label : 1066 '', 1067 $mode = $settings.hasOwnProperty('mode') ? $settings.mode : 'view', 1068 $center_name = $settings.hasOwnProperty('center_name') ? 1069 $settings.center_name : 1070 'New york', 1071 $mtype = $settings.hasOwnProperty('mtype') ? 1072 $settings.mtype : 1073 'roadmap', 1074 $dark_mode = $settings.hasOwnProperty('dark_mode') ? 1075 $settings.dark_mode : 1076 'no', 1077 $streetview_with_map = $settings.hasOwnProperty('streetview_with_map') ? 1078 $settings.streetview_with_map : 1079 'no', 1080 $streetview_pan = $settings.hasOwnProperty('streetview_pan') ? 1081 $settings.streetview_pan : 1082 'no', 1083 $streetview_link = $settings.hasOwnProperty('streetview_link') ? 1084 $settings.streetview_link : 1085 'no', 1086 $zoom_control = $settings.hasOwnProperty('zoom_control') ? 1087 $settings.zoom_control : 1088 'no', 1089 $scale_control = $settings.hasOwnProperty('scale_control') ? 1090 $settings.scale_control : 1091 'no', 1092 $fullscr_control = $settings.hasOwnProperty('fullscr_control') ? 1093 $settings.fullscr_control : 1094 'no', 1095 $maptype_control = $settings.hasOwnProperty('maptype_control') ? 1096 $settings.maptype_control : 1097 'no', 1098 $maptype_position = $settings.hasOwnProperty('maptype_position') ? 1099 $settings.maptype_position : 1100 'LEFT_TOP', 1101 $zoom = $settings.hasOwnProperty('zoom') ? $settings.zoom : 6, 1102 $markers_labels = $settings.hasOwnProperty('markers_labels') ? 1103 $settings.markers_labels : 1104 '', 1105 $markers_location = $settings.hasOwnProperty('markers_location') ? 1106 $settings.markers_location : 1107 [], 1108 // for directions settings 1109 $direction_origin = $settings.hasOwnProperty('direction_origin') ? 1110 $settings.direction_origin : 1111 '', 1112 $direction_destination = $settings.hasOwnProperty( 1113 'direction_destination' 1114 ) ? 1115 $settings.direction_destination : 1116 '', 1117 $direction_waypoints = $settings.hasOwnProperty('direction_waypoints') ? 1118 $settings.direction_waypoints : 1119 [],
1120 $direction_alternative_route = $settings.hasOwnProperty( 1121 'direction_alternative_route' 1122 ) ? 1123 $settings.direction_alternative_route : 1124 '', 1125 $direction_travel_mode = $settings.hasOwnProperty( 1126 'direction_travel_mode' 1127 ) ? 1128 $settings.direction_travel_mode : 1129 '', 1130 $direction_unit_system = $settings.hasOwnProperty( 1131 'direction_unit_system' 1132 ) ? 1133 $settings.direction_unit_system : 1134 '', 1135 $direction_optimiz_waypoints = $settings.hasOwnProperty( 1136 'direction_optimiz_waypoints' 1137 ) ? 1138 $settings.direction_optimiz_waypoints : 1139 '', 1140 $direction_avoid_ferries = $settings.hasOwnProperty( 1141 'direction_avoid_ferries' 1142 ) ? 1143 $settings.direction_avoid_ferries : 1144 '', 1145 $direction_avoid_highways = $settings.hasOwnProperty( 1146 'direction_avoid_highways' 1147 ) ? 1148 $settings.direction_avoid_highways : 1149 '', 1150 $direction_avoid_tolls = $settings.hasOwnProperty( 1151 'direction_avoid_tolls' 1152 ) ? 1153 $settings.direction_avoid_tolls : 1154 '', 1155 // get style setting 1156 $administrative_color = $settings.hasOwnProperty('administrative_color') ? 1157 $settings.administrative_color : 1158 '', 1159 $water_color = $settings.hasOwnProperty('water_color') ? 1160 $settings.water_color : 1161 '', 1162 $roads_color = $settings.hasOwnProperty('roads_color') ? 1163 $settings.roads_color : 1164 '', 1165 $roads_arterial_color = $settings.hasOwnProperty('roads_arterial_color') ? 1166 $settings.roads_arterial_color : 1167 '', 1168 $roads_highway_access_color = $settings.hasOwnProperty( 1169 'roads_highway_access_color' 1170 ) ? 1171 $settings.roads_highway_access_color : 1172 '', 1173 $roads_highway_color = $settings.hasOwnProperty('roads_highway_color') ? 1174 $settings.roads_highway_color : 1175 '', 1176 $roads_local_color = $settings.hasOwnProperty('roads_local_color') ? 1177 $settings.roads_local_color : 1178 '', 1179 $points_color = $settings.hasOwnProperty('points_color') ? 1180 $settings.points_color : 1181 '', 1182 $points_attraction_color = $settings.hasOwnProperty( 1183 'points_attraction_color' 1184 ) ? 1185 $settings.points_attraction_color : 1186 '', 1187 $points_business_color = $settings.hasOwnProperty( 1188 'points_business_color' 1189 ) ? 1190 $settings.points_business_color : 1191 '', 1192 $points_government_color = $settings.hasOwnProperty( 1193 'points_government_color' 1194 ) ? 1195 $settings.points_government_color : 1196 '', 1197 $points_medical_color = $settings.hasOwnProperty('points_medical_color') ? 1198 $settings.points_medical_color : 1199 '', 1200 $points_park_color = $settings.hasOwnProperty('points_park_color') ? 1201 $settings.points_park_color : 1202 '', 1203 $points_worship_color = $settings.hasOwnProperty('points_worship_color') ? 1204 $settings.points_worship_color : 1205 '', 1206 $points_school_color = $settings.hasOwnProperty('points_school_color') ? 1207 $settings.points_school_color : 1208 '', 1209 $points_sports_color = $settings.hasOwnProperty('points_sports_color') ? 1210 $settings.points_sports_color : 1211 '', 1212 $transits_color = $settings.hasOwnProperty('transits_color') ? 1213 $settings.transits_color : 1214 '', 1215 $transits_line_color = $settings.hasOwnProperty('transits_line_color') ? 1216 $settings.transits_line_color : 1217 '', 1218 $transits_station_color = $settings.hasOwnProperty( 1219 'transits_station_color' 1220 ) ? 1221 $settings.transits_station_color : 1222 '', 1223 $transits_airport_color = $settings.hasOwnProperty( 1224 'transits_airport_color' 1225 ) ? 1226 $settings.transits_airport_color : 1227 '', 1228 $transits_bus_color = $settings.hasOwnProperty('transits_bus_color') ? 1229 $settings.transits_bus_color : 1230 '', 1231 $transits_rail_color = $settings.hasOwnProperty('transits_rail_color') ? 1232 $settings.transits_rail_color : 1233 '', 1234 $landscape_color = $settings.hasOwnProperty('landscape_color') ? 1235 $settings.landscape_color : 1236 '', 1237 $landscape_man_made_color = $settings.hasOwnProperty( 1238 'landscape_man_made_color' 1239 ) ? 1240 $settings.landscape_man_made_color : 1241 '', 1242 $landscape_natural_color = $settings.hasOwnProperty( 1243 'landscape_natural_color' 1244 ) ? 1245 $settings.landscape_natural_color : 1246 '', 1247 $landscape_landcover_color = $settings.hasOwnProperty( 1248 'landscape_landcover_color' 1249 ) ? 1250 $settings.landscape_landcover_color : 1251 '', 1252 $landscape_terrain_color = $settings.hasOwnProperty( 1253 'landscape_terrain_color' 1254 ) ? 1255 $settings.landscape_terrain_color : 1256 ''; 1257 1258 // console.log( 'map settings ', $settings ); 1259 1260 let $mapEl = $dLmap[$ids] ? $dLmap[$ids] : false; 1261 1262 if ($mapEl) { 1263 let $mcenter = {}; 1264 1265 // start init map styles here ... 1266 let $stylesArray = []; 1267 1268 // administrative styles 1269 if ($administrative_color !== '') { 1270 let $administrativeStyle = { 1271 featureType: 'administrative', 1272 stylers: [{ 1273 color: $administrative_color 1274 }], 1275 }; 1276 1277 $stylesArray.push($administrativeStyle); 1278 } 1279 1280 // start water styles 1281 if ($water_color !== '') { 1282 let $waterStyle = { 1283 featureType: 'water', 1284 stylers: [{ 1285 color: $water_color 1286 }], 1287 }; 1288 1289 $stylesArray.push($waterStyle); 1290 } 1291 1292 // start roads styles 1293 if ($roads_color !== '') { 1294 let $roadStyle = { 1295 featureType: 'road', 1296 // elementType : 'geometry', 1297 stylers: [{ 1298 color: $roads_color 1299 }], 1300 }; 1301 $stylesArray.push($roadStyle); 1302 } else { 1303 if ($roads_arterial_color !== '') { 1304 let $roadStyle = { 1305 featureType: 'road.arterial', 1306 stylers: [{ 1307 color: $roads_arterial_color 1308 }], 1309 }; 1310 $stylesArray.push($roadStyle); 1311 } 1312 if ($roads_highway_color !== '') { 1313 let $roadStyle = { 1314 featureType: 'road.highway', 1315 stylers: [{ 1316 color: $roads_highway_color 1317 }], 1318 }; 1319 $stylesArray.push($roadStyle); 1320 } 1321 if ($roads_highway_access_color !== '') { 1322 let $roadStyle = { 1323 featureType: 'road.highway.controlled_access', 1324 stylers: [{ 1325 color: $roads_highway_access_color 1326 }], 1327 }; 1328 $stylesArray.push($roadStyle); 1329 } 1330 if ($roads_local_color !== '') { 1331 let $roadStyle = { 1332 featureType: 'road.local', 1333 stylers: [{ 1334 color: $roads_local_color 1335 }], 1336 }; 1337 $stylesArray.push($roadStyle); 1338 } 1339 } 1340 1341 // start points styles here .. 1342 if ($points_color !== '') { 1343 let $pointStyle = { 1344 featureType: 'poi', 1345 stylers: [{ 1346 color: $points_color 1347 }], 1348 }; 1349 $stylesArray.push($pointStyle); 1350 } else { 1351 if ($points_attraction_color !== '') { 1352 let $pointStyle = { 1353 featureType: 'poi.attraction', 1354 stylers: [{ 1355 color: $points_attraction_color 1356 }], 1357 }; 1358 $stylesArray.push($pointStyle); 1359 } 1360 if ($points_business_color !== '') { 1361 let $pointStyle = { 1362 featureType: 'poi.business', 1363 stylers: [{ 1364 color: $points_business_color 1365 }], 1366 }; 1367 $stylesArray.push($pointStyle); 1368 } 1369 if ($points_government_color !== '') { 1370 let $pointStyle = { 1371 featureType: 'poi.government', 1372 stylers: [{ 1373 color: $points_government_color 1374 }], 1375 }; 1376 $stylesArray.push($pointStyle); 1377 } 1378 if ($points_medical_color !== '') { 1379 let $pointStyle = { 1380 featureType: 'poi.medical', 1381 stylers: [{ 1382 color: $points_medical_color 1383 }], 1384 }; 1385 $stylesArray.push($pointStyle); 1386 } 1387 if ($points_park_color !== '') { 1388 let $pointStyle = { 1389 featureType: 'poi.park', 1390 stylers: [{ 1391 color: $points_park_color 1392 }], 1393 }; 1394 $stylesArray.push($pointStyle); 1395 } 1396 if ($points_worship_color !== '') { 1397 let $pointStyle = { 1398 featureType: 'poi.place_of_worship', 1399 stylers: [{ 1400 color: $points_worship_color 1401 }], 1402 }; 1403 $stylesArray.push($pointStyle); 1404 } 1405 if ($points_school_color !== '') { 1406 let $pointStyle = { 1407 featureType: 'poi.school', 1408 stylers: [{ 1409 color: $points_school_color 1410 }], 1411 }; 1412 $stylesArray.push($pointStyle); 1413 } 1414 if ($points_sports_color !== '') { 1415 let $pointStyle = { 1416 featureType: 'poi.sports_complex', 1417 stylers: [{ 1418 color: $points_sports_color 1419 }], 1420 }; 1421 $stylesArray.push($pointStyle); 1422 } 1423 } 1424 1425 // start transits style here 1426 if ($transits_color !== '') { 1427 let $transitsStyle = { 1428 featureType: 'transit', 1429 stylers: [{ 1430 color: $transits_color 1431 }], 1432 }; 1433 $stylesArray.push($transitsStyle); 1434 } else { 1435 if ($transits_line_color !== '') { 1436 let $transitsStyle = { 1437 featureType: 'transit.line', 1438 stylers: [{ 1439 color: $transits_line_color 1440 }], 1441 }; 1442 $stylesArray.push($transitsStyle); 1443 } 1444 if ($transits_station_color !== '') { 1445 let $transitsStyle = { 1446 featureType: 'transit.station', 1447 stylers: [{ 1448 color: $transits_station_color 1449 }], 1450 }; 1451 $stylesArray.push($transitsStyle); 1452 } 1453 if ($transits_airport_color !== '') { 1454 let $transitsStyle = { 1455 featureType: 'transit.station.airport', 1456 stylers: [{ 1457 color: $transits_airport_color 1458 }], 1459 }; 1460 $stylesArray.push($transitsStyle); 1461 } 1462 if ($transits_bus_color !== '') { 1463 let $transitsStyle = { 1464 featureType: 'transit.station.bus', 1465 stylers: [{ 1466 color: $transits_bus_color 1467 }], 1468 }; 1469 $stylesArray.push($transitsStyle); 1470 } 1471 if ($transits_rail_color !== '') { 1472 let $transitsStyle = { 1473 featureType: 'transit.station.rail', 1474 stylers: [{ 1475 color: $transits_rail_color 1476 }], 1477 }; 1478 $stylesArray.push($transitsStyle); 1479 } 1480 } 1481 1482 // start landscape styles 1483 if ($landscape_color !== '') {
1484 let $landscapeStyle = { 1485 featureType: 'landscape', 1486 stylers: [{ 1487 color: $landscape_color 1488 }], 1489 }; 1490 $stylesArray.push($landscapeStyle); 1491 } else { 1492 if ($landscape_man_made_color !== '') { 1493 let $landscapeStyle = { 1494 featureType: 'landscape.man_made', 1495 stylers: [{ 1496 color: $landscape_man_made_color 1497 }], 1498 }; 1499 $stylesArray.push($landscapeStyle); 1500 } 1501 if ($landscape_natural_color !== '') { 1502 let $landscapeStyle = { 1503 featureType: 'landscape.natural', 1504 stylers: [{ 1505 color: $landscape_natural_color 1506 }], 1507 }; 1508 $stylesArray.push($landscapeStyle); 1509 } 1510 if ($landscape_landcover_color !== '') { 1511 let $landscapeStyle = { 1512 featureType: 'landscape.natural.landcover', 1513 stylers: [{ 1514 color: $landscape_landcover_color 1515 }], 1516 }; 1517 $stylesArray.push($landscapeStyle); 1518 } 1519 if ($landscape_terrain_color !== '') { 1520 let $landscapeStyle = { 1521 featureType: 'landscape.natural.terrain', 1522 stylers: [{ 1523 color: $landscape_terrain_color 1524 }], 1525 }; 1526 $stylesArray.push($landscapeStyle); 1527 } 1528 } 1529 1530 // init map here 1531 1532 var $mapOptions = { 1533 zoom: $zoom, 1534 }; 1535 1536 $mapOptions.zoomControl = $zoom_control == 'yes' ? true : false; 1537 $mapOptions.scaleControl = $scale_control == 'yes' ? true : false; 1538 $mapOptions.fullscreenControl = 1539 $fullscr_control == 'yes' ? true : false; 1540 $mapOptions.mapTypeControl = $maptype_control == 'yes' ? true : false; 1541 if ($maptype_control == 'yes') { 1542 $mapOptions.mapTypeControlOptions = { 1543 style: google.maps.MapTypeControlStyle.DROPDOWN_MENU, 1544 position: google.maps.ControlPosition[$maptype_position], 1545 mapTypeIds: ['roadmap', 'satellite', 'hybrid', 'terrain'], 1546 }; 1547 } 1548 1549 // style 1550 $mapOptions.styles = 1551 $dark_mode === 'yes' ? $darkModeStyles : $stylesArray; 1552 // map type 1553 if ($mtype != '') { 1554 $mapOptions.mapTypeId = $mtype; 1555 } 1556 1557 $mcenter['lat'] = parseFloat($center.lat); 1558 $mcenter['lng'] = parseFloat($center.lng); 1559 1560 let $modeEnable = ['view', 'streetview']; 1561 if ($modeEnable.includes($mode)) { 1562 $mapOptions.center = $mcenter; 1563 } 1564 $map = new google.maps.Map($mapEl, $mapOptions); 1565 1566 // init map marker center image 1567 let $cm_image = { 1568 url: $cm_marker, // url 1569 scaledSize: new google.maps.Size($cm_width, $cm_height), // scaled size 1570 origin: new google.maps.Point(0, 0), // origin 1571 anchor: new google.maps.Point(0, 0), // anchor 1572 }; 1573 1574 // mode place 1575 if ($mode === 'place') { 1576 let geocoder = new google.maps.Geocoder(); 1577 geocoder.geocode({ 1578 address: $center_name 1579 }, 1580 function (results, status) { 1581 if (status == 'OK') { 1582 var geo = JSON.parse( 1583 JSON.stringify(results[0].geometry.location) 1584 ); 1585 $mcenter['lat'] = parseFloat(geo.lat); 1586 $mcenter['lng'] = parseFloat(geo.lng); 1587 1588 $map.setCenter(results[0].geometry.location); 1589 new google.maps.Marker({ 1590 map: $map, 1591 position: $mcenter, 1592 title: $cm_title != '' ? $cm_title : '', 1593 label: $cm_label != '' ? $cm_label : '', 1594 icon: $cm_image, 1595 });
1596 } else { 1597 alert( 1598 'Geocode was not successful for the following reason: ' + 1599 status 1600 ); 1601 } 1602 } 1603 ); 1604 } else if ($mode === 'directions') { 1605 var $directionsRenderer = new google.maps.DirectionsRenderer(), 1606 $directionsService = new google.maps.DirectionsService(); 1607 $directionsRenderer.setMap($map); 1608 1609 var $request = { 1610 origin: $direction_origin, 1611 destination: $direction_destination, 1612 travelMode: google.maps.TravelMode[$direction_travel_mode], 1613 waypoints: $direction_waypoints, 1614 optimizeWaypoints: $direction_optimiz_waypoints, 1615 avoidFerries: $direction_avoid_ferries, 1616 avoidHighways: $direction_avoid_highways, 1617 avoidTolls: $direction_avoid_tolls, 1618 }; 1619 $directionsService.route($request, function (result, status) { 1620 if (status == 'OK') { 1621 $directionsRenderer.setDirections(result); 1622 } 1623 }); 1624 } else if ($mode === 'streetview') { 1625 let $streetId = $mapEl; 1626 if ($streetview_with_map === 'yes') { 1627 $streetId = document.getElementById('map-pano-' + $ids); 1628 } 1629 var $panorama = new google.maps.StreetViewPanorama($streetId, { 1630 position: { 1631 lat: parseFloat($center.lat), 1632 lng: parseFloat($center.lng), 1633 }, 1634 pov: { 1635 heading: 165, 1636 pitch: 0 1637 }, 1638 motionTrackingControlOptions: { 1639 position: google.maps.ControlPosition.LEFT_BOTTOM, 1640 }, 1641 linksControl: $streetview_link == 'yes' ? true : false, 1642 panControl: $streetview_pan == 'yes' ? true : false, 1643 enableCloseButton: true, 1644 }); 1645 $map.setStreetView($panorama); 1646 } 1647 // set map marker 1648 var $markerObj = $mcenter; 1649 $markerObj.title = $cm_title != '' ? $cm_title : ''; 1650 $markerObj.label = $cm_label != '' ? $cm_label : ''; 1651 if ($cm_marker != '') { 1652 $markerObj.icon = $cm_image; 1653 } 1654 $markers_location.unshift($markerObj); 1655 1656 // map marker 1657 if ($markers_location.length > 0) { 1658 var markers = $markers_location.map((location, i) => { 1659 let $lonLat = {}; 1660 $lonLat['lat'] = parseFloat(location.lat); 1661 $lonLat['lng'] = parseFloat(location.lng); 1662 1663 let $icon = location.icon ? location.icon : ''; 1664 if (location.location_marker && location.location_marker != '') { 1665 $icon = { 1666 url: location.location_marker, // url 1667 scaledSize: new google.maps.Size( 1668 location.lm_height, 1669 location.lm_width 1670 ), // scaled size 1671 origin: new google.maps.Point(0, 0), // origin 1672 anchor: new google.maps.Point(0, 0), // anchor 1673 }; 1674 } 1675 1676 let $marOpt = { 1677 position: $lonLat, 1678 map: $map, 1679 }; 1680 if (location.title && location.title != '') { 1681 $marOpt.title = location.title; 1682 } 1683 if (location.label && location.label != '') { 1684 $marOpt.label = location.label; 1685 } 1686 if ($icon != '') { 1687 $marOpt.icon = $icon; 1688 } 1689 return new google.maps.Marker($marOpt); 1690 }); 1691 1692 new markerClusterer.MarkerClusterer({ 1693 markers, 1694 $map 1695 }); 1696 } 1697 } 1698 }, 1699 1700 /** 1701 * dl_pro_line_chart 1702 * return line chart 1703 */ 1704 dl_pro_line_chart: function ($scope) { 1705 let $wrap = $scope.find('.droitpro-linechart'); 1706 let $ids = $wrap.data('linechartid'); 1707 let $settings = $wrap.data('settings'); 1708 1709 if (!$settings) { 1710 return; 1711 } 1712 1713 let $labels = $settings.hasOwnProperty('labels') ? 1714 $settings.labels : 1715 ['January', 'February', 'March', 'April', 'May', 'June'], 1716 $datasets = $settings.hasOwnProperty('datasets') ? 1717 $settings.datasets : 1718 [], 1719 $x_axes_grid_line = $settings.hasOwnProperty('x_axes_grid_line') ? 1720 $settings.x_axes_grid_line : 1721 true, 1722 $y_axes_grid_line = $settings.hasOwnProperty('y_axes_grid_line') ? 1723 $settings.y_axes_grid_line : 1724 true, 1725 $x_axes_labels = $settings.hasOwnProperty('x_axes_labels') ? 1726 $settings.x_axes_labels : 1727 true, 1728 $y_axes_labels = $settings.hasOwnProperty('y_axes_labels') ? 1729 $settings.y_axes_labels : 1730 true, 1731 $show_legend = $settings.hasOwnProperty('show_legend') ? 1732 $settings.show_legend : 1733 true, 1734 $usePointStyle = $settings.hasOwnProperty('legend_type') ? 1735 $settings.legend_type : 1736 true, 1737 $set_scale_axes = $settings.hasOwnProperty('set_scale_axes') ? 1738 $settings.set_scale_axes : 1739 10, 1740 $legend_title = $settings.hasOwnProperty('legend_title') ? 1741 $settings.legend_title : 1742 {}, 1743 $legend = $settings.hasOwnProperty('legend') ? $settings.legend : {}, 1744 $tooltip = $settings.hasOwnProperty('tooltip') ? $settings.tooltip : {}, 1745 $animations = $settings.hasOwnProperty('animations') ? 1746 $settings.animations : 1747 {}, 1748 $xaxes_ticks = $settings.hasOwnProperty('xaxes_ticks') ? 1749 $settings.xaxes_ticks : 1750 {}, 1751 $yaxes_ticks = $settings.hasOwnProperty('yaxes_ticks') ? 1752 $settings.yaxes_ticks : 1753 {};
1754 console.log('chart legend ', $legend); 1755 1756 if ($ids) { 1757 let $ctx = document 1758 .getElementById('linechart-' + $ids) 1759 .getContext('2d'); 1760 let LineChart = new Chart($ctx, { 1761 type: 'line', 1762 data: { 1763 labels: $labels, 1764 datasets: $datasets, 1765 }, 1766 options: { 1767 tension: $settings.tension, 1768 stepped: $settings.stepped, 1769 maintainAspectRatio: false, 1770 scales: { 1771 y: { 1772 beginAtZero: true, 1773 // min:-100, 1774 max: parseInt($set_scale_axes), 1775 ticks: $yaxes_ticks, 1776 grid: { 1777 display: $y_axes_grid_line, 1778 }, 1779 display: $y_axes_labels, 1780 }, 1781 x: { 1782 ticks: $xaxes_ticks, 1783 grid: { 1784 display: $x_axes_grid_line, 1785 }, 1786 display: $x_axes_labels, 1787 }, 1788 }, 1789 plugins: { 1790 tooltip: $tooltip, 1791 title: $legend_title, 1792 legend: $legend, 1793 axes: { 1794 display: $show_legend, 1795 labels: { 1796 usePointStyle: $usePointStyle, 1797 }, 1798 }, 1799 }, 1800 animations: $animations, 1801 }, 1802 }); 1803 } 1804 }, // end dl line chart.. 1805 1806 /** 1807 * dl_pro_pie_chart 1808 * return pie & doughnut chart base on chart type 1809 */ 1810 dl_pro_pie_chart: function ($scope) { 1811 let $wrap = $scope.find('.droitpro-piechart'); 1812 let $ids = $wrap.data('piechartid'); 1813 let $settings = $wrap.data('settings'); 1814 1815 if (!$settings) { 1816 return; 1817 } 1818 1819 let $chart_type = $settings.hasOwnProperty('chart_type') ? 1820 $settings.chart_type : 1821 'pie', 1822 $datasets = $settings.hasOwnProperty('datasets') ? 1823 $settings.datasets : 1824 {}, 1825 $show_legend = $settings.hasOwnProperty('show_legend') ? 1826 $settings.show_legend : 1827 true, 1828 $usePointStyle = $settings.hasOwnProperty('legend_type') ? 1829 $settings.legend_type : 1830 true, 1831 $legend_title = $settings.hasOwnProperty('legend_title') ? 1832 $settings.legend_title : 1833 {}, 1834 $legend = $settings.hasOwnProperty('legend') ? $settings.legend : {}, 1835 $tooltip = $settings.hasOwnProperty('tooltip') ? $settings.tooltip : {}; 1836 if ($ids) { 1837 let $ctx = document.getElementById('piechart-' + $ids).getContext('2d'); 1838 let PieChart = new Chart($ctx, { 1839 type: $chart_type, 1840 data: $datasets, 1841 options: { 1842 tension: $settings.tension, 1843 maintainAspectRatio: false, 1844 plugins: { 1845 tooltip: $tooltip, 1846 title: $legend_title, 1847 legend: $legend, 1848 axes: { 1849 display: $show_legend, 1850 labels: { 1851 usePointStyle: $usePointStyle, 1852 }, 1853 }, 1854 }, 1855 }, 1856 }); 1857 } 1858 }, // end dl pie/doughnut chart.. 1859 1860 /** 1861 * dl_pro_radar_chart 1862 * return radar chart 1863 */ 1864 dl_pro_radar_chart: function ($scope) { 1865 let $wrap = $scope.find('.droitpro-radarchart'); 1866 let $ids = $wrap.data('radarchartid'); 1867 let $settings = $wrap.data('settings'); 1868 1869 if (!$settings) { 1870 return; 1871 } 1872 1873 let $labels = $settings.hasOwnProperty('labels') ? $settings.labels : [], 1874 $datasets = $settings.hasOwnProperty('datasets') ? 1875 $settings.datasets : 1876 [], 1877 $x_axes_grid_line = $settings.hasOwnProperty('x_axes_grid_line') ? 1878 $settings.x_axes_grid_line : 1879 true, 1880 $y_axes_grid_line = $settings.hasOwnProperty('y_axes_grid_line') ? 1881 $settings.y_axes_grid_line : 1882 true, 1883 $x_axes_labels = $settings.hasOwnProperty('x_axes_labels') ? 1884 $settings.x_axes_labels : 1885 true, 1886 $y_axes_labels = $settings.hasOwnProperty('y_axes_labels') ? 1887 $settings.y_axes_labels : 1888 true, 1889 $show_legend = $settings.hasOwnProperty('show_legend') ? 1890 $settings.show_legend : 1891 true, 1892 $usePointStyle = $settings.hasOwnProperty('legend_type') ? 1893 $settings.legend_type : 1894 true, 1895 $set_scale_axes = $settings.hasOwnProperty('set_scale_axes') ? 1896 $settings.set_scale_axes : 1897 10, 1898 $legend_title = $settings.hasOwnProperty('legend_title') ? 1899 $settings.legend_title : 1900 {}, 1901 $legend = $settings.hasOwnProperty('legend') ? $settings.legend : {}, 1902 $tooltip = $settings.hasOwnProperty('tooltip') ? $settings.tooltip : {}, 1903 $animations = $settings.hasOwnProperty('animations') ? 1904 $settings.animations : 1905 {}, 1906 $xaxes_ticks = $settings.hasOwnProperty('xaxes_ticks') ? 1907 $settings.xaxes_ticks : 1908 {}, 1909 $yaxes_ticks = $settings.hasOwnProperty('yaxes_ticks') ? 1910 $settings.yaxes_ticks : 1911 {}, 1912 $tension = $settings.hasOwnProperty('tension') ? $settings.tension : 0; 1913 // console.log('chart animations ', $animations); 1914 1915 if ($ids) { 1916 let $ctx = document 1917 .getElementById('radarchart-' + $ids) 1918 .getContext('2d'); 1919 let RadarChart = new Chart($ctx, { 1920 type: 'radar', 1921 data: { 1922 labels: $labels, 1923 datasets: $datasets, 1924 }, 1925 options: { 1926 stepped: $settings.stepped, 1927 maintainAspectRatio: false, 1928 scales: { 1929 y: { 1930 beginAtZero: true, 1931 // min:-100, 1932 max: parseInt($set_scale_axes), 1933 ticks: $yaxes_ticks, 1934 grid: { 1935 display: $y_axes_grid_line, 1936 }, 1937 display: $y_axes_labels, 1938 }, 1939 x: { 1940 ticks: $xaxes_ticks, 1941 grid: { 1942 display: $x_axes_grid_line, 1943 }, 1944 display: $x_axes_labels, 1945 }, 1946 }, 1947 plugins: { 1948 tooltip: $tooltip, 1949 title: $legend_title, 1950 legend: $legend, 1951 axes: { 1952 display: $show_legend, 1953 labels: { 1954 usePointStyle: $usePointStyle, 1955 }, 1956 }, 1957 }, 1958 animations: $animations, 1959 elements: { 1960 line: { 1961 tension: $tension, 1962 }, 1963 }, 1964 }, 1965 }); 1966 } 1967 }, // end dl radar chart.. 1968 1969 /** 1970 * dl_pro_polararea_chart 1971 * return polar area chart 1972 */ 1973 dl_pro_polararea_chart: function ($scope) { 1974 let $wrap = $scope.find('.droitpro-polarareachart'); 1975 let $ids = $wrap.data('polarareachartid'); 1976 let $settings = $wrap.data('settings'); 1977 1978 if (!$settings) { 1979 return; 1980 } 1981 1982 let $datasets = $settings.hasOwnProperty('datasets') ? 1983 $settings.datasets : 1984 {}, 1985 $show_legend = $settings.hasOwnProperty('show_legend') ? 1986 $settings.show_legend : 1987 true, 1988 $usePointStyle = $settings.hasOwnProperty('legend_type') ? 1989 $settings.legend_type : 1990 true, 1991 $legend_title = $settings.hasOwnProperty('legend_title') ? 1992 $settings.legend_title : 1993 {}, 1994 $legend = $settings.hasOwnProperty('legend') ? $settings.legend : {}, 1995 $tooltip = $settings.hasOwnProperty('tooltip') ? $settings.tooltip : {}, 1996 $borderWidth = $settings.hasOwnProperty('borderWidth') ? 1997 $settings.borderWidth : 1998 0, 1999 $borderColor = $settings.hasOwnProperty('borderColor') ? 2000 $settings.borderColor : 2001 ''; 2002 if ($ids) { 2003 let $ctx = document 2004 .getElementById('polarareachart-' + $ids) 2005 .getContext('2d'); 2006 let PolarChart = new Chart($ctx, { 2007 type: 'polarArea', 2008 data: $datasets, 2009 options: { 2010 tension: $settings.tension, 2011 maintainAspectRatio: false, 2012 plugins: { 2013 tooltip: $tooltip, 2014 title: $legend_title, 2015 legend: $legend, 2016 axes: { 2017 display: $show_legend, 2018 labels: { 2019 usePointStyle: $usePointStyle, 2020 }, 2021 }, 2022 }, 2023 borderWidth: $borderWidth, 2024 borderColor: $borderColor, 2025 }, 2026 }); 2027 } 2028 }, // end dl polar_area chart.. 2029 2030 dl_hotspot_pro: function ($scope) { 2031 var DL_hotspot = elementorModules.frontend.handlers.Base.extend({ 2032 onInit: function () { 2033 elementorModules.frontend.handlers.Base.prototype.onInit.apply( 2034 this, 2035 arguments 2036 ); 2037 this.init(); 2038 }, 2039 bindEvents: function () { 2040 if (!this.isEdit) { 2041 this.elements.$items.on('click.spotClick', function (e) { 2042 e.preventDefault(); 2043 });
2044 } 2045 }, 2046 2047 getDefaultSettings: function () { 2048 return { 2049 selectors: { 2050 item: '.dl-hotspots__item', 2051 }, 2052 }; 2053 }, 2054 2055 getDefaultElements: function () { 2056 return { 2057 $items: this.findElement(this.getSettings('selectors.item')), 2058 }; 2059 }, 2060 2061 onElementChange: function (changedProp) { 2062 if (!this.hasTipso()) { 2063 return; 2064 } 2065 2066 if (changedProp.indexOf('tooltip_') === 0) { 2067 this.elements.$items.tipso('destroy'); 2068 this.init(); 2069 } 2070 }, 2071 2072 hasTipso: function () { 2073 return $.fn['tipso']; 2074 }, 2075 init: function () { 2076 var position = this.getElementSettings('dl_hotspot_tooltip_position'), 2077 width = this.getElementSettings('dl_hotspot_tooltip_width'), 2078 background = this.getElementSettings('dl_hotspot_tooltip_bg_color'), 2079 color = this.getElementSettings('dl_hotspot_tooltip_color'), 2080 speed = this.getElementSettings('dl_hotspot_tooltip_speed'), 2081 delay = this.getElementSettings('dl_hotspot_tooltip_delay'), 2082 hideDelay = this.getElementSettings( 2083 'dl_hotspot_tooltip_hide_delay' 2084 ), 2085 hideArrow = this.getElementSettings( 2086 'dl_hotspot_tooltip_hide_arrow' 2087 ), 2088 hover = this.getElementSettings('dl_hotspot_tooltip_hover'), 2089 elementId = this.getID(); 2090 2091 if (!this.hasTipso()) { 2092 return; 2093 } 2094 2095 this.elements.$items.each(function (index, item) { 2096 var $item = $(item), 2097 target = $item.data('target'), 2098 settings = $item.data('settings'), 2099 classes = [ 2100 'dl-hotspots--' + elementId, 2101 'elementor-repeater-item-' + target, 2102 ]; 2103 $item.tipso({ 2104 color: color, 2105 width: width.size || 200, 2106 position: settings.position || position, 2107 speed: speed, 2108 delay: delay, 2109 showArrow: !hideArrow, 2110 tooltipHover: !!hover, 2111 hideDelay: hideDelay, 2112 background: background, 2113 useTitle: false, 2114 content: $('#dl-' + target).html(), 2115 onBeforeShow: function ($e, e, tooltip) {
2116 tooltip.tipso_bubble.addClass(classes.join(' ')); 2117 }, 2118 }); 2119 }); 2120 }, 2121 }); 2122 2123 // frontent system 2124 elementorFrontend.elementsHandler.addHandler(DL_hotspot, { 2125 $element: $scope, 2126 }); 2127 }, 2128 /** 2129 * dl_pro_mini_cart 2130 * @since 2131 */ 2132 dl_pro_mini_cart: function ($scope) { 2133 let $popup = $scope.find('.dl-mini-cart-popup'); 2134 let $hover = $scope.find('.dl-mini-cart-on-hover'); 2135 if ($hover.length > 0) { 2136 $($hover).hover(function () { 2137 $popup.fadeIn(); 2138 }); 2139 } 2140 2141 let $click = $scope.find('.dl-mini-cart-on-click'); 2142 if ($click.length > 0) { 2143 $($click).click(function () { 2144 if ($($popup).is(':visible')) { 2145 $($popup).fadeOut(); 2146 } else { 2147 $($popup).fadeIn(); 2148 } 2149 }); 2150 } 2151 2152 let $closePopup = $scope.find('.dl-minicart-close-popup'); 2153 if ($closePopup.length > 0) { 2154 $($closePopup).click(function () { 2155 if ($($popup).is(':visible')) { 2156 $($popup).fadeOut(); 2157 } 2158 }); 2159 } 2160 2161 /** for control popup visiblity */ 2162 $(document).mouseup(function (e) { 2163 let $container = $('.dl-mini-cart-inner'); 2164 //if the target of the click isn't the container nor a descendant of the container 2165 if (!$container.is(e.target) && $container.has(e.target).length === 0) { 2166 $popup.click(function (e) { 2167 e.stopPropagation(); 2168 }); 2169 2170 //check is popup open 2171 if ($($popup).is(':visible')) { 2172 $popup.fadeOut(); 2173 } 2174 } 2175 }); 2176 2177 // for hove action 2178 if (!$click.length > 0) { 2179 $(document).mousemove(function (e) { 2180 let $container = $('.dl-mini-cart-inner'); 2181 var $target = e.target; 2182 //if the target of the click isn't the container nor a descendant of the container 2183 if ( 2184 !$container.is(e.target) && 2185 $container.has(e.target).length === 0 2186 ) { 2187 if ($($popup).is(':visible')) { 2188 $popup.fadeOut(); 2189 } 2190 } 2191 }); 2192 } 2193 }, 2194 2195 // for woo checkout 2196 dl_pro_woo_checkout: function ($scope) { 2197 let $showcoupon = $scope.find('a.showcoupon'); 2198 let $couponBody = $scope.find('.checkout_coupon'); 2199 2200 $(document).ready(function (e) { 2201 var $ele = $('body').data('events', 'click'); 2202 $ele.off('click'); 2203 }); 2204 2205 if ($showcoupon.length > 0) { 2206 $($showcoupon).click(function () { 2207 $($couponBody).slideToggle(400, function () { 2208 $($couponBody).find(':input:eq(0)').trigger('focus'); 2209 }); 2210 }); 2211 } 2212 }, 2213 2214 _dl_pro_banner_slider: function ($scope, $) { 2215 var $slider = $scope.find('.dl_banner_slider'), 2216 $item = $slider.find('.swiper-slide > *'), 2217 $thumbs = $scope.find('.gallery-thumbs'), 2218 $dat = $slider.data('settings'), 2219 $datTh = $thumbs.data('settings') ? $thumbs.data('settings') : {}; 2220 2221 if ($datTh.hasOwnProperty('thumbsEnable')) { 2222 var $obj = { 2223 spaceBetween: $datTh.spaceBetween ? $datTh.spaceBetween : '', 2224 slidesPerView: $datTh.slidesPerView ? $datTh.slidesPerView : '', 2225 }; 2226 if ($datTh.breakpoints && $datTh.breakpoints != '') { 2227 $obj.breakpoints = $datTh.breakpoints; 2228 } 2229 var $galleryThumbs = new Swiper($thumbs, $obj); 2230 2231 $dat.thumbs = { 2232 swiper: $galleryThumbs, 2233 }; 2234 } 2235 2236 $dat.on = { 2237 slideChangeTransitionStart: function () { 2238 $item.each(function () { 2239 $(this).css({ 2240 transition: '0.1s', 2241 opacity: '0', 2242 }); 2243 }); 2244 }, 2245 slideChangeTransitionEnd: function () { 2246 var $animation = $item.find('[data-animation]'); 2247 if ($animation.length > 0) { 2248 dlAddons_banner_slider($animation); 2249 } 2250 $item.each(function () { 2251 $(this).css({ 2252 transition: '0.1s', 2253 opacity: '1', 2254 }); 2255 }); 2256 }, 2257 }; 2258 // render slider 2259 new Swiper($slider, $dat); 2260 2261 // auto slider 2262 if ($dat.dl_mouseover) { 2263 $slider.hover( 2264 function () { 2265 this.swiper.autoplay.stop(); 2266 }, 2267 function () { 2268 this.swiper.autoplay.start(); 2269 } 2270 ); 2271 } 2272 2273 if ($dat.dl_autoplay) { 2274 $slider.each(function () { 2275 this.swiper.autoplay.start(); 2276 }); 2277 } else { 2278 $slider.each(function () { 2279 this.swiper.autoplay.stop(); 2280 }); 2281 } 2282 2283 let $delay = $dat.speed; 2284 if ($dat.autoplay) { 2285 $delay = $dat.autoplay.delay; 2286 } 2287 }, 2288 }; 2289 2290 const swiperLoader = (swiperElement, swiperConfig) => { 2291 if ('undefined' === typeof Swiper || 'function' === typeof Swiper) { 2292 const asyncSwiper = elementorFrontend.utils.swiper; 2293 return new asyncSwiper(swiperElement, swiperConfig).then((newSwiperInstance) => { 2294 return newSwiperInstance; 2295 }); 2296 } else { 2297 return new Swiper( swiperElement, swiperConfig ); 2298 } 2299 } 2300 2301 // define count down rediraction 2302 function _dl_pro_count_down_redirect(url) { 2303 window.location.replace(url); 2304 } 2305 2306 function dlAddons_banner_slider(elements) { 2307 var animationEndEvents = 2308 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend'; 2309 elements.each(function () { 2310 var $this = $(this); 2311 var $animationDelay = $this.data('delay'); 2312 var $animationType = 'animated ' + $this.data('animation'); 2313 $this.css({ 2314 'animation-delay': $animationDelay, 2315 '-webkit-animation-delay': $animationDelay, 2316 }); 2317 $this.addClass($animationType).one(animationEndEvents, function () { 2318 $this.removeClass($animationType); 2319 }); 2320 }); 2321 } 2322 2323 $window.on('elementor/frontend/init', droitElementsPro.onInit); 2324})(jQuery, window);
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.