jQuery(document).ready(function () { // var columnsSlides = jQuery(".njt-reviews-carousel-column").data("column"); // var carouselAutoplay= jQuery(".njt-google-places-reviews-wap").data("carousel-autoplay"); // var carouselAutoplaySpeed = jQuery(".njt-google-places-reviews-shortcode .njt-google-places-reviews-wap").data("carousel-speed"); jQuery('.btn-reivew').click(function() { jQuery(this).data('clicked',!jQuery(this).data('clicked')); if (jQuery(this).data('clicked')) { var id = jQuery(this).data("id"); jQuery(this).text(njt_ggreviews.read_less); jQuery("#" + id + " .review-item-long").show(); jQuery("#" + id + " .review-item-short").hide(); } else { var id = jQuery(this).data("id"); jQuery(this).text(njt_ggreviews.read_more); jQuery("#" + id + " .review-item-long").hide(); jQuery("#" + id + " .review-item-short").show(); } }); jQuery(".njt-google-places-reviews-wap[data-id]").each(function (index) { var thisElement = this; var columnsSlides = jQuery(thisElement) .find(".njt-reviews-carousel-column") .data("column"); var carouselAutoplay = jQuery(thisElement).data("carousel-autoplay"); var carouselAutoplaySpeed = jQuery(thisElement).data("carousel-speed"); var getDir = jQuery('html').attr('dir'); var setDir = false if(getDir == 'rtl') { setDir = true; } if(jQuery('.njt-reviews-carousel-wrap').length > 0) { jQuery(thisElement) .find(".njt-reviews-carousel-wrap") .slick({ rtl: setDir, show: 1, slidesToShow: columnsSlides, slidesToScroll: columnsSlides, responsive: [ { breakpoint: 600, settings: { slidesToShow: 1, slidesToScroll: 1, }, }, ], prevArrow: '
', nextArrow: '
', dots: false, autoplay: carouselAutoplay == true ? true : false, autoplaySpeed: carouselAutoplaySpeed ? Number(carouselAutoplaySpeed) : 3000, }); } }); // jQuery(".njt-reviews-carousel-wrap").slick({ // show: 1, // slidesToShow: columnsSlides, // slidesToScroll: columnsSlides, // prevArrow: '
', // nextArrow: '
', // dots: false, // autoplay: carouselAutoplay == true ? true : false, // autoplaySpeed: carouselAutoplaySpeed ? Number(carouselAutoplaySpeed) : 3000 // }); /* handle show side model when click on badge*/ const BADGE = ".njt-google-places-reviews.njt-google-places-reviews-wap.njt-badge" const MODAL = ".njt-review-badge-modal" const WIDGET = ".widget.njt-google-places-reviews .njt-google-places-reviews-wap" let selectedBadge = undefined let ratingElement = undefined let avatar = undefined let titleText = undefined let googleActionsData = undefined function cleanUpBadgeModalData() { selectedBadge = undefined ratingElement = undefined avatar = undefined title = undefined googleActionsData = undefined } jQuery(`${BADGE}, ${WIDGET}`).click(function (event) { jQuery(MODAL).css("display", "flex") selectedBadge = jQuery(event.currentTarget) avatar = selectedBadge.find('.njt-header-image img') jQuery(`${MODAL}__header-image`).html(avatar.clone()) titleText = selectedBadge.find('.njt-header-title a').text() jQuery(`${MODAL}__header-title`).html(`${titleText}`) ratingElement = selectedBadge.find('.njt-rating-container') jQuery(`${MODAL}__header-title`).append(ratingElement.clone()) let reviews = selectedBadge.find('.njt-header').attr('google-reviews') reviews = JSON.parse(reviews) jQuery(`${MODAL}__content`).empty() reviews.forEach((review) => { jQuery(`${MODAL}__content`).append(createReview(review)) }) googleActionsData = selectedBadge.find('.njt-header').data('google-actions'); if (googleActionsData) { jQuery(`${MODAL}__content`).append('
'); if (googleActionsData.googlePlusPage && googleActionsData.btnSeeAllReviewsLabel) { jQuery(`${MODAL}__content .njt-google-action-container`).append( `${googleActionsData.btnSeeAllReviewsLabel}
` ); } if (googleActionsData.locationId && googleActionsData.btnWriteAReviewLabel) { jQuery(`${MODAL}__content .njt-google-action-container`).append( `${googleActionsData.btnWriteAReviewLabel}
` ); } } cleanUpBadgeModalData() }); function createReview(review) { let r = "" r += '
\n' r += '
\n' r += ` ${review.authorName}\n` r += '
\n' r += '
\n' r += '
\n' r += ` ${review.authorName}\n` r += '
\n' r += '
\n' r += ` ${review.time}\n` r += '
\n' r += hydrateRatingStars(review.rating) r += hydrateReviewText(review) r += '
\n' r += '
\n' return r; } function hydrateRatingStars(rating) { if (isNaN(rating)) return '' const ratingPercent = parseInt(rating) * 10 * 2 return `
\n` } function hydrateReviewText(review) { let result = `
${truncateReviewText(review.reviewText)} ${review.reviewText} ` if (isLongText(review.reviewText)) { result += ` Read more Read less ` } return result } jQuery(document.body).on('click', '.njt-btn-read-more-badge-review', function (event) { event.preventDefault(); event.stopPropagation(); const reviewId = jQuery(this).data('review_id'); jQuery(`#njt-review-text-${reviewId}`).find('.njt-short-text').css('display', 'none') jQuery(`#njt-review-text-${reviewId}`).find('.njt-full-text').css('display', 'unset') jQuery(this).css('display', 'none') jQuery(this).next().css('display', 'unset') }); jQuery(document.body).on('click', '.njt-btn-read-less-badge-review', function (event) { event.preventDefault(); event.stopPropagation(); const reviewId = jQuery(this).data('review_id'); jQuery(`#njt-review-text-${reviewId}`).find('.njt-short-text').css('display', 'unset') jQuery(`#njt-review-text-${reviewId}`).find('.njt-full-text').css('display', 'none') jQuery(this).css('display', 'none') jQuery(this).prev().css('display', 'unset').css('display', 'unset') }); const SHORT_REVIEW_LENGTH = 50 function truncateReviewText(str){ return isLongText(str) ? (str.slice(0, SHORT_REVIEW_LENGTH-1) + '…') : str; }; function isLongText(text) { return text.length > SHORT_REVIEW_LENGTH } jQuery(`${MODAL}__close-btn`).click(function () { jQuery(MODAL).css("display", "none"); }); /* ===================/=================== */ });