diff --git a/src/main/angular/src/app/app.html b/src/main/angular/src/app/app.html
index a385b55..fd6fdf9 100644
--- a/src/main/angular/src/app/app.html
+++ b/src/main/angular/src/app/app.html
@@ -6,12 +6,15 @@
@for (location of locationList; track location.id) {
-
{{ location.name }}
+
{{ location.name }}
}
diff --git a/src/main/angular/src/app/app.less b/src/main/angular/src/app/app.less
index 1c76b0b..d12de75 100644
--- a/src/main/angular/src/app/app.less
+++ b/src/main/angular/src/app/app.less
@@ -21,6 +21,14 @@
background-color: lightskyblue;
}
+ .MainMenuTitle {
+ flex: 1;
+ }
+
+ .MainMenuNotConnected {
+ color: red;
+ }
+
}
}
diff --git a/src/main/angular/src/app/app.ts b/src/main/angular/src/app/app.ts
index 0fc25cb..5636f9a 100644
--- a/src/main/angular/src/app/app.ts
+++ b/src/main/angular/src/app/app.ts
@@ -1,14 +1,15 @@
import {Component, OnDestroy, OnInit} from '@angular/core';
-import {RouterLink, RouterLinkActive, RouterOutlet} from '@angular/router';
+import {Router, RouterLinkActive, RouterOutlet} from '@angular/router';
import {FaIconComponent} from '@fortawesome/angular-fontawesome';
import {faBars} from '@fortawesome/free-solid-svg-icons';
import {MenuService} from './menu-service';
import {Location} from './location/Location';
import {LocationService} from './location/location-service';
+import {WebsocketService} from './common';
@Component({
selector: 'app-root',
- imports: [RouterOutlet, FaIconComponent, RouterLink, RouterLinkActive],
+ imports: [RouterOutlet, FaIconComponent, RouterLinkActive],
templateUrl: './app.html',
styleUrl: './app.less'
})
@@ -23,6 +24,8 @@ export class App implements OnInit, OnDestroy {
constructor(
readonly locationService: LocationService,
readonly menuService: MenuService,
+ readonly router: Router,
+ readonly ws: WebsocketService,
) {
//
}
@@ -36,4 +39,10 @@ export class App implements OnInit, OnDestroy {
this.menuService.title = "";
}
+ navigate(url: string): void {
+ this.router.navigateByUrl('/', {skipLocationChange: true}).then(() => {
+ this.router.navigate([url]);
+ })
+ }
+
}
diff --git a/src/main/angular/src/app/common.ts b/src/main/angular/src/app/common.ts
index 090cc16..a6b5172 100644
--- a/src/main/angular/src/app/common.ts
+++ b/src/main/angular/src/app/common.ts
@@ -71,24 +71,28 @@ export function stompServiceFactory() {
providedIn: 'root'
})
export class WebsocketService {
+
+ private _connected: boolean = false;
+
+ get connected(): boolean {
+ return this._connected;
+ }
+
constructor(
readonly stompService: StompService,
) {
- this.websocketConnected(() => this._websocketError = false);
- this.websocketDisconnected(() => this._websocketError = true);
+ this.onChange(connected => this._connected = connected);
}
- private _websocketError: boolean = false;
-
- get websocketError(): boolean {
- return this._websocketError;
+ onChange(next: Next