Skip to content

Titre de groupe répétable dynamique #482

Description

@jpbeaulieu1

Décrivez votre besoin
Dans le cadre de la création de formulaire prérempli demandant certain documents, nous aimerions avoir la possibilité de modifier dynamiquement le titre des items d'un groupe répétable selon le contenu d'un champ hidden contenu dans le groupe. L'utilisateur ne doit pas avoir la possibilité de retirer un élément du groupe ni en ajouter. Chaque document demandé est obligatoire. L'agent du service à la clientèle pourra choisi un ou plusieurs documents à demander lors de la création du formulaire prérempli avec FRW117.

Image

Décrivez les alternatives que vous avez envisagées
A- Inclure tous les types de documents possibles dans le formulaire et utiliser des champs hidden ("afficherPreuveAssurance" = "true") avec des v-if pour chaque document. En utilisat un groupe non répétable pour chacun parce que nous avons besoin du champ catégorie. Mais ça n'est pas flexible si de nouveaux type de documents s'ajoutent.

Image

B - Ne pas utiliser de champ hidden

Image

Propostion de solution
Utiliser un compute comme pour les libellés

computed:
  titreDocument:
    code: |
      (){
        return this.val('documents.categorie', index)
      }
consigneDocumentCompt:
  code: |
    (){
      return this.form.consigneDocument;
    }

[...]
 - type: hidden
   name: consigneDocument
 - type: dynamic
   tag: p
   text:
       fr: "{{consigneDocumentCompt}}"
       en: "(eng){{consigneDocumentCompt}}"
- name: documents
  type: repeatableGroup            
  repeatable: false
  label:
      fr: Documents
      en: (eng) Document
  instanceLabel:
      fr: "{{titreDocument}}"
      en: (eng) Travaux
  components:
  - type: hidden
    name: categorie
    label:
      fr: Type de document
      en: (eng)Type de document
    additionals:
      largeur: lg
      readonly: true
  - name: documentAjoute
    type: customfile
    help:
      fr: ""
      en: ""
    label:
          fr: Joindre le fichier
          en: (eng)Joindre le fichier
    additionals:
          taille-max-mb-par-fichier: 20

Script de préremplissage:

{
  "form": {
    "consigneDocument": "test consigne",
    "documents": [
      {
        "categorie": "Preuve d'assurance"
      },
      {
        "categorie": "Diplôme d'étude professionel"
      },
      {
        "categorie": "Confirmation d'adhésion à votre ordre professionnel"
      }
    ]
  }
}

AB#127307

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions