ngx-sp-infra
Version:
Biblioteca de utilitários da Infra.
89 lines (88 loc) • 5.53 kB
TypeScript
import { EventEmitter, OnInit } from '@angular/core';
import { FormGroup } from '@angular/forms';
import * as i0 from "@angular/core";
/**
* @description Este arquivo contém a implementação do componente SimpleHeaderComponent, um cabeçalho genérico
* para páginas, com suporte a breadcrumbs, título dinâmico, modos de exibição, e botões de ação.
*
* @component SimpleHeaderComponent
* @selector lib-header
*
* @description
* O componente SimpleHeaderComponent é projetado para fornecer um cabeçalho reutilizável para páginas,
* suportando breadcrumbs, diferentes modos de exibição (adicionar, editar, listar) e botões de ação.
* Ele é flexível o suficiente para ser usado em várias páginas, ajustando-se automaticamente às necessidades
* da página e do formulário.
*
* ## Funcionalidades:
* - Exibição de breadcrumbs para navegação contextual.
* - Exibição dinâmica de título com base no modo de exibição (adicionar, editar, listar).
* - Inclusão de botões customizáveis ao lado do título, com suporte para botões customizados via ng-content.
* - Suporte a validação de formulário, desabilitando o botão de salvar se o formulário for inválido.
* - Exibição opcional de um spinner de carregamento no botão de salvar.
*
* ## Inputs:
* - `breadcrumbList` (string[]): Lista de strings para preencher o breadcrumb.
* - `pageTitle` (string): Título principal da página.
* - `mode` ("add" | "edit" | "list"): Modo em que o Header será inicializado.
* - `hideButtons` (string[]): Lista de botões a serem ocultados (opcional).
* - `formGroup` (FormGroup): Formulário associado ao cabeçalho para controle de estado dos botões (opcional).
* - `showSpinner` (boolean): Booleano para exibir um spinner de carregamento no botão de salvar.
*
* ## Outputs:
* - `onReturn` (EventEmitter<void>): Evento emitido ao clicar no botão "Cancelar".
* - `onCreate` (EventEmitter<void>): Evento emitido ao clicar no botão "Salvar" em modo de criação.
* - `onUpdate` (EventEmitter<void>): Evento emitido ao clicar no botão "Salvar" em modo de edição.
*
* ## Métodos Públicos:
* - `return()`: Emite um evento para retornar à página anterior.
* - `create()`: Emite um evento ao clicar no botão de "Salvar" em modo de criação.
* - `update()`: Emite um evento ao clicar no botão de "Salvar" em modo de edição.
*
* @note Este componente é flexível e pode ser facilmente adaptado para diferentes layouts e necessidades de página.
*/
export declare class LibHeaderComponent implements OnInit {
protected auditoriaRoute?: string;
/** Lista de strings a serem informadas para preencher o breadcrumb corretamente */
breadcrumbList: string[];
/** Título principal da página
* @default "Título desconhecido..." */
pageTitle: string;
/** Modo em que o Header será inicializado.
* Impacta em algumas situações como por exemplo a exibição dos botões padrão e o título
* @default "list" */
mode: "add" | "edit" | "list";
/** Deve ser informada caso você deseje que um dos botões seja escondido */
hideButtons?: string[];
/** FormGroup deve ser informado caso deseje que o header tenha alguma interação com o formulário da tela (ex.: botão de Salvar desabilitado em caso de form inválido) */
formGroup?: FormGroup;
/** Booleano para informar em caso de exibir o spinner no botão de Salvar */
showSpinner: boolean;
/** Dados que devem ser informados caso deseje se redirecionar para a página de Auditoria. */
auditoria: {
Entidade: string;
RegistroId?: string | number;
IsContratos?: boolean;
} | null;
/** [DEPRECIADO EM BREVE] Emissor de evento ao clicar no "Cancelar". Será depreciado em breve, utilize 'return'. */
onReturn: EventEmitter<void>;
return: EventEmitter<void>;
/** [DEPRECIADO EM BREVE] Emissor de evento ao clicar no "Salvar" em modo de criação. Será depreciado em breve, utilize 'create'. */
onCreate: EventEmitter<void>;
create: EventEmitter<void>;
/** [DEPRECIADO EM BREVE] Emissor de evento ao clicar no "Salvar" em modo de edição. Será depreciado em breve, utilize 'update'. */
onUpdate: EventEmitter<void>;
update: EventEmitter<void>;
constructor();
ngOnInit(): void;
/** Emite um evento para retornar à página anterior */
protected emitReturn(): void;
/** Emite um evento quando o botão de "Salvar" em modo de criação foi clicado */
protected emitCreate(): void;
/** Emite um evento quando o botão de "Salvar" em modo de edição foi clicado */
protected emitUpdate(): void;
protected setSaveText(): string;
protected initializeAuditoriaRoute(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<LibHeaderComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<LibHeaderComponent, "lib-header", never, { "breadcrumbList": { "alias": "breadcrumbList"; "required": true; }; "pageTitle": { "alias": "pageTitle"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "hideButtons": { "alias": "hideButtons"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "showSpinner": { "alias": "showSpinner"; "required": false; }; "auditoria": { "alias": "auditoria"; "required": false; }; }, { "onReturn": "onReturn"; "return": "return"; "onCreate": "onCreate"; "create": "create"; "onUpdate": "onUpdate"; "update": "update"; }, never, ["*", "[customButtonEnd]"], true, never>;
}