frontend: Wiederherstellen aus dem minimierten Zustand
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 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
f32cda676b
commit
c9fc505404
@@ -81,6 +81,8 @@
|
|||||||
.panel.collapsed .copybtn,
|
.panel.collapsed .copybtn,
|
||||||
.panel.collapsed .switch,
|
.panel.collapsed .switch,
|
||||||
.panel.collapsed .seg{display:none}
|
.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. */
|
/* 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-diagram{grid-template-rows:auto 14px minmax(0,1fr)}
|
||||||
.app:not(.side).collapse-editor{grid-template-rows:minmax(0,1fr) 14px auto}
|
.app:not(.side).collapse-editor{grid-template-rows:minmax(0,1fr) 14px auto}
|
||||||
@@ -697,6 +699,13 @@ function applySplit(){
|
|||||||
document.querySelectorAll('.winbtn').forEach(b => {
|
document.querySelectorAll('.winbtn').forEach(b => {
|
||||||
b.addEventListener('click', () => { splitState = b.dataset.state; applySplit(); });
|
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 ---------- */
|
/* ---------- Splitter: Bereiche per Drag verteilen ---------- */
|
||||||
const gutter = document.getElementById('gutter');
|
const gutter = document.getElementById('gutter');
|
||||||
@@ -737,6 +746,8 @@ function endDrag(e){
|
|||||||
}
|
}
|
||||||
gutter.addEventListener('pointerup', endDrag);
|
gutter.addEventListener('pointerup', endDrag);
|
||||||
gutter.addEventListener('pointercancel', 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 ---------- */
|
/* ---------- Zoom für das Diagramm ---------- */
|
||||||
/* CSS-`zoom` skaliert die Layout-Box, dadurch greifen die Scrollbalken
|
/* CSS-`zoom` skaliert die Layout-Box, dadurch greifen die Scrollbalken
|
||||||
|
|||||||
Reference in New Issue
Block a user