Browse Source

change wait message screen

Jason Rivard 7 years ago
parent
commit
3e1e903ad6

+ 36 - 39
server/src/main/webapp/public/resources/js/main.js

@@ -702,35 +702,38 @@ PWM_MAIN.showErrorDialog = function(error, options) {
 };
 
 PWM_MAIN.showWaitDialog = function(options) {
-    require(["dojo","dijit/Dialog","dijit/ProgressBar"],function(dojo,Dialog,ProgressBar){
-        options = options || {};
-        var requestedLoadFunction = options['loadFunction'];
-        options['loadFunction'] = function() {
-            PWM_MAIN.clearDijitWidget('progressBar');
-            var progressBar = new ProgressBar({
-                style: '',
-                indeterminate:true
-            },"progressBar");
-            PWM_MAIN.preloadResources(function(){
-                if (requestedLoadFunction) {
-                    requestedLoadFunction();
-                }
-            });
-        };
-        options['title'] = options['title'] || PWM_MAIN.showString('Display_PleaseWait');
-        var supportsProgress = (document.createElement('progress').max !== undefined);
-        if (supportsProgress) {
-            options['text'] = options['text'] || '<progress id="wait">';
-        } else {
-            options['text'] = options['text'] || '<div id="progressBar" style="margin: 8px; width: 100%"/>';
-        }
+    PWM_MAIN.closeWaitDialog();
 
+    options = options || {};
+    options['title'] = options['title'] || '';
 
-        options['dialogClass'] = 'narrow';
-        options['showOk'] = false;
+    var waitOverlayDiv = document.createElement('div');
+    waitOverlayDiv.setAttribute('id','wait-overlay');
+    document.body.appendChild(waitOverlayDiv);
 
-        PWM_MAIN.showDialog(options);
-    });
+    var waitOverlayMessage = document.createElement('div');
+    waitOverlayMessage.setAttribute('id','wait-overlay-message');
+    waitOverlayMessage.innerHTML = '<span>' + options['title'] + '</span><div id="wait-overlay-inner"></div>';
+    document.body.appendChild(waitOverlayMessage);
+
+    if ('loadFunction' in options) {
+        options.loadFunction();
+    }
+};
+
+PWM_MAIN.closeWaitDialog = function(idName) {
+
+    var html5Mode = PWM_MAIN.html5DialogSupport();
+    if (html5Mode) {
+        if (PWM_MAIN.getObject('html5Dialog')) {
+            PWM_MAIN.getObject('html5Dialog').parentNode.removeChild(PWM_MAIN.getObject('html5Dialog'));
+        }
+    }
+
+    idName = idName === undefined ? 'dialogPopup' : idName;
+    PWM_MAIN.clearDijitWidget(idName);
+    PWM_MAIN.JSLibrary.removeElementFromDom('wait-overlay');
+    PWM_MAIN.JSLibrary.removeElementFromDom('wait-overlay-message');
 };
 
 PWM_MAIN.html5DialogSupport = function() {
@@ -923,19 +926,6 @@ PWM_MAIN.showConfirmDialog = function(options) {
     PWM_MAIN.showDialog(options);
 };
 
-PWM_MAIN.closeWaitDialog = function(idName) {
-    var html5Mode = PWM_MAIN.html5DialogSupport();
-    if (html5Mode) {
-        if (PWM_MAIN.getObject('html5Dialog')) {
-            PWM_MAIN.getObject('html5Dialog').parentNode.removeChild(PWM_MAIN.getObject('html5Dialog'));
-        }
-        return;
-    }
-
-    idName = idName === undefined ? 'dialogPopup' : idName;
-    PWM_MAIN.clearDijitWidget(idName);
-};
-
 PWM_MAIN.clearError=function() {
     PWM_GLOBAL['messageStatus'] = '';
     PWM_MAIN.doShow('messageStatus','\u00a0');
@@ -1330,6 +1320,13 @@ PWM_MAIN.JSLibrary.setValueOfSelectElement = function(nodeID, value) {
     }
 };
 
+PWM_MAIN.JSLibrary.removeElementFromDom = function(elementID) {
+    var element = PWM_MAIN.getObject(elementID);
+    if (element) {
+        element.parentNode.removeChild(element);
+    }
+};
+
 PWM_MAIN.toggleFullscreen = function(iconObj,divName) {
     var obj = PWM_MAIN.getObject(divName);
 

BIN
server/src/main/webapp/public/resources/loading.gif


+ 55 - 0
server/src/main/webapp/public/resources/style.css

@@ -1190,3 +1190,58 @@ html[dir="rtl"] .nihilo .dijitTabContainerTop-tabs {
 html[dir="rtl"] .nihilo .dijitTabContainerTop-tabs > .dijitTabContent:first-child {
     margin-right: 10px;
 }
+
+
+@keyframes wait-fadein {
+    0% { opacity: 0 }
+    20% { opacity: 0 }
+    100% { opacity: 0.6 }
+}
+#wait-overlay {
+    position:fixed;
+    top:0;
+    bottom:0;
+    left:0;
+    right:0;
+    background-color: black;
+    opacity: 0.6;
+    z-index:1001;
+    animation: wait-fadein 5s;
+    cursor: wait;
+}
+
+@keyframes wait-fadein-message {
+    0% { opacity: 0 }
+    50% { opacity: 0 }
+    100% { opacity: 1 }
+}
+#wait-overlay-message{
+    cursor: wait;
+    position: absolute;
+    margin: auto;
+    opacity: 1;
+    padding: 15px;
+    text-align:center;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    left: 0;
+    width: 500px;
+    height: 100px;
+    border-radius: 3px;
+    z-index:1002;
+    animation: wait-fadein-message 2s;
+    background-color: white;
+    background-image: url('loading.gif');
+    background-repeat: no-repeat;
+    background-position: center;
+}
+
+#wait-overlay-inner {
+    margin-left: auto;
+    margin-right: auto;
+    width: 50px;
+    height: 50px;
+    position: relative;
+    z-index:1003;
+}