# Bug lors du déplacement de blocs de fonctionnalités

**URL:** <https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222>\
**Category:** Configuration\
**Created:** [Juin 17, 2023, 2:01 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222 "2023-06-17T14:01:58Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Hizo](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/h/51bf81/32.png) [@Hizo](https://community.gladysassistant.com/u/Hizo)\
**Post date:** [Juin 17, 2023, 2:01 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/1 "2023-06-17T14:01:58Z")

</div>

Bonjour,

je suis sous Firefox 114.0.1 Linux.

Si je crée un bloc d’appareils et que je le fais glisser, visuellement ça déconne même si ça fonctionne si je clic sur sauvegarder.

 ![Screenshot_20230617_152722](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/b/b38e70d3cd32c2da4457783f03424aefa3f2a547.png)  
J’ai créé le bloc 1.  
Je l’ai fait glisser sur le bloc 2.  
et ça donne ça :  
 ![Screenshot_20230617_152752](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/9/9bc19331e823beea7e1a43f2926bb5f23ca15b15.png)  
Le nom du bloc est OK mais son contenu à copié celui de son arrivé (ou du moins celui d’un autre bloc).

---

<div class="post-metadata">

**Author:** ![tiboys](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/tiboys/32/17668_2.png) [@tiboys](https://community.gladysassistant.com/u/tiboys)\
**Post date:** [Juin 19, 2023, 2:42 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/2 "2023-06-19T14:42:52Z")

</div>

J’ai également eu un conflit de ce genre, même avec une fusion des 2 blocs mais sans enregistrer, de mémoire sur téléphone.  
J’ai retenté sur PC (Chrome) puis c’est passé.

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Juin 22, 2023, 5:18 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/3 "2023-06-22T17:18:54Z")

</div>

Merci du retour @Hizo 🙂

@Lokkye je ne sais pas si tu as vu ce bug. Apparemment le nouveau widget «&nbsp;Appareils&nbsp;» n’a pas l’air de supporter ce comportement, il faudrait vérifier si la fonction «&nbsp;componentWillReceiveProps&nbsp;» est bien présente et fonctionnelle

J’ai créé une issue Github:

> <https://github.com/GladysAssistant/Gladys/issues/1817>
>
> https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonc…tionnalites/8222?u=pierre-gilles

---

<div class="post-metadata">

**Author:** ![Lokkye](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lokkye/32/5881_2.png) [@Lokkye](https://community.gladysassistant.com/u/Lokkye)\
**Post date:** [Juin 22, 2023, 5:51 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/4 "2023-06-22T17:51:31Z")

</div>

Ah, je regarde cela rapidement

---

<div class="post-metadata">

**Author:** ![Lokkye](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lokkye/32/5881_2.png) [@Lokkye](https://community.gladysassistant.com/u/Lokkye)\
**Post date:** [Juin 26, 2023, 7:07 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/5 "2023-06-26T07:07:47Z")

</div>

Désolé mais je n’arrive pas à le reproduire chez moi dans chrome et firefox ☹

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Juin 26, 2023, 7:41 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/6 "2023-06-26T07:41:27Z")

</div>

@Lokkye tu as essayé en déplaçant une box Appareil sur une autre ? C’est uniquement la partie «&nbsp;React-Select&nbsp;» qui saute je crois

---

<div class="post-metadata">

**Author:** ![Lokkye](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lokkye/32/5881_2.png) [@Lokkye](https://community.gladysassistant.com/u/Lokkye)\
**Post date:** [Juin 26, 2023, 1:23 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/7 "2023-06-26T13:23:42Z")

</div>

@pierre-gilles: Oui, j’ai essayé plein de chose, mettre un box par dessus une autre, en dessous, au dessus, dans une autre colonne. Je ne vois aucun problème de mon coté ☹

---

<div class="post-metadata">

**Author:** ![Hizo](https://gladys-assistant-community.b-cdn.net/letter_avatar_proxy/v4/letter/h/51bf81/32.png) [@Hizo](https://community.gladysassistant.com/u/Hizo)\
**Post date:** [Juin 26, 2023, 2:29 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/8 "2023-06-26T14:29:09Z")

</div>

Je viens de refaire des tests, ça me le fait aussi avec le bloc «&nbsp;Appareils de la pièce&nbsp;».

et d’ailleurs, lorsque je veux faire remonter le bloc vers le haut dans la même colonne, aucun changement visuel même si c’est OK une fois enregistré.

et lorsque je déplace le bloc dans une autre colonne, visuellement (uniquement), son contenu change…

Ça me fait la même chose avec Opera v100.0.4815.20.

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Juin 26, 2023, 3:14 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/9 "2023-06-26T15:14:28Z")

</div>

Le bug se reproduit 100% des fois chez moi :

1. Je drag and drop un widget «&nbsp;appareils&nbsp;» sur un autre widget «&nbsp;appareils&nbsp;» (titre différent, et appareils sélectionné différents)

2. Le widget source disparait (en affichage) au niveau des appareils sélectionné:

[https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/f/fa1618c1876d7e5cf245b0183a87a5fe0eb9ce4c.mp4](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/f/fa1618c1876d7e5cf245b0183a87a5fe0eb9ce4c.mp4)

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Juin 26, 2023, 5:47 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/10 "2023-06-26T17:47:32Z")

</div>

Un message a été scindé en un nouveau sujet : [Question déplacement des actions de scènes](https://community.gladysassistant.com/t/question-deplacement-des-actions-de-scenes/8231)

---

<div class="post-metadata">

**Author:** ![Lokkye](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lokkye/32/5881_2.png) [@Lokkye](https://community.gladysassistant.com/u/Lokkye)\
**Post date:** [Juin 27, 2023, 8:08 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/11 "2023-06-27T08:08:28Z")

</div>

@pierre-gilles bon je viens de comprendre que en local (dev env) j’ai pas le problème. Mais sur mon instance distante j’ai bien le problème ☹ . Je regarde d’ou cela peux venir

---

<div class="post-metadata">

**Author:** ![Lokkye](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lokkye/32/5881_2.png) [@Lokkye](https://community.gladysassistant.com/u/Lokkye)\
**Post date:** [Juin 27, 2023, 8:18 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/12 "2023-06-27T08:18:15Z")

</div>

@pierre-gilles : Bon tu avais raison pour la function «&nbsp;componentWillReceiveProps&nbsp;»  
La PR avec le fix :

> <https://github.com/GladysAssistant/Gladys/pull/1822>
>
> \### Pull Request check-list
> 
> To ensure your Pull Request can be accepted as fa…st as possible, make sure to review and check all of these items:
> 
> \- \[x\] Are tests passing? (\`npm test\` on both front/server)
> \- \[x\] Is the linter passing? (\`npm run eslint\` on both front/server)
> \- \[x\] Did you run prettier? (\`npm run prettier\` on both front/server)
> 
> NOTE: these things are not required to open a PR and can be done afterwards / while the PR is open.
> 
> \### Description of change
> 
> Fix update devices list into devices widget when drag and drop

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Juin 28, 2023, 4:09 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/13 "2023-06-28T16:09:18Z")

</div>

@Lokkye ta solution est un peu violente 😛 ça fait un appel API pour le moindre petit changement de props, même si c’est un simple changement de caractères dans le titre.

est-ce que tu peux rajouter un test pour ne rafraichir que si nécessaire ?

---

<div class="post-metadata">

**Author:** ![Lokkye](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lokkye/32/5881_2.png) [@Lokkye](https://community.gladysassistant.com/u/Lokkye)\
**Post date:** [Juin 29, 2023, 6:36 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/14 "2023-06-29T06:36:43Z")

</div>

@pierre-gilles: My bad ☹ C’est vrai que c’était un peu violent. J’ai fait la modif en conséquence

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Juin 29, 2023, 4:16 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/15 "2023-06-29T16:16:04Z")

</div>

C’est mieux, mais le problème est le même !

Fais le test, ajoute un console.log dans le componentWillReceiveProps, et modifie par exemple le nom du widget, tu verras que la fonction est appelée à chaque caractère tapé, ce qui appelera la fonction «&nbsp;refreshSelectedOptions&nbsp;» à chaque lettre

Il faut rajouter un if dans le componentWillReceiveProps pour ne rafraichir la sélection que lorsque la sélection change 🙂

---

<div class="post-metadata">

**Author:** ![Lokkye](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lokkye/32/5881_2.png) [@Lokkye](https://community.gladysassistant.com/u/Lokkye)\
**Post date:** [Juillet 4, 2023, 10:08 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/16 "2023-07-04T10:08:54Z")

</div>

@pierre-gilles : J’ai rajouté le test qui va bien 🙂

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Juillet 10, 2023, 8:30 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/17 "2023-07-10T08:30:56Z")

</div>

@Lokkye Tu es sûr de toi ? Je ne vois rien de plus dans la PR

Le but du test c’est de ne re-créer le tableau dans les states uniquement si le tableau passé en props à changé

---

<div class="post-metadata">

**Author:** ![Lokkye](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lokkye/32/5881_2.png) [@Lokkye](https://community.gladysassistant.com/u/Lokkye)\
**Post date:** [Juillet 12, 2023, 7:24 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/18 "2023-07-12T07:24:16Z")

</div>

@pierre-gilles : Oui ☹ J’avais oublier de push ☹  
Normalement tu devrais voir les modifications maintenant.

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Juillet 22, 2023, 8:45 UTC](https://community.gladysassistant.com/t/bug-lors-du-deplacement-de-blocs-de-fonctionnalites/8222/19 "2023-07-22T08:45:22Z")

</div>

Merci ! Je viens de te faire une review, désolé un peu tard j’ai beaucoup de choses en ce moment de mon côté 🙂

Le check ne va pas fonctionner si jamais tu supprimes un widget et que le widget d’a côté a exactement le même nombre de deviceFeatures, ça ne rafraichira pas la liste (on revient au bug initial):

> <https://github.com/GladysAssistant/Gladys/pull/1822#pullrequestreview-1542070270>
>
> \### Pull Request check-list
> 
> To ensure your Pull Request can be accepted as fa…st as possible, make sure to review and check all of these items:
> 
> \- \[x\] Are tests passing? (\`npm test\` on both front/server)
> \- \[x\] Is the linter passing? (\`npm run eslint\` on both front/server)
> \- \[x\] Did you run prettier? (\`npm run prettier\` on both front/server)
> 
> NOTE: these things are not required to open a PR and can be done afterwards / while the PR is open.
> 
> \### Description of change
> 
> Fix update devices list into devices widget when drag and drop
