-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FEATURE] Afficher une icône de progression pour les 2 dernières participations d'un prescrit à une campagne d'évaluation sur Pix Orga (PIX-14808) #10408
Conversation
Une fois les applications déployées, elles seront accessibles via les liens suivants :
Les variables d'environnement seront accessibles via les liens suivants : |
dc7f5a0
to
95d4a67
Compare
orga/tests/integration/components/campaign/results/assessment-list-test.js
Outdated
Show resolved
Hide resolved
orga/app/styles/pages/authenticated/campaigns/details/participants.scss
Outdated
Show resolved
Hide resolved
1a47fbe
to
18d8f60
Compare
5a1b525
to
51aec1c
Compare
<PixIcon | ||
@name={{(getIconName @evolution)}} | ||
aria-label={{t (getIconLabel @evolution)}} | ||
/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion ajouter le if else içi pour gérer l'affichage de l'icon ou non
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ajouter un fichier de test qui permettra d'alléger les tests Assessement / Target Profile
assert.ok(screen.getByRole('columnheader', { name: t('pages.campaign-results.table.column.ariaEvolution') })); | ||
assert.ok(screen.getByText(t('pages.campaign-results.table.column.evolution'))); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
assert.ok(screen.getByRole('columnheader', { name: t('pages.campaign-results.table.column.ariaEvolution') })); | |
assert.ok(screen.getByText(t('pages.campaign-results.table.column.evolution'))); | |
const evolutionHeader = screen.getByRole('columnheader', { name: t('pages.campaign-results.table.column.ariaEvolution') }); | |
assert.ok(evolutionHeader); | |
assert.strictEqual(evolutionHeader.innerText, t('pages.campaign-results.table.column.evolution')); |
@@ -37,6 +39,146 @@ module('Integration | Component | Campaign::Results::AssessmentRow', function (h | |||
// then | |||
assert.ok(screen.getByText('10')); | |||
}); | |||
|
|||
module('evolution icons', function (hooks) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion ne tester qu'un cas puisque ce sera tester dans un test du composant à part
width: fit-content; | ||
} | ||
|
||
&--green{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion
&__increase, &__decrease, &__stable
const evolutionCell = screen.getByRole('cell', { name: t('pages.campaign-results.table.evolution.increase') }); | ||
assert.ok(evolutionCell); | ||
const evolutionCellContent = within(evolutionCell); | ||
assert.dom(evolutionCellContent.getByRole('img')).hasClass('evolution-icon--green'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pour moi ça sert à R . on test une classe qui n'a aucune validité de l'affichage de la bonne couleur .
<TableHeader aria-label={{t "pages.campaign-results.table.column.ariaEvolution"}}> | ||
<div class="assessment-list__evolution-header"> | ||
{{t "pages.campaign-results.table.column.evolution"}} | ||
<ParticipationEvolutionTooltip /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion/amélioration : Ce genre de composant est utilisé plusieurs fois une tooltip avec une icon .
Pour mutualiser cet usage on pourrait créer un composant ui "générique" avec par defaut l'icone . et lui passer en paramètre ce dont il a besoin pour fonctionner dans son context .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pensez à générer un id unique dans le composant. ( pas besoin de lui passer un id spécifique. voir uniqueId dans list.gjs
)
7146fd7
to
79710e9
Compare
@@ -0,0 +1,21 @@ | |||
import PixIcon from '@1024pix/pix-ui/components/pix-icon'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
à supprimer, il n'est plus nécessaire
@@ -44,6 +46,20 @@ import CampaignAssessmentRow from '../results/assessment-row'; | |||
{{/if}} | |||
<TableHeader>{{t "pages.campaign-results.table.column.results.label"}}</TableHeader> | |||
{{#if @campaign.multipleSendings}} | |||
<TableHeader aria-label={{t "pages.campaign-results.table.column.ariaEvolution"}}> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion supprimer ariaEvolution, cette trad contient la même chose que la tooltip, cela fait doublon
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tech func ok -🐶 🐕 🦖 🦦
d47b106
to
8132514
Compare
8132514
to
166be5e
Compare
🦄 Problème
Sur Pix Orga : dans le tableau des résultats des participants à une campagne d'évaluation, seul le résultat de la dernière campagne s'affiche. Dans le cas où un prescrit a envoyé plusieurs résultats à une campagne, nous voulons connaître sa progression entre ses deux dernières participations partagées.
🤖 Proposition
Ajouter une colonne "Évolution" ainsi qu'un tooltip dans le tableau.
Récupérer la valeur "evolution" (cf PR #10343) renvoyée par l'API et afficher une icône correspondante dans la cellule du tableau.
🌈 Remarques
À la demande du design, nous avons ajouté une couleur aux icônes de progression (vert, rouge ou orange) ainsi qu'un tooltip explicatif au survol de l'icône.
En cas d'évolution nulle (1 seule participation du prescrit donc pas de point de comparaison), la cellule est vide.
La colonne ne s'affiche que pour une campagne à envois multiples.
Cette PR concerne uniquement les campagnes de type évaluation. Les collectes de profils feront l'objet d'une PR séparée.
💯 Pour tester
Sur Pix Orga: