### 🧭 Zoom-Verhalten beim Schleifen-/Isolationsdiagramm

In dieser Komponente wird das automatische Nachladen der Messwerte temporär deaktiviert, wenn der Benutzer per Maus in das Diagramm zoomt oder pannt. Nach 30 Sekunden ohne Zoom/Pan-Aktion wird die automatische Aktualisierung wieder aktiviert. Dieses Verhalten dient dazu, den Zoom-Zustand nicht durch neue Daten zu verlieren.

---

### 📁 Enthaltene Komponenten

- `LoopChartActionBar.tsx`  
  → Auswahlleiste für Slot-Nummer, Zeitraum (über `DateRangePicker`), Messmodus (`DIA0`, `DIA1`, `DIA2`) und Slot-Typ (Schleife/Isolation).  
  → Ruft alle 10 Sekunden neue Messdaten ab – außer der Zoom-Modus pausiert das.
- `LoopMeasurementChart.tsx`  
  → Das eigentliche Liniendiagramm mit Chart.js + Zoom-Plugin.  
  → Erkennt Zoom/Pan und setzt `chartUpdatePaused`, bis 30 Sekunden Inaktivität vergangen sind.

- `DateRangePicker.tsx`  
  → Zeigt zwei Felder für Von-/Bis-Datum. Nutzt Redux, um globale Zeitfenster zu setzen.

- `CustomTooltip.tsx`  
  → Zeigt beim Hover über die Kurve kontextbezogene Werte wie Messwert, Min, Max und Durchschnitt (DIA0/1/2).

---

### 🟢 UML-Aktivitätsdiagramm (Zoom → Pause → Timer → Auto-Update)

```mermaid
flowchart TD
    Start([Start])
    ZoomEvent[[Zoom oder Pan erkannt]]
    SetPause[Setze chartUpdatePaused = true]
    StartTimer[Starte 30s Timer]
    Check[Timer abgelaufen?]
    SetResume[Setze chartUpdatePaused = false]
    FetchData[[Datenabruf wieder erlaubt]]
    End([Ende])

    Start --> ZoomEvent --> SetPause --> StartTimer --> Check
    Check -- Nein --> StartTimer
    Check -- Ja --> SetResume --> FetchData --> End
```

stateDiagram-v2
[*] --> AktualisierungAktiv

    AktualisierungAktiv --> ZoomPause : Zoom/Pan erkannt
    ZoomPause --> AktualisierungAktiv : 30 Sekunden Inaktivität

    state AktualisierungAktiv {
        [*] --> Normalbetrieb
    }

    state ZoomPause {
        [*] --> CountdownLäuft
    }
