(function(){ var structure, container; container = document.querySelector(".itcs-widget"); var itcs_site = ("externally_defined_site" in window) ? externally_defined_site : 'https://www.peerspot.com'; structure = '
' + ' ' container.innerHTML = structure; // pixel $('head').append(''); })(); (function() { isItcsProductUrl = function(value) { return /^https?:\/\/(www.)?peerspot.com/i.test(value); }; var title, slidesLength, slidesContainer; slidesContainer = document.querySelector(".itcs-widget .itcs-widget-slider"); //Expects a valid Itcs product url for SEO purpose. In case of invalid url link is discarded. title = document.querySelector("#itcs-widget-title"); if(isItcsProductUrl(itcswidgetconfig.readmore_url)) { title.innerHTML = '' + itcswidgetconfig.title + ''; } else { title.innerHTML = itcswidgetconfig.title; } itcswidgetconfig.content.forEach(function(card) { var element = getFromTemplate(card); slidesContainer.appendChild(element); }); /*========= in: Object out: Element =========*/ function getFromTemplate(data) { var template, element, feedbackUserPhoto, feedbackRating, feedbackUserName, feedBackText, feedBackLink, feedbackTitle, ratingName, maxNameLength, maxTextLength, textValue, userImage, userName, newVal; // INIT TEMPLATE AND ELEMENT template = document.querySelector("#itcs-widget-feedback-template"); element = template.children[0].cloneNode(true); ratingName = data.stars > 0 && "rated-" + data.stars || 'unrated'; // INIT TEMPLATE ELEMENTS function cutText (text, maxLength){ var spacePos, bufVal; if(text.length > maxLength){ if(text.charAt(maxLength - 3) != " "){ bufVal = text.substring(0, maxLength - 3); newVal = bufVal.substring(0, bufVal.lastIndexOf(" ")) + "..."; } else{ newVal = text.substring(0, maxLength - 3) + "..."; } return newVal; } else{ newVal = text; return newVal; } } // CUT FEEDBACK TEXT IF IT'S LENGTH > 140 cutText(data.text, 250) feedbackUserPhoto = element.querySelector('.itcs-widget-feedback__photo'); feedbackRating = element.querySelector(".itcs-widget-feedback__rating"); feedbackUserName = element.querySelector(".itcs-widget-feedback__username"); feedbackTitle = element.querySelector(".itcs-widget-feedback__title-text"); feedBackText = element.querySelector(".itcs-widget-feedback__text"); feedBackLink = element.querySelector(".itcs-widget-feedback__link"); // ASSIGN VALUES FROM DATA-OBJECT TO TEMPLATE ELEMENTS if(data.image_url === false){ feedbackUserPhoto.style.display = "none"; maxNameLength = 40; } else{ feedbackUserPhoto.src = data.image_url; maxNameLength = 35; } console.log(maxNameLength); userName = data.username.length > maxNameLength && data.username.substring(0, maxNameLength - 3) + "..." || data.username; feedbackUserName.textContent = userName; feedBackText.innerHTML = newVal; feedbackTitle.textContent = data.title; // feedBackLink.href = data.url + '?tid=' + 'widget_' + itcswidgetconfig.widget_id; feedBackLink.href = data.url; // ASSIGN RATING WHICH DEPENDS FROM data.stars feedbackRating.classList.add(ratingName.replace('.', '-')); element.onclick = function(){ // window.open((data.url + '?tid=' + 'widget_' + itcswidgetconfig.widget_id), '_blank') window.open(data.url, '_blank'); } return element; } function debounce(func, wait, immediate) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if (!immediate) func.apply(context, args); }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply(context, args); }; }; var hideArrows = debounce(function(){ var maxSlides, curentSlides, arrowLeft, arrowRight; arrowLeft = document.querySelector('.itcs-widget-slider__left'); arrowRight = document.querySelector('.itcs-widget-slider__right'); curentSlides = document.querySelectorAll('.itcs-widget-item').length; maxSlides = 2; if(curentSlides <= maxSlides){ arrowLeft.style.visibility = "hidden"; arrowRight.style.visibility = "hidden"; } else{ arrowLeft.style.visibility = "visible"; arrowRight.style.visibility = "visible"; } if (window.matchMedia("(min-width: 768px)").matches) { maxSlides = 3; if(curentSlides <= maxSlides){ arrowLeft.style.visibility = "hidden"; arrowRight.style.visibility = "hidden"; } else{ arrowLeft.style.visibility = "visible"; arrowRight.style.visibility = "visible"; } } if (window.matchMedia("(min-width: 992px)").matches) { maxSlides = 3; if(curentSlides <= maxSlides){ arrowLeft.style.visibility = "hidden"; arrowRight.style.visibility = "hidden"; } else{ arrowLeft.style.visibility = "visible"; arrowRight.style.visibility = "visible"; } } if (window.matchMedia("(min-width: 1200px)").matches) { maxSlides = 4; if(curentSlides <= maxSlides){ arrowLeft.style.visibility = "hidden"; arrowRight.style.visibility = "hidden"; } else{ arrowLeft.style.visibility = "visible"; arrowRight.style.visibility = "visible"; } } }, 200); hideArrows(); window.addEventListener('resize', hideArrows); // Ensure every snippet block height matches height of the tallest snippet var setSnippetHeight = debounce(function() { var articles = $('.itcs-widget-feedback'), heights, max_height; // itcs-widget-feedback is the full review element articles.height(''); // Need to clear all heights so we don't use manually-set heights (as set by the .height() function) heights = articles.map(function() { return $(this).height(); }); max_height = Math.max.apply(null, heights); articles.height(max_height); }, 50); setSnippetHeight(); $(window).resize(setSnippetHeight); })(); // SLIDER INIT (function(){ $('.itcs-widget-responsive').slick({ dots: true, infinite: false, speed: 300, slidesToShow: 3, slidesToScroll: 3, prevArrow: $('#itcs-widget-slider__left'), nextArrow: $('#itcs-widget-slider__right'), responsive: [ { breakpoint: 1200, settings: { slidesToShow: 2, slidesToScroll: 2 } }, { breakpoint: 992, settings: { slidesToShow: 2, slidesToScroll: 2 } }, { breakpoint: 768, settings: { slidesToShow: 2, slidesToScroll: 2 } }, { breakpoint: 685, settings: { slidesToShow: 1, slidesToScroll: 1, infinite: false } } ] }); })();