-
Notifications
You must be signed in to change notification settings - Fork 1
/
shelters.js
55 lines (47 loc) · 1.43 KB
/
shelters.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
(function(window){
var getFromEntry = utils.getFromEntry;
function filterShelters(entry) {
return !(utils.isNone(entry.supply_needs) &&
utils.isNone(entry.volunteer_needs)) ||
_.startsWith(entry.notes, 'Volunteer');
}
function cleanSheltersData(entry){
var name = entry.shelter;
var address = entry.address;
var addressName = entry.shelter + ', ' + entry.address;
var volunteerNeeds;
var details;
if (_.startsWith(entry.notes, 'Volunteer')){
if (utils.isNone(entry.volunteer_needs)) {
volunteerNeeds = entry.notes;
} else {
details = entry.notes;
}
}
volunteerNeeds = volunteerNeeds || utils.valueOrNone(entry.volunteer_needs);
return {
address: entry.address,
lat: parseFloat(entry.latitude),
lng: parseFloat(entry.longitude),
name: name,
phone: entry.phone,
tel: entry.phone.replace(/\D+/g, ''),
address: address,
supplyNeeds: utils.valueOrNone(entry.supply_needs),
volunteerNeeds: volunteerNeeds,
lastUpdated: entry.last_updated,
key: _.kebabCase(addressName),
previousKey: _.kebabCase(name),
source: utils.textOrLink(entry.source),
details: details
};
}
function getSheltersHelpers(){
return {
endpoint: 'shelters',
filter: filterShelters,
cleanData: cleanSheltersData
};
}
window.getSheltersHelpers = getSheltersHelpers;
}(window));