Analysepipeline: Reset auf "pending" beim Refresh-Start
Beim ersten Schritt (sources_review) eines neuen Refreshs werden alle nachfolgenden Schritte sichtbar auf "pending" (grau) zurückgesetzt. Vorher hingen sie weiterhin als "done" vom letzten Refresh in grün herum, während die Pipeline schon einen neuen Durchlauf zeigte. - Bedingung in pipeline.js entschärft: nicht mehr nur bei pass_number > 1 (Multi-Pass), sondern bei jedem ersten Schritt-Active - Bei Reset wird das ganze Stage neu gezeichnet (nicht nur der einzelne Block), damit die zurückgesetzten Schritte tatsächlich grau erscheinen - Greift sowohl bei normalem Refresh als auch bei Multi-Pass-Wechsel einer Research-Lage Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Dieser Commit ist enthalten in:
@@ -646,7 +646,7 @@
|
|||||||
<script src="/static/js/ws.js?v=20260316b"></script>
|
<script src="/static/js/ws.js?v=20260316b"></script>
|
||||||
<script src="/static/js/components.js?v=20260427a"></script>
|
<script src="/static/js/components.js?v=20260427a"></script>
|
||||||
<script src="/static/js/layout.js?v=20260316b"></script>
|
<script src="/static/js/layout.js?v=20260316b"></script>
|
||||||
<script src="/static/js/pipeline.js?v=20260501a"></script>
|
<script src="/static/js/pipeline.js?v=20260501i"></script>
|
||||||
<script src="/static/js/app.js?v=20260501h"></script>
|
<script src="/static/js/app.js?v=20260501h"></script>
|
||||||
<script src="/static/js/cluster-data.js?v=20260322f"></script>
|
<script src="/static/js/cluster-data.js?v=20260322f"></script>
|
||||||
<script src="/static/js/tutorial.js?v=20260316z"></script>
|
<script src="/static/js/tutorial.js?v=20260316z"></script>
|
||||||
|
|||||||
@@ -141,20 +141,29 @@ const Pipeline = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wenn ein neuer Pass startet (pass_number > prev und status="active" beim ERSTEN step):
|
// Wenn der ERSTE Schritt (sources_review) auf "active" geht, beginnt ein neuer
|
||||||
// alle Schritte zurück auf pending setzen, damit die Animation neu durchläuft.
|
// 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
|
if (d.status === 'active' && this._definition && this._definition.length
|
||||||
&& key === this._definition[0].key && passNr > 1 && (!prev || prev.pass_number < passNr)) {
|
&& key === this._definition[0].key) {
|
||||||
// Alle anderen Steps in "pending" zurueck (visuell), Werte behalten wir
|
|
||||||
this._definition.forEach(s => {
|
this._definition.forEach(s => {
|
||||||
if (s.key !== key && this._stateByKey[s.key]) {
|
if (s.key !== key && this._stateByKey[s.key]) {
|
||||||
this._stateByKey[s.key].status = 'pending';
|
this._stateByKey[s.key].status = 'pending';
|
||||||
|
didReset = true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
this._patchBlock(key);
|
if (didReset) {
|
||||||
this._patchMiniBlock(key);
|
// Beim Reset alle Bloecke neu zeichnen, nicht nur den aktuellen
|
||||||
|
this._render();
|
||||||
|
this._renderMini();
|
||||||
|
} else {
|
||||||
|
this._patchBlock(key);
|
||||||
|
this._patchMiniBlock(key);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_onRefreshDone(msg) {
|
_onRefreshDone(msg) {
|
||||||
|
|||||||
In neuem Issue referenzieren
Einen Benutzer sperren