Préciser la pagination native (20/page) du tableau /admin
This commit is contained in:
@@ -146,12 +146,12 @@ def list_actions(limit: int = 200) -> list[sqlite3.Row]: ...
|
|||||||
### `/admin` (liste)
|
### `/admin` (liste)
|
||||||
|
|
||||||
- Garde d'accès en tête de `layout()`.
|
- Garde d'accès en tête de `layout()`.
|
||||||
- `dash_table.DataTable(filter_action="native", sort_action="native", ...)`
|
- `dash_table.DataTable(filter_action="native", sort_action="native", page_action="native", page_size=20, ...)` alimenté par `list_users()` —
|
||||||
alimenté par `list_users()` — filtrage/tri par colonne entièrement côté
|
filtrage/tri/pagination entièrement côté navigateur (pas de callback
|
||||||
navigateur (pas de callback serveur), à la différence de `/tableau` dont le
|
serveur), à la différence de `/tableau` dont le `filter_action="custom"`
|
||||||
`filter_action="custom"` (`src/pages/tableau.py:74`) n'existe que pour
|
(`src/pages/tableau.py:74`) n'existe que pour déléguer le filtrage à DuckDB
|
||||||
déléguer le filtrage à DuckDB sur ~1,5M lignes ; ici quelques centaines de
|
sur ~1,5M lignes ; ici quelques centaines de lignes au plus, le mode natif
|
||||||
lignes au plus, le mode natif suffit.
|
suffit pour les trois (20 lignes par page).
|
||||||
- Colonnes : email, email vérifié, plan courant, statut courant, créé le.
|
- Colonnes : email, email vérifié, plan courant, statut courant, créé le.
|
||||||
- Lien "Voir" par ligne vers `/admin/user/<id>`.
|
- Lien "Voir" par ligne vers `/admin/user/<id>`.
|
||||||
- Lien vers `/admin/journal` dans l'en-tête de page.
|
- Lien vers `/admin/journal` dans l'en-tête de page.
|
||||||
@@ -232,5 +232,7 @@ Nouveau dossier `tests/admin/`, calqué sur les conventions existantes :
|
|||||||
- Plusieurs administrateurs (`ADMIN_EMAIL` unique pour l'instant — passer à
|
- Plusieurs administrateurs (`ADMIN_EMAIL` unique pour l'instant — passer à
|
||||||
une liste serait un changement d'une ligne dans `is_admin()` si besoin
|
une liste serait un changement d'une ligne dans `is_admin()` si besoin
|
||||||
futur).
|
futur).
|
||||||
- Pagination de `/admin` et `/admin/journal` au-delà des limites fixes
|
- Pagination de `/admin/journal` (reste une liste plate limitée à 200 lignes) ;
|
||||||
(1000 users, 200 actions) — à revoir si le volume le justifie.
|
et pagination de `/admin` au-delà de la limite fixe de `list_users()`
|
||||||
|
(1000 users) — la pagination native ne pagine que les lignes déjà chargées,
|
||||||
|
pas la requête SQL ; à revoir si le volume le justifie.
|
||||||
|
|||||||
Reference in New Issue
Block a user