import { Component, Inject, OnInit, ViewEncapsulation } from '@angular/core'; import { FormGroup } from '@angular/forms'; import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material'; import { takeUntil } from 'rxjs/operators'; import { BaseComponent } from '../../core/common/base/base.component'; import { DatasetProfileDefinitionModel } from '../../models/DatasetProfileDefinitionModel'; import { DatasetWizardModel } from '../../models/datasets/DatasetWizardModel'; import { DatasetProfileAdmin } from '../../services/datasetProfileAdmin/datasetProfileAfmin.service'; import { JsonSerializer } from '../../utilities/JsonSerializer'; @Component({ selector: 'app-dataset-profile-previewer', templateUrl: './dataset-profile-previewer.component.html', styleUrls: ['./dataset-profile-previewer.component.scss'], encapsulation: ViewEncapsulation.None }) export class DatasetProfilePreviewerComponent extends BaseComponent implements OnInit { formGroup: FormGroup; datasetWizardModel: DatasetWizardModel; constructor( private datasetProfileAdminService: DatasetProfileAdmin, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any ) { super(); } ngOnInit(): void { this.datasetProfileAdminService.preview(this.data['model']) .pipe(takeUntil(this._destroyed)) .subscribe(x => { this.datasetWizardModel = new DatasetWizardModel(); this.datasetWizardModel.datasetProfileDefinition = JsonSerializer.fromJSONObject(x, DatasetProfileDefinitionModel); this.formGroup = this.datasetWizardModel.buildForm().get('datasetProfileDefinition'); }); } }