(function() {
const elem = document.querySelector('#search-help')
if(elem) {
init(elem)
} else {
window.searchInit = init
}
function init(elem, config = {}) {
elem.innerHTML = `
`
const resultsElem = elem.querySelector('.results')
const inputElem = elem.querySelector('input')
inputElem.addEventListener('input', debounce(function(e) {
const q = e.target.value
const value = inputElem.value;
resultsElem.innerHTML = ''
const xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && value.length >= 3){
const results = JSON.parse(xhr.responseText)
if(results.length >= 1) {
results.map(it => {
const tmp = document.createElement('LI')
tmp.innerHTML = ''+getImage(it.tag)+'
'+it.title+'
'+it.desc+'
'
resultsElem.appendChild(tmp)
})
} else if (results.length === 0 && value !== '') {
resultsElem.innerHTML = 'Nie znaleziono wyników dla Twojego zapytania. Kliknij, aby się z nami skontaktować
'
if(config.noResultsAction) {
resultsElem.querySelector('li a').addEventListener('click', config.noResultsAction)
}
}
}
};
xhr.open('GET', 'https://search.selesto.pl:3000/?q='+q);
xhr.send();
}, 400))
function debounce(func, timeout) {
let timer;
return (...args) => {
clearTimeout(timer);
timer = setTimeout(() => { func.apply(this, args); }, timeout);
};
}
}
function getImage(tag) {
if(tag === 'website') {
return ''
} else if(tag === 'help') {
return ''
} else if(tag === 'blog') {
return ''
}
}
})()