adopted-ember-addons / adopted-ember-addons/ember-changeset-validations

Button attribute not updating using classic components syntax

Open
#295 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
215
Forks
98
PR merge metrics
No merged PRs in 30d

Description

## Version

3.14.0

## Test Case

https://ember-twiddle.com/32cb49c696b4b7ca2736b1e3a8c98599?openFiles=components.my-component%5C.js%2Ctemplates.components.my-component%5C.hbs

## Steps to reproduce

Hey. Use the twiddle above, and press the Toggle email value button. This button sets the email field, which is being validated, to either some value, or empty .. we are validating for presence.

## Expected Behavior

All buttons should be disabled. When email value is set, buttons should be enabled.

## Actual Behavior

When using the classic component syntax, with the latest version of changeset, I saw that the button's disabled attribute was not being updated. This happens only when using `changeset.isInvalid` directly, without any additional helpers. Notice the button with `this` works, however, I've never used this inside one of my components (classic syntax), so I'm not even sure why that works.

I'm on my way of upgrading an Ember project to Octane, and I figured I should upgrade to the latest version of Ember (3.24 actually), before beginning the migration to Glimmer Components. So I had to update `ember-changeset` , however, I found this bug.

Do you guys have any suggestions? Why is this happening? Should I use an `if` helper, until I migrate the component to native class syntax, Octane, all that good stuff?
Also, how come printing `change.isInvalid` directly in the template works, but as a button attribute, it does not?
Thanks!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.