Bonjour,
J’ai chercher longtemps pourquoi un modal d’un de mes plugins ne fonctionne pas correcement puis je me suis aperçu que le le problème se produit aussi avec les modals du core.
J’ai fait le test avec le modal pour la saisie des options de la page de mise à jour:
Réglages => Système => Centre de mise à jour
Cliquer sur Mettre à jour
Le contenu de la page est assombri et un modal Option s’affiche.
Normalement, on ne devrait plus rien plus pouvor faire en dehors du modal tant que l’on ne l’a pas explicitement fermé via le bouton Mettre à jour ou un click sur « X » dans la barre de menu.
Le problème est que le modal disparaît si l’on click en dehors de celui-ci alors que rien ne devrait se passé dans ce cas.
Je n’ai pas tout compris mais voici ce que j’ai constaté.
Un <DIV> (class ui-widget-overlay et ui.front) est créé, Ce div est semi-transparent, recouvre la totalité de la page et est place (axe Z) sur la page mais sous le modal. Ce
obscurci la page (sauf le modal) et « absorbe » tous les click an dehors du modal.
Il semble qu’un click sur le <DIV> déclenche un traitement JS (que je n’ai pas réussi à identifier) qui supprime ce DIV.
Je ne sais pas si le modal est
Supprimé
Placé sous le reste de la page
Caché via un .hide()
. . .
J’ai fait une recherche sur Google et j’ai trouvé des cas similaires. La cause généralement identifiée est un soucis de CSS mais je ne crois pas ces ce soit le cas sur Jeedom.
jeedom 4.2.18
J’ai constaté le même dysfonctionnement sur un jeedom 4.3 sur leques aucun Plugin n’est installé.
Aucun problème de mon coté, si je clic en dehors de la modal elle se ferme et je peux continuer à utiliser jeedom, comme si j’avais cliqué sur le X; comportement qui ne me choque pas.
Hello,
C’est justement là le problème. Lorsqu’un modal est ouvert, rien ne doit pouvoir être fait en dehors du modal.
Voir cet exemple: Dialog | jQuery UI. Dans cet exemple, on peut fermer le modal en cliquant sur « X » mais rien ne se passe si l’on clique en dehors du modal.
C’est une option sur les modales je pense. Tu peux choisir si elle se fermera ou pas en cas de clic en dehors.
Ici elle se ferme. Encore une fois perso je ne vois pas de « problème » mais juste une différence d’opinion.
A ma connaissance il n’y a jamais eu de règles interdisant de fermer une modale lors d’un click en dehors de celle-ci bien au contraire c’est quelque chose de très répandu et pratique de surcroît !
L’expérience utilisateur est dégradée à mon sens en cas d’obligation de viser la croix pour fermer une modale.
Perso, je ne connais pas de logiciel qui ferme ses modals lorsque l’on clique à coté.
Je préfère que rien ne se passe lorsque je clique par erreur à côté de la croix plutôt que d’avoir un modal, dans lequel je n’ai pas encore tout saisi, qui se ferme parce qu’il y a eu un clique au mauvais endroit.
Par contre, ils ont fait mieux, on peut le dire, si on commence à modifier alors la modal ne se fermera plus.
Donc au lieu de faire de l’ironie:
Peut-être essayer d’être constructif et proposer d’améliorer jeedom avec ce genre de mécanisme également (annuler la fermeture « automatique » si modification faite dans un form) plutôt que de « crier au loup »?
btw, ca fait longtemps que jqueryUI n’apporte plus aucune nouveauté selon moi donc si on doit les attendre pour quelque chose c’est pas gagné