aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/+signup/+register/custom-stepper.component.ts
blob: 5a80895f9a81b99aa0f7d845735c04c33a68bc00 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import { Component } from '@angular/core'
import { CdkStep, CdkStepper } from '@angular/cdk/stepper'

@Component({
  selector: 'my-custom-stepper',
  templateUrl: './custom-stepper.component.html',
  styleUrls: [ './custom-stepper.component.scss' ],
  providers: [ { provide: CdkStepper, useExisting: CustomStepperComponent } ]
})
export class CustomStepperComponent extends CdkStepper {

  onClick (index: number): void {
    this.selectedIndex = index
  }

  isCompleted (step: CdkStep) {
    return step.stepControl && step.stepControl.dirty && step.stepControl.valid
  }

  isAccessible (index: number) {
    const stepsCompletedMap = this.steps.map(step => this.isCompleted(step))
    return index === 0
      ? true
      : stepsCompletedMap[ index - 1 ]
  }
}