CI: Migrate Sonar Scan job to GHA
[portal/nonrtric-controlpanel.git] / webapp-frontend / src / app / policy / policy-instance-dialog / policy-instance-dialog.component.ts
index f1ff68f..8750d42 100644 (file)
@@ -29,17 +29,15 @@ import {
   MatDialogRef,
   MAT_DIALOG_DATA,
 } from "@angular/material/dialog";
-import { PolicyService } from "../../services/policy/policy.service";
-import { NotificationService } from "../../services/ui/notification.service";
-import { UiService } from "../../services/ui/ui.service";
-import { HttpErrorResponse } from "@angular/common/http";
-import { ErrorDialogService } from "../../services/ui/error-dialog.service";
+import { PolicyService } from "@services/policy/policy.service";
+import { NotificationService } from "@services/ui/notification.service";
+import { UiService } from "@services/ui/ui.service";
 import * as uuid from "uuid";
 import {
   CreatePolicyInstance,
   PolicyInstance,
   PolicyTypeSchema,
-} from "../../interfaces/policy.types";
+} from "@interfaces/policy.types";
 
 @Component({
   selector: "nrcp-policy-instance-dialog",
@@ -57,13 +55,12 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit {
     private cdr: ChangeDetectorRef,
     public dialogRef: MatDialogRef<PolicyInstanceDialogComponent>,
     private policySvc: PolicyService,
-    private errorService: ErrorDialogService,
     private notificationService: NotificationService,
     @Inject(MAT_DIALOG_DATA) private data,
     private ui: UiService
   ) {
     this.policyInstance.policy_id = data.instanceId;
-    this.policyInstance.policytype_id = data.name;
+    this.policyInstance.policytype_id = data.name ? data.name : "";
     this.policyInstance.policy_data = data.instanceJson;
     this.policyJson = data.instanceJson;
     this.jsonSchemaObject = data.createSchema;
@@ -87,7 +84,7 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit {
   }
 
   onJsonChanged(newJson: string): void {
-    this.policyInstance.policy_data = newJson;
+    this.policyInstance.policy_data = newJson ? JSON.parse(newJson) : null;
   }
 
   onSubmit() {
@@ -100,17 +97,14 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit {
         self.notificationService.success(
           "Policy " + self.policyInstance.policy_id + " submitted"
         );
-        self.dialogRef.close();
-      },
-      error(error: HttpErrorResponse) {
-        self.errorService.displayError("Submit failed: " + error.error);
+        self.dialogRef.close("ok");
       },
       complete() {},
     });
   }
 
   typeHasSchema(): boolean {
-    return this.jsonSchemaObject !== "{}";
+    return this.jsonSchemaObject.description ? true : false;
   }
 
   isFormValid(): boolean {
@@ -131,7 +125,7 @@ export function getPolicyDialogProperties(
   const instanceJson = instance ? instance.policy_data : null;
   const name = policyTypeSchema.name;
   const ric = instance ? instance.ric_id : null;
-  return {
+  const data = {
     maxWidth: "1200px",
     maxHeight: "900px",
     width: "900px",
@@ -145,5 +139,6 @@ export function getPolicyDialogProperties(
       name,
       ric,
     },
-  };
+  } as MatDialogConfig;
+  return data;
 }