|
|
|
@ -62,6 +62,7 @@ export class AlarmDataSubscription { |
|
|
|
private alarmDataCommand: AlarmDataCmd; |
|
|
|
|
|
|
|
private pageData: PageData<AlarmData>; |
|
|
|
private prematureUpdates: Array<Array<AlarmData>>; |
|
|
|
private alarmIdToDataIndex: {[id: string]: number}; |
|
|
|
|
|
|
|
private subsTw: SubscriptionTimewindow; |
|
|
|
@ -136,8 +137,21 @@ export class AlarmDataSubscription { |
|
|
|
this.subscriber.alarmData$.subscribe((alarmDataUpdate) => { |
|
|
|
if (alarmDataUpdate.data) { |
|
|
|
this.onPageData(alarmDataUpdate.data, alarmDataUpdate.allowedEntities, alarmDataUpdate.totalEntities); |
|
|
|
if (this.prematureUpdates) { |
|
|
|
for (const update of this.prematureUpdates) { |
|
|
|
this.onDataUpdate(update); |
|
|
|
} |
|
|
|
this.prematureUpdates = null; |
|
|
|
} |
|
|
|
} else if (alarmDataUpdate.update) { |
|
|
|
this.onDataUpdate(alarmDataUpdate.update); |
|
|
|
if (!this.pageData) { |
|
|
|
if (!this.prematureUpdates) { |
|
|
|
this.prematureUpdates = []; |
|
|
|
} |
|
|
|
this.prematureUpdates.push(alarmDataUpdate.update); |
|
|
|
} else { |
|
|
|
this.onDataUpdate(alarmDataUpdate.update); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
|