Fix: Abbrechen-Dialog, Overlay-Stacking, Queue-Cancel

1. Confirm-Dialog z-index ueber Progress-Popup (10000 > 9000)
2. Progress-Popup wird ausgeblendet waehrend Confirm-Dialog offen
3. Kein dunkler-werdendes Overlay bei mehrfachem Abbrechen-Klick
4. Abbrechen funktioniert jetzt auch fuer Lagen in der Warteschlange
   (werden direkt aus der Queue entfernt statt auf Start zu warten)
5. Cancel-Status wird im Popup-Titel angezeigt

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
Claude Dev
2026-04-09 20:50:30 +02:00
Ursprung 990ece1346
Commit fb0c47eee4
3 geänderte Dateien mit 79 neuen und 24 gelöschten Zeilen

Datei anzeigen

@@ -1710,7 +1710,7 @@ a:hover {
inset: 0;
background: var(--backdrop);
backdrop-filter: blur(4px);
z-index: 100;
z-index: 10000;
align-items: center;
justify-content: center;
}

Datei anzeigen

@@ -2224,23 +2224,41 @@ async handleRefresh() {
async cancelRefresh() {
if (!this.currentIncidentId) return;
const ok = await confirmDialog('Laufende Recherche abbrechen?');
if (!ok) return;
// Temporarily hide progress popup so confirm dialog is fully visible
const progressOverlay = document.getElementById('progress-overlay');
if (progressOverlay) progressOverlay.style.display = 'none';
const ok = await confirmDialog('Laufende Recherche abbrechen?');
// Restore progress popup if not confirmed
if (!ok) {
const state = UI._progressState[this.currentIncidentId];
if (state && progressOverlay) progressOverlay.style.display = 'flex';
return;
}
// Show cancelling state in popup
if (progressOverlay) progressOverlay.style.display = 'flex';
const btn = document.getElementById('progress-cancel-btn');
if (btn) {
btn.textContent = 'Wird abgebrochen...';
btn.disabled = true;
}
const titleEl = document.getElementById('progress-popup-title');
if (titleEl) titleEl.textContent = 'Wird abgebrochen...';
try {
await API.cancelRefresh(this.currentIncidentId);
const result = await API.cancelRefresh(this.currentIncidentId);
if (!result) {
UI.showToast('Kein aktiver Refresh zum Abbrechen gefunden.', 'info');
if (btn) { btn.textContent = 'Abbrechen'; btn.disabled = false; }
if (titleEl) titleEl.textContent = 'Aktualisierung l\u00e4uft';
}
} catch (err) {
UI.showToast('Abbrechen fehlgeschlagen: ' + err.message, 'error');
if (btn) {
btn.textContent = 'Abbrechen';
btn.disabled = false;
}
if (btn) { btn.textContent = 'Abbrechen'; btn.disabled = false; }
if (titleEl) titleEl.textContent = 'Aktualisierung l\u00e4uft';
}
},