Files
Cerberus/cerberus/src/app/applications/create-application/create-application.component.ts
2021-08-07 10:39:04 +02:00

56 lines
2.0 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { Application } from 'src/app/core/entities/Application';
import { ReferentialData } from 'src/app/core/entities/ReferentialData';
import { ApplicationService } from 'src/app/core/services/application.service';
import { ModalService } from 'src/app/core/services/modal.service';
import { ReferentialDataService } from 'src/app/core/services/referential-data.service';
@Component({
selector: 'app-create-application',
templateUrl: './create-application.component.html',
styleUrls: ['./create-application.component.scss']
})
export class CreateApplicationComponent implements OnInit {
form: FormGroup = this._formBuilder.group({
name: [undefined, Validators.required],
serviceName: [undefined, Validators.required],
serviceType: [undefined, Validators.required],
image: [undefined, Validators.required]
});
serviceTypes: ReferentialData[] = [];
constructor(
private _formBuilder: FormBuilder,
private _referentialDataService: ReferentialDataService,
private _applicationService: ApplicationService,
private _modalService: ModalService
) { }
ngOnInit(): void {
this._referentialDataService.getServiceTypes()
.then(serviceTypes => this.serviceTypes = serviceTypes)
.catch(error => console.error('An error occured while loading service types.'));
}
onSubmit(): void {
if (this.form.valid) {
const appToAdd: Application = this.form.value as Application;
this._applicationService.add(appToAdd)
.then(applicationAdded => console.log('Application added.'))
.catch(error => console.error('An error occured while adding the new application.'));
} else {
console.error('Form is invalid');
}
}
onCancel(): void {
this._modalService.close();
}
onServiceTypeSelection(event: ReferentialData): void {
this.form.controls.serviceType.setValue(event.value);
console.log(event.value);
}
}