Skip to content

Commit

Permalink
add facility filters to toolbar
Browse files Browse the repository at this point in the history
  • Loading branch information
chienleng committed Dec 22, 2023
1 parent 4783e88 commit ececf8b
Show file tree
Hide file tree
Showing 4 changed files with 98 additions and 52 deletions.
4 changes: 2 additions & 2 deletions components/Facility/List.vue
Original file line number Diff line number Diff line change
Expand Up @@ -597,8 +597,8 @@ export default {
}
return !(
ftBoolArr.reduce((a, b) => a && b) &&
statusBoolArr.reduce((a, b) => a && b)
ftBoolArr.reduce((a, b) => a && b, 0) &&
statusBoolArr.reduce((a, b) => a && b, 0)
)
},
isSelected(stationId) {
Expand Down
54 changes: 50 additions & 4 deletions components/Toolbar/Facilities/Wide.vue
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,18 @@
v-if="ready"
class="data-options-bar">

<!-- <div>
<EnergyDataOptions />
<div>
<FacilityFilters
:selected-techs="selectedTechs"
:selected-statuses="selectedStatuses"
:selected-sizes="selectedSizes"
@techsSelect="(d) => selectedTechs = d"
@selectedStatuses="(d) => selectedStatuses = d"
@selectedSizes="(d) => selectedSizes = d"
@facilityNameFilter="(d) => filterString = d"
/>
</div>
-->


</div>

Expand Down Expand Up @@ -50,11 +58,13 @@
import { mapGetters } from 'vuex'
import ViewDropdown from '~/components/ui/ViewDropdown'
import RegionDropdown from '~/components/ui/RegionDropdown'
import FacilityFilters from '~/components/Facility/Filters.vue'
export default {
components: {
ViewDropdown,
RegionDropdown,
FacilityFilters
},
data() {
Expand All @@ -66,7 +76,43 @@ export default {
computed: {
...mapGetters({
tabletBreak: 'app/tabletBreak'
})
}),
filterString: {
get() {
return this.$store.getters['facility/filterString']
},
set(val) {
this.$store.commit('facility/filterString', val)
}
},
selectedSizes: {
get() {
return this.$store.getters['facility/selectedSizes']
},
set(val) {
this.$store.commit('facility/selectedSizes', val)
}
},
selectedStatuses: {
get() {
return this.$store.getters['facility/selectedStatuses']
},
set(val) {
this.$store.commit('facility/selectedStatuses', val)
}
},
selectedTechs: {
get() {
return this.$store.getters['facility/selectedTechs']
},
set(val) {
this.$store.commit('facility/selectedTechs', val)
}
}
},
mounted() {
Expand Down
87 changes: 41 additions & 46 deletions pages/facilities/_region/index.vue
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
<template>
<div>
<facility-filters
:selected-techs="selectedTechs"
:selected-statuses="selectedStatuses"
:selected-sizes="selectedSizes"
class="facility-filters"
@techsSelect="handleTechsSelected"
@selectedStatuses="handleStatusesSelected"
@selectedSizes="handleSizesSelected"
@facilityNameFilter="handleFacilityNameFilter"
/>


<transition name="fade">
<div
v-if="!ready"
Expand Down Expand Up @@ -160,13 +150,9 @@ export default {
data() {
return {
ready: false,
filterString: '',
facilityData: [],
selectedFacility: null,
hoveredFacility: null,
selectedStatuses: [],
selectedTechs: [],
selectedSizes: [],
sortBy: 'displayName',
orderBy: ASCENDING,
totalFacilities: 0,
Expand Down Expand Up @@ -238,15 +224,46 @@ export default {
facilityOrderBy() {
return this.$store.getters['facility/orderBy']
},
facilitySelectedStatuses() {
return this.$store.getters['facility/selectedStatuses']
},
facilitySelectedTechs() {
return this.$store.getters['facility/selectedTechs']
},
facilitySelectedView() {
return this.$store.getters['facility/selectedView']
},
filterString: {
get() {
return this.$store.getters['facility/filterString']
},
set(val) {
this.$store.commit('facility/filterString', val)
}
},
selectedSizes: {
get() {
return this.$store.getters['facility/selectedSizes']
},
set(val) {
this.$store.commit('facility/selectedSizes', val)
}
},
selectedStatuses: {
get() {
return this.$store.getters['facility/selectedStatuses']
},
set(val) {
this.$store.commit('facility/selectedStatuses', val)
}
},
selectedTechs: {
get() {
return this.$store.getters['facility/selectedTechs']
},
set(val) {
this.$store.commit('facility/selectedTechs', val)
}
},
cardFilename() {
return this.useDev
? `${this.baseUrl}opennem-facilities-dev.png`
Expand Down Expand Up @@ -283,7 +300,6 @@ export default {
this.$store.dispatch('currentView', 'facilities')
this.sortBy = this.facilitySortBy
this.orderBy = this.facilityOrderBy
// this.selectedStatuses = this.facilitySelectedStatuses
this.selectedStatuses = this.queryStatus
this.selectedTechs = this.queryTech
this.selectedSizes = this.querySize
Expand Down Expand Up @@ -414,6 +430,8 @@ export default {
regionIds = getNEMRegionArray()
}
this.updateQuery()
async function updateFilter() {
return filtered.filter(
(g) =>
Expand Down Expand Up @@ -459,14 +477,6 @@ export default {
return order === ASCENDING ? DESCENDING : ASCENDING
},
setFilterString(string) {
this.filterString = string
this.updateFacilitiesData()
},
handleFacilityNameFilter(string) {
this.filterString = string
},
handleOrderChange(orderName) {
if (this.sortBy === orderName) {
this.orderBy = this.toggleOrder(this.orderBy)
Expand Down Expand Up @@ -527,21 +537,6 @@ export default {
query
})
},
handleTechsSelected(techs) {
this.selectedTechs = techs
this.$store.dispatch('facility/selectedTechs', techs)
this.updateQuery()
},
handleStatusesSelected(statuses) {
this.selectedStatuses = statuses
this.$store.dispatch('facility/selectedStatuses', statuses)
this.updateQuery()
},
handleSizesSelected(sizes) {
this.selectedSizes = sizes
this.$store.dispatch('facility/selectedSizes', sizes)
this.updateQuery()
},
handleCloseDetail() {
this.selectedFacility = null
},
Expand Down Expand Up @@ -598,7 +593,7 @@ export default {
position: fixed;
right: 0;
top: 126px;
z-index: 9999;
z-index: 99;
padding: 0 1rem 0 0;
}
}
Expand Down
5 changes: 5 additions & 0 deletions store/facility.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ export const state = () => ({
selectedView: 'list',
selectedMapStyle: MAP_STYLE_LIGHT,
filteredFacilities: [],
filterString: '',

previousPath: '',
fetchingFacility: false,
Expand Down Expand Up @@ -105,6 +106,9 @@ export const mutations = {
filteredFacilities(state, data) {
state.filteredFacilities = data
},
filterString(state, data) {
state.filterString = data
},

previousPath(state, data) {
state.previousPath = data
Expand Down Expand Up @@ -178,6 +182,7 @@ export const getters = {
selectedView: (state) => state.selectedView,
selectedMapStyle: (state) => state.selectedMapStyle,
filteredFacilities: (state) => state.filteredFacilities,
filterString: (state) => state.filterString,

previousPath: (state) => state.previousPath,
fetchingFacility: (state) => state.fetchingFacility,
Expand Down

0 comments on commit ececf8b

Please sign in to comment.