forked from jappel/leistungsbilanz-ts
Integrate circuit list navigation and AMEV cell picker
Preserve the ID fallback and compact editor controls. Add dialog keyboard focus, Tab containment and Escape handling; document navigation and picker behavior. Validation: 418 tests, API/web builds, scripts and Next typechecks, isolated AMEV dialog checks and diff checks passed. Full GUI retest waived by the user based on the colleague's prior testing; the keyboard follow-up was checked in isolation.
This commit is contained in:
commit
641513c2ef
6 changed files with 215 additions and 17 deletions
|
|
@ -1,5 +1,8 @@
|
|||
# Circuit List Editor Interactions
|
||||
|
||||
The back-arrow link beside the page title returns to the project's distribution
|
||||
board overview without changing circuit-list data.
|
||||
|
||||
## Editing Model
|
||||
|
||||
Inline cells are static text by default. A cell enters edit mode by:
|
||||
|
|
@ -44,6 +47,7 @@ Selection, keyboard movement, and editability checks run against this normalized
|
|||
- arrow keys: move selected cell in grid when not editing
|
||||
- type-to-edit: printable keys open edit mode and replace current display value with typed character
|
||||
- `Ctrl+Plus` / `Ctrl+Shift+Plus`: insert below the selected circuit or device context
|
||||
- `Alt+ArrowDown` on a GZF cell (selected or editing): open the AMEV simultaneity-factor table
|
||||
- `Delete`: delete the selected circuit or device context after confirmation
|
||||
|
||||
For insertion, a circuit-level cell creates a reserve circuit directly after the selected circuit. A device-level cell creates a manual device row directly after the selected device. On the virtual `-frei-` row, or without a valid row selection, the shortcut creates a circuit at the end of the active section. Insertions use command history and never renumber existing equipment identifiers.
|
||||
|
|
@ -52,6 +56,23 @@ For deletion, a circuit-level cell targets the complete circuit and a device-lev
|
|||
|
||||
Creating or deleting a device row updates the row and the circuit reserve state in one SQLite transaction.
|
||||
|
||||
## AMEV Simultaneity Factor
|
||||
|
||||
The selected GZF cell shows a small table-icon button; it and `Alt+ArrowDown` open
|
||||
the shared `GzfPickerModal` (AMEV Planungshilfe, Tabelle 3), which the project
|
||||
device dialog uses as well. "Übernehmen" commits the mean value of the chosen
|
||||
consumer group through the same path as a typed edit (`commitEdit` with an
|
||||
explicit target cell), so it is one undoable command and works on device rows,
|
||||
compact circuits, reserve circuits and the `-frei-` row. A running inline edit
|
||||
of the cell is discarded when the picker opens. The button only appears on the
|
||||
selected cell; the grid keeps its static-text cells.
|
||||
|
||||
The dialog takes keyboard focus, keeps Tab/Shift+Tab within its actions and
|
||||
closes on Escape without writing a value. Closing returns focus to the grid;
|
||||
only "Übernehmen" saves the selected mean value. Opening the picker is disabled
|
||||
while a write or history operation is running. Its cell button stays outside
|
||||
the Tab order; `Alt+ArrowDown` provides keyboard access from the selected cell.
|
||||
|
||||
## Equipment Identifier Validation
|
||||
|
||||
Equipment identifiers are compared case-insensitively after trimming whitespace. A conflicting edit is highlighted before submission and cannot be committed. Existing conflicts are highlighted in the grid. Validation errors remain dismissible above the editor instead of replacing the complete workspace.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue