Fix: Isolations-Rahmen war unsichtbar (lag hinter der PlanView-SVG)
box-shadow auf .pane selbst lag HINTER der eigenen Kind-SVG von PlanView (Nutzer-Report "ich seh es nicht") — jetzt ein eigenes Overlay-Element (.pane-isolation-frame), NACH PlanView im DOM gerendert, pointer-events: none, damit Klicks/Griffe im Plan weiterhin durchgehen.
This commit is contained in:
+10
-4
@@ -2139,10 +2139,16 @@ body {
|
|||||||
/* Gruppen-Isolation (Vectorworks „Gruppe betreten"): halbtransparenter
|
/* Gruppen-Isolation (Vectorworks „Gruppe betreten"): halbtransparenter
|
||||||
Orange-Rahmen (Band) am Rand der ganzen Ansicht, solange eine Gruppe
|
Orange-Rahmen (Band) am Rand der ganzen Ansicht, solange eine Gruppe
|
||||||
betreten ist — dieselbe visuelle Sprache wie Vectorworks' "Ansichtsbereich"-
|
betreten ist — dieselbe visuelle Sprache wie Vectorworks' "Ansichtsbereich"-
|
||||||
Rahmen (Screenshot-Referenz, 2026-08-22). `box-shadow: inset` statt
|
Rahmen (Screenshot-Referenz, 2026-08-22). EIGENES Overlay-Element, NACH
|
||||||
`outline`, weil es eine feste rgba-Farbe trägt (kein CSS-Var-Farbmix nötig)
|
PlanView im DOM gerendert (nicht `box-shadow` auf `.pane` selbst — das läge
|
||||||
und als Band nach INNEN geht, ohne Layout/Grösse der Ansicht zu ändern. */
|
HINTER der eigenen Kind-SVG von PlanView und wäre unsichtbar, s. Nutzer-
|
||||||
.pane-isolated {
|
Report "ich seh es nicht"). `pointer-events: none`, damit Klicks/Griffe im
|
||||||
|
Plan weiterhin durchgehen. */
|
||||||
|
.pane-isolation-frame {
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
z-index: 5;
|
||||||
|
pointer-events: none;
|
||||||
box-shadow: inset 0 0 0 8px rgba(230, 126, 34, 0.35);
|
box-shadow: inset 0 0 0 8px rgba(230, 126, 34, 0.35);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -697,7 +697,7 @@ function LevelPlanView({
|
|||||||
});
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<section className={groupPath.length > 0 ? "pane pane-isolated" : "pane"}>
|
<section className="pane">
|
||||||
<div className="pane-title">
|
<div className="pane-title">
|
||||||
{isDrawing
|
{isDrawing
|
||||||
? t("content.drawingTitle", { name: level.name })
|
? t("content.drawingTitle", { name: level.name })
|
||||||
@@ -760,6 +760,9 @@ function LevelPlanView({
|
|||||||
selectedDrawingIds={selectedDrawingIds}
|
selectedDrawingIds={selectedDrawingIds}
|
||||||
gripHandlers={gripHandlers}
|
gripHandlers={gripHandlers}
|
||||||
/>
|
/>
|
||||||
|
{/* NACH PlanView gerendert (nicht als box-shadow auf .pane), damit der
|
||||||
|
Isolations-Rahmen über der PlanView-SVG sichtbar bleibt. */}
|
||||||
|
{groupPath.length > 0 && <div className="pane-isolation-frame" />}
|
||||||
<div className="plan-legend">{caption}</div>
|
<div className="plan-legend">{caption}</div>
|
||||||
</section>
|
</section>
|
||||||
);
|
);
|
||||||
@@ -950,7 +953,7 @@ function SectionPlanView({
|
|||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<section className={groupPath.length > 0 ? "pane pane-isolated" : "pane"}>
|
<section className="pane">
|
||||||
<div className="pane-title">
|
<div className="pane-title">
|
||||||
{t("content.sectionTitle", { name: level.name, kind: kindLabel })}
|
{t("content.sectionTitle", { name: level.name, kind: kindLabel })}
|
||||||
</div>
|
</div>
|
||||||
@@ -1010,6 +1013,9 @@ function SectionPlanView({
|
|||||||
selectedDrawingIds={selectedDrawingIds}
|
selectedDrawingIds={selectedDrawingIds}
|
||||||
gripHandlers={gripHandlers}
|
gripHandlers={gripHandlers}
|
||||||
/>
|
/>
|
||||||
|
{/* NACH PlanView gerendert (nicht als box-shadow auf .pane), damit der
|
||||||
|
Isolations-Rahmen über der PlanView-SVG sichtbar bleibt. */}
|
||||||
|
{groupPath.length > 0 && <div className="pane-isolation-frame" />}
|
||||||
<div className="plan-legend">{t("section.legend", { kind: kindLabel })}</div>
|
<div className="plan-legend">{t("section.legend", { kind: kindLabel })}</div>
|
||||||
</section>
|
</section>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user