[ERP-49] Créer la page Gestion des catégories (datatable + drawer) #22
@@ -7,7 +7,7 @@
|
||||
@update:model-value="emit('update:modelValue', $event)"
|
||||
>
|
||||
<template #header>
|
||||
<h2 class="text-[24px] font-bold">
|
||||
<h2 class="text-2xl font-bold">
|
||||
|
|
||||
{{ headerLabel }}
|
||||
</h2>
|
||||
</template>
|
||||
|
||||
@@ -13,9 +13,12 @@
|
||||
</template>
|
||||
</PageHeader>
|
||||
|
||||
<!-- Table des categories : tri par defaut sur Nom ASC (RG-1.10).
|
||||
Tri serveur applique a la requete + tri client en miroir pour
|
||||
la pagination front (volumetrie cible <= 300, cf. spec § 4.1). -->
|
||||
<!-- Table des categories. Affichage exhaustif (volumetrie cible
|
||||
<= 300, cf. spec § 4.1) — tri 100% serveur via CategoryProvider
|
||||
(name ASC, RG-1.10). La barre de pagination du MalioDataTable
|
||||
reste cosmetique tant qu'aucun slice client n'est cable : a
|
||||
|
matthieu
commented
Le commentaire au-dessus (l.16-18) et l.93 affirment un "tri client en miroir" et une "pagination front via MalioDataTable". Or aucun des deux n'existe reellement :
A corriger : soit aligner le commentaire sur le comportement reel (tri 100% serveur, affichage de toute la liste), soit cabler une vraie pagination front (page/perPage locales + slice). Note : meme situation sur sites.vue — a trancher globalement cote layer-ui plutot que par module. Le commentaire au-dessus (l.16-18) et l.93 affirment un "tri client en miroir" et une "pagination front via MalioDataTable". Or aucun des deux n'existe reellement :
- `loadCategories` n'envoie aucun param de tri : le name ASC vient uniquement du defaut serveur (`CategoryProvider`), pas d'un tri client.
- La pagination n'est pas cablee : ni `:page`, ni `@update:page`, et les items ne sont jamais slices. `DataTable.vue` rend *tous* les items et affiche la barre des que `totalItems > 0`. Au-dela de 10 categories on obtient donc une barre de pagination non fonctionnelle (clic page 2 = rien, toutes les lignes restent visibles).
A corriger : soit aligner le commentaire sur le comportement reel (tri 100% serveur, affichage de toute la liste), soit cabler une vraie pagination front (page/perPage locales + slice). Note : meme situation sur sites.vue — a trancher globalement cote layer-ui plutot que par module.
|
||||
traiter cote @malio/layer-ui le jour ou la volumetrie monte. -->
|
||||
|
||||
<MalioDataTable
|
||||
:columns="columns"
|
||||
:items="categoryItems"
|
||||
@@ -90,7 +93,9 @@ function onRowClick(item: Record<string, unknown>) {
|
||||
/**
|
||||
* Charge la liste des categories. Le serveur exclut les soft-deleted par
|
||||
* defaut (RG-1.08) et trie par name ASC (RG-1.10). Pas de pagination
|
||||
* serveur (RG : volumetrie ≤ 300, pagination front via MalioDataTable).
|
||||
* serveur (volumetrie cible <= 300) ni de slice client — toute la liste
|
||||
* est rendue d'un coup ; la barre du MalioDataTable est donc cosmetique
|
||||
* jusqu'a la mise a jour layer-ui (ticket ERP-70).
|
||||
*
|
||||
* Logique inline volontaire au M0 (decision prompt ERP-49) : extraction
|
||||
* en composable `useCategoriesAdmin` au ticket 0.8 (ERP-50).
|
||||
|
||||
Reference in New Issue
Block a user
Magic numbers Tailwind hors echelle :
text-[24px]ici etw-[150px]repete 3x sur les boutons du footer (l.54/61/68). Preferer l'echelle Tailwind (text-2xl) et factoriser la largeur des boutons (classe commune /w-36) ou laisser le bouton se dimensionner.