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) {