Skip to content
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

feat: handle multiple extra fields filters #575

Merged
merged 3 commits into from
Mar 8, 2023

Conversation

Volubyl
Copy link
Collaborator

@Volubyl Volubyl commented Mar 2, 2023

Suite de #563 , rel #290

Cette PR:

Apporte plusieurs améliorations :

1. Amélioration de l'affichage des filtres

l'affichage était pas terrible quand il y avait plusieurs filtres. Ceux-ci s'affichaient en une seule longue colonne.

Cette PR fait en sorte que les filtres soient affichés en plusieurs colonnes

2. Donne la possibilité de filtrer la recherche en fonction de plusieurs filtres de champs complémentaires

Maintenant, un utilisateur peut sélectionner plusieurs filtres de champ complémentaire et la recherche sera effectuée en fonction de chacun d'eux.

Pour tester

Aller sur la page de recherche et utiliser les filtres de recherches

@Volubyl
Copy link
Collaborator Author

Volubyl commented Mar 2, 2023

@johanricher ici, j'ai pris un raccourci pas idéal. Explication :

Imaginons, un jeu de donnée ayant 2 filtres complémentaires (fictifs) :

  1. Est-ce que vous voulez voir les jeux de données confidentiels : Oui/Non
  2. Est-ce que vous voulez voir les jeux de données sans restriction géographiques : Oui/Non

Si l'utilisateur sélectionne :

Oui pour "Est-ce que vous voulez voir les jeux de données confidentiels " et Non pour "Est-ce que vous voulez voir les jeux de données sans restriction géographiques"

L'on affichera les jeux de données qui soit réponde au critère "Oui" pour "Est-ce que vous voulez voir les jeux de données confidentiels" OU qui réponde au critère "Non" pour ""Est-ce que vous voulez voir les jeux de données sans restriction géographiques"

Dans la logique, je pense qu'il faudrait faire en sorte d'afficher uniquement les jeux de données qui réponde aux 2 critères

("Oui" pour "Est-ce que vous voulez voir les jeux de données confidentiels" ET qui réponde au critère "Non" pour ""Est-ce que vous voulez voir les jeux de données sans restriction géographiques")

Mon problème, c'est que techniquement, ce n'est pas quelque chose de trivial.

J'ai mis à contribution Mathieu et Florimond pour m'aider à faire une requête SQL qui permettrait de répondre à ce besoin.

Est-ce que garder pour le moment la logique du "OU" pourrait faire l'affaire ? (et que l'on crée une issue spécifique pour la logique du "ET")

@@ -28,3 +28,14 @@ export const last = <T>(arr: ArrayWithItems<T>): T => {

export const removeEmptyValues = (items: Array<string | null>): Array<string> =>
items.filter((item) => item) as string[];

export const chunk = <T = string>(
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Volubyl Volubyl added the staging le code de cette PR est présente sur la staging label Mar 2, 2023
@Volubyl Volubyl requested a review from julie-desvaux March 2, 2023 11:43
@Volubyl Volubyl force-pushed the handle-multiple-extra-fields branch from c23d7ca to 2ef8306 Compare March 2, 2023 13:13
@johanricher
Copy link
Member

Est-ce que garder pour le moment la logique du "OU" pourrait faire l'affaire ? (et que l'on crée une issue spécifique pour la logique du "ET")

Je confirme qu'il faudrait que ce soit un ET, mais que pour l'instant le OU fait l'affaire. Tu crées un ticket qui détaille les améliorations à faire ?

@Volubyl
Copy link
Collaborator Author

Volubyl commented Mar 6, 2023

@julie-desvaux j'aurai besoin d'une reveiw par ici !

si tu veux on peu faire la relecture de la PR ensemble! :-)

@Volubyl Volubyl merged commit 254a597 into master Mar 8, 2023
@Volubyl Volubyl deleted the handle-multiple-extra-fields branch March 8, 2023 12:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
staging le code de cette PR est présente sur la staging
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants