refactor: rename einausgange to digitalOtputs and digitalInputs
This commit is contained in:
@@ -6,6 +6,6 @@ NEXT_PUBLIC_USE_MOCK_BACKEND_LOOP_START=false
|
||||
NEXT_PUBLIC_EXPORT_STATIC=false
|
||||
NEXT_PUBLIC_USE_CGI=false
|
||||
# App-Versionsnummer
|
||||
NEXT_PUBLIC_APP_VERSION=1.6.483
|
||||
NEXT_PUBLIC_APP_VERSION=1.6.485
|
||||
NEXT_PUBLIC_CPL_MODE=json # json (Entwicklungsumgebung) oder jsSimulatedProd (CPL ->CGI-Interface-Simulator) oder production (CPL-> CGI-Interface Platzhalter)
|
||||
|
||||
|
||||
@@ -5,5 +5,5 @@ NEXT_PUBLIC_CPL_API_PATH=/CPL
|
||||
NEXT_PUBLIC_EXPORT_STATIC=true
|
||||
NEXT_PUBLIC_USE_CGI=true
|
||||
# App-Versionsnummer
|
||||
NEXT_PUBLIC_APP_VERSION=1.6.483
|
||||
NEXT_PUBLIC_APP_VERSION=1.6.485
|
||||
NEXT_PUBLIC_CPL_MODE=production
|
||||
10
CHANGELOG.md
10
CHANGELOG.md
@@ -1,3 +1,13 @@
|
||||
## [1.6.485] – 2025-06-27
|
||||
|
||||
- esLint
|
||||
|
||||
---
|
||||
## [1.6.484] – 2025-06-27
|
||||
|
||||
- esLint
|
||||
|
||||
---
|
||||
## [1.6.483] – 2025-06-26
|
||||
|
||||
- EsLint
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
"use client";
|
||||
// /components/main/einausgaenge/DigitalInputs.tsx
|
||||
// /components/main/digitalOutputs/DigitalInputs.tsx
|
||||
import React from "react";
|
||||
import { useSelector } from "react-redux";
|
||||
import { RootState } from "../../../redux/store";
|
||||
@@ -1,5 +1,5 @@
|
||||
"use client";
|
||||
// /components/main/einausgaenge/modals/InputModal.tsx
|
||||
// /components/main/digitalInputs/InputModal.tsx
|
||||
import React, { useEffect, useState } from "react";
|
||||
import { useSelector, useDispatch } from "react-redux";
|
||||
import { RootState } from "@/redux/store";
|
||||
@@ -1,7 +1,7 @@
|
||||
"use client"; // /components/main/einausgaenge/modals/DigitalOutputsModal.tsx
|
||||
"use client"; // /components/main/digitalOutputs/DigitalOutputsModal.tsx
|
||||
import React, { useState, useEffect } from "react";
|
||||
import { useSelector } from "react-redux";
|
||||
import { RootState } from "../../../../redux/store";
|
||||
import { RootState } from "@/redux/store";
|
||||
import type { DigitalOutput } from "@/types/digitalOutput";
|
||||
|
||||
export default function DigitalOutputsModal({
|
||||
@@ -1,5 +1,5 @@
|
||||
"use client";
|
||||
// /components/main/einausgaenge/DigitalOutputsWidget.tsx
|
||||
// /components/main/digitalOutputs/DigitalOutputsWidget.tsx
|
||||
import React from "react";
|
||||
import { useSelector, useDispatch } from "react-redux";
|
||||
import { RootState, AppDispatch } from "../../../redux/store";
|
||||
@@ -1,43 +0,0 @@
|
||||
### 🧩 Datenfluss CPLv4.0 Digitale Eingänge
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
|
||||
class EmbeddedServer {
|
||||
+ Generiert de.js per CGI
|
||||
+ Ersetzt Platzhalter wie <%=DES81%>
|
||||
+ Kein Node.js vorhanden
|
||||
}
|
||||
|
||||
class DeJS {
|
||||
+ JavaScript mit konkreten Werten
|
||||
+ Beispiel: win_de_state, win_de_label
|
||||
}
|
||||
|
||||
class FrontendLoader {
|
||||
+ Lädt de.js dynamisch mit script-Tag
|
||||
+ Pfad: /CPL?/CPL/SERVICE/de.js
|
||||
}
|
||||
|
||||
class DatenMapper {
|
||||
+ Wandelt window-Variablen in Objekte
|
||||
+ Wandelt in strukturierte Eingangs-Daten
|
||||
}
|
||||
|
||||
class ReduxStore {
|
||||
+ digitalInputsSlice
|
||||
+ Speichert die Eingänge im State
|
||||
}
|
||||
|
||||
class ReactComponent {
|
||||
+ DigitalInputs.tsx
|
||||
+ useSelector: Zugriff auf Redux
|
||||
+ Darstellung mit Tailwind
|
||||
}
|
||||
|
||||
EmbeddedServer --> DeJS : erstellt per CGI
|
||||
DeJS --> FrontendLoader : wird per Script geladen
|
||||
FrontendLoader --> DatenMapper : verarbeitet window-Variablen
|
||||
DatenMapper --> ReduxStore : dispatch(setInputs)
|
||||
ReduxStore --> ReactComponent : useSelector() → Anzeige
|
||||
```
|
||||
@@ -78,7 +78,7 @@ flowchart TD
|
||||
/mocks/device-cgi-simulator/SERVICE/→ jsSimulatedProd: digitalOutputsMockData.js
|
||||
/public/CPL/SERVICE/ → production: digitalOutputs.js
|
||||
/pages/api/cpl/ → GET/POST-Handler für json + jsSimulatedProd
|
||||
/components/main/einausgaenge/ → UI-Komponente: DigitalOutputsWidget.tsx
|
||||
/components/main/digitalOutputs/ → UI-Komponente: DigitalOutputsWidget.tsx
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -11,5 +11,5 @@
|
||||
---
|
||||
|
||||
📄 **Quelle:** Abschnitt 4.1.2 im Lastenheft
|
||||
📁 **Komponente:** `/components/einausgaenge.tsx`
|
||||
🛠️ **API-Route:** `/pages/api/cpl/digitaleEingaenge.ts`
|
||||
📁 **Komponente:** `/components/digitalInputs.tsx`
|
||||
🛠️ **API-Route:** `/pages/api/cpl/digitalInputs.ts`
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
0
|
||||
],
|
||||
"win_de_time_filter": [
|
||||
2,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
@@ -136,7 +136,7 @@
|
||||
0
|
||||
],
|
||||
"win_de_weighting": [
|
||||
4,
|
||||
3,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
@@ -238,7 +238,7 @@
|
||||
0
|
||||
],
|
||||
"win_de_label": [
|
||||
"DE11",
|
||||
"DE1",
|
||||
"DE2",
|
||||
"DE3",
|
||||
"DE4",
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"win_da_state": [
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1
|
||||
],
|
||||
"win_da_bezeichnung": [
|
||||
"Ausgang11",
|
||||
"Ausgang1",
|
||||
"Ausgang2",
|
||||
"Ausgang3",
|
||||
"Ausgang4"
|
||||
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "cpl-v4",
|
||||
"version": "1.6.483",
|
||||
"version": "1.6.485",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "cpl-v4",
|
||||
"version": "1.6.483",
|
||||
"version": "1.6.485",
|
||||
"dependencies": {
|
||||
"@fontsource/roboto": "^5.1.0",
|
||||
"@iconify-icons/ri": "^1.2.10",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "cpl-v4",
|
||||
"version": "1.6.483",
|
||||
"version": "1.6.485",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
|
||||
@@ -4,13 +4,13 @@ import React, { useEffect, useState } from "react";
|
||||
import { useDispatch } from "react-redux";
|
||||
import { AppDispatch } from "@/redux/store";
|
||||
|
||||
import InputModal from "@/components/main/einausgaenge/modals/InputModal";
|
||||
import InputModal from "@/components/main/digitalInputs/digitalInputsModal";
|
||||
|
||||
import { getDigitalInputsThunk } from "@/redux/thunks/getDigitalInputsThunk";
|
||||
|
||||
import DigitalInputs from "@/components/main/einausgaenge/DigitalInputs";
|
||||
import DigitalInputs from "@/components/main/digitalInputs/DigitalInputsWidget";
|
||||
|
||||
const EinAusgaenge: React.FC = () => {
|
||||
const digitalInputs: React.FC = () => {
|
||||
const dispatch = useDispatch<AppDispatch>();
|
||||
interface DigitalInput {
|
||||
id: number;
|
||||
@@ -70,4 +70,4 @@ const EinAusgaenge: React.FC = () => {
|
||||
);
|
||||
};
|
||||
|
||||
export default EinAusgaenge;
|
||||
export default digitalInputs;
|
||||
|
||||
@@ -4,15 +4,15 @@ import React, { useEffect, useState } from "react";
|
||||
import { useDispatch } from "react-redux";
|
||||
import { AppDispatch } from "@/redux/store";
|
||||
|
||||
import DigitalOutputsModal from "../components/main/einausgaenge/modals/DigitalOutputsModal";
|
||||
import DigitalOutputs from "../components/main/einausgaenge/DigitalOutputsWidget";
|
||||
import DigitalOutputsModal from "../components/main/digitalOutputs/DigitalOutputsModal";
|
||||
import DigitalOutputs from "../components/main/digitalOutputs/DigitalOutputsWidget";
|
||||
|
||||
import { getDigitalInputsThunk } from "@/redux/thunks/getDigitalInputsThunk";
|
||||
import { getDigitalOutputsThunk } from "@/redux/thunks/getDigitalOutputsThunk";
|
||||
|
||||
import type { DigitalOutput } from "@/types/digitalOutput";
|
||||
|
||||
const EinAusgaenge: React.FC = () => {
|
||||
const digitalOutputs: React.FC = () => {
|
||||
const dispatch = useDispatch<AppDispatch>();
|
||||
const [selectedOutput, setSelectedOutput] = useState<DigitalOutput | null>(
|
||||
null
|
||||
@@ -59,4 +59,4 @@ const EinAusgaenge: React.FC = () => {
|
||||
);
|
||||
};
|
||||
|
||||
export default EinAusgaenge;
|
||||
export default digitalOutputs;
|
||||
|
||||
Reference in New Issue
Block a user