feat(kabelname): Anzeige des Kabelnamens statt Bezeichnung unter jedem Modul (Änderungswunsch)
This commit is contained in:
15
CHANGELOG.md
15
CHANGELOG.md
@@ -4,6 +4,21 @@ Alle Änderungen und Versionen des CPLv4.0 Frontends chronologisch dokumentiert.
|
||||
|
||||
---
|
||||
|
||||
## [1.6.407] – 2025-06-16
|
||||
|
||||
### Feature: Kabelname statt Bezeichnung
|
||||
|
||||
- In `Kue705FO.tsx` wird jetzt **der Kabelname (`kueName`)** unterhalb jedes Moduls angezeigt, statt der bisherigen Kabelbezeichnung (`kueID`)
|
||||
- Im Einstellungsmodal (`KueEinstellung.tsx`) wurde:
|
||||
- `kueID` als **readOnly** markiert (nicht mehr beschreibbar)
|
||||
- Ein neues editierbares Feld für `kueName` hinzugefügt
|
||||
- Hochkommas `'` werden automatisch entfernt
|
||||
- Änderungen werden dauerhaft per `&KIA${slot}=${name}` an das CPL-Gerät gesendet
|
||||
- State & `window.win_kueName` werden synchronisiert, damit Änderungen sofort und dauerhaft angezeigt werden
|
||||
- Debug-Funktion für `fetch`-Monitoring entfernt
|
||||
|
||||
---
|
||||
|
||||
## [1.6.403] – 2025-05-13
|
||||
|
||||
### Sicherheit & UI
|
||||
|
||||
@@ -41,6 +41,7 @@ const Kue705FO: React.FC<Kue705FOProps> = ({
|
||||
);
|
||||
|
||||
const dispatch = useDispatch();
|
||||
const { kueName } = useSelector((state: RootState) => state.kueDataSlice);
|
||||
|
||||
const chartRef = useRef(null);
|
||||
|
||||
@@ -262,7 +263,7 @@ const Kue705FO: React.FC<Kue705FOProps> = ({
|
||||
<div className="absolute top-[2.5rem] left-[4.688rem] w-[2.5rem] h-[0.188rem] bg-white z-0"></div>
|
||||
|
||||
<div className="absolute bottom-[1.25rem] left-0 right-0 text-black text-[0.625rem] bg-gray-300 p-[0.063rem] text-center">
|
||||
{currentModulName || `Modul ${slotIndex + 1}`}
|
||||
{kueName?.[slotIndex] || `Modul ${slotIndex + 1}`}
|
||||
</div>
|
||||
|
||||
<div className="absolute bottom-[0.063rem] right-[0.063rem] text-black text-[0.5rem]">
|
||||
|
||||
@@ -3,6 +3,7 @@ import { setKueData } from "../../../../../redux/slices/kueDataSlice";
|
||||
|
||||
export interface OriginalValues {
|
||||
kueID: string[];
|
||||
kueName: string[];
|
||||
isolationsgrenzwerte: number[];
|
||||
verzoegerung: number[];
|
||||
untereSchleifenGrenzwerte: number[];
|
||||
@@ -13,6 +14,7 @@ export interface OriginalValues {
|
||||
|
||||
export interface HandleSaveParams {
|
||||
ids: string[];
|
||||
kueName: string[];
|
||||
isolationsgrenzwerte: number[];
|
||||
verzoegerung: number[];
|
||||
untereSchleifenGrenzwerte: number[];
|
||||
@@ -21,6 +23,7 @@ export interface HandleSaveParams {
|
||||
speicherintervall: number[];
|
||||
originalValues: {
|
||||
kueID: string[];
|
||||
kueName: string[];
|
||||
isolationsgrenzwerte: number[];
|
||||
verzoegerung: number[];
|
||||
untereSchleifenGrenzwerte: number[];
|
||||
@@ -46,6 +49,7 @@ const isDifferent = (a: any, b: any): boolean => {
|
||||
|
||||
const handleSave = async ({
|
||||
ids,
|
||||
kueName,
|
||||
isolationsgrenzwerte,
|
||||
verzoegerung,
|
||||
untereSchleifenGrenzwerte,
|
||||
@@ -63,6 +67,11 @@ const handleSave = async ({
|
||||
if (isDifferent(ids[slot], originalValues.kueID[slot])) {
|
||||
changesForFile.KID = ids[slot];
|
||||
}
|
||||
|
||||
if (isDifferent(kueName[slot], originalValues.kueName[slot])) {
|
||||
changesForFile.KIA = kueName[slot];
|
||||
}
|
||||
|
||||
if (
|
||||
isDifferent(
|
||||
isolationsgrenzwerte[slot],
|
||||
@@ -111,6 +120,7 @@ const handleSave = async ({
|
||||
if (isDev) {
|
||||
const keyMap: Record<string, string> = {
|
||||
KID: "win_kueID",
|
||||
KIA: "win_kueName",
|
||||
KL_: "win_kueLimit1",
|
||||
KD_: "win_kueDelay1",
|
||||
KR_: "win_kueLimit2Low",
|
||||
@@ -166,6 +176,7 @@ const handleSave = async ({
|
||||
dispatch(
|
||||
setKueData({
|
||||
kueID: [...ids],
|
||||
kueName: [...kueName],
|
||||
isolationsgrenzwerte: [...isolationsgrenzwerte],
|
||||
verzoegerung: [...verzoegerung],
|
||||
untereSchleifenGrenzwerte: [...untereSchleifenGrenzwerte],
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
// KueEinstellung.tsx – final überarbeitet: formData wird direkt nach dem Speichern aktualisiert
|
||||
|
||||
"use client";
|
||||
|
||||
import { useState } from "react";
|
||||
import { useState, useEffect } from "react";
|
||||
import { useDispatch, useSelector } from "react-redux";
|
||||
import type { RootState } from "../../../../../redux/store";
|
||||
import handleSave from "../handlers/handleSave";
|
||||
@@ -78,8 +76,11 @@ export default function KueEinstellung({
|
||||
|
||||
const handleSaveWrapper = async () => {
|
||||
const updatedKueID = [...kueID];
|
||||
updatedKueID[slot] = formData.kueID;
|
||||
|
||||
//updatedKueID[slot] = formData.kueID;
|
||||
/* if (Object.isFrozen(kueID)) {
|
||||
console.warn("kueID ist readonly!");
|
||||
}
|
||||
*/
|
||||
const updatedKueName = [...kueName];
|
||||
updatedKueName[slot] = formData.kueName;
|
||||
|
||||
@@ -116,7 +117,7 @@ export default function KueEinstellung({
|
||||
// 🔧 handleSave aufrufen mit allen Daten
|
||||
await handleSave({
|
||||
slot,
|
||||
ids: updatedKueID,
|
||||
ids: kueID,
|
||||
kueName: updatedKueName,
|
||||
isolationsgrenzwerte: updatedLimit1,
|
||||
verzoegerung: updatedDelay1,
|
||||
@@ -135,7 +136,7 @@ export default function KueEinstellung({
|
||||
speicherintervall: memoryInterval,
|
||||
},
|
||||
dispatch,
|
||||
onModulNameChange,
|
||||
onModulNameChange: onModulNameChange ?? (() => {}),
|
||||
onClose,
|
||||
});
|
||||
};
|
||||
|
||||
@@ -6,5 +6,5 @@
|
||||
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
||||
|
||||
*/
|
||||
const webVersion = "1.6.406";
|
||||
const webVersion = "1.6.407";
|
||||
export default webVersion;
|
||||
|
||||
@@ -16,7 +16,7 @@ interface KueDataState {
|
||||
//-----------------------
|
||||
kueOnline: number[];
|
||||
kueID: string[];
|
||||
kueName?: string[];
|
||||
kueName: string[];
|
||||
kuePSTmMinus96V: number[];
|
||||
kueAlarm1: number[];
|
||||
kueAlarm2: number[];
|
||||
|
||||
@@ -68,6 +68,7 @@ export async function loadWindowVariables(): Promise<{
|
||||
? {
|
||||
kueOnline: win.win_kueOnline || [],
|
||||
kueID: win.win_kueID || [],
|
||||
kueName: win.win_kueName || [],
|
||||
kuePSTmMinus96V: win.win_kuePSTmMinus96V || [],
|
||||
kueAlarm1: win.win_kueAlarm1 || [],
|
||||
kueAlarm2: win.win_kueAlarm2 || [],
|
||||
|
||||
Reference in New Issue
Block a user