X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-frontend%2Fsrc%2Fapp%2Fpolicy-control%2Fpolicy-control.component.ts;h=c287438777615fdff60b04eea0b13cc6312ec1f6;hb=243803fec15c196b4a230ab76671acbcd98d5713;hp=cd8d94802a8a21c0bbc132560597c1294342ca03;hpb=f507d92d55ee77fad16cc024ea95c869e0d5dc32;p=portal%2Fnonrtric-controlpanel.git diff --git a/webapp-frontend/src/app/policy-control/policy-control.component.ts b/webapp-frontend/src/app/policy-control/policy-control.component.ts index cd8d948..c287438 100644 --- a/webapp-frontend/src/app/policy-control/policy-control.component.ts +++ b/webapp-frontend/src/app/policy-control/policy-control.component.ts @@ -30,6 +30,7 @@ import { PolicyInstanceDialogComponent } from './policy-instance-dialog.componen import { NotificationService } from '../services/ui/notification.service'; import { BehaviorSubject, Observable } from 'rxjs'; import { UiService } from '../services/ui/ui.service'; +import { NoTypePolicyInstanceDialogComponent } from './no-type-policy-instance-dialog.component'; class PolicyTypeInfo { constructor(public type: PolicyType) { } @@ -74,10 +75,17 @@ export class PolicyControlComponent implements OnInit { } createPolicyInstance(policyType: PolicyType): void { - const dialogRef = this.dialog.open(PolicyInstanceDialogComponent, getPolicyDialogProperties(policyType, null, this.darkMode)); + let dialogRef; + if (this.isSchemaEmpty(policyType)) { + dialogRef = this.dialog.open(NoTypePolicyInstanceDialogComponent, + getPolicyDialogProperties(policyType, null, this.darkMode)); + } else { + dialogRef = this.dialog.open(PolicyInstanceDialogComponent, + getPolicyDialogProperties(policyType, null, this.darkMode)); + } const info: PolicyTypeInfo = this.getPolicyTypeInfo(policyType); dialogRef.afterClosed().subscribe( - (result: any) => { + (_) => { info.isExpanded.next(info.isExpanded.getValue()); } ); @@ -88,6 +96,10 @@ export class PolicyControlComponent implements OnInit { info.isExpanded.next(!info.isExpanded.getValue()); } + private isSchemaEmpty(policyType: PolicyType): boolean { + return Object.keys(policyType.schemaObject).length === 0; + } + getPolicyTypeInfo(policyType: PolicyType): PolicyTypeInfo { let info: PolicyTypeInfo = this.policyTypeInfo.get(policyType.name); if (!info) { @@ -97,9 +109,11 @@ export class PolicyControlComponent implements OnInit { return info; } - getName(policyType: PolicyType): string { - if (policyType.schemaObject.title) { return policyType.schemaObject.title; } - return policyType.name; + getDisplayName(policyType: PolicyType): string { + if (policyType.schemaObject.title) { + return policyType.schemaObject.title; + } + return '< No type >'; } isInstancesShown(policyType: PolicyType): boolean { @@ -109,4 +123,8 @@ export class PolicyControlComponent implements OnInit { getExpandedObserver(policyType: PolicyType): Observable { return this.getPolicyTypeInfo(policyType).isExpanded.asObservable(); } + + refresh() { + location.reload(); + } }