- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Farmatiko/ClientApp/src/app/home/home.component.ts
ree137aa rde18858 1 import { Component, OnInit } from '@angular/core'; 2 import { IMedicine, IPharmacy } from '../shared/interfaces'; 3 import { DataService } from '../shared/data.service'; 4 import { MatDialog } from '@angular/material/dialog'; 5 import { MedicineDialogComponent } from '../dialogs/medicine-dialog/medicine-dialog.component'; 6 import { PharmacyDialogComponent } from '../dialogs/pharmacy-dialog/pharmacy-dialog.component'; 1 import { Component, OnInit, ViewChild, Inject } from '@angular/core'; 2 import { HttpClient } from '@angular/common/http'; 3 import { Medicine } from '../models/Medicine'; 4 import { Pharmacy } from '../models/Pharmacy'; 5 import { MatTableDataSource } from '@angular/material/table'; 6 import { MatPaginator } from '@angular/material/paginator'; 7 import { MatSort } from '@angular/material/sort'; 7 8 8 9 @Component({ … … 12 13 }) 13 14 export class HomeComponent implements OnInit { 14 public medicines: IMedicine[] = []; 15 public pharmacies: IPharmacy[] = []; 16 public filteredMedicines: IMedicine[] = []; 17 public filteredPharmacies: IPharmacy[] = []; 15 public medicines: Medicine[]; 16 public pharmacies: Pharmacy[]; 17 displayedColumns = ['Име','Јачина','Форма', 'Начин на издавање', 'Производител', 'Цена', 'Пакување']; 18 displayedColumnsPharmacies = ['Име','Локација','Адреса', 'Работи 27/7?']; 19 dataSource = new MatTableDataSource<Medicine>(); 20 dataSourcePharmacies = new MatTableDataSource<Pharmacy>(); 18 21 19 constructor(private dataService: DataService, private dialog: MatDialog) { 22 @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator; 23 @ViewChild(MatSort) sort: MatSort; 20 24 25 constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) { 26 http.get<Medicine[]>(baseUrl + 'Medicine/Get?').subscribe(result => { 27 this.medicines = result; 28 console.log(this.medicines); 29 this.dataSource = new MatTableDataSource<Medicine>(this.medicines); 30 }, error => console.error(error)); 31 http.get<Pharmacy[]>(baseUrl + 'Pharmacy/Get?').subscribe(result => { 32 this.pharmacies = result; 33 console.log(this.pharmacies); 34 this.dataSourcePharmacies = new MatTableDataSource<Pharmacy>(this.pharmacies); 35 }, error => console.error(error)); 36 } 37 ngOnInit(): void { 21 38 } 22 39 23 ngOnInit(): void { 24 this.dataService.getMedicines() 25 .subscribe((medicine: IMedicine[]) => { 26 this.medicines = this.filteredMedicines = medicine; 27 }, 28 (err: any) => console.log(err), 29 () => console.log('Medicine data retrieved')); 30 31 this.dataService.getPharmacies() 32 .subscribe((pharmacy: IPharmacy[]) => { 33 this.pharmacies = this.filteredPharmacies = pharmacy; 34 }, 35 (err: any) => console.log(err), 36 () => console.log('Pharmacy data retrieved')); 40 ngAfterViewInit(): void { 41 this.dataSource.paginator = this.paginator; 42 this.dataSource.sort = this.sort; 43 this.dataSourcePharmacies.paginator = this.paginator; 44 this.dataSourcePharmacies.sort = this.sort; 37 45 } 38 46 39 applyFilterMedicines(filterValue: string) { 40 console.log("applyFilterMedicines works!") 41 if(filterValue) { 42 this.dataService.searchMedicines(filterValue) 43 .subscribe((medicine: IMedicine[]) => { 44 this.filteredMedicines = medicine; 45 }, 46 (err: any) => console.log(err), 47 () => console.log('Medicine data retrieved')); 48 } 49 else { 50 this.filteredMedicines = this.medicines; 51 } 47 applyFilter(filterValue: string) { 48 filterValue = filterValue.trim(); 49 filterValue = filterValue.toLowerCase(); 50 this.dataSource.filter = filterValue; 52 51 } 53 52 54 53 applyFilterPharmacies(filterValue: string) { 55 console.log("applyFilterPharmacies works!") 56 if(filterValue) { 57 this.dataService.searchPharmacies(filterValue) 58 .subscribe((pharmacy: IPharmacy[]) => { 59 this.filteredPharmacies = pharmacy; 60 }, 61 (err: any) => console.log(err), 62 () => console.log('Pharmacy data retrieved')); 63 } 64 else { 65 this.filteredPharmacies = this.pharmacies; 66 } 67 } 68 69 openMedicineDialog(medicine: IMedicine): void { 70 this.dialog.open(MedicineDialogComponent, { 71 width: '450px', 72 data: medicine 73 }); 74 } 75 76 openPharmacyDialog(pharmacy: IPharmacy): void { 77 this.dialog.open(PharmacyDialogComponent, { 78 width: '450px', 79 data: pharmacy 80 }); 54 filterValue = filterValue.trim(); 55 filterValue = filterValue.toLowerCase(); 56 this.dataSourcePharmacies.filter = filterValue; 81 57 } 82 58 }
Note:
See TracChangeset
for help on using the changeset viewer.