From bd8dd09f796dddae09ab3614006bd8a1c2198c9e Mon Sep 17 00:00:00 2001 From: Julian Appel Date: Fri, 31 Jul 2026 10:02:11 +0200 Subject: [PATCH] Open circuit protection from grid cell --- src/app/globals.css | 14 +++++++++++ .../components/circuit-tree-editor.tsx | 24 ++++++++++--------- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/src/app/globals.css b/src/app/globals.css index 826bfcc..c863b70 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -1052,6 +1052,20 @@ a.kpi:hover { cursor: text; } +.tree-grid .cell-protection-trigger { + color: var(--color-primary); + cursor: pointer; + font-weight: 600; + transition: + background-color 0.12s ease, + box-shadow 0.12s ease; +} + +.tree-grid .cell-protection-trigger:hover { + background: #eaf6f0; + box-shadow: inset 0 0 0 1px var(--color-signal); +} + .tree-grid .device-drag-handle { cursor: grab; } diff --git a/src/frontend/components/circuit-tree-editor.tsx b/src/frontend/components/circuit-tree-editor.tsx index 979f90f..fdb6f5e 100644 --- a/src/frontend/components/circuit-tree-editor.tsx +++ b/src/frontend/components/circuit-tree-editor.tsx @@ -4210,10 +4210,15 @@ export function CircuitTreeEditor(props: { projectId: string; circuitListId: str row.circuit && (duplicateEquipmentIdentifierCircuitIds.has(row.circuit.id) || hasDraftIdentifierConflict) ); + const isProtectionTrigger = Boolean( + column.key === "protectionSummary" && + row.circuit && + row.rowType !== "deviceRow" + ); return ( {row.circuit && row.rowType !== "deviceRow" ? ( <> -