????
Current Path : /home/multihiv/www/store/wp-content/themes/js/scripts/wc/ |
Current File : //home/multihiv/www/store/wp-content/themes/js/scripts/wc/productsTabs.js |
/* global woodmart_settings */ (function($) { $.each([ 'frontend/element_ready/wd_products_tabs.default' ], function(index, value) { woodmartThemeModule.wdElementorAddAction(value, function() { woodmartThemeModule.productsTabs(); }); }); woodmartThemeModule.productsTabs = function() { var process = false; $('.wd-products-tabs').each(function() { var $this = $(this); var $inner = $this.find('.wd-tab-content-wrapper'); var cache = []; var $cloneContent = $inner.find('.wd-products-element').clone().removeClass('wd-active wd-in'); if ( $cloneContent.find('.wd-carousel') ) { $cloneContent.find('.wd-carousel').removeClass('wd-initialized'); } cache[0] = { html: $cloneContent.prop('outerHTML') }; $this.find('.products-tabs-title li').on('click', function(e) { e.preventDefault(); var $this = $(this), atts = $this.data('atts'), index = $this.index(); if (process || $this.hasClass('wd-active')) { return; } process = true; $inner.find('.wd-products-element').removeClass('wd-in'); setTimeout(function() { $inner.find('.wd-products-element').addClass('wd-active'); }, 100); loadTab(atts, index, $inner, $this, cache, function(data) { if (data.html) { woodmartThemeModule.removeDuplicatedStylesFromHTML(data.html, function(html) { $inner.find('.wd-products-element').replaceWith(html); $inner.find('.wd-products-element').addClass('wd-active'); setTimeout(function() { $inner.find('.wd-products-element').addClass('wd-in'); woodmartThemeModule.$document.trigger('wdProductsTabsLoaded'); woodmartThemeModule.$document.trigger('wood-images-loaded'); }, 200); $this.removeClass('loading'); }); } }); }); setTimeout(function() { $this.addClass( 'wd-inited' ); }, 200); }); var loadTab = function(atts, index, holder, btn, cache, callback) { var $loader = holder.find('> .wd-sticky-loader'); btn.parent().find('.wd-active').removeClass('wd-active'); btn.addClass('wd-active'); if (cache[index]) { setTimeout(function() { process = false; callback(cache[index]); }, 300); return; } $loader.addClass('wd-loading'); btn.addClass('loading'); $.ajax({ url : woodmart_settings.ajaxurl, data : { atts : atts, action: 'woodmart_get_products_tab_shortcode' }, dataType: 'json', method : 'POST', success : function(data) { process = false; cache[index] = data; callback(data); }, error : function() { console.log('ajax error'); }, complete: function() { process = false; $loader.removeClass('wd-loading'); } }); }; }; $(document).ready(function() { woodmartThemeModule.productsTabs(); }); })(jQuery);