Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(stepper): block linear stepper for pending components #8646

Merged
merged 1 commit into from
Dec 1, 2017
Merged

fix(stepper): block linear stepper for pending components #8646

merged 1 commit into from
Dec 1, 2017

Conversation

olivierlemasle
Copy link
Contributor

@olivierlemasle olivierlemasle commented Nov 25, 2017

In a linear stepper, going to the next step should require that no components of the step are in invalid or pending states (i.e. all components are valid or disabled). Pending components (i.e. components with async validators pending) should block the step.

Fixes #8645

@googlebot googlebot added the cla: yes PR author has agreed to Google's Contributor License Agreement label Nov 25, 2017
const steps = this._steps.toArray();

steps[this._selectedIndex].interacted = true;

if (this._linear && index >= 0) {
return steps.slice(0, index).some(step => step.stepControl && step.stepControl.invalid);
return steps.slice(0, index).some(step =>
step.stepControl && (step.stepControl.invalid || step.stepControl.pending)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you add a unit test for a pending control?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mmalerba Sure. I've added unit tests and rebased the PR.

@mmalerba mmalerba added pr: lgtm action: merge The PR is ready for merge by the caretaker labels Nov 27, 2017
@mmalerba mmalerba added this to the 5.1 milestone Nov 27, 2017
Copy link
Contributor

@mmalerba mmalerba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks!

@tinayuangao tinayuangao merged commit 53c94c7 into angular:master Dec 1, 2017
@olivierlemasle olivierlemasle deleted the linear-stepper-no-pending branch December 1, 2017 19:39
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 7, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
action: merge The PR is ready for merge by the caretaker cla: yes PR author has agreed to Google's Contributor License Agreement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

In linear steppers, steps with pending components should not be considered completed
4 participants