Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Farmatiko/ClientApp/src/app/counter/counter.component.ts

    ree137aa rc73269d  
    1 import { Component, OnInit } from '@angular/core';
    2 import { IHealthFacilities, IHealthcareWorkers } from '../shared/interfaces';
    3 import { DataService } from '../shared/data.service';
    4 import { MatDialog } from '@angular/material/dialog';
    5 import { FacilityDialogComponent } from '../dialogs/facility-dialog/facility-dialog.component';
    6 import { WorkerDialogComponent } from '../dialogs/worker-dialog/worker-dialog.component';
     1import { Component, OnInit, ViewChild, Inject, Input } from '@angular/core';
     2import { HttpClient } from '@angular/common/http';
     3import { HealthFacilities } from '../models/HealthFacilities';
     4import { MatTableDataSource } from '@angular/material/table';
     5import { MatPaginator } from '@angular/material/paginator';
     6import { MatSort } from '@angular/material/sort';
     7import { HealthcareWorkers } from '../models/HealthcareWorkers';
    78
    89@Component({
     
    1213})
    1314export class CounterComponent implements OnInit {
    14   public facilities: IHealthFacilities[] = [];
    15   public workers: IHealthcareWorkers[] = [];
    16   public filteredFacilities: IHealthFacilities[] = [];
    17   public filteredWorkers: IHealthcareWorkers[] = [];
     15  @Input() facilities: HealthFacilities[];
     16  public workers: HealthcareWorkers[];
     17  displayedColumns = ['id','createdOn','deletedOn','Име','Општина','Адреса', 'Тип', 'Е-пошта', 'Телефон'];
     18  displayedColumnsWorkers = ['Име','Гранка','Установа', 'Назив'];
     19  dataSource = new MatTableDataSource<HealthFacilities>();
     20  dataSourceWorkers = new MatTableDataSource<HealthcareWorkers>();
    1821
    19   constructor(private dataService: DataService, private dialog: MatDialog) {
    20    
     22  @ViewChild(MatPaginator, {static: false}) paginator: MatPaginator;
     23  @ViewChild(MatSort) sort: MatSort;
     24
     25  constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {
     26    http.get<HealthFacilities[]>(baseUrl + 'HealthFacilities/Get?').subscribe(result => {
     27      this.facilities = result;
     28      console.log(this.facilities);
     29      this.dataSource = new MatTableDataSource<HealthFacilities>(this.facilities);
     30    }, error => console.error(error));
     31    http.get<HealthcareWorkers[]>(baseUrl + 'HealthcareWorker/Get?').subscribe(result => {
     32      this.workers = result;
     33      console.log(this.workers);
     34      this.dataSourceWorkers = new MatTableDataSource<HealthcareWorkers>(this.workers);
     35    }, error => console.error(error));
     36  }
     37  ngOnInit(): void {
    2138  }
    2239
    23   ngOnInit(): void {
    24     this.dataService.getFacilities()
    25         .subscribe((facility: IHealthFacilities[]) => {
    26           this.facilities = this.filteredFacilities = facility;
    27         },
    28         (err: any) => console.log(err),
    29         () => console.log('Facility data retrieved!'));
    30 
    31     this.dataService.getWorkers()
    32         .subscribe((worker: IHealthcareWorkers[]) => {
    33           this.workers = this.filteredWorkers = worker;
    34         },
    35         (err: any) => console.log(err),
    36         () => console.log('Facility data retrieved!'));
     40  ngAfterViewInit(): void {
     41    this.dataSource.paginator = this.paginator;
     42    this.dataSource.sort = this.sort;
    3743  }
    3844
    39   applyFilterFacilities(filterValue: string) {
    40     console.log("applyFilterFacilities works!")
    41     if(filterValue) {
    42       this.dataService.searchFacilities(filterValue)
    43           .subscribe((facility: IHealthFacilities[]) => {
    44             this.filteredFacilities = facility;
    45           },
    46           (err: any) => console.log(err),
    47           () => console.log('Facility data retrieved!'));
    48     }
    49     else {
    50       this.filteredFacilities = this.facilities;
    51     }
     45  applyFilter(filterValue: string) {
     46    filterValue = filterValue.trim();
     47    filterValue = filterValue.toLowerCase();
     48    this.dataSource.filter = filterValue;
    5249  }
    5350
    5451  applyFilterWorkers(filterValue: string) {
    55     console.log("applyFilterWorkers works!")
    56     if(filterValue) {
    57       this.dataService.searchWorkers(filterValue)
    58           .subscribe((worker: IHealthcareWorkers[]) => {
    59             this.filteredWorkers = worker;
    60           },
    61           (err: any) => console.log(err),
    62           () => console.log('Worker data retrieved!'));
    63     }
    64     else {
    65       this.filteredWorkers = this.workers;
    66     }
    67   }
    68 
    69   openFacilityDialog(facility: IHealthFacilities): void {
    70     this.dialog.open(FacilityDialogComponent, {
    71       width: '450px',
    72       data: facility
    73     });
    74   }
    75  
    76   openWorkerDialog(worker: IHealthcareWorkers): void {
    77     this.dialog.open(WorkerDialogComponent, {
    78       width: '450px',
    79       data: worker
    80     });
     52    filterValue = filterValue.trim();
     53    filterValue = filterValue.toLowerCase();
     54    this.dataSourceWorkers.filter = filterValue;
    8155  }
    8256}
Note: See TracChangeset for help on using the changeset viewer.