Skip to content

Commit b25be8b

Browse files
committed
support day of week launches
1 parent 81de9e6 commit b25be8b

File tree

2 files changed

+95
-74
lines changed

2 files changed

+95
-74
lines changed

js/tracker.js

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -652,26 +652,40 @@ function launchSitePredictions(times, station, marker) {
652652
times = times.split(",");
653653
position = station.split(",");
654654
var now = new Date();
655+
var maxCount = 7
655656
var count = 0;
656657
var day = 0;
657658
var dates = [];
658-
while (count < 7) {
659+
while (day < 8) {
659660
for (var i = 0; i < times.length; i++) {
660661
var date = new Date();
661662
var time = times[i].split(":");
662-
date.setUTCHours(time[0]);
663-
date.setUTCMinutes(time[1]);
663+
if (time[0] != 0) {
664+
date.setDate(date.getDate() + (7 + time[0]-1 - date.getDay()) % 7);
665+
}
666+
date.setUTCHours(time[1]);
667+
date.setUTCMinutes(time[2]);
664668
date.setSeconds(0);
665669
date.setMilliseconds(0);
666670
if (date < now) {
667-
date.setDate(date.getDate() + 1);
671+
if (time[0] == 0) {
672+
date.setDate(date.getDate() + 1);
673+
} else {
674+
date.setDate(date.getDate() + 7);
675+
}
668676
}
669677
if (day > 0) {
670-
date.setDate(date.getDate() + day);
678+
if (time[0] == 0) {
679+
date.setDate(date.getDate() + day);
680+
} else {
681+
date.setDate(date.getDate() + (7*day));
682+
}
671683
}
672-
if (count < 7) {
673-
dates.push(date.toISOString().split('.')[0]+"Z");
674-
count += 1;
684+
if (count < maxCount) {
685+
if (((date - now) / 36e5) < 170) {
686+
dates.push(date.toISOString().split('.')[0]+"Z");
687+
count += 1;
688+
}
675689
}
676690
}
677691
day += 1;
@@ -685,15 +699,15 @@ function launchSitePredictions(times, station, marker) {
685699
function handleData(data) {
686700
completed += 1;
687701
plotPrediction(data, dates, marker);
688-
if (completed == 7) {
702+
if (completed == dates.length) {
689703
popupContent += "<button onclick='deletePredictions(" + marker + ")' style='margin-bottom:0;'>Delete</button>";
690704
popup.setContent(popupContent);
691705
}
692706
}
693707
function handleError(error) {
694708
completed += 1;
695709
console.log(error);
696-
if (completed == 7) {
710+
if (completed == dates.length) {
697711
popupContent += "<button onclick='deletePredictions(" + marker + ")' style='margin-bottom:0;'>Delete</button>";
698712
popup.setContent(popupContent);
699713
}
@@ -814,11 +828,18 @@ function showLaunchSites() {
814828
var date = new Date();
815829
var now = new Date();
816830
var time = json[key]['times'][i].split(":");
817-
date.setUTCHours(time[0]);
818-
date.setUTCMinutes(time[1]);
831+
if (time[0] != 0) {
832+
date.setDate(date.getDate() + (7 + time[0]-1 - date.getDay()) % 7);
833+
}
834+
date.setUTCHours(time[1]);
835+
date.setUTCMinutes(time[2]);
819836
date.setSeconds(0);
820837
if (date < now) {
821-
date.setDate(date.getDate() + 1);
838+
if (time[0] == 0) {
839+
date.setDate(date.getDate() + 1);
840+
} else {
841+
date.setDate(date.getDate() + 7);
842+
}
822843
}
823844
if (tempDate) {
824845
if (date < tempDate) {

0 commit comments

Comments
 (0)