initial genre filter

This commit is contained in:
Kevin Ngo
2018-10-28 22:40:49 -07:00
parent 4daeb98ea2
commit 1c1131c652
4 changed files with 271 additions and 127 deletions

View File

@@ -19,6 +19,10 @@ AFRAME.registerComponent('search', {
// Less hits on normal searches.
this.queryObject.hitsPerPage = 30;
this.el.sceneEl.addEventListener('genreclear', () => {
this.search('');
});
},
superkeyboardchange: bindEvent(function (evt) {
@@ -49,6 +53,42 @@ AFRAME.registerComponent('search', {
}
});
/**
* Select genre filter.
*/
AFRAME.registerComponent('search-genre', {
init: function () {
this.eventDetail = {isGenreSearch: true, genre: '', results: []};
this.queryObject = {
filters: '',
hitsPerPage: 100
};
this.el.addEventListener('click', evt => {
this.search(evt.target.closest('.genre').dataset.genre);
});
},
search: function (genre) {
if (genre === 'Video Game') {
this.queryObject.filters = `genre:"Video Game" OR genre:"Video Games"`;
} else {
this.queryObject.filters = `genre:"${genre}"`;
}
algolia.search(this.queryObject, (err, content) => {
if (err) {
this.el.sceneEl.emit('searcherror', null, false);
console.error(err);
return;
}
this.eventDetail.genre = genre;
this.eventDetail.results = content.hits;
this.el.sceneEl.emit('searchresults', this.eventDetail);
});
}
});
/**
* Click listener for search result.
*/