argos/dmp-frontend/src/app/ui/dataset-create-wizard/dataset-create-wizard.compo...

65 lines
2.0 KiB
TypeScript
Raw Normal View History

import { Component, OnInit, ViewChild } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { MatStepper } from '@angular/material';
import { Router } from '@angular/router';
import { BaseComponent } from '../../core/common/base/base.component';
import { QuickWizardService } from '../../core/services/quick-wizard/quick-wizard.service';
import { DatasetCreateWizardModel } from './dataset-create-wizard.model';
import { IBreadCrumbComponent } from '../misc/breadcrumb/definition/IBreadCrumbComponent';
import { Observable } from 'rxjs';
import { BreadcrumbItem } from '../misc/breadcrumb/definition/breadcrumb-item';
@Component({
selector: 'dataset-create-wizard.component',
templateUrl: 'dataset-create-wizard.component.html',
styleUrls: ['./dataset-create-wizard.component.scss'],
})
export class DatasetCreateWizard extends BaseComponent implements OnInit, IBreadCrumbComponent {
breadCrumbs: Observable<BreadcrumbItem[]>;
isLinear = false;
formGroup: FormGroup;
datasetCreateWizardModel: DatasetCreateWizardModel;
@ViewChild('stepper') stepper: MatStepper;
constructor(
private router: Router,
private formBuilder: FormBuilder,
public quickWizardService: QuickWizardService,
) {
super();
}
ngOnInit() {
this.datasetCreateWizardModel = new DatasetCreateWizardModel();
this.formGroup = this.datasetCreateWizardModel.buildForm();
this.breadCrumbs = Observable.of([
{
parentComponentName: 'Dashboard',
2019-03-14 16:44:40 +01:00
label: 'Dataset description wizard',
url: '/datasetcreatewizard'
}]
);
}
save() {
this.submit();
}
submit() {
this.quickWizardService.createQuickDatasetWizard(this.formGroup.value)
.subscribe(data => {
this.router.navigateByUrl('/home');
})
}
isActive(step: string): boolean {
switch (step) {
case 'step1':
return this.stepper.selectedIndex==0;
case 'step2':
return this.stepper.selectedIndex==1;
}
}
}