Files
DOSSIER-STANDALONE/docs/design/context-menu.md
T
karim ca859c4aa4 Browser-BIM (cad): semantisches Modell, abgeleitete 2D/3D-Sichten, Zeichenwerkzeuge
Standalone-Browser-Port von DOSSIER. Enthaelt das semantische Modell mit
Plan-/3D-Ableitung, Zeichen- und Editierwerkzeuge, Rhino-artiges Befehlssystem,
dockbares Panel-System, Resource-Manager, DXF/.lin/.pat-Import, i18n (de/en)
sowie Projektdokumentation und Probe-Harness.
2026-06-30 20:52:27 +02:00

3.0 KiB

Kontextmenü & Anzeige-Modi — 1:1 wie DOSSIER

Quelle: DOSSIER src/components/ContextMenu.jsx + DrawingLevelsApp.jsx/Ebenen-Panel. Maus-Schema (unsere Festlegung): Mitte = navigieren (Plan Pan / 3D Orbit, Shift+Mitte Pan) · Links = Auswahl · Rechts = Kontextmenü · Rad = Zoom.

ContextMenu-Komponente (generisch, wiederverwendbar)

ContextMenu({ x, y, items, onClose, title })

  • item: { label, icon?, onClick, disabled?, danger?, shortcut?, divider? }
  • Fixed-Position mit Rand-Clamp (4px); min-width 200px; Radius 13px; weicher Schatten; Mount-Animation scale(.94) translateY(-5px) 100ms; Item-Hover = --accent-dim; danger = rote Schrift; divider = 1px Trenner; Titel oben (caps, 10px, muted).
  • Schließen: Klick außerhalb · Escape · erneuter Rechtsklick · nach Item-Klick.
  • z-index ~300 (unter Modals).

Ebenen-Kontextmenü (Rechtsklick auf Ebenen-Zeile)

  1. Ebeneneinstellungen… (settings) — Ebenen-Dialog (Rhino-spez. → vorerst Stub)
  2. — Trenner —
  3. Sub-Ebene hinzufügen… (add)
  4. Selektion hierher übertragen (move_down) (braucht Auswahl → später)
  5. — Trenner —
  6. Duplizieren (content_copy) — Klon mit Suffix „ KOPIE"
  7. Eigenschaften kopieren (colorize) — Farbe + Linienstärke
  8. Eigenschaften einfügen (format_paint) — disabled wenn Clipboard leer
  9. — Trenner —
  10. Löschen (delete, danger) — disabled wenn ≤1 Ebene Titel = Ebenenname/-code.

Zeichnungsebenen-Kontextmenü (Rechtsklick auf Geschoss/Schnitt/Zeichnung)

  1. Einstellungen… (settings)
  2. — Trenner —
  3. Duplizieren (content_copy) — Klon mit Suffix „ Kopie"
  4. — Trenner —
  5. Löschen (delete, danger) — disabled wenn ≤1 Ebene Titel = Name.

„+"-Menü (Zeichnungsebenen)

Geschoss (layers) · Schnitt / Ansicht (content_cut) · — · Zeichnung (edit_note)

Anzeige-Modi (Dropdown oben im Panel) — 5 Modi (für Ebenen UND Zeichnungsebenen)

Wert Label Verhalten
all_force Alle anzeigen alle erzwungen sichtbar; Augen gedimmt; Klick aufs Auge → wechselt zu „Ausgewählte"
all Ausgewählte sichtbar nach per-Zeile-Flag
active Nur aktive nur aktive sichtbar; andere stark gedimmt
grey Andere grau aktive normal, andere 45% (Sichtbarkeits-Flags gelten)
grey_locked Andere grau & gesperrt wie grey + andere gesperrt
Regel: Klick aufs Auge in all_force/active schaltet automatisch auf all.
(Hinweis: Panel-System-Workflow hatte vorerst nur 3 Modi — beim Kontextmenü-Build auf diese 5 angleichen.)

Migration (was sofort geht / was Stub bleibt)

  • Sofort: ContextMenu-Komponente 1:1; Duplizieren, Eigenschaften kopieren/einfügen, Löschen, +Menü, 5 Anzeige-Modi (alles reine JSON-State-Operationen).
  • Stub/später: „Ebeneneinstellungen…"/„Einstellungen…" (Dialog), „Sub-Ebene hinzufügen", „Selektion hierher übertragen".