From 9c0cbb71741e1b241244db87e7c6dbf58fb6ac2b Mon Sep 17 00:00:00 2001 From: Calin Crisan Date: Sat, 9 Nov 2013 13:34:17 +0200 Subject: [PATCH] added a main loading progress --- doc/todo.txt | 1 - settings_default.py | 3 +++ static/css/main.css | 6 ++++++ static/img/main-loading-progress.gif | Bin 0 -> 6532 bytes static/js/main.js | 11 ++++++++++- templates/main.html | 1 + 6 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 static/img/main-loading-progress.gif diff --git a/doc/todo.txt b/doc/todo.txt index c5f1c4d..73afdb5 100644 --- a/doc/todo.txt +++ b/doc/todo.txt @@ -1,4 +1,3 @@ --> add a loading progress when page loads -> order of the cams is a bit random -> disk usage at bottom -> make camera frames positions configurable diff --git a/settings_default.py b/settings_default.py index 6c60897..cce949a 100644 --- a/settings_default.py +++ b/settings_default.py @@ -37,3 +37,6 @@ CLEANUP_INTERVAL = 43200 # timeout in seconds to wait for responses when contacting a remote server REMOTE_REQUEST_TIMEOUT = 10 + +# timeout in seconds to wait for an access to a mjpg client before removing it +MJPG_CLIENT_TIMEOUT = 10 diff --git a/static/css/main.css b/static/css/main.css index 62b5cd4..847fc4a 100644 --- a/static/css/main.css +++ b/static/css/main.css @@ -127,6 +127,12 @@ img.logo { vertical-align: middle; } +img.main-loading-progress { + display: block; + margin: auto; + margin-top: 50px; +} + /* settings */ diff --git a/static/img/main-loading-progress.gif b/static/img/main-loading-progress.gif new file mode 100644 index 0000000000000000000000000000000000000000..4f7a78e284694958276aae14fb905e7a21433b12 GIT binary patch literal 6532 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 literal 0 HcmV?d00001 diff --git a/static/js/main.js b/static/js/main.js index 66c7e39..172dcb8 100644 --- a/static/js/main.js +++ b/static/js/main.js @@ -865,7 +865,16 @@ function fetchCurrentConfig() { updateConfigUi(); } - recreateCameraFrames(cameras); + var mainLoadingProgressImg = $('img.main-loading-progress'); + if (mainLoadingProgressImg.length) { + mainLoadingProgressImg.animate({'opacity': 0}, 200, function () { + recreateCameraFrames(cameras); + mainLoadingProgressImg.remove(); + }); + } + else { + recreateCameraFrames(cameras); + } }); } diff --git a/templates/main.html b/templates/main.html index 570d6e4..7a8694d 100644 --- a/templates/main.html +++ b/templates/main.html @@ -433,6 +433,7 @@ {% endif %}
+