1 import { Component, OnInit, ViewChild } from '@angular/core';
3 import {MatTableDataSource} from '@angular/material/table';
5 import { MatPaginator } from '@angular/material/paginator';
7 import { cameraData,monitorinfo, monitorDetails } from './../datainterface'
8 import { RoboService } from './../../app/robo.service';
10 import { DomSanitizer, SafeUrl } from "@angular/platform-browser";
12 import { timer } from "rxjs"
15 selector: 'app-data-monitor',
16 templateUrl: './data-monitor.component.html',
17 styleUrls: ['./data-monitor.component.scss']
19 export class DataMonitorComponent implements OnInit {
21 monitorColumns: string [] = ['shelfName','objType','currentCount','maxCount','status','time'];
22 monitorDataSource = new MatTableDataSource<monitorinfo>(MONITOR_INFO_LIST);
24 monitorArrayList = [];
31 monitorInfo = {} as monitorDetails;
33 @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;
36 private roboService: RoboService,
37 private sanitizer: DomSanitizer
41 this.monitorDetails();
42 this.inventoryDetails();
47 setInterval(this.refreshPage, 2000);
48 // setTimeout(this.refreshPage , 2000);
52 console.log("Inside refreshPage....")
53 this.inventoryDetails();
54 this.monitorDetails();
59 // setInterval(function(){
60 // console.log("Oooo Yeaaa!");
61 // this.roboService.getMonitorImage()
62 // .subscribe( (data:any) => {
66 // // referred https://stackoverflow.com/questions/55591871/view-blob-response-as-image-in-angular
68 // let objectURL = 'data:image/jpeg;base64,' + data.image;
69 // this.thumbnail = this.sanitizer.bypassSecurityTrustUrl(objectURL);
72 // error => console.log(error));
76 this.roboService.getMonitorImage()
77 .subscribe( (data:any) => {
81 let objectURL = 'data:image/jpeg;base64,' + data.image;
82 this.thumbnail = this.sanitizer.bypassSecurityTrustUrl(objectURL);
86 error => console.log(error));
91 console.log("inventoryDetails started....")
93 // setInterval(function(){
94 // console.log("Oooo!");
95 // this.roboService.getMonitorInfo()
96 // .subscribe(data => {
98 // this.monitorInfo = data;
100 // this.monitorArrayList = data.InventryData;
101 // this.monitorDataSource = new MatTableDataSource(this.monitorArrayList);
102 // this.monitorDataSource.paginator = this.paginator;
104 // error => console.log(error));
106 this.roboService.getMonitorInfo()
109 this.monitorInfo = data;
111 this.monitorArrayList = data.InventryData;
112 this.monitorDataSource = new MatTableDataSource(this.monitorArrayList);
113 this.monitorDataSource.paginator = this.paginator;
115 error => console.log(error));
116 console.log("inventoryDetails finished...")
120 if(clr == "Mostly Filled"){
123 if(clr == "Partially Filled"){
126 if(clr == "Needs Filling"){
133 const MONITOR_INFO_LIST: monitorinfo[] = [
134 { shelfName: '', ObjType: '', currentCount: '', maxCount: '', status: '', time: '' }