File

src/app/assistances/assistance/view-service/view-service.component.ts

Metadata

Index

Properties
Methods

Constructor

constructor(service: ServiceService)
Parameters :
Name Type Optional
service ServiceService No

Methods

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

Properties

dataSource
Default value : new MatTableDataSource<IService>()
displayedColumns
Type : string[]
Default value : [ 'service_id', 'nom_service', 'description', 'marchand', ]
paginator
Type : MatPaginator
Decorators :
@ViewChild(MatPaginator)
services
Type : IService[]
Default value : []
import { CommonModule } from '@angular/common';
import { Component, ViewChild } from '@angular/core';
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 { MatFormFieldModule } from '@angular/material/form-field';
import { MatIconModule } from '@angular/material/icon';
import { MatInputModule } from '@angular/material/input';
import { MatMenuModule } from '@angular/material/menu';
import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
import { RouterLink, RouterOutlet } from '@angular/router';
import { IService } from 'src/app/_interfaces/servives/service';
import { ServiceService } from 'src/app/_services/service/service.service';
import { CarouselComponent } from 'src/app/shared/carousel/carousel.component';

@Component({
  selector: 'bgui-view-service',
  standalone: true,
  imports: [
    RouterLink,
    RouterOutlet,
    CommonModule,
    MatPaginator,
    MatTableModule,
    MatFormFieldModule,
    MatInputModule,
    CarouselComponent,
    MatCardModule,
    MatCardTitle,
    ReactiveFormsModule,
    MatButtonModule,
    MatIconModule,
    MatCheckboxModule,
    MatPaginatorModule,
    FormsModule,
    MatMenuModule,
  ],
  templateUrl: './view-service.component.html',
  styleUrl: './view-service.component.scss',
})
export class ViewServiceComponent {
  services: IService[] = [];

  displayedColumns: string[] = [
    'service_id',
    'nom_service',
    'description',
    'marchand',
  ];
  dataSource = new MatTableDataSource<IService>();

  @ViewChild(MatPaginator) paginator!: MatPaginator;

  constructor(private service: ServiceService) {}

  ngOnInit(): void {
    this.service.getServices().subscribe((data: IService[]) => {
      this.services = data;
      console.log('services=>', this.services);
      this.dataSource.data = this.services;
    });
  }

  ngAfterViewInit() {
    this.dataSource.paginator = this.paginator;
    this.dataSource.paginator.pageIndex = this.paginator.pageSize;
  }

  applyFilter(event: Event) {
    const filterValue = (event.target as HTMLInputElement).value;
    this.dataSource.filter = filterValue.trim().toLowerCase();
  }
}
<div class="content sm-gutter">
  <div class="page-title mb-20">
    <h3 style="margin-bottom: 25px">Services</h3>
  </div>
  <div class="row">
    <div class="col-md-12 col-vlg-12 m-b-10">
      <div class="row-fluid">
        <div class="span12">
          <div class="grid simple">
            <div class="card">
              <div class="card-title">
                <div class="card-body m-3">
                  <!-- <h5 class="mb-3 text-center">Details Service</h5> -->
                  <form method="post">
                    <div class="row justify-content-center">
                      <div class="col-md-5 mb-2">
                        <label for="service_id" class="Ftext">Id Service</label>
                        <input
                          type="text"
                          id="service_id"
                          placeholder="ID"
                          class="form-control"
                          name="service_id"
                          value=""
                          required="" />
                      </div>
                      <div class="col-md-5 mb-2">
                        <label for="nom_service" class="Ftext"
                          >Nom Service</label
                        >
                        <input
                          type="text"
                          id="nom_service"
                          placeholder="Nom Service"
                          class="form-control"
                          name="nom_service"
                          value=""
                          required="" />
                      </div>

                      <div class="col-md-5 mb-2">
                        <label for="description" class="Ftext"
                          >Description</label
                        >
                        <input
                          type="text"
                          id="description"
                          placeholder="Description"
                          class="form-control"
                          name="description"
                          value=""
                          required="" />
                      </div>
                      <div class="col-md-5 mb-2">
                        <label for="marchand" class="Ftext">Marchand</label>
                        <input
                          type="text"
                          id="marchand"
                          placeholder="Marchand"
                          class="form-control"
                          name="marchand"
                          value=""
                          required="" />
                      </div>
                      <div class="col-md-12">
                        <div class="d-flex justify-content-end mt-3">
                          <button
                            class="btn btn-sm btn-success"
                            id="save_button">
                            Enregistrer <i class="fa fa-save"></i>
                          </button>
                        </div>
                      </div>
                    </div>
                  </form>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

<!--+++++++++++++++++++++++++++++++++++++++++++++++-->

<div class="page-title d-flex justify-content-between">
  <a
    data-bs-toggle="modal"
    data-bs-target="#exampleModal"
    [routerLink]="['create-users/']"
    class="btn btn-sm btn-success m-2">
    Ajouter un utilisateur
  </a>
</div>
<div class="page-title d-flex justify-content-between">
  <a
    [routerLink]="['/assistances/create-service']"
    class="btn btn-sl btn-success mt-5">
    Ajouter
  </a>
</div>
<div class="example-container mat-elevation-z8" style="margin-top: 40px">
  <mat-form-field>
    <mat-label>Filter</mat-label>
    <input
      matInput
      (keyup)="applyFilter($event)"
      placeholder="Ex. ium"
      #input />
  </mat-form-field>

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

    <ng-container matColumnDef="nom_service">
      <mat-header-cell *matHeaderCellDef class="text">Nom</mat-header-cell>
      <mat-cell *matCellDef="let service">{{ service.nom_service }}</mat-cell>
    </ng-container>

    <!-- Prenoms Column -->
    <ng-container matColumnDef="description">
      <mat-header-cell *matHeaderCellDef class="text"
        >Description</mat-header-cell
      >
      <mat-cell *matCellDef="let service">{{ service.description }}</mat-cell>
    </ng-container>

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

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