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({
],
})
export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit {
+ instanceForm: FormGroup;
+
formActive = false;
isVisible = {
this.ui.darkModeState.subscribe((isDark) => {
this.darkMode = isDark;
});
+ this.instanceForm = new FormGroup({
+ 'ricSelector': new FormControl(this.ric, [
+ Validators.required
+ ])
+ });
if (!this.policyInstanceId) {
this.fetchRics();
}
- if (this.isSchemaEmpty()) {
- // Empty schema, hide form, show json instead
- this.isVisible.form = false;
- this.isVisible.json = true;
- }
}
ngAfterViewInit() {
}
- private isSchemaEmpty(): boolean {
- return Object.keys(this.jsonSchemaObject).length === 0;
- }
-
onSubmit() {
if (this.policyInstanceId == null) {
this.policyInstanceId = uuid.v4();
const self: PolicyInstanceDialogComponent = this;
this.dataService.putPolicy(this.policyTypeName, this.policyInstanceId, policyJson, this.ric).subscribe(
{
- next(value) {
- self.notificationService.success('Policy ' + self.policyTypeName + ':' + self.policyInstanceId + ' submitted');
+ next(_) {
+ self.notificationService.success('Policy ' + self.policyTypeName + ':' + self.policyInstanceId +
+ ' submitted');
},
error(error: HttpErrorResponse) {
self.errorService.displayError('Submit failed: ' + error.error);
}
get prettyLiveFormData(): string {
- if (this.isSchemaEmpty()) {
- return this.jsonAsString;
- }
return JSON.stringify(this.liveFormData, null, 2);
}