InseeFr / Lunatic

Library of questionnaire components
https://inseefr.github.io/Lunatic/
MIT License
20 stars 21 forks source link

Nouveau composant permettant d'afficher la "raison pour laquelle on pose la question" #995

Closed AnneHuSKa closed 3 months ago

AnneHuSKa commented 5 months ago

Feature Description

Ajouter un composant permettant d'afficher "Pourquoi cette question" WhyTheseQuestions, qui sera utilisé dans un premier temps au niveau de la Question. Non rattaché au composant Question afin d'offrir plus de souplesse par la suite

Use Case

image

Proposed Solution

Un exemple : https://inseefr.github.io/Lunatic/storybook-2.7/?path=/story/components-questionexplication--default Accordeon : https://www.systeme-de-design.gouv.fr/elements-d-interface/composants/accordeon

Alternatives Considered

Additional Context

Les enquêtés répondent plus volontiers s'ils comprennent la raison pour laquelle on pose la question donc pertinent à proposer

Priority

Medium

Attachments

Related Issues

https://github.com/InseeFr/Pogues/labels/stromaev3 Issue Eno à créer Issue StromaeDsfr à créer Issue Queen à créer

AnneHuSKa commented 4 months ago

Nom du composant : WhyTheseQuestions Type : TXT (on ne permettra pas VTL ni MD) Vient remplacer : https://inseefr.github.io/Lunatic/storybook-2.7/?path=/story/components-questionexplication--default


Structure StromaeV3 Header Title Sequence barre de progression previous Button LunaticComponent Next button WhyTheseQuestions Footer

@Grafikart : ces spec sont suffisantes ? Le composant mais peut-être rattaché à une question existait en 2.6

ddecrulle commented 4 months ago

C'est beaucoup trop réducteur de nommer ce composant WhyTheseQuestions. On peut envisager vouloir le même composant et une toute autre information. Par ailleurs, est-ce le seul composant que l'on veut afficher en "pied de page" ?

AnneHuSKa commented 4 months ago

Il y a déjà beaucoup sur la page donc on doit restreindre à une seule info supplémentaire, si possible courte, sur la page, au dessus du footer. Je n'ai pas de cas d'usage autre en demande, j'exprime juste le besoin actuel mais on peut bien sur renommer autrement. L'idée c'est vraiment le champ libre, en accordéon, avec un titre (qu'on voudra imposer en génération). On ne saura pas faire de suite dans Pogues-Eno mais à (re)mettre à dispo en Lunatic en fait.

AnneHuSKa commented 4 months ago

A traiter comme Overview

ddecrulle commented 4 months ago

Sujet traité par :

Pour résumer, il y a 2 sujets: Affichage de composant "Lunatic" en bas de page et Création d'un nouveau composant Accordion.

  1. Pour le premier point, chaque composant souhaitant être affiché en bas de page devra contenir : position: "bottom" dans le json. ⚠️ Un composant enfant d'un autre composant ne pourra pas être affiché en position bottom si le parent ne l'est pas lui aussi (Ex un composant enfant de question).

  2. Le composant Accordion a été modélisé de cette façon :

{
    "componentType": "Accordion",
    "items": [
        {
            "label": {
                "value": "\"Pourquoi cette question ?\"",
                "type": "VTL|MD"
            },
            "body": {
                "value": "\"Pour en connaître plus sur vous **1984**\"",
                "type": "VTL|MD"
            }
        },
        {
            "label": {
                "value": "Un autre Item mais c'est pas obligatoire",
                "type": "TXT"
            },
            "body": {
                "value": "Cet item ne sert qu'a vous montrer qu'on peut en mettre plusieurs",
                "type": "TXT"
            }
        }
    ],
    "page": "1"
}

Json SCHEMA : https://github.com/InseeFr/Lunatic/blob/a676e0a77effb65121d33eaf909a7f2678599381/lunatic-schema.json#L1024