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(alert): update alert queue when an alert is removed from the DOM #7189

Merged
merged 7 commits into from
Jun 21, 2023

Conversation

driskull
Copy link
Member

@driskull driskull commented Jun 16, 2023

Related Issue: #6616

Summary

  • Adds new internal event calciteInternalAlertUnregister to dispatch when an alert is removed from the DOM.
  • Event is dispatched on the window since that is where the listeners are and dispatching on the element won't reach the window since the element would no longer be in the DOM.
  • When the event is received, the queue is updated to remove the removed alert element.
  • queue is kept n'sync.

giphy

@github-actions github-actions bot added the bug Bug reports for broken functionality. Issues should include a reproduction of the bug. label Jun 16, 2023
@driskull driskull marked this pull request as ready for review June 16, 2023 23:27
@driskull driskull requested a review from a team as a code owner June 16, 2023 23:27
@driskull driskull added this to the 2023 June patch priorities milestone Jun 16, 2023
@driskull driskull added the pr ready for visual snapshots Adding this label will run visual snapshot testing. label Jun 17, 2023
@driskull driskull requested a review from jcfranco June 20, 2023 19:07
Copy link
Member

@jcfranco jcfranco left a comment

Choose a reason for hiding this comment

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

🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺
🕺🎤🎤🎤🎤🕺🎤🎤🎤🎤🕺🎤🎤🎤🎤🕺🎤🕺🕺🕺🎤🕺
🕺🎤🕺🕺🎤🕺🎤🕺🕺🎤🕺🎤🕺🕺🎤🕺🕺🎤🕺🎤🕺🕺
🕺🎤🎤🎤🕺🕺🎤🎤🎤🎤🕺🎤🎤🎤🕺🕺🕺🕺🎤🕺🕺🕺
🕺🎤🕺🕺🎤🕺🎤🕺🕺🎤🕺🎤🕺🕺🎤🕺🕺🕺🎤🕺🕺🕺
🕺🎤🎤🎤🎤🕺🎤🕺🕺🎤🕺🎤🎤🎤🎤🕺🕺🕺🎤🕺🕺🕺
🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺

🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺
🕺🎤🎤🎤🎤🕺🎤🕺🕺🕺🎤🕺🎤🎤🎤🎤🕺
🕺🎤🕺🕺🎤🕺🕺🎤🕺🎤🕺🕺🎤🕺🕺🕺🕺
🕺🎤🎤🎤🕺🕺🕺🕺🎤🕺🕺🕺🎤🎤🎤🕺🕺
🕺🎤🕺🕺🎤🕺🕺🕺🎤🕺🕺🕺🎤🕺🕺🕺🕺
🕺🎤🎤🎤🎤🕺🕺🕺🎤🕺🕺🕺🎤🎤🎤🎤🕺
🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺

🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺
🕺🎤🎤🎤🎤🕺🎤🕺🕺🕺🎤🕺🎤🎤🎤🎤🕺
🕺🎤🕺🕺🎤🕺🕺🎤🕺🎤🕺🕺🎤🕺🕺🕺🕺
🕺🎤🎤🎤🕺🕺🕺🕺🎤🕺🕺🕺🎤🎤🎤🕺🕺
🕺🎤🕺🕺🎤🕺🕺🕺🎤🕺🕺🕺🎤🕺🕺🕺🕺
🕺🎤🎤🎤🎤🕺🕺🕺🎤🕺🕺🕺🎤🎤🎤🎤🕺
🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺

🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺
🕺🎤🎤🎤🎤🕺🎤🕺🕺🕺🎤🕺🎤🎤🎤🎤🕺
🕺🎤🕺🕺🎤🕺🕺🎤🕺🎤🕺🕺🎤🕺🕺🕺🕺
🕺🎤🎤🎤🕺🕺🕺🕺🎤🕺🕺🕺🎤🎤🎤🕺🕺
🕺🎤🕺🕺🎤🕺🕺🕺🎤🕺🕺🕺🎤🕺🕺🕺🕺
🕺🎤🎤🎤🎤🕺🕺🕺🎤🕺🕺🕺🎤🎤🎤🎤🕺
🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺🕺


window.dispatchEvent(
new CustomEvent<Sync>("calciteInternalAlertSync", {
cancelable: false,
Copy link
Member

Choose a reason for hiding this comment

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

Custom events are not cancelable by default, so this can be dropped.

packages/calcite-components/src/components/alert/alert.tsx Outdated Show resolved Hide resolved
@driskull driskull added pr ready for visual snapshots Adding this label will run visual snapshot testing. and removed pr ready for visual snapshots Adding this label will run visual snapshot testing. labels Jun 20, 2023
@driskull driskull merged commit edd59eb into master Jun 21, 2023
@driskull driskull deleted the dris0000/alert-removal-fix branch June 21, 2023 00:01
benelan added a commit that referenced this pull request Jun 27, 2023
🤖 I have created a release *beep* *boop*
---


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

##
[1.4.3](https://github.com/Esri/calcite-components/compare/@esri/[email protected]...@esri/[email protected])
(2023-06-26)

### Bug Fixes

* **accordion-item:** support items working across shadowDOM ([#7035](#7035)) ([6378e35](6378e35)), closes [#6167](#6167)
* **alert:** Sets autoCloseDuration to "medium" by default
([#7157](#7157))
([1b9a8ed](1b9a8ed))
* **alert:** Update alert queue when an alert is removed from the DOM
([#7189](#7189))
([edd59eb](edd59eb))
* **combobox, dropdown, input-date-picker, input-time-picker, popover,
tooltip:** Prevent repositioning from affecting other floating
components
([#7178](#7178))
([1b02dae](1b02dae))
* Ensure mouse events are blocked for disabled components in Firefox
([#7107](#7107))
([271d985](271d985))
* **input-date-picker:** Fix showing the placeholder when resetting the
value ([#7156](#7156))
([8d60ffd](8d60ffd))
* **input, input-number:** Allows numeric characters.
([#7213](#7213))
([739f0af](739f0af))
* **input,input-number:** Allow typing decimal separator in firefox for
arabic locale
([#7173](#7173))
([595e6f2](595e6f2))
* **list:** No longer has incorrect border width
([a810943](a810943))
* **list:** Update selectedItems property on all item selection changes
([#7204](#7204))
([da048f6](da048f6))
* **menu-item:** Ensure correct order of rendered icons ([#7098](#7098)) ([fd344e9](fd344e9)), closes [#7097](#7097)

* **navigation:** Label is no longer a required property
([#7084](#7084))
([ba2bd4d](ba2bd4d))
* **radio-button-group:** No longer focus first radio button on label
click and adds `setFocus` method.
([#7050](#7050))
([4267b8c](4267b8c))
* **radio-button, radio-button-group:** Prevent emitting events when
selecting a checked radio button
([#7102](#7102))
([77fcc81](77fcc81))
* **radio-button:** Focuses first focusable radio-button element in
group. ([#7152](#7152))
([dd7ec60](dd7ec60))
* **scrim:** Responsively set the scale of the loading spinner
([#7182](#7182))
([72c5943](72c5943))
* **tooltip:** Improve component timing
([#7172](#7172))
([106f5d2](106f5d2))
* **tree-item:** Ensure expanded tree-item is displayed when expanded
and made visible
([#7216](#7216))
([3c0fbf5](3c0fbf5))

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

##
[1.4.3](https://github.com/Esri/calcite-components/compare/@esri/[email protected]...@esri/[email protected])
(2023-06-26)


### Miscellaneous Chores

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


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @esri/calcite-components bumped from 1.4.3-next.7 to 1.4.3
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Ben Elan <[email protected]>
benelan added a commit that referenced this pull request Jun 27, 2023
…issue-template-checkbox

* origin/master: (32 commits)
  ci: double build cc when publishing to workaround stencil types bug (#7227)
  build: bump package versions back to 1.5.0-next.5 (#7228)
  chore: release latest (#7144)
  ci: hardcode release version due to reverting feat (#7225)
  fix(tree-item): ensure expanded tree-item is displayed when expanded and made visible (#7216)
  ci(release-please): pin action version and allow manually running action (#7222)
  fix(input, input-number): allows numeric characters. (#7213)
  build(t9n): generate json file containing t9n values (#7214)
  chore: release next
  fix(combobox, dropdown, input-date-picker, input-time-picker, popover, tooltip): Prevent repositioning from affecting other floating components (#7178)
  build: update browserslist db (#7192)
  build: ignore node_modules and build outputs when watching for changes during stencil tests (#7209)
  test: set up `disabled` helper to run a test per use case (#7089)
  ci: set design complete label conditionals (#7206)
  chore: release next
  fix(list): update selectedItems property on all item selection changes (#7204)
  chore: fix sorting logic for t9nmanifest entries (#7203)
  fix(radio-button):  focuses first focusable radio-button element in group. (#7152)
  chore: release next
  fix(alert): update alert queue when an alert is removed from the DOM (#7189)
  ...
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