Creation de la page "Gare" (#1) #4

Merged
Barbagus merged 1 commits from page-station into main 2023-11-10 13:29:57 +00:00
Owner

Version minimale de la page "Gare", qui permet de rechercher une gare puis d'en afficher quelques info.

La recherche se fait par une champ de texte qui récupère (en continu) les gares dont le nom contient la valeur de ce champ (c.f. Active Search).

Les changement dans la page (et dans la barre de navigation) sont géré par htmx, le backend se débrouille pour ne transférer que les fragments HTML nécessaires. Ces fragments sont générés par jinja2-fragments.

Dans le template de la page, nous avons (arbitrairement) choisi de faire correspondre le nom du block représentant le fragment à produire avec l'id de l'élément ciblé par htmx (modulo un remplacement des _ par des -). Comme htmx ajoute automatiquement cet id dans le header HX-Target cela permet facilement au backend de savoir s'il doit produire une rendu partiel et si oui lequel.

Version minimale de la page "Gare", qui permet de rechercher une gare puis d'en afficher quelques info. La recherche se fait par une champ de texte qui récupère (en continu) les gares dont le nom contient la valeur de ce champ (c.f. [Active Search](https://htmx.org/examples/active-search/)). Les changement dans la page (et dans la barre de navigation) sont géré par [htmx](https://htmx.org/), le *backend* se débrouille pour ne transférer [que les fragments](https://htmx.org/essays/template-fragments/) HTML nécessaires. Ces fragments sont générés par [jinja2-fragments](https://pypi.org/project/jinja2-fragments/). Dans le *template* de la page, nous avons (arbitrairement) choisi de faire correspondre le nom du [`block`](https://jinja.palletsprojects.com/en/3.0.x/templates/#blocks) représentant le fragment à produire avec l'[id](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id) de [l'élément ciblé](https://htmx.org/attributes/hx-target/) par `htmx` (modulo un remplacement des `_` par des `-`). Comme `htmx` ajoute automatiquement cet `id` dans le *header* `HX-Target` cela permet facilement au *backend* de savoir s'il doit produire une rendu partiel et si oui lequel.
Barbagus added 1 commit 2023-11-09 07:58:14 +00:00
Barbagus changed title from WIP: Creation de la page "Gare" (#1) to Creation de la page "Gare" (#1) 2023-11-10 13:29:44 +00:00
Barbagus merged commit 0d61228d8d into main 2023-11-10 13:29:57 +00:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Barbagus/TER#4
No description provided.