fix message race condition

This commit is contained in:
Christian Herzog
2020-04-15 21:40:00 +02:00
parent 0a32f38f91
commit cac9d329e1
2 changed files with 13 additions and 11 deletions

View File

@@ -667,8 +667,8 @@ function refreshAPHTML(data){
} }
function getMessages() { function getMessages() {
$.getJSON("/messages.json?1", function(data) { $.getJSON("/messages.json?1", async function(data) {
data.forEach(function(msg) { for (const msg of data) {
var msg_age = msg["current_time"] - msg["sent_time"]; var msg_age = msg["current_time"] - msg["sent_time"];
var msg_time = new Date(); var msg_time = new Date();
msg_time.setTime( msg_time.getTime() - msg_age ); msg_time.setTime( msg_time.getTime() - msg_age );
@@ -701,7 +701,7 @@ function getMessages() {
}); });
break; break;
case "MESSAGING_CLASS_SYSTEM": case "MESSAGING_CLASS_SYSTEM":
showMessage(msg["message"], msg["type"],msg_age); var r = await showMessage(msg["message"], msg["type"],msg_age);
$("#syslogTable").append( $("#syslogTable").append(
"<tr class='"+msg["type"]+"'>"+ "<tr class='"+msg["type"]+"'>"+
@@ -713,8 +713,7 @@ function getMessages() {
default: default:
break; break;
} }
}); }
}) })
.fail(function(xhr, ajaxOptions, thrownError) { .fail(function(xhr, ajaxOptions, thrownError) {
console.log(xhr.status); console.log(xhr.status);
@@ -961,16 +960,18 @@ function showMessage(message, severity, age=0) {
} }
$('#message').html(message); $('#message').html(message);
return new Promise(function(resolve, reject) {
$("#content").fadeTo("slow", 0.3, function() { $("#content").fadeTo("slow", 0.3, function() {
$("#message").show(500).delay(5000).hide(500, function() { $("#message").show(500).delay(5000).hide(500, function() {
$("#content").fadeTo("slow", 1.0); $("#content").fadeTo("slow", 1.0, function() {
resolve(true);
}); });
}); });
});
});
} }
function inRange(x, min, max) { function inRange(x, min, max) {
return ((x-min)*(x-max) <= 0); return ((x-min)*(x-max) <= 0);
} }

View File

@@ -386,6 +386,7 @@ div#message {
margin-top: -2em; /*set to a negative number 1/2 of your height*/ margin-top: -2em; /*set to a negative number 1/2 of your height*/
border-radius: 8px; border-radius: 8px;
box-shadow: 0px 5px 2px -5px rgba(255, 255, 255, 0.5) inset, 0px 10px 20px -5px rgba(255, 255, 255, 0.1) inset, 0 0px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 1px rgba(0, 0, 0, 0.12), 0 1px 10px 0 rgba(0, 0, 0, 0.3); box-shadow: 0px 5px 2px -5px rgba(255, 255, 255, 0.5) inset, 0px 10px 20px -5px rgba(255, 255, 255, 0.1) inset, 0 0px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 1px rgba(0, 0, 0, 0.12), 0 1px 10px 0 rgba(0, 0, 0, 0.3);
z-index: 20;
} }
tr.hide { tr.hide {