File

src/app/utilisateurs/utilisateurs.component.ts

Metadata

Index

Properties
Methods

Constructor

constructor(http: HttpClient)
Parameters :
Name Type Optional
http HttpClient No

Methods

applyFilter
applyFilter(event: Event)
Parameters :
Name Type Optional
event Event No
Returns : void
deleteUser
deleteUser()
Returns : void
editUser
editUser()
Returns : void
ngAfterViewInit
ngAfterViewInit()
Returns : void
ngOnInit
ngOnInit()
Returns : void

Properties

dataSource
Default value : new MatTableDataSource(ELEMENT_DATA)
dataTypePaiements
Type : any[]
Default value : []
displayedColumns
Type : string[]
Default value : ['id', 'nom', 'prenom', 'email', 'actions']
paginator
Type : MatPaginator | undefined
Decorators :
@ViewChild(MatPaginator)
import { Component, ViewChild } from '@angular/core';
import { MatTableDataSource } from '@angular/material/table';
import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
import { MatTableModule } from '@angular/material/table';
import { MatInputModule } from '@angular/material/input';
import { MatFormFieldModule } from '@angular/material/form-field';
import { CommonModule } from '@angular/common';
import { ReactiveFormsModule, FormsModule } from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
import { MatCardModule, MatCardTitle } from '@angular/material/card';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatIconModule } from '@angular/material/icon';
import { RouterLink, RouterOutlet } from '@angular/router';
import { CarouselComponent } from '../shared/carousel/carousel.component';
import { MatMenuModule } from '@angular/material/menu';
import { HttpClient } from '@angular/common/http';

export interface IUsers {
  id: number;
  email: string;
  nom: string;
  prenom: string;
  actions: string;
}

const ELEMENT_DATA: IUsers[] = [
  {
    id: 1,
    nom: 'zaho',
    prenom: 'qadi',
    email: 'mrtlest@mail.com',
    actions: '',
  },
  {
    id: 2,
    nom: 'taho',
    prenom: 'vadi',
    email: 'mrteust@mail.com',
    actions: '',
  },
  {
    id: 3,
    nom: 'zaho',
    prenom: 'dadi',
    email: 'mrtetst@mail.com',
    actions: '',
  },
  {
    id: 4,
    nom: 'kaho',
    prenom: 'uadi',
    email: 'mrtesbbt@mail.com',
    actions: '',
  },
  {
    id: 5,
    nom: 'paho',
    prenom: 'fadi',
    email: 'mrtessst@mail.com',
    actions: '',
  },
  {
    id: 6,
    nom: 'haho',
    prenom: 'padi',
    email: 'mrtesxxt@mail.com',
    actions: '',
  },
];

@Component({
  selector: 'bgui-utilisateurs',
  standalone: true,
  imports: [
    CommonModule,
    MatPaginator,
    MatTableModule,
    MatFormFieldModule,
    MatInputModule,
    CarouselComponent,
    MatCardModule,
    MatCardTitle,
    ReactiveFormsModule,
    MatButtonModule,
    MatIconModule,
    MatCheckboxModule,
    RouterOutlet,
    MatPaginatorModule,
    RouterLink,
    FormsModule,
    MatMenuModule,
  ],
  providers: [],
  templateUrl: './utilisateurs.component.html',
  styleUrl: './utilisateurs.component.scss',
})
export class UtilisateursComponent {
  constructor(private http: HttpClient) {}

  // eslint-disable-next-line @typescript-eslint/no-explicit-any
  dataTypePaiements: any[] = [];

  ngOnInit(): void {
    this.http
      .get('http://192.168.1.223:8000/operateur/')
      // eslint-disable-next-line @typescript-eslint/no-explicit-any
      .subscribe((results: any) => {
        console.log('results==>', results);
        this.dataTypePaiements = results.results;

        console.log('dataTypePaiements===>', this.dataTypePaiements);
      });
  }
  editUser() {
    throw new Error('Method not implemented.');
  }
  deleteUser() {
    throw new Error('Method not implemented.');
  }
  displayedColumns: string[] = ['id', 'nom', 'prenom', 'email', 'actions'];

  dataSource = new MatTableDataSource(ELEMENT_DATA);

  @ViewChild(MatPaginator) paginator!: MatPaginator | undefined;

  ngAfterViewInit() {
    if (this.paginator) {
      this.dataSource.paginator = this.paginator;
    }
  }

  applyFilter(event: Event) {
    const filterValue = (event.target as HTMLInputElement).value;
    this.dataSource.filter = filterValue.trim().toLowerCase();
  }
}
<div class="container-fluid"><h3>Utilisateurs</h3></div>
<div class="page-title d-flex justify-content-between">
  <a [routerLink]="['create-users/']" class="btn btn-sm btn-success m-2">
    Ajouter un utilisateur
  </a>
</div>
<div class="example-container mat-elevation-z8" style="margin-top: 40px">
  <mat-form-field>
    <mat-label>Filter</mat-label>
    <input
      class="textFilter"
      matInput
      (keyup)="applyFilter($event)"
      placeholder="Ex. ium"
      #input />
  </mat-form-field>

  <mat-table [dataSource]="dataSource" class="mat-elevation-z8">
    <!-- ID Column -->
    <ng-container matColumnDef="id">
      <mat-header-cell *matHeaderCellDef class="bold-text">ID</mat-header-cell>
      <mat-cell *matCellDef="let user">{{ user.id }}</mat-cell>
    </ng-container>

    <!-- Nom Column -->
    <ng-container matColumnDef="nom">
      <mat-header-cell *matHeaderCellDef class="bold-text">Nom</mat-header-cell>
      <mat-cell *matCellDef="let user">{{ user.nom }}</mat-cell>
    </ng-container>

    <!-- Prénoms Column -->
    <ng-container matColumnDef="prenom">
      <mat-header-cell *matHeaderCellDef class="bold-text"
        >Prénoms</mat-header-cell
      >
      <mat-cell *matCellDef="let user">{{ user.prenom }}</mat-cell>
    </ng-container>

    <!-- Email Column -->
    <ng-container matColumnDef="email">
      <mat-header-cell *matHeaderCellDef class="bold-text"
        >Email</mat-header-cell
      >
      <mat-cell *matCellDef="let user">{{ user.email }}</mat-cell>
    </ng-container>

    <!-- Actions Column -->
    <ng-container matColumnDef="actions">
      <mat-header-cell *matHeaderCellDef class="bold-text"
        >Actions</mat-header-cell
      >
      <mat-cell *matCellDef="let user" style="text-align: right">
        <a href="#" class="m-2" [routerLink]="['view-user']"
          ><mat-icon style="color: blue" title="Voir"
            >remove_red_eye</mat-icon
          ></a
        >
        <a href="#" class="m-2" [routerLink]="['edit-user/id']"
          ><mat-icon style="color: green" title="Modifier">edit</mat-icon></a
        >
        <a href="#" class="m-2" [routerLink]="['delete-user/id']">
          <mat-icon style="color: red" title="Supprimer">
            delete_sweep
          </mat-icon>
        </a>
      </mat-cell>
    </ng-container>

    <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
    <mat-row *matRowDef="let row; columns: displayedColumns"></mat-row>
  </mat-table>

  <mat-paginator
    #paginator
    [pageSize]="5"
    [pageSizeOptions]="[5, 10, 20]"
    [showFirstLastButtons]="true">
  </mat-paginator>
</div>
Legend
Html element
Component
Html element with directive

results matching ""

    No results matching ""