From 993a4fe6f81f8244a24778cadd837cc20eb6cc65 Mon Sep 17 00:00:00 2001 From: "m0@nas" Date: Wed, 16 Sep 2026 09:05:38 +0200 Subject: [PATCH] Uebersicht hochkant: UG und Heizstab tauschen die Plaetze Hochkant wurden bisher nur x und y getauscht. Der Katalog kann jetzt mit hochX/hochY eine eigene Lage fuer diese Ansicht nennen; UG steht damit unter dem Verbrauch bei den anderen Geschossen, der Heizstab rechts daneben. Co-Authored-By: Claude Opus 5 --- js/solar/energiefluss.js | 15 +++++++++++++-- js/solar/energieflussKatalog.js | 8 ++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/js/solar/energiefluss.js b/js/solar/energiefluss.js index 0060fb2..26c0a5e 100644 --- a/js/solar/energiefluss.js +++ b/js/solar/energiefluss.js @@ -235,6 +235,9 @@ aktiv: k.pflicht || e.aktiv !== false, anzeigeName: e.name || k.name, lage: [e.x ?? k.x, e.y ?? k.y], + // Hochkant wird sonst nur x und y getauscht. Wo das die Kreise + // ungluecklich stellt, nennt der Katalog eine eigene Lage. + hochLage: k.hochX === undefined ? null : [k.hochX, k.hochY], optionenWirksam: Object.assign({}, k.optionen || {}, e.optionen || {}), }); }); @@ -260,9 +263,17 @@ return !this.bearbeiten && this.behaelter.clientWidth > 0 && this.behaelter.clientWidth < grenze; } - /** Lage eines Kreises in der aktuellen Ansicht. */ + /** + * Lage eines Kreises in der aktuellen Ansicht. + * + * Hochkant werden x und y getauscht - aus einem breiten Bild wird ein + * hohes. Ein Kreis mit hochX/hochY im Katalog steht dort stattdessen, + * wo der Katalog ihn hinstellt; verschieben im Bearbeitungsmodus (den es + * nur quer gibt) laesst diese Lage unberuehrt. + */ punkt(k) { - return this.hochkant ? [k.lage[1], k.lage[0]] : [k.lage[0], k.lage[1]]; + if (this.hochkant) return k.hochLage || [k.lage[1], k.lage[0]]; + return [k.lage[0], k.lage[1]]; } radius(k) { diff --git a/js/solar/energieflussKatalog.js b/js/solar/energieflussKatalog.js index ec0b2c9..aed464e 100644 --- a/js/solar/energieflussKatalog.js +++ b/js/solar/energieflussKatalog.js @@ -22,6 +22,8 @@ pflicht lässt sich nicht ausschalten (die Mitte des Bildes) gross größerer Kreis x, y Mitte in der Queransicht (Zeichenfläche etwa 1400 x 850) + hochX, hochY Mitte in der Hochkant-Ansicht, falls das blosse Tauschen + von x und y den Kreis dort ungünstig stellt (optional) skala Leistung in W, bei der der Ring voll ist klick {ansicht: "anlage"} oder {modal: "heater"} - Ziel beim Antippen optionen Vorgabe für die Optionen, die in den Einstellungen änderbar sind @@ -217,7 +219,9 @@ const ENERGIEFLUSS_KATALOG = (function () { }, { id: "ug", name: "Untergeschoss", symbol: "etageUnten", farbe: "#83a55b", - eltern: "verbrauch", x: 600, y: 670, skala: 15000, + // Hochkant steht das UG dort, wo quer der Heizstab sitzt, und umgekehrt: + // so stehen die drei Geschosse untereinander. + eltern: "verbrauch", x: 600, y: 670, hochX: 380, hochY: 1120, skala: 15000, lesen(m) { const w = m.zahl("solarManager/ug"); return { leistung: w, fluss: w, ruhe: w < 20 }; @@ -227,7 +231,7 @@ const ENERGIEFLUSS_KATALOG = (function () { // ----------------------------------------------------------- Verbraucher { id: "heizstab", name: "Heizstab", symbol: "speicher", farbe: "#c2614e", - eltern: "verbrauch", x: 1120, y: 380, skala: 6000, + eltern: "verbrauch", x: 1120, y: 380, hochX: 670, hochY: 600, skala: 6000, klick: { modal: "heater" }, lesen(m) { const w = m.zahl("solarManager/pHeat");