cable-sizing: size for the protective device, not just the load; manual entry; icon position

- calculateCableSizing now selects cross-section against
  designCurrentA = max(operatingCurrentA, existingProtectionRatedCurrentA)
  instead of the load current alone. A breaker only trips at its own rated
  current (In), so a cable sized for the actual load could overheat under
  sustained current below that threshold - the standard In <= Iz rule.
  Voltage-drop calculation still uses the real operating current, only the
  capacity check changed. Alerts and the ok-summary now name the breaker as
  the limiting factor when it is one.
- Added a manual cable type/cross-section entry in the modal itself:
  running a calculation pre-fills these fields as a suggestion, but they
  are the single field that actually gets applied, and stay editable -
  this restores the direct manual-entry capability the modal replaced when
  it took over the cableSummary/cableCrossSection cell click.
- Fixed calculator icon position from a trailing ::after (inconsistent
  position depending on cell text length, easy to miss on empty cells) to
  a fixed-position ::before, so it is always in the same place regardless
  of whether cable data is already filled in.
- No new display for the existing protection device - it already has its
  own Schutz column in this app.
This commit is contained in:
Grovy311 2026-08-07 18:02:28 +02:00
parent a35d04965e
commit 8562d6eb83
5 changed files with 145 additions and 29 deletions

View file

@ -1227,10 +1227,17 @@ a.kpi:hover {
box-shadow: inset 0 0 0 1px var(--color-primary);
}
.tree-grid .cell-cable-sizing-trigger::after {
content: " 🧮";
.tree-grid .cell-cable-sizing-trigger {
position: relative;
padding-left: 1.4em;
}
.tree-grid .cell-cable-sizing-trigger::before {
content: "🧮";
position: absolute;
left: 0.2em;
font-size: 0.8em;
opacity: 0.7;
opacity: 0.8;
}
.tree-grid .device-drag-handle {