š§© Componentes - ecosif-angular
š VisĆ£o Geral
Este documento lista e descreve os principais componentes da aplicação ecosif-angular.
š EstatĆsticas de Componentes
- Total de Componentes: ~200
- PƔginas Funcionais: ~87
- Componentes Compartilhados: ~15
- Layout Components: ~5
- Feature Components: ~10
šļø Estrutura de Componentes
1. Componentes de PƔginas (Pages)
Localização: src/app/pages/
Cadastros
| Componente |
Rota |
Descrição |
CompanydetailsComponent |
/company_detail |
Lista de empresas |
CompanydetailFormComponent |
/company_detail/:id |
FormulƔrio de empresa |
BranchdetailsComponent |
/company_branch_detail |
Lista de filiais |
BranchdetailFormComponent |
/company_branch_detail/:id |
FormulƔrio de filial |
ChartOfAccountsComponent |
/chart_of_accounts |
Plano de contas |
ChartOfAccountFormComponent |
/chart_of_accounts/:id |
FormulƔrio de conta |
MovimentaƧƵes
| Componente |
Rota |
Descrição |
CreateEntriesComponent |
/create-entries |
Criar lanƧamentos |
BatchEntriesComponent |
/batchentry |
Lotes contƔbeis |
ConsolidationComponent |
/consolidation |
Consolidação |
MonthOpeningComponent |
/monthopening |
Abertura de mĆŖs |
Consultas
| Componente |
Rota |
Descrição |
BalanceInquiryComponent |
/balanceinformation |
Consulta saldo/razão |
ListagemLancamentosComponent |
/listagemlancamentos |
Listagem de lanƧamentos |
Relatórios
| Componente |
Rota |
Descrição |
BalancetemensalComponent |
/balancetemensal |
Balancete mensal |
BalancetediarioComponent |
/balancetediario |
Balancete diƔrio |
RelatorioRazaoComponent |
/relatoriorazao |
Razão contÔbil |
Relatorio4010Module |
/relatorio4010 |
Relatório 4010/16 |
Administração
| Componente |
Rota |
Descrição |
UsersComponent |
/users |
Gestão de usuÔrios |
GroupsComponent |
/groups |
Gestão de grupos |
RoutineComponent |
/routine |
Rotinas do sistema |
2. Layout Components
Localização: src/app/containers/
| Componente |
Descrição |
DefaultLayoutComponent |
Layout principal da aplicação |
DefaultHeaderComponent |
CabeƧalho |
DefaultFooterComponent |
RodapƩ |
DefaultSidebarComponent |
Menu lateral |
3. Shared Components
Localização: src/app/shared/components/
| Componente |
Descrição |
LoadingSpinnerComponent |
Indicador de carregamento |
MensagemDialogComponent |
DiƔlogo de mensagens |
4. Feature Components
Compliance
Localização: src/app/features/compliance/
| Componente |
Rota |
Descrição |
ComplianceComponent |
/compliance |
Container de compliance |
RulesComponent |
/compliance/rules |
Regras de compliance |
5. Views Components
Dashboard
Localização: src/app/views/dashboard/
| Componente |
Descrição |
DashboardComponent |
Dashboard executivo |
Base
Localização: src/app/views/base/
| Componente |
Descrição |
AccordionsComponent |
Accordion |
BreadcrumbsComponent |
Breadcrumbs |
CardsComponent |
Cards |
TablesComponent |
Tabelas |
TooltipsComponent |
Tooltips |
šØ Estrutura de um Componente
Exemplo: CompanydetailsComponent
// companydetails.component.ts
@Component({
selector: 'app-companydetails',
templateUrl: './companydetails.component.html',
styleUrls: ['./companydetails.component.scss']
})
export class CompanydetailsComponent implements OnInit {
companies: Company[] = [];
constructor(
private companyService: CompanyService,
private router: Router
) {}
ngOnInit(): void {
this.loadCompanies();
}
loadCompanies(): void {
this.companyService.getCompanies().subscribe(
data => this.companies = data,
error => console.error(error)
);
}
}
Template HTML
<!-- companydetails.component.html -->
<div class="row">
<div class="col-12">
<c-card>
<c-card-header>
<h3>Empresas</h3>
</c-card-header>
<c-card-body>
<table>
<tr *ngFor="let company of companies">
<td>{{ company.name }}</td>
</tr>
</table>
</c-card-body>
</c-card>
</div>
</div>
š Comunicação entre Componentes
// Parent
<app-child [data]="parentData"></app-child>
// Child
@Input() data: any;
2. Child ā Parent (@Output)
// Child
@Output() dataChange = new EventEmitter();
// Parent
<app-child (dataChange)="onDataChange($event)"></app-child>
3. Via Service (Comunicação Cross-Component)
// Service compartilhado
@Injectable({ providedIn: 'root' })
export class SharedService {
private dataSubject = new BehaviorSubject<any>(null);
data$ = this.dataSubject.asObservable();
}
// Component A
this.sharedService.dataSubject.next(newData);
// Component B
this.sharedService.data$.subscribe(data => ...);
š Resumo de Componentes por Categoria
| Categoria |
Quantidade |
| PƔginas Funcionais |
~87 |
| Layout Components |
~5 |
| Shared Components |
~15 |
| Feature Components |
~10 |
| Views Components |
~20 |
| Total |
~137 componentes principais |
Ćltima Atualização: 2025-12-01