Projet

Général

Profil

Bug #28991

code JQuery du manager: le remplacement d'éléments cibles dans la fonction update_content ne doit prendre qu'un élément en entrée

Ajouté par Paul Marillonnet il y a plus de 5 ans. Mis à jour il y a environ 5 ans.

Statut:
En cours
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
13 décembre 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Cf les spécs de la fonction JQuery.replaceWith(). On peut remplacer plusieurs éléments, en revanche le contenu à remplacement ne doit être qu'un élément du DOM, un chaîne HTML, etc, mais pas plusieurs.

Or dans le code js du manager, on fait un

            var $content = $response.find('#content .content');
            // ...
            var $container = $('#content .content');
            // ...
            $container.replaceWith($content);

Si dans la page response appelée par ce code, il y plusieurs éléments dont l'id ou la class vaut "content", alors ça ne marche pas.


Fichiers


Demandes liées

Lié à Authentic 2 - Development #20695: Avoir sur les objets un journal des modifications et sur les utilisateurs, en plus, un journal des actionsFermé14 décembre 2017

Actions

Historique

#1

Mis à jour par Paul Marillonnet il y a plus de 5 ans

#2

Mis à jour par Paul Marillonnet il y a plus de 5 ans

  • Lié à Development #20695: Avoir sur les objets un journal des modifications et sur les utilisateurs, en plus, un journal des actions ajouté
#3

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

Mais dans ton code pagination pourquoi tu as plusieurs #content (c'est très mal), ou .content (c'est moins mal mais c'est pas prévu), dans le template de base du manager j'ai un <div class="content"></content> qui normalement est unique (je ne sais plus pourquoi j'ai fait ça).

#4

Mis à jour par Paul Marillonnet il y a plus de 5 ans

Au temps pour moi, je croyais avoir un .content dans la page, mais ce n'est pas le cas.
Toujours est-il qu'avec le patch ça fonctionne de nouveau. Peut-être un $response.find('#content .content') renvoie quelque chose du genre [<élément du DOM>, <null>] au lieu d'un élément unitaire que l'on pourrait passer en entrée de replaceWith ?

HS :
Une maladresse de nommage des variables dans mon précédent patch (les variables récupérant des éléments par ID doivent s'appeler $idcont{ent,ainer}, et non pas $divcont{ent,ainer}). Corrigé dans ce nouveau patch.

#5

Mis à jour par Benjamin Dauvergne il y a environ 5 ans

  • Statut changé de Solution proposée à En cours

Je ne sais toujours pas si ça corrige un problème qui existe ou pas.

Formats disponibles : Atom PDF