diff --git a/src/main/angular/src/app/pages/dashboard/air/dashboard-air-tile.component.html b/src/main/angular/src/app/pages/dashboard/air/dashboard-air-tile.component.html
index a5b0a03..d28a7f6 100644
--- a/src/main/angular/src/app/pages/dashboard/air/dashboard-air-tile.component.html
+++ b/src/main/angular/src/app/pages/dashboard/air/dashboard-air-tile.component.html
@@ -1 +1 @@
-
+
diff --git a/src/main/angular/src/app/pages/dashboard/air/dashboard-air-tile.component.ts b/src/main/angular/src/app/pages/dashboard/air/dashboard-air-tile.component.ts
index d67387a..0615e7e 100644
--- a/src/main/angular/src/app/pages/dashboard/air/dashboard-air-tile.component.ts
+++ b/src/main/angular/src/app/pages/dashboard/air/dashboard-air-tile.component.ts
@@ -1,4 +1,4 @@
-import {Component} from '@angular/core';
+import {Component, Input} from '@angular/core';
import {ValuesTileComponent} from "../../../shared/values-tile/values-tile.component";
import {Display, DisplayOrSeparator} from "../../../api/series/IValue";
import {SeriesService} from "../../../api/series/series.service";
@@ -14,6 +14,9 @@ import {SeriesService} from "../../../api/series/series.service";
})
export class DashboardAirTileComponent {
+ @Input()
+ now!: Date;
+
constructor(
protected readonly seriesService: SeriesService,
) {
diff --git a/src/main/angular/src/app/pages/dashboard/dashboard.component.html b/src/main/angular/src/app/pages/dashboard/dashboard.component.html
index ddf96d1..2337774 100644
--- a/src/main/angular/src/app/pages/dashboard/dashboard.component.html
+++ b/src/main/angular/src/app/pages/dashboard/dashboard.component.html
@@ -1,7 +1,7 @@
diff --git a/src/main/angular/src/app/pages/dashboard/dashboard.component.ts b/src/main/angular/src/app/pages/dashboard/dashboard.component.ts
index 59b1031..5595350 100644
--- a/src/main/angular/src/app/pages/dashboard/dashboard.component.ts
+++ b/src/main/angular/src/app/pages/dashboard/dashboard.component.ts
@@ -1,8 +1,11 @@
-import {Component} from '@angular/core';
+import {Component, OnDestroy, OnInit} from '@angular/core';
import {JsonPipe, NgForOf} from "@angular/common";
import {ValuesTileComponent} from "../../shared/values-tile/values-tile.component";
import {DashboardElectricityTileComponent} from "./electricity/dashboard-electricity-tile.component";
import {DashboardAirTileComponent} from "./air/dashboard-air-tile.component";
+import {Subscription, timer} from "rxjs";
+
+const UPDATE_INTERVAL_MILLIS = 1000;
@Component({
selector: 'app-dashboard',
@@ -17,6 +20,18 @@ import {DashboardAirTileComponent} from "./air/dashboard-air-tile.component";
templateUrl: './dashboard.component.html',
styleUrl: './dashboard.component.less'
})
-export class DashboardComponent {
+export class DashboardComponent implements OnInit, OnDestroy {
+
+ protected now: Date = new Date();
+
+ private timer?: Subscription;
+
+ ngOnInit(): void {
+ this.timer = timer(0, UPDATE_INTERVAL_MILLIS).subscribe(() => this.now = new Date());
+ }
+
+ ngOnDestroy(): void {
+ this.timer?.unsubscribe();
+ }
}
diff --git a/src/main/angular/src/app/pages/dashboard/electricity/dashboard-electricity-tile.component.html b/src/main/angular/src/app/pages/dashboard/electricity/dashboard-electricity-tile.component.html
index c9aea84..639bd9c 100644
--- a/src/main/angular/src/app/pages/dashboard/electricity/dashboard-electricity-tile.component.html
+++ b/src/main/angular/src/app/pages/dashboard/electricity/dashboard-electricity-tile.component.html
@@ -1 +1 @@
-
+
diff --git a/src/main/angular/src/app/pages/dashboard/electricity/dashboard-electricity-tile.component.ts b/src/main/angular/src/app/pages/dashboard/electricity/dashboard-electricity-tile.component.ts
index 21d1ef9..df2e146 100644
--- a/src/main/angular/src/app/pages/dashboard/electricity/dashboard-electricity-tile.component.ts
+++ b/src/main/angular/src/app/pages/dashboard/electricity/dashboard-electricity-tile.component.ts
@@ -1,4 +1,4 @@
-import {Component} from '@angular/core';
+import {Component, Input} from '@angular/core';
import {ValuesTileComponent} from "../../../shared/values-tile/values-tile.component";
import {Display, DisplayOrSeparator} from "../../../api/series/IValue";
import {Value} from "../../../api/series/Value";
@@ -19,6 +19,9 @@ const PRODUCED_UNTIL_METER_CHANGE = 287.995;
})
export class DashboardElectricityTileComponent {
+ @Input()
+ now!: Date;
+
constructor(
protected readonly seriesService: SeriesService,
) {
diff --git a/src/main/angular/src/app/shared/values-tile/values-tile.component.ts b/src/main/angular/src/app/shared/values-tile/values-tile.component.ts
index 1ecc515..5c952dd 100644
--- a/src/main/angular/src/app/shared/values-tile/values-tile.component.ts
+++ b/src/main/angular/src/app/shared/values-tile/values-tile.component.ts
@@ -1,11 +1,8 @@
-import {Component, Input, OnDestroy, OnInit} from '@angular/core';
+import {Component, Input} from '@angular/core';
import {Series} from "../../api/series/Series";
import {DecimalPipe, NgForOf, NgIf} from "@angular/common";
-import {Subscription, timer} from "rxjs";
import {DisplayOrSeparator} from "../../api/series/IValue";
-const UPDATE_INTERVAL_MILLIS = 5000;
-
const TOO_OLD_MILLIS = 10000;
@Component({
@@ -19,14 +16,21 @@ const TOO_OLD_MILLIS = 10000;
templateUrl: './values-tile.component.html',
styleUrl: './values-tile.component.less'
})
-export class ValuesTileComponent implements OnInit, OnDestroy {
-
- private now: Date = new Date();
-
- private timer?: Subscription;
+export class ValuesTileComponent {
protected valid: boolean = false;
+ protected _now: Date = new Date();
+
+ @Input()
+ set now(now: Date) {
+ this._now = now;
+ }
+
+ get now(): Date {
+ return this._now;
+ }
+
@Input()
title: string = '';
@@ -93,16 +97,7 @@ export class ValuesTileComponent implements OnInit, OnDestroy {
return '';
}
- ngOnInit(): void {
- this.timer = timer(0, UPDATE_INTERVAL_MILLIS).subscribe(() => this.displayUpdate());
- }
-
- ngOnDestroy(): void {
- this.timer?.unsubscribe();
- }
-
private displayUpdate() {
- this.now = new Date();
this.valid = this.displayList.some(d => !!d && !!d.iValue && !!d.iValue.date && (this.now.getTime() - d.iValue.date.getTime()) <= TOO_OLD_MILLIS)
}