reworked dtc-javascript and colors of notifications

This commit is contained in:
Marcel Peterkau 2024-01-15 23:57:43 +01:00
parent 8f494dfa05
commit bc2c19dad1
2 changed files with 77 additions and 77 deletions

View File

@ -4075,9 +4075,9 @@ input[type=submit].btn-block {
}
.alert-success {
color: #012d36;
background-color: #ccdde1;
border-color: #b8d0d5
color: #002200;
background-color: #99ff99;
border-color: #20bb20
}
.alert-success hr {
@ -4089,9 +4089,9 @@ input[type=submit].btn-block {
}
.alert-info {
color: #084367;
background-color: #cfe6f4;
border-color: #bcdcef
color: #000022;
background-color: #99ddff;
border-color: #2040FF
}
.alert-info hr {
@ -4103,9 +4103,9 @@ input[type=submit].btn-block {
}
.alert-warning {
color: #07767a;
background-color: #cff9fb;
border-color: #bbf7f9
color: #222200;
background-color: #FFFF99;
border-color: #FFFF00
}
.alert-warning hr {
@ -4117,9 +4117,9 @@ input[type=submit].btn-block {
}
.alert-danger {
color: #851929;
background-color: #ffd6dc;
border-color: #ffc5ce
color: #200000;
background-color: #ffcccc;
border-color: #AA2020
}
.alert-danger hr {

View File

@ -2,7 +2,7 @@ const jsonFilePath = "static/dtc_table.json";
var dtcState = {};
function processDTCNotifications(dtcArray) {
async function processDTCNotifications(dtcArray) {
if (dtcArray.length === 0 || dtcArray[0] == "0") {
dtcState = {};
return;
@ -13,11 +13,9 @@ function processDTCNotifications(dtcArray) {
var errorCode = parseInt(dtcInfo[1]);
var activity = parseInt(dtcInfo[3]);
var severity = parseInt(dtcInfo[2]);
var dtctext;
getDescriptionForDTCNumber(errorCode, function (error, title, description) {
dtctext = description;
});
try {
var { title, description } = await getDescriptionForDTCNumber(errorCode);
switch (severity) {
case 1:
@ -27,7 +25,7 @@ function processDTCNotifications(dtcArray) {
severity = "warning";
break;
case 3:
severity = "error";
severity = "danger";
break;
}
@ -35,17 +33,21 @@ function processDTCNotifications(dtcArray) {
// Überprüfen, ob sich der Zustand von "previous" auf "active" geändert hat
if (activity !== dtcState[errorCode]) {
dtcState[errorCode] = activity;
if (activity === 1) showNotification(dtctext, severity);
if (activity === 1) showNotification(description, severity);
}
} else {
// DTC ist neu, Zustand speichern und Benachrichtigung anzeigen
dtcState[errorCode] = activity;
showNotification(dtctext, severity);
showNotification(description, severity);
}
} catch (error) {
console.error("Error processing DTC:", error);
}
}
}
function getDescriptionForDTCNumber(number, callback) {
function getDescriptionForDTCNumber(number) {
return new Promise((resolve, reject) => {
fetch(jsonFilePath)
.then((response) => response.json())
.then((data) => {
@ -55,48 +57,46 @@ function getDescriptionForDTCNumber(number, callback) {
if (foundEntry) {
const description = foundEntry.description;
const title = foundEntry.title;
callback(null, title, description);
resolve({ title, description });
} else {
// Wenn die Nummer nicht gefunden wurde, geben Sie einen Fehler zurück
callback(
`Beschreibung für Nummer ${number} nicht gefunden.`,
null,
null
);
reject(`Beschreibung für Nummer ${number} nicht gefunden.`);
}
})
.catch((error) => {
// Im Fehlerfall geben Sie den Fehler zurück
callback(error, null, null);
reject(error);
});
});
}
function showDTCModal(event) {
async function showDTCModal(event) {
var dtc = parseInt(event.currentTarget.getAttribute("data-dtc"));
var debugval = event.currentTarget.getAttribute("data-debugval");
var modal = $("#dtcModal");
getDescriptionForDTCNumber(dtc, function (error, title, description) {
if (error) {
console.error("Fehler beim Abrufen der Beschreibung:", error);
modal.find(".modal-title").text("Fehler");
modal
.find(".dtc-desc")
.text("DTC-Beschreibung konnte nicht geladen werden");
} else {
try {
var { title, description } = await getDescriptionForDTCNumber(dtc);
modal.find(".modal-title").text(title);
modal.find(".dtc-desc").text(description);
if (debugval > 0) {
modal.find(".dtc-debugval").text("Debugvalue: " + debugval);
} else {
modal.find(".dtc-debugval").remove();
}
} catch (error) {
console.error("Fehler beim Abrufen der Beschreibung:", error);
modal.find(".modal-title").text("Fehler");
modal.find(".dtc-desc").text("DTC-Beschreibung konnte nicht geladen werden");
}
});
// Modal anzeigen
modal.modal("show");
}
function fillDTCTable(dtcArray) {
// Referenz auf das Tabellen-Element
var table = document.getElementById("dtc_table");