UI: Improvement alarm details dialog
This commit is contained in:
parent
a2422dab00
commit
d05712d3e2
@ -35,7 +35,8 @@ import { DatePipe } from '@angular/common';
|
|||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
export interface AlarmDetailsDialogData {
|
export interface AlarmDetailsDialogData {
|
||||||
alarmId: string;
|
alarmId?: string;
|
||||||
|
alarm?: AlarmInfo;
|
||||||
allowAcknowledgment: boolean;
|
allowAcknowledgment: boolean;
|
||||||
allowClear: boolean;
|
allowClear: boolean;
|
||||||
displayDetails: boolean;
|
displayDetails: boolean;
|
||||||
@ -48,6 +49,7 @@ export interface AlarmDetailsDialogData {
|
|||||||
})
|
})
|
||||||
export class AlarmDetailsDialogComponent extends DialogComponent<AlarmDetailsDialogComponent, boolean> implements OnInit {
|
export class AlarmDetailsDialogComponent extends DialogComponent<AlarmDetailsDialogComponent, boolean> implements OnInit {
|
||||||
|
|
||||||
|
alarmId: string;
|
||||||
alarmFormGroup: FormGroup;
|
alarmFormGroup: FormGroup;
|
||||||
|
|
||||||
allowAcknowledgment: boolean;
|
allowAcknowledgment: boolean;
|
||||||
@ -93,12 +95,17 @@ export class AlarmDetailsDialogComponent extends DialogComponent<AlarmDetailsDia
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
this.loadAlarm();
|
if (!this.data.alarm) {
|
||||||
|
this.alarmId = this.data.alarmId;
|
||||||
|
this.loadAlarm();
|
||||||
|
} else {
|
||||||
|
this.alarmId = this.data.alarm?.id?.id;
|
||||||
|
this.loadAlarmSubject.next(this.data.alarm);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
loadAlarm() {
|
loadAlarm() {
|
||||||
this.alarmService.getAlarmInfo(this.data.alarmId).subscribe(
|
this.alarmService.getAlarmInfo(this.alarmId).subscribe(
|
||||||
alarm => this.loadAlarmSubject.next(alarm)
|
alarm => this.loadAlarmSubject.next(alarm)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -140,15 +147,25 @@ export class AlarmDetailsDialogComponent extends DialogComponent<AlarmDetailsDia
|
|||||||
}
|
}
|
||||||
|
|
||||||
acknowledge(): void {
|
acknowledge(): void {
|
||||||
this.alarmService.ackAlarm(this.data.alarmId).subscribe(
|
if (this.alarmId) {
|
||||||
() => { this.alarmUpdated = true; this.loadAlarm(); }
|
this.alarmService.ackAlarm(this.alarmId).subscribe(
|
||||||
);
|
() => {
|
||||||
|
this.alarmUpdated = true;
|
||||||
|
this.loadAlarm();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
clear(): void {
|
clear(): void {
|
||||||
this.alarmService.clearAlarm(this.data.alarmId).subscribe(
|
if (this.alarmId) {
|
||||||
() => { this.alarmUpdated = true; this.loadAlarm(); }
|
this.alarmService.clearAlarm(this.alarmId).subscribe(
|
||||||
);
|
() => {
|
||||||
|
this.alarmUpdated = true;
|
||||||
|
this.loadAlarm();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -109,7 +109,7 @@ export class AlarmTableConfig extends EntityTableConfig<AlarmInfo, TimePageLink>
|
|||||||
{
|
{
|
||||||
name: this.translate.instant('alarm.details'),
|
name: this.translate.instant('alarm.details'),
|
||||||
icon: 'more_horiz',
|
icon: 'more_horiz',
|
||||||
isEnabled: (entity) => this.authUser.authority !== Authority.CUSTOMER_USER || entity.customerId.id === this.authUser.customerId,
|
isEnabled: () => true,
|
||||||
onAction: ($event, entity) => this.showAlarmDetails(entity)
|
onAction: ($event, entity) => this.showAlarmDetails(entity)
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@ -121,6 +121,7 @@ export class AlarmTableConfig extends EntityTableConfig<AlarmInfo, TimePageLink>
|
|||||||
}
|
}
|
||||||
|
|
||||||
showAlarmDetails(entity: AlarmInfo) {
|
showAlarmDetails(entity: AlarmInfo) {
|
||||||
|
const isPermissionWrite = this.authUser.authority !== Authority.CUSTOMER_USER || entity.customerId.id === this.authUser.customerId;
|
||||||
this.dialog.open<AlarmDetailsDialogComponent, AlarmDetailsDialogData, boolean>
|
this.dialog.open<AlarmDetailsDialogComponent, AlarmDetailsDialogData, boolean>
|
||||||
(AlarmDetailsDialogComponent,
|
(AlarmDetailsDialogComponent,
|
||||||
{
|
{
|
||||||
@ -128,8 +129,9 @@ export class AlarmTableConfig extends EntityTableConfig<AlarmInfo, TimePageLink>
|
|||||||
panelClass: ['tb-dialog', 'tb-fullscreen-dialog'],
|
panelClass: ['tb-dialog', 'tb-fullscreen-dialog'],
|
||||||
data: {
|
data: {
|
||||||
alarmId: entity.id.id,
|
alarmId: entity.id.id,
|
||||||
allowAcknowledgment: true,
|
alarm: entity,
|
||||||
allowClear: true,
|
allowAcknowledgment: isPermissionWrite,
|
||||||
|
allowClear: isPermissionWrite,
|
||||||
displayDetails: true
|
displayDetails: true
|
||||||
}
|
}
|
||||||
}).afterClosed().subscribe(
|
}).afterClosed().subscribe(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user