????
Current Path : /home/multihiv/www/store/wp-content/themes/js/scripts/wc/ |
Current File : //home/multihiv/www/store/wp-content/themes/js/scripts/wc/productReviews.js |
/* global woodmart_settings */ (function($) { woodmartThemeModule.singleProdReviews = function() { let $reviewsTab = $('#reviews'); function getSelectedStars() { let $activeStarRating = $('.wd-rating-summary-cont').find('.wd-active'); if ( $activeStarRating.length > 0 ) { return $activeStarRating.find('.wd-rating-label').data('rating').toString(); } return ''; } function reloadReviewsWithAjax( clear = false, loaderForSummaryWrap = false ) { let $commentList = $('.commentlist'); let attr = $commentList.length > 0 ? $commentList.data('reviews-columns') : {}; let animationTime = 50; let data = { action : 'woodmart_filter_review', rating : getSelectedStars(), product_id : $reviewsTab.data('product-id'), order_by : 0 < $reviewsTab.find(".wd-reviews-sorting-select :checked").length ? $reviewsTab.find(".wd-reviews-sorting-select :checked").val() : 'newest', only_images :$('#wd-with-image-checkbox').is(":checked"), summary_criteria_ids: woodmart_settings.summary_criteria_ids, } if ( attr.hasOwnProperty('reviews_columns') ) { data.reviews_columns = attr.reviews_columns; } if ( attr.hasOwnProperty('reviews_columns_tablet') ) { data.reviews_columns_tablet = attr.reviews_columns_tablet; } if ( attr.hasOwnProperty('reviews_columns_mobile') ) { data.reviews_columns_mobile = attr.reviews_columns_mobile; } if ( clear ) { data['rating'] = ''; data['only_images'] = false; } $.ajax({ url : woodmart_settings.ajaxurl, method : 'GET', data, beforeSend: function() { let $commentList = $reviewsTab.find('#comments .commentlist'); $reviewsTab.find('#comments .wd-loader-overlay').addClass('wd-loading'); if ( loaderForSummaryWrap ) { $reviewsTab.find('.wd-rating-summary-wrap .wd-loader-overlay').addClass('wd-loading'); } $commentList.removeClass('wd-active'); $commentList.removeClass('wd-in'); }, complete: function() { $reviewsTab.find('#comments .wd-loader-overlay').removeClass('wd-loading'); if ( loaderForSummaryWrap ) { $reviewsTab.find('.wd-rating-summary-wrap .wd-loader-overlay').removeClass('wd-loading'); } setTimeout(function() { $reviewsTab.find('#comments .commentlist').addClass('wd-active'); }, animationTime); setTimeout(function() { $reviewsTab.find('#comments .commentlist').addClass('wd-in'); }, animationTime * 2); }, success: function( response ) { if ( ! data.rating ?? ! data.only_images ) { $('.wd-reviews-sorting-clear').addClass('wd-hide'); } if ( response.title ) { $reviewsTab .find('.woocommerce-Reviews-title') .html( response.title ); } $(document).trigger('woodmart_reviews_sorting_clear', data ); if ( response.content ) { $reviewsTab .find('#comments .wd-reviews-content') .html( response.content ); } if ( woodmartThemeModule.hasOwnProperty( 'photoswipeImages' ) && 'function' === typeof woodmartThemeModule.photoswipeImages ) { woodmartThemeModule.photoswipeImages(); } }, error: function( request ) { console.error( request ); } }); } $reviewsTab .on( 'click', '.wd-rating-summary-item',function () { if ( ! woodmart_settings.is_rating_summary_filter_enabled || $(this).hasClass( 'wd-empty' ) ) { return; } $(this).siblings().removeClass('wd-active'); $(this).toggleClass('wd-active'); let selectedStars = getSelectedStars(); $(document).on('woodmart_reviews_sorting_clear', function( e, data ) { if ( selectedStars ) { $('.wd-reviews-sorting-clear').removeClass('wd-hide'); } else { $('.wd-reviews-sorting-clear').addClass('wd-hide'); } }); reloadReviewsWithAjax( false, true ); }) .on( 'click', '.wd-reviews-sorting-clear', function(e) { e.preventDefault(); $('.wd-rating-summary-item').each(function (){ $(this).removeClass('wd-active'); }); $(document).on('woodmart_reviews_sorting_clear', function( e, data ) { $('.wd-reviews-sorting-clear').addClass('wd-hide'); }); $('#wd-with-image-checkbox').prop( "checked", false ); reloadReviewsWithAjax( true, true ); }) .on( 'click', '#wd-with-image-checkbox', function() { let checked = $(this).is(":checked"); $(document).on('woodmart_reviews_sorting_clear', function( e, data ) { if ( checked ) { $('.wd-reviews-sorting-clear').removeClass('wd-hide'); } else if ( 0 === data.rating.length ) { $('.wd-reviews-sorting-clear').addClass('wd-hide'); } }); reloadReviewsWithAjax(); }) .on( 'change', '.wd-reviews-sorting-select', function() { reloadReviewsWithAjax(); }); }; $(document).ready(function() { woodmartThemeModule.singleProdReviews(); }); })(jQuery);