You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
argos/dmp-frontend/src/app/dataset-profile-form/previewer/dataset-profile-previewer.c...

39 lines
1.6 KiB
TypeScript

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<DatasetProfilePreviewerComponent>,
@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 = <FormGroup>this.datasetWizardModel.buildForm().get('datasetProfileDefinition');
});
}
}