Champ extras avec affichage conditionnel: vider
Un exemple sera plus parlant
- A pouvant prendre 2 valeurs 'oui' ou 'non'
- B, dont l'affichage est conditionné au fait que A=='oui'
Dans un premier temps A est égale à oui, et je met 'toto' dans B. J'enregistre en base
Dans un second temps, je met A à 'non'.
Et bien en base, B reste sur 'toto' à la place d'être vidée. Résultat: il faut doubler à nouveau les tests dans les squelettes, pour ne pas afficher B si A est égal à non.
Pourtant saisies se charge bien de modifier le résultat du _request()
de B, via la fonction saisies_verifier_afficher_si() appellée ici https://git.spip.net/spip-contrib-extensions/champs_extras_core/src/branch/master/cextras_pipelines.php#L172.
Le problème c'est que cela supprime aussi la saisie de la liste des saisies. Par conséquent, champ extra ne tient pas compte du fait que B est pour ainsi dire "effacé".
Dans certain cas c'est pertinent de garder l'info sur le champ masqué (c'était le besoin de @tcharlss en #33 (closed), qui pour le coup n'était pas affiché dans des champs de config).
Du coup, il faudrait envisager
- De régler l'option champ par champ ou en option globale
- D'intégrer cette option dans saisies_verifier_afficher_si()
Mais cela pose plusieurs questions
a. Nom de cette option b. Cela ferait une troisième sous option aux affichage conditionnel, qui ne répondent pas aux mêmes besoins, mais pour lesquelles la différence est peu clair aux néophytes