feat: Umgebungsspezifisches Laden von Datenquellen implementiert
- Alle fetch-Services (TDM, TDR, analoge/digitale Eingänge/Ausgänge, SystemSettings usw.) angepasst, um `NEXT_PUBLIC_NODE_ENV` zu verwenden. - Entwicklungsumgebung lädt Daten aus /CPLmockData/... - Produktionsumgebung verwendet echte Endpunkte mit /CPL?/CPL/... - .env.production und .env.development korrekt berücksichtigt - loadWindowVariables, WindowVariablesInitializer und verwandte Dateien bereinigt - Mockdaten erscheinen nicht mehr versehentlich in Produktionsumgebung
This commit is contained in:
@@ -11,10 +11,13 @@ const WindowVariablesInitializer = () => {
|
||||
useEffect(() => {
|
||||
const loadScriptsAndInitialize = async () => {
|
||||
try {
|
||||
// Beispielhafter Ladevorgang eines Skripts
|
||||
await loadScript("/CPLmockData/SERVICE/de.js");
|
||||
const isDevelopment = window.location.hostname === "localhost";
|
||||
const scriptPath = isDevelopment
|
||||
? "/CPLmockData/SERVICE/de.js"
|
||||
: "/CPL/SERVICE/de.js";
|
||||
|
||||
await loadScript(scriptPath);
|
||||
|
||||
// Zugriff auf window-Variablen nach dem Laden der Skripte
|
||||
const winDeState = window.win_de_state || [];
|
||||
const winDeLabel = window.win_de_label || [];
|
||||
|
||||
@@ -26,7 +29,6 @@ const WindowVariablesInitializer = () => {
|
||||
})
|
||||
);
|
||||
|
||||
// Dispatch der Aktion zum Setzen der Inputs
|
||||
dispatch(setInputs(initialInputs));
|
||||
} catch (error) {
|
||||
console.error(
|
||||
|
||||
@@ -3,13 +3,23 @@
|
||||
|
||||
import React, { useEffect, useRef, useMemo } from "react";
|
||||
import { RootState } from "../../../../../../redux/store";
|
||||
import { useSelector } from "react-redux";
|
||||
import { useSelector, useDispatch } from "react-redux";
|
||||
import { AppDispatch } from "../../../../../../redux/store";
|
||||
import { Chart, registerables } from "chart.js";
|
||||
import "chartjs-adapter-date-fns";
|
||||
import { getColor } from "../../../../../../utils/colors";
|
||||
import TDRChartActionBar from "./TDRChartActionBar";
|
||||
import { fetchAllTDRChartData } from "../../../../../../redux/thunks/fetchAllTDRChartThunk";
|
||||
import { fetchAllTDRReferenceChartThunk } from "../../../../../../redux/thunks/fetchAllTDRReferenceChartThunk";
|
||||
|
||||
const TDRChart: React.FC<{ isFullScreen: boolean }> = ({ isFullScreen }) => {
|
||||
const dispatch = useDispatch<AppDispatch>();
|
||||
|
||||
useEffect(() => {
|
||||
dispatch(fetchAllTDRChartData());
|
||||
dispatch(fetchAllTDRReferenceChartThunk());
|
||||
}, [dispatch]);
|
||||
//---------------------------------
|
||||
const chartRef = useRef<HTMLCanvasElement>(null);
|
||||
const chartInstance = useRef<Chart | null>(null);
|
||||
|
||||
@@ -179,6 +189,8 @@ const TDRChart: React.FC<{ isFullScreen: boolean }> = ({ isFullScreen }) => {
|
||||
}
|
||||
});
|
||||
}, [JSON.stringify(tdrChartData), selectedSlot, selectedChartType]);
|
||||
|
||||
|
||||
return (
|
||||
<div style={{ width: "100%", height: isFullScreen ? "90%" : "28rem" }}>
|
||||
<TDRChartActionBar />
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
import ReactModal from "react-modal";
|
||||
import { useState, useEffect } from "react";
|
||||
import { useSelector, useDispatch } from "react-redux";
|
||||
import { setVariables } from "../../../../redux/slices/variablesSlice";
|
||||
import "bootstrap-icons/font/bootstrap-icons.css"; // Import Bootstrap Icons
|
||||
import handleSave, { OriginalValues } from "./handlers/handleSave";
|
||||
import handleDisplayEinschalten from "./handlers/handleDisplayEinschalten";
|
||||
|
||||
Reference in New Issue
Block a user