feat: TDR starten Button in KÜ Chart

This commit is contained in:
ISA
2025-07-31 10:13:33 +02:00
parent 86b35e9925
commit b68eb10ad4
7 changed files with 57 additions and 8 deletions

View File

@@ -82,6 +82,33 @@ const TDRChartActionBar: React.FC = () => {
}
};
// 📌 TDR Messung starten
const handleStartTDR = async () => {
if (selectedSlot === null) {
alert("⚠️ Bitte zuerst einen KÜ auswählen!");
return;
}
const cgiUrl = `${window.location.origin}/CPL?kabelueberwachung.html&KTT${selectedSlot}=1`;
try {
console.log("🚀 Starte TDR Messung für Slot:", selectedSlot);
console.log("📡 CGI URL:", cgiUrl);
const response = await fetch(cgiUrl);
if (!response.ok) {
throw new Error(`CGI-Fehler: ${response.status}`);
}
console.log("✅ TDR Messung gestartet für Slot", selectedSlot);
alert(`✅ TDR Messung für Slot ${selectedSlot + 1} gestartet`);
} catch (err) {
console.error("❌ Fehler beim Starten der TDR Messung:", err);
alert("❌ Fehler beim Starten der TDR Messung.");
}
};
// 📥 Beim Slot-Wechsel TDM-Liste + letzte ID laden
useEffect(() => {
if (selectedSlot !== null) {
@@ -119,6 +146,15 @@ const TDRChartActionBar: React.FC = () => {
</button>
)}
{/* 🚀 TDR starten */}
<button
onClick={handleStartTDR}
className="px-4 py-1 bg-littwin-blue text-white rounded text-sm whitespace-nowrap "
disabled={selectedSlot === null}
>
TDR starten
</button>
{/* 🔽 Dropdown für Messungen */}
<div className="flex items-center space-x-2">
<Listbox
@@ -131,9 +167,9 @@ const TDRChartActionBar: React.FC = () => {
}}
disabled={idsForSlot.length === 0}
>
<div className="relative w-72">
<div className="relative w-96">
<Listbox.Button className="w-full border px-2 py-1 rounded text-left bg-white flex justify-between items-center text-sm">
<span>
<span className="whitespace-nowrap overflow-hidden text-ellipsis">
{selectedId
? (() => {
const selected = idsForSlot.find(
@@ -172,7 +208,7 @@ const TDRChartActionBar: React.FC = () => {
key={entry.id}
value={entry.id}
className={({ selected, active }) =>
`px-4 py-1 cursor-pointer ${
`px-4 py-1 cursor-pointer whitespace-nowrap overflow-hidden text-ellipsis ${
selected
? "bg-littwin-blue text-white"
: active

View File

@@ -31,6 +31,12 @@ const UserManagementSettings: React.FC = () => {
);
};
const handleKeyDown = (e: React.KeyboardEvent) => {
if (e.key === "Enter") {
handleLogin();
}
};
return (
<div className="p-6 md:p-3 bg-gray-100 max-w-5xl mr-auto">
<h2 className="text-sm md:text-md font-bold mb-4">Login Admin-Bereich</h2>
@@ -54,6 +60,7 @@ const UserManagementSettings: React.FC = () => {
className="border border-gray-300 rounded h-8 p-1 w-full text-xs"
value={username}
onChange={(e) => setUsername(e.target.value)}
onKeyDown={handleKeyDown}
/>
<input
type="password"
@@ -61,6 +68,7 @@ const UserManagementSettings: React.FC = () => {
className="border border-gray-300 rounded h-8 p-1 w-full text-xs"
value={password}
onChange={(e) => setPassword(e.target.value)}
onKeyDown={handleKeyDown}
/>
<button
type="button"