Move Enrichment Job Logic from backend
[portal/nonrtric-controlpanel.git] / webapp-frontend / src / app / policy-control / no-type-policy-instance-dialog.component.ts
index d7671a3..66dcfb7 100644 (file)
@@ -26,6 +26,7 @@ import { UiService } from '../services/ui/ui.service';
 import { HttpErrorResponse } from '@angular/common/http';
 import { ErrorDialogService } from '../services/ui/error-dialog.service';
 import * as uuid from 'uuid';
+import { Ric } from '../interfaces/ric';
 
 @Component({
   selector: 'rd-no-type-policy-instance-dialog',
@@ -39,7 +40,7 @@ export class NoTypePolicyInstanceDialogComponent implements OnInit {
   policyJson: string;
   darkMode: boolean;
   ric: string;
-  allRics: string[];
+  allRics: Ric[];
 
   constructor(
     private policySvc: PolicyService,
@@ -48,7 +49,7 @@ export class NoTypePolicyInstanceDialogComponent implements OnInit {
     @Inject(MAT_DIALOG_DATA) private data,
     private ui: UiService) {
     this.policyInstanceId = data.instanceId;
-    this.policyJson = data.instanceJson ? JSON.stringify(JSON.parse(data.instanceJson), null, 2) : '';
+    this.policyJson = data.instanceJson ? this.formatJsonString(data.instanceJson) : '';
     this.ric = data.ric;
   }
 
@@ -76,7 +77,7 @@ export class NoTypePolicyInstanceDialogComponent implements OnInit {
 
   onSubmit() {
     if (this.policyInstanceId == null) {
-        this.policyInstanceId = uuid.v4();
+      this.policyInstanceId = uuid.v4();
     }
     const self: NoTypePolicyInstanceDialogComponent = this;
     this.policySvc.putPolicy('', this.policyInstanceId, this.policyJsonTextArea.value, this.ric).subscribe(
@@ -95,7 +96,7 @@ export class NoTypePolicyInstanceDialogComponent implements OnInit {
     const self: NoTypePolicyInstanceDialogComponent = this;
     this.policySvc.getRics('').subscribe(
       {
-        next(value) {
+        next(value:Ric[]) {
           self.allRics = value;
           console.log(value);
         },
@@ -105,6 +106,14 @@ export class NoTypePolicyInstanceDialogComponent implements OnInit {
         complete() { }
       });
   }
+
+  private formatJsonString(jsonToFormat: any) {
+    return JSON.stringify(jsonToFormat, null, 2);
+  }
+
+  formatJsonInput() {
+    this.policyJson = this.formatJsonString(JSON.parse(this.policyJsonTextArea.value));
+  }
 }
 
 export function jsonValidator(): ValidatorFn {