function setup() { $.ajaxSetup({ timeout: 30000 }); $("#cmdline").ajaxForm({ url: "/eow/command", type: "GET" }); } function eowOut(output) { $("#output").append("
" + output + "
"); $("input")[0].scrollIntoView(false); } function get_next_update() { $.ajax({ url: "/eow/update", dataType: "script", success: function(data, textStatus) { console.log(textStatus + " " + data); }, error: function(xhr, textStatus, error) { if (textStatus == "timeout") { xhr.abort(); next(); } console.error("HTTP status code: ", xhr.status); } }); } function submit_cmdline(command) { $.ajax({ // The following URL must match that used to test the server. url: "/eow/command", dataType: "text", timeout: 30000, // Time in milliseconds // The LOAD function will be called on a successful response. success: function(data, textStatus) { console.log(textStatus + " " + data); }, // The ERROR function will be called in an error case. error: function(xhr, textStatus, error) { if (textStatus == "timeout") { xhr.abort(); } console.error("HTTP status code: ", xhr.status); }, data: { "q": command } }); } function prompt(p) { $("#prompt").text(p); } function msg(m) { eowOut(m); } function next() { get_next_update(); } function setup_client() { $("#inputfield").focus(); } function inputfield_keyup(e) { if (e.keyCode == 13) { // Enter eowOut($("#prompt").text() + e.target.value); submit_cmdline(e.target.value); window.scrollTo(0, window.scrollMaxY); e.target.value = ""; } }