1document.addEventListener("DOMContentLoaded",()=>{const S="https://www.klantenvertellen.nl/v1/publication/review/external/group?groupId=868&limit=3",m=document.querySelectorAll(".mnt-reviews-wrapper.latest-reviews");function C(){m.forEach(e=>{const r=e.querySelector(".loading-spinner"),n=e.querySelector(".mnt-review-items"),a=e.querySelector(".mnt-secondary-button"),t=e.querySelector(".klantenvertellen-container");r.style.display="block",n.style.display="none",t.style.display="none",a.style.display="none"})}function b(){m.forEach(e=>{const r=e.querySelector(".loading-spinner"),n=e.querySelector(".mnt-review-items"),a=e.querySelector(".klantenvertellen-container"),t=e.querySelector(".mnt-secondary-button");a.style.display="flex",r.style.display="none",t.style.display="inline-flex",n.style.display="flex"})}function L(e,r){if(e<6||e>10)return;let n=0,a=0;e>=9.5?n=5:(n=Math.floor(e)*.5,a=5-n);for(let t=1;t<=n;t++){let i=document.createElement("img");i.src="/files/full-star.svg",i.alt="full star",r.appendChild(i)}if(n%1>=.5&&n<5){let t=document.createElement("img");t.src="/files/half-star.svg",t.alt="half star",r.appendChild(t)}if(a>=1)for(let t=1;t<=a;t++){let i=document.createElement("img");i.src="/files/empty-star.svg",i.alt="empty star",r.appendChild(i)}}async function k(e){const r={method:"GET",headers:{"X-Publication-Api-Token":e}};try{return await(await fetch(S,r)).json()}catch(n){console.error(`Error fetching data from API -> ${n.message}`)}}(function(e,r){function n(a){var t=r.Deferred();return shell.getTokenDeferred().done(function(i){a.headers?a.headers.__RequestVerificationToken=i:r.extend(a,{headers:{__RequestVerificationToken:i}}),r.ajax(a).done(function(o,u,p){validateLoginSession(o,u,p,t.resolve)}).fail(t.reject)}).fail(function(){t.rejectWith(this,arguments)}),t.promise()}e.safeAjax=n})(window.webapi=window.webapi||{},jQuery),webapi.safeAjax({type:"GET",url:"/_api/environmentvariabledefinitions?$select=defaultvalue&$filter=schemaname eq 'mnt_klantenvertellenOverallRating'",contentType:"application/json",headers:{Prefer:"odata.include-annotations=*,odata.maxpagesize=1"},success:function(e){const r=e?.value[0]?.defaultvalue,n=e?.value[0]?.environmentvariabledefinition_environmentvariablevalue?.[0]?.value||r;C(),m.forEach(a=>{const t=a.querySelector(".mnt-reviews-total-klantenvertellen-score-label"),i=a.querySelector(".mnt-review-items"),o=document.getElementById("klantenvertellen-overview"),u=document.getElementById("recommendations-percent"),p=document.getElementById("reviews-number");k(n).then(q=>{const{reviews:x,viewReviewUrl:I,averageRating:N,recommendation:T,numberReviews:R}=q;o.href=I,u.textContent=`${T}%`,t.textContent=N.toLocaleString("nl-NL"),p.textContent=R.toLocaleString("nl-NL"),x.forEach(l=>{const A=l?.rating,s=document.createElement("article");s.className="mnt-review-item";const f=document.createElement("div");f.className="mnt-stars-container";const v=document.createElement("p");v.className="mnt-review-item-title";const h=document.createElement("p");h.className="mnt-review-item-text",L(A,f),l?.reviewContent.forEach(_=>{const{questionGroup:E,rating:d}=_;E==="DEFAULT_ONELINER"&&(v.textContent=d),E==="DEFAULT_OPINION"&&(h.innerHTML=d.length>180?`${d.slice(0,180)}... <a target="_blank" href=${o}><b>Lees meer</b></a>`:d)});const c=document.createElement("div"),y=document.createElement("div"),g=document.createElement("div");g.innerHTML=`Cijfer: ${l?.rating}`,g.className="mnt-review-item-grade";const w=document.createElement("p");w.className="mnt-review-item-author-location",w.innerHTML=`${l?.reviewAuthor.trim().split(" ")[0]}, ${l?.city.trim()}`,c.appendChild(f),c.appendChild(v),c.appendChild(h),y.appendChild(g),y.appendChild(w),s.append(c),s.appendChild(y),i.appendChild(s)}),b()})})}})});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.