Projet

Général

Profil

Bug #2740

Lorsque l'on a modifié un champs dans le dossier sans enregistrer et que l'on quitte la page ou l'onglet, montrer une alerte

Ajouté par Mikaël Ates (de retour le 29 avril) il y a environ 11 ans. Mis à jour il y a plus de 9 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Jérôme Schneider
Début:
12 avril 2013
Echéance:
% réalisé:

100%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Pour éviter les opublis d'enregistrements très fréquents. Les onglets concernés sont 'général', 'fiches administrative' et 'données à caractère médical'.


Fichiers

Révisions associées

Révision bbf89bd4 (diff)
Ajouté par Jérôme Schneider il y a plus de 9 ans

dossiers: show an alert when closing without saving

Closes #2740

Révision f93684a4 (diff)
Ajouté par Jérôme Schneider il y a plus de 9 ans

calebasse.dossiers.js: put a warning if an error occured

Closes #2740

Révision 83fdead5 (diff)
Ajouté par Serghei Mihai il y a plus de 9 ans

dossiers: alert raised when comment unsaved in "Adresses/contacts" tab

Closes #2740

Historique

#1

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a presque 11 ans

  • Projet changé de APS42 à Calebasse
  • Sujet changé de Lorsque l'on a modifier un champs dans le dossier sans enregistrer et que l'on quitte la page ou l'onglet, montrer une alerte à Lorsque l'on a modifié un champs dans le dossier sans enregistrer et que l'on quitte la page ou l'onglet, montrer une alerte
  • Version cible 0.9 supprimé
#2

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a presque 10 ans

  • Version cible mis à 1.2 Amélioration du dossier patient
#3

Mis à jour par Jérôme Schneider il y a plus de 9 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Jérôme Schneider
  • Patch proposed mis à Non
#4

Mis à jour par Jérôme Schneider il y a plus de 9 ans

  • Fichier 0001-dossiers-show-an-alert-when-closing-without-saving.patch ajouté
  • % réalisé changé de 0 à 60
  • Patch proposed changé de Non à Oui
#5

Mis à jour par Jérôme Schneider il y a plus de 9 ans

  • Fichier 0001-dossiers-show-an-alert-when-closing-without-saving.patch supprimé
#7

Mis à jour par Benjamin Dauvergne il y a plus de 9 ans

Juste pour la cohérence, si on utilise .on(), je serai pour l'utiliser systématiquement et ne plus utiliser toutes les méthodes directes de mise en place de handler comme .click() et .change(), en plus à relire le .on() est plus explicite alors que .change() ou .click() peuvent être lu comme des verbes, et sans argument il me semble aussi que ça provoque un .trigger() (mais je n'en suis plus sûr) ce que .on() ne fait pas.

Quand à l'utilisation de beforeunload, apparemment renvoyer une chaîne ne marche que sur webkit: https://developer.mozilla.org/fr/docs/DOM/window.onbeforeunload (ils disent Safari mais pour moi ça veut dire webkit)

Sur IE et Firefox il faudrait faire e.returnValue = '...'.

Idéalement il faudrait comme pour les actes vérifier que ce qui a vraiment changé, à partir de jQuery 1.6 il est possible de récupérer cette valeur initiale avec $e.attr('value') ou $e.attr('checked') != undefined pour les checkbox et boutons radios.

#8

Mis à jour par Jérôme Schneider il y a plus de 9 ans

Ce nouveau patch corrige un bug. L'auto submit ne fonctionnait plus correctement avec l'ancien.

#9

Mis à jour par Jérôme Schneider il y a plus de 9 ans

Benjamin Dauvergne a écrit :

Juste pour la cohérence, si on utilise .on(), je serai pour l'utiliser systématiquement et ne plus utiliser toutes les méthodes directes de mise en place de handler comme .click() et .change(), en plus à relire le .on() est plus explicite alors que .change() ou .click() peuvent être lu comme des verbes, et sans argument il me semble aussi que ça provoque un .trigger() (mais je n'en suis plus sûr) ce que .on() ne fait pas.

C'est modifié.

Quand à l'utilisation de beforeunload, apparemment renvoyer une chaîne ne marche que sur webkit: https://developer.mozilla.org/fr/docs/DOM/window.onbeforeunload (ils disent Safari mais pour moi ça veut dire webkit)

Sur IE et Firefox il faudrait faire e.returnValue = '...'.

Sous Firefox ça semble beaucoup plus tordu que ça : https://bugzilla.mozilla.org/show_bug.cgi?id=588292
J'ai essayé le coup du returnValue mais le comportement reste le même. En gros Firefox n'en a rien a foutre du beforeunload il gère ça à sa sauce et ça me convient dans le cas présent.
Pour IE je n'ai pas testé.
Tous les exemples que j'ai trouvé sur jquery avec un beforeunload ne font que renvoyer une string. Pour le moment je laisse comme ça.

Idéalement il faudrait comme pour les actes vérifier que ce qui a vraiment changé, à partir de jQuery 1.6 il est possible de récupérer cette valeur initiale avec $e.attr('value') ou $e.attr('checked') != undefined pour les checkbox et boutons radios.

C'est un peu lourd à gérer pour une plus value qui me semble faible. Dans l'immédiat je pense qu'on peut s'en passer.

#10

Mis à jour par Jérôme Schneider il y a plus de 9 ans

  • Statut changé de En cours à Résolu (à déployer)
  • % réalisé changé de 60 à 100

Appliqué par commit calebasse|commit:bbf89bd4bd4379aa62eb56e7727cc56a3d4e173e.

#11

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a plus de 9 ans

  • Statut changé de Résolu (à déployer) à En cours
  • % réalisé changé de 100 à 50

Lorsqu'il y a une erreur de saisie, l'erreur est affiché à côté du champs en erreur et le formulaire n'est pas sauvegardé, cependant lorsque l'on quitte l'onglet l'alerte n'est pas affichée.

#12

Mis à jour par Jérôme Schneider il y a plus de 9 ans

  • Statut changé de En cours à Résolu (à déployer)
  • % réalisé changé de 50 à 100

Appliqué par commit calebasse|commit:f93684a477fd34b00442df37594e6676d0884ade.

#13

Mis à jour par Serghei Mihai il y a plus de 9 ans

Quand on modifie le commentaire dans l'onglet "Adresses/contacts" et on change d'onglet sans sauvegarder, l'alerte n'est pas levée.
Voici le patch appelant la fonction JS en question

#14

Mis à jour par Serghei Mihai il y a plus de 9 ans

Appliqué par commit calebasse|commit:83fdead5e5dde28acf6ea0e75519632e1f6478f6.

#15

Mis à jour par Mikaël Ates (de retour le 29 avril) il y a plus de 9 ans

  • Statut changé de Résolu (à déployer) à Fermé

Ok

Formats disponibles : Atom PDF