X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-frontend%2Fsrc%2Fapp%2Fpolicy-control%2Fpolicy-instance-dialog.component.ts;h=319efaa30b18885c96a46648c97e6371dbea2bc6;hb=095fb8c5c7ef690bc6f4317338f0716a8b7c6cb9;hp=8ab798e72e2962929ddc50b251cd72cb1578c51f;hpb=f3153ee6f2ea63afda276c7c3abab9ee4004820b;p=portal%2Fnonrtric-controlpanel.git diff --git a/webapp-frontend/src/app/policy-control/policy-instance-dialog.component.ts b/webapp-frontend/src/app/policy-control/policy-instance-dialog.component.ts index 8ab798e..319efaa 100644 --- a/webapp-frontend/src/app/policy-control/policy-instance-dialog.component.ts +++ b/webapp-frontend/src/app/policy-control/policy-instance-dialog.component.ts @@ -23,12 +23,13 @@ import { MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/materia import { MatMenuTrigger } from '@angular/material/menu'; import { JsonPointer } from 'angular6-json-schema-form'; import * as uuid from 'uuid'; -import { PolicyInstance, PolicyType } from '../interfaces/policy.types'; +import { PolicyInstance, PolicyTypeSchema } from '../interfaces/policy.types'; import { PolicyService } from '../services/policy/policy.service'; import { ErrorDialogService } from '../services/ui/error-dialog.service'; import { NotificationService } from './../services/ui/notification.service'; import { UiService } from '../services/ui/ui.service'; import { HttpErrorResponse } from '@angular/common/http'; +import { FormGroup, FormControl, Validators } from '@angular/forms'; @Component({ @@ -49,6 +50,8 @@ import { HttpErrorResponse } from '@angular/common/http'; ], }) export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit { + instanceForm: FormGroup; + formActive = false; isVisible = { @@ -120,6 +123,11 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit { this.ui.darkModeState.subscribe((isDark) => { this.darkMode = isDark; }); + this.instanceForm = new FormGroup({ + 'ricSelector': new FormControl(this.ric, [ + Validators.required + ]) + }); if (!this.policyInstanceId) { this.fetchRics(); } @@ -128,6 +136,8 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit { ngAfterViewInit() { } + get ricSelector() { return this.instanceForm.get('ricSelector'); } + onSubmit() { if (this.policyInstanceId == null) { this.policyInstanceId = uuid.v4(); @@ -155,15 +165,15 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit { this.liveFormData = formData; } - get prettyLiveFormData() { + get prettyLiveFormData(): string { return JSON.stringify(this.liveFormData, null, 2); } - get schemaAsString() { + get schemaAsString(): string { return JSON.stringify(this.jsonSchemaObject, null, 2); } - get jsonAsString() { + get jsonAsString(): string { return JSON.stringify(this.jsonObject, null, 2); } @@ -213,12 +223,12 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit { } } -export function getPolicyDialogProperties(policyType: PolicyType, instance: PolicyInstance, darkMode: boolean): MatDialogConfig { - const createSchema = policyType.schemaObject; - const instanceId = instance ? instance.id : null; - const instanceJson = instance ? instance.json : null; - const name = policyType.name; - const ric = instance ? instance.ric : null; +export function getPolicyDialogProperties(policyTypeSchema: PolicyTypeSchema, instance: PolicyInstance, darkMode: boolean): MatDialogConfig { + const createSchema = policyTypeSchema.schemaObject; + const instanceId = instance ? instance.policy_id : null; + const instanceJson = instance ? instance.policy_data : null; + const name = policyTypeSchema.name; + const ric = instance ? instance.ric_id : null; return { maxWidth: '1200px', maxHeight: '900px',