var reviewwidget = document.getElementsByClassName('tl-kandidaten-widget-lijst')[0]; // eerste script blok opzoeken var reviewwidgetcustom = document.getElementsByClassName('tl-kandidaten-widget-lijst-custom')[0]; // eerste script blok opzoeken var kandidaatwidget = document.getElementsByClassName('tl-kandidaten-widget-kandidaat-custom')[0]; if(kandidaatwidget){ console.log("Kandidaatwidget: bestaat."); var $id = ''; if(window.location.hash) { var $id = window.location.hash.substring(1); } if($id == ''){ console.log("Kandidaatwidget: ERROR: geen id bekend. Widget kandidaat wordt niet gegenereerd."); }else{ var $url = 'https://www.mensrel.nl/widget/data/json/kandidaat.php?id='+$id; var xhr = new XMLHttpRequest(); xhr.open('GET', $url, true); xhr.responseType = 'json'; xhr.onload = function() { var status = xhr.status; if (status === 200) { data = xhr.response; kandidaatwidget.getElementsByClassName('naam')[0].innerHTML = data.naam; kandidaatwidget.getElementsByClassName('leeftijd')[0].innerHTML = data.leeftijd; kandidaatwidget.getElementsByClassName('regio')[0].innerHTML = data.regio; kandidaatwidget.getElementsByClassName('advertentieTekst')[0].innerHTML = data.advertentieTekst; kandidaatwidget.getElementsByClassName('formulier')[0].innerHTML = data.formulier; if(kandidaatwidget.dataset.bedankpagina){ kandidaatwidget.getElementsByClassName('formulier')[0].getElementsByClassName('bedankpagina')[0].value = kandidaatwidget.dataset.bedankpagina; }else{ alert('bedanktpagina:'+kandidaatwidget.dataset.bedankpagina); } var script = document.createElement('script'); script.onload = function () { //alert('formulier.js geladen'); }; script.src = 'https://www.mensrel.nl/widget/js/reageer/formulier.js'; document.head.appendChild(script); } else { //callback(status, xhr.response); } }; xhr.send(); } } //reviewwidget.dataset.pagina //reviewwidget.dataset.aantal //reviewwidget.dataset.mincijfer function kandidaatPreview($id){ console.log("aanroep functie kandidaatPreview voor id "+$id); verwijderKandidaatInfo(); var elemDiv = document.createElement('div'); elemDiv.classList.add('kandidaatInfo'); //elemDiv.style.cssText = 'width:90%;height:90%;overflow:scroll;background:rgb(192,192,192);position:fixed;top:50%;left:50%;transform: translate(-50%, -50%);'; elemDiv.innerHTML = '
Sluiten
Info over kandidaat '+$id+'
'; document.body.appendChild(elemDiv); var widgetHtmlCode = httpGet("https://www.mensrel.nl/widget/kandidaatPreview.php?id="+$id,'kandidaatInfoBody'); } function kandidatenReactieFormulierVerwerk(form){ alert("form kandidatenReactieFormulierVerwerk()"); //function sendData() { const XHR = new XMLHttpRequest(); // Bind the FormData object and the form element const FD = new FormData( form ); // Define what happens on successful data submission XHR.addEventListener( "load", function(event) { // formulier vervangen door response console.log("formulier goed kunnen verzenden."); form.parentElement.innerHTML = event.target.responseText; } ); // Define what happens in case of error XHR.addEventListener( "error", function( event ) { alert( 'Oops! Something went wrong.' ); } ); // Set up our request XHR.open( "POST", "https://www.mensrel.nl/widget/html/form/" ); // The data sent is what the user provided in the form XHR.send( FD ); } function toonReactieFormulier(){ console.log("aanroep toonReactieFormulier()"); const elements = document.getElementsByClassName('kandidaatInfoDetails'); elements[0].parentNode.removeChild(elements[0]); const elementsR = document.getElementsByClassName('reactieFormulier'); elementsR[0].style.display = "block"; } function verwijderKandidaatInfo(){ console.log("aanroep verwijderKandidaatInfo"); const elements = document.getElementsByClassName('kandidaatInfo'); while(elements.length > 0){ elements[0].parentNode.removeChild(elements[0]); } } function zoek(){ //alert('zoeen...'); var e = document.getElementById("zoekenGeslacht"); reviewwidget.dataset.geslacht = e.value; reviewwidget.dataset.pagina = 1; laadLijst(); } function laadLijst(){ console.log("laadLijst"); var widgetHtmlCode = httpGet("https://www.mensrel.nl/widget/html/?soort="+reviewwidget.dataset.soort+"&pagina="+reviewwidget.dataset.pagina+"&geslacht="+reviewwidget.dataset.geslacht+"&formulierTonen="+reviewwidget.dataset.formulierTonen,'tl-kandidaten-widget-lijst'); } function ready(callback){ // in case the document is already rendered if (document.readyState!='loading') callback(); // modern browsers else if (document.addEventListener) document.addEventListener('DOMContentLoaded', callback); // IE <= 8 else document.attachEvent('onreadystatechange', function(){ if (document.readyState=='complete') callback(); }); } var getJSON = function(reviewwidgetcustomItem,callback) { var url = 'https://www.mensrel.nl/widget/data/json/'+objectNaarFiltersParams(reviewwidgetcustomItem); var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'json'; xhr.onload = function() { var status = xhr.status; if (status === 200) { callback(null, xhr.response); } else { callback(status, xhr.response); } }; xhr.send(); }; var reviewwidgetcustom; // $obj = html object // vars geset in data- labels //
// // - pagina: [nummer] // - aantal: [nummer] // - geslacht: ['vrouw','man'] // - formulierTonen: ['1','0'] // function objectNaarFiltersParams($obj){ return "?siteId="+$obj.dataset.siteid+"&aantal="+$obj.dataset.aantal+"&maxKaraktersOmschrijving="+$obj.dataset.maxkaraktersomschrijving+"&soort="+$obj.dataset.soort+"&pagina="+$obj.dataset.pagina+"&geslacht="+$obj.dataset.geslacht+"&formulierTonen="+$obj.dataset.formulierTonen; } var reviewwidgetcustoms = document.getElementsByClassName('tl-kandidaten-widget-lijst-custom'); // eerste script blok opzoeken Array.prototype.forEach.call(reviewwidgetcustoms, function(reviewwidgetcustomItem) { // Do stuff here //console.log(el.tagName); console.log("Kandidaatwidgetlijst: vullen."); getJSON(reviewwidgetcustomItem, function(err, data) { //console.log(data); //console.log(data[0].naam); if (err !== null) { alert('Something went wrong: ' + err); } else { //var reviewwidgetcustom = document.getElementsByClassName('tl-kandidaten-widget-lijst-custom'); //console.log("aantal divs:"+reviewwidgetcustom.length); //for(var i=0; i< reviewwidgetcustom.length; i++) { $aantalTonen = reviewwidgetcustomItem.dataset.aantal; if($aantalTonen > data.length) $aantalTonen = data.length; //reviewwidget.dataset.pagina console.log("Kandidaatwidgetlijst: lijst-item aanmaken en vullen:"+reviewwidgetcustomItem.dataset.aantal); // opzoeken de lijst-item const node = reviewwidgetcustomItem.getElementsByClassName('lijst-item')[0]; for(j=0;j<$aantalTonen;j++){ console.log("Kandidaatwidgetlijst: tonen: "+(j+1)); //console.log(node); const clone = node.cloneNode(true); //console.log(clone.getElementsByClassName('naam')[0]); //console.log('aantal naam-velden in clone:'+clone.getElementsByClassName('naam').length); //console.log('innetHtml naam-velden in clone:'+clone.getElementsByClassName('naam')[0].innerHTML); clone.getElementsByClassName('naam')[0].innerHTML = data[j].naam; clone.getElementsByClassName('leeftijd')[0].innerHTML = data[j].leeftijd; clone.getElementsByClassName('regio')[0].innerHTML = data[j].regio; clone.getElementsByClassName('advertentieTekst')[0].innerHTML = data[j].advertentieTekst; if(data[j].labelIpvLink != null){ clone.getElementsByClassName('reactieLinkMR')[0].getElementsByClassName('link-verder-adv')[0].innerHTML = data[j].labelIpvLink; var div = document.createElement("div"); div.innerHTML = clone.getElementsByClassName('reactieLinkMR')[0].innerHTML; clone.getElementsByClassName('reactieLinkMR')[0].replaceWith(div); }else{ clone.getElementsByClassName('reactieLinkMR')[0].href = clone.getElementsByClassName('reactieLinkMR')[0].href+data[j].id; } clone.getElementsByClassName('naam')[0].classList.remove('cloon'); //console.log(clone); reviewwidgetcustomItem.appendChild(clone); } console.log('Kandidaatwidgetlijst: einde van generering lijst'); node.style.display='none'; console.log('Kandidaatwidgetlijst: voorbeeld node.display op none geset'); } }); }); //var jsonUrl = 'https://www.mens-en-relatie.nl/widget/data/json/'+objectNaarFiltersParams(reviewwidgetcustom); ready(function(){ //laadLijst(); //console.log("Is er een custom?"); if(reviewwidgetcustom){ //console.log("Ja"); } }); function pagina($p){ //$("#reisgraag-reviews").attr("data-pagina",$p); console.log("Wijzigen var p naar "+$p); reviewwidget.dataset.pagina=$p; laadLijst(); } function httpGet(theUrl,$className){ if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { var reviewwidget = document.getElementsByClassName($className)[0]; reviewwidget.innerHTML = xmlhttp.responseText; } } xmlhttp.open("GET", theUrl, true ); xmlhttp.send(); }