Messwerteingänge

Überschrift "Einstellungen Messwerteingang 1"
Bezeichnung mit :
Eingabefeld rechts daneben.
Offset mit drei Nachkommastellen
Faktor mit drei Nachkommastellen
Anstatt Loggerintervall "Speicherintervall" schreiben mit Einheit Minuten im Eingabefeld wie bei Kü
Buttons wie bei Meldeeingänge (Schließen und Speichern)
This commit is contained in:
ISA
2025-05-06 15:19:10 +02:00
parent 9e803fc894
commit ee35970a5b
2 changed files with 93 additions and 64 deletions

View File

@@ -13,8 +13,8 @@ export default function AnalogInputSettingsModal({
onClose, onClose,
}: Props) { }: Props) {
const [name, setName] = useState(""); const [name, setName] = useState("");
const [offset, setOffset] = useState("0.000000"); const [offset, setOffset] = useState("0.000");
const [factor, setFactor] = useState("1.000000"); const [factor, setFactor] = useState("1.000");
const [loggerInterval, setLoggerInterval] = useState("10"); const [loggerInterval, setLoggerInterval] = useState("10");
const [unit, setUnit] = useState("V"); const [unit, setUnit] = useState("V");
const [isSaving, setIsSaving] = useState(false); const [isSaving, setIsSaving] = useState(false);
@@ -24,13 +24,13 @@ export default function AnalogInputSettingsModal({
setName(selectedInput.name || ""); setName(selectedInput.name || "");
setOffset( setOffset(
typeof selectedInput.offset === "number" typeof selectedInput.offset === "number"
? selectedInput.offset.toFixed(6) ? selectedInput.offset.toFixed(3)
: selectedInput.offset || "0.000000" : selectedInput.offset || "0.000"
); );
setFactor( setFactor(
typeof selectedInput.factor === "number" typeof selectedInput.factor === "number"
? selectedInput.factor.toFixed(6) ? selectedInput.factor.toFixed(3)
: selectedInput.factor || "1.000000" : selectedInput.factor || "1.000"
); );
setLoggerInterval( setLoggerInterval(
selectedInput.loggerInterval !== undefined selectedInput.loggerInterval !== undefined
@@ -101,39 +101,61 @@ export default function AnalogInputSettingsModal({
}; };
return ( return (
<div className="fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-50"> <div className="fixed top-0 left-0 w-full h-full bg-black bg-opacity-50 flex justify-center items-center z-50">
<div className="bg-white rounded shadow p-6 w-full max-w-md"> <div className="bg-white rounded-lg shadow-lg p-6 w-1/2 max-w-lg">
<h2 className="text-lg font-semibold mb-4"> <h2 className="text-base font-bold mb-4 border-b pb-2">
Eingang {selectedInput.id} Einstellungen Einstellungen Messwerteingang {selectedInput.id}
</h2> </h2>
{/* Bezeichnung */}
<label className="block mb-2 text-sm font-medium">Bezeichnung</label> <div className="grid grid-cols-2 gap-x-4 gap-y-3">
<div>
<span className="font-normal">Bezeichnung:</span>
</div>
<div>
<input <input
type="text" type="text"
className="w-full border rounded px-3 py-1 mb-4" className="w-full border rounded px-3 py-1 mb-4"
value={name} value={name}
onChange={(e) => setName(e.target.value)} onChange={(e) => setName(e.target.value)}
/> />
</div>
<label className="block mb-2 text-sm font-medium">Offset</label> </div>
{/* Offset */}
<div className="grid grid-cols-2 gap-x-4 gap-y-3 mb-4">
<div>
<span className="font-normal">Offset:</span>
</div>
<div>
<input <input
type="number" type="number"
step="0.000001" step="0.001"
className="w-full border rounded px-3 py-1 mb-4" className="border border-gray-300 rounded px-2 py-1 w-full text-right "
value={offset} value={offset}
onChange={(e) => setOffset(e.target.value)} onChange={(e) => setOffset(e.target.value)}
/> />
</div>
<label className="block mb-2 text-sm font-medium">Faktor</label> </div>
{/* Faktor */}
<div className="grid grid-cols-2 gap-x-4 gap-y-3 mb-4">
<div>
<span className="font-normal">Faktor:</span>
</div>
<div>
<input <input
type="number" type="number"
step="0.000001" step="0.001"
className="w-full border rounded px-3 py-1 mb-4" className="border border-gray-300 rounded px-2 py-1 w-full text-right"
value={factor} value={factor}
onChange={(e) => setFactor(e.target.value)} onChange={(e) => setFactor(e.target.value)}
/> />{" "}
</div>
<label className="block mb-2 text-sm font-medium">Einheit</label> </div>
{/* Einheit */}
<div className="grid grid-cols-2 gap-x-4 gap-y-3">
<div>
<span className="font-normal">Einheit:</span>
</div>
<div>
<select <select
className="w-full border rounded px-3 py-1 mb-4" className="w-full border rounded px-3 py-1 mb-4"
value={unit} value={unit}
@@ -145,29 +167,36 @@ export default function AnalogInputSettingsModal({
<option value="bar">bar</option> <option value="bar">bar</option>
<option value="%">%</option> <option value="%">%</option>
</select> </select>
</div>
<label className="block mb-2 text-sm font-medium"> </div>
Loggerintervall (s) {/* Loggerintervall/Speicherintervall */}
</label> <div className="grid grid-cols-2 gap-x-4 gap-y-3 ">
<span className="font-normal">Speicherintervall:</span>
<div className="relative w-full">
<input <input
type="number" type="number"
className="w-full border rounded px-3 py-1 mb-4" className="border rounded px-2 py-1 pr-20 w-full text-right"
value={loggerInterval} value={loggerInterval}
onChange={(e) => setLoggerInterval(e.target.value)} onChange={(e) => setLoggerInterval(e.target.value)}
/> />
<span className="absolute right-2 top-1/2 transform -translate-y-1/2 text-gray-500 text-sm">
Minuten
</span>
</div>
</div>
<div className="flex justify-end gap-2"> <div className="flex justify-end gap-2 mt-6">
<button <button
onClick={onClose} onClick={onClose}
disabled={isSaving} disabled={isSaving}
className="px-4 py-2 bg-gray-300 rounded hover:bg-gray-400" className="bg-littwin-blue text-white px-4 py-2 rounded flex items-center"
> >
Abbrechen Schließen
</button> </button>
<button <button
onClick={handleSave} onClick={handleSave}
disabled={isSaving} disabled={isSaving}
className="px-4 py-2 bg-blue-600 text-white rounded hover:bg-blue-700" className="bg-littwin-blue text-white px-4 py-2 rounded flex items-center"
> >
{isSaving ? "Speichern..." : "Speichern"} {isSaving ? "Speichern..." : "Speichern"}
</button> </button>

View File

@@ -6,5 +6,5 @@
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen). 2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
*/ */
const webVersion = "1.6.371"; const webVersion = "1.6.372";
export default webVersion; export default webVersion;