import { AfterViewInit, ChangeDetectorRef, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core'; import { BaseComponent } from '../../base.component'; import { Observable } from 'rxjs'; import { HeaderSecondarioData } from '../header-secondario/header-secondario.component'; import { NgInailCommonConfig } from "../../../../ng-inail-common.config"; import * as i0 from "@angular/core"; /** * Componente per la visualizzazione di tutto l'header applicativo. * * L'header e' composto da: * * - Prima intestazione di pagina (quella contenente il logo). * - Navigazione principale (Barra blu con pulsante 'Esci' o 'Accedi ai servizi online'). * - Header secondario (barra verde con info e menu utente loggato). * * E' possibile indicare al componente di recuperare i frammenti html da remoto, passare dei frammenti html al componente o dire * al componente di utilizzare i frammenti html di default. * * Il recupero automatico puo' essere abilitato valorizzando a true la proprieta' di configurazione 'recuperoAutomaticoHtml'. * * In caso di recupero automatico i frammenti html verranno recuperati contattando i servizi 'HeaderFooter-MSPublicVersion' * e 'HeaderFooter-MSPrivateVersion' esposti su AGW oppure, se specificate, recuperati agli indirizzi forniti valorizzando le rispettive la proprieta' * all'interno del file di configurazione. * * In caso di recupero da AGW, prima del recupero dei frammenti html, verra' contattato il servizio 'checksession' * esposto su AGW per determinare quale dei due servizi contattare nello specifico. * In caso di utente autenticato verra' contattato il servizio 'HeaderFooter-MSPrivateVersion', * altrimenti verra' contattato il servizio 'HeaderFooter-MSPublicVersion'. * * Nal caso in cui il recupero dei frammenti html non vada a buon fine il componente renderizza degli html di default. * In questo caso, per completare l'header secondario, verra' contattato il servizio 'AU_Rest_Dipendente' * per determinare le informazioni inerenti l'utente connesso. * * In caso di recupero non automatico ii frammenti html dovranno essere forniti in input al componente valorizzando * la rispettive proprieta' html oppure inserendoli nel content del componente utilizzando gli appositi selettori. * * In caso di recupero non automatico e' possibile forzare l'utilizzo dei frammenti html di default valorizzando a true * la proprieta' di input 'useDefaultHtml' dell'oggetto di configurazione del componente. * In questo caso, per visualizzare il frammento html di default inerente l'header secondario, * sara' necessario valorizzare la proprieta' di input 'headerSecondarioData'. * Valorizzare o meno la proprieta' 'headerSecondarioData' inoltre determinera' se visualizzare il frammento html di default * della navigazione principale inerente l'utente autenticato o quello inerente l'utente non autenticato * (In caso di utente non autenticato il layout previsto per le applicazioni INAIL non mostra l'header secondario). */ export declare class HeaderComponent extends BaseComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy { private cdr; private libConfig; /** * Oggetto di configurazione del componente. */ config: HeaderConfigurations; /** * Frammento html della prima intestazione di pagina (quella contenente il logo) da far visualizzare al componente. * Se passato inibisce il meccanismo di recupero automatico e ignora quanto specificato * nella proprieta' 'logoHeaderUrl' dell'oggetto di configurazione del componente. */ logoHeaderHtml: string; /** * Frammento html della navigazione principale da far visualizzare al componente. * Se passato inibisce il meccanismo di recupero automatico e ignora quanto specificato * nella proprieta' 'navigazionePrincipaleUrl' dell'oggetto di configurazione del componente. */ navigazionePrincipaleHtml: string; /** * Frammento html del header secondario da far visualizzare al componente. * Se passato inibisce il meccanismo di recupero automatico e ignora quanto specificato * nella proprieta' 'headerSecondarioUrl' dell'oggetto di configurazione del componente. */ headerSecondarioHtml: string; /** * Dati da visualizzare all'interno del header secondario. * Vengono ignorati se e' stata valorizzata la proprieta' di input 'headerSecondarioHtml'. * Se valorizzato inibisce il meccanismo di recupero automatico e ignora quanto specificato * nella proprieta' 'headerSecondarioUrl' dell'oggetto di configurazione del componente. * Se impostata a 'true' la proprieta' 'useDefaultHtml' dell'oggetto di configurazione del componente, * la valorizzazione della proprieta' 'headerSecondarioData' determinera' se visualizzare il frammento html di default * della navigazione principale inerente l'utente autenticato o quello inerente l'utente non autenticato * e se visualizzare o meno il frammento html di default inerente l'header secondario. */ headerSecondarioData: HeaderSecondarioData; /** * Alla ricezione del valore effettua il ricaricamento dei frammenti html recuperati automaticamente. * Il ricaricamento non viene (rispettivamente) effettuato se sono state valorizzate la proprieta' di input: * 'logoHeaderHtml', 'navigazionePrincipaleHtml' e 'headerSecondarioHtml' (o 'headerSecondarioData'). */ reload: Observable; inizializzazioneCompletata: boolean; constructor(cdr: ChangeDetectorRef, libConfig: NgInailCommonConfig); ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; ngOnInit(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare class HeaderConfigurations { /** * Identificativo dell'applicazione corrente in accordo * con l'API Gateway */ clientId?: string; /** * Url a cui contattare l'AGW per il recupero automatico dei frammenti html. * Per il recupero verra' contattati i servizi 'HeaderFooter-MSPublicVersion' e 'HeaderFooter-MSPrivateVersion'. * Se non specificato verra' utilizzato l'indirizzo relativo /api. */ apiGatewayUrl?: any; /** * Url da cui recuperare il frammento html della prima intestazione di pagina (quella contenente il logo). * Se passato inibisce il meccanismo di recupero automatico da AGW. * Se non specificato il frammento html verra' recuperato automaticamente dal componente contattando il servizio 'HeaderFooter-MSPublicVersion'. * Nel caso in cui non sia possibile recuperare il frammento l'html verra' visualizzato quello di default. */ logoHeaderUrl?: string; /** * Url da cui recuperare il frammento html della navigazione principale. * Se passato inibisce il meccanismo di recupero automatico da AGW. * Se non specificato il frammento html verra' recuperato automaticamente dal componente contattando i servizi 'HeaderFooter-MSPublicVersion' * e 'HeaderFooter-MSPrivateVersion'. * Nel caso in cui non sia possibile recuperare il frammento html verra' visualizzato quello di default. */ navigazionePrincipaleUrl?: string; /** * Url da cui recuperare il frammento html del header secondario * Se passato inibisce il meccanismo di recupero automatico da AGW. * Se non specificato il frammento html verra' recuperato automaticamente dal componente contattando il servizio 'HeaderFooter-MSPrivateVersion'. * Nel caso in cui non sia possibile recuperare il frammento html verra' visualizzato quello di default. */ headerSecondarioUrl?: string; /** * Se true vengono recuperati automaticamente i frammenti html di logo, navigazione principale e header secondario. * I frammenti html verranno recuperati agli indirizzi indicati tramite le proprieta' di configurazione logoHeaderUrl, navigazionePrincipaleUrl * headerSecondarioUrl. * Se gli indirizzi non vengono impostati i frammenti html verranno recuperati automaticamente dal componente contattando * il servizio 'HeaderFooter-MSPublicVersion' esposto su AGW. * Se false i frammenti html dovranno essere passati in input al componente tramite le proprieta' di input logoHeaderHtml, * navigazionePrincipaleHtml e headerSecondarioHtml o inseriti nel content del componente attraverso gli appositi selettori di contenuto. */ recuperoAutomaticoHtml?: boolean; /** * Forza il componente a utilizzare i frammenti html di default. * Se impostato a 'true' inibisce i meccanismi di recupero automatico dei frammenti html * e ignora quanto specificato nelle proprieta' di input 'logoHeaderHtml', 'navigazionePrincipaleHtml' e 'headerSecondarioHtml'. * In questo caso, per visualizzare il frammento html di default inerente l'header secondario, * sara' necessario valorizzare la proprieta' di input 'headerSecondarioData'. * Valorizzare o meno la proprieta' 'headerSecondarioData' inoltre determinera' se visualizzare il frammento html di default * della navigazione principale inerente l'utente autenticato o quello inerente l'utente non autenticato * (In caso di utente non autenticato il layout previsto per le applicazioni INAIL non mostra l'header secondario). */ useDefaultHtml?: boolean; }