From e46be96b57525ff3ec0f580176b921ff02e746a6 Mon Sep 17 00:00:00 2001 From: Konstantinos Kamaropoulos Date: Sun, 1 Mar 2020 14:17:19 +0200 Subject: [PATCH] fix: Navigating to page wouldn't load previous data --- src/app/chart/chart.component.ts | 2 +- src/app/logs.service.ts | 6 ++++++ src/app/map/map.component.ts | 10 +++++++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/app/chart/chart.component.ts b/src/app/chart/chart.component.ts index f2b08b0..034358e 100644 --- a/src/app/chart/chart.component.ts +++ b/src/app/chart/chart.component.ts @@ -31,7 +31,7 @@ export class ChartComponent implements OnInit { dataConfig: Array = []; async ngOnInit() { - let data = await this.logsService.getUpdates(); + let data = await this.logsService.getLogsFirstRun(); for (const key in data[0]['sensorReadings']) { if (data[0]['sensorReadings'].hasOwnProperty(key)) { const element = data[0]['sensorReadings'][key]; diff --git a/src/app/logs.service.ts b/src/app/logs.service.ts index fc4cd40..c2930dc 100644 --- a/src/app/logs.service.ts +++ b/src/app/logs.service.ts @@ -23,6 +23,12 @@ export class LogsService { .toPromise(); } + async getLogsFirstRun(): Promise> { + let data = await this.getLogs(); + this.previousData = data; + return data; + } + async getUpdates(): Promise> { let prevData = this.previousData; if (!this.previousData) { diff --git a/src/app/map/map.component.ts b/src/app/map/map.component.ts index 01e6efe..d8af532 100644 --- a/src/app/map/map.component.ts +++ b/src/app/map/map.component.ts @@ -38,8 +38,16 @@ export class MapComponent implements OnInit { // Add map controls // this.map.addControl(new mapboxgl.NavigationControl()); + var firstRun: Boolean = true; + this.sub = interval(1000).subscribe(async val => { - let data = await this.logsService.getUpdates(); + let data: Array; + if (firstRun) { + data = await this.logsService.getLogsFirstRun(); + firstRun = false; + } else { + data = await this.logsService.getUpdates(); + } for (let log of data) { if (log['gps_data']['status'] == 'A') { let html =