X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-frontend%2Fsrc%2Fapp%2Fpolicy%2Fpolicy-control.component.ts;h=de3f57879109119c6e27e74a534c7626823b9939;hb=41a57e4d75761207f2da883d0e4396c81159e58e;hp=01c38b6d8c9697b7c3085ed38786e28cb9b3b8f3;hpb=c43690c45b3f4d08d013ec488b83dea793cca646;p=portal%2Fnonrtric-controlpanel.git diff --git a/webapp-frontend/src/app/policy/policy-control.component.ts b/webapp-frontend/src/app/policy/policy-control.component.ts index 01c38b6..de3f578 100644 --- a/webapp-frontend/src/app/policy/policy-control.component.ts +++ b/webapp-frontend/src/app/policy/policy-control.component.ts @@ -23,12 +23,13 @@ import { MatDialog } from '@angular/material/dialog'; import { BehaviorSubject, Observable } from 'rxjs'; -import { NoTypePolicyInstanceDialogComponent } from './no-type-policy-instance-dialog/no-type-policy-instance-dialog.component'; -import { PolicyTypeSchema } from '../interfaces/policy.types'; +import { PolicyTypes, PolicyTypeSchema } from '@interfaces/policy.types'; import { PolicyTypeDataSource } from './policy-type/policy-type.datasource'; import { getPolicyDialogProperties } from './policy-instance-dialog/policy-instance-dialog.component'; import { PolicyInstanceDialogComponent } from './policy-instance-dialog/policy-instance-dialog.component'; -import { UiService } from '../services/ui/ui.service'; +import { UiService } from '@services/ui/ui.service'; +import { PolicyService } from '@services/policy/policy.service'; +import { PolicyTypeComponent } from './policy-type/policy-type.component'; class PolicyTypeInfo { constructor(public type: PolicyTypeSchema) { } @@ -52,11 +53,14 @@ class PolicyTypeInfo { export class PolicyControlComponent implements OnInit { policyTypeInfo = new Map(); + policyTypeIds: Array; + policyTypeComponent = new PolicyTypeComponent(this.policyTypesDataSource); darkMode: boolean; constructor( public policyTypesDataSource: PolicyTypeDataSource, private dialog: MatDialog, + private policyService: PolicyService, private ui: UiService) { } ngOnInit() { @@ -64,21 +68,8 @@ export class PolicyControlComponent implements OnInit { this.ui.darkModeState.subscribe((isDark) => { this.darkMode = isDark; }); - } - - createPolicyInstance(policyTypeSchema: PolicyTypeSchema): void { - let dialogRef; - if (this.isSchemaEmpty(policyTypeSchema)) { - dialogRef = this.dialog.open(NoTypePolicyInstanceDialogComponent, - getPolicyDialogProperties(policyTypeSchema, null, this.darkMode)); - } else { - dialogRef = this.dialog.open(PolicyInstanceDialogComponent, - getPolicyDialogProperties(policyTypeSchema, null, this.darkMode)); - } - const info: PolicyTypeInfo = this.getPolicyTypeInfo(policyTypeSchema); - dialogRef.afterClosed().subscribe( - (_) => { - info.isExpanded.next(info.isExpanded.getValue()); + this.policyService.getPolicyTypes().subscribe((policyType: PolicyTypes) => { + this.policyTypeIds = policyType.policytype_ids; } ); } @@ -88,10 +79,6 @@ export class PolicyControlComponent implements OnInit { info.isExpanded.next(!info.isExpanded.getValue()); } - private isSchemaEmpty(policyTypeSchema: PolicyTypeSchema): boolean { - return policyTypeSchema.schemaObject === '{}'; - } - getPolicyTypeInfo(policyTypeSchema: PolicyTypeSchema): PolicyTypeInfo { let info: PolicyTypeInfo = this.policyTypeInfo.get(policyTypeSchema.name); if (!info) { @@ -108,15 +95,12 @@ export class PolicyControlComponent implements OnInit { return '< No type >'; } - isInstancesShown(policyTypeSchema: PolicyTypeSchema): boolean { - return this.getPolicyTypeInfo(policyTypeSchema).isExpanded.getValue(); - } - getExpandedObserver(policyTypeSchema: PolicyTypeSchema): Observable { return this.getPolicyTypeInfo(policyTypeSchema).isExpanded.asObservable(); } refreshTables() { this.policyTypesDataSource.getPolicyTypes(); + this.policyTypeComponent.setIsVisible(false); } }