Filipe: "Was passiert, wenn jemand eine Funktion abbricht?"
GEMESSEN: Acht Dialoge im Workspace enthalten Eingabefelder --
"Aufgabe bearbeiten" (10 Felder), der Tageseintrag in der Leistung
(8), Ziele, Netzwerk, Import, ein neuer Chat-Raum, ein Creator. Bei
allen galt: Esc, Klick daneben oder "Abbrechen" wirft ALLES weg,
wortlos. Wer zehn Felder ausgefuellt hat und mit dem Daumen den Rand
trifft, faengt von vorn an.
Neu: window.verwurfWache() in nachfrage.js.
BEIDE SCHLIESSWEGE, denn sie laufen verschieden:
Esc / Klick daneben loest `cancel` aus, close() wird NICHT gerufen
"Abbrechen"-Knopf ruft close(), loest kein `cancel` aus
Wer nur einen abfaengt, hat eine halbe Sicherung -- und die ist
schlimmer als keine, weil man ihr vertraut.
NICHT VON HAND VERTEILT: Jeder Dialog mit Feldern bekommt sie
automatisch (ausser dem Nachfrage-Dialog selbst -- er wuerde beim
Schliessen nach sich selbst fragen, in sich selbst, und haenge fuer
immer). Wer morgen einen neunten baut, hat sie, ohne daran zu denken.
UND SIE FRAGT NUR BEI WIRKLICHER AENDERUNG. Beim Oeffnen wird ein
Abbild der Felder genommen, beim Schliessen verglichen. Wer einen
Dialog aufmacht und gleich wieder zu, merkt nichts.
ZWEI SACHEN BEIM BAUEN GEMESSEN STATT VERMUTET:
MEINE EIGENE "ROBUSTHEIT" HAT DIE WACHE STILL AUSGESCHALTET.
Gegen den Fall "Felder werden erst nach dem Oeffnen gefuellt" hatte
ich einen zweiten Schnappschuss beim Hineinklicken (`focusin`)
eingebaut. Gemessen: Der entstand NACH dem Tippen -- Fokus und
Werteingabe passieren im selben Atemzug. `beimOeffnen` war danach
gleich dem getippten Text, und der Dialog ging wortlos zu. Die
Sicherung sah eingebaut aus und tat nichts.
Jetzt wird im naechsten BILD nachgetragen: Was das Skript beim
Oeffnen nachtraegt, ist drin; getippt haben kann in derselben
Sechzehntelsekunde niemand.
(Nachgemessen: Alle acht Dialoge fuellen heute VOR showModal.)
ZWEIMAL ESC HINTEREINANDER SCHLIESST TROTZDEM. Das ist Chromiums
"close watcher": Eine Seite darf den Nutzer nicht mit Esc
einsperren. Die Regel ist richtig; dagegen anzubauen waere falsch.
Sie steht deshalb im Code und in der Pruefung -- festgehalten,
nicht umgangen. Der Knopf unterliegt ihr nicht, und am Handy gibt
es ohnehin kein Esc.
Elf Speicherwege rufen `vergessen()`, damit nach erfolgreichem
Speichern nicht gefragt wird. Eine Warnung nach dem Speichern waere
genau die, die man wegklickt -- und danach auch die echte.
pruef-nachfrage 49/0 (war 33), davon zehn am Bildschirm:
unberuehrt geht er ohne Nachfrage zu
nach einer Aenderung fragt Esc nach, der Dialog bleibt offen
"Weiter bearbeiten" laesst ihn offen UND der Text steht noch da
auch der Abbrechen-Knopf fragt -- jedes Mal
"Verwerfen" schliesst wirklich, und der Text steht nirgends
pruef-aufgabenbrett, -leistung, -uebersicht-browser, -chat-optik,
-css-klassen gruen, pruef-tippziele 11/0.