import { Component, Inject, OnInit } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog'; import { takeUntil } from 'rxjs/operators'; import { BaseComponent } from '../../../../../../core/common/base/base.component'; import { ExternalDataRepositoryService } from '../../../../../../core/services/external-sources/data-repository/extternal-data-repository.service'; import { ExternalDataRepositoryEditorModel } from '../../../dataset-wizard-editor.model'; @Component({ templateUrl: 'dataset-external-data-repository-dialog-editor.component.html', styleUrls: ['./dataset-external-data-repository-dialog-editor.component.scss'] }) export class DatasetExternalDataRepositoryDialogEditorComponent extends BaseComponent implements OnInit { public formGroup: FormGroup; constructor( private externalDataRepositoryService: ExternalDataRepositoryService, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any ) { super(); } ngOnInit(): void { const datarepo = new ExternalDataRepositoryEditorModel(); this.formGroup = datarepo.buildForm(); } send(value: any) { this.externalDataRepositoryService.create(this.formGroup.value) .pipe(takeUntil(this._destroyed)) .subscribe( (item) => this.dialogRef.close(item) ); } }