From bc2c19dad1abf622b55f4f779b9bd6e21d3d1c41 Mon Sep 17 00:00:00 2001 From: Marcel Peterkau Date: Mon, 15 Jan 2024 23:57:43 +0100 Subject: [PATCH] reworked dtc-javascript and colors of notifications --- Software/data_src/static/css/custom.css | 24 ++--- Software/data_src/static/js/dtc_table.js | 130 +++++++++++------------ 2 files changed, 77 insertions(+), 77 deletions(-) diff --git a/Software/data_src/static/css/custom.css b/Software/data_src/static/css/custom.css index cfa42fe..0fc8fdb 100644 --- a/Software/data_src/static/css/custom.css +++ b/Software/data_src/static/css/custom.css @@ -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 { diff --git a/Software/data_src/static/js/dtc_table.js b/Software/data_src/static/js/dtc_table.js index 38dfe0e..602a794 100644 --- a/Software/data_src/static/js/dtc_table.js +++ b/Software/data_src/static/js/dtc_table.js @@ -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,90 +13,90 @@ 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: - severity = "info"; - break; - case 2: - severity = "warning"; - break; - case 3: - severity = "error"; - 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); + switch (severity) { + case 1: + severity = "info"; + break; + case 2: + severity = "warning"; + break; + case 3: + severity = "danger"; + break; } - } else { - // DTC ist neu, Zustand speichern und Benachrichtigung anzeigen - dtcState[errorCode] = activity; - showNotification(dtctext, severity); + + 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(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) { - fetch(jsonFilePath) - .then((response) => response.json()) - .then((data) => { - const dtcList = data.dtc_table_data; - const foundEntry = dtcList.find((entry) => entry.num === number); +function getDescriptionForDTCNumber(number) { + return new Promise((resolve, reject) => { + fetch(jsonFilePath) + .then((response) => response.json()) + .then((data) => { + const dtcList = data.dtc_table_data; + const foundEntry = dtcList.find((entry) => entry.num === number); - if (foundEntry) { - const description = foundEntry.description; - const title = foundEntry.title; - callback(null, 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 - ); - } - }) - .catch((error) => { - // Im Fehlerfall geben Sie den Fehler zurück - callback(error, null, null); - }); + if (foundEntry) { + const description = foundEntry.description; + const title = foundEntry.title; + resolve({ title, description }); + } else { + // Wenn die Nummer nicht gefunden wurde, geben Sie einen Fehler zurück + reject(`Beschreibung für Nummer ${number} nicht gefunden.`); + } + }) + .catch((error) => { + // Im Fehlerfall geben Sie den Fehler zurück + 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"); + 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(".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(); - } + 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");