56 lines
2.0 KiB
TypeScript
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);
|
|
}
|
|
}
|