From c9fc5054048fe32a0a197f8536a4ed354bb8bf77 Mon Sep 17 00:00:00 2001 From: Michael Hoennig Date: Tue, 21 Jul 2026 11:20:17 +0200 Subject: [PATCH] frontend: Wiederherstellen aus dem minimierten Zustand MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit min = Titelzeile, max = voller Platz abzüglich der Titelzeile des anderen Panels (durch Vollhöhen-Layout und gespiegelte Collapse-Zustände bereits gegeben). Ergänzt: Klick auf die Titelzeile eines minimierten Panels stellt es wieder her; Doppelklick auf den Splitter setzt auf normal. Co-Authored-By: Claude Opus 4.8 --- frontend/index.html | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/frontend/index.html b/frontend/index.html index 65b995c..7e6cf2b 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -81,6 +81,8 @@ .panel.collapsed .copybtn, .panel.collapsed .switch, .panel.collapsed .seg{display:none} + .panel.collapsed .panel-head{cursor:pointer} + .panel.collapsed .panel-head>span{cursor:pointer} /* Gestapelt: kollabiertes Panel = Titelzeile (auto), anderes füllt. */ .app:not(.side).collapse-diagram{grid-template-rows:auto 14px minmax(0,1fr)} .app:not(.side).collapse-editor{grid-template-rows:minmax(0,1fr) 14px auto} @@ -697,6 +699,13 @@ function applySplit(){ document.querySelectorAll('.winbtn').forEach(b => { b.addEventListener('click', () => { splitState = b.dataset.state; applySplit(); }); }); +/* Klick auf die Titelzeile eines minimierten Panels stellt es wieder her. */ +[editorPanel, diagramPanel].forEach(panel => { + panel.querySelector('.panel-head').addEventListener('click', e => { + if(e.target.closest('button, label, input')) return; /* Bedienelemente behalten ihre Funktion */ + if(panel.classList.contains('collapsed')){ splitState = 'normal'; applySplit(); } + }); +}); /* ---------- Splitter: Bereiche per Drag verteilen ---------- */ const gutter = document.getElementById('gutter'); @@ -737,6 +746,8 @@ function endDrag(e){ } gutter.addEventListener('pointerup', endDrag); gutter.addEventListener('pointercancel', endDrag); +/* Doppelklick auf den Splitter stellt die normale Aufteilung wieder her. */ +gutter.addEventListener('dblclick', () => { splitState = 'normal'; applySplit(); }); /* ---------- Zoom für das Diagramm ---------- */ /* CSS-`zoom` skaliert die Layout-Box, dadurch greifen die Scrollbalken