digraph TDRReduxStructure {
  rankdir=LR;
  node [shape=record, fontname=Helvetica];

  SlotData [label="{ SlotData | + slotIndex: number\\l+ tdrList: TDRMeasurement[]\\l }"];
  TDRMeasurement [label="{ TDRMeasurement | + id: number\\l+ t: string\\l+ d: number\\l+ p: number\\l+ s: number\\l+ a: number\\l }"];
  TDMChartSlice [label="{ tdmChartSlice (Redux) | + data: SlotData[]\\l }"];
  TDRChartSlice [label="{ tdrChartDataByIdSlice (Redux) | + data: Record<id, TDRChartPoint[]>\\l }"];
  fetchAllTDMData [label="fetchAllTDMData.ts", shape=note];
  fetchTDRChartThunk [label="fetchTDRChartDataByIdThunk.ts", shape=note];
  fetchTDRChartService [label="fetchTDRChartDataById.ts", shape=note];
  kabelueberwachung [label="kabelueberwachung.tsx", shape=note];

  SlotData -> TDRMeasurement [arrowhead="open", label="has many"];
  fetchAllTDMData -> TDMChartSlice;
  fetchTDRChartThunk -> TDRChartSlice;
  fetchTDRChartThunk -> fetchTDRChartService;
  kabelueberwachung -> fetchAllTDMData;
  kabelueberwachung -> fetchTDRChartThunk;
}
