diff --git a/docs/circuit-list-editor-architecture.md b/docs/circuit-list-editor-architecture.md
index b7754df..a81c73a 100644
--- a/docs/circuit-list-editor-architecture.md
+++ b/docs/circuit-list-editor-architecture.md
@@ -37,6 +37,9 @@ The pure grid modules have no React state and are covered by focused unit tests.
- `cosPhi`
- room snapshots
- category/cost group and related row attributes
+ - canonical `phaseType` values `single_phase` or `three_phase`; the
+ frontend always presents these as `1-phasig` or `3-phasig` and edits
+ them through a selection control
- `ProjectDevice`
- Reusable device template entity at project level.
- Can be linked to `CircuitDeviceRow` entries, with copied display values on insert.
diff --git a/src/app/globals.css b/src/app/globals.css
index c460a0d..25a05de 100644
--- a/src/app/globals.css
+++ b/src/app/globals.css
@@ -689,7 +689,8 @@ body {
border-color: #c2410c;
}
-.tree-grid input {
+.tree-grid input,
+.tree-grid select {
width: 100%;
min-width: 5rem;
border: 1px solid #9fb6e0;
diff --git a/src/app/projects/page.tsx b/src/app/projects/page.tsx
index 39f7aa9..14a459d 100644
--- a/src/app/projects/page.tsx
+++ b/src/app/projects/page.tsx
@@ -193,7 +193,7 @@ export default function ProjectsPage() {
async function handleQuickUpdateGlobalDevice(
device: GlobalDeviceDto,
- key: "name" | "displayName" | "category",
+ key: "name" | "displayName" | "category" | "phaseCount",
value: string
) {
const payload: CreateGlobalDeviceInput = {
@@ -203,7 +203,12 @@ export default function ProjectsPage() {
quantity: device.quantity,
installedPowerPerUnitKw: device.installedPowerPerUnitKw,
demandFactor: device.demandFactor,
- phaseCount: device.phaseCount ?? undefined,
+ phaseCount:
+ key === "phaseCount"
+ ? value === "3"
+ ? 3
+ : 1
+ : device.phaseCount ?? 1,
powerFactor: device.powerFactor ?? undefined,
note: device.note ?? undefined,
};
@@ -416,8 +421,8 @@ export default function ProjectsPage() {
setGlobalDeviceForm((current) => ({ ...current, phaseCount: event.target.value }))
}
>
-
-
+
+
@@ -437,6 +442,7 @@ export default function ProjectsPage() {
Anzahl |
Leistung je Stück [kW] |
GZF |
+
Phasenart |
Aktion |
@@ -479,6 +485,23 @@ export default function ProjectsPage() {
{device.quantity} |
{device.installedPowerPerUnitKw} |
{device.demandFactor} |
+
+
+ |
) : null}
{activeColumnFilters.map(({ column, values }) => {
- const shownValues = values.slice(0, 2).join(", ");
+ const shownValues = values
+ .slice(0, 2)
+ .map((value) =>
+ column.key === "phaseType"
+ ? formatPhaseTypeLabel(value)
+ : value
+ )
+ .join(", ");
const valueSummary = values.length > 2 ? `${shownValues} +${values.length - 2}` : shownValues;
return (
|