Add loading overlay for ajax requests
This commit is contained in:
@@ -764,4 +764,69 @@ select option:disabled {
|
|||||||
.packet-button:hover{
|
.packet-button:hover{
|
||||||
color:lightblue;
|
color:lightblue;
|
||||||
border-color:blue;
|
border-color:blue;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sk-cube-grid {
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
position: fixed;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sk-cube-grid .sk-cube {
|
||||||
|
width: 33%;
|
||||||
|
height: 33%;
|
||||||
|
background-color: #4527A0;
|
||||||
|
float: left;
|
||||||
|
-webkit-animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
|
||||||
|
animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
|
||||||
|
}
|
||||||
|
.sk-cube-grid .sk-cube1 {
|
||||||
|
-webkit-animation-delay: 0.2s;
|
||||||
|
animation-delay: 0.2s; }
|
||||||
|
.sk-cube-grid .sk-cube2 {
|
||||||
|
-webkit-animation-delay: 0.3s;
|
||||||
|
animation-delay: 0.3s; }
|
||||||
|
.sk-cube-grid .sk-cube3 {
|
||||||
|
-webkit-animation-delay: 0.4s;
|
||||||
|
animation-delay: 0.4s; }
|
||||||
|
.sk-cube-grid .sk-cube4 {
|
||||||
|
-webkit-animation-delay: 0.1s;
|
||||||
|
animation-delay: 0.1s; }
|
||||||
|
.sk-cube-grid .sk-cube5 {
|
||||||
|
-webkit-animation-delay: 0.2s;
|
||||||
|
animation-delay: 0.2s; }
|
||||||
|
.sk-cube-grid .sk-cube6 {
|
||||||
|
-webkit-animation-delay: 0.3s;
|
||||||
|
animation-delay: 0.3s; }
|
||||||
|
.sk-cube-grid .sk-cube7 {
|
||||||
|
-webkit-animation-delay: 0s;
|
||||||
|
animation-delay: 0s; }
|
||||||
|
.sk-cube-grid .sk-cube8 {
|
||||||
|
-webkit-animation-delay: 0.1s;
|
||||||
|
animation-delay: 0.1s; }
|
||||||
|
.sk-cube-grid .sk-cube9 {
|
||||||
|
-webkit-animation-delay: 0.2s;
|
||||||
|
animation-delay: 0.2s; }
|
||||||
|
|
||||||
|
@-webkit-keyframes sk-cubeGridScaleDelay {
|
||||||
|
0%, 70%, 100% {
|
||||||
|
-webkit-transform: scale3D(1, 1, 1);
|
||||||
|
transform: scale3D(1, 1, 1);
|
||||||
|
} 35% {
|
||||||
|
-webkit-transform: scale3D(0, 0, 1);
|
||||||
|
transform: scale3D(0, 0, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes sk-cubeGridScaleDelay {
|
||||||
|
0%, 70%, 100% {
|
||||||
|
-webkit-transform: scale3D(1, 1, 1);
|
||||||
|
transform: scale3D(1, 1, 1);
|
||||||
|
} 35% {
|
||||||
|
-webkit-transform: scale3D(0, 0, 1);
|
||||||
|
transform: scale3D(0, 0, 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+14
@@ -96,6 +96,20 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div id="loading" class="fullscreen-overlay">
|
||||||
|
<div class="sk-cube-grid full">
|
||||||
|
<div class="sk-cube sk-cube1"></div>
|
||||||
|
<div class="sk-cube sk-cube2"></div>
|
||||||
|
<div class="sk-cube sk-cube3"></div>
|
||||||
|
<div class="sk-cube sk-cube4"></div>
|
||||||
|
<div class="sk-cube sk-cube5"></div>
|
||||||
|
<div class="sk-cube sk-cube6"></div>
|
||||||
|
<div class="sk-cube sk-cube7"></div>
|
||||||
|
<div class="sk-cube sk-cube8"></div>
|
||||||
|
<div class="sk-cube sk-cube9"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<script src="lib/jquery-3.4.1.min.js" type="text/javascript"></script>
|
<script src="lib/jquery-3.4.1.min.js" type="text/javascript"></script>
|
||||||
<script src="lib/hammer.js"></script>
|
<script src="lib/hammer.js"></script>
|
||||||
<script src="lib/cornerstone.js"></script>
|
<script src="lib/cornerstone.js"></script>
|
||||||
|
|||||||
@@ -1577,3 +1577,11 @@ $("#start-exam-button").click(function (evt) {
|
|||||||
window.cid = parseInt($("#candidate-number").val());
|
window.cid = parseInt($("#candidate-number").val());
|
||||||
$.modal.close();
|
$.modal.close();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$(document).ajaxStart(function () {
|
||||||
|
$("#loading").show();
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).ajaxComplete(function () {
|
||||||
|
$("#loading").hide();
|
||||||
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user