diff options
-rw-r--r-- | static/longpolling.js | 17 | ||||
-rw-r--r-- | templates/longpolling.julius | 7 | ||||
-rw-r--r-- | templates/page.julius | 17 |
3 files changed, 23 insertions, 18 deletions
diff --git a/static/longpolling.js b/static/longpolling.js index 75c6faeaf..5b704acec 100644 --- a/static/longpolling.js +++ b/static/longpolling.js @@ -3,17 +3,7 @@ connfails=0; -connfailed= - '<div id="modal" class="modal fade">' + - ' <div class="modal-header">' + - ' <h3>git-annex has shut down</h3>' + - ' </div>' + - ' <div class="modal-body">' + - ' You can now close this browser window.' + - ' </div>' + - '</div>' ; - -function longpoll(url, divid, cont) { +function longpoll(url, divid, cont, fail) { $.ajax({ 'url': url, 'dataType': 'html', @@ -25,10 +15,7 @@ function longpoll(url, divid, cont) { 'error': function(jqxhr, msg, e) { connfails=connfails+1; if (connfails > 3) { - // blocked by many browsers - window.close(); - $('#modal').replaceWith(connfailed); - $('#modal').modal('show'); + fail(); } else { cont(); diff --git a/templates/longpolling.julius b/templates/longpolling.julius index d34d5b47d..520699cd7 100644 --- a/templates/longpolling.julius +++ b/templates/longpolling.julius @@ -1,8 +1,9 @@ // longpolling for #{ident} function poller#{ident}() { - longpoll('@{gethtml}', '#{ident}', function() { - setTimeout(poller#{ident}, #{delay}); - }); + longpoll('@{gethtml}', '#{ident}' + , function() { setTimeout(poller#{ident}, #{delay}); } + , function() { webapp_disconnected(); } + ); } $(function() { setTimeout(poller#{ident}, #{startdelay}); diff --git a/templates/page.julius b/templates/page.julius new file mode 100644 index 000000000..a9d0b4223 --- /dev/null +++ b/templates/page.julius @@ -0,0 +1,17 @@ +connfailed = + '<div id="modal" class="modal fade">' + + ' <div class="modal-header">' + + ' <h3>git-annex has shut down</h3>' + + ' </div>' + + ' <div class="modal-body">' + + ' You can now close this browser window.' + + ' </div>' + + '</div>' ; + +function webapp_disconnected () { + $('#modal').replaceWith(connfailed); + $('#modal').modal('show'); + + // ideal, but blocked by many browsers + window.close(); +} |