feat(diagram): Personen-Leiste mit Personen-Linse und Belastungsanzeige (D87)
Je @Person eine Pille mit Anteil an der offenen Pfad-Arbeit (D71-Maß), dazu ein Eintrag für Unzugewiesenes — die Anteile summieren auf 100 %. Ein Tipp filtert das Diagramm auf die Knoten der Person: alles andere faltet, ihre Pakete stehen als ▸ n, die Pillen färben petrol. Die Linse ist rein Ansicht und Sitzungssache — in den Text wird nichts geschrieben, in geteilten Dokumenten ginge der persönliche Filter sonst an alle. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
1e1a00f794
commit
deec39e82a
@@ -208,8 +208,13 @@ function nodeHtml(n, extra, opts, fold){
|
||||
Nur direkte Tags haben eine Pille; geerbte Zuständigkeit (die in die
|
||||
Rechnung eingeht) hat nichts, das sich färben ließe. */
|
||||
const hot = tag => opts.overloadTag === tag && opts.cheapSet.has(n) && !isDone(n);
|
||||
/* Personen-Linse (SPEC §9/D87): die Pille der gewählten Person hebt sich in
|
||||
Petrol — sie sagt, WELCHE der sichtbaren Knoten gemeint sind (nicht
|
||||
faltbare Geschwister bleiben ja stehen). Die Warnfarbe des Engpasses
|
||||
gewinnt: eine Warnung wiegt schwerer als eine Auswahl. */
|
||||
const pillCls = tag => hot(tag) ? ' overload' : (opts.lensTag === tag ? ' lens' : '');
|
||||
const tagsHtml = n.tags && n.tags.length
|
||||
? `<span class="tags" aria-hidden="true">${n.tags.map(tag => `<span class="tag${hot(tag) ? ' overload' : ''}">${esc(tag)}</span>`).join('')}</span>`
|
||||
? `<span class="tags" aria-hidden="true">${n.tags.map(tag => `<span class="tag${pillCls(tag)}">${esc(tag)}</span>`).join('')}</span>`
|
||||
: '';
|
||||
/* Das implizite Größen-Badge macht eine KOSTENANNAHME sichtbar (D18) —
|
||||
seit D66 die aus den Teilpaketen geschätzte Größe statt pauschal M. An
|
||||
|
||||
Reference in New Issue
Block a user