-
Notifications
You must be signed in to change notification settings - Fork 0
Layout Full
Shell completa dell'applicazione. Include:
- Sidenav laterale sinistra collassabile con le voci di menu
- Toolbar superiore con menu burger, titolo app, nome utente, logout
-
App-switcher laterale destro (overlay
mat-sidenav) con accesso alle altre applicazioni GPA - Router outlet per il contenuto della pagina corrente
-
<core-toast />,<core-confirm />,<core-alert />già integrati
Non è necessario usare
FullLayoutComponentdirettamente — viene applicato automaticamente datoRoutes()a tutte le rotte dichiarate inAPP_ROUTES(è il layout di default).
toRoutes(APP_ROUTES) genera una struttura del tipo:
/ ← FullLayoutComponent + MenuGuard
├── '' ← HomeComponent
├── 'users' ← UsersComponent
├── 'users/:id' ← UserDetailComponent
├── 'forbidden' ← ForbiddenComponent
└── '**' ← NotFoundComponent
Il layout legge layoutState direttamente da SystemService — non avvia il bootstrap né mantiene stato locale. Il bootstrap è avviato automaticamente dal service al lancio dell'app.
layoutState: 'loading' | 'ready' | 'error'
| Stato | Visualizzazione |
|---|---|
loading |
<core-loading-overlay /> — spinner a schermo intero |
ready |
Layout completo: sidenav + toolbar + content |
error |
<page-error /> — pagina di errore inline (icona + messaggio) |
Lo stato error viene attivato quando il bootstrap fallisce (environment o token non raggiungibili). Non avviene nessun redirect — la schermata di errore è mostrata in-place.
- Mostra le rotte con
menu: true, ordinate perorder - Icona + etichetta per ogni voce
- Si collassa a icone-only tramite il bottone burger nella toolbar
- La larghezza in stato espanso viene misurata dinamicamente sul testo effettivo tramite
afterRenderEffect
| Elemento | Descrizione |
|---|---|
| Bottone burger | Espande/collassa la sidenav |
| Titolo |
appDescription da environment.json
|
| Nome utente |
whoami().user dal token |
| Icona logout | Naviga a environment.logoutPath
|
Icona more_vert
|
Apre l'app-switcher laterale destro |
Pannello overlay (mat-sidenav mode="over" position="end") implementato dal componente condiviso AppSwitcherComponent (core-app-switcher). Mostra le applicazioni disponibili ricevute dal token. L'app corrente è visivamente disabilitata. Include link logout e la versione build (AppVersion, AppSha).
Se environment.json contiene il campo logoUrl, viene mostrato un logo circolare in cima al pannello:
{ "logoUrl": "https://cdn.example.com/logo-myapp.png" }Se il campo è assente, il logo non compare.
core-toast, core-confirm e core-alert sono già presenti nel template del FullLayoutComponent. Non è necessario aggiungere questi tag nelle pagine.
Se si usa SimpleLayoutComponent o un layout personalizzato, aggiungerli manualmente:
<core-toast />
<core-confirm />
<core-alert />- → RightLayout — layout senza sidenav sinistra, con solo app-switcher
- → SimpleLayout — layout senza sidenav e senza app-switcher
- → Routing e permessi — come configurare le rotte
- → Toast, Confirm, Alert
Sviluppato e mantenuto da GPA — Gruppo Progetti Avanzati s.r.l. · gpa@gpagroup.it · +39 065913642 · P.IVA 05049391005 · ISO 9001 · ISO 27001
Sede legale: Via Ferdinando Galiani, 68 — 00191 Roma | Sedi operative: Piazzale Asia 21, Roma · Via Badoero 67, Roma · Viale Chiavellati 9, Foligno (PG)
npm · GitHub · Segnala un problema · Licenza MIT