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(date-picker): trigger validation on min/max date change #1138

Merged
merged 6 commits into from
Jan 21, 2024
Merged

fix(date-picker): trigger validation on min/max date change #1138

merged 6 commits into from
Jan 21, 2024

Conversation

venkateshr06
Copy link
Contributor

@venkateshr06 venkateshr06 commented Jan 18, 2024

PR Checklist

Please check if your PR fulfills the following requirements:

  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)
  • If applicable, have a visual design approval

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • Other... Please describe:

What is the current behavior?

Issue Number: #816 CDE-1584

What is the new behavior?

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

Copy link
Contributor

github-actions bot commented Jan 18, 2024

👋 @venkateshr06,

  • 🙏 The Clarity team thanks you for opening a pull request
  • 🎉 The build for this PR has succeeded
  • 🔍 The PR is now ready for review
  • 🍿 In the meantime, view a preview of this PR
  • 🖐 You can always follow up here. If you're a VMware employee, you can also reach us on our internal #clarity-support Slack channel

Thank you,

🤖 Clarity Release Bot

@dtsanevmw dtsanevmw changed the title fix(date picker): fix date picker min/max date change is not triggering validation fix(date-picker): trigger validation on min/max date change Jan 18, 2024
Comment on lines 305 to 312
private retriggerValidation() {
if (this.datepickerHasFormControl() && !this.usingNativeDatepicker()) {
this.control?.control?.updateValueAndValidity({ onlySelf: true, emitEvent: false }); // Added onlySelf, emitEvent purposefully inorder to prevent unnecessary valuechange triggers
if (this.control.control && this.control.control.touched) {
this.control.control.setErrors(this.control.control.errors); // Inorder to revalidate and apply validation errors(if any) only when form control is touched.
}
}
}
Copy link
Contributor

@dtsanevmw dtsanevmw Jan 18, 2024

Choose a reason for hiding this comment

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

Suggested change
private retriggerValidation() {
if (this.datepickerHasFormControl() && !this.usingNativeDatepicker()) {
this.control?.control?.updateValueAndValidity({ onlySelf: true, emitEvent: false }); // Added onlySelf, emitEvent purposefully inorder to prevent unnecessary valuechange triggers
if (this.control.control && this.control.control.touched) {
this.control.control.setErrors(this.control.control.errors); // Inorder to revalidate and apply validation errors(if any) only when form control is touched.
}
}
}
private triggerControlValidation() {
if (this.datepickerHasFormControl()) {
this.control.control?.updateValueAndValidity({ onlySelf: true, emitEvent: false });
this.control.control?.setErrors(this.control.control.errors); // Trigger status changes to update the control without triggering value changes.
}
}
  • Put the function where the first private functions start (around row 185, you should receive an error for order probably from the lint)
  • usingNativeDatepicker is not needed as validation would happen always when clrDate is used on the input.
  • I renamed it to triggerControlValidation because there is another function called triggerValidation which is for internal control state service.

Copy link
Contributor Author

@venkateshr06 venkateshr06 Jan 19, 2024

Choose a reason for hiding this comment

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

Updated as per project structure!

Copy link
Contributor

@dtsanevmw dtsanevmw left a comment

Choose a reason for hiding this comment

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

Thanks! Just some comments around fitting it into project code structure

Copy link
Contributor

@dtsanevmw dtsanevmw left a comment

Choose a reason for hiding this comment

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

LGTM!

@venkateshr06 venkateshr06 merged commit 497bac5 into vmware-clarity:main Jan 21, 2024
4 checks passed
venkateshr06 added a commit to venkateshr06/ng-clarity that referenced this pull request Jan 22, 2024
…larity#1138)

## PR Checklist

Please check if your PR fulfills the following requirements:

- [ ] Tests for the changes have been added (for bug fixes / features)
- [ ] Docs have been added / updated (for bug fixes / features)
- [ ] If applicable, have a visual design approval

## PR Type

What kind of change does this PR introduce?

<!-- Please check the one that applies to this PR using "x". -->

- [x] Bugfix
- [ ] Feature
- [ ] Code style update (formatting, local variables)
- [ ] Refactoring (no functional changes, no api changes)
- [ ] Build related changes
- [ ] CI related changes
- [ ] Documentation content changes
- [ ] Other... Please describe:

## What is the current behavior?

<!-- Please describe the current behavior that you are modifying, or
link to a relevant issue. -->

Issue Number: vmware-clarity#816  CDE-1584

## What is the new behavior?

## Does this PR introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this PR contains a breaking change, please describe the impact
and migration path for existing applications below. -->

## Other information

---------

Co-authored-by: Venkatesh Rajendran <[email protected]>
venkateshr06 added a commit to venkateshr06/ng-clarity that referenced this pull request Jan 22, 2024
…larity#1138)

## PR Checklist

Please check if your PR fulfills the following requirements:

- [ ] Tests for the changes have been added (for bug fixes / features)
- [ ] Docs have been added / updated (for bug fixes / features)
- [ ] If applicable, have a visual design approval

## PR Type

What kind of change does this PR introduce?

<!-- Please check the one that applies to this PR using "x". -->

- [x] Bugfix
- [ ] Feature
- [ ] Code style update (formatting, local variables)
- [ ] Refactoring (no functional changes, no api changes)
- [ ] Build related changes
- [ ] CI related changes
- [ ] Documentation content changes
- [ ] Other... Please describe:

## What is the current behavior?

<!-- Please describe the current behavior that you are modifying, or
link to a relevant issue. -->

Issue Number: vmware-clarity#816  CDE-1584

## What is the new behavior?

## Does this PR introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this PR contains a breaking change, please describe the impact
and migration path for existing applications below. -->

## Other information

---------

Co-authored-by: Venkatesh Rajendran <[email protected]>
venkateshr06 added a commit that referenced this pull request Jan 22, 2024
venkateshr06 added a commit that referenced this pull request Jan 22, 2024
Copy link
Contributor

🎉 This PR is included in version 16.3.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Copy link
Contributor

github-actions bot commented Feb 9, 2024

Hi there 👋, this is an automated message. To help Clarity keep track of discussions, we automatically lock closed PRs after 14 days. Please look for another open issue or open a new issue with updated details and reference this one as necessary.

@github-actions github-actions bot locked and limited conversation to collaborators Feb 9, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants