{"version":3,"file":"/scripts/ajax-filter.js","mappings":"8EACA,MAAMA,EAAcC,KAAAA,MAAWC,eAA/B,UACMC,EAAgBD,eAAtB,WAMME,EAAiBC,SAAAA,eAAvB,eAEA,KAAmB,CAGf,IAAIC,EAAWF,EAAAA,QAAf,KACIG,EAAUH,EAAAA,QAJC,IAQXI,EAAeJ,EAAAA,qBARJ,MAWf,GAAGI,EAAAA,OAAH,EAA4B,CAGvB,IAAIC,EAAM,CACPC,OADO,yBAEPC,MAFO,EAGPC,UAHO,EAIPC,SAAUN,GAIdH,EAAAA,iBAAAA,SAAyC,YAErC,IAAIU,EAASC,EAFwC,OAKrD,UAAKD,EAAAA,QALgD,OASrD,IAAK,IAAL,OACIE,EAAAA,UAAAA,OAAAA,UAIJF,EAAAA,UAAAA,IAdqD,UAiBrDL,EAAAA,UAAgBK,EAAAA,QAjBqC,KAoBrD,IAAIG,EAAcC,OAAA,aAAqB,YACnC,OAAOC,EAAAA,IAAYC,mBAAmBX,EAAtC,OADc,KApBmC,KAyBrD,MAAMY,EAAuBhB,SAAAA,cAA7B,gBAEA,KAAyB,CAGrB,MAAMiB,EAAQ,IAHO,eAMrBA,EAAAA,mBAA2B,WAGvB,IAAGC,KAAKC,YAGJH,EAAAA,UAAAA,OAHsB,WAMH,KAAfE,KAAKE,QAAiBF,KAAKE,OAA/B,IAGIJ,EAAAA,UAAiCE,KAHQ,aAOzCF,EAAAA,UAAAA,+EAMJA,EAAAA,UAAAA,IAFG,WAKHA,EAAAA,UAAAA,gCAIRC,EAAAA,KAAAA,OAAAA,GAAAA,GACAA,EAAAA,iBAAAA,eAAAA,oDACAA,EAAAA,KAAAA,W","sources":["webpack://sage/./resources/scripts/components/ajax-filter.js"],"sourcesContent":["/*global karoAjaxObject */\nconst karoAjaxUrl = JSON.parse(karoAjaxObject.ajax_url);\nconst karoAjaxNonce = karoAjaxObject.ajax_nonce;\n\n\n//POST FILTER\n//*************\n//Filter container\nconst karoPostFilter = document.getElementById('post-filter');\n\nif(karoPostFilter) {\n\n //Get query varaibles\n let postType = karoPostFilter.dataset.type;\n let postTax = karoPostFilter.dataset.tax;\n\n\n //Get all categories in container\n let categorylist = karoPostFilter.getElementsByTagName('li');\n\n //Only add addEventListener if we have categories\n if(categorylist.length > 0) {\n\n //POST data\n let obj = {\n action: 'karopharma_post_filter',\n nonce: karoAjaxNonce,\n post_type: postType,\n post_tax: postTax,\n };\n\n //addEventListener to container\n karoPostFilter.addEventListener('click', function(event) {\n\n var target = event.target;\n\n //Stop fireing on both child & parent\n if ( target.tagName !== 'LI' )\n return;\n\n //Remove active class\n for (let item of categorylist) {\n item.classList.remove('active');\n }\n\n //Add active class\n target.classList.add('active');\n\n //Add clicked term to object\n obj.post_term = target.dataset.term;\n\n //Convert object to url query string\n let queryString = Object.keys(obj).map(function(key) {\n return key + '=' + encodeURIComponent(obj[key])\n }).join('&');\n\n //Target container\n const postArchiveContainer = document.querySelector('ul.post-list');\n\n if(postArchiveContainer) {\n\n //Creat object\n const xhttp = new XMLHttpRequest();\n\n //Status\n xhttp.onreadystatechange = function () {\n\n //4 = Response from server has been completely loaded.\n if(this.readyState === 4) {\n\n //Remove a loading class on container\n postArchiveContainer.classList.remove('loading');\n\n //http status between 200 to 299 are all successful\n if (this.status == 200 && this.status < 300) {\n\n //Replace list with filtered result\n postArchiveContainer.innerHTML = this.responseText;\n \n //Something whent wrong\n } else {\n postArchiveContainer.innerHTML = '
Something whent wrong. Please contact us so that we can correct it.
';\n } \n\n //While waiting response from server\n } else {\n //Add a loading class on container\n postArchiveContainer.classList.add('loading');\n\n //Add a spinner icon\n postArchiveContainer.innerHTML = '';\n }\n }\n\n xhttp.open('POST', karoAjaxUrl, true);\n xhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');\n xhttp.send(queryString);\n\n }\n\n \n });\n\n }\n\n}\n\n"],"names":["karoAjaxUrl","JSON","karoAjaxObject","karoAjaxNonce","karoPostFilter","document","postType","postTax","categorylist","obj","action","nonce","post_type","post_tax","target","event","item","queryString","Object","key","encodeURIComponent","postArchiveContainer","xhttp","this","readyState","status"],"sourceRoot":""}