Commit 39c2e3c39dd11f2f4bd9cc41a0a72cf031f39d22

Authored by Vladyslav_Prykhodko
1 parent a99a8e45

UI: Fixed updated Alarm widget in change entity state parameters

@@ -52,6 +52,7 @@ export interface AlarmDataSubscriptionOptions { @@ -52,6 +52,7 @@ export interface AlarmDataSubscriptionOptions {
52 52
53 export class AlarmDataSubscription { 53 export class AlarmDataSubscription {
54 54
  55 + private alarmDataSubscriptionOptions = this.listener.alarmDataSubscriptionOptions;
55 private datasourceType: DatasourceType = this.alarmDataSubscriptionOptions.datasourceType; 56 private datasourceType: DatasourceType = this.alarmDataSubscriptionOptions.datasourceType;
56 57
57 private history: boolean; 58 private history: boolean;
@@ -65,8 +66,7 @@ export class AlarmDataSubscription { @@ -65,8 +66,7 @@ export class AlarmDataSubscription {
65 66
66 private subsTw: SubscriptionTimewindow; 67 private subsTw: SubscriptionTimewindow;
67 68
68 - constructor(public alarmDataSubscriptionOptions: AlarmDataSubscriptionOptions,  
69 - private listener: AlarmDataListener, 69 + constructor(private listener: AlarmDataListener,
70 private telemetryService: TelemetryService) { 70 private telemetryService: TelemetryService) {
71 } 71 }
72 72
@@ -32,6 +32,7 @@ export interface AlarmDataListener { @@ -32,6 +32,7 @@ export interface AlarmDataListener {
32 alarmSource: Datasource; 32 alarmSource: Datasource;
33 alarmsLoaded: (pageData: PageData<AlarmData>, allowedEntities: number, totalEntities: number) => void; 33 alarmsLoaded: (pageData: PageData<AlarmData>, allowedEntities: number, totalEntities: number) => void;
34 alarmsUpdated: (update: Array<AlarmData>, pageData: PageData<AlarmData>) => void; 34 alarmsUpdated: (update: Array<AlarmData>, pageData: PageData<AlarmData>) => void;
  35 + alarmDataSubscriptionOptions?: AlarmDataSubscriptionOptions;
35 subscription?: AlarmDataSubscription; 36 subscription?: AlarmDataSubscription;
36 } 37 }
37 38
@@ -47,11 +48,11 @@ export class AlarmDataService { @@ -47,11 +48,11 @@ export class AlarmDataService {
47 pageLink: AlarmDataPageLink, 48 pageLink: AlarmDataPageLink,
48 keyFilters: KeyFilter[]) { 49 keyFilters: KeyFilter[]) {
49 const alarmSource = listener.alarmSource; 50 const alarmSource = listener.alarmSource;
  51 + listener.alarmDataSubscriptionOptions = this.createAlarmSubscriptionOptions(listener, pageLink, keyFilters);
50 if (alarmSource.type === DatasourceType.entity && (!alarmSource.entityFilter || !pageLink)) { 52 if (alarmSource.type === DatasourceType.entity && (!alarmSource.entityFilter || !pageLink)) {
51 return; 53 return;
52 } 54 }
53 - listener.subscription = this.createSubscription(listener,  
54 - pageLink, alarmSource.keyFilters, keyFilters); 55 + listener.subscription = new AlarmDataSubscription(listener, this.telemetryService);
55 return listener.subscription.subscribe(); 56 return listener.subscription.subscribe();
56 } 57 }
57 58
@@ -61,10 +62,9 @@ export class AlarmDataService { @@ -61,10 +62,9 @@ export class AlarmDataService {
61 } 62 }
62 } 63 }
63 64
64 - private createSubscription(listener: AlarmDataListener,  
65 - pageLink: AlarmDataPageLink,  
66 - keyFilters: KeyFilter[],  
67 - additionalKeyFilters: KeyFilter[]): AlarmDataSubscription { 65 + private createAlarmSubscriptionOptions(listener: AlarmDataListener,
  66 + pageLink: AlarmDataPageLink,
  67 + additionalKeyFilters: KeyFilter[]): AlarmDataSubscriptionOptions {
68 const alarmSource = listener.alarmSource; 68 const alarmSource = listener.alarmSource;
69 const alarmSubscriptionDataKeys: Array<AlarmSubscriptionDataKey> = []; 69 const alarmSubscriptionDataKeys: Array<AlarmSubscriptionDataKey> = [];
70 alarmSource.dataKeys.forEach((dataKey) => { 70 alarmSource.dataKeys.forEach((dataKey) => {
@@ -82,11 +82,10 @@ export class AlarmDataService { @@ -82,11 +82,10 @@ export class AlarmDataService {
82 if (alarmDataSubscriptionOptions.datasourceType === DatasourceType.entity) { 82 if (alarmDataSubscriptionOptions.datasourceType === DatasourceType.entity) {
83 alarmDataSubscriptionOptions.entityFilter = alarmSource.entityFilter; 83 alarmDataSubscriptionOptions.entityFilter = alarmSource.entityFilter;
84 alarmDataSubscriptionOptions.pageLink = pageLink; 84 alarmDataSubscriptionOptions.pageLink = pageLink;
85 - alarmDataSubscriptionOptions.keyFilters = keyFilters; 85 + alarmDataSubscriptionOptions.keyFilters = alarmSource.keyFilters;
86 alarmDataSubscriptionOptions.additionalKeyFilters = additionalKeyFilters; 86 alarmDataSubscriptionOptions.additionalKeyFilters = additionalKeyFilters;
87 } 87 }
88 - return new AlarmDataSubscription(alarmDataSubscriptionOptions,  
89 - listener, this.telemetryService); 88 + return alarmDataSubscriptionOptions;
90 } 89 }
91 90
92 } 91 }
@@ -960,8 +960,8 @@ export class WidgetSubscription implements IWidgetSubscription { @@ -960,8 +960,8 @@ export class WidgetSubscription implements IWidgetSubscription {
960 960
961 private updateAlarmDataSubscription() { 961 private updateAlarmDataSubscription() {
962 if (this.alarmDataListener) { 962 if (this.alarmDataListener) {
963 - const pageLink = this.alarmDataListener.subscription.alarmDataSubscriptionOptions.pageLink;  
964 - const keyFilters = this.alarmDataListener.subscription.alarmDataSubscriptionOptions.additionalKeyFilters; 963 + const pageLink = this.alarmDataListener.alarmDataSubscriptionOptions.pageLink;
  964 + const keyFilters = this.alarmDataListener.alarmDataSubscriptionOptions.additionalKeyFilters;
965 this.subscribeForAlarms(pageLink, keyFilters); 965 this.subscribeForAlarms(pageLink, keyFilters);
966 } 966 }
967 } 967 }