UI: Notify about alarm data overflow. Fix Audit log created time

This commit is contained in:
Igor Kulikov 2020-07-10 18:04:48 +03:00
parent c4390e896a
commit bdd8b17bf0
7 changed files with 28 additions and 14 deletions

View File

@ -298,7 +298,7 @@ public class AuditLogServiceImpl implements AuditLogService {
AuditLog result = new AuditLog();
UUID id = Uuids.timeBased();
result.setId(new AuditLogId(id));
result.setCreatedTime(id.timestamp());
result.setCreatedTime(Uuids.unixTimestamp(id));
result.setTenantId(tenantId);
result.setEntityId(entityId);
result.setEntityName(entityName);

View File

@ -136,7 +136,7 @@ export class AlarmDataSubscription {
this.subscriber.alarmData$.subscribe((alarmDataUpdate) => {
if (alarmDataUpdate.data) {
this.onPageData(alarmDataUpdate.data);
this.onPageData(alarmDataUpdate.data, alarmDataUpdate.allowedEntities, alarmDataUpdate.totalEntities);
} else if (alarmDataUpdate.update) {
this.onDataUpdate(alarmDataUpdate.update);
}
@ -151,7 +151,7 @@ export class AlarmDataSubscription {
totalElements: 1,
totalPages: 1
};
this.onPageData(pageData);
this.onPageData(pageData, 1024, 1);
}
}
@ -163,10 +163,10 @@ export class AlarmDataSubscription {
}
}
private onPageData(pageData: PageData<AlarmData>) {
private onPageData(pageData: PageData<AlarmData>, allowedEntities: number, totalEntities: number) {
this.pageData = pageData;
this.resetData();
this.listener.alarmsLoaded(pageData, this.alarmDataSubscriptionOptions.pageLink);
this.listener.alarmsLoaded(pageData, this.alarmDataSubscriptionOptions.pageLink, allowedEntities, totalEntities);
}
private onDataUpdate(update: Array<AlarmData>) {

View File

@ -31,7 +31,7 @@ import { deepClone } from '@core/utils';
export interface AlarmDataListener {
subscriptionTimewindow?: SubscriptionTimewindow;
alarmSource: Datasource;
alarmsLoaded: (pageData: PageData<AlarmData>, pageLink: AlarmDataPageLink) => void;
alarmsLoaded: (pageData: PageData<AlarmData>, pageLink: AlarmDataPageLink, allowedEntities: number, totalEntities: number) => void;
alarmsUpdated: (update: Array<AlarmData>, pageData: PageData<AlarmData>) => void;
subscription?: AlarmDataSubscription;
}

View File

@ -1272,8 +1272,16 @@ export class WidgetSubscription implements IWidgetSubscription {
}
}
private alarmsLoaded(alarms: PageData<AlarmData>) {
private alarmsLoaded(alarms: PageData<AlarmData>, allowedEntities: number, totalEntities: number) {
this.alarms = alarms;
if (totalEntities > allowedEntities) {
const message = this.ctx.translate.instant('widget.alarm-data-overflow',
{ allowedEntities, totalEntities });
this.onSubscriptionMessage({
severity: 'warn',
message
});
}
if (this.subscriptionTimewindow && this.subscriptionTimewindow.realtimeWindowMs) {
this.updateTimewindow();
}
@ -1281,7 +1289,7 @@ export class WidgetSubscription implements IWidgetSubscription {
}
private alarmsUpdated(_updated: Array<AlarmData>, alarms: PageData<AlarmData>) {
this.alarmsLoaded(alarms);
this.alarmsLoaded(alarms, 0, 0);
}
private updateLegend(dataIndex: number, data: DataSet, detectChanges: boolean) {

View File

@ -336,11 +336,9 @@ export class TelemetryWebsocketService implements TelemetryService {
}
private showWsError(errorCode: number, errorMsg: string) {
let message = 'WebSocket Error: ';
if (errorMsg) {
message += errorMsg;
} else {
message += `error code - ${errorCode}.`;
let message = errorMsg;
if (!message) {
message += `WebSocket Error: error code - ${errorCode}.`;
}
this.store.dispatch(new ActionNotificationShow(
{

View File

@ -284,6 +284,8 @@ export interface EntityDataUpdateMsg extends DataUpdateMsg<EntityData> {
export interface AlarmDataUpdateMsg extends DataUpdateMsg<AlarmData> {
dataUpdateType: DataUpdateType.ALARM_DATA;
allowedEntities: number;
totalEntities: number;
}
export type WebsocketDataMsg = AlarmDataUpdateMsg | EntityDataUpdateMsg | SubscriptionUpdateMsg;
@ -372,8 +374,13 @@ export class EntityDataUpdate extends DataUpdate<EntityData> {
}
export class AlarmDataUpdate extends DataUpdate<AlarmData> {
allowedEntities: number;
totalEntities: number;
constructor(msg: AlarmDataUpdateMsg) {
super(msg);
this.allowedEntities = msg.allowedEntities;
this.totalEntities = msg.totalEntities;
}
}

View File

@ -1806,7 +1806,8 @@
"undo": "Undo widget changes",
"export": "Export widget",
"no-data": "No data to display on widget",
"data-overflow": "Widget displays {{count}} out of {{total}} entities"
"data-overflow": "Widget displays {{count}} out of {{total}} entities",
"alarm-data-overflow": "Widget displays alarms for {{allowedEntities}} (maximum allowed) entities out of {{totalEntities}} entities"
},
"widget-action": {
"header-button": "Widget header button",