Files
CPLv4.0/components/main/einausgaenge
ISA d4ba8f5b2e feat: Integration von CGI-Platzhaltern für digitale Ausgänge (DASx, DANx)
- Platzhalter in da.js auf neue Struktur (DAS1–DAS4, DAN1–DAN4) umgestellt
- fetchDigitalOutputsService liest Werte dynamisch über da.js vom CPL-Webserver
- Schreibvorgänge via window.location.href mit CGI-Parametern (DASx=, DANx=)
- Umschaltlogik zwischen Entwicklungs- und Produktionsmodus eingebaut
- Modal-Speichern aktualisiert sowohl Status als auch Bezeichnung per CGI
- Unterstützung für lokale Mockdaten über API bleibt bestehen
2025-05-09 10:59:18 +02:00
..

🧩 Datenfluss CPLv4.0 Digitale Eingänge

classDiagram

class EmbeddedServer {
  + Generiert de.js per CGI
  + Ersetzt Platzhalter wie <%=DES81%>
  + Kein Node.js vorhanden
}

class DeJS {
  + JavaScript mit konkreten Werten
  + Beispiel: win_de_state, win_de_label
}

class FrontendLoader {
  + Lädt de.js dynamisch mit script-Tag
  + Pfad: /CPL?/CPL/SERVICE/de.js
}

class DatenMapper {
  + Wandelt window-Variablen in Objekte
  + Wandelt in strukturierte Eingangs-Daten
}

class ReduxStore {
  + digitalInputsSlice
  + Speichert die Eingänge im State
}

class ReactComponent {
  + DigitalInputs.tsx
  + useSelector: Zugriff auf Redux
  + Darstellung mit Tailwind
}

EmbeddedServer --> DeJS : erstellt per CGI
DeJS --> FrontendLoader : wird per Script geladen
FrontendLoader --> DatenMapper : verarbeitet window-Variablen
DatenMapper --> ReduxStore : dispatch(setInputs)
ReduxStore --> ReactComponent : useSelector() → Anzeige