diff --git a/network/static/js/station_view.js b/network/static/js/station_view.js index 9a50b51..1bd0a41 100644 --- a/network/static/js/station_view.js +++ b/network/static/js/station_view.js @@ -156,186 +156,194 @@ $(document).ready(function() { $('#antenna-filter').submit(); }); - // Pass predictions loading - $('#loading').show(); - $.ajax({ - url: '/pass_predictions/' + $('#station-info').attr('data-id') + '/', - cache: false, - success: function(data){ - var len = data.nextpasses.length - 1; - var new_obs = $('#station-info').attr('data-new-obs'); - var station = $('#station-info').attr('data-id'); - var can_schedule = $('#station-info').data('schedule'); + function calculate_predictions(){ + // Pass predictions loading + $('#loading').show(); + $.ajax({ + url: '/pass_predictions/' + $('#station-info').attr('data-id') + '/', + cache: false, + success: function(data){ + var len = data.nextpasses.length - 1; + var new_obs = $('#station-info').attr('data-new-obs'); + var station = $('#station-info').attr('data-id'); + var can_schedule = $('#station-info').data('schedule'); - for (var i = 0; i <= len; i++) { - var schedulable = data.nextpasses[i].valid && can_schedule; - var tr = moment(data.nextpasses[i].tr).format('YYYY/MM/DD HH:mm'); - var ts = moment(data.nextpasses[i].ts).format('YYYY/MM/DD HH:mm'); - var tr_display_date = moment(data.nextpasses[i].tr).format('YYYY-MM-DD'); - var tr_display_time = moment(data.nextpasses[i].tr).format('HH:mm'); - var ts_display_date = moment(data.nextpasses[i].ts).format('YYYY-MM-DD'); - var ts_display_time = moment(data.nextpasses[i].ts).format('HH:mm'); - var tr_svg = moment.utc(data.nextpasses[i].tr).format(); - var ts_svg = moment.utc(data.nextpasses[i].ts).format(); + for (var i = 0; i <= len; i++) { + var schedulable = data.nextpasses[i].valid && can_schedule; + var tr = moment(data.nextpasses[i].tr).format('YYYY/MM/DD HH:mm'); + var ts = moment(data.nextpasses[i].ts).format('YYYY/MM/DD HH:mm'); + var tr_display_date = moment(data.nextpasses[i].tr).format('YYYY-MM-DD'); + var tr_display_time = moment(data.nextpasses[i].tr).format('HH:mm'); + var ts_display_date = moment(data.nextpasses[i].ts).format('YYYY-MM-DD'); + var ts_display_time = moment(data.nextpasses[i].ts).format('HH:mm'); + var tr_svg = moment.utc(data.nextpasses[i].tr).format(); + var ts_svg = moment.utc(data.nextpasses[i].ts).format(); - var overlap_style = null; - var overlap = 0; - if (data.nextpasses[i].overlapped) { - overlap = Math.round(data.nextpasses[i].overlap_ratio * 100); - overlap_style = 'overlap'; - } - $('#pass_predictions').append(` - - - - ${data.nextpasses[i].norad_cat_id} - ${data.nextpasses[i].name} - -
-
- ${data.nextpasses[i].success_rate}% Good -
-
- ${data.nextpasses[i].unvetted_rate}% Unvetted -
-
- ${data.nextpasses[i].bad_rate}% Bad -
-
- ${data.nextpasses[i].future_rate}% Future -
-
- - - ${tr_display_time} - ${tr_display_date} - - - ${ts_display_time} - ${ts_display_date} - - - - - - - -
- - - - - - - N - - - S - - - E - - - W - - -
- - ${can_schedule ? ` - - ${overlap ? `
- ` : ` - `} - ${schedulable ? ` - schedule - - - ` : ` - - schedule - + var overlap_style = null; + var overlap = 0; + if (data.nextpasses[i].overlapped) { + overlap = Math.round(data.nextpasses[i].overlap_ratio * 100); + overlap_style = 'overlap'; + } + $('#pass_predictions').append(` + + + + ${data.nextpasses[i].norad_cat_id} - ${data.nextpasses[i].name} +
+
+ ${data.nextpasses[i].success_rate}% Good +
+
+ ${data.nextpasses[i].unvetted_rate}% Unvetted +
+
+ ${data.nextpasses[i].bad_rate}% Bad +
+
+ ${data.nextpasses[i].future_rate}% Future +
+
+ + + ${tr_display_time} + ${tr_display_date} + + + ${ts_display_time} + ${ts_display_date} + + + + + + + +
+ + + + + + + N + + + S + + + E + + + W + + +
+ + ${can_schedule ? ` + + ${overlap ? `
+ ` : ` + `} + ${schedulable ? ` + schedule + + + ` : ` + + schedule + + + `} + + ` : ` `} - - ` : ` - `} - - `); + + `); - // Draw orbit in polar plot - var tleLine1 = $('svg#polar' + i.toString()).data('tle1'); - var tleLine2 = $('svg#polar' + i.toString()).data('tle2'); + // Draw orbit in polar plot + var tleLine1 = $('svg#polar' + i.toString()).data('tle1'); + var tleLine2 = $('svg#polar' + i.toString()).data('tle2'); - var timeframe = { - start: new Date($('svg#polar' + i.toString()).data('timeframe-start')), - end: new Date($('svg#polar' + i.toString()).data('timeframe-end')) - }; + var timeframe = { + start: new Date($('svg#polar' + i.toString()).data('timeframe-start')), + end: new Date($('svg#polar' + i.toString()).data('timeframe-end')) + }; - var groundstation = { - lon: $('svg#polar' + i.toString()).data('groundstation-lon'), - lat: $('svg#polar' + i.toString()).data('groundstation-lat'), - alt: $('svg#polar' + i.toString()).data('groundstation-alt') - }; + var groundstation = { + lon: $('svg#polar' + i.toString()).data('groundstation-lon'), + lat: $('svg#polar' + i.toString()).data('groundstation-lat'), + alt: $('svg#polar' + i.toString()).data('groundstation-alt') + }; - const polarPlotSVG = calcPolarPlotSVG(timeframe, - groundstation, - tleLine1, - tleLine2); + const polarPlotSVG = calcPolarPlotSVG(timeframe, + groundstation, + tleLine1, + tleLine2); - $('svg#polar' + i.toString()).append(polarPlotSVG); + $('svg#polar' + i.toString()).append(polarPlotSVG); + } + + // Show predicion results count + $('#prediction_results').show(); + $('#prediction_results_count').html(data.nextpasses.length); + }, + complete: function(){ + $('#loading').hide(); } + }); + } - // Show predicion results count - $('#prediction_results').show(); - $('#prediction_results_count').html(data.nextpasses.length); - }, - complete: function(){ - $('#loading').hide(); - } + $('#calculate-predictions').click( function(){ + $('#calculate-button').toggle(); + $('#pass-predictions').toggle(); + calculate_predictions(); }); // Open all visible predictions for scheduling diff --git a/network/templates/base/station_view.html b/network/templates/base/station_view.html index eb4dbfc..97cf78d 100644 --- a/network/templates/base/station_view.html +++ b/network/templates/base/station_view.html @@ -193,89 +193,99 @@
-
-
-

- Pass predictions -

-
-
-

- -

-
-
-
-
- - -
-
- - -
-
- - -
-
-
-
-
- -
-
-
-
-
- -
+
- - - - - - - - {% if can_schedule %} - - {% endif %} - - - - - - -
Name - - - - ⤉ ⇴ ⤈Polar plot
-
-
-
-
-
- Loading Pass Predictions -
+
-