feat: implement chart modal with report functionality for cable monitoring

- Add chartTitle state management to kabelueberwachungChartSlice with "Messkurve"/"Meldungen" options
- Update IsoChartActionBar dropdown to show current chartTitle value with proper binding
- Implement conditional rendering in IsoChartView between IsoMeasurementChart and Report components
- Create Report.tsx component using same data structure as MeldungenView (Meldung type)
- Add slot-based message filtering for specific cable monitoring units (KÜ)
- Integrate getMessagesThunk for consistent data loading across components
- Style Report component with consistent table layout, German date formatting, and Littwin branding
- Enable seamless switching between measurement chart and filtered messages in modal
This commit is contained in:
ISA
2025-07-31 15:25:46 +02:00
parent 638b7bf519
commit cdd26931a1
9 changed files with 255 additions and 18 deletions

View File

@@ -22,6 +22,7 @@ interface KabelueberwachungChartState {
isFullScreen: boolean;
unit: "kOhm" | "MOhm";
isLoading: boolean;
chartTitle: "Messkurve" | "Meldungen";
}
// Dynamische Initialisierung der Datumswerte
@@ -43,6 +44,7 @@ const initialState: KabelueberwachungChartState = {
tdrChartData: [],
isFullScreen: false,
unit: "MOhm",
chartTitle: "Messkurve", // Standard: Messkurve ausgewählt
};
// Erstellung des Slices
@@ -93,6 +95,12 @@ const kabelueberwachungChartSlice = createSlice({
setLoading: (state, action: PayloadAction<boolean>) => {
state.isLoading = action.payload;
},
setChartTitle: (
state,
action: PayloadAction<"Messkurve" | "Meldungen">
) => {
state.chartTitle = action.payload;
},
},
});
@@ -109,6 +117,7 @@ export const {
setTDRChartData,
setFullScreen,
setLoading,
setChartTitle,
} = kabelueberwachungChartSlice.actions;
// Export des Reducers