import { Component, Inject, OnInit, ViewEncapsulation } from '@angular/core'; import { FormGroup } from '@angular/forms'; 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'; import { DataRepositoryModel } from '../../../models/dataRepositories/DataRepositoryModel'; import { DataRepositoryService } from '../../../services/datarepository/datarepository.service'; @Component({ selector: 'app-datarepository-referenced-model-helper', templateUrl: 'datarepository-referenced-model-helper.component.html', styleUrls: ['./datarepository-referenced-model-helper.component.scss'], encapsulation: ViewEncapsulation.None }) export class DataRepositoryReferencedModelHelperComponent extends BaseComponent implements OnInit { public formGroup: FormGroup; constructor( private dataRepositoryService: DataRepositoryService, private route: ActivatedRoute, public router: Router, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any ) { super(); } ngOnInit(): void { const datarepo = new DataRepositoryModel(); this.formGroup = datarepo.buildForm(); } send(value: any) { this.dataRepositoryService.create(this.formGroup.value) .pipe(takeUntil(this._destroyed)) .subscribe( (item) => this.dialogRef.close(item) ); } }