From 7f38357cea01ba6806dbf89cd02ef87972d46431 Mon Sep 17 00:00:00 2001
From: Pithon Kabiro <pithon.kabiro@hft-stuttgart.de>
Date: Wed, 21 Jul 2021 21:35:16 +0200
Subject: [PATCH] Add HTML and CSS for a loading indicator

---
 index.html                    |   4 ++++
 public/css/stylesCustom.css   |  25 +++++++++++++++++++++++++
 public/images/ajax-loader.gif | Bin 0 -> 6820 bytes
 3 files changed, 29 insertions(+)
 create mode 100644 public/images/ajax-loader.gif

diff --git a/index.html b/index.html
index d0974a6..cb19eb4 100644
--- a/index.html
+++ b/index.html
@@ -178,6 +178,10 @@
                       <br /> -->
                     </div>
                     <div id="cesiumGlobeContainer"></div>
+                    <!-- This div is empty; we use it for the loading indicator -->
+                    <div id="loadingIndicator" class="cover">
+                      <div id="loadingIcon" class="loadingIndicator"></div>
+                    </div>
                   </div>
                 </div>
               </div>
diff --git a/public/css/stylesCustom.css b/public/css/stylesCustom.css
index e3cbb70..aecb27e 100644
--- a/public/css/stylesCustom.css
+++ b/public/css/stylesCustom.css
@@ -36,3 +36,28 @@
 .hidden {
   visibility: hidden;
 }
+
+.loadingIndicator {
+  display: none;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  margin-top: -33px;
+  margin-left: -33px;
+  width: 66px;
+  height: 66px;
+  background: url(../images/ajax-loader.gif) center no-repeat;
+}
+
+.cover {
+  display: none;
+  position: absolute;
+  background-color: rgba(0, 0, 0, 0.75);
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+
+  /* value should be larger than that for our custom toolbar so that it is drawn on top of it*/
+  z-index: 15;
+}
diff --git a/public/images/ajax-loader.gif b/public/images/ajax-loader.gif
new file mode 100644
index 0000000000000000000000000000000000000000..9b92efe0fa2cb697be67dfcf6797d87ce8a5a29f
GIT binary patch
literal 6820
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

literal 0
HcmV?d00001

-- 
GitLab