import { CommonModule } from '@angular/common'; import { HttpClient } from '@angular/common/http'; import { Component, ViewChild } from '@angular/core'; import { FormGroup, FormBuilder, Validators, FormsModule, } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { MatDialog } from '@angular/material/dialog'; import { MatIconModule } from '@angular/material/icon'; import { MatInputModule } from '@angular/material/input'; import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator'; import { MatSnackBar } from '@angular/material/snack-bar'; import { MatTableDataSource, MatTableModule } from '@angular/material/table'; import { MatTabsModule } from '@angular/material/tabs'; import { RouterLink } from '@angular/router'; import { UserService } from 'src/app/_services/utilisateur/user.service'; @Component({ selector: 'bgui-view-tpe', standalone: true, imports: [ CommonModule, MatButtonModule, MatIconModule, MatTabsModule, MatTableModule, MatInputModule, MatIconModule, RouterLink, FormsModule, MatPaginatorModule, ], templateUrl: './view-tpe.component.html', styleUrl: './view-tpe.component.scss', }) export class ViewTpeComponent { services: any; operateurs: any; onExport() { throw new Error('Method not implemented.'); } onSearch() { throw new Error('Method not implemented.'); } // eslint-disable-next-line @typescript-eslint/no-unused-vars onDelete(arg0: any) { throw new Error('Method not implemented.'); } tpeForm: FormGroup; constructor( private http: HttpClient, // private router: Router, private snackBar: MatSnackBar, private dialog: MatDialog, private userService: UserService, private fb: FormBuilder, private matdialog: MatDialog ) { this.tpeForm = this.fb.group({ date: ['', Validators.required], transaction: ['', Validators.required], tpe: ['', Validators.required], groupe: ['', Validators.required], montant: ['', Validators.required], telephone: ['', Validators.required], status: ['', Validators.required], }); } // eslint-disable-next-line @typescript-eslint/no-explicit-any tpe: any[] = [ { date: '2023-06-18', transaction: 'Transaction 1', tpe: 'TPE 1', groupe: 'Groupe 1', montant: 100, telephone: '1234567890', status: 'INVALIDE', }, { date: '2023-06-19', transaction: 'Transaction 2', tpe: 'TPE 2', groupe: 'Groupe 2', montant: 200, telephone: '0987654321', status: 'VALIDE', }, // Ajout de 30 lignes supplémentaires { date: '2023-06-20', transaction: 'Transaction 3', tpe: 'TPE 3', groupe: 'Groupe 3', montant: 150, telephone: '0123456789', status: 'INVALIDE', }, { date: '2023-06-21', transaction: 'Transaction 4', tpe: 'TPE 4', groupe: 'Groupe 4', montant: 180, telephone: '9876543210', status: 'VALIDE', }, { date: '2023-06-18', transaction: 'Transaction 1', tpe: 'TPE 1', groupe: 'Groupe 1', montant: 100, telephone: '1234567890', status: 'INVALIDE', }, { date: '2023-06-19', transaction: 'Transaction 2', tpe: 'TPE 2', groupe: 'Groupe 2', montant: 200, telephone: '0987654321', status: 'VALIDE', }, // Ajout de 30 lignes supplémentaires { date: '2023-06-20', transaction: 'Transaction 3', tpe: 'TPE 3', groupe: 'Groupe 3', montant: 150, telephone: '0123456789', status: 'INVALIDE', }, { date: '2023-06-21', transaction: 'Transaction 4', tpe: 'TPE 4', groupe: 'Groupe 4', montant: 180, telephone: '9876543210', status: 'VALIDE', }, // Ajout de 5 lignes supplémentaires { date: '2023-06-22', transaction: 'Transaction 5', tpe: 'TPE 5', groupe: 'Groupe 5', montant: 120, telephone: '5555555555', status: 'VALIDE', }, { date: '2023-06-23', transaction: 'Transaction 6', tpe: 'TPE 6', groupe: 'Groupe 6', montant: 250, telephone: '6666666666', status: 'INVALIDE', }, { date: '2023-06-24', transaction: 'Transaction 7', tpe: 'TPE 7', groupe: 'Groupe 7', montant: 300, telephone: '7777777777', status: 'VALIDE', }, { date: '2023-06-25', transaction: 'Transaction 8', tpe: 'TPE 8', groupe: 'Groupe 8', montant: 280, telephone: '8888888888', status: 'INVALIDE', }, { date: '2023-06-26', transaction: 'Transaction 9', tpe: 'TPE 9', groupe: 'Groupe 9', montant: 150, telephone: '9999999999', status: 'VALIDE', }, ]; dataSource = new MatTableDataSource(this.tpe); @ViewChild(MatPaginator) paginator!: MatPaginator; displayedColumns: string[] = [ 'date', 'transaction', 'tpe', 'groupe', 'montant', 'telephone', 'status', 'action', ]; ngAfterViewInit() { this.dataSource.paginator = this.paginator; } applyFilter(event: Event) { const filterValue = (event.target as HTMLInputElement).value; this.dataSource.filter = filterValue.trim().toLowerCase(); } onSubmit() { if (this.tpeForm.valid) { console.log('Form submitted:', this.tpeForm.value); // Add logic here to save or process the form data } else { console.error('Form is invalid'); } } }