-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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: handle transitionend
together with animationend
#2773
Conversation
WalkthroughThe changes involve improvements to animation event handling in two JavaScript files: Changes
Possibly related PRs
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
75c5c1a
to
292511c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Outside diff range and nitpick comments (1)
src/instanceMethods/close.js (1)
190-199
: Improved animation event handling, consider performance optimizationThe changes to the
animatePopup
function are well-implemented and address potential issues with animation handling:
- The introduction of the named function
swalCloseAnimationFinished
improves readability and allows for easier removal of event listeners.- Adding listeners for both 'animationend' and 'transitionend' ensures compatibility with different types of animations.
- The function removes itself after execution, preventing multiple calls.
Consider replacing the
delete
operator with an undefined assignment for potential performance improvement:- delete globalState.swalCloseEventFinishedCallback + globalState.swalCloseEventFinishedCallback = undefinedThis change addresses the static analysis hint while maintaining the intended functionality.
🧰 Tools
🪛 Biome
[error] 193-193: Avoid the delete operator which can impact performance.
Unsafe fix: Use an undefined assignment instead.
(lint/performance/noDelete)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
- src/instanceMethods/close.js (1 hunks)
- src/utils/openPopup.js (2 hunks)
🧰 Additional context used
🪛 Biome
src/instanceMethods/close.js
[error] 193-193: Avoid the delete operator which can impact performance.
Unsafe fix: Use an undefined assignment instead.
(lint/performance/noDelete)
🔇 Additional comments (3)
src/utils/openPopup.js (3)
60-60
: Excellent addition for comprehensive event listener cleanup!The addition of
popup.removeEventListener('transitionend', swalOpenAnimationFinished)
is a great improvement. It ensures that both 'animationend' and 'transitionend' event listeners are properly removed when the animation or transition finishes. This change prevents potential memory leaks and unexpected behavior, especially in scenarios where the popup might be opened multiple times.
72-72
: Great enhancement for handling both animations and transitions!The addition of
popup.addEventListener('transitionend', swalOpenAnimationFinished)
is a valuable improvement. This change allows thesetScrollingVisibility
function to handle both CSS animations and transitions effectively. By listening for both 'animationend' and 'transitionend' events, you ensure that the scrolling visibility is correctly set to 'auto' after either type of animation completes. This enhancement provides more flexibility in how the popup's appearance can be animated or transitioned.
60-60
: Summary: Improved event handling for animations and transitionsThe changes made to this file significantly improve the handling of both CSS animations and transitions for the popup. By adding 'transitionend' event listeners and their corresponding cleanup, you've ensured that the popup behaves correctly regardless of whether it uses CSS animations or transitions for its opening effect. This enhancement increases the flexibility of the popup's animation options and prevents potential issues related to event listener management. Great job on these improvements!
Also applies to: 72-72
transitionend
together with animationend
## [11.14.3](v11.14.2...v11.14.3) (2024-10-12) ### Bug Fixes * handle `transitionend` together with `animationend` ([#2773](#2773)) ([3441fc5](3441fc5))
🎉 This PR is included in version 11.14.3 🎉 The release is available on: Your semantic-release bot 📦🚀 |
fixes #2743
Summary by CodeRabbit
Bug Fixes
Refactor