Skip to content

Conversation

@MatRouillard
Copy link
Collaborator

Ajout de contrôles de recherches :

  • Contrôle SearchEngineBase : contrôle de recherche de base, non connecté à un service (permettrait d'être réutilisé pour d'autres type de recherche que du géocodage). Le contrôle met en place le DOM et les interactions du DOM (tab, clavier etc.) ainsi que l'historique. Il permet aussi d'avoir des événements d'autocomplétion et de recherche (au clic sur une proposition / sur le bouton entrée) qui seront les mêmes pour les contrôle héritant de cette classe.
  • Contrôle SearchEngineGeocodeIGN : contrôle étendant la recherche de base, lié aux services IGN d'autocomplétion et de géocodage. Les parties "services" sont faites dans d'autres classes. Pour le moment, l'ajout des points sur la carte est aussi géré dans cette classe.

Ajout de services (actuellement dans le fichier Service.js, idéalement à déplacer dans les services directement) :

  • Classe AbstractSearchService : classe abstraite permettant d'avoir une structure commune pour les services, à savoir des événements (autocomplétion et recherche), ainsi que des méthodes abstraites devant être instanciées dans les sous-classes : fonction d'autocomplétion, de recherche et une fonction getItemTitle permettant de renvoyer le label à ajouter dans le contrôle.
  • Classe DefaultSearchService : classe par défaut, non lié à un service de géocodage. Permet de montrer une implémentation simple d'un service de recherche à partir, par exemple, d'une liste fixe d'éléments.
  • Classe IGNSearchService : classe lié aux services IGN d'autocomplétion et de géocodage. Les fonctions sont majoritairement reprises du contrôle existant SearchEngine, mais adapté pour renvoyer un format pivot (à savoir une Feature openlayers avec une géométrie). Le service renvoie aussi l'emprise de l'objet si cela est possible.

Des exemples sont fait pour tester ces classes et contrôles (une fois lancées sur le port 8080) :

Les travaux sur la recherche avancée sont en cours, l'exemple étant le suivant :

@elias75015
Copy link
Contributor

Petits warnings eslint sur la jsdoc :

/geopf-extensions-openlayers/src/packages/Controls/SearchEngine/AbstractAdvancedResearch.js
   74:8   warning  Missing JSDoc parameter description for 'options'  valid-jsdoc
  130:12  warning  Missing JSDoc parameter description for 'e'        valid-jsdoc
  142:8   warning  Missing JSDoc parameter description for 'e'        valid-jsdoc
  156:8   warning  Missing JSDoc parameter description for 'e'        valid-jsdoc

/geopf-extensions-openlayers/src/packages/Controls/SearchEngine/InseeAdvancedResearch.js
  19:5  warning  Missing JSDoc for parameter 'options'        valid-jsdoc
  47:8  warning  Missing JSDoc parameter description for 'e'  valid-jsdoc

/geopf-extensions-openlayers/src/packages/Controls/SearchEngine/SearchEngineAdvanced.js
   64:5  warning  JSDoc syntax error                      valid-jsdoc
   92:5  warning  Missing JSDoc @returns for function     valid-jsdoc
   93:8  warning  Expected JSDoc for 'obj' but found 'e'  valid-jsdoc
  117:5  warning  JSDoc syntax error                      valid-jsdoc

/geopf-extensions-openlayers/src/packages/Controls/SearchEngine/SearchEngineBase.js
  231:8   warning  Missing JSDoc parameter description for 'options'  valid-jsdoc
  377:8   warning  Expected JSDoc for 'item' but found 'value'        valid-jsdoc
  428:16  warning  Use 'String' instead of 'string'                   valid-jsdoc
  457:8   warning  Missing JSDoc parameter description for 'item'     valid-jsdoc
  466:8   warning  Missing JSDoc parameter description for 'value'    valid-jsdoc

/var/www/entreeCarto/geopf-extensions-openlayers/src/packages/Controls/SearchEngine/SearchEngineGeocodeIGN.js
  112:5  warning  JSDoc syntax error  valid-jsdoc
  196:5  warning  JSDoc syntax error  valid-jsdoc

/geopf-extensions-openlayers/src/packages/Controls/SearchEngine/Service.js
   88:8  warning  Missing JSDoc parameter description for 'options'  valid-jsdoc
  112:8  warning  Missing JSDoc parameter description for 'options'  valid-jsdoc
  122:5  warning  Missing JSDoc return description                   valid-jsdoc
  135:5  warning  Missing JSDoc return description                   valid-jsdoc
  150:8  warning  Missing JSDoc parameter description for 'obj'      valid-jsdoc
  157:8  warning  Missing JSDoc parameter description for 'obj'      valid-jsdoc
  163:5  warning  Missing JSDoc return description                   valid-jsdoc
  164:8  warning  Missing JSDoc parameter description for 'obj'      valid-jsdoc
  196:8  warning  Missing JSDoc parameter description for 'options'  valid-jsdoc

@MatRouillard
Copy link
Collaborator Author

MatRouillard commented Nov 21, 2025

@elias75015 @lowzonenose
Avant de merge sur le main, il nous reste quelques modifs à faire sur le composant, en particulier les retours UX / UI et fonctionnels faits sur les tickets suivants :

Le composant est déjà assez fonctionnel, tu peux peut-être le tester aussi de ton côté pour avoir d'autre retours (je note ton commentaire #452 (comment), je ne sais plus si on l'avait pris en compte ou non).

MatRouillard and others added 18 commits November 21, 2025 11:50
Fix: accessibility / set number ascendant
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants