-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhelpers.js
81 lines (68 loc) · 2.17 KB
/
helpers.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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
// Generated by CoffeeScript 1.6.2
(function() {
var HOUR, METERS_IN_A_MILE, MINUTE, conversions, moment, viewHelpers;
moment = require('moment');
METERS_IN_A_MILE = 1609.344;
HOUR = 3600;
MINUTE = 60;
conversions = {
metersToMi: function(meters) {
return (meters / METERS_IN_A_MILE).toFixed(2);
},
secondsToHms: function(seconds) {
var hours, minutes, strParts;
hours = Math.floor(seconds / HOUR);
seconds = seconds % HOUR;
minutes = Math.floor(seconds / MINUTE);
seconds = Math.floor(seconds % MINUTE);
if (minutes < 10) {
minutes = '0' + minutes;
}
if (seconds < 10) {
seconds = '0' + seconds;
}
strParts = [minutes, seconds];
if (hours > 0) {
strParts.unshift(hours);
}
return strParts.join(':');
}
};
conversions['pace'] = function(meters, seconds) {
var miles;
miles = meters / METERS_IN_A_MILE;
return this.secondsToHms(seconds / miles);
};
viewHelpers = {
formatDateTime: function(rkTimeString) {
return moment(rkTimeString).format('MMM D, YYYY (ddd) @ h:mmA');
},
formatTimeDuration: function(rkTimeString, seconds) {
var end, start;
start = moment(rkTimeString);
end = start.clone().add('seconds', seconds);
return start.format('hh:mmA') + ' - ' + end.format('hh:mmA');
},
cellToolTip: function(act) {
var dist, dur, tips;
dist = act['total_distance'];
dur = act['duration'];
tips = [];
tips.push("" + (conversions.metersToMi(dist)) + " miles (" + (conversions.pace(dist, dur)) + " min/mi)");
tips.push(viewHelpers.formatTimeDuration(act['start_time'], act['duration']));
return tips.join('<br/>');
},
monthToClassName: function(monthName) {
return monthName.replace(/\s/, '').toLowerCase();
}
};
exports.helpers = {
metersToMi: conversions.metersToMi,
secondsToHms: conversions.secondsToHms,
formatDateTime: viewHelpers.formatDateTime,
formatTime: viewHelpers.formatTime,
cellToolTip: viewHelpers.cellToolTip,
pace: conversions.pace,
monthToClassName: viewHelpers.monthToClassName
};
}).call(this);