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:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user