summaryrefslogtreecommitdiff
path: root/yaksh/static
diff options
context:
space:
mode:
Diffstat (limited to 'yaksh/static')
-rw-r--r--yaksh/static/yaksh/js/requesthandler.js19
1 files changed, 18 insertions, 1 deletions
diff --git a/yaksh/static/yaksh/js/requesthandler.js b/yaksh/static/yaksh/js/requesthandler.js
index f653da1..c5629ab 100644
--- a/yaksh/static/yaksh/js/requesthandler.js
+++ b/yaksh/static/yaksh/js/requesthandler.js
@@ -1,22 +1,25 @@
request_status = "initial"
count = 0;
+checker = null
function submitRequest(){
document.forms["code"].submit();
}
function check_state(state, uid) {
- if ((state == "running" || state == "not started") && count < 15) {
+ if ((state == "running" || state == "not started") && count < 7) {
count++;
setTimeout(function() {get_result(uid);}, 2000);
} else if (state == "unknown") {
request_status = "initial";
count = 0;
notify("You are requesting for a wrong data");
+ clearInterval(checker);
unlock_screen();
} else {
request_status = "initial";
count = 0;
notify("Please try after few minutes");
+ clearInterval(checker);
unlock_screen();
}
}
@@ -36,6 +39,13 @@ function unlock_screen() {
document.getElementById("ontop").style.display = "none";
}
+function check_lock_screen() {
+ var $ontop_div = document.getElementById("ontop");
+ if ($ontop_div.style.display == "block") {
+ $ontop_div.style.display = "none";
+ }
+}
+
function get_result(uid){
$.ajax({
method: "GET",
@@ -44,6 +54,7 @@ function get_result(uid){
success: function(data, status, xhr) {
content_type = xhr.getResponseHeader("content-type");
if(content_type.includes("text/html")) {
+ clearInterval(checker);
unlock_screen();
document.open();
document.write(data);
@@ -55,12 +66,14 @@ function get_result(uid){
} else {
request_status = "initial";
count = 0;
+ clearInterval(checker);
unlock_screen();
}
},
error: function(xhr, text_status, error_thrown ) {
request_status = "initial";
count = 0;
+ clearInterval(checker);
unlock_screen();
notify("There is some problem. Try later.")
}
@@ -103,6 +116,7 @@ $(document).ready(function(){
global_editor.editor.clearHistory();
}
$('#code').submit(function(e) {
+ checker = setInterval(check_lock_screen, 30000);
lock_screen();
$.ajax({
type: 'POST',
@@ -114,6 +128,7 @@ $(document).ready(function(){
if(content_type.includes("text/html")) {
request_status = "initial"
count = 0;
+ clearInterval(checker);
unlock_screen();
document.open();
document.write(data);
@@ -126,12 +141,14 @@ $(document).ready(function(){
} else {
request_status = "initial";
count = 0;
+ clearInterval(checker);
unlock_screen();
}
},
error: function(xhr, text_status, error_thrown ) {
request_status = "initial";
count = 0;
+ clearInterval(checker);
unlock_screen();
notify("There is some problem. Try later.")
}