feat: Projekt von JavaScript zu TypeScript migriert

This commit is contained in:
Ismail Ali
2025-01-25 00:20:19 +01:00
parent fde7cf33c4
commit 4f809877ea
45 changed files with 579 additions and 291 deletions

View File

@@ -1,4 +1,4 @@
const firmwareUpdate = (slot) => {
const firmwareUpdate = (slot: number) => {
const url = `${window.location.origin}/CPL?/kabelueberwachung.html&KSU${slot}=1`;
fetch(url, { method: "GET" })
.then((response) => {

View File

@@ -1,10 +0,0 @@
// Funktionen zur Änderung der Werte
const handleChange = (setter, e, slot) => {
const value = e.target.value;
setter((prev) => {
const updated = [...prev];
updated[slot] = value;
return updated;
});
};
export default handleChange;

View File

@@ -0,0 +1,18 @@
import { Dispatch, SetStateAction } from "react";
// Funktion zur Änderung der Werte
const handleChange = (
setter: Dispatch<SetStateAction<any[]>>, // Typ für den Setter
e: React.ChangeEvent<HTMLInputElement>, // Typ für das Event
slot: number // Typ für den Slot
) => {
const value = e.target.value;
setter((prev: any[]) => {
// Typ für den vorherigen Zustand
const updated = [...prev];
updated[slot] = value;
return updated;
});
};
export default handleChange;

View File

@@ -1,4 +1,4 @@
const handleDisplayEinschalten = (slot) => {
const handleDisplayEinschalten = (slot: number) => {
const url = `/CPL?/kabelueberwachung.html&KSD${slot}=1`;
fetch(url, { method: "GET" })
.then((response) => {

View File

@@ -1,4 +1,31 @@
import { updateValues } from "../../../../store/variablesSlice";
// components/modales/kueModal/handlers/handleSave.ts
import { setVariables } from "../../../../store/variablesSlice";
export interface OriginalValues {
kueID: string[];
kueBezeichnungen: string[];
isolationsgrenzwerte: number[];
verzoegerung: number[];
untereSchleifenGrenzwerte: number[];
obereSchleifenGrenzwerte: number[];
schleifenintervall: number[];
}
interface HandleSaveParams {
ids: string[]; // kueID im Redux-Slice
bezeichnungen: string[]; // kueBezeichnungen im Redux-Slice
isolationsgrenzwerte: number[];
verzoegerung: number[];
untereSchleifenGrenzwerte: number[];
obereSchleifenGrenzwerte: number[];
schleifenintervall: number[];
originalValues: OriginalValues;
slot: number;
dispatch: (action: any) => void;
onModulNameChange: (id: string) => void;
onClose: () => void;
}
const handleSave = ({
ids,
bezeichnungen,
@@ -12,14 +39,21 @@ const handleSave = ({
dispatch,
onModulNameChange,
onClose,
}) => {
const changes = {};
}: HandleSaveParams): void => {
const changes: Partial<{
KID: string;
KIA: string;
KL_: number;
KD_: number;
KR_: number;
KRO_: number;
KRI: number;
}> = {};
// Überprüfen, ob Änderungen gegenüber den Originalwerten vorliegen
if (ids[slot] !== originalValues.ids[slot]) {
if (ids[slot] !== originalValues.kueID[slot]) {
changes.KID = ids[slot];
}
if (bezeichnungen[slot] !== originalValues.bezeichnungen[slot]) {
if (bezeichnungen[slot] !== originalValues.kueBezeichnungen[slot]) {
changes.KIA = bezeichnungen[slot];
}
if (
@@ -48,8 +82,10 @@ const handleSave = ({
if (Object.keys(changes).length > 0) {
let url = `/cpl?/kabelueberwachung.html&slot=${slot}`;
Object.keys(changes).forEach((paramKey) => {
url += `&${paramKey}${slot}=${encodeURIComponent(changes[paramKey])}`;
Object.entries(changes).forEach(([paramKey, paramValue]) => {
if (paramValue !== undefined) {
url += `&${paramKey}${slot}=${encodeURIComponent(paramValue)}`;
}
});
fetch(url, { method: "GET" })
@@ -58,11 +94,10 @@ const handleSave = ({
alert("Daten erfolgreich gespeichert!");
onModulNameChange(ids[slot]);
// Aktualisiere Redux-Store mit neuen Werten
dispatch(
updateValues({
ids: [...ids],
bezeichnungen: [...bezeichnungen],
setVariables({
kueID: [...ids],
kueBezeichnungen: [...bezeichnungen],
isolationsgrenzwerte: [...isolationsgrenzwerte],
verzoegerung: [...verzoegerung],
untereSchleifenGrenzwerte: [...untereSchleifenGrenzwerte],
@@ -76,7 +111,7 @@ const handleSave = ({
})
.catch((error) => {
console.error("Fehler:", error);
//alert("Fehler beim Senden der Daten!");
alert("Fehler beim Senden der Daten!");
});
} else {
alert("Keine Änderungen vorgenommen.");