argos/dmp-frontend/src/app/shared/components/add-researchers/add-researchers.component.ts

41 lines
1.2 KiB
TypeScript
Raw Normal View History

2018-11-27 18:33:17 +01:00
import { Component, Inject, OnInit } from '@angular/core';
2018-05-28 11:50:42 +02:00
import { FormGroup } from '@angular/forms';
2018-11-27 18:33:17 +01:00
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
import { ActivatedRoute, Router } from '@angular/router';
import { takeUntil } from 'rxjs/operators';
import { BaseComponent } from '../../../core/common/base/base.component';
2018-05-28 11:50:42 +02:00
import { ResearcherModel } from '../../../models/researcher/ResearcherModel';
import { ResearcherService } from '../../../services/researchers/researchers.service';
@Component({
2018-10-05 17:00:54 +02:00
selector: 'app-add-researchers-component',
templateUrl: 'add-researchers.component.html',
2018-05-28 11:50:42 +02:00
})
2018-11-27 18:33:17 +01:00
export class AddResearchersComponent extends BaseComponent implements OnInit {
2018-05-28 11:50:42 +02:00
2018-10-05 17:00:54 +02:00
public formGroup: FormGroup;
2018-05-28 11:50:42 +02:00
2018-10-05 17:00:54 +02:00
constructor(
private researcherService: ResearcherService,
private route: ActivatedRoute,
public router: Router,
public dialogRef: MatDialogRef<AddResearchersComponent>,
@Inject(MAT_DIALOG_DATA) public data: any
2018-11-27 18:33:17 +01:00
) { super(); }
2018-05-28 11:50:42 +02:00
2018-10-05 17:00:54 +02:00
ngOnInit(): void {
const researcher = new ResearcherModel();
this.formGroup = researcher.buildForm();
}
2018-05-28 11:50:42 +02:00
2018-10-05 17:00:54 +02:00
send(value: any) {
2018-11-27 18:33:17 +01:00
this.researcherService.createResearcher(this.formGroup.value)
.pipe(takeUntil(this._destroyed))
.subscribe(
null, null, () => this.dialogRef.close()
);
2018-10-05 17:00:54 +02:00
}
2018-05-28 11:50:42 +02:00
}