Skip to content

Commit

Permalink
Updates ageRange based on #157 fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
billimarie committed Oct 7, 2020
1 parent 57c6746 commit 7ecb8ee
Showing 1 changed file with 95 additions and 70 deletions.
165 changes: 95 additions & 70 deletions client/templates/sections/current-prosecutors/currentProsecutors.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,86 +5,111 @@ import {Attorneys} from '../../../../imports/api/attorneys.js';
import './current-prosecutors.html';

Template.currentProsecutors.onCreated(function () {
this.state = new ReactiveDict();
this.state.setDefault({
selectedRoleFilters: [],
selectedRaceFilters: [],
selectedPartyFilters: []
});
this.state = new ReactiveDict();
this.state.setDefault({
selectedRoleFilters: [],
selectedRaceFilters: [],
selectedPartyFilters: [],
selectedAgeFilters: []
});
});

Template.currentProsecutors.helpers({
roleFilters() {
return [
'Attorney General',
'US Attorney',
'District Attorney',
'Municipal Attorney'
]
},
raceFilters() {
return [
'American Indian',
'Asian',
'Black',
'Hispanic',
'Pacific Islander',
'White'
]
},
partyFilters() {
return [
'Democrat',
'Republican',
'Other'
]
},
attorneys() {
const selectedRoleFilters = Template.instance().state.get("selectedRoleFilters")
const selectedRaceFilters = Template.instance().state.get("selectedRaceFilters")
const selectedPartyFilters = Template.instance().state.get("selectedPartyFilters")
roleFilters() {
return [
'Attorney General',
'US Attorney',
'District Attorney',
'Municipal Attorney'
]
},
raceFilters() {
return [
'American Indian',
'Asian',
'Black',
'Hispanic',
'Pacific Islander',
'White'
]
},
partyFilters() {
return [
'Democrat',
'Republican',
'Other'
]
},
ageFilters() {
return [
'18-25',
'25-30',
'30-40',
'40-50',
'50-60',
'60-70',
'70+'
]
},
attorneys() {
const selectedRoleFilters = Template.instance().state.get("selectedRoleFilters")
const selectedRaceFilters = Template.instance().state.get("selectedRaceFilters")
const selectedPartyFilters = Template.instance().state.get("selectedPartyFilters")
const selectedAgeFilters = Template.instance().state.get("selectedAgeFilters")

let filter = {}
let filter = {}

if (selectedRoleFilters.length) {
filter.role = {$in: selectedRoleFilters}
}
if (selectedRoleFilters.length) {
filter.role = {$in: selectedRoleFilters}
}

if (selectedRaceFilters.length) {
filter.race = {$in: selectedRaceFilters}
}
if (selectedRaceFilters.length) {
filter.race = {$in: selectedRaceFilters}
}

if (selectedPartyFilters.length) {
filter.party = {$in: selectedPartyFilters}
}
if (selectedPartyFilters.length) {
filter.party = {$in: selectedPartyFilters}
}

return Attorneys.find(filter).fetch()
},
if (selectedAgeFilters.length) {
filter.ageRange = {$in: selectedAgeFilters}
}

return Attorneys.find(filter).fetch()
},
});

Template.currentProsecutors.events({
"change .role-filter"(event, instance) {
const filter = event.currentTarget.name
const selectedRoleFilters = instance.state.get("selectedRoleFilters")
const newSelectedRoleFilters = selectedRoleFilters.includes(filter)
? selectedRoleFilters.filter((value) => value !== filter)
: [...selectedRoleFilters, filter]
instance.state.set("selectedRoleFilters", newSelectedRoleFilters)
},
"change .race-filter"(event, instance) {
const filter = event.currentTarget.name
const selectedRaceFilters = instance.state.get("selectedRaceFilters")
const newSelectedRaceFilters = selectedRaceFilters.includes(filter)
? selectedRaceFilters.filter((value) => value !== filter)
: [...selectedRaceFilters, filter]
instance.state.set("selectedRaceFilters", newSelectedRaceFilters)
},
"change .party-filter"(event, instance) {
const filter = event.currentTarget.name
const selectedPartyFilters = instance.state.get("selectedPartyFilters")
const newSelectedPartyFilters = selectedPartyFilters.includes(filter)
? selectedPartyFilters.filter((value) => value !== filter)
: [...selectedPartyFilters, filter]
instance.state.set("selectedPartyFilters", newSelectedPartyFilters)
"change .role-filter"(event, instance) {
const filter = event.currentTarget.name
const selectedRoleFilters = instance.state.get("selectedRoleFilters")
const newSelectedRoleFilters = selectedRoleFilters.includes(filter)
? selectedRoleFilters.filter((value) => value !== filter)
: [...selectedRoleFilters, filter]
instance.state.set("selectedRoleFilters", newSelectedRoleFilters)
},
"change .race-filter"(event, instance) {
const filter = event.currentTarget.name
const selectedRaceFilters = instance.state.get("selectedRaceFilters")
const newSelectedRaceFilters = selectedRaceFilters.includes(filter)
? selectedRaceFilters.filter((value) => value !== filter)
: [...selectedRaceFilters, filter]
instance.state.set("selectedRaceFilters", newSelectedRaceFilters)
},
"change .party-filter"(event, instance) {
const filter = event.currentTarget.name
const selectedPartyFilters = instance.state.get("selectedPartyFilters")
const newSelectedPartyFilters = selectedPartyFilters.includes(filter)
? selectedPartyFilters.filter((value) => value !== filter)
: [...selectedPartyFilters, filter]
instance.state.set("selectedPartyFilters", newSelectedPartyFilters)
},
"change .age-filter"(event, instance) {
const filter = event.currentTarget.name
const selectedAgeFilters = instance.state.get("selectedAgeFilters")
const newSelectedAgeFilters = selectedAgeFilters.includes(filter)
? selectedAgeFilters.filter((value) => value !== filter)
: [...selectedAgeFilters, filter]
instance.state.set("selectedAgeFilters", newSelectedAgeFilters)
}
})

0 comments on commit 7ecb8ee

Please sign in to comment.