Skip to content

fix #224 tabulation et afficher_si

Maïeul a demandé de fusionner issue_224_afficher_si_focus vers master

fix: afficher_si : lorsqu'un champ A conditionne un champ B qui le suit immédiatement, la tabulation depuis A focus sur B si B est affiché

fix #224 (closed)

Pour reproduire le bug avec formidable

id_formulaire: '27'
identifiant: After
titre: After
descriptif: ''
css: ''
message_retour: ''
saisies:
  -
    saisie: input
    options: { nom: input_1, label: 'Ligne de texte', sql: 'text DEFAULT '''' NOT NULL' }
    identifiant: '@664b2b35f2829'
  -
    options: { label: 'Ligne de texte', type: text, autocomplete: defaut, afficher_si: '@input_1@ == 1', nom: input_2 }
    verifier: {  }
    identifiant: '@664b2b3748311'
    saisie: input
  -
    saisie: input
    options: { nom: input_3, label: 'Ligne de texte', sql: 'text DEFAULT '''' NOT NULL' }
    identifiant: '@664b2b38a7b0b'
traitements: {  }
public: non
apres: formulaire
url_redirect: ''
statut: prop
date_creation: '2024-05-20 23:51:30'
maj: '2024-05-20 12:51:54'

La solution consiste à évaluer les afficher_si à l'input, et pas au change.

On garde cependant une eval au change pour les plugins (comme saisie_calcul) qui triggaient change pour déclencher l'évaluation des afficher_si (même si faudrait sans doute créer un trigger spécifique type saisies_consequence_afficher_si, pour ne pas dépendre de l'implémentation concrète).

Pour améliorer un peu les perfs, on ne met d'écouteur que sur les saisies qui conditionnent d'autres champs.

Rapports de requête de fusion