X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=dashboard%2Fwebapp-frontend%2Fsrc%2Fapp%2Fpolicy-control%2Fpolicy-instance-dialog.component.ts;h=d69400d0d63d1867d213796d8e00a50a711ff2c8;hb=268acb16ac1b127220fbfd1ecb8b34e940e19a4b;hp=0f483d481c756bce37d12bf7a0510308a92f78db;hpb=3b1e23945b9426ad7aaacfc3794e15286d82c816;p=nonrtric.git diff --git a/dashboard/webapp-frontend/src/app/policy-control/policy-instance-dialog.component.ts b/dashboard/webapp-frontend/src/app/policy-control/policy-instance-dialog.component.ts index 0f483d48..d69400d0 100644 --- a/dashboard/webapp-frontend/src/app/policy-control/policy-instance-dialog.component.ts +++ b/dashboard/webapp-frontend/src/app/policy-control/policy-instance-dialog.component.ts @@ -17,20 +17,18 @@ * limitations under the License. * ========================LICENSE_END=================================== */ -import { Component, OnInit, ViewChild, Inject, AfterViewInit, Self } from '@angular/core'; +import { animate, state, style, transition, trigger } from '@angular/animations'; +import { AfterViewInit, Component, Inject, OnInit, ViewChild } from '@angular/core'; +import { MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { MatMenuTrigger } from '@angular/material/menu'; -import { MatDialog, MatDialogConfig } from '@angular/material/dialog'; -import { trigger, state, style, animate, transition } from '@angular/animations'; -import * as uuid from 'uuid'; - import { JsonPointer } from 'angular6-json-schema-form'; +import * as uuid from 'uuid'; +import { PolicyInstance, PolicyType } 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 { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; -import { PolicyType } from '../interfaces/policy.types'; -import { PolicyInstance } from '../interfaces/policy.types'; @Component({ selector: 'rd-policy-instance-dialog', @@ -81,24 +79,31 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit { public policyInstanceId: string; public policyTypeName: string; + darkMode: boolean; private policyTypeId: number; + constructor( private dataService: PolicyService, private errorService: ErrorDialogService, private notificationService: NotificationService, @Inject(MAT_DIALOG_DATA) private data, - private dialogRef: MatDialogRef) { + private dialogRef: MatDialogRef, + private ui: UiService) { this.formActive = false; - this.policyInstanceId = this.data.instanceId; - this.policyTypeName = this.data.name; - this.policyTypeId = this.data.policyTypeId; - this.parseJson(data.createSchema, data.instanceJson); + this.policyInstanceId = data.instanceId; + this.policyTypeName = data.name; + this.policyTypeId = data.policyTypeId; + this.jsonSchemaObject = data.createSchema; + this.jsonObject = this.parseJson(data.instanceJson); } ngOnInit() { this.jsonFormStatusMessage = 'Init'; this.formActive = true; + this.ui.darkModeState.subscribe((isDark) => { + this.darkMode = isDark; + }); } ngAfterViewInit() { @@ -126,8 +131,8 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit { this.dialogRef.close(); } - public onChanges(data: any) { - this.liveFormData = data; + public onChanges(formData: any) { + this.liveFormData = formData; } get prettyLiveFormData() { @@ -146,8 +151,8 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit { this.formIsValid = isValid; } - validationErrors(data: any): void { - this.formValidationErrors = data; + validationErrors(validationErrors: any): void { + this.formValidationErrors = validationErrors; } get prettyValidationErrors() { @@ -170,18 +175,17 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit { return errorArray.join('
'); } - private parseJson(createSchema: string, instanceJson: string): void { + private parseJson(str: string): string { try { - this.jsonSchemaObject = JSON.parse(createSchema); - if (this.data.instanceJson != null) { - this.jsonObject = JSON.parse(instanceJson); + if (str != null) { + return JSON.parse(str); } } catch (jsonError) { this.jsonFormStatusMessage = 'Invalid JSON\n' + 'parser returned:\n\n' + jsonError; - return; } + return null; } public toggleVisible(item: string) { @@ -189,19 +193,19 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit { } } -export function getPolicyDialogProperties(policyType: PolicyType, instance: PolicyInstance): MatDialogConfig { +export function getPolicyDialogProperties(policyType: PolicyType, instance: PolicyInstance, darkMode: boolean): MatDialogConfig { const policyTypeId = policyType.policy_type_id; - const createSchema = policyType.create_schema; + const createSchema = policyType.schemaObject; const instanceId = instance ? instance.instanceId : null; const instanceJson = instance ? instance.instance : null; const name = policyType.name; - return { maxWidth: '1200px', - height: '1200px', + maxHeight: '900px', width: '900px', role: 'dialog', disableClose: false, + panelClass: darkMode ? 'dark-theme' : '', data: { policyTypeId, createSchema,