Disfonctionnement des modal?

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:

  1. Réglages => Système => Centre de mise à jour
  2. Cliquer sur Mettre à jour
  3. 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é.

Salut,

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.

As-tu vérifié tes personnalisations css?

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.

Voir aussi Dialog Widget | jQuery UI API Documentation

Tu n’as pas un adblock qui traine ?

Je l’ai désactivé mais le modal continue à se fermer lorsque je click à coté.

Je ne pense pas que ce soit dû à mon navigateur car l’exemple sur la doc de jQuery Dialog | jQuery UI fonctionne correctement.

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.

1 « J'aime »

Hello,

Je me me souviens pas d’avoir vu une application dans laquelle on peut fermer un modal en cliquant à côté.

Mais, rien n’empêche d’avoir un fonctionnement différent dans Jeedom si les utilisateurs sont OK avec ça.

Bon week-end

Heyyyy !

En fait, c’est by design par Jeedom :

Si tu commentes ces lignes ça ne le fait plus :upside_down_face:

2 « J'aime »

OK,

Jeedom est donc précurseur. Reste plus qu’à attendre que JQuery UI et le reste du monde informatique suive…

Salut,

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.

1 « J'aime »

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.

Google calendar par exemple:
cancel_modal

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é :wink:

1 « J'aime »