import { Observable } from 'rxjs/Observable'; import { NodeManagerService } from 'app/nodes/node-manager.service'; import { Component, OnInit } from '@angular/core'; import { Router } from '@angular/router'; @Component({ selector: 'app-node-list', templateUrl: './node-list.component.html', styleUrls: ['./node-list.component.scss'], }) export class NodeListComponent implements OnInit { state; nodes: Observable; // disable node when it hasn't been spotted since atleast this amount of seconds: maxTimeout = 5; constructor( private manager: NodeManagerService, private router: Router ) { } ngOnInit() { this.state = this.manager.state; this.nodes = this.manager.peripherals; } connectToNode(node) { if (new Date().getTime() - node.seen.getTime() < this.maxTimeout * 1000) { console.log('navigate to node', node.id); this.router.navigate(['/node-detail', node.id]); } } }