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

Service + Composant + Container pour la recherche commune / département #148

Merged
merged 18 commits into from
May 11, 2021

Conversation

Floby
Copy link
Collaborator

@Floby Floby commented May 3, 2021

Abstract

Déplace l'intelligence de la recherche et des données sous-jacentes dans une classe sans fioriture attachée au State.
Réification de SearchRequest qui décrit les critère de recherche et de tri dans un type cohérent

See in action : https://dev.vitemado.se/148-merge/

Nouvelles fonctionnalités

Aucune

Régressions connues

Aucune 😅

Ce que ça fait

  • Réutilisation d'un maximum de logique pour la recherche de la localisation, département comme commune.
  • Tests sur ce composant autocomplete et le service associé
  • création d'un composant "container" <vmd-search /> qui s'occupe d'injecter le bon service au composant <vmd-commune-or-departement-selector />
  • notamment une fonction suggest: (prefix: string) => Promise<Departement | Commune> qui encapsule la logique de recherche. Dans les tests, juste un stub et c'est rigolo
  • Memoization des requêtes d'autocomplete avec typescript-memoize qui marche mieux car l'implémentation actuelle ne fonctionnait pas pour des appels fait sur le même tick. (et aussi c'est plus clair ce que ça fait quand on le lit (et c'est testé donc c'est pas magique))
  • réification des recherches dans un type SearchRequest = SearchRequestByCommune | SearchRequestByDepartement ça permet de mieux s'assurer de la complétude des implémentations au regard des 2 variantes car le compilateur râle. ça permet aussi de récupérer cet objet depuis <vmd-search /> aussi bien que de le désérialiser depuis l'url (ou de query params 👀 )
  • ET DU COUP ENFIN SURTOUT PARCE QUE C'ETAIT ÇA LE SUJET A LA BASE : ça permet d'afficher des résultats de recherche même quand on n'utilise pas l'autocomplete 😅 pratique pour Créer un embed.html permettant d'embedder des résultats de VMD #122

Bonus

  • Tests automatisés sur le composant <vmd-commune-or-departement-selector />
  • Co-localisation des logiques de recherche textuelle/numérique et des optimisations sous-jacentes

(dans un prochain épisode)

  • L'opportunité d'avoir d'autres moyens d'initier une recherche et ses résultats avec une service du type
type SearchService = (search: SearchRequest) => Promise<SearchResult>`

@Floby Floby force-pushed the feature/component-autocomplete branch from af53b55 to c6880e2 Compare May 5, 2021 08:57
@Floby Floby changed the title WIP: Sortir l'autocomplete et pourquoi pas des tests dessus Service + Composant + Container pour la recherche commune / département May 5, 2021
@Floby Floby force-pushed the feature/component-autocomplete branch 2 times, most recently from 1da8936 to becf9a4 Compare May 5, 2021 17:57
@Floby Floby mentioned this pull request May 6, 2021
3 tasks
@Floby Floby force-pushed the feature/component-autocomplete branch 2 times, most recently from 3224f73 to 2e52ffd Compare May 7, 2021 15:57
@Floby Floby requested a review from fcamblor May 7, 2021 15:57
@Floby Floby mentioned this pull request May 7, 2021
@Floby Floby force-pushed the feature/component-autocomplete branch 2 times, most recently from eb8a7ed to e79d556 Compare May 9, 2021 21:01
@fcamblor
Copy link
Collaborator

Pour info, j'ai rebase la branche par-dessus ma branche tomorrow_appointments, c'est dispo sur la branche features/rebased-component-autocomplete

J'ai l'impression que ça marche pas trop mal ... juste un doute si le click sur l'onglet chronodose n'est pas un peu plus long après le rebase qu'avant (note: pour tester, il faut soit modifier sa date systeme pour se positionner au 12/05, ou bien overrider la fonction fonctionaliteChronodosesActive() du vmd-rdv

@Floby
Copy link
Collaborator Author

Floby commented May 11, 2021 via email

@Floby Floby force-pushed the feature/component-autocomplete branch from e79d556 to dbe3b39 Compare May 11, 2021 22:44
@Floby Floby merged commit 6eef279 into dev May 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants