import { CommonModule } from '@angular/common'; import { Component, ViewChild } from '@angular/core'; import { FormsModule } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; 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'; 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 { 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; } }