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; 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', 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; } } }