diff --git a/src/main/angular/src/app/pages/device/list/device-list.component.ts b/src/main/angular/src/app/pages/device/list/device-list.component.ts
index e098dd8..ab3e7fe 100644
--- a/src/main/angular/src/app/pages/device/list/device-list.component.ts
+++ b/src/main/angular/src/app/pages/device/list/device-list.component.ts
@@ -5,6 +5,7 @@ import {Device, DeviceShutter, DeviceStateScene, DeviceSwitch} from "../../../ap
import {faEdit} from '@fortawesome/free-regular-svg-icons';
import {Scene} from "../../../api/scene/Scene";
import {SceneService} from "../../../api/scene/scene.service";
+import {ActivatedRoute} from "@angular/router";
@Component({
selector: 'app-device-list',
@@ -19,30 +20,34 @@ export class DeviceListComponent implements OnInit {
devices: Device[] = [];
- scenes: Scene[] = [];
+ typeFilter: string;
- createType: string = "DeviceSwitch";
+ scenes: Scene[] = [];
constructor(
readonly deviceService: DeviceService,
readonly sceneService: SceneService,
readonly propertyService: PropertyService,
+ readonly activatedRoute: ActivatedRoute,
) {
// nothing
}
ngOnInit(): void {
- this.propertyService.subscribe(update => this.devices.forEach(d => d.updateProperty(update.payload)));
+ this.activatedRoute.params.subscribe(params => {
+ this.typeFilter = params['type'];
+ this.propertyService.subscribe(update => this.devices.forEach(d => d.updateProperty(update.payload)));
- this.deviceService.subscribe(update => this.updateDevice(update.payload, update.existing));
- this.deviceService.findAll(devices => this.devices = devices);
+ this.deviceService.subscribe(update => this.updateDevice(update.payload, update.existing));
+ this.deviceService.findAll(devices => this.devices = devices.filter(d => !this.typeFilter || this.typeFilter == d.type).sort(Device.compareTitle));
- this.sceneService.subscribe(update => this.updateScene(update.payload, update.existing));
- this.sceneService.findAll(scenes => this.scenes = scenes);
+ this.sceneService.subscribe(update => this.updateScene(update.payload, update.existing));
+ this.sceneService.findAll(scenes => this.scenes = scenes);
+ });
}
create(): void {
- this.deviceService.create(this.createType, device => this.updateDevice(device, true));
+ this.deviceService.create(this.typeFilter, device => this.updateDevice(device, true));
}
private updateDevice(device: Device, existing: boolean): void {
@@ -101,4 +106,8 @@ export class DeviceListComponent implements OnInit {
return device.sceneNumbers.map(sceneNumber => this.scenes.find(scene => scene.number === sceneNumber)).filter(scene => scene !== undefined).map(s => s as Scene);
}
+ set(device: Device, key: string, value: any): void {
+ this.deviceService.set(device, key, value);
+ }
+
}
diff --git a/src/main/angular/src/environments/environment.ts b/src/main/angular/src/environments/environment.ts
index eb18ddd..5e41d22 100644
--- a/src/main/angular/src/environments/environment.ts
+++ b/src/main/angular/src/environments/environment.ts
@@ -4,7 +4,7 @@
import {getBaseUrl} from "./UrlHelper";
-const PROD: boolean = false;
+const PROD: boolean = true;
export const environment = {
production: false,