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

Merged
Barbagus merged 1 commit from page-station into main 2023-11-10 14:29:57 +01: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 changed title from WIP: Creation de la page "Gare" (#1) to Creation de la page "Gare" (#1) 2023-11-10 14:29:44 +01:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
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.