source: Farmatiko/ClientApp/src/app/counter/counter.component.ts@ de18858

Last change on this file since de18858 was de18858, checked in by Mile Jankuloski <mile.jankuloski@…>, 4 years ago

Prepared and improved components for data flows

  • Property mode set to 100644
File size: 2.3 KB
RevLine 
[ef1219a]1import { Component, OnInit, ViewChild, Inject } from '@angular/core';
[4b342bb]2import { HttpClient } from '@angular/common/http';
3import { HealthFacilities } from '../models/HealthFacilities';
[ef1219a]4import { MatTableDataSource } from '@angular/material/table';
5import { MatPaginator } from '@angular/material/paginator';
6import { MatSort } from '@angular/material/sort';
[e42f61a]7import { HealthcareWorkers } from '../models/HealthcareWorkers';
[ef1219a]8
[30a465f]9@Component({
10 selector: 'app-counter-component',
[ec6ac45]11 templateUrl: './counter.component.html',
12 styleUrls: ['./counter.component.css']
[30a465f]13})
[ef1219a]14export class CounterComponent implements OnInit {
[4b342bb]15 public facilities: HealthFacilities[];
[e42f61a]16 public workers: HealthcareWorkers[];
[ef1219a]17 displayedColumns = ['Име','Општина','Адреса', 'Тип', 'Е-пошта', 'Телефон'];
[e42f61a]18 displayedColumnsWorkers = ['Име','Гранка','Установа', 'Назив'];
[ef1219a]19 dataSource = new MatTableDataSource<HealthFacilities>();
[e42f61a]20 dataSourceWorkers = new MatTableDataSource<HealthcareWorkers>();
[ef1219a]21
22 @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;
23 @ViewChild(MatSort) sort: MatSort;
[30a465f]24
[4b342bb]25 constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) {
[d2e69be]26 http.get<HealthFacilities[]>(baseUrl + 'HealthFacilities/Get?').subscribe(result => {
[4b342bb]27 this.facilities = result;
[d2e69be]28 console.log(this.facilities);
[ef1219a]29 this.dataSource = new MatTableDataSource<HealthFacilities>(this.facilities);
[4b342bb]30 }, error => console.error(error));
[e42f61a]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));
[d2e69be]36 }
[ef1219a]37 ngOnInit(): void {
38 }
[d2e69be]39
[ef1219a]40 ngAfterViewInit(): void {
41 this.dataSource.paginator = this.paginator;
42 this.dataSource.sort = this.sort;
[e42f61a]43 this.dataSourceWorkers.paginator = this.paginator;
44 this.dataSourceWorkers.sort = this.sort;
[ef1219a]45 }
46
47 applyFilter(filterValue: string) {
48 filterValue = filterValue.trim();
49 filterValue = filterValue.toLowerCase();
50 this.dataSource.filter = filterValue;
[de18858]51 }
52
53 applyFilterWorkers(filterValue: string) {
54 filterValue = filterValue.trim();
55 filterValue = filterValue.toLowerCase();
[e42f61a]56 this.dataSourceWorkers.filter = filterValue;
[ef1219a]57 }
[e42f61a]58}
Note: See TracBrowser for help on using the repository browser.