Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Demander une confirmation pour quitter une page en mode édition #87

Closed
opi opened this issue Mar 23, 2017 · 2 comments
Closed

Demander une confirmation pour quitter une page en mode édition #87

opi opened this issue Mar 23, 2017 · 2 comments

Comments

@opi
Copy link
Contributor

opi commented Mar 23, 2017

Lors de l'édition d'une fiche patient, si l'utilisateur clique sur le lien de retour à l'accueil, les données modifiées ne sont pas sauvegardées.

Cette demande rejoint l'idée de proposer les fiches (patient / consult) en mode édition par défaut (donc sans devoir cliquer sur "éditer"), avec une sauvegarde automatique. A voir quelle solution est préférable pour l'experience utilisateur.

@jbgury
Copy link
Contributor

jbgury commented Feb 17, 2018

Comme déjà dit, les actions "éditions", "suppression" ont été demandées par les utilisateurs. Les premières versions permettaient du "in line", et ça ne correspondait pas à leurs attentes. Trouvant la fonction peu intuitive. Je suis d'accord avec vous c'est une étape en plus... J'ai été déçu de l'introduire. Mais elle avait été demandée.

@jbgury
Copy link
Contributor

jbgury commented Feb 17, 2018

Par contre je vous rejoins, la confirmation de fermeture pendant l'édition c'est clairement un truc à faire :)

JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Feb 26, 2018
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Feb 26, 2018
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Mar 2, 2018
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Mar 2, 2018
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Jun 7, 2018
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Jun 7, 2018
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Jun 15, 2018
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Jun 15, 2018
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Aug 22, 2018
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Aug 22, 2018
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Aug 31, 2018
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Aug 31, 2018
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Nov 8, 2018
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Nov 8, 2018
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Jan 14, 2019
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Jan 14, 2019
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Jul 10, 2019
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Jul 10, 2019
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Jul 11, 2019
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Jul 11, 2019
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Jul 20, 2019
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Jul 20, 2019
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Sep 1, 2019
JocelynDelalande added a commit to JocelynDelalande/Libreosteo that referenced this issue Sep 1, 2019
jbgury added a commit that referenced this issue Nov 30, 2019
* Re-implement tab change detection with events

I Believe this is clearer and cleaner than using MutationObserver. It also
makes it more generic (pave the way for handling router-view change the same way).

ref #70

* Auto-save on tab change only if form changed

Saves some requests.

* Only handle relevant tab change event

Only if it is related to current form tab.

Using `:visible` is quite a hack. Properly handling that would require that the
tab itself $broadcast from its scope (narrowing the receivers list). Currently,
its `PatientCtrl` who issues $broadcast.

* Refactor unsaved tab/form code and allow to prompt user

Make it more generic, pave the way for #87

* Ask confirmation to user when he leaves without saving examination data

fix #87

* Ask confirmation before leaving page with unsaved data

As commented in the patch, we can do little on browser page quit (no autosave),
so this is barely a confirmation message.

fix #115

* Avoid repeating closing event handling for unsaved stuff

- avoid handling several $locationChangeStart on same click.
- avoir handling $locationChangeStart and uiTabChange on same click.

* Make EditFormManager capable of actioning several forms

At once, all visible forms.

Also refactored slightly and documented.

* Refactor laterality key/values with service + filter

To make it more reusable outside of PatientCtrl

* Refactor sex key/values with service + filter

To make it more reusable outside of PatientCtrl and consistent with laterality handling.

* Fix bug preventing to add doctors

Not mentioning meta.fields is forbidden with recent DRF versions.

* Refactor doctor selector into a dedicated component

Pave the way to display examination in both examination and patient details
view.

* Do not leave edit mode after adding a new doctor

fix #132

* Comments cleanup

iso-functional commit

* Refactor spheres handling in examination controller

To avoid repetition

iso-functional commit.

* Remove dead code

iso-functional commit

* Move isEmpty() to utils

iso-functional commit

* Remove debug logging

iso-functional commit

* Switch to 2 columns examination view layout

fix #83

* Display patient age near patient name

in examination/patient view

* Fix false-positive unsaved data confirmation dialog

angular-xeditable offers no guarantee at handling correctly the dirty <form>
status.

Thus, now rely only the dirty status on individual fields to trigger or not the
unsaved data user confirmation dialog.

ref #113 #114

* Re-organize left pane of patient view

- align items in two columns
- add a thin border between the two cols
- field title and field input are now inline (to avoid weird space between name
  and input)
- say « not documented » for most field, when relevant (instead of white space)

* Style undocumented values a more light maneer

When the information is not filled, it seems more logical to dim the info
message saying  it rather than highlighting it.

* Add propper spacing to patient notes

(before, text was glued to panel borders)

* Use less agressive color for examination reason

* Integrate examination type to first panel heading, as badge

Save some vertical space and makes it acceptable for people not using this
information.

* Refactor optional module to allow  configuring several views

And not only dashboard

* Add forgotten i18n string

* Allow disabling spheres in examination view

* Clarify separation between consultation reason and medical examination

* Fix bad modal button displaying/hiding

My code to handle multiple forms via the modal buttons was pretty much
buggy/unfinished. Now, it is better and works as expected :-)

* Also auto-save examination tab

drawback is that it close the form and requires more clicks.

* Fix non-admin user rights on /profiles/get_by_user

Non-admin users were no longer able to (at least) :

- Fetch their profile
- Create new examination
- Create new patient

That is unrelated to current PR (bug also existed in current develop branch)

* Fix Patient.hobbies input overflow in examination view

* Add missing migration merge

* Cleanup examination edit view

- rename editableForm → examinationForm to be less confusing
- group edit/save behaviours of the two forms of the view instead of handling
  them half-appart.

* Fix action buttons display on new examination

They were not appearing, and different parts of the code were
attempting (unsuccessfuly) to make it happen.

Fixed the bug and cleaned the bug !

* Fix Missing e-names in patient detail form

* Fix typo in var name

* Refactor EditFormManager Through FormAction

Clarifies what this part of the code does.

* Fix selenium tests

* Merge work on form with two columns

* Fix issue when merging
jbgury added a commit that referenced this issue Aug 13, 2020
* Re-implement tab change detection with events

I Believe this is clearer and cleaner than using MutationObserver. It also
makes it more generic (pave the way for handling router-view change the same way).

ref #70

* Auto-save on tab change only if form changed

Saves some requests.

* Only handle relevant tab change event

Only if it is related to current form tab.

Using `:visible` is quite a hack. Properly handling that would require that the
tab itself $broadcast from its scope (narrowing the receivers list). Currently,
its `PatientCtrl` who issues $broadcast.

* Refactor unsaved tab/form code and allow to prompt user

Make it more generic, pave the way for #87

* Ask confirmation to user when he leaves without saving examination data

fix #87

* Ask confirmation before leaving page with unsaved data

As commented in the patch, we can do little on browser page quit (no autosave),
so this is barely a confirmation message.

fix #115

* Avoid repeating closing event handling for unsaved stuff

- avoid handling several $locationChangeStart on same click.
- avoir handling $locationChangeStart and uiTabChange on same click.

* Make EditFormManager capable of actioning several forms

At once, all visible forms.

Also refactored slightly and documented.

* Refactor laterality key/values with service + filter

To make it more reusable outside of PatientCtrl

* Refactor sex key/values with service + filter

To make it more reusable outside of PatientCtrl and consistent with laterality handling.

* Fix bug preventing to add doctors

Not mentioning meta.fields is forbidden with recent DRF versions.

* Refactor doctor selector into a dedicated component

Pave the way to display examination in both examination and patient details
view.

* Do not leave edit mode after adding a new doctor

fix #132

* Comments cleanup

iso-functional commit

* Refactor spheres handling in examination controller

To avoid repetition

iso-functional commit.

* Remove dead code

iso-functional commit

* Move isEmpty() to utils

iso-functional commit

* Remove debug logging

iso-functional commit

* Switch to 2 columns examination view layout

fix #83

* Display patient age near patient name

in examination/patient view

* Fix false-positive unsaved data confirmation dialog

angular-xeditable offers no guarantee at handling correctly the dirty <form>
status.

Thus, now rely only the dirty status on individual fields to trigger or not the
unsaved data user confirmation dialog.

ref #113 #114

* Re-organize left pane of patient view

- align items in two columns
- add a thin border between the two cols
- field title and field input are now inline (to avoid weird space between name
  and input)
- say « not documented » for most field, when relevant (instead of white space)

* Style undocumented values a more light maneer

When the information is not filled, it seems more logical to dim the info
message saying  it rather than highlighting it.

* Add propper spacing to patient notes

(before, text was glued to panel borders)

* Use less agressive color for examination reason

* Integrate examination type to first panel heading, as badge

Save some vertical space and makes it acceptable for people not using this
information.

* Refactor optional module to allow  configuring several views

And not only dashboard

* Add forgotten i18n string

* Allow disabling spheres in examination view

* Clarify separation between consultation reason and medical examination

* Fix bad modal button displaying/hiding

My code to handle multiple forms via the modal buttons was pretty much
buggy/unfinished. Now, it is better and works as expected :-)

* Also auto-save examination tab

drawback is that it close the form and requires more clicks.

* Fix non-admin user rights on /profiles/get_by_user

Non-admin users were no longer able to (at least) :

- Fetch their profile
- Create new examination
- Create new patient

That is unrelated to current PR (bug also existed in current develop branch)

* Fix Patient.hobbies input overflow in examination view

* Add missing migration merge

* Cleanup examination edit view

- rename editableForm → examinationForm to be less confusing
- group edit/save behaviours of the two forms of the view instead of handling
  them half-appart.

* Fix action buttons display on new examination

They were not appearing, and different parts of the code were
attempting (unsuccessfuly) to make it happen.

Fixed the bug and cleaned the bug !

* Fix Missing e-names in patient detail form

* Fix typo in var name

* Refactor EditFormManager Through FormAction

Clarifies what this part of the code does.

* Fix selenium tests

* Merge work on form with two columns

* Fix issue when merging
@jbgury jbgury closed this as completed Mar 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants