File "accordion.js"
Full Path: /home/ycoalition/public_html/blog/wp-content/themes/woodmart/js/scripts/elements/accordion.js
File size: 3.71 KB
MIME-type: text/plain
Charset: utf-8
(function($) {
$.each([
'frontend/element_ready/wd_accordion.default',
'frontend/element_ready/wd_single_product_tabs.default',
'frontend/element_ready/wd_single_product_reviews.default'
], function(index, value) {
woodmartThemeModule.wdElementorAddAction(value, function($wrapper) {
woodmartThemeModule.accordion();
$('.wc-tabs-wrapper, .woocommerce-tabs').trigger('init');
$wrapper.find('#rating').parent().find('> .stars').remove();
$wrapper.find('#rating').trigger('init');
});
});
woodmartThemeModule.accordion = function() {
var hash = window.location.hash;
var url = window.location.href;
// Single product.
$('.woocommerce-review-link').on('click', function() {
$('.tabs-layout-accordion .wd-accordion-title.tab-title-reviews:not(.active)').click();
});
// Element.
$('.wd-accordion').each(function() {
var $wrapper = $(this);
var $tabTitles = $wrapper.find('> .wd-accordion-item > .wd-accordion-title');
var $tabContents = $wrapper.find('> .wd-accordion-item > .wd-accordion-content');
var activeClass = 'wd-active';
var state = $wrapper.data('state');
var time = 300;
if ($wrapper.hasClass('wd-inited')) {
return;
}
var isTabActive = function(tabIndex) {
return $tabTitles.filter('[data-accordion-index="' + tabIndex + '"]').hasClass(activeClass);
};
var activateTab = function(tabIndex) {
var $requestedTitle = $tabTitles.filter('[data-accordion-index="' + tabIndex + '"]');
var $requestedContent = $tabContents.filter('[data-accordion-index="' + tabIndex + '"]');
$requestedTitle.addClass(activeClass);
$requestedContent.stop(true, true).slideDown(time).addClass(activeClass);
if ('first' === state && !$wrapper.hasClass('wd-inited')) {
$requestedContent.stop(true, true).show().css('display', 'block');
}
$wrapper.addClass('wd-inited');
woodmartThemeModule.$document.trigger('resize.vcRowBehaviour');
woodmartThemeModule.$document.trigger('wood-images-loaded');
};
var deactivateActiveTab = function() {
var $activeTitle = $tabTitles.filter('.' + activeClass);
var $activeContent = $tabContents.filter('.' + activeClass);
$activeTitle.removeClass(activeClass);
$activeContent.stop(true, true).slideUp(time).removeClass(activeClass);
};
var getFirstTabIndex = function() {
return $tabTitles.first().data('accordion-index');
};
if ('first' === state) {
activateTab(getFirstTabIndex());
}
$tabTitles.off('click').on('click', function() {
var $this = $(this);
var tabIndex = $(this).data('accordion-index');
var isActiveTab = isTabActive(tabIndex);
var currentIndex = $this.parent().index();
var oldIndex = $this.parent().siblings().find('.wd-active').parent('.wd-tab-wrapper').index();
if ($this.hasClass('wd-active') || currentIndex === -1) {
oldIndex = currentIndex;
}
if (isActiveTab) {
deactivateActiveTab();
} else {
deactivateActiveTab();
activateTab(tabIndex);
}
if ($this.parents('.tabs-layout-accordion')) {
setTimeout(function() {
if (woodmartThemeModule.$window.width() < 1024 && currentIndex > oldIndex) {
var $header = $('.sticky-header');
var headerHeight = $header.length > 0 ? $header.outerHeight() : 0;
$('html, body').animate({
scrollTop: $this.offset().top - $this.outerHeight() - headerHeight - 50
}, 500);
}
}, time);
}
});
if (hash.toLowerCase().indexOf('comment-') >= 0 || hash === '#reviews' || hash === '#tab-reviews' || url.indexOf('comment-page-') > 0 || url.indexOf('cpage=') > 0) {
$wrapper.find('.tab-title-reviews').trigger('click');
}
});
};
$(document).ready(function() {
woodmartThemeModule.accordion();
});
})(jQuery);