Zeitleiste: eigenes Zeichen fuer "nicht dran", keine Marke unter dem Etikett
Der gestrichelte Kreis im Etikett von "Sichtschutz Kinderzimmer" war nicht das Zeichen fuer "an diesem Tag nicht dran", sondern die Marke des fruehesten Zeitpunkts im Fenster (Sonnenuntergang + 30), die unter dem Etikett lag und nur gestrichelt aussah, weil der Eintrag nicht dran war. Bei "Rollos morgens Wochenende" faellt dieser Zeitpunkt auf den Fensterbeginn - dort gab es keine Marke und damit gar kein Zeichen. Jetzt traegt jedes Etikett, das an diesem Tag nicht dran ist, vorn ein Kalender-Symbol, bei Punkt und Fenster gleich und gleich der Legende. Die Marke des fruehesten Zeitpunkts entfaellt; er steht im Hinweis. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -2955,6 +2955,11 @@ input[type='range']::-webkit-slider-runnable-track {
|
||||
color: var(--ton-schrift-3, #6f7a81);
|
||||
}
|
||||
.zl-ding.nichtdran .zl-etikett b { color: var(--ton-schrift-3, #6f7a81); }
|
||||
.zl-nichtdran {
|
||||
margin-right: .35rem;
|
||||
font-size: .72rem;
|
||||
color: var(--ton-schrift-2, #9aa6ad);
|
||||
}
|
||||
|
||||
/* Zeitfenster: der Balken traegt Laeufe und die frueheste Marke. */
|
||||
.zl-fenster { min-width: 10px; }
|
||||
|
||||
+10
-7
@@ -110,7 +110,7 @@ function zlStapeln(eintraege, breite) {
|
||||
const alle = eintraege.map(a => {
|
||||
const [von, bis] = zlLage(a);
|
||||
const etikett = zlEtikettText(a);
|
||||
const lang = zlBreite(etikett) + 26;
|
||||
const lang = zlBreite(etikett) + 26 + (a.dran ? 0 : 16); // Platz fürs Zeichen "nicht dran"
|
||||
let links = px(von) - 8;
|
||||
let rechts = a.art === "fenster" ? Math.max(px(bis), px(von) + lang) : px(von) + lang;
|
||||
const ueber = px(von) + lang > breite - 4;
|
||||
@@ -306,7 +306,7 @@ function zeitleisteZeichnen() {
|
||||
+ '<span><i class="zl-l-punkt"></i>kommt noch</span>'
|
||||
+ '<span><i class="zl-l-balken"></i>Zeitfenster, wartet auf Bedingung</span>'
|
||||
+ '<span><i class="zl-l-kette"></i>Kette</span>'
|
||||
+ '<span><i class="zl-l-punkt nichtdran"></i>an diesem Tag nicht dran</span>'
|
||||
+ '<span><i class="bi bi-calendar-x zl-nichtdran"></i>an diesem Tag nicht dran</span>'
|
||||
+ "</div>";
|
||||
|
||||
ziel.innerHTML = html;
|
||||
@@ -336,15 +336,18 @@ function zlEintrag(e, d, prozent) {
|
||||
const lauf = zustand !== "gelaufen" ? ""
|
||||
: ' <i class="bi bi-check2"></i>' + (a.art === "fenster" ? '<span class="zl-lauf">' + zlText(a.laeufe[a.laeufe.length - 1]) + "</span>" : "");
|
||||
const kappe = e.kappe ? ' style="max-width:' + Math.round(e.kappe) + "px" + (e.versatz ? ";margin-left:" + Math.round(e.versatz) + "px" : "") + '"' : "";
|
||||
const etikett = '<span class="zl-etikett' + (e.kappe ? " gekappt" : "") + '"' + kappe + "><b>"
|
||||
// "Nicht dran" hat ein eigenes Zeichen vorn im Etikett - bei Punkt und
|
||||
// Fenster dasselbe, und dasselbe wie in der Legende.
|
||||
const nichtdran = zustand === "nichtdran" ? '<i class="bi bi-calendar-x zl-nichtdran"></i>' : "";
|
||||
const etikett = '<span class="zl-etikett' + (e.kappe ? " gekappt" : "") + '"' + kappe + ">" + nichtdran + "<b>"
|
||||
+ zlText(zlEtikettZeit(a)) + "</b>" + zlText(a.name) + lauf + "</span>";
|
||||
|
||||
if (a.art === "fenster") {
|
||||
// Läufe und die früheste Marke als Punkte auf dem Balken.
|
||||
// Läufe als Punkte auf dem Balken. Der früheste Zeitpunkt im Fenster
|
||||
// (etwa Sonnenuntergang + 30) bekommt keine Marke mehr: sie lag meist
|
||||
// unter dem Etikett und sah dort wie ein Zustandszeichen aus. Er steht
|
||||
// im Hinweis ("frühestens 19:01").
|
||||
let marken = "";
|
||||
if (a.punkt !== null && a.punkt > a.von && !a.laeufe.length) {
|
||||
marken += '<span class="zl-marke zl-marke-innen" style="left:' + ((a.punkt - a.von) / Math.max(1, a.bis - a.von) * 100).toFixed(2) + '%"></span>';
|
||||
}
|
||||
a.laeufe.forEach(t => {
|
||||
const m = zlMinuteAus(t);
|
||||
marken += '<span class="zl-marke zl-marke-innen gelaufen" style="left:' + ((m - a.von) / Math.max(1, a.bis - a.von) * 100).toFixed(2) + '%"></span>';
|
||||
|
||||
Reference in New Issue
Block a user