[#ERP-42] Mettre à jour la lib Malio UI #16
Reference in New Issue
Block a user
Delete Branch "feature/ERP-42-mettre-a-jour-la-lib-malio-ui"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description de la PR
Modification du .env
Check list
Review PR #16 — Maj @malio/layer-ui 1.7.1
Verdict : Refonte propre qui adopte bien la 1.7.1 (slots
#header/#footerdes drawers, drawer de filtres) et factorise les titres viaPageHeader. Trois remarques structurelles avant merge — voir commentaires inline.🟢 Bons points
audit-log.vueest un vrai gain : suppression des 4 watchers + du flagwatchersSuspended+ dunextTick+ dudebouncedReload. Code beaucoup plus lisible, filtrage atomique.PageHeaderest saine — source unique pour les titres + slot#actions. Bien adoptée dans 6 pages.justify-between p-6, boutonsw-[150px]) — cohérence visuelle assurée.package.json+package-lock.json) etaudit-log.vueconserve bien la règle « pas de persistance URL des filtres » (CLAUDE.md).Vérifications à faire avant merge
npm installpuis tester visuellement les 3 drawers (monnode_moduleslocal est resté en 1.4.2, le code n'a pas pu tourner en réel).MalioDateTimeaccepte bienstring | nullen v-model et émet le formatYYYY-MM-DDTHH:MM:00attendu partoIso.@@ -17,3 +18,3 @@<SiteSelector v-if="showSiteSelector"/><mainclass="flex flex-1 flex-col overflow-y-auto overflow-x-hidden bg-white px-4 pb-24 sm:px-8 lg:px-16">class="flex flex-1 flex-col overflow-y-auto overflow-x-hidden bg-white px-4 pb-10 sm:px-6 lg:px-12 xl:px-[170px]">🟡 Valeurs en dur dans le layout
sidebar-class="w-[232px]"ligne 9xl:px-[170px]icih-[47px]ligne 22 pour la sticky bar (au lieu de l'ancienh-8 sm:h-12)Pourquoi 232 / 170 / 47 ? Si ces valeurs viennent d'une maquette Figma, OK mais un commentaire à côté serait précieux. Sinon, des tokens Tailwind standards (
w-58,lg:px-12,h-12) seraient préférables — ces arbitrary values rendent le layout fragile au moindre design tweak.J'ai ajouté des commentaire puisque c'est des valeurs venant d'une maquette.
@@ -48,1 +53,3 @@<PermissionGroup<!-- Un panneau d'accordeon par module (mode multiple) ; le compteurselectionnees/total reste visible dans l'en-tete replie. --><MalioAccordion v-else v-model="openModules">🔴 Duplication du PermissionGroup supprimé
Le composant
PermissionGroup.vueest supprimé, mais sa logique (en-tête module + checkbox « tout sélectionner » + liste de cases + compteur sélectionnés/total) est réimplémentée à l'identique ici (lignes 55-95) ET dansUserRbacDrawer.vue(lignes 71-110). Avant : 1 source. Maintenant : 2 copies divergeantes (préfixes d'IDrole-vsdirect-, noms de fonctions différentsselectedCountForvsdirectSelectedCount).Régression DRY — toute évolution UX devra être faite 2 fois.
Suggestion : créer
frontend/modules/core/components/PermissionAccordion.vuequi prendpermissions-by-module+selected-idsen props et émettoggle/toggle-all. Réutilisable comme l'étaitPermissionGroup.J'ai fait un composant
@@ -269,0 +279,4 @@}// Bascule un type d'entite dans le brouillon (multi-selection).function toggleEntity(value: string, selected: boolean): void {🟡
toggleEntityse complique inutilement avec un SetLes valeurs sont déjà uniques par construction (un
v-forsurentityTypeOptions), donc le Set ne dédoublonne rien. Plus simple :Fixed