* ========================LICENSE_END===================================
*/
-import { MatSort } from '@angular/material';
+import { MatSort } from '@angular/material/sort';
import { Component, OnInit, ViewChild, Input, AfterViewInit } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
-import { PolicyType } from '../interfaces/policy.types';
+import { PolicyTypeSchema } from '../interfaces/policy.types';
import { PolicyInstanceDataSource } from './policy-instance.datasource';
import { ErrorDialogService } from '../services/ui/error-dialog.service';
import { NotificationService } from '../services/ui/notification.service';
import { UiService } from '../services/ui/ui.service';
@Component({
- selector: 'rd-policy-instance',
+ selector: 'nrcp-policy-instance',
templateUrl: './policy-instance.component.html',
styleUrls: ['./policy-instance.component.scss']
})
export class PolicyInstanceComponent implements OnInit, AfterViewInit {
instanceDataSource: PolicyInstanceDataSource;
- @Input() policyType: PolicyType;
+ @Input() policyTypeSchema: PolicyTypeSchema;
@Input() expanded: Observable<boolean>;
@ViewChild(MatSort, { static: true }) sort: MatSort;
darkMode: boolean;
}
ngOnInit() {
- this.instanceDataSource = new PolicyInstanceDataSource(this.policySvc, this.sort, this.notificationService, this.policyType);
+ this.instanceDataSource = new PolicyInstanceDataSource(this.policySvc, this.sort, this.notificationService, this.policyTypeSchema);
this.expanded.subscribe((isExpanded: boolean) => this.onExpand(isExpanded));
this.ui.darkModeState.subscribe((isDark) => {
this.darkMode = isDark;
private onExpand(isExpanded: boolean) {
if (isExpanded) {
- this.instanceDataSource.loadTable();
+ this.instanceDataSource.getPolicyInstances();
}
}
private isSchemaEmpty(): boolean {
- return Object.keys(this.policyType.schemaObject).length === 0;
+ return this.policyTypeSchema.schemaObject === '{}';
}
modifyInstance(instance: PolicyInstance): void {
- this.policySvc.getPolicy(this.policyType.name, instance.id).subscribe(
+ this.policySvc.getPolicyInstance(instance.policy_id).subscribe(
(refreshedJson: any) => {
- instance.json = JSON.stringify(refreshedJson);
+ instance = refreshedJson;
if (this.isSchemaEmpty()) {
this.dialog.open(
NoTypePolicyInstanceDialogComponent,
- getPolicyDialogProperties(this.policyType, instance, this.darkMode)).afterClosed().subscribe(
- (_: any) => {
- this.instanceDataSource.loadTable();
- }
+ getPolicyDialogProperties(this.policyTypeSchema, instance, this.darkMode)).afterClosed().subscribe(
+ (_: any) => {
+ this.instanceDataSource.getPolicyInstances();
+ }
);
} else {
this.dialog.open(
PolicyInstanceDialogComponent,
- getPolicyDialogProperties(this.policyType, instance, this.darkMode)).afterClosed().subscribe(
- (_: any) => {
- this.instanceDataSource.loadTable();
- }
+ getPolicyDialogProperties(this.policyTypeSchema, instance, this.darkMode)).afterClosed().subscribe(
+ (_: any) => {
+ this.instanceDataSource.getPolicyInstances();
+ }
);
}
.afterClosed().subscribe(
(res: any) => {
if (res) {
- this.policySvc.deletePolicy(this.policyType.name, instance.id)
+ this.policySvc.deletePolicy(instance.policy_id)
.subscribe(
(response: HttpResponse<Object>) => {
switch (response.status) {
- case 200:
+ case 204:
this.notificationService.success('Delete succeeded!');
- this.instanceDataSource.loadTable();
+ this.instanceDataSource.getPolicyInstances();
break;
default:
this.notificationService.warn('Delete failed ' + response.status + ' ' + response.body);
}
});
}
-
-
-
}