2014-10-26 14:07:42 -06:00
|
|
|
$(function () {
|
2015-04-22 16:19:56 -06:00
|
|
|
var minstart = $('#datetimepicker-start').data('date-minstart');
|
|
|
|
var maxrange = $('#datetimepicker-end').data('date-maxrange');
|
2015-04-07 10:00:57 -06:00
|
|
|
$('#datetimepicker-start').datetimepicker();
|
2015-04-22 16:19:56 -06:00
|
|
|
$('#datetimepicker-start').data('DateTimePicker').minDate(moment.utc().add(minstart,'m'));
|
2015-04-07 10:00:57 -06:00
|
|
|
$('#datetimepicker-end').datetimepicker();
|
2015-04-22 16:19:56 -06:00
|
|
|
$('#datetimepicker-end').data('DateTimePicker').minDate(moment.utc().add(minstart,'m'));
|
2015-04-07 10:00:57 -06:00
|
|
|
$("#datetimepicker-start").on('dp.change',function (e) {
|
2015-04-22 16:19:56 -06:00
|
|
|
//Setting default, minimum and maximum for end
|
|
|
|
$('#datetimepicker-end').data('DateTimePicker').defaultDate(moment.utc(e.date).add(60, 'm'));
|
|
|
|
$('#datetimepicker-end').data('DateTimePicker').minDate(e.date);
|
|
|
|
$('#datetimepicker-end').data('DateTimePicker').maxDate(moment.utc(e.date).add(maxrange, 'm'));
|
2015-04-07 10:00:57 -06:00
|
|
|
});
|
2014-10-26 14:07:42 -06:00
|
|
|
|
2016-01-23 02:40:56 -07:00
|
|
|
$('#satellite-selection').bind('keyup change', function() {
|
2015-04-07 10:00:57 -06:00
|
|
|
var norad = $(this).find(':selected').data('norad');
|
2015-07-23 09:18:01 -06:00
|
|
|
$('#transmitter-selection').prop('disabled', false);
|
|
|
|
$('#transmitter-selection option').hide();
|
|
|
|
$('#transmitter-selection option[data-satellite="'+norad+'"]').show().prop('selected', true);
|
2016-01-23 02:40:56 -07:00
|
|
|
|
2016-01-27 08:56:48 -07:00
|
|
|
$('.tle').hide();
|
|
|
|
$('.tle[data-norad="'+norad+'"]').show();
|
2015-04-07 10:00:57 -06:00
|
|
|
});
|
2014-10-26 14:07:42 -06:00
|
|
|
});
|
|
|
|
|
|
|
|
$( document ).ready( function(){
|
2015-04-07 10:00:57 -06:00
|
|
|
$('#calculate-observation').click( function(){
|
|
|
|
$('.calculation-result').show();
|
2015-07-06 06:12:33 -06:00
|
|
|
$('#timeline').empty();
|
2015-07-07 11:24:31 -06:00
|
|
|
$('#hoverRes').hide();
|
2015-09-21 09:57:44 -06:00
|
|
|
$('#windows-data').empty();
|
2015-04-07 10:00:57 -06:00
|
|
|
var satellite = $('#satellite-selection').val();
|
|
|
|
var start_time = $('#datetimepicker-start input').val();
|
|
|
|
var end_time = $('#datetimepicker-end input').val();
|
2015-07-06 12:17:05 -06:00
|
|
|
|
2015-04-07 10:00:57 -06:00
|
|
|
$.ajax({
|
2015-07-06 06:12:33 -06:00
|
|
|
url: '/prediction_windows/' + satellite + '/' + start_time + '/' + end_time + '/',
|
2015-07-07 08:28:08 -06:00
|
|
|
beforeSend: function() { $('#loading').show(); }
|
2015-04-07 10:00:57 -06:00
|
|
|
}).done(function(data) {
|
2015-07-07 08:28:08 -06:00
|
|
|
$('#loading').hide();
|
2015-04-16 15:44:10 -06:00
|
|
|
if (data['error']) {
|
|
|
|
var error_msg = data['error'];
|
|
|
|
$('#windows-data').html('<span class="text-danger">' + error_msg + '</span>');
|
|
|
|
} else {
|
|
|
|
var dc = 0; //Data counter
|
|
|
|
var suggested_data = [];
|
2015-04-22 16:19:56 -06:00
|
|
|
$('#windows-data').empty();
|
2015-04-16 15:44:10 -06:00
|
|
|
$.each(data, function( i,k ){
|
|
|
|
label = k.id + ' - ' + k.name;
|
|
|
|
var times = [];
|
|
|
|
$.each(k.window, function( m,n ){
|
2015-04-22 16:19:56 -06:00
|
|
|
var starting_time = moment.utc(n.start).valueOf();
|
|
|
|
var ending_time = moment.utc(n.end).valueOf();
|
2015-04-16 15:44:10 -06:00
|
|
|
console.log(starting_time + '-' + ending_time);
|
|
|
|
$('#windows-data').append('<input type="hidden" name="'+dc+'-starting_time" value="'+n.start+'">');
|
|
|
|
$('#windows-data').append('<input type="hidden" name="'+dc+'-ending_time" value="'+n.end+'">');
|
|
|
|
$('#windows-data').append('<input type="hidden" name="'+dc+'-station" value="'+k.id+'">');
|
|
|
|
times.push({starting_time: starting_time, ending_time: ending_time})
|
2015-07-06 06:12:33 -06:00
|
|
|
dc = dc + 1;
|
2015-04-16 15:44:10 -06:00
|
|
|
});
|
|
|
|
suggested_data.push({label : label, times : times});
|
2015-04-07 10:00:57 -06:00
|
|
|
});
|
2014-10-26 14:07:42 -06:00
|
|
|
|
2015-04-16 15:44:10 -06:00
|
|
|
$('#windows-data').append('<input type="hidden" name="total" value="'+dc+'">');
|
2015-07-06 06:12:33 -06:00
|
|
|
if (dc > 0) {
|
|
|
|
timeline_init(start_time, end_time, suggested_data);
|
|
|
|
} else {
|
|
|
|
var error_msg = 'No Ground Station available for this observation window';
|
|
|
|
$('#windows-data').html('<span class="text-danger">' + error_msg + '</span>');
|
|
|
|
}
|
2015-04-16 15:44:10 -06:00
|
|
|
}
|
2015-04-07 10:00:57 -06:00
|
|
|
});
|
|
|
|
});
|
2014-10-26 14:07:42 -06:00
|
|
|
});
|
|
|
|
|
|
|
|
function timeline_init( start, end, payload ){
|
2015-04-22 16:19:56 -06:00
|
|
|
var start_time_timeline = moment.utc(start).valueOf();
|
|
|
|
var end_time_timeline = moment.utc(end).valueOf();
|
2014-10-26 14:07:42 -06:00
|
|
|
|
2015-04-07 10:00:57 -06:00
|
|
|
$('#timeline').empty();
|
2015-07-07 11:24:31 -06:00
|
|
|
$('.coloredDiv').css('background-color', 'transparent');
|
|
|
|
$('#name').empty();
|
2014-10-26 14:07:42 -06:00
|
|
|
|
2015-04-07 10:00:57 -06:00
|
|
|
var chart = d3.timeline()
|
|
|
|
.stack()
|
|
|
|
.beginning(start_time_timeline)
|
|
|
|
.ending(end_time_timeline)
|
|
|
|
.hover(function (d, i, datum) {
|
|
|
|
var div = $('#hoverRes');
|
|
|
|
var colors = chart.colors();
|
|
|
|
div.find('.coloredDiv').css('background-color', colors(i))
|
|
|
|
div.find('#name').text(datum.label);
|
|
|
|
})
|
|
|
|
.margin({left:140, right:10, top:0, bottom:50})
|
|
|
|
.tickFormat({format: d3.time.format('%H:%M'), tickTime: d3.time.minutes, tickInterval: 30, tickSize: 6});
|
2014-10-26 14:07:42 -06:00
|
|
|
|
2015-04-07 10:00:57 -06:00
|
|
|
var svg = d3.select('#timeline').append('svg').attr('width', 1140)
|
|
|
|
.datum(payload).call(chart);
|
2015-07-06 12:17:05 -06:00
|
|
|
|
2015-07-07 11:24:31 -06:00
|
|
|
$('#hoverRes').show();
|
2015-07-06 12:17:05 -06:00
|
|
|
$('#schedule-observation').removeAttr('disabled');
|
2014-10-26 19:30:46 -06:00
|
|
|
}
|