Speicherleiste ersatzlos gestrichen, Felder speichern beim Verlassen

Auf Entscheidung des Eigentuemers nach der HIG-Pruefung. Gegen die Leiste
sprach viererlei: iOS kennt kein solches Muster auf einer geschobenen
Einstellungsseite; sie schwebte ueber der Tab-Leiste und deckte einen Knopf
der Kachel dahinter zu (gemessen); sie war die Ursache des Datenverlusts bei
der Erstzulassung; und das Panel hatte sie nie - dort schreibt jede Aenderung
sofort ins Profil.

Jetzt speichern Textfelder beim Verlassen, Auswahlfelder sofort. Die Meldung
"Gespeichert." entfaellt mit. Der Regler "Fahrt beenden" behaelt seinen
eigenen Bestaetigungsschritt - ihn bei jedem Zwischenschritt zu sichern hiesse
ein Dutzend Schreibvorgaenge je Bedienung.

Mit echten Eingabeereignissen am laufenden System geprueft: getippt, ins
naechste Feld geklickt, Wert steht in fahrzeugprofil.json; danach der
urspruengliche Wert wiederhergestellt. 299 Tests gruen, 0 Tracebacks.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-05 12:42:50 +02:00
parent b22a0eca5b
commit 71403efafe
5 changed files with 80 additions and 33 deletions
+48
View File
@@ -11854,3 +11854,51 @@ Gemessen in beiden: Farbe `rgb(52,199,89)` bzw. `rgb(48,209,88)` - das ist
**Nachgezogen:** die Beschriftung heisst nur noch "Integration".
"Home-Assistant-Integration" brach auf Telefonbreite in zwei Zeilen um; auf
Entscheidung des Eigentuemers gekuerzt. Nachgemessen: einzeilig, 20px hoch.
## CY. Die Speicherleiste ist ersatzlos entfallen (2026.9.5.21)
Frage des Eigentuemers: *"entspricht Speichern/verwerfen anzeige bei Fahrzeug
einrichten der Apple HIG?"* - Antwort: nur teilweise. Entscheidung danach:
*"speichern: ersatzlos streichen"*.
### Was dagegen sprach
* **Das Muster.** iOS kennt keine dauerhafte Speichern/Verwerfen-Leiste auf
einer *geschobenen* Einstellungsseite. Apples zwei Muster sind: Aenderungen
wirken sofort (Einstellungen-App) oder das Bearbeiten laeuft in einem
**modalen Blatt** mit Abbrechen oben links und Fertig oben rechts. Eine
klebende Aktionsleiste unten ist ein Web-/Android-Idiom.
* **Sie verdeckte Inhalt.** Gemessen: Leiste bei y 577-670, Tab-Leiste ab 700;
`elementsFromPoint` direkt dahinter ein `BUTTON.ads-action--primary` in der
Kachel. Dazu Seitengrund `rgb(242,242,247)` auf weisser Kachel - ein grauer
Balken quer durch die Karte.
* **Sie war die Ursache eines Datenverlusts** (Abschnitt CU): wer nur die
Erstzulassung aenderte, bekam gar keinen Speichern-Knopf zu sehen. Eine
Leiste, die eine Eingabe erst gueltig macht, kann sie auch verschlucken.
* **Sie war eine Paritaetsabweichung.** Das Panel hat sie nie gehabt - dort
schreibt der `data-einrichten`-Handler bei jeder Aenderung sofort ins Profil.
### Was jetzt gilt
Textfelder (Modell, Kennzeichen, Erstzulassung, Ausfuehrung) speichern **beim
Verlassen des Feldes**, Auswahlfelder sofort. Genau wie im Panel. Die
Erfolgsmeldung "Gespeichert." entfaellt mit - eine sofort wirkende Aenderung
braucht keine Bestaetigung, und das Panel zeigt auch keine.
**`speichern()` bleibt fuer den Regler "Fahrt beenden".** Ein Schieberegler bei
jedem Zwischenschritt zu sichern hiesse ein Dutzend Schreibvorgaenge je
Bedienung; er behaelt deshalb seinen eigenen Bestaetigungsschritt mit
Verwerfen/Speichern in der Kachel (`dm-speicherleiste--kachel`). Das ist die
einzige verbliebene Stelle mit dieser Klasse.
### Zweimal am eigenen Testfehler vorbeigeschrammt
Der erste Nachweis schlug fehl - Wert nicht gespeichert. Ursache war nicht der
Code, sondern mein Test: ein programmatisches `e.focus()` + Wertsetzer +
`e.blur()` loest React's `onBlur` hier nicht verlaesslich aus. Mit echten
Eingabeereignissen (Dreifachklick, Tippen, Klick ins naechste Feld) steht der
Wert sofort in `fahrzeugprofil.json`.
Dasselbe Muster wie beim Koordinatenfehler in Abschnitt CS: **ein fehlgeschlagener
synthetischer Test ist kein Fehlerbeweis.** Erst mit echten Ereignissen pruefen,
dann urteilen.