feat(taiga): Ticket-Stand im Knoten-Fenster — gelesen, nie geschrieben (D91-Nachtrag 6, SPEC §9)
Wo eine Ref steht und ein `&taiga.<slug>` gilt, zeigt das Knoten-Fenster
Betreff, Status und Zuständigen des Tickets; Taigas Statusname steht neben
der Statusbox der Notation (`In progress → [~]`).
- Proxy: zwei benannte Lese-Endpunkte (`GET /taiga/userstories/{ref}` und
`…/tasks/{ref}`, je `?slug=`) — das Präfix der Ref trägt den Typ, Taiga
hat getrennte `by_ref`-Endpunkte. Erst `/projects/by_slug`, dann `by_ref`
(eine Ref ist nur je Projekt eindeutig); der Slug wird kodiert angehängt.
- Die Abbildung Status → Statusbox liegt im Editor (`mapTaigaStatus`,
headless): Statuscodes sind Notation, das Backend parst sie nicht (D14).
Unbekannte Namen bleiben unabgebildet — Raten hieße, dem Knoten eine
Aussage zu geben, die niemand gemacht hat.
- Geholt wird erst nach 400 ms Verweilen und je Ticket einmal je Sitzung
(↻ holt neu); ohne Anmeldung gar nicht — der Knopf meldet erst an.
- Nichts wird geschrieben: kein Text, keine Statusbox (das bleibt
`#trk.write`).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
e58f71bf90
commit
842e89795a
@@ -667,6 +667,20 @@ verworfene Elemente. Quelle sind ES-Module unter `src/`; `index.html` ist der
|
||||
`werkbaum-taiga` im localStorage (nur Token, nie ein Passwort); ein 401
|
||||
löscht es und fragt neu. Fehler erscheinen IM Dialog, nicht als
|
||||
`window.alert` (in manchen Kontexten unterdrückt, D22-Lehre).
|
||||
- **Ticket-Stand lesen (D91-Nachtrag 6):** `ticketApiPath()` baut den
|
||||
Proxy-Pfad (getrennte by_ref-Endpunkte je Typ, Slug kodiert),
|
||||
`mapTaigaStatus()` bildet Taigas Statusnamen auf `STATUS_BY_CODE` ab —
|
||||
beides headless in `taiga.js`, denn die Statuscodes sind Notation und das
|
||||
Backend parst sie nicht (D14); ein unbekannter Name bleibt **null**.
|
||||
In app.js: `ticketBox()`/`paintTicket()`/`loadTicket()` samt Cache
|
||||
`taigaTickets` (je Ticket EIN Abruf je Sitzung, ↻ holt neu) und
|
||||
`TICKET_DELAY` (400 ms Verweilen, bevor überhaupt gefragt wird — das
|
||||
Fenster öffnet beim Überfahren und beim Tabben). **Ohne Sitzung wird nichts
|
||||
automatisch geholt**, der Knopf meldet erst an. `tipTicket`/`ticketTimer`
|
||||
stehen oben bei `tipNode`, weil `closeNodeTip()` sie mit wegräumt (das
|
||||
läuft schon beim Aufbau — sonst temporale Todeszone). Der
|
||||
`pointerdown`-Wächter lässt `.tabmodal-overlay` durch: Der Anmelde-Dialog
|
||||
gehört zu einer Aktion AUS dem Fenster und darf es nicht zumachen.
|
||||
- **Nie `src.value = …` während des Bearbeitens (D53).** Es löscht die
|
||||
Undo-Historie des Textfelds **komplett** — nicht nur den eigenen Schritt,
|
||||
sondern alles davor Getippte. Gemessen: nach so einem Schreiben ändert das
|
||||
|
||||
Reference in New Issue
Block a user