1 2(function ($) { 3 "use strict"; 4 5 /** 6 * Search 7 */ 8 $('.pfy-search-btn').on("click", function (){ 9 $('.benqu_header_search').addClass('active'); 10 }); 11 $('.close-btn').on("click", function (){ 12 $('.benqu_header_search').removeClass('active'); 13 }); 14 15 /** 16 *Sticky Sidebar 17 */ 18 if (typeof $.fn.theiaStickySidebar !== "undefined") { 19 $(".benqu-sticky-wrap .benqu-sticky-item").theiaStickySidebar({ 20 additionalMarginTop: 130, 21 }); 22 } 23 24 // mobile menu start 25 $('#pfy-mobile-menu').metisMenu(); 26 27 $('#pfy-mobile-menu .dropdown > a').on('click', function (e) { 28 e.preventDefault(); 29 }); 30 31 $(".hamburger_menu > a").on("click", function (e) { 32 e.preventDefault(); 33 $(".slide-bar").toggleClass("show"); 34 $("body").addClass("on-side"); 35 $('.body-overlay').addClass('active'); 36 $(this).addClass('active'); 37 }); 38 39 $(".close-mobile-menu > a").on("click", function (e) { 40 e.preventDefault(); 41 $(".slide-bar").removeClass("show"); 42 $("body").removeClass("on-side"); 43 $('.body-overlay').removeClass('active'); 44 $('.hamburger_menu > a').removeClass('active'); 45 }); 46 47 $('.body-overlay').on('click', function () { 48 $(this).removeClass('active'); 49 $(".slide-bar").removeClass("show"); 50 $("body").removeClass("on-side"); 51 $('.hamburger-menu > a').removeClass('active'); 52 }); 53 54 /*** 55 *Dark Switch 56 */ 57 window.onload = function () { 58 // Dark 59 const toggleSwitch = document.querySelector( 60 '.benqu-switch-box__input' 61 ); 62 const currentTheme = localStorage.getItem("theme"); 63 if (currentTheme) { 64 document.documentElement.setAttribute("data-theme", currentTheme); 65 if (currentTheme === "dark") { 66 toggleSwitch.checked = true; 67 } 68 } 69 function switchTheme(e) { 70 if (e.target.checked) { 71 document.documentElement.setAttribute("data-theme", "dark"); 72 localStorage.setItem("theme", "dark"); 73 } else { 74 document.documentElement.setAttribute("data-theme", "light"); 75 localStorage.setItem("theme", "light"); 76 } 77 } 78 if (toggleSwitch) { 79 toggleSwitch.addEventListener("change", switchTheme, false); 80 } 81 }; 82 83 // sticky start 84 var wind = $(window); 85 var sticky = $('#stickyHeader'); 86 wind.on('scroll', function () { 87 var scroll = wind.scrollTop(); 88 if (scroll < 300) { 89 sticky.removeClass('stickyHeader'); 90 } else { 91 sticky.addClass('stickyHeader'); 92 } 93 }); 94 // sticky end 95 /** 96 * Post Widget Slider 97 */ 98 $('.widget-post-slider-wrap').owlCarousel({ 99 items:1, 100 loop:true, 101 dots:true, 102 autoplay:true, 103 nav:false, 104 animateOut: 'fadeOut', 105 smartSpeed:1500, 106 }); 107 108 /** 109 * Post Slider 110 */ 111 function pfyPostSliderActive( $scope, $ ){ 112 var $_this = $scope.find('.pfy-post-slider-wrap'); 113 114 var $currentID = '#'+$_this.attr('id'), 115 $navs = $_this.data('navs'), 116 $dots = $_this.data('dots'), 117 $autoplay = $_this.data('autoplay'); 118 var pfy_post_slider = $( $currentID ); 119 pfy_post_slider.owlCarousel({ 120 items:1, 121 loop:true, 122 nav:$navs, 123 dots:$dots, 124 autoplay:$autoplay, 125 autoplayTimeout:5000, 126 smartSpeed:1000, 127 animateOut: 'fadeOut', 128 navText:["<i class='fal fa-angle-left'></i>", "<i class='fal fa-angle-right'></i>"], 129 }) 130 }; 131 132 /** 133 * Post Article Slider 134 */ 135 function pfyPostArticleSliderActive( $scope, $ ){ 136 var $_this = $scope.find('.pfy-post-article-slider-wrap'); 137 138 var $currentID = '#'+$_this.attr('id'), 139 $navs = $_this.data('navs'), 140 $dots = $_this.data('dots'), 141 $autoplay = $_this.data('autoplay'); 142 var pfy_post_slider = $( $currentID ); 143 pfy_post_slider.owlCarousel({ 144 items:1, 145 loop:true, 146 nav:$navs, 147 dots:$dots, 148 autoplay:$autoplay, 149 autoplayTimeout:5000, 150 smartSpeed:1000, 151 animateOut: 'fadeOut', 152 navText:["<i class='fal fa-angle-left'></i>", "<i class='fal fa-angle-right'></i>"], 153 }) 154 }; 155 156 $('.pfy-post-thumb-gall').owlCarousel({ 157 items:1, 158 lazyLoad:true, 159 loop:true, 160 autoplayTimeout:5000, 161 smartSpeed:1000, 162 nav:true, 163 dots:false, 164 animateOut: 'fadeOut', 165 navText:["<i class='fas fa-caret-left'></i>", "<i class='fas fa-caret-right'></i>"], 166 });
167 168 if(benqu_ajax.is_rtl == true) { 169 var $breakingowl = $('.breaking-headline-active').owlCarousel({ 170 rtl:true, 171 items:1, 172 lazyLoad:true, 173 loop:true, 174 smartSpeed:1500, 175 nav:false, 176 autoplay:true, 177 dots:false 178 }); 179 $breakingowl.trigger('refresh.owl.carousel'); 180 } else { 181 $('.breaking-headline-active').owlCarousel({ 182 items:1, 183 lazyLoad:true, 184 loop:true, 185 smartSpeed:1500, 186 nav:false, 187 autoplay:true, 188 dots:false 189 }); 190 } 191 192 /** 193 * Post Grid Slider 194 */ 195 function pfyPostGridSliderActive( $scope, $ ){ 196 var $_this = $scope.find('.pfy-post-grid-carousel'); 197 var $currentID = '#'+$_this.attr('id'), 198 $navs = $_this.data('navs'), 199 $dots = $_this.data('dots'), 200 $autoplay = $_this.data('autoplay'); 201 var pfy_post_car = $( $currentID ); 202 pfy_post_car.owlCarousel({ 203 loop:true, 204 nav:$navs, 205 dots:$dots, 206 autoplay:$autoplay, 207 autoplayTimeout:4000, 208 smartSpeed:1000, 209 responsive:{ 210 0:{ 211 items:1, 212 }, 213 600:{ 214 items:2, 215 }, 216 1000:{ 217 items:3, 218 }, 219 1500:{ 220 items:4 221 }, 222 1600:{ 223 items:5 224 } 225 } 226 }) 227 }; 228 /** 229 * Post Grid Slider 230 */ 231 function bnqPostOverlayStyle( $scope, $ ){ 232 var $_this = $scope.find('.pfy-post-over-carousel'); 233 var $currentID = '#'+$_this.attr('id'), 234 $navs = $_this.data('navs'), 235 $dots = $_this.data('dots'), 236 $autoplay = $_this.data('autoplay'); 237 var pfy_post_car = $( $currentID ); 238 pfy_post_car.owlCarousel({ 239 loop:true, 240 nav:$navs, 241 dots:$dots, 242 margin:24, 243 autoplay:$autoplay, 244 autoplayTimeout:4000, 245 smartSpeed:1000, 246 responsive:{ 247 0:{ 248 items:1, 249 }, 250 600:{ 251 items:2, 252 }, 253 1000:{ 254 items:3, 255 }, 256 1500:{ 257 items:3 258 }, 259 1600:{ 260 items:4 261 } 262 } 263 }) 264 }; 265 /** 266 * Post Grid Slider Two 267 */ 268 function bnqPostGridSliderActive( $scope, $ ){ 269 var $_this = $scope.find('.bnq-post-grid-carousel'); 270 var $currentID = '#'+$_this.attr('id'), 271 $navs = $_this.data('navs'), 272 $dots = $_this.data('dots'), 273 $autoplay = $_this.data('autoplay'); 274 var pfy_post_car = $( $currentID ); 275 pfy_post_car.owlCarousel({ 276 loop:true, 277 nav:$navs, 278 dots:$dots, 279 autoplay:$autoplay, 280 autoplayTimeout:4000, 281 smartSpeed:1000, 282 responsive:{ 283 0:{ 284 items:1, 285 }, 286 600:{ 287 items:2, 288 }, 289 1000:{ 290 items:3, 291 }, 292 1500:{ 293 items:4 294 }, 295 1600:{ 296 items:5 297 } 298 } 299 }) 300 }; 301 302 303 function pfyPostTabActive( $scope, $ ){ 304 const $tabsToDropdown = $(".tabs-to-dropdown"); 305 function generateDropdownMarkup(container) { 306 const $navWrapper = container.find(".nav-wrapper"); 307 const $navPills = container.find(".nav-pills"); 308 const firstTextLink = $navPills.find("li:first-child a").text(); 309 const $items = $navPills.find("li"); 310 const markup = ` 311 <div class="dropdown"> 312 <button class="btn dropdown-toggle" type="button" id="dropdownMenuButton1" data-bs-toggle="dropdown" aria-expanded="false"> 313 ${firstTextLink} 314 </button> 315 <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton1"> 316 ${generateDropdownLinksMarkup($items)} 317 </ul> 318 </div> 319 `; 320 $navWrapper.prepend(markup); 321 } 322 323 function generateDropdownLinksMarkup(items) { 324 let markup = ""; 325 items.each(function () { 326 const textLink = $(this).find("a").text(); 327 markup += `<a class="dropdown-item" href="#">${textLink}</a>`; 328 }); 329 330 return markup; 331 } 332 333 function showDropdownHandler(e) { 334 // works also 335 //const $this = $(this); 336 const $this = $(e.target); 337 const $dropdownToggle = $this.find(".dropdown-toggle"); 338 const dropdownToggleText = $dropdownToggle.text().trim(); 339 const $dropdownMenuLinks = $this.find(".dropdown-menu a"); 340 const dNoneClass = "d-none"; 341 $dropdownMenuLinks.each(function () { 342 const $this = $(this); 343 if ($this.text() == dropdownToggleText) { 344 $this.addClass(dNoneClass); 345 } else { 346 $this.removeClass(dNoneClass); 347 } 348 }); 349 } 350 351 function clickHandler(e) { 352 e.preventDefault(); 353 const $this = $(this); 354 const index = $this.index(); 355 const text = $this.text(); 356 $this.closest(".dropdown").find(".dropdown-toggle").text(`${text}`); 357 $this 358 .closest($tabsToDropdown) 359 .find(`.nav-pills li:eq(${index}) a`) 360 .tab("show"); 361 } 362 363 function shownTabsHandler(e) { 364 // works also 365 //const $this = $(this); 366 const $this = $(e.target); 367 const index = $this.parent().index(); 368 const $parent = $this.closest($tabsToDropdown); 369 const $targetDropdownLink = $parent.find(".dropdown-menu a").eq(index); 370 const targetDropdownLinkText = $targetDropdownLink.text(); 371 $parent.find(".dropdown-toggle").text(targetDropdownLinkText); 372 } 373 374 $tabsToDropdown.each(function () { 375 const $this = $(this); 376 const $pills = $this.find('a[data-toggle="pill"]'); 377 378 generateDropdownMarkup($this); 379 380 const $dropdown = $this.find(".dropdown"); 381 const $dropdownLinks = $this.find(".dropdown-menu a"); 382 383 $dropdown.on("show.bs.dropdown", showDropdownHandler); 384 $dropdownLinks.on("click", clickHandler); 385 $pills.on("shown.bs.tab", shownTabsHandler); 386 }); 387 388 } 389 390 $('.pfy-video-popup').magnificPopup({ 391 type: 'iframe', 392 mainClass: 'mfp-fade',
393 fixedContentPos: false 394 }); 395 396 /** 397 * Ajax Post Load More Button 398 * @param {*} $scope 399 * @param {*} $ 400 */ 401 402 function pfyAjaxLoadmoreMasonryMasonry( $scope, $ ){ 403 var containerBricks = $('.masonry'); 404 405 containerBricks.imagesLoaded(function () { 406 containerBricks.masonry({ 407 itemSelector: '.masonry__brick', 408 percentPosition: true, 409 resize: true 410 }); 411 }); 412 413 414 // layout Masonry after each image loads 415 containerBricks.imagesLoaded().progress( function() { 416 containerBricks.masonry('layout'); 417 }); 418 } 419 420 if($('.wow').length){ 421 var wow = new WOW( 422 { 423 boxClass: 'wow', 424 animateClass: 'animated', 425 offset: 0, 426 mobile: true, 427 live: true 428 } 429 ); 430 wow.init(); 431 } 432 433 /** 434 * Post List Carousel 435 * @param {*} $scope 436 * @param {*} $ 437 */ 438 function pfyPostListActive($scope, $) { 439 $('.post-list-carousel').slick({ 440 rows: 4, 441 dots: false, 442 speed: 1500, 443 arrows: true, 444 infinite: true, 445 slidesToShow: 1, 446 slidesToScroll: 1, 447 autoplay:true, 448 nextArrow: '<button type="button" class="slick-next"><i class="far fa-angle-right"></i></button>', 449 prevArrow: '<button type="button" class="slick-prev"><i class="far fa-angle-left"></i></button>', 450 responsive: [ 451 { 452 breakpoint: 1024, 453 settings: { 454 slidesToShow: 1, 455 slidesToScroll: 1, 456 infinite: true, 457 } 458 }, 459 { 460 breakpoint: 800, 461 settings: { 462 slidesToShow: 1, 463 slidesToScroll: 1 464 } 465 }, 466 { 467 breakpoint: 799, 468 settings: { 469 slidesToShow: 1, 470 slidesToScroll: 1 471 } 472 }, 473 { 474 breakpoint: 600, 475 settings: { 476 slidesToShow: 1, 477 slidesToScroll: 1 478 } 479 }, 480 { 481 breakpoint: 599, 482 settings: { 483 slidesToShow: 1, 484 slidesToScroll: 1 485 } 486 }, 487 { 488 breakpoint: 500, 489 settings: { 490 slidesToShow: 1, 491 slidesToScroll: 1 492 } 493 } 494 ] 495 }); 496 } 497 498 499 500 function cookiesClose() { 501 var cookieBox = $(".bnq__cookie_area") 502 var acceptBtn = $(".bnq__cookie_area .bnq__cookie_btn"); 503 504 var localValue = localStorage.getItem("button"); 505 506 if(localValue === "true") { 507 cookieBox.css({ 508 "display": "none" 509 }); 510 } 511 512 acceptBtn.on("click", function(e) { 513 cookieBox.addClass("bnq__remmove_cookies_area"); 514 localStorage.button = true; 515 return false; 516 }) 517 } 518 519 /*========================================================================== 520 WHEN DOCUMENT LOADING 521 ==========================================================================*/ 522 $(window).on('load', function() { 523 if($(".bnq__cookie_area").length) { 524 cookiesClose(); 525 } 526 }); 527 /** 528 * newsletter popup 529 */ 530 function newsletterPopup() { 531 var newsletter = $(".bnqu__popup_wrap"); 532 var newsletterClose = $(".newsletter-close-btn"); 533 534 var test = localStorage.input === 'true'? true: false; 535 $(".show-message").prop('checked', test || false); 536 537 var localValue = localStorage.getItem("input"); 538 539 //console.log(localValue); 540 541 if(localValue === "true") { 542 newsletter.css({ 543 "display": "none" 544 }); 545 } 546 547 newsletter.addClass("active-newsletter-popup"); 548 549 newsletterClose.on("click", function(e) { 550 newsletter.removeClass("active-newsletter-popup"); 551 return false; 552 }) 553 554 $(".show-message").on('change', function() { 555 localStorage.input = $(this).is(':checked'); 556 }); 557 } 558 if($(".bnqu__popup_wrap").length) { 559 560 setTimeout(function() { 561 newsletterPopup(); 562 },"4000"); 563 } 564 565 /* Masonry 566 * ---------------------------------------------------- */ 567 568 /** 569 Reading Progrees 570 */ 571 572 function readingProgressBar(){ 573 if($('#pfy_reading_progress').length){ 574 let processScroll = () => { 575 let docElem = document.documentElement, 576 docBody = document.body, 577 scrollTop = docElem['scrollTop'] || docBody['scrollTop'], 578 scrollBottom = (docElem['scrollHeight'] || docBody['scrollHeight']) - window.innerHeight, 579 scrollPercent = scrollTop / scrollBottom * 100 + '%'; 580 581 // console.log(scrollTop + ' / ' + scrollBottom + ' / ' + scrollPercent); 582 583 document.getElementById("pfy_reading_progress").style.setProperty("--scrollAmount", scrollPercent); 584 } 585 586 document.addEventListener('scroll', processScroll); 587 } 588 } 589 readingProgressBar(); 590 591 $(window).on("load", function () { 592 $(".benqu_preloader").fadeOut(800); 593 });
594 595 $(window).on('scroll', function() { 596 var scrolled = $(window).scrollTop(); 597 if (scrolled > 300) $('.back-top-btn').addClass('active'); 598 if (scrolled < 300) $('.back-top-btn').removeClass('active'); 599 }); 600 $('.back-top-btn').on('click', function() { 601 $('html, body').animate( 602 { 603 scrollTop: '0' 604 }, 605 1200 606 ); 607 }); 608 609 function benquLoadMore($scope, $) { 610 var $container = $scope.find('.benqu-post-grid-loadmore'); 611 if ($container.length > 0) { 612 $container.on('click',function(event){ 613 event.preventDefault(); 614 615 var $that = $(this); 616 var ajaxjsondata = $that.data('json_grid_meta'); 617 var benqu_json_data = Object (ajaxjsondata); 618 619 var contentwrap = $scope.find('.grid-loadmore-content'), // item contentwrap 620 postperpage = parseInt(benqu_json_data.posts_per_page), // post per page number 621 showallposts = parseInt(benqu_json_data.total_post); // total posts count 622 623 var items = contentwrap.find('.pfy-grid-item'), 624 totalpostnumber = parseInt(items.length), 625 paged = parseInt( totalpostnumber / postperpage ) + 1; // paged number 626 627 $.ajax({
628 url: benqu_ajax.ajax_url, 629 type: 'POST', 630 data: { 631 action: 'benqu_post_ajax_loading', 632 ajax_json_data: ajaxjsondata, 633 paged:paged 634 }, 635 beforeSend: function(){ 636 637 $('<i class="fa fa-spinner fa-spin" style="margin-left:10px"></i>').appendTo( "#benqu-post-grid-loadmore" ).fadeIn(100); 638 }, 639 complete:function(){ 640 $scope.find('.benqu-post-grid-loadmore .fa-spinner ').remove(); 641 } 642 }) 643 644 .done(function(data) { 645 646 var $pstitems = $(data); 647 $scope.find('.grid-loadmore-content').append( $pstitems ); 648 var newLenght = contentwrap.find('.pfy-grid-item').length; 649 650 if(showallposts <= newLenght){ 651 $scope.find('.benqu-post-grid-loadmore').fadeOut(300,function(){ 652 $scope.find('.benqu-post-grid-loadmore').remove(); 653 }); 654 } 655 656 }) 657 658 .fail(function() { 659 $scope.find('.benqu-post-grid-loadmore').remove(); 660 }); 661 662 }); 663 } 664 665 666 } 667 668 669 if ($(".ajax-scroll-post").length > 0) { 670 var onScrollPagi = true; 671 var current_post = 1; 672 $(window).scroll(function () { 673 674 if (!onScrollPagi) return; 675 676 var bottomOffset = 1900; // the distance (in px) from the page bottom when you want to load more posts 677 678 if (current_post >= benqu_ajax.post_scroll_limit) { 679 onScrollPagi = false; 680 return; 681 } 682 683 if ($(document).scrollTop() > ($(document).height() - bottomOffset) && onScrollPagi == true) { 684 let cat_ids = $('input#benqu-cat-ids').val(); 685 $.ajax({
686 url: benqu_ajax.ajax_url, 687 data: { 688 action: 'benqu_single_scroll_post', 689 nonce: benqu_ajax.nonce, 690 current_post: current_post, 691 cat_ids 692 }, 693 type: 'POST', 694 dataType: 'json', 695 beforeSend: function () { 696 onScrollPagi = false; 697 }, 698 success: function (resp) { 699 if (resp.success) { 700 $('.ajax-scroll-post').append(resp.data); 701 current_post++; 702 onScrollPagi = true; 703 } 704 } 705 }); 706 } 707 }); 708 } 709 710 711 712 713 $(window).on('elementor/frontend/init', function () { 714 elementorFrontend.hooks.addAction('frontend/element_ready/benqu-post-slider.default', pfyPostSliderActive); 715 elementorFrontend.hooks.addAction('frontend/element_ready/benqu-post-article-slider.default', pfyPostArticleSliderActive); 716 elementorFrontend.hooks.addAction('frontend/element_ready/benqu-post-grid-carousel.default', pfyPostGridSliderActive); 717 elementorFrontend.hooks.addAction('frontend/element_ready/benqu-post-tabs.default', pfyPostTabActive); 718 elementorFrontend.hooks.addAction('frontend/element_ready/benqu-post-tabs-v2.default', pfyPostTabActive); 719 elementorFrontend.hooks.addAction('frontend/element_ready/benqu-post-masonry.default', pfyAjaxLoadmoreMasonryMasonry); 720 elementorFrontend.hooks.addAction('frontend/element_ready/benqu-post-list-caro.default', pfyPostListActive); 721 elementorFrontend.hooks.addAction('frontend/element_ready/benqu-post-grid-carousel-v2.default', bnqPostGridSliderActive); 722 elementorFrontend.hooks.addAction('frontend/element_ready/benqu-post-ajax-loadmore-grid.default', benquLoadMore); 723 elementorFrontend.hooks.addAction('frontend/element_ready/benqu-post-overl-carousel.default', bnqPostOverlayStyle); 724 }); 725})(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.