diff --git a/src/static/dashboard.html b/src/static/dashboard.html
index ecee0b2..2b4921a 100644
--- a/src/static/dashboard.html
+++ b/src/static/dashboard.html
@@ -646,7 +646,7 @@
-
+
diff --git a/src/static/js/pipeline.js b/src/static/js/pipeline.js
index 0f3551b..a4b184b 100644
--- a/src/static/js/pipeline.js
+++ b/src/static/js/pipeline.js
@@ -141,20 +141,29 @@ const Pipeline = {
}
}
- // Wenn ein neuer Pass startet (pass_number > prev und status="active" beim ERSTEN step):
- // alle Schritte zurück auf pending setzen, damit die Animation neu durchläuft.
+ // Wenn der ERSTE Schritt (sources_review) auf "active" geht, beginnt ein neuer
+ // Refresh oder ein neuer Multi-Pass-Durchlauf — alle nachfolgenden Schritte auf
+ // "pending" (grau) zuruecksetzen, damit der User sieht: das ist neu und
+ // noch nicht durchlaufen. Sonst stehen sie als "done" vom letzten Mal da.
+ let didReset = false;
if (d.status === 'active' && this._definition && this._definition.length
- && key === this._definition[0].key && passNr > 1 && (!prev || prev.pass_number < passNr)) {
- // Alle anderen Steps in "pending" zurueck (visuell), Werte behalten wir
+ && key === this._definition[0].key) {
this._definition.forEach(s => {
if (s.key !== key && this._stateByKey[s.key]) {
this._stateByKey[s.key].status = 'pending';
+ didReset = true;
}
});
}
- this._patchBlock(key);
- this._patchMiniBlock(key);
+ if (didReset) {
+ // Beim Reset alle Bloecke neu zeichnen, nicht nur den aktuellen
+ this._render();
+ this._renderMini();
+ } else {
+ this._patchBlock(key);
+ this._patchMiniBlock(key);
+ }
},
_onRefreshDone(msg) {