-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
File JSON servito staticamente e letto a runtime dalla libreria. Va posizionato in modo che sia raggiungibile all'URL configurato (default: /environment/environment.json).
{
"appId": "my-app",
"appTitle": "My App",
"appDescription": "La mia applicazione",
"theme": "gpa",
"logoutPath": "/logout",
"logoUrl": "https://cdn.example.com/logo-myapp.png",
"encryptToken": false,
"properties": {
"homeTitle": "Benvenuto",
"homeSubTitle": "Seleziona una funzione dal menu laterale",
"apiBaseUrl": "https://api.example.com"
}
}| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
appId |
string |
✓ | Identificativo applicazione. Usato come header AppId nella chiamata token e come chiave di cifratura se encryptToken: true
|
appTitle |
string |
✓ | Titolo visualizzato nel tab del browser (via Title service). Impostato da SystemService quando il bootstrap completa con successo |
appDescription |
string |
✓ | Nome applicazione mostrato nella toolbar |
theme |
string |
✓ | Tema grafico: gpa, cobalt, forest
|
logoutPath |
string |
✓ | URL di logout (link nel layout) |
logoUrl |
string |
— | URL del logo mostrato nell'app-switcher (HTTPS, CDN, path relativo). Se assente, il logo non viene visualizzato |
encryptToken |
boolean |
— | Se true, la risposta del token endpoint è cifrata con AES-GCM usando appId come chiave |
language |
string |
— | Locale da applicare ai componenti Material (es. "it", "en"). Guida DateAdapter.setLocale() per il DatePicker e i label del paginator (GpaPaginatorIntl). Default effettivo: "it" se assente |
properties |
Record<string, unknown> |
— | Configurazione arbitraria app-specific, accessibile via SystemService.getEnvironmentProperty(key). Convenzione: homeTitle e homeSubTitle sono usati dalla home page generata dallo schematic |
Chiamato in app.config.ts. Accetta opzioni opzionali per sovrascrivere gli URL di default:
// app.config.ts
import { provideGPAUICore } from '@gpa-gruppo-progetti-avanzati-srl/ng-core-ui';
export const appConfig: ApplicationConfig = {
providers: [
provideRouter(toRoutes(APP_ROUTES)),
provideGPAUICore(), // URL di default
provideHttpClient(withInterceptors([...])),
]
};// Con URL personalizzati
provideGPAUICore({
tokenUrl: '/api/v2/token',
environmentUrl: '/config/env.json',
})| Opzione | Default | Descrizione |
|---|---|---|
tokenUrl |
/api/token |
Endpoint da cui la libreria recupera token e permessi utente |
environmentUrl |
/environment/environment.json |
Endpoint del file di ambiente |
readonly system = inject(SystemService);
// lettura singola proprietà
const apiBase = this.system.getEnvironmentProperty('apiBaseUrl') as string;
// come computed signal
readonly apiBase = computed(() =>
this.system.environmentProperties()['apiBaseUrl'] as string
);Il tema viene applicato automaticamente in base al campo theme nel file di ambiente.
| Valore | Colore primario | Colore terziario |
|---|---|---|
gpa |
#274c77 (blu) |
#cae9ff (celeste) |
cobalt |
#1B44B5 (blu cobalto) |
#EBDD49 (giallo dorato) |
forest |
#06975e (verde foresta) |
#aff452 (lime) |
Vedi → Temi e branding per i dettagli tecnici.
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