ref: bubble filters up

dev
rrr-marble 4 years ago
parent 2d3baa5252
commit cd3dc2a127

@ -2,15 +2,15 @@
<div> <div>
<va-sidebar color="primary" text-color="white" gradient class="sidebar-proper"> <va-sidebar color="primary" text-color="white" gradient class="sidebar-proper">
<h3>Category</h3> <h3>Category</h3>
<category-filter @filter="filter" /> <category-filter @filter="$emit('filter', $event)" />
<h3>GIS Category</h3> <h3>GIS Category</h3>
<gis-category-filter @filter="filter" /> <gis-category-filter @filter="$emit('filter', $event)" />
<h3>Scanner</h3> <h3>Scanner</h3>
<scanner-filter @filter="filter" /> <scanner-filter @filter="$emit('filter', $event)" />
<h3>Organiztion</h3> <h3>Organiztion</h3>
<org-filter @filter="filter" /> <org-filter @filter="$emit('filter', $event)" />
<h3>Stratum</h3> <h3>Stratum</h3>
<stratum-filter @filter="filter" /> <stratum-filter @filter="$emit('filter', $event)" />
<!-- <template v-for="item in sidebarItems" :key="item.title"> <!-- <template v-for="item in sidebarItems" :key="item.title">
<va-sidebar-item :active="item.active"> <va-sidebar-item :active="item.active">
@ -40,24 +40,9 @@ export default {
// } // }
}, },
components: { CategoryFilter, GisCategoryFilter, ScannerFilter, OrgFilter, StratumFilter }, components: { CategoryFilter, GisCategoryFilter, ScannerFilter, OrgFilter, StratumFilter },
methods: { methods: {},
filter(filter) {
let key;
for (key in filter) {
if (filter[key] != "Any") {
this.currentFilters[key] = filter[key]
} else {
delete this.currentFilters[key]
}
};
this.$emit('filter', this.currentFilters);
}
},
data() { data() {
return { return {}
currentFilters: {}
}
}, },
} }
</script> </script>

@ -2,7 +2,7 @@
<div> <div>
<navbar /> <navbar />
<div class="central-view"> <div class="central-view">
<sidebar @filter="fetchFiltered" /> <sidebar @filter="applyFilters" />
<div class="main-view"> <div class="main-view">
<overview-screen :items="items" /> <overview-screen :items="items" />
</div> </div>
@ -21,6 +21,7 @@ export default {
data() { data() {
return { return {
items: [], items: [],
currentFilters: {},
} }
}, },
methods: { methods: {
@ -48,6 +49,18 @@ export default {
.then(res => res.json()) .then(res => res.json())
.then(data => this.items = data) .then(data => this.items = data)
.catch((e) => console.log(e)) .catch((e) => console.log(e))
},
applyFilters(filter) {
let key;
for (key in filter) {
if (filter[key] != "Any") {
this.currentFilters[key] = filter[key]
} else {
delete this.currentFilters[key]
}
};
this.fetchFiltered(this.currentFilters);
} }
}, },
created() { created() {