yeswiki
yeswiki copied to clipboard
Rendre les formulaires bazar identifiables au niveau HTML
Actuellement, pour chaque formulaire bazar on a la même chose <form .. name="formulaire" id="formulaire" ...>
.
Je pense que c'est une bonne pratique d'avoir des noms différents mais je me propose pour modifier avant la version finale de doryphore car j'aimerais mettre en place sur mes instances de yeswiki une sauvegarde des saisies des formulaires dans le local storage du navigateur au cas où l'utilisateur change de page par mégarde avant de valider le formulaire.
Au niveau du local storage, les saisies sont enregistrées dans un tableau avec les clé [name][id], j'aurais donc besoin que ça se différencie en fonction de ces deux attributs de la balise form. On a sous la main l'id du formulaire avec {{ form.bn_id_nature }}
, ça pourrait nous servir à la différencier.
déjà si on met formulaireXX et formulaireXX avec XX l'id, ça me va. Pour bien faire (gestion de plusieurs formulaire sur la même page), il faudrait générer un nombre unique pour l'id comme on le fait pour les accordéons (avec du coup, l'utilisation d'une variable GLOBALE ? berkk -> faudrait nous faire un service qui gère ces id un jour).
-
est-ce que déjà pour faire au plus simple, ça vous irait si je mets "formulaireXX" dans les 2 ? ou dans un ?
-
a priori il faudrait faire la modif à 2 endroits : dans form.twig, form_edit_entry.tpl.html, @srosset81 pourrais tu me le confirmer ? vu que j'ai pas trop regardé dans quel contexte est utilisé l'un ou l'autre. J'ai vu qu'il y avait la même occurence dans forms_form.twig mais celui-ci est utilisé dans form-builder.
Hello, je suis ok pour cette proposition, attention toutefois aux js et css qui peuvent utiliser #formulaire comme https://github.com/YesWiki/yeswiki/blob/be625439e55aff172931a0621bd61085140947ca/tools/bazar/libs/bazar.js#L63 (et si t'as le double clic active dans les formulaires, c'est le chaos).
Tant qu'a faire j'essayerais de mettre le nom en anglais genre formXX plutôt que formulaireXX , voire yeswiki-form-xx, yw-form-xx ou bazar-form-XX histoire d'avoir un id un peu corporate, quoi! ;)
:+1: pour bazar-form-XX
en effet pour les js et css, est-ce que je change du coup que le name ?
sinon si je change les 2, il faudrait faire une classe 'bazar-form', plutôt non ? (je suis pas fan des selectors de type ^=
quand on peut s'en passer)
yes, il me semble que le mieux c'est que le id soit précis bazar-form-XX
et que les formulaires aient aussi une classe bazar-form
et que les sélecteurs css et js s'appliquent à la classe plutto que l'id.
on est d'accord mieux vaut une classe, je m'en occuperai.
"le mieux" serait à mon sens d'avoir des id et name uniques s'il on se retrouve avec des pages où 2 formulaires bazar sont intégrés (mais pour mon besoin, toujours les mêmes si on réaffiche la page : genre bazar-form-XX puis si un deuxième formulaire bazar-form-XX-2 et ainsi de suite) mais là, je propose juste de modifier un minimum de code, donc d'aller au plus simple.
et pouvez-vous me dire la différence entre form.twi et form_edit_entry.tpl.html ? je modifie bien les 2 ?
Un doit etre le formulaire d'édition des formulaires, l'autre celui des fiches, non?
j'ai regardé de plus près du coup, form_edit_entry.tpl.html n'est plus référencé dans le code, et semble avoir été remplacé par form.twig. c'est normal @srosset81 qu'il y soit toujours ?
J'imagine que non :-)