Skip to content
This repository has been archived by the owner on Jun 20, 2022. It is now read-only.

Warnung bei Patientenregistierung wenn im Browser zurückgeklickt wird #385

Open
HellerDominik opened this issue May 21, 2020 · 3 comments
Labels
part-client Changes to frontend structure UX User Experience issues

Comments

@HellerDominik
Copy link
Collaborator

Wenn man derzeit in der Patientenregistierung zurück klickt werden alle bis dahin getätigten Eingaben gelöscht. Hier bitte eine kleine Warnung hinzufügen

image

Quelle: Facebook

@lordpomeroy lordpomeroy added the part-client Changes to frontend structure label May 21, 2020
@JonasCir
Copy link
Collaborator

Alle Formulare sollen vor Verlust nicht gespeicherte Informationen warnen (fancy Vue.js function?)

@JonasCir JonasCir added the UX User Experience issues label May 21, 2020
@jabrandes
Copy link
Collaborator

Das Zauberwort dürfte hier unter anderem Vue Navigation Guards lauten. Man kann sich in den Vue Router einklinken und so vor dem Verlassen der Seite Code ausführen. Weitere Infos dazu unter https://router.vuejs.org/guide/advanced/navigation-guards.html. Auf Stackoverflow findet sich zudem ein passender Thread, der auch darauf hinweist wie man auf Page Refresh, Tab Close und ähnliche Ereignisse reagieren kann. Link: https://stackoverflow.com/questions/45293861/how-do-i-warn-a-user-of-unsaved-changes-before-leaving-a-page-in-vue

Ich weiß leider nicht ob es schon easy-to-use Lösungen zur Einbindung der unsaved-Überprüfung gibt. Ich schätze aber man könnte einen kleinen Javascript-Proxy schreiben, der ein AntDV Form Element um ein Tracking von Änderungen gegenüber dem Initialzustand / einem Snapshot erweitert (aktueller Wert != Startwert). Wenn man es dann ganz fancy machen möchte, könnte man dann auch per Plugin oder auf ähnliche Weise alle Vue-Komponenten um eine Operation erweitern, die einen solchen Wrapper zur Beobachtung registriert und dann selber die Logik für die Überprüfung und gegebenfalls fällige Warnung bei Verlassen der Seite übernimmt.

@jabrandes jabrandes assigned jabrandes and unassigned jabrandes May 28, 2020
@jabrandes
Copy link
Collaborator

So wie ich das derzeit sehe haben wir zwei verschiedene Arten von Triggern für die Warnung, die beide jeweils für sich separat implementiert werden müssten:

  • Navigation Guards für jegliche Vue-Navigation
  • beforeunload event handling für solche Dinge wie z.B. Schließen des Tabs

Das unschöne ist, dass sich wohl nicht so einfach eine Lösung implementieren lässt, die beide Systeme konsistent behandelt. Die beforeunload Routine der Webbrowser erlaubt genau einen solchen Dialog wie angedacht beim Verlassen der Seite anzeigen zu lassen. Leider lässt sich diese Routine meiner Kenntnis nach nicht durch Dispatching eines eigenen Events auslösen, sodass der Fall der Navigation Guards eine eigene Abfragebehandlung braucht.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
part-client Changes to frontend structure UX User Experience issues
Projects
None yet
Development

No branches or pull requests

4 participants