- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Farmatiko/ClientApp/src/app/counter/counter.component.ts
rc73269d ree137aa 1 import { Component, OnInit, ViewChild, Inject, Input } from '@angular/core'; 2 import { HttpClient } from '@angular/common/http'; 3 import { HealthFacilities } from '../models/HealthFacilities'; 4 import { MatTableDataSource } from '@angular/material/table'; 5 import { MatPaginator } from '@angular/material/paginator'; 6 import { MatSort } from '@angular/material/sort'; 7 import { HealthcareWorkers } from '../models/HealthcareWorkers'; 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'; 8 7 9 8 @Component({ … … 13 12 }) 14 13 export class CounterComponent implements OnInit { 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>(); 14 public facilities: IHealthFacilities[] = []; 15 public workers: IHealthcareWorkers[] = []; 16 public filteredFacilities: IHealthFacilities[] = []; 17 public filteredWorkers: IHealthcareWorkers[] = []; 21 18 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 { 19 constructor(private dataService: DataService, private dialog: MatDialog) { 20 38 21 } 39 22 40 ngAfterViewInit(): void { 41 this.dataSource.paginator = this.paginator; 42 this.dataSource.sort = this.sort; 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!')); 43 37 } 44 38 45 applyFilter(filterValue: string) { 46 filterValue = filterValue.trim(); 47 filterValue = filterValue.toLowerCase(); 48 this.dataSource.filter = filterValue; 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 } 49 52 } 50 53 51 54 applyFilterWorkers(filterValue: string) { 52 filterValue = filterValue.trim(); 53 filterValue = filterValue.toLowerCase(); 54 this.dataSourceWorkers.filter = filterValue; 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 }); 55 81 } 56 82 }
Note:
See TracChangeset
for help on using the changeset viewer.