File: D:/HostingSpaces/Eurotools/euro-tools.nl/resources/assets/js/site/searchHandler.js
const searchHandler = {
init: function (searchUrl) {
console.debug('searchHandler initialized with searchUrl: '+searchUrl);
this.searchUrl = searchUrl;
return this;
},
search: function (term, page = 1, amount = 10, language_id = null) {
let ajaxMock = {
fail: function() { return ajaxMock },
done: function() { return ajaxMock }
};
if(term === "") return ajaxMock;
self = this;
return $.ajax({
type: "GET",
async: false,
url: this.searchUrl,
data: {
page: page,
amount: amount,
term: term,
language_id: language_id
},
success: function (response) {
var result = self.processSearchResponse(response);
return result;
},
error: function () {
console.log("An error occured while searching")
},
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
dataType: 'json'
});
},
processSearchResponse: function (response)
{
if(!searchHandler.validateSearchResponse(response)) return;
//console.log(response);
return response;
},
validateSearchResponse: function (response)
{
if(
response.hasOwnProperty('data') &&
response.hasOwnProperty('meta')
) return true;
console.error('Search response was not valid');
console.log(response);
return false;
}
};