Skip to content

Commit fc469ee

Browse files
save
1 parent b6c7318 commit fc469ee

File tree

4 files changed

+61
-5
lines changed

4 files changed

+61
-5
lines changed

index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
<script type="text/javascript" language="javascript" src="js/jquery-1.8.3-min.js"></script>
77
<script type="text/javascript" language="javascript" src="js/jquery.couch.js"></script>
88
<script type="text/javascript" language="javascript" src="js/habitat.js"></script>
9+
<script type="text/javascript" language="javascript" src="js/habitat.util.js"></script>
910
<script type="text/javascript" language="javascript" src="js/habitat.tracker.js"></script>
1011
<script type="text/javascript" language="javascript" src="js/habitat.tracker.db.js"></script>
1112
</head>

js/habitat.tracker.db.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ habitat.tracker.db = {
1818
last = doc;
1919
payloads = doc.payloads;
2020
doc.payloads = [];
21-
list.push(data.rows[k]);
21+
list.push(doc);
2222
} else if(payloads.indexOf(doc._id) != -1) {
2323
last.payloads.push(doc);
2424
}
@@ -28,5 +28,19 @@ habitat.tracker.db = {
2828
callback(list);
2929
},
3030
});
31+
},
32+
get_telemetry: function(payload_ids) {
33+
var keys = [];
34+
for(k in payload_ids) { keys.push({ 'key': payload_ids[k] }); }
35+
36+
},
37+
fetch_payloads: function(flight_docs) {
38+
var list = [];
39+
40+
for(k in flight_docs) {
41+
list.concat(flight_docs[k].payloads);
42+
}
43+
44+
return list;
3145
}
3246
};

js/habitat.tracker.js

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,38 @@
11
habitat.tracker = {
22
flights: { active: [], upcoming: [] },
3+
options: {},
4+
vehicles: [],
35

46

5-
init: function() {
7+
// reset tracker state to pre-init state
8+
reset: function() {
9+
delete this.flights;
10+
delete this.options;
11+
delete this.vehicles;
12+
13+
this.flights = { active: [], upcoming: [] };
14+
this.options = {};
15+
this.vehicles = [];
16+
},
17+
18+
init: function(options) {
19+
// options
20+
options = options || {};
21+
options.filter = options.filter || null; // filter to only specific callsigns
22+
options.poll = options.poll || true; // poll: true conitnue to poll for new telemtry, false for archive viewing
23+
this.options = options;
624

725
// pull flight list
26+
this.update_flight_list();
27+
},
28+
update_flight_list: function() {
829
this.db.get_flights(function(data) {
9-
var ts = Math.floor(new Date().getTime() / 1000);
30+
var current_ts = habitat.util.timestamp_now();
1031

1132
for(k in data) {
12-
if(data[k].key[1] < ts) habitat.tracker.flights.active.push(data[k]);
33+
var flight_ts = habitat.util.rfc3339_to_timestamp(data[k].start);
34+
35+
if(flight_ts < current_ts) habitat.tracker.flights.active.push(data[k]);
1336
else habitat.tracker.flights.upcoming.push(data[k]);
1437
}
1538
});
@@ -27,6 +50,6 @@ habitat.tracker = {
2750
append: function(ref) {
2851
var out = $('body');
2952

30-
for(k in ref) { out.append(new Date(ref[k].doc.start).toUTCString() + " " + ref[k].doc.name + "<br />"); }
53+
for(k in ref) { out.append(ref[k].start + " " + ref[k].name + "<br />"); }
3154
}
3255
}

js/habitat.util.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
habitat.util = {
2+
timestamp_now: function() {
3+
return Math.floor((new Date()).getTime() / 1000);
4+
},
5+
rfc3339_to_timestamp: function(str) {
6+
if(typeof str != "string") return null;
7+
8+
return Math.floor((new Date(str)).getTime() / 1000);
9+
},
10+
timestamp_to_rfc3339: function(ts) {
11+
if(typeof str != "int") return null;
12+
13+
var date = new Date();
14+
date.setTime(ts * 1000);
15+
16+
return date.toISOString();
17+
}
18+
};

0 commit comments

Comments
 (0)