/* eslint-disable @typescript-eslint/no-explicit-any */ import { CommonModule } from '@angular/common'; import { Component, ViewChild } from '@angular/core'; import { FormBuilder, FormGroup, FormsModule, Validators, } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { MatDialog, MatDialogRef } from '@angular/material/dialog'; import { MatIconModule } from '@angular/material/icon'; import { MatInputModule } from '@angular/material/input'; import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator'; import { MatTableDataSource, MatTableModule } from '@angular/material/table'; import { MatTabsModule } from '@angular/material/tabs'; import { RouterLink } from '@angular/router'; import { AjoutTpeComponent } from '../ajout-tpe/ajout-tpe.component'; export interface Element { date: string; nom: string; description: string; } const ELEMENT_DATA: Element[] = [ { date: '10-10-2024', nom: 'John Doe', description: 'description A', }, { date: '10-10-2024', nom: 'Jane Doe', description: 'description B', }, { date: '17-10-2024', nom: 'Bob Smith', description: 'description C', }, { date: '10-10-2024', nom: 'John Doe', description: 'description A', }, { date: '19-10-2024', nom: 'Jane Doe', description: 'description B', }, { date: '10-10-2024', nom: 'Bob Smith', description: 'description A', }, ]; @Component({ selector: 'bgui-groupe-tpe', standalone: true, imports: [ CommonModule, MatButtonModule, MatIconModule, MatTabsModule, MatTableModule, MatInputModule, MatIconModule, RouterLink, FormsModule, MatPaginatorModule, ], templateUrl: './groupe-tpe.component.html', styleUrl: './groupe-tpe.component.scss', }) export class GroupeTpeComponent { constructor(private dialog: MatDialog) {} onSearch() { throw new Error('Method not implemented.'); } displayedColumns: string[] = ['date', 'nom', 'description']; dataSource = new MatTableDataSource(ELEMENT_DATA); @ViewChild(MatPaginator) paginator!: MatPaginator; element: any; applyFilter(event: Event) { const filterValue = (event.target as HTMLInputElement).value; this.dataSource.filter = filterValue.trim().toLowerCase(); } ngAfterViewInit() { this.dataSource.paginator = this.paginator; } public openDialog() { // eslint-disable-next-line @typescript-eslint/no-unused-vars const dialogRef = this.dialog.open(AjoutTpeComponent, { width: '1000px', height: '1000px', }); } // onSubmit(): void { // if (this.myForm.valid) { // this.onSave(); // } // } // onSave(): void { // if (this.myForm.valid) { // // Perform save action here, for example: // console.log(this.myForm.value); // this.dialogRef.close(this.myForm.value); // Close the dialog and pass the form data back // } // } // onCancel(): void { // this.dialogRef.close(); // Just close the dialog without passing any data // } }