Proper user information window, prompts for click after SetWithMap, gives warning after server form data rejected

pull/73/head
jonsowman 2010-06-04 09:31:55 +01:00
rodzic 611143195b
commit b8dd855c9e
3 zmienionych plików z 56 dodań i 17 usunięć

Wyświetl plik

@ -29,6 +29,19 @@ a { text-decoration: underline; color: #333; cursor: pointer; }
display: none;
}
#error_window {
position: absolute;
left: 50%;
top: 50%;
width: 400px;
height: 50px;
margin-left: -200px;
margin-top: -50px;
padding: 1em;
text-align: center;
display: none;
}
.box {
position: absolute;
background-color: white;

Wyświetl plik

@ -47,11 +47,13 @@ function initialize() {
url: 'ajax.php?action=submitForm',
type: 'POST',
success: function(data) {
predSub();
var data_split = data.split("|");
if ( data_split[0] == 0 ) {
appendDebug("The server rejected the submitted form data");
throwError("The server rejected the submitted form data");
resetGUI();
} else {
predSub();
appendDebug("The server accepted the form data");
// update the global current_uuid variable
current_uuid = data_split[1];
@ -94,6 +96,9 @@ function initialize() {
toggleWindow("input_form", "showHideForm", "Show Launch Card",
"Hide Launch Card");
});
$("#closeErrorWindow").click(function() {
$("#error_window").fadeOut();
});
// plot the initial launch location
plotClick();
google.maps.event.addListener(map, 'mousemove', function(event) {
@ -122,6 +127,12 @@ function initialize() {
<a><span id="showHideDebug_status">Toggle Debug</span></a></span>
</div>
<div id="error_window" class="box">
<span id="error_message">Nothing here!</span>
<br /><br />
<a id="closeErrorWindow">Close</a>
</div>
<div id="scenario_info" class="box">
<h1>Scenario Information</h1>
<span id="cursor_info">Current mouse position:

Wyświetl plik

@ -38,6 +38,11 @@ function showMousePos(GLatLng) {
$("#cursor_lon").html(GLatLng.lng().toFixed(4));
}
function throwError(data) {
$("#error_message").html(data);
$("#error_window").fadeIn();
}
function handlePred(pred_uuid) {
$("#prediction_status").html("Searching for wind data...");
$("#input_form").hide("slide", { direction: "down" }, 500);
@ -72,6 +77,20 @@ function getJSONProgress(pred_uuid) {
});
}
function resetGUI() {
$("#status_message").fadeOut(500);
// now clear the status window
$("#prediction_status").html("");
$("#prediction_progress").progressbar("options", "value", 0);
$("#prediction_percent").html("");
// bring the input form back up
toggleWindow("input_form", null, null, null, "show");
toggleWindow("scenario_info", null, null, null, "show");
// un-fade the map canvas
$("#map_canvas").fadeTo(1500, 1);
}
function processProgress(progress) {
if ( progress['error'] ) {
clearInterval(ajaxEventHandle);
@ -81,20 +100,10 @@ function processProgress(progress) {
if ( progress['gfs_complete'] == true ) {
if ( progress['pred_complete'] == true ) { // pred has finished
$("#prediction_status").html("Prediction finished.");
$("#status_message").fadeOut(500);
// now clear the status window
$("#prediction_status").html("");
$("#prediction_progress").progressbar("options", "value", 0);
$("#prediction_percent").html("");
// bring the input form back up
$("#input_form").show("slide", { direction: "down" }, 500);
$("#scenario_info").show("slide", { direction: "up" }, 500);
toggleWindow("scenario_template", "showHideDebug", "Show Debug",
"Hide Debug", "hide");
// un-fade the map canvas
$("#map_canvas").fadeTo(1500, 1);
appendDebug("Server says: the predictor finished running.");
appendDebug("Attemping to retrieve flight path from server");
// reset the GUI
resetGUI();
// stop polling for JSON
clearInterval(ajaxEventHandle);
// parse the data
@ -249,8 +258,10 @@ function setFormLatLon(GLatLng) {
function setLatLonByClick(state) {
if ( state == true ) {
clickListener = google.maps.event.addListener(map, 'click', function(event) {
$("#error_window").fadeOut();
setFormLatLon(event.latLng);
});
throwError("Now click your desired launch location on the map");
} else if ( state == false ) {
google.maps.event.removeListener(clickListener);
} else {
@ -311,11 +322,15 @@ function toggleWindow(window_name, linker, onhide, onshow, force) {
$("#"+linker).html(onshow);
}
} else if ( force == "hide" ) {
$("#"+window_name+"").hide("slide", { direction: "down" }, 500);
$("#"+linker).html(onhide);
if( $("#"+window_name).css('display') != "none" ){
$("#"+window_name+"").hide("slide", { direction: "down" }, 500);
$("#"+linker).html(onhide);
}
} else if ( force == "show") {
$("#"+window_name).show("slide", { direction: "down" }, 500);
$("#"+linker).html(onshow);
if( $("#"+window_name).css('display') == "none" ){
$("#"+window_name).show("slide", { direction: "down" }, 500);
$("#"+linker).html(onshow);
}
} else {
appendDebug("toggleWindow force parameter unrecognised");
}