📁 File Manager Pro
v10.0.3 | PHP: 8.2.31
Server: LiteSpeed
2026-07-03 20:00:26
📂
/ (Root)
/
home
/
orkouolp
/
web
/
orkofarms.com
/
wp-content
/
plugins
/
martfury-addons
/
assets
/
js
📍 /home/orkouolp/web/orkofarms.com/wp-content/plugins/martfury-addons/assets/js
🔄 Refresh
✏️
Editing: elementor.js
Writable
(function ($) { 'use strict'; /** * Product Deals Carousel */ var productDealsCarouselHandler = function ($scope, $) { $scope.find('.mf-elementor-product-deals-carousel').each(function () { var $selector = $(this), elementSettings = $selector.data('settings'), slidesToShow = parseInt(elementSettings.slidesToShow), slidesToScroll = parseInt(elementSettings.slidesToScroll), slidesToShow_tablet = parseInt(elementSettings.slidesToShow_tablet), slidesToScroll_tablet = parseInt(elementSettings.slidesToScroll_tablet), slidesToShow_mobile = parseInt(elementSettings.slidesToShow_mobile), slidesToScroll_mobile = parseInt(elementSettings.slidesToScroll_mobile); $selector.find('ul.products').not('.slick-initialized').slick({ rtl: $('body').hasClass('rtl'), slidesToShow: slidesToShow, slidesToScroll: slidesToScroll, arrows: true, dots: true, infinite: 'yes' === elementSettings.infinite, prevArrow: '<span class="icon-chevron-left slick-prev-arrow"></span>', nextArrow: '<span class="icon-chevron-right slick-next-arrow"></span>', autoplay: 'yes' === elementSettings.autoplay, autoplaySpeed: parseInt(elementSettings.autoplay_speed), responsive: [ { breakpoint: 1366, settings: { slidesToShow: slidesToShow > 5 ? 5 : slidesToShow, slidesToScroll: slidesToScroll > 5 ? 5 : slidesToScroll } }, { breakpoint: 1200, settings: { slidesToShow: slidesToShow > 4 ? 4 : slidesToShow, slidesToScroll: slidesToScroll > 4 ? 4 : slidesToScroll }, }, { breakpoint: 992, settings: { slidesToShow: slidesToShow_tablet, slidesToScroll: slidesToScroll_tablet, } }, { breakpoint: 767, settings: { slidesToShow: 2, slidesToScroll: slidesToScroll > 2 ? 2 : slidesToScroll }, }, { breakpoint: 480, settings: { slidesToShow: slidesToShow_mobile, slidesToScroll: slidesToScroll_mobile, }, } ] }); $selector.on('afterChange', function () { lazyLoadHandler($selector); }); }); }; /** * Product Deals Carousel 2 */ var productDealsCarousel2Handler = function ($scope, $) { $scope.find('.mf-product-deals-carousel-2').each(function () { var $selector = $(this), elementSettings = $selector.data('settings'), $gallery = $selector.find('.woocommerce-product-gallery'); $selector.find('ul.products').not('.slick-initialized').slick({ rtl: $('body').hasClass('rtl'), slidesToShow: 1, slidesToScroll: 1, arrows: true, dots: false, infinite: 'yes' === elementSettings.infinite, prevArrow: $selector.find('.slick-prev-arrow'), nextArrow: $selector.find('.slick-next-arrow'), autoplay: 'yes' === elementSettings.autoplay, autoplaySpeed: parseInt(elementSettings.autoplay_speed) }); var options = { selector: '.woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image', allowOneSlide: false, animation: "slide", animationLoop: false, animationSpeed: 500, controlNav: "thumbnails", directionNav: false, rtl: false, slideshow: false, smoothHeight: true, start: function () { $gallery.css('opacity', 1); }, }; $gallery.flexslider(options); $selector.find('.deal-expire-countdown').each(function () { $(document).trigger('deal_expire_countdown', $(this)); }); $gallery.each(function () { var $el = $(this); $el.imagesLoaded(function () { var $thumbnail = $el.find('.flex-control-thumbs'); setTimeout(function () { if ($thumbnail.length < 1) { return; } var columns = $el.data('columns'); var count = $thumbnail.find('li').length; if (count > columns) { $thumbnail.not('.slick-initialized').slick({ slidesToShow: columns, slidesToScroll: 1, focusOnSelect: true, vertical: true, infinite: false, prevArrow: '<span class="icon-chevron-up slick-prev-arrow"></span>', nextArrow: '<span class="icon-chevron-down slick-next-arrow"></span>', responsive: [ { breakpoint: 768, settings: { slidesToShow: 4 } }, { breakpoint: 480, settings: { slidesToShow: 3 } } ] }); } else { $thumbnail.addClass('no-slick'); } }, 100); }); }); $selector.find('.woocommerce-product-gallery__image').on('click', function () { var href = $(this).closest('div.product').find('.product-title > a').attr('href'); location.href = href; return false; }); $selector.on('afterChange', function () { lazyLoadHandler($selector); }); }); }; /** * LazyLoad */ var lazyLoadHandler = function ($els) { if ($els.length === 0) { $els = $('body'); } $els.find('img.lazy').lazyload({ load: function () { $(this).removeClass('lazy'); } }); }; var getProductsCarouselHandler = function ($els) { var $selector = $els, elementSettings = $selector.data('settings'), slidesToShow = parseInt(elementSettings.slidesToShow), slidesToScroll = parseInt(elementSettings.slidesToScroll), slidesToShow_tablet = parseInt(elementSettings.slidesToShow_tablet), slidesToScroll_tablet = parseInt(elementSettings.slidesToScroll_tablet), slidesToShow_mobile = parseInt(elementSettings.slidesToShow_mobile), slidesToScroll_mobile = parseInt(elementSettings.slidesToScroll_mobile); $selector.find('ul.products').not('.slick-initialized').slick({ rtl: $('body').hasClass('rtl'), slidesToShow: slidesToShow, slidesToScroll: slidesToScroll, arrows: true, dots: true, infinite: 'yes' === elementSettings.infinite, prevArrow: elementSettings.arrows_background == 'yes' ? '<span class="icon-chevron-left slick-prev-arrow"><span class="mf-arrow-bg"><svg xmlns="http://www.w3.org/2000/svg" width="28" height="123" viewBox="0 0 28 123"><path fill="currentColor" fill-rule="evenodd" d="M135,1763s1.945-18.7,11.511-28.64c14.019-14.57,16.641-21.14,16.481-33.19-0.3-22.74-27.992-30.59-27.992-57.81V1763Z" transform="translate(-135 -1640)"/> </svg></span></span>' : '<span class="icon-chevron-left slick-prev-arrow"></span>', nextArrow: elementSettings.arrows_background == 'yes' ? '<span class="icon-chevron-right slick-next-arrow"><span class="mf-arrow-bg"><svg xmlns="http://www.w3.org/2000/svg" width="28" height="123" viewBox="0 0 28 123"><path fill="currentColor" fill-rule="evenodd" d="M1785,1763s-1.94-18.7-11.51-28.64c-14.02-14.57-16.64-21.14-16.48-33.19,0.3-22.74,27.99-30.59,27.99-57.81V1763Z" transform="translate(-1757 -1640)"/></svg></span></span>' : '<span class="icon-chevron-right slick-next-arrow"></span>', autoplay: 'yes' === elementSettings.autoplay, autoplaySpeed: parseInt(elementSettings.autoplay_speed), speed: parseInt(elementSettings.speed), responsive: [ { breakpoint: 1366, settings: { slidesToShow: slidesToShow > 5 ? 5 : slidesToShow, slidesToScroll: slidesToScroll > 5 ? 5 : slidesToScroll } }, { breakpoint: 1200, settings: { slidesToShow: slidesToShow > 4 ? 4 : slidesToShow, slidesToScroll: slidesToScroll > 4 ? 4 : slidesToScroll } }, { breakpoint: 992, settings: { slidesToShow: slidesToShow_tablet > 3 ? 3 : slidesToShow_tablet, slidesToScroll: slidesToScroll_tablet > 3 ? 3 : slidesToScroll_tablet } }, { breakpoint: 767, settings: { slidesToShow: slidesToShow_mobile > 2 ? 2 : slidesToShow_mobile, slidesToScroll: slidesToScroll_mobile > 2 ? 2 : slidesToScroll_mobile } } ] }); $selector.on('afterChange', function () { lazyLoadHandler($selector); }); }; /** * CountDown */ var countDownHandler = function ($scope, $) { $scope.find('.martfury-countdown').mf_countdown(); }; /** * Catagory Tabs Carousel */ var categoryTabsCarouselHandler = function ($scope, $) { $scope.find('.mf-category-tabs').each(function () { var $selector = $(this); $selector.find('ul.tabs-nav').not('.slick-initialized').slick({ rtl: $('body').hasClass('rtl'), slidesToShow: 8, prevArrow: '<span class="icon-chevron-left slick-prev-arrow"></span>', nextArrow: '<span class="icon-chevron-right slick-next-arrow"></span>', infinite: false, responsive: [ { breakpoint: 1200, settings: { slidesToShow: 6, slidesToScroll: 6 } }, { breakpoint: 992, settings: { slidesToShow: 4, slidesToScroll: 4 } }, { breakpoint: 480, settings: { slidesToShow: 2, slidesToScroll: 2 } } ] }); $selector.on('afterChange', function () { lazyLoadHandler($selector); }); }); }; /** * category Tabs */ var categoryTabsHandler = function ($scope, $) { $scope.find('.martfury-tabs').mrtabs(); }; /** * Product Carousel */ var productsListCarouselHandler = function ($scope, $) { var $selector = $scope.find('.mf-products-list-carousel'); getProductsCarouselHandler($selector); }; /** * Product Carousel */ var productsCarouselHandler = function ($scope, $) { var $selector = $scope.find('.mf-products-carousel'); if (!$selector.hasClass('no-infinite')) { productCarouselInfinite($selector); } else { getProductsCarouselHandler($selector); } function productCarouselInfinite($selector) { $(window).on('scroll', function () { if ($selector.hasClass('no-infinite')) { return; } var offSet = 0; if ($selector.is(':in-viewport(' + offSet + ')')) { getProductCarouselAjax($selector); $selector.addClass('no-infinite'); } }).trigger('scroll'); } function getProductCarouselAjax($selector) { if (typeof mf_elementor_data === 'undefined') { return; } var dataSettings = $selector.find('.mf-products-carousel-loading').data('settings'), ajax_url = mf_elementor_data.ajax_url.toString().replace('%%endpoint%%', 'mf_elementor_get_elements'); $.ajax({ url: ajax_url, dataType: 'json', method: 'post', data: { params: JSON.stringify(dataSettings), element: 'productsCarousel' }, success: function (response) { $selector.html(response.data); getProductsCarouselHandler($selector); lazyLoadHandler($selector); $(document.body).trigger('martfury_get_products_ajax_success'); } }); } }; var recentlyViewedProductsCarouselHandler = function ($scope, $) { $scope.find('.mf-product-recently-viewed-carousel').each(function () { var $selector = $(this), elementSettings = $selector.data('settings'), slidesToShow = parseInt(elementSettings.slidesToShow), slidesToScroll = parseInt(elementSettings.slidesToScroll); $selector.find( 'ul.products' ).not('.slick-initialized').slick({ rtl: $('body').hasClass('rtl'), slidesToShow: slidesToShow, slidesToScroll: slidesToScroll, arrows: true, dots: true, infinite: 'yes' === elementSettings.infinite, prevArrow: '<span class="icon-chevron-left slick-prev-arrow"></span>', nextArrow: '<span class="icon-chevron-right slick-next-arrow"></span>', autoplay: 'yes' === elementSettings.autoplay, autoplaySpeed: parseInt(elementSettings.autoplay_speed), speed: parseInt(elementSettings.speed), responsive: [ { breakpoint: 1600, settings: { slidesToShow: slidesToShow > 5 ? 5 : slidesToShow, slidesToScroll: slidesToScroll > 5 ? 5 : slidesToScroll } }, { breakpoint: 1366, settings: { slidesToShow: slidesToShow > 4 ? 4 : slidesToShow, slidesToScroll: slidesToScroll > 4 ? 4 : slidesToScroll } }, { breakpoint: 1200, settings: { slidesToShow: slidesToShow > 3 ? 3 : slidesToShow, slidesToScroll: slidesToScroll > 3 ? 3 : slidesToScroll } }, { breakpoint: 992, settings: { slidesToShow: slidesToShow > 2 ? 2 : slidesToShow, slidesToScroll: slidesToScroll > 2 ? 2 : slidesToScroll } }, { breakpoint: 767, settings: { slidesToShow: slidesToShow > 2 ? 2 : slidesToShow, slidesToScroll: slidesToScroll > 2 ? 2 : slidesToScroll } }, { breakpoint: 480, settings: { slidesToShow: 1, slidesToScroll: 1 } } ] }); $selector.on('afterChange', function () { lazyLoadHandler($selector); }); }); }; /** * Products Grid */ var productsGridHandler = function ($scope, $) { var $selector = $scope.find('.mf-products-grid'); if (!$selector.hasClass('no-infinite')) { productGridInfinite($selector); } function productGridInfinite($selector) { $(window).on('scroll', function () { if ($selector.hasClass('no-infinite')) { return; } var offSet = 0; if ($selector.is(':in-viewport(' + offSet + ')')) { getProductGridAjax($selector); $selector.addClass('no-infinite'); } }).trigger('scroll'); } function getProductGridAjax($selector) { if (typeof mf_elementor_data === 'undefined') { return; } var dataSettings = $selector.find('.mf-products-grid-loading').data('settings'), ajax_url = mf_elementor_data.ajax_url.toString().replace('%%endpoint%%', 'mf_elementor_get_elements'); $.ajax({ url: ajax_url, dataType: 'json', method: 'post', data: { params: JSON.stringify(dataSettings), element: 'productsGrid' }, success: function (response) { $selector.html(response.data); lazyLoadHandler($selector); $(document.body).trigger('martfury_get_products_ajax_success'); } }); } }; /** * Load Brands */ var productBrandsHandler = function ($scope, $) { // Product Brands Carousel var $selector = $scope.find('.mf-elementor-brands-grid'); getProductBrandCarousel($selector); // Brands Load More productBrandsInfinite($selector); function productBrandsInfinite($selector) { $(window).on('scroll', function () { var offSet = 0; if ($selector.is(':in-viewport(' + offSet + ')')) { $selector.find('.navigation-number a').trigger('click'); } }).trigger('scroll'); $selector.on('click', '.navigation-number a', function (e) { e.preventDefault(); var $el = $(this); if ($el.data('requestRunning')) { return; } $el.data('requestRunning', true); var $pagination = $el.closest('.navigation-number'), $products = $pagination.prev('.product-brands'); $el.addClass('loading'); $.get( $el.attr('href'), function (response) { var $wrapper = $(response).find('.mf-elementor-brands-grid'), content = $wrapper.find('.product-brands').children('.brand-item-wrapper'), $pagination_html = $wrapper.find('.navigation-number').html(); $pagination.html($pagination_html); $products.append(content); lazyLoadHandler(content); getProductBrandCarousel(content.closest('.mf-elementor-brands-grid')); $pagination.find('a') .data('requestRunning', false); $el.removeClass('loading'); } ); }); } function getProductBrandCarousel($selector) { var elementSettings = $selector.data('settings'), slidesToShow = parseInt(elementSettings.slidesToShow), slidesToScroll = parseInt(elementSettings.slidesToScroll); $selector.find('ul.products').not('.slick-initialized').slick({ rtl: $('body').hasClass('rtl'), slidesToShow: slidesToShow, slidesToScroll: slidesToScroll, arrows: true, dots: false, infinite: 'yes' === elementSettings.infinite, prevArrow: '<span class="icon-chevron-left slick-prev-arrow"></span>', nextArrow: '<span class="icon-chevron-right slick-next-arrow"></span>', autoplay: 'yes' === elementSettings.autoplay, autoplaySpeed: parseInt(elementSettings.autoplay_speed), speed: parseInt(elementSettings.speed), responsive: [ { breakpoint: 992, settings: { slidesToShow: slidesToShow > 2 ? 2 : slidesToShow, slidesToScroll: slidesToScroll > 2 ? 2 : slidesToScroll } }, { breakpoint: 480, settings: { slidesToShow: slidesToShow > 1 ? 1 : slidesToShow, slidesToScroll: slidesToScroll > 1 ? 1 : slidesToScroll } } ] }); $selector.on('afterChange', function () { lazyLoadHandler($selector); }); } }; var brandsImagesCarouselHandler = function ($scope, $) { var $selector = $scope.find('.elementor-brand-images-carousel'); var elementSettings = $selector.data('settings'), slidesToShow = parseInt(elementSettings.slidesToShow), slidesToScroll = parseInt(elementSettings.slidesToScroll); $selector.find('.images-list').not('.slick-initialized').slick({ rtl: $('body').hasClass('rtl'), slidesToShow: slidesToShow, slidesToScroll: slidesToScroll, arrows: true, dots: false, infinite: 'yes' === elementSettings.infinite, prevArrow: '<span class="icon-chevron-left slick-prev-arrow"></span>', nextArrow: '<span class="icon-chevron-right slick-next-arrow"></span>', autoplay: 'yes' === elementSettings.autoplay, autoplaySpeed: parseInt(elementSettings.autoplay_speed), speed: parseInt(elementSettings.speed), responsive: [ { breakpoint: 992, settings: { slidesToShow: slidesToShow > 4 ? 4 : slidesToShow, slidesToScroll: slidesToScroll > 4 ? 4 : slidesToScroll } }, { breakpoint: 800, settings: { slidesToShow: slidesToShow > 3 ? 3 : slidesToShow, slidesToScroll: slidesToScroll > 3 ? 3 : slidesToScroll } }, { breakpoint: 600, settings: { slidesToShow: slidesToShow > 2 ? 2 : slidesToShow, slidesToScroll: slidesToScroll > 2 ? 2 : slidesToScroll } }, { breakpoint: 400, settings: { slidesToShow: slidesToShow > 1 ? 1 : slidesToShow, slidesToScroll: slidesToScroll > 1 ? 1 : slidesToScroll } } ] }); $selector.on('afterChange', function () { lazyLoadHandler($selector); }); } /** * Product Tabs Carousel */ var productTabsCarouselHandler = function ($scope, $) { var $selector = $scope.find('.mf-products-tabs-carousel'); if (!$selector.hasClass('no-infinite')) { productTabsCarouselInfinite($selector); } else { getProductsCarouselHandler($selector); productTabsActive($selector); $selector.find('.tabs-nav').on('click', 'a', function (e) { e.preventDefault(); getProductsTabsAJAXHandler($(this), $selector, true); }); } function productTabsCarouselInfinite($selector) { $(window).on('scroll', function () { if ($selector.hasClass('no-infinite')) { return; } var offSet = 0; if ($selector.is(':in-viewport(' + offSet + ')')) { getProductTabsCarouselAjax($selector); $selector.addClass('no-infinite'); } }).trigger('scroll'); } function getProductTabsCarouselAjax($selector) { if (typeof mf_elementor_data === 'undefined') { return; } var dataSettings = $selector.find('.mf-products-tabs-loading').data('settings'), ajax_url = mf_elementor_data.ajax_url.toString().replace('%%endpoint%%', 'mf_elementor_get_elements'); $.ajax({ url: ajax_url, dataType: 'json', method: 'post', data: { params: JSON.stringify(dataSettings), element: 'productsTabsCarousel' }, success: function (response) { $selector.html(response.data); getProductsCarouselHandler($selector); lazyLoadHandler($selector); productTabsActive($selector); $(document.body).trigger('martfury_get_products_ajax_success'); } }); $(document.body).on('martfury_get_products_ajax_success', function () { $selector.find('.slick-slider').slick('setPosition'); }); } }; var productTabsActive = function ($selector) { $selector.find('.tabs-nav').on('click', 'a', function (e) { e.preventDefault(); var $this = $(this), currentTab = $this.data('href'); if ($this.hasClass('active')) { return; } $selector.find('.tabs-nav a').removeClass('active'); $this.addClass('active'); $selector.find('.tabs-panel').removeClass('active'); $selector.find('.tabs-' + currentTab).addClass('active'); $selector.find('.slick-slider').slick('setPosition'); lazyLoadHandler($selector.find('.tabs-' + currentTab)); }); }; /** * Product Tabs Grid */ var productTabsGridHandler = function ($scope, $) { var $selector = $scope.find('.mf-products-tabs-grid'); if (!$selector.hasClass('no-infinite')) { productTabsGridInfinite($selector); } else { productTabsActive($selector); $selector.find('.tabs-nav').on('click', 'a', function (e) { e.preventDefault(); getProductsTabsAJAXHandler($(this), $selector, false); }); } function productTabsGridInfinite($selector) { $(window).on('scroll', function () { if ($selector.hasClass('no-infinite')) { return; } var offSet = 0; if ($selector.is(':in-viewport(' + offSet + ')')) { getProductTabsGridAjax($selector); $selector.addClass('no-infinite'); } }).trigger('scroll'); } function getProductTabsGridAjax($selector) { if (typeof mf_elementor_data === 'undefined') { return; } var dataSettings = $selector.find('.mf-products-tabs-loading').data('settings'), ajax_url = mf_elementor_data.ajax_url.toString().replace('%%endpoint%%', 'mf_elementor_get_elements'); $.ajax({ url: ajax_url, dataType: 'json', method: 'post', data: { params: JSON.stringify(dataSettings), element: 'productsTabsGrid' }, success: function (response) { $selector.html(response.data); lazyLoadHandler($selector); productTabsActive($selector); $(document.body).trigger('martfury_get_products_ajax_success'); } }); } }; /** * Get Product AJAX */ var getProductsTabsAJAXHandler = function ($el, $tabs, carousel) { if (typeof mf_elementor_data === 'undefined') { return; } var tab = $el.data('href'), $content = $tabs.find('.tabs-' + tab); if ($content.hasClass('tab-loaded')) { return; } var data = {}, elementSettings = $content.data('settings'), ajax_url = mf_elementor_data.ajax_url.toString().replace('%%endpoint%%', 'mf_elementor_load_products'); $.each(elementSettings, function (key, value) { data[key] = value; }); $.post( ajax_url, data, function (response) { if (!response) { return; } $content.html(response.data); if (carousel === true) { getProductsCarouselHandler($content.closest('.mf-products-tabs')); } lazyLoadHandler($content); $content.addClass('tab-loaded'); $(document.body).trigger('martfury_get_products_ajax_success'); } ); }; /** * Testimonials Sliders */ var testimonialSlidesHandler = function ($scope, $) { $scope.find('.mf-elementor-testimonial-slides').each(function () { var $selector = $(this), $arrow_wrapper = $(this).find('.arrow-wrapper'), elementSettings = $selector.data('settings'); var options = { rtl: $('body').hasClass('rtl'), slidesToShow: 2, arrows: true, dots: true, infinite: 'yes' === elementSettings.infinite, prevArrow: '<div class="mf-left-arrow"><i class="icon-chevron-left"></i></div>', nextArrow: '<div class="mf-right-arrow"><i class="icon-chevron-right"></i></div>', appendArrows: $arrow_wrapper, autoplay: 'yes' === elementSettings.autoplay, autoplaySpeed: parseInt(elementSettings.autoplay_speed), speed: parseInt(elementSettings.speed), responsive: [ { breakpoint: 480, settings: { slidesToShow: 1, } } ] }; $selector.find('.testimonial-list').not('.slick-initialized').slick(options); $selector.on('afterChange', function () { lazyLoadHandler($selector); }); }); }; /** * Testimonials Sliders */ var testimonialSlides2Handler = function ($scope, $) { $scope.find('.mf-elementor-testimonial-slides-2').each(function () { var $selector = $(this), elementSettings = $selector.data('settings'); var options = { rtl: $('body').hasClass('rtl'), slidesToShow: 1, arrows: false, dots: true, infinite: 'yes' === elementSettings.infinite, autoplay: 'yes' === elementSettings.autoplay, autoplaySpeed: parseInt(elementSettings.autoplay_speed), speed: parseInt(elementSettings.speed), }; $selector.find('.testimonial-list').not('.slick-initialized').slick(options); $selector.on('afterChange', function () { lazyLoadHandler($selector); }); }); }; /** * Partner Sliders */ var partnerSlidesHandler = function ($scope, $) { $scope.find('.martfury-partner-carousel').each(function () { var $selector = $(this), elementSettings = $selector.data('settings'); $selector.find('.list-item').not('.slick-initialized').slick({ rtl: $('body').hasClass('rtl'), slidesToShow: elementSettings.columns, infinite: false, arrows: false, dots: false, autoplay: 'yes' === elementSettings.autoplay, autoplaySpeed: parseInt(elementSettings.autoplay_speed), responsive: [ { breakpoint: 1200, settings: { slidesToShow: parseInt(elementSettings.autoplay_speed) > 4 ? 4 : elementSettings.autoplay_speed } }, { breakpoint: 768, settings: { slidesToShow: 3 } }, { breakpoint: 480, settings: { slidesToShow: 2 } } ] }); $selector.on('afterChange', function () { lazyLoadHandler($selector); }); }); }; var imagesCarouselHandler = function ($scope, $) { $scope.find('.mf-images-gallery--slide').each(function () { var $selector = $(this), elementSettings = $selector.data('settings'), slidesToShow = parseInt(elementSettings.slidesToShow), slidesToScroll = parseInt(elementSettings.slidesToScroll); $selector.find('.images-list').not('.slick-initialized').slick({ rtl: $('body').hasClass('rtl'), slidesToShow: slidesToShow, slidesToScroll: slidesToScroll, arrows: false, dots: 'yes' === elementSettings.dots, infinite: 'yes' === elementSettings.infinite, prevArrow: '<span class="icon-chevron-left slick-prev-arrow"></span>', nextArrow: '<span class="icon-chevron-right slick-next-arrow"></span>', autoplay: 'yes' === elementSettings.autoplay, autoplaySpeed: parseInt(elementSettings.autoplay_speed), speed: parseInt(elementSettings.speed), responsive: [ { breakpoint: 1200, settings: { slidesToShow: slidesToShow > 4 ? 4 : slidesToShow, slidesToScroll: slidesToScroll > 4 ? 4 : slidesToScroll } }, { breakpoint: 992, settings: { slidesToShow: slidesToShow > 3 ? 3 : slidesToShow, slidesToScroll: slidesToScroll > 3 ? 3 : slidesToScroll } }, { breakpoint: 767, settings: { slidesToShow: slidesToShow > 2 ? 2 : slidesToShow, slidesToScroll: slidesToScroll > 2 ? 2 : slidesToScroll } } ] }); $selector.on('afterChange', function () { lazyLoadHandler($selector); }); }); }; var imageBoxCarouselHandler = function ($scope, $) { $scope.find('.martfury-image-box-carousel__wrapper').each(function () { var $selector = $(this), elementSettings = $selector.data('settings'), slidesToShow = parseInt(elementSettings.slidesToShow), slidesToScroll = parseInt(elementSettings.slidesToScroll); $selector.not('.slick-initialized').slick({ rtl: $('body').hasClass('rtl'), slidesToShow: slidesToShow, slidesToScroll: slidesToScroll, arrows: true, dots: true, infinite: 'yes' === elementSettings.infinite, prevArrow: $scope.find('.slick-prev-arrow'), nextArrow: $scope.find('.slick-next-arrow'), autoplay: 'yes' === elementSettings.autoplay, autoplaySpeed: parseInt(elementSettings.autoplay_speed), speed: parseInt(elementSettings.speed), responsive: [ { breakpoint: 1600, settings: { slidesToShow: slidesToShow > 6 ? 6 : slidesToShow, slidesToScroll: slidesToScroll > 6 ? 6 : slidesToScroll } }, { breakpoint: 1366, settings: { slidesToShow: slidesToShow > 5 ? 5 : slidesToShow, slidesToScroll: slidesToScroll > 5 ? 5 : slidesToScroll } }, { breakpoint: 1200, settings: { slidesToShow: slidesToShow > 4 ? 4 : slidesToShow, slidesToScroll: slidesToScroll > 4 ? 4 : slidesToScroll } }, { breakpoint: 992, settings: { slidesToShow: slidesToShow > 3 ? 3 : slidesToShow, slidesToScroll: slidesToScroll > 3 ? 3 : slidesToScroll } }, { breakpoint: 767, settings: { slidesToShow: slidesToShow > 2 ? 2 : slidesToShow, slidesToScroll: slidesToScroll > 2 ? 2 : slidesToScroll } } ] }); $selector.on('afterChange', function () { lazyLoadHandler($selector); }); }); }; /** * Testimonials Sliders */ var journeyHandler = function ($scope, $) { $scope.find('.martfury-journey-els').each(function () { var $el = $(this), $tabs = $el.find('ul li a'), $first = $tabs.filter(':first'), $content = $el.find('.journey-wrapper'), width = $el.find('ul').width(), elementSettings = $el.data('settings'), num = parseInt(elementSettings.number), space, pos, val; if (num == 1) { space = 0; } else { space = (width - 40) / (num - 1); } for (var i = 1; i <= num; i++) { var $this = $('.journey-tab-' + i); if ($('body').hasClass('rtl')) { if ($this.hasClass('reverse')) { pos = 'left'; val = (i - num) * space * -1; } else { pos = 'right'; val = (i - 1) * space; } } else { if ($this.hasClass('reverse')) { pos = 'right'; val = (i - num) * space * -1; } else { pos = 'left'; val = (i - 1) * space; } } $this.css(pos, val); } $first.addClass('active'); $content.filter(':first').addClass('active'); $tabs.on('click', function (e) { e.preventDefault(); var $this = $(this), tab_id = $this.attr('data-tab'); if ($this.hasClass('active')) { return; } $tabs.removeClass('active'); $content.removeClass('active'); $this.addClass('active'); $('#' + tab_id).addClass('active'); }); }); }; var counterHandler = function ($scope, $) { $scope.find('.martfury-counter-els').each(function () { var $selector = $(this); $selector.find('.counter-value').counterUp(); }); }; /** * Product Of Category */ var productsOfCategoryHandler = function ($scope, $) { var $selector = $scope.find('.mf-products-of-category'), elementSettings = $selector.data('settings'); if (!$selector.hasClass('no-infinite')) { productsOfCategoryAJAX($selector, elementSettings); } else { bannersCarousel($selector, elementSettings); } function productsOfCategoryAJAX($selector, elementSettings) { $(window).on('scroll', function () { if ($selector.hasClass('no-infinite')) { return; } var offSet = 0; if ($selector.is(':in-viewport(' + offSet + ')')) { productsOfCatAjax($selector, elementSettings); $selector.addClass('no-infinite'); } }).trigger('scroll'); } function productsOfCatAjax($selector, elementSettings) { if (typeof mf_elementor_data === 'undefined') { return; } var dataSettings = $selector.find('.mf-products-of-category-loading').data('settings'), ajax_url = mf_elementor_data.ajax_url.toString().replace('%%endpoint%%', 'mf_elementor_get_elements'); $.ajax({ url: ajax_url, dataType: 'json', method: 'post', data: { params: JSON.stringify(dataSettings), element: 'productsOfCat' }, success: function (response) { $selector.html(response.data); bannersCarousel($selector, elementSettings); lazyLoadHandler($selector); $(document.body).trigger('martfury_get_products_ajax_success'); } }); } /** * Catagory Banners Carousel */ function bannersCarousel($selector, elementSettings) { $selector.find('.images-list').not('.slick-initialized').slick({ rtl: $('body').hasClass('rtl'), slidesToShow: 1, arrows: 'yes' === elementSettings.arrows, prevArrow: '<span class="icon-chevron-left slick-prev-arrow"></span>', nextArrow: '<span class="icon-chevron-right slick-next-arrow"></span>', infinite: 'yes' === elementSettings.infinite, autoplay: 'yes' === elementSettings.autoplay, autoplaySpeed: parseInt(elementSettings.autoplay_speed), dots: 'yes' === elementSettings.dots, speed: parseInt(elementSettings.speed), }); $selector.on('afterChange', function () { lazyLoadHandler($selector); }); } }; /** * Product Of Category 2 */ var productOfCategory2Handler = function ($scope, $) { var $selector = $scope.find('.mf-products-of-category-2'); if (!$selector.hasClass('no-infinite')) { productsOfCategory2Infinite($selector); } else { bannerCarousel($selector); productCarousel($selector); productTabsActive($selector); } function productsOfCategory2Infinite($selector) { $(window).on('scroll', function () { if ($selector.hasClass('no-infinite')) { return; } var offSet = 0; if ($selector.is(':in-viewport(' + offSet + ')')) { productsOfCat2Ajax($selector); $selector.addClass('no-infinite'); } }).trigger('scroll'); } function productsOfCat2Ajax($selector) { if (typeof mf_elementor_data === 'undefined') { return; } var dataSettings = $selector.find('.mf-products-of-category-loading').data('settings'), ajax_url = mf_elementor_data.ajax_url.toString().replace('%%endpoint%%', 'mf_elementor_get_elements'); $.ajax({ url: ajax_url, dataType: 'json', method: 'post', data: { params: JSON.stringify(dataSettings), element: 'productsOfCat2' }, success: function (response) { $selector.html(response.data); bannerCarousel($selector); productCarousel($selector); lazyLoadHandler($selector); productTabsActive($selector); $(document.body).trigger('martfury_get_products_ajax_success'); } }); } function bannerCarousel($selector) { var $banners = $selector.find('.images-slider'), bannerSettings = $banners.data('settings'); $banners.find('.images-list').not('.slick-initialized').slick({ rtl: $('body').hasClass('rtl'), slidesToShow: 1, arrows: 'yes' === bannerSettings.arrows, dots: false, infinite: 'yes' === bannerSettings.infinite, prevArrow: '<span class="icon-chevron-left slick-prev-arrow"></span>', nextArrow: '<span class="icon-chevron-right slick-next-arrow"></span>', autoplay: 'yes' === bannerSettings.autoplay, autoplaySpeed: parseInt(bannerSettings.autoplay_speed), speed: parseInt(bannerSettings.speed), }); $banners.on('afterChange', function () { lazyLoadHandler($banners); }); } function productCarousel($selector) { var $products = $selector.find('.mf-products-tabs'), productSettings = $products.data('settings'), slidesToShow = parseInt(productSettings.slidesToShow), slidesToScroll = parseInt(productSettings.slidesToScroll); $products.find('ul.products').not('.slick-initialized').slick({ rtl: $('body').hasClass('rtl'), slidesToShow: slidesToShow, slidesToScroll: slidesToScroll, arrows: true, dots: true, infinite: 'yes' === productSettings.infinite, prevArrow: '<span class="icon-chevron-left slick-prev-arrow"></span>', nextArrow: '<span class="icon-chevron-right slick-next-arrow"></span>', autoplay: 'yes' === productSettings.autoplay, autoplaySpeed: parseInt(productSettings.autoplay_speed), speed: parseInt(productSettings.speed), responsive: [ { breakpoint: 1200, settings: { slidesToShow: slidesToShow > 4 ? 4 : slidesToShow, slidesToScroll: slidesToScroll > 4 ? 4 : slidesToScroll } }, { breakpoint: 992, settings: { slidesToShow: slidesToShow > 3 ? 3 : slidesToShow, slidesToScroll: slidesToScroll > 3 ? 3 : slidesToScroll } }, { breakpoint: 767, settings: { slidesToShow: 2, slidesToScroll: 2 } } ] }); $products.on('afterChange', function () { lazyLoadHandler($products); }); $products.find('.tabs-nav').on('click', 'a', function (e) { e.preventDefault(); getProductsTabsAJAXHandler($(this), $products, true); }); } }; /** * Slides Widget * @param $scope * @param $ */ var slideCarouselHandler = function ($scope, $) { $scope.find('.mf-slides-wrapper').each(function () { var $selector = $(this).find('.mf-slides'), elementSettings = $selector.data('slider_options'), $arrow_wrapper = $(this).find('.arrows-inner'), slidesToShow = parseInt(elementSettings.slidesToShow); $selector.not('.slick-initialized').slick({ rtl: $('body').hasClass('rtl'), slidesToShow: slidesToShow, arrows: elementSettings.arrows, appendArrows: $arrow_wrapper, dots: elementSettings.dots, infinite: elementSettings.infinite, prevArrow: '<span class="slick-prev-arrow"><i class="icon-chevron-left"></i></span>', nextArrow: '<span class="slick-next-arrow"><i class="icon-chevron-right"></i></span>', autoplay: elementSettings.autoplay, autoplaySpeed: parseInt(elementSettings.autoplaySpeed), speed: parseInt(elementSettings.speed), pauseOnHover: elementSettings.pauseOnHover, fade: elementSettings.fade, cssEase: elementSettings.fade ? 'linear' : '', responsive: [] }); $selector.imagesLoaded(function () { $selector.closest('.mf-slides-wrapper').removeClass('loading'); }); var animation = $selector.data('animation'); if (animation) { $selector .on('beforeChange', function () { var $sliderContent = $selector.find('.mf-slide-content'), $sliderPriceBox = $selector.find('.mf-slide-price-box'); $sliderContent.removeClass('animated' + ' ' + animation).hide(); $sliderPriceBox.removeClass('animated zoomIn').hide(); }) .on('afterChange', function (event, slick, currentSlide) { var $currentSlide = $(slick.$slides.get(currentSlide)).find('.mf-slide-content'), $currentPriceBox = $(slick.$slides.get(currentSlide)).find('.mf-slide-price-box'); $currentSlide.show().addClass('animated' + ' ' + animation); $currentPriceBox.show().addClass('animated zoomIn'); }); } $selector.on('afterChange', function () { lazyLoadHandler($selector); }); }); }; /** * Elementor JS Hooks */ $(window).on("elementor/frontend/init", function () { // Product Deals Carousel elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-product-deals-carousel.default", productDealsCarouselHandler ); elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-product-deals-carousel.default", countDownHandler ); //Product Deals Grid elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-product-deals-grid.default", countDownHandler ); // Product Deals Carousel 2 elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-product-deals-carousel-2.default", productDealsCarousel2Handler ); // Products of Category elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-products-of-category.default", productsOfCategoryHandler ); // Category Tabs elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-category-tabs.default", categoryTabsCarouselHandler ); elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-category-tabs.default", categoryTabsHandler ); // Products Tabs Carousel elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-product-tabs-carousel.default", productTabsCarouselHandler ); // Products Tabs Grid elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-product-tabs-grid.default", productTabsGridHandler ); // Products List Carousel elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-products-list-carousel.default", productsListCarouselHandler ); // Products Carousel elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-products-carousel.default", productsCarouselHandler ); elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-recently-viewed-products-carousel.default", recentlyViewedProductsCarouselHandler ); // Testimonial elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-testimonial-slides.default", testimonialSlidesHandler ); elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-testimonial-slides-2.default", testimonialSlides2Handler ); // Counter elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-counter.default", counterHandler ); // Journey elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-journey.default", journeyHandler ); // Product Grid elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-products-grid.default", productsGridHandler ); // Product Brand elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-products-brands.default", productBrandsHandler ); // Product Brand Images Carousel elementorFrontend.hooks.addAction( "frontend/element_ready/mf-brand-images-carousel.default", brandsImagesCarouselHandler ); // All widgets ready elementorFrontend.hooks.addAction( "frontend/element_ready/widget", lazyLoadHandler ); elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-countdown.default", countDownHandler ); // Product Of Category 2 elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-products-of-category-2.default", productOfCategory2Handler ); // Partner elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-partner.default", partnerSlidesHandler ); // Image Gallery - Slide elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-images-carousel.default", imagesCarouselHandler ); // Image Box Carousel elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-image-box-carousel.default", imageBoxCarouselHandler ); // Slides elementorFrontend.hooks.addAction( "frontend/element_ready/martfury-slides.default", slideCarouselHandler ); }); }) (jQuery);
💾 Save Changes
❌ Cancel