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=f1629e0cc8056a2fef6fc1ff9d92de78475327d4;hb=c491ddd364164e8b7db6ccb502087383bb4be789;hp=4b9d85ae5cea0785313a1e864bb4f9b4f5d19e8f;hpb=5372422520d7cfb5760a536cce0da7b15f012eda;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 4b9d85a..f1629e0 100644 --- a/webapp-frontend/src/app/policy-control/policy-control.component.ts +++ b/webapp-frontend/src/app/policy-control/policy-control.component.ts @@ -19,10 +19,8 @@ */ import { Component, OnInit, ViewChild } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; -import { MatSort } from '@angular/material/sort'; import { animate, state, style, transition, trigger } from '@angular/animations'; -import { PolicyService } from '../services/policy/policy.service'; import { PolicyType } from '../interfaces/policy.types'; import { PolicyTypeDataSource } from './policy-type.datasource'; import { getPolicyDialogProperties } from './policy-instance-dialog.component'; @@ -30,6 +28,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) { } @@ -52,21 +51,16 @@ class PolicyTypeInfo { }) export class PolicyControlComponent implements OnInit { - - policyTypesDataSource: PolicyTypeDataSource; - @ViewChild(MatSort, { static: true }) sort: MatSort; - policyTypeInfo = new Map(); darkMode: boolean; constructor( - private policySvc: PolicyService, + private policyTypesDataSource: PolicyTypeDataSource, private dialog: MatDialog, private notificationService: NotificationService, private ui: UiService) { } ngOnInit() { - this.policyTypesDataSource = new PolicyTypeDataSource(this.policySvc, this.sort, this.notificationService); this.policyTypesDataSource.loadTable(); this.ui.darkModeState.subscribe((isDark) => { this.darkMode = isDark; @@ -74,10 +68,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()); } ); @@ -115,4 +116,8 @@ export class PolicyControlComponent implements OnInit { getExpandedObserver(policyType: PolicyType): Observable { return this.getPolicyTypeInfo(policyType).isExpanded.asObservable(); } + + refreshTables() { + this.policyTypesDataSource.loadTable(); + } }