aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/+signup/+register/custom-stepper.component.ts
blob: 3b7ba40e8ae6ce9af57c7ca8bdde2f6325ffd042 (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 { CdkStep, CdkStepper } from '@angular/cdk/stepper'
import { Component } from '@angular/core'

@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?.dirty && step.stepControl.valid
  }

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