feat: Zeitraum einstellbar in AnalogInputsChart mit Zoom- und Pan-Funktion umgesetzt
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
<!-- /docs/components/main/analogInputs/AnalogInputsSettingsModal.md -->
|
||||
|
||||
# ⚙️ AnalogInputsSettingsModal
|
||||
|
||||
Diese Komponente zeigt ein zentriertes Modal zur Konfiguration eines analogen Eingangs.
|
||||
|
||||
---
|
||||
|
||||
## 🧩 Funktion
|
||||
|
||||
- Wird angezeigt, wenn `isOpen` true ist und ein `selectedInput` gesetzt ist.
|
||||
- Zeigt alle relevanten Felder zur Konfiguration:
|
||||
- **Bezeichnung**
|
||||
- **Offset** (z. B. für Kalibrierung)
|
||||
- **Faktor** (Multiplikator)
|
||||
- **Einheit** (Dropdown: V, mA, °C, bar, %)
|
||||
- **Loggerintervall** (in Minuten)
|
||||
|
||||
---
|
||||
|
||||
## ✏️ Verwendung
|
||||
|
||||
```tsx
|
||||
<AnalogInputSettingsModal
|
||||
selectedInput={input}
|
||||
isOpen={modalOpen}
|
||||
onClose={() => setModalOpen(false)}
|
||||
/>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 💾 Speichern-Logik
|
||||
|
||||
Beim Klick auf „Speichern“ werden die Einstellungen auf zwei verschiedene Arten verarbeitet:
|
||||
|
||||
### 🔧 Entwicklungsmodus (`localhost`):
|
||||
|
||||
- Daten werden per POST an die lokale API gesendet:
|
||||
`/api/cpl/updateAnalogInputsSettingsHandler`
|
||||
- Die Datenstruktur orientiert sich an `window.win_analogInputs*` Variablen
|
||||
|
||||
### 🚀 Produktionsmodus:
|
||||
|
||||
- Daten werden über einen GET-Request mit URL-Parametern an ein CGI-Backend übermittelt:
|
||||
`/CPL?/Service/ae.ACP&ACN{slot}=...&ACO{slot}=...`
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Besonderheiten
|
||||
|
||||
- Werte wie `offset` und `factor` werden als String mit `,` oder `.` akzeptiert und korrekt konvertiert.
|
||||
- Eingabefelder sind per `useState` gebunden.
|
||||
- Ein `console.log` zeigt `loggerInterval`, wenn `selectedInput` geladen wird.
|
||||
- Nach erfolgreichem Speichern wird die Seite neu geladen (`location.reload()`), um aktuelle Werte anzuzeigen.
|
||||
|
||||
---
|
||||
|
||||
## 🛑 Validierung
|
||||
|
||||
- Aktuell keine Validierung gegen ungültige Werte (z. B. negatives Intervall oder leere Felder).
|
||||
- Sollte ggf. ergänzt werden, wenn das Backend empfindlich auf falsche Werte reagiert.
|
||||
|
||||
---
|
||||
|
||||
## 🖼️ UI/UX
|
||||
|
||||
- Modal ist zentriert mit dunklem Overlay.
|
||||
- Abbrechen über „X“-Button oben rechts.
|
||||
- Tailwind CSS für Layout und Styling verwendet.
|
||||
Reference in New Issue
Block a user