in firestore/scripts/FriendlyEats.View.js [206:276]
FriendlyEats.prototype.initFilterDialog = function() {
// TODO: Reset filter dialog to init state on close.
this.dialogs.filter = new mdc.dialog.MDCDialog(document.querySelector('#dialog-filter-all'));
var that = this;
this.dialogs.filter.listen('MDCDialog:accept', function() {
that.updateQuery(that.filters);
});
var dialog = document.querySelector('aside');
var pages = dialog.querySelectorAll('.page');
this.replaceElement(
dialog.querySelector('#category-list'),
that.renderTemplate('item-list', { items: ['Any'].concat(that.data.categories) })
);
this.replaceElement(
dialog.querySelector('#city-list'),
that.renderTemplate('item-list', { items: ['Any'].concat(that.data.cities) })
);
var renderAllList = function() {
that.replaceElement(
dialog.querySelector('#all-filters-list'),
that.renderTemplate('all-filters-list', that.filters)
);
dialog.querySelectorAll('#page-all .mdc-list-item').forEach(function(el) {
el.addEventListener('click', function() {
var id = el.id.split('-').slice(1).join('-');
displaySection(id);
});
});
};
var displaySection = function(id) {
if (id === 'page-all') {
renderAllList();
}
pages.forEach(function(sel) {
if (sel.id === id) {
sel.style.display = 'block';
} else {
sel.style.display = 'none';
}
});
};
pages.forEach(function(sel) {
var type = sel.id.split('-')[1];
if (type === 'all') {
return;
}
sel.querySelectorAll('.mdc-list-item').forEach(function(el) {
el.addEventListener('click', function() {
that.filters[type] = el.innerText.trim() === 'Any'? '' : el.innerText.trim();
displaySection('page-all');
});
});
});
displaySection('page-all');
dialog.querySelectorAll('.back').forEach(function(el) {
el.addEventListener('click', function() {
displaySection('page-all');
});
});
};