Render circuit protection values

This commit is contained in:
2026-07-31 09:56:49 +02:00
parent 2964205a27
commit 54874f9fcb
2 changed files with 43 additions and 0 deletions
@@ -146,6 +146,13 @@ function makeVisibleGridRow(
value = getDeviceValue(device, column.key); value = getDeviceValue(device, column.key);
} else if (kind === "circuitField" && circuit) { } else if (kind === "circuitField" && circuit) {
value = getCircuitValue(circuit, column.key); value = getCircuitValue(circuit, column.key);
} else if (
kind === "computed" &&
rowType !== "deviceRow" &&
circuit &&
circuitOnlyColumns.has(column.key)
) {
value = getCircuitValue(circuit, column.key);
} else if (column.key === "rowTotalPower" && device) { } else if (column.key === "rowTotalPower" && device) {
value = device.rowTotalPower; value = device.rowTotalPower;
} else if (column.key === "rowTotalPower" && circuit) { } else if (column.key === "rowTotalPower" && circuit) {
+36
View File
@@ -177,6 +177,42 @@ describe("circuit grid projection", () => {
); );
}); });
it("shows circuit protection once on each visible circuit row", () => {
const protectedSections = sections.map((section) => ({
...section,
circuits: section.circuits.map((circuit) => ({
...circuit,
protectionDevice: {
type: "FI_LS" as const,
ratedCurrentA: 16,
tripCharacteristic: "B" as const,
rcdType: "A" as const,
ratedResidualCurrentMa: 30,
},
})),
}));
const rows = buildVisibleGridRows(protectedSections);
const protectionValue = (rowType: string) =>
rows
.find((row) => row.rowType === rowType)
?.cells.find((cell) => cell.cellKey === "protectionSummary")
?.value;
assert.equal(
protectionValue("circuitCompact"),
"FI/LS · 16 A · B · Typ A · 30 mA"
);
assert.equal(
protectionValue("circuitSummary"),
"FI/LS · 16 A · B · Typ A · 30 mA"
);
assert.equal(
protectionValue("reserveCircuit"),
"FI/LS · 16 A · B · Typ A · 30 mA"
);
assert.equal(protectionValue("deviceRow"), undefined);
});
it("normalizes structural component rows around complete circuit groups", () => { it("normalizes structural component rows around complete circuit groups", () => {
const component = { const component = {
circuitListId: "list-1", circuitListId: "list-1",