import { getPolicyDialogProperties } from './policy-instance-dialog.component';
import { HttpErrorResponse, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs';
+import { UiService } from '../services/ui/ui.service';
@Component({
selector: 'rd-policy-instance',
@Input() policyType: PolicyType;
@Input() expanded: Observable<boolean>;
@ViewChild(MatSort, { static: true }) sort: MatSort;
+ darkMode: boolean;
constructor(
private policySvc: PolicyService,
private dialog: MatDialog,
private errorDialogService: ErrorDialogService,
private notificationService: NotificationService,
- private confirmDialogService: ConfirmDialogService) {
+ private confirmDialogService: ConfirmDialogService,
+ private ui: UiService) {
}
-
+
ngOnInit() {
this.instanceDataSource = new PolicyInstanceDataSource(this.policySvc, this.sort, this.notificationService, this.policyType);
this.expanded.subscribe((isExpanded: boolean) => this.onExpand(isExpanded));
+ this.ui.darkModeState.subscribe((isDark) => {
+ this.darkMode = isDark;
+ });
}
-
+
ngAfterViewInit() {
this.instanceDataSource.sort = this.sort;
}
}
modifyInstance(instance: PolicyInstance): void {
- this.policySvc.getPolicy(this.policyType.policy_type_id, instance.instanceId).subscribe(
+ this.policySvc.getPolicy(this.policyType.name, instance.id).subscribe(
(refreshedJson: any) => {
- instance.instance = JSON.stringify(refreshedJson);
- this.dialog.open(PolicyInstanceDialogComponent, getPolicyDialogProperties(this.policyType, instance));
+ instance.json = JSON.stringify(refreshedJson);
+ this.dialog.open(PolicyInstanceDialogComponent, getPolicyDialogProperties(this.policyType, instance, this.darkMode));
},
(httpError: HttpErrorResponse) => {
this.notificationService.error('Could not refresh instance ' + httpError.message);
- this.dialog.open(PolicyInstanceDialogComponent, getPolicyDialogProperties(this.policyType, instance));
+ this.dialog.open(PolicyInstanceDialogComponent, getPolicyDialogProperties(this.policyType, instance, this.darkMode));
}
);
}
return this.instanceDataSource.rowCount > 0;
}
+ toLocalTime(utcTime: string): string {
+ const date = new Date(utcTime);
+ const toutc = date.toUTCString();
+ return new Date(toutc + " UTC").toLocaleString();
+
+ }
+
deleteInstance(instance: PolicyInstance): void {
this.confirmDialogService
.openConfirmDialog('Are you sure you want to delete this policy instance?')
.afterClosed().subscribe(
(res: any) => {
if (res) {
- this.policySvc.deletePolicy(this.policyType.policy_type_id, instance.instanceId)
+ this.policySvc.deletePolicy(this.policyType.name, instance.id)
.subscribe(
(response: HttpResponse<Object>) => {
switch (response.status) {
}
});
}
+
+
+
}