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(combobox): fix error that occurs in dist-custom-elements (components) output when a click is emitted when the component is appended to the DOM #9423

Conversation

jcfranco
Copy link
Member

@jcfranco jcfranco commented May 24, 2024

Related Issue: #9321

Summary

This updates the combobox window-click listener to use an internal state property for its text instead of getting the value of the internal input.

The componentOnReady util helps normalize waiting for a component to be ready in both output targets (based on Ionic's helper). This is sufficient for most scenarios, but for this particular case, it was running earlier than connectedCallback due to the emitted click as the component is appended and initialized, so the component is not yet rendered by the time the util resolves.

Note: there are no accompanying tests as this is not reproducible in the test environment, which uses the lazy-loaded output.

…nts) output when a click is emitted when the component is appended to the DOM
@jcfranco jcfranco requested a review from a team as a code owner May 24, 2024 23:40
@jcfranco jcfranco added the pr ready for visual snapshots Adding this label will run visual snapshot testing. label May 24, 2024
@github-actions github-actions bot added the bug Bug reports for broken functionality. Issues should include a reproduction of the bug. label May 24, 2024
Copy link
Member

@driskull driskull left a comment

Choose a reason for hiding this comment

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

👍

@jcfranco jcfranco merged commit ab521c9 into hotfix May 28, 2024
11 checks passed
@jcfranco jcfranco deleted the jcfranco/9321-handle-error-when-component-added-when-click-is-emitted branch May 28, 2024 17:10
jcfranco pushed a commit that referenced this pull request May 29, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>@esri/calcite-components: 2.8.4</summary>

##
[2.8.4](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components@2.8.3...@esri/calcite-components@2.8.4)
(2024-05-28)


### Bug Fixes

* **combobox:** Fix error that occurs in `dist-custom-elements`
(`components`) output when a click is emitted when the component is
appended to the DOM
([#9423](#9423))
([ab521c9](ab521c9))
* Defer floating-ui updating until component is connected and open
([#9443](#9443))
([6e09589](6e09589))
</details>

<details><summary>@esri/calcite-components-angular: 2.8.4</summary>

##
[2.8.4](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components-angular@2.8.3...@esri/calcite-components-angular@2.8.4)
(2024-05-28)


### Miscellaneous Chores

* **@esri/calcite-components-angular:** Synchronize components versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from ^2.8.3 to ^2.8.4
</details>

<details><summary>@esri/calcite-components-react: 2.8.4</summary>

##
[2.8.4](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components-react@2.8.3...@esri/calcite-components-react@2.8.4)
(2024-05-28)


### Miscellaneous Chores

* **@esri/calcite-components-react:** Synchronize components versions


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from ^2.8.3 to ^2.8.4
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
benelan pushed a commit that referenced this pull request May 29, 2024
…nts) output when a click is emitted when the component is appended to the DOM (#9423)

**Related Issue:** #9321

## Summary

This updates the combobox window-click listener to use an internal state
property for its text instead of getting the value of the internal
input.

The `componentOnReady` util helps normalize waiting for a component to
be ready in both output targets (based on [Ionic's
helper](https://github.com/ionic-team/ionic-framework/blob/5cdfa1aaf47a6160cd1bd2be434dcfa8390b56e1/core/src/utils/helpers.ts#L60-L79)).
This is sufficient for most scenarios, but for this particular case, it
was running earlier than `connectedCallback` due to the emitted click as
the component is appended and initialized, so the component is not yet
rendered by the time the util resolves.

**Note**: there are no accompanying tests as this is not reproducible in
the test environment, which uses the lazy-loaded output.
benelan pushed a commit that referenced this pull request May 29, 2024
🤖 I have created a release *beep* *boop*
---

<details><summary>@esri/calcite-components: 2.8.4</summary>

[2.8.4](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components@2.8.3...@esri/calcite-components@2.8.4)
(2024-05-28)

* **combobox:** Fix error that occurs in `dist-custom-elements`
(`components`) output when a click is emitted when the component is
appended to the DOM
([#9423](#9423))
([ab521c9](ab521c9))
* Defer floating-ui updating until component is connected and open
([#9443](#9443))
([6e09589](6e09589))
</details>

<details><summary>@esri/calcite-components-angular: 2.8.4</summary>

[2.8.4](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components-angular@2.8.3...@esri/calcite-components-angular@2.8.4)
(2024-05-28)

* **@esri/calcite-components-angular:** Synchronize components versions

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from ^2.8.3 to ^2.8.4
</details>

<details><summary>@esri/calcite-components-react: 2.8.4</summary>

[2.8.4](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components-react@2.8.3...@esri/calcite-components-react@2.8.4)
(2024-05-28)

* **@esri/calcite-components-react:** Synchronize components versions

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from ^2.8.3 to ^2.8.4
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
benelan pushed a commit that referenced this pull request May 29, 2024
…nts) output when a click is emitted when the component is appended to the DOM (#9423)

**Related Issue:** #9321

## Summary

This updates the combobox window-click listener to use an internal state
property for its text instead of getting the value of the internal
input.

The `componentOnReady` util helps normalize waiting for a component to
be ready in both output targets (based on [Ionic's
helper](https://github.com/ionic-team/ionic-framework/blob/5cdfa1aaf47a6160cd1bd2be434dcfa8390b56e1/core/src/utils/helpers.ts#L60-L79)).
This is sufficient for most scenarios, but for this particular case, it
was running earlier than `connectedCallback` due to the emitted click as
the component is appended and initialized, so the component is not yet
rendered by the time the util resolves.

**Note**: there are no accompanying tests as this is not reproducible in
the test environment, which uses the lazy-loaded output.
benelan pushed a commit that referenced this pull request May 29, 2024
🤖 I have created a release *beep* *boop*
---

<details><summary>@esri/calcite-components: 2.8.4</summary>

[2.8.4](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components@2.8.3...@esri/calcite-components@2.8.4)
(2024-05-28)

* **combobox:** Fix error that occurs in `dist-custom-elements`
(`components`) output when a click is emitted when the component is
appended to the DOM
([#9423](#9423))
([ab521c9](ab521c9))
* Defer floating-ui updating until component is connected and open
([#9443](#9443))
([6e09589](6e09589))
</details>

<details><summary>@esri/calcite-components-angular: 2.8.4</summary>

[2.8.4](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components-angular@2.8.3...@esri/calcite-components-angular@2.8.4)
(2024-05-28)

* **@esri/calcite-components-angular:** Synchronize components versions

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from ^2.8.3 to ^2.8.4
</details>

<details><summary>@esri/calcite-components-react: 2.8.4</summary>

[2.8.4](https://github.com/Esri/calcite-design-system/compare/@esri/calcite-components-react@2.8.3...@esri/calcite-components-react@2.8.4)
(2024-05-28)

* **@esri/calcite-components-react:** Synchronize components versions

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from ^2.8.3 to ^2.8.4
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
benelan added a commit that referenced this pull request May 29, 2024
…hes--main

* origin/main:
  chore: release next
  ci: add repo url to package.json files for provenance (#9449)
  ci(provenance): add missing options from setup doc (#9433)
  chore: release hotfix (#9438)
  fix: defer floating-ui updating until component is connected and open (#9443)
  fix(combobox): fix error that occurs in dist-custom-elements (components) output when a click is emitted when the component is appended to the DOM (#9423)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Bug reports for broken functionality. Issues should include a reproduction of the bug. pr ready for visual snapshots Adding this label will run visual snapshot testing.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants