]>
Commit | Line | Data |
---|---|---|
1d5342ab C |
1 | import { Component } from '@angular/core' |
2 | import { CdkStep, CdkStepper } from '@angular/cdk/stepper' | |
3 | ||
4 | @Component({ | |
5 | selector: 'my-custom-stepper', | |
6 | templateUrl: './custom-stepper.component.html', | |
7 | styleUrls: [ './custom-stepper.component.scss' ], | |
8 | providers: [ { provide: CdkStepper, useExisting: CustomStepperComponent } ] | |
9 | }) | |
10 | export class CustomStepperComponent extends CdkStepper { | |
11 | ||
12 | onClick (index: number): void { | |
13 | this.selectedIndex = index | |
14 | } | |
15 | ||
16 | isCompleted (step: CdkStep) { | |
17 | return step.stepControl && step.stepControl.dirty && step.stepControl.valid | |
18 | } | |
40360c17 K |
19 | |
20 | isAccessible (index: number) { | |
21 | const stepsCompletedMap = this.steps.map(step => this.isCompleted(step)) | |
22 | return index === 0 | |
23 | ? true | |
24 | : stepsCompletedMap[ index - 1 ] | |
25 | } | |
1d5342ab | 26 | } |