Skip to content

Basculer sur architecture single page app pour pouvoir intégrer les futures pages et améliorer l'ux lors du passage carte<->diag

Lionel requested to merge bascule_single_page_app into develop

Fait :

  • un composant high level pour piloter l'affichage des pages (CraterApp.ts).
  • Utilisation de la lib pagejs pour faire le routage. Quand on peut on utilise directement des a href="xxx"> qui sont interceptés par pagejs
  • un composant par page dans le dossier /page
  • pour PageCarte et PageDiagnostic : le composant gère le cycle de vie en cohérence avec l'affichage fait par lit (voir les méthodes updated)
  • utilisation sytématique du shadow dom (pour les pages et les chapitres), sinon conflits de css lors du chargement de plusieurs pages successives
  • suppression des fichiers plus utiles : main-xxx.ts, Afficheur.ts...

RAF :

  • éviter le réaffichage complet de la page (notament du menu haut de page) lors d'un passage diag vers carte ou inversement
  • nettoyage des css + les rapprocher de leur composant (code mort +redondance) => a faire lors de la refonte
  • réorganiser les dossiers src pour plus de clarté (voir doc sur le nuage) + finir d'ajustement les noms (pour la carte notamment, on a 2 fichiers PageCarte, un pour le domaine et un pour la PageCarte)
  • simplifications possibles pour passer les données aux différents composants : accéder directement à l'objet SA (plus de passage en paramètre), + utiliser la syntaxe litelement pour passer directement les objets aux composants enfants dans le render (voir https://lit.dev/docs/templates/expressions/#property-expressions)
  • les méthodes des controleurs retournent sytématiquement un nouvel objet (plutot que de modifier l'existant, pattern immutable) => permet de ne plus avoir a appeler le requestUpdate. Voir https://lit.dev/docs/components/properties/#mutating-properties
  • mieux gérer les cas ou l'url est mal formée : par exemple si l'id indicateur passé en paramètre pour la carte est inconnue, afficher le premier indicateur ? ou bien message d'erreur ?
  • valider la nouvelle conf apache (a tester sur dev quand on aura mergé)
Edited by Lionel

Merge request reports