1(function($){ 2 3 'use strict'; 4 5 6 function isScrolledIntoViewport(elem) { 7 var docViewTop = $(window).scrollTop(); 8 var docViewBottom = docViewTop + $(window).height(); 9 10 var elemTop = $(elem).offset().top; 11 var elemBottom = elemTop + $(elem).height(); 12 13 return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop)); 14 } 15 16 // Site Preload & Fix transitions on load 17 $(window).on('load', function() { 18 $("body").addClass("site-loaded"); 19 }); 20 21 22 // Smooth Scroll 23 if( typeof SmoothScroll == 'function' && $('body').hasClass('rivax-smooth-scroll') ) { 24 SmoothScroll({ keyboardSupport: false }); 25 } 26 27 28 // Post Reading Progress Indicator 29 if($('.post-reading-progress-indicator').length) { 30 $(window).on('scroll', function () { 31 let docHeight = $("body").height(); 32 let winHeight = $(window).height(); 33 let viewport = docHeight - winHeight; 34 let scrollPos = $(window).scrollTop(); 35 let scrollPercent = (scrollPos / viewport) * 100; 36 $(".post-reading-progress-indicator span").css("width", scrollPercent + "%"); 37 38 }); 39 } 40 41 42 // Offcanvas 43 $('.offcanvas-container').on('click', function (e) { 44 e.stopPropagation(); 45 }); 46 $('body').on('click', '.offcanvas-opener', function (e) { 47 e.stopPropagation(); 48 $(this).closest('.rivax-offcanvas').find('.offcanvas-wrapper').addClass('open'); 49 }); 50 51 $('body, .offcanvas-closer').on('click', function (e) { 52 $('.offcanvas-wrapper').removeClass('open'); 53 }); 54 55 // Popup Search 56 $('body').on('click', '.popup-search-opener', function (e) { 57 e.stopPropagation(); 58 $(this).closest('.popup-search-wrapper').find('.popup-search').addClass('open'); 59 }); 60 61 $('.popup-search-container').on('click', function (e) { 62 e.stopPropagation(); 63 }); 64 65 $('body, .popup-search-closer').on('click', function (e) { 66 $('.popup-search').removeClass('open'); 67 }); 68 69 70 71 // Sticky offcanvas 72 $(window).on('scroll', function () { 73 74 if ( $('#site-sticky-offcanvas').length == 0 ) { 75 return; 76 } 77 78 var stickyPos = $('#site-header').outerHeight() + 100; 79 var scroll = $(window).scrollTop(); 80 81 if( scroll > stickyPos ) { 82 $('#site-sticky-offcanvas').addClass('show'); 83 } 84 else { 85 $('#site-sticky-offcanvas').removeClass('show'); 86 } 87 }); 88 89 90 // Header Nav prevent # jump 91 $('.rivax-header-nav li > a[href="#"]').on('click', function (e) { 92 e.preventDefault(); 93 }); 94 95 96 // Header Vertical Nav 97 $('.rivax-header-v-nav li.menu-item-has-children > a').on('click', function (e) { 98 e.preventDefault(); 99 $(this).siblings('.sub-menu').slideToggle(); 100 }); 101 102 103 104 105 // Header Mega Menu 106 $('.rivax-header-nav .sub-menu.mega-menu-content').css('display', 'block'); 107 $('.rivax-header-nav li.rivax-mega-menu-4-col > .sub-menu').css('display', 'flex'); 108 $('body').on('mouseenter', '.rivax-header-nav li.rivax-mega-menu-item, .rivax-header-nav li.rivax-mega-menu-4-col', function() { 109 110 var con = $(this).closest('div[data-elementor-type="wp-post"] > .e-con, div[data-elementor-type="wp-page"] > .e-con'); 111 112 113 // $('body').hasClass('elementor-editor-active') 114 if(con.length == 0) { 115 con = $(this).closest('div[data-elementor-type="wp-post"] .elementor-section-wrap > .e-con, div[data-elementor-type="wp-page"] .elementor-section-wrap > .e-con'); 116 } 117 118 119 if(con.length == 0) { 120 return; 121 } 122 123 if( con.hasClass('e-con-boxed') ) { 124 con = con.children('.e-con-inner'); 125 } 126 127 var megaMenuWidth = con.width(); 128 129 var subMenu = $(this).children('.sub-menu'); 130 subMenu.css('width', megaMenuWidth); 131 132 var menuPos = $(this).closest('.rivax-header-nav').offset().left; 133 var paddingLeft = ( con.innerWidth() - con.width() ) / 2; 134 var elementorContainerPos = con.offset().left + paddingLeft; 135 136 if( $('body').hasClass('rtl') ) { 137 var menuRightPos = menuPos + $(this).closest('.rivax-header-nav').width(); 138 var elementorContainerRightPos = elementorContainerPos + megaMenuWidth; 139 140 subMenu.css('right', parseInt(menuRightPos - elementorContainerRightPos)); 141 142 } 143 else { 144 subMenu.css('left', parseInt(elementorContainerPos - menuPos)); 145 } 146 147 148 });
149 150 151 152 153 // Back to Top Button 154 $(window).on('scroll', function (e) { 155 156 var showPos = $('#site-header').outerHeight() + 200; 157 var scroll = $(window).scrollTop(); 158 159 if( scroll > showPos ) { 160 $('#back-to-top').addClass('show'); 161 } 162 else { 163 $('#back-to-top').removeClass('show'); 164 } 165 166 }); 167 168 $('#back-to-top').on('click', function(e) { 169 $('body,html').animate({scrollTop:0},800); 170 }); 171 172 173 // Dark Mode (Fix page cache plugins) 174 if ( navigator.cookieEnabled && $('.dark-mode-switcher').length ) { 175 let cookies = document.cookie; 176 if( cookies.search('raveenDarkMode=enabled') != -1 ) { 177 $("body").addClass("dark-mode"); 178 } 179 else if( cookies.search('raveenDarkMode=disabled') != -1 ) { 180 $("body").removeClass("dark-mode"); 181 } 182 } 183 184 // Dark Mode Switcher 185 $('.dark-mode-switcher').on('click', function(e) { 186 187 if( $('body').hasClass('dark-mode') ) { 188 189 $('body').removeClass('dark-mode'); 190 191 if (navigator.cookieEnabled) { 192 let date = new Date() 193 date.setTime(date.getTime() + (30*24*60*60*1000)); 194 document.cookie = 'raveenDarkMode=disabled; path=/; expires=' + date.toUTCString() + ';'; 195 } 196 } 197 else { 198 $('body').addClass('dark-mode'); 199 200 if (navigator.cookieEnabled) { 201 let date = new Date() 202 date.setTime(date.getTime() + (30*24*60*60*1000)); 203 document.cookie = 'raveenDarkMode=enabled; path=/; expires=' + date.toUTCString() + ';'; 204 } 205 } 206 207 }); 208 209 210 211 // Privacy Notice 212 if( localStorage.getItem("raveenPrivacy") != "1" ) { 213 $('.privacy-notice-wrap').addClass('show'); 214 } 215 else { 216 $('.privacy-notice-wrap').addClass('d-none'); 217 } 218 219 $('#privacy-btn').on('click', function(e) { 220 e.preventDefault(); 221 localStorage.setItem("raveenPrivacy", "1"); 222 $('.privacy-notice-wrap').removeClass('show'); 223 }); 224 225 226 // Table Of Content 227 $('body').on('click', '.toc-header-collapse', function(){ 228 $(this).closest('.rivax-toc-wrap').find('.rivax-toc-items').slideToggle(); 229 }); 230 231 $('body').on('click', '.rivax-toc-anchor', function(e){ 232 233 var id = $(this).attr('href'); 234 235 if( id.substr(0,1) === '#' ) { 236 e.preventDefault(); 237 var section = $(this).closest('.single-post-wrapper').find(id); 238 var scrollPos = section.offset().top - 10; 239 if($('#site-sticky-header').length) { 240 scrollPos -= $('#site-sticky-header').outerHeight(); 241 } 242 243 $('body,html').animate({scrollTop:scrollPos },800); 244 } 245 }); 246 247 248 // Autoload next post in single post 249 $(window).on('scroll', function () { 250 251 if($( "#autoload-next-post-loader:not(.loading)" ).length) { 252 253 if( isScrolledIntoViewport("#autoload-next-post-loader") ) { 254 255 var data = { 256 action: 'rivax_autoload_next_post', 257 postsLoaded: $( "#autoload-next-post-loader" ).data('loaded'), 258 nextID: $( "#autoload-next-post-loader" ).data('next'), 259 }; 260 $.post({ 261 url: rivax_ajax_object.AjaxUrl, 262 data: data, 263 dataType: 'json', 264 beforeSend: function() { 265 $("#autoload-next-post-loader").addClass('loading'); 266 $("#autoload-next-post-loader .rivax-post-load-more-loader").addClass('show'); 267 }, 268 success: function(response) { 269 if( response.success === false ) { 270 $("#autoload-next-post-loader").remove(); 271 } 272 else { 273 274 if( response.data.content ) { 275 $(".main-wrapper").append(response.data.content); 276 } 277 278 if( response.data.nextID == 0 ) { 279 $("#autoload-next-post-loader").remove(); 280 } 281 else { 282 $( "#autoload-next-post-loader" ).data('loaded', response.data.loaded).data('next', response.data.nextID); 283 } 284 } 285 286 }, 287 error: function() { 288 $("#autoload-next-post-loader").remove(); 289 }, 290 complete: function() { 291 $("#autoload-next-post-loader").removeClass('loading'); 292 $("#autoload-next-post-loader .rivax-post-load-more-loader").removeClass('show'); 293 } 294 }); 295 296 } 297 } 298 299 300 // Update some details 301 if($( ".single-post-wrapper" ).length >= 2) { 302 303 $( ".single-post-wrapper" ).each(function( index ) { 304 var scroll = $(window).scrollTop(); 305 var article = $(this); 306 var articleTopPos = article.offset().top; 307 var articleBottomPos = articleTopPos + article.outerHeight(true); 308 var articleInfo = article.find('.autoload-next-post-info'); 309 310 if ( scroll > (articleTopPos - 120) && scroll < (articleBottomPos + 20) && (location.href !== articleInfo.data('url')) ) { 311 document.title = articleInfo.data('title'); 312 history.replaceState(null, null, articleInfo.data('url')); 313 $('.current-post-title .title-text').text(articleInfo.data('title'));
314 } 315 316 }); 317 } 318 319 }); 320 321 322 323 // Infinite Scroll Load More 324 $(window).on('scroll', function () { 325 326 $( ".rivax-post-load-more.infinite-scroll" ).each(function( index ) { 327 328 if( isScrolledIntoViewport($(this)) ) { 329 $(this).trigger("click"); 330 } 331 332 }); 333 334 }); 335 336 337 // Load more posts ajax 338 $('.rivax-post-load-more').on('click', function (e) { 339 e.preventDefault(); 340 if($(this).hasClass('hide')) return; 341 342 var loadMoreBtn = $(this); 343 var loadMoreLoader = loadMoreBtn.next('.rivax-post-load-more-loader'); 344 var scope = loadMoreBtn.closest('.rivax-posts-container').find('.rivax-posts-wrapper'); 345 346 var widgetId = $(this).data('widget-id'); 347 var postId = $(this).data('post-id'); 348 var pageNumber = $(this).data('current-page') + 1; 349 350 351 352 var data = { 353 action: 'rivax_get_load_more_posts', 354 widgetId: widgetId, 355 postId: postId, 356 pageNumber: pageNumber, 357 qVars: (typeof rivaxLoadMoreQVars !== 'undefined')? rivaxLoadMoreQVars : '', 358 }; 359 $.post({ 360 url: rivax_ajax_object.AjaxUrl, 361 data: data, 362 dataType: 'json', 363 beforeSend: function() { 364 loadMoreBtn.addClass('hide'); 365 loadMoreLoader.addClass('show'); 366 }, 367 success: function(response) { 368 if(response.data) { 369 var items = $(response.data); 370 371 scope.append(items); 372 if( scope.hasClass('layout-masonry') ) { 373 scope.masonry( 'appended', items ); 374 } 375 } 376 377 378 if(response.no_more) { 379 loadMoreLoader.remove(); 380 loadMoreBtn.remove(); 381 } 382 else { 383 loadMoreBtn.data('current-page', pageNumber); 384 } 385 }, 386 error: function() { 387 388 }, 389 complete: function() { 390 loadMoreBtn.removeClass('hide'); 391 loadMoreLoader.removeClass('show'); 392 } 393 }); 394 395 396 }); 397 398 399 // Contact Form 400 $('.rivax-contact-form').on('submit', function (e) { 401 e.preventDefault(); 402 var form = $(this); 403 var submitBtn = form.find('.submit-btn'); 404 var msgWrapper = form.parent('.rivax-contact-form-wrapper').find('.msg-wrapper'); 405 406 if(submitBtn.hasClass('loading')) { 407 return; 408 } 409 410 var data = { 411 action: 'rivax_submit_contact_form', 412 firstName: form.find('#first-name').val(), 413 lastName: form.find('#last-name').val(), 414 email: form.find('#email').val(), 415 subject: form.find('#subject').val(), 416 message: form.find('#message').val(), 417 }; 418 419 $.post({ 420 url: rivax_ajax_object.AjaxUrl, 421 data: data, 422 dataType: 'json', 423 beforeSend: function() { 424 submitBtn.addClass('loading'); 425 }, 426 success: function(response) { 427 if(response.msg == 'fill') { 428 msgWrapper.removeClass('success').addClass('error'); 429 msgWrapper.children('.msg').text( msgWrapper.children('.msg').data('fill') ); 430 } 431 else if(response.msg == 'error') { 432 msgWrapper.removeClass('success').addClass('error'); 433 msgWrapper.children('.msg').text( msgWrapper.children('.msg').data('error') ); 434 } 435 else if(response.msg == 'success') { 436 msgWrapper.removeClass('error').addClass('success'); 437 msgWrapper.children('.msg').text( msgWrapper.children('.msg').data('success') ); 438 form.trigger("reset"); 439 } 440 441 }, 442 error: function() { 443 msgWrapper.removeClass('success').addClass('error'); 444 msgWrapper.children('.msg').text( msgWrapper.children('.msg').data('error') ); 445 }, 446 complete: function() { 447 submitBtn.removeClass('loading'); 448 } 449 }); 450 451 });
452 453 454 // Social Icon Widget 455 $('.rivax-social-icons a[href=""], .rivax-social-icons a[href="#"]').on('click', function(e) { 456 e.preventDefault(); 457 }); 458 459 460 461 var rivaxWidgetsHandler = function( $scope, $ ) { 462 463 // Post Masonry Layout 464 var masonryPosts = $scope.find('.rivax-posts-wrapper.layout-masonry'); 465 if ( masonryPosts.length ){ 466 masonryPosts.masonry({ 467 itemSelector: '.post-item', 468 percentPosition: true, 469 }); 470 } 471 472 473 // Post Carousel Layout 474 var carouselPosts = $scope.find('.rivax-posts-wrapper.layout-carousel .rivax-posts-carousel-wrapper'); 475 if ( carouselPosts.length ){ 476 var carouselSettings = carouselPosts.data('settings'); 477 var carouselContainer = carouselPosts.find('.swiper-container'); 478 479 480 if ( 'undefined' === typeof Swiper ) { 481 const asyncSwiper = elementorFrontend.utils.swiper; 482 483 new asyncSwiper( carouselContainer, carouselSettings ).then( ( newSwiperInstance ) => { 484 var swiper = newSwiperInstance; 485 } ); 486 } else { 487 var swiper = new Swiper(carouselContainer, carouselSettings); 488 } 489 490 } 491 492 493 494 // Single Post Gallery Hero 495 if ( $('.single-hero-gallery-container').length ){ 496 497 var gallerySettings = { 498 slidesPerView: 1, 499 slidesPerGroup: 1, 500 centeredSlides: true, 501 //loop: true, 502 autoplay: true, 503 spaceBetween: 30, 504 a11y: { 505 enabled: false, 506 }, 507 navigation: { 508 nextEl: ".single-hero-gallery-container .swiper-button-next", 509 prevEl: ".single-hero-gallery-container .swiper-button-prev", 510 }, 511 breakpoints: { 512 576: { 513 slidesPerView: 2, 514 }, 515 992: { 516 slidesPerView: 2, 517 } 518 } 519 }; 520 521 var carouselContainer = $('.single-hero-gallery-container .swiper-container'); 522 523 if ( 'undefined' === typeof Swiper ) { 524 const asyncSwiper = elementorFrontend.utils.swiper; 525 526 new asyncSwiper( carouselContainer, gallerySettings ).then( ( newSwiperInstance ) => { 527 var swiper = newSwiperInstance; 528 } ); 529 } else { 530 var swiper = new Swiper(carouselContainer, gallerySettings); 531 } 532 533 } 534 535 536 537 // Mailchimp 538 if( $scope.find('.rivax-mailchimp-wrapper').length ) { 539 540 var elForm = $scope.find('.rivax-mailchimp-form'), 541 elMessage = $scope.find('.rivax-mailchimp-response-message'); 542 543 elForm.on('submit', function (e) { 544 e.preventDefault(); 545 var data = { 546 action: 'rivax_mailchimp_subscribe', 547 subscriber_info: elForm.serialize(), 548 list_id: elForm.data('list-id'), 549 }; 550 $.ajax({
551 type: 'post', 552 url: rivax_ajax_object.AjaxUrl, 553 data: data, 554 success: function success(response) { 555 elForm.trigger('reset'); 556 557 if (response.status) { 558 elMessage.removeClass('error'); 559 elMessage.addClass('success'); 560 elMessage.text(response.msg); 561 } else { 562 elMessage.addClass('error'); 563 elMessage.removeClass('success'); 564 elMessage.text(response.msg); 565 } 566 567 var hideMsg = setTimeout(function () { 568 elMessage.removeClass('error'); 569 elMessage.removeClass('success'); 570 clearTimeout(hideMsg); 571 }, 5000); 572 }, 573 error: function error() { 574 575 } 576 }); 577 }); 578 579 } 580 581 582 } 583 584 585 586 // Elementor Widgets 587 $( window ).on( 'elementor/frontend/init', function () { 588 589 elementorFrontend.hooks.addAction( 'frontend/element_ready/widget', rivaxWidgetsHandler ); 590 591 }); 592 593 594})( 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.