Projet

Général

Profil

Autre #50953

template widget custom et qommon.form.js live evaluation

Ajouté par Thomas Jund (congés, retour le 29/04) il y a environ 3 ans. Mis à jour il y a 3 mois.

Statut:
Nouveau
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
08 février 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

En travaillant sur l'écriture d'un widget custom calendar https://dev.entrouvert.org/issues/50311, je suis confronté à la mise à jour à la volée d'un widget liste ayant un template custom (un peu comme template-meeting).

Je trouve la logique vraiment tordue. Je résume en prenant l'exemple de template-metting (select--meeting.html) :

  1. Le widget a un gabarit django custom qui ajoute des data-attributs aux options, etc.
  2. quand on change un widget qui doit mettre à jour notre liste, une requête ajax est lancée (qommon.forms.js l.286 https://git.entrouvert.org/wcs.git/tree/wcs/qommon/static/js/qommon.forms.js#n286).
  3. La requête retourne un Json et la function JS va vider la liste pour la re-remplir à partir du Json, mais ce template est générique et n'a rien à voir avec le template custom écrit dans le gabarit django.
  4. Il faut alors que dans le template custom en question, re-vider la liste qui vient d’être remplie en JS pour réécrire à nouveau le template custom en JS.

La liste est donc vidée -> remplie -> re-vidée -> re-remplie.
Le template custom a besoin d'être écrit en django et en JS.

Ce qui me parait un tantinet lourd et compliqué.

Ticket pour discuter autour de ce fonctionnement.

Historique

#1

Mis à jour par Thomas Jund (congés, retour le 29/04) il y a environ 3 ans

Je me demande s'il ne serait pas préférable que la requête ajax retourne un render html du gabarit django plutôt qu'un json (ou les 2).
`qommon.form.js` injecte le nouveau markup, plus besoin de réécrire le template en JS et le DOM n'est modifié qu'une seule fois.

#2

Mis à jour par Lauréline Guérin il y a 3 mois

cas d'usage rencontré aussi avec #86611

Formats disponibles : Atom PDF