UI: Fixed updated Alarm widget in change entity state parameters
This commit is contained in:
parent
a99a8e458c
commit
39c2e3c39d
@ -52,6 +52,7 @@ export interface AlarmDataSubscriptionOptions {
|
||||
|
||||
export class AlarmDataSubscription {
|
||||
|
||||
private alarmDataSubscriptionOptions = this.listener.alarmDataSubscriptionOptions;
|
||||
private datasourceType: DatasourceType = this.alarmDataSubscriptionOptions.datasourceType;
|
||||
|
||||
private history: boolean;
|
||||
@ -65,8 +66,7 @@ export class AlarmDataSubscription {
|
||||
|
||||
private subsTw: SubscriptionTimewindow;
|
||||
|
||||
constructor(public alarmDataSubscriptionOptions: AlarmDataSubscriptionOptions,
|
||||
private listener: AlarmDataListener,
|
||||
constructor(private listener: AlarmDataListener,
|
||||
private telemetryService: TelemetryService) {
|
||||
}
|
||||
|
||||
|
||||
@ -32,6 +32,7 @@ export interface AlarmDataListener {
|
||||
alarmSource: Datasource;
|
||||
alarmsLoaded: (pageData: PageData<AlarmData>, allowedEntities: number, totalEntities: number) => void;
|
||||
alarmsUpdated: (update: Array<AlarmData>, pageData: PageData<AlarmData>) => void;
|
||||
alarmDataSubscriptionOptions?: AlarmDataSubscriptionOptions;
|
||||
subscription?: AlarmDataSubscription;
|
||||
}
|
||||
|
||||
@ -47,11 +48,11 @@ export class AlarmDataService {
|
||||
pageLink: AlarmDataPageLink,
|
||||
keyFilters: KeyFilter[]) {
|
||||
const alarmSource = listener.alarmSource;
|
||||
listener.alarmDataSubscriptionOptions = this.createAlarmSubscriptionOptions(listener, pageLink, keyFilters);
|
||||
if (alarmSource.type === DatasourceType.entity && (!alarmSource.entityFilter || !pageLink)) {
|
||||
return;
|
||||
}
|
||||
listener.subscription = this.createSubscription(listener,
|
||||
pageLink, alarmSource.keyFilters, keyFilters);
|
||||
listener.subscription = new AlarmDataSubscription(listener, this.telemetryService);
|
||||
return listener.subscription.subscribe();
|
||||
}
|
||||
|
||||
@ -61,10 +62,9 @@ export class AlarmDataService {
|
||||
}
|
||||
}
|
||||
|
||||
private createSubscription(listener: AlarmDataListener,
|
||||
pageLink: AlarmDataPageLink,
|
||||
keyFilters: KeyFilter[],
|
||||
additionalKeyFilters: KeyFilter[]): AlarmDataSubscription {
|
||||
private createAlarmSubscriptionOptions(listener: AlarmDataListener,
|
||||
pageLink: AlarmDataPageLink,
|
||||
additionalKeyFilters: KeyFilter[]): AlarmDataSubscriptionOptions {
|
||||
const alarmSource = listener.alarmSource;
|
||||
const alarmSubscriptionDataKeys: Array<AlarmSubscriptionDataKey> = [];
|
||||
alarmSource.dataKeys.forEach((dataKey) => {
|
||||
@ -82,11 +82,10 @@ export class AlarmDataService {
|
||||
if (alarmDataSubscriptionOptions.datasourceType === DatasourceType.entity) {
|
||||
alarmDataSubscriptionOptions.entityFilter = alarmSource.entityFilter;
|
||||
alarmDataSubscriptionOptions.pageLink = pageLink;
|
||||
alarmDataSubscriptionOptions.keyFilters = keyFilters;
|
||||
alarmDataSubscriptionOptions.keyFilters = alarmSource.keyFilters;
|
||||
alarmDataSubscriptionOptions.additionalKeyFilters = additionalKeyFilters;
|
||||
}
|
||||
return new AlarmDataSubscription(alarmDataSubscriptionOptions,
|
||||
listener, this.telemetryService);
|
||||
return alarmDataSubscriptionOptions;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -960,8 +960,8 @@ export class WidgetSubscription implements IWidgetSubscription {
|
||||
|
||||
private updateAlarmDataSubscription() {
|
||||
if (this.alarmDataListener) {
|
||||
const pageLink = this.alarmDataListener.subscription.alarmDataSubscriptionOptions.pageLink;
|
||||
const keyFilters = this.alarmDataListener.subscription.alarmDataSubscriptionOptions.additionalKeyFilters;
|
||||
const pageLink = this.alarmDataListener.alarmDataSubscriptionOptions.pageLink;
|
||||
const keyFilters = this.alarmDataListener.alarmDataSubscriptionOptions.additionalKeyFilters;
|
||||
this.subscribeForAlarms(pageLink, keyFilters);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user