mirror of
https://github.com/badlogic/heissepreise.git
synced 2024-06-29 20:05:51 +02:00
Fix visibility of filter groups, fix diagram show/hide.
This commit is contained in:
parent
60ecb68924
commit
4fc46fc335
|
@ -137,6 +137,26 @@ class ItemsFilter extends View {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setVisibility(query, numCategories, elements) {
|
||||||
|
if (query.length > 0 && query.charAt(0) == "!") {
|
||||||
|
elements.stores.classList.add("hidden");
|
||||||
|
elements.priceChanges.classList.add("hidden");
|
||||||
|
elements.misc.classList.add("hidden");
|
||||||
|
elements.priceDirection.classList.add("hidden");
|
||||||
|
elements.categories.classList.add("hidden");
|
||||||
|
} else {
|
||||||
|
if (this._filterByStores) elements.stores.classList.remove("hidden");
|
||||||
|
if (this._filterByPriceChanges) elements.priceChanges.classList.remove("hidden");
|
||||||
|
if (this._filterByMisc) elements.misc.classList.remove("hidden");
|
||||||
|
if (this._filterByPriceDirection) elements.priceDirection.classList.remove("hidden");
|
||||||
|
if (this.model.filteredItems.length > 0 && numCategories != 0) {
|
||||||
|
elements.categories.classList.remove("hidden");
|
||||||
|
} else {
|
||||||
|
elements.categories.classList.add("hidden");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
filter() {
|
filter() {
|
||||||
if (!this.model) return;
|
if (!this.model) return;
|
||||||
|
|
||||||
|
@ -149,6 +169,7 @@ class ItemsFilter extends View {
|
||||||
}
|
}
|
||||||
let query = elements.query.value.trim();
|
let query = elements.query.value.trim();
|
||||||
if (query.length == 0 && this._emptyQuery) {
|
if (query.length == 0 && this._emptyQuery) {
|
||||||
|
this.setVisibility(query, 0, elements);
|
||||||
this.model.removeListener(this._listener);
|
this.model.removeListener(this._listener);
|
||||||
this.model.filteredItems = [];
|
this.model.filteredItems = [];
|
||||||
this.model.addListener(this._listener);
|
this.model.addListener(this._listener);
|
||||||
|
@ -257,10 +278,7 @@ class ItemsFilter extends View {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Object.keys(filteredCategories).length == 0) {
|
if (Object.keys(filteredCategories).length != 0) {
|
||||||
elements.categories.classList.add("hidden");
|
|
||||||
} else {
|
|
||||||
elements.categories.classList.remove("hidden");
|
|
||||||
let numEnabledCategories = 0;
|
let numEnabledCategories = 0;
|
||||||
Object.keys(filteredCategories).forEach((categoryIndex) => {
|
Object.keys(filteredCategories).forEach((categoryIndex) => {
|
||||||
if (elements["category-" + categoryIndex].checked) {
|
if (elements["category-" + categoryIndex].checked) {
|
||||||
|
@ -275,25 +293,13 @@ class ItemsFilter extends View {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (query.length > 0 && query.charAt(0) == "!") {
|
|
||||||
elements.stores.classList.add("hidden");
|
|
||||||
elements.priceChanges.classList.add("hidden");
|
|
||||||
elements.misc.classList.add("hidden");
|
|
||||||
elements.priceDirection.classList.add("hidden");
|
|
||||||
elements.categories.classList.add("hidden");
|
|
||||||
} else {
|
|
||||||
if (this._filterByStores) elements.stores.classList.remove("hidden");
|
|
||||||
if (this._filterByPriceChanges) elements.priceChanges.classList.add("hidden");
|
|
||||||
if (this._filterByMisc) elements.misc.classList.add("hidden");
|
|
||||||
if (this._filterByPriceDirection) elements.priceDirection.classList.add("hidden");
|
|
||||||
elements.categories.classList.add("hidden");
|
|
||||||
}
|
|
||||||
|
|
||||||
log(`ItemsFilter - Filtering ${this.model.items.length} took ${deltaTime(start).toFixed(4)} secs, ${filteredItems.length} results.`);
|
log(`ItemsFilter - Filtering ${this.model.items.length} took ${deltaTime(start).toFixed(4)} secs, ${filteredItems.length} results.`);
|
||||||
|
|
||||||
this.model.removeListener(this._listener);
|
this.model.removeListener(this._listener);
|
||||||
this.model.filteredItems = filteredItems;
|
this.model.filteredItems = filteredItems;
|
||||||
this.model.addListener(this._listener);
|
this.model.addListener(this._listener);
|
||||||
|
|
||||||
|
this.setVisibility(query, Object.keys(filteredCategories).length, elements);
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
|
|
@ -78,7 +78,7 @@ class ItemsList extends View {
|
||||||
this.download(this.model.filteredItems);
|
this.download(this.model.filteredItems);
|
||||||
});
|
});
|
||||||
|
|
||||||
elements.enableChart.addEventListener("change", () => {
|
elements.enableChart.addEventListener("x-change", () => {
|
||||||
if (elements.enableChart.checked) elements.chart.classList.remove("hidden");
|
if (elements.enableChart.checked) elements.chart.classList.remove("hidden");
|
||||||
else elements.chart.classList.add("hidden");
|
else elements.chart.classList.add("hidden");
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue
Block a user