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

View File

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