Ignore:
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';
     1import { Component, OnInit, ViewChild, Inject } from '@angular/core';
     2import { HttpClient } from '@angular/common/http';
     3import { Medicine } from '../models/Medicine';
     4import { Pharmacy } from '../models/Pharmacy';
     5import { MatTableDataSource } from '@angular/material/table';
     6import { MatPaginator } from '@angular/material/paginator';
     7import { MatSort } from '@angular/material/sort';
    78
    89@Component({
     
    1213})
    1314export 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>();
    1821
    19   constructor(private dataService: DataService, private dialog: MatDialog) {
     22  @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;
     23  @ViewChild(MatSort) sort: MatSort;
    2024
     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 {
    2138  }
    2239
    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;
    3745  }
    3846
    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;
    5251  }
    5352 
    5453  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;
    8157  }
    8258}
Note: See TracChangeset for help on using the changeset viewer.