<tyro-ui-dashboard-layout>
Dashboard Layout
Layout complet avec sidebar collapsible, navbar intégrée et gestion mobile. Encapsule
tyro-ui-navbar et projette le contenu des pages via <ng-content>. Inputs
Propriété | Type | Défaut | Description |
|---|---|---|---|
[project] | string | '' | Nom du projet affiché dans la topbar et la sidebar (ex : "Useritium") |
[logo] | string | '' | URL du logo couleur affiché dans la topbar |
[logoWhite] | string | '' | URL du logo blanc affiché dans la sidebar mobile |
[utility] | string | '' | Label utilitaire affiché sous le projet dans la sidebar (ex : "Dashboard", "Hub") |
[requireLogin] | boolean | true | Redirige vers la page de connexion si l'utilisateur n'est pas authentifié via TyroUiAuthService |
[navItems] | ITyroUiDashNavItem[] | [] | Arborescence de navigation affichée dans la sidebar (voir interfaces ci-dessous) |
Interfaces de navigation
ITyroUiDashNavItem - niveau 1
Champ | Type | Description |
|---|---|---|
label | string | Texte affiché dans la sidebar |
icon | string | Classe remix-icon (utilisée si iconImg absent) |
iconImg? | string | URL image remplaçant l'icône (logos projets, etc.) |
link? | string | Route Angular - absent si groupe ou catégorie |
category? | boolean | Transforme l'item en section collapsible (pas un lien) |
children? | ITyroUiDashNavChild[] | Sous-items (niveau 2) |
open? | boolean | État ouvert/fermé du groupe ou de la catégorie |
ITyroUiDashNavChild - niveau 2
Champ | Type | Description |
|---|---|---|
label | string | Texte affiché |
icon | string | Classe remix-icon |
iconImg? | string | URL image à la place de l'icône |
link? | string | Route - absent si sous-groupe |
children? | ITyroUiDashNavSubItem[] | Sous-sous-items (niveau 3) |
open? | boolean | État du sous-groupe |
ITyroUiDashNavSubItem - niveau 3
Champ | Type | Description |
|---|---|---|
label | string | Texte affiché |
icon | string | Classe remix-icon |
iconImg? | string | URL image à la place de l'icône |
link | string | Route Angular (obligatoire au niveau 3) |
Comportement sidebar
État | Déclencheur | Effet |
|---|---|---|
| Étendue (desktop) | Par défaut | Sidebar 240px, labels visibles |
| Réduite (desktop) | Bouton chevron en haut de la sidebar | Sidebar 60px, icônes seules + tooltip au survol |
| Ouverte (mobile) | Burger de la topbar | Sidebar en overlay (z-index: 1002) par-dessus le contenu |
| Fermée (mobile) | Clic overlay · lien · bouton fermer · Escape | Sidebar repasse en translateX(-100%) |
Utilisation
Encapsulez votre <router-outlet> dans le composant dans votre layout principal.
<tyro-ui-dashboard-layout [project]="'Useritium'" [utility]="'Dashboard'" [logo]="'assets/tyrolium-ui/projects/Useritium.png'" [logoWhite]="'assets/tyrolium-ui/projects/Useritium-White.png'" [navItems]="navItems"> <router-outlet /> </tyro-ui-dashboard-layout>