-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
[WebProfilerBundle] Fix event delegation on links inside toggles #59292
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
Conversation
594df0a
to
241597d
Compare
@@ -122,16 +122,19 @@ | |||
} | |||
|
|||
toggle.addEventListener('click', (e) => { | |||
const toggle = e.currentTarget; | |||
|
|||
if (e.target.closest('a, .sf-toggle') !== toggle) { |
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.
should we handle buttons inside toggles as well ?
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.
button
s and input
s could be handled the same way indeed, but it doesn't seem to be needed for now so I'm not sure 🤔
Thank you @MatTheCat. |
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [symfony/doctrine-messenger](https://symfony.com) ([source](https://redirect.github.com/symfony/doctrine-messenger)) | `7.2.2` -> `7.2.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [symfony/framework-bundle](https://symfony.com) ([source](https://redirect.github.com/symfony/framework-bundle)) | `7.2.2` -> `7.2.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [symfony/mailer](https://symfony.com) ([source](https://redirect.github.com/symfony/mailer)) | `7.2.0` -> `7.2.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [symfony/messenger](https://symfony.com) ([source](https://redirect.github.com/symfony/messenger)) | `7.2.1` -> `7.2.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [symfony/runtime](https://symfony.com) ([source](https://redirect.github.com/symfony/runtime)) | `7.2.0` -> `7.2.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [symfony/security-bundle](https://symfony.com) ([source](https://redirect.github.com/symfony/security-bundle)) | `7.2.2` -> `7.2.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [symfony/web-profiler-bundle](https://symfony.com) ([source](https://redirect.github.com/symfony/web-profiler-bundle)) | `7.2.2` -> `7.2.3` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>symfony/doctrine-messenger (symfony/doctrine-messenger)</summary> ### [`v7.2.3`](https://redirect.github.com/symfony/doctrine-messenger/compare/v7.2.2...v7.2.3) [Compare Source](https://redirect.github.com/symfony/doctrine-messenger/compare/v7.2.2...v7.2.3) </details> <details> <summary>symfony/framework-bundle (symfony/framework-bundle)</summary> ### [`v7.2.3`](https://redirect.github.com/symfony/framework-bundle/releases/tag/v7.2.3) [Compare Source](https://redirect.github.com/symfony/framework-bundle/compare/v7.2.2...v7.2.3) **Changelog** (symfony/framework-bundle@v7.2.2...v7.2.3) - bug [symfony/symfony#58889](https://redirect.github.com/symfony/symfony/issues/58889) \[Serializer] Handle default context in Serializer ([@​Valmonzo](https://redirect.github.com/Valmonzo)) - bug [symfony/symfony#59625](https://redirect.github.com/symfony/symfony/issues/59625) \[FrameworkBundle] Add missing `not-compromised-password` entry in XSD (@​alexandre-daubois) - bug [symfony/symfony#59581](https://redirect.github.com/symfony/symfony/issues/59581) \[Cache] Don't clear system caches on `cache:clear` (@​nicolas-grekas) - bug [symfony/symfony#59579](https://redirect.github.com/symfony/symfony/issues/59579) \[FrameworkBundle] Fix patching refs to the tmp warmup dir in files generated by optional cache warmers ([@​nicolas-grekas](https://redirect.github.com/nicolas-grekas)) - bug [symfony/symfony#59515](https://redirect.github.com/symfony/symfony/issues/59515) \[FrameworkBundle] Fix wiring ConsoleProfilerListener ([@​nicolas-grekas](https://redirect.github.com/nicolas-grekas)) - bug [symfony/symfony#59136](https://redirect.github.com/symfony/symfony/issues/59136) \[DependencyInjection] Reset env vars with `kernel.reset` (@​faizanakram99) - bug [symfony/symfony#59403](https://redirect.github.com/symfony/symfony/issues/59403) \[FrameworkBundle]\[HttpFoundation] Reset Request's formats using the service resetter ([@​nicolas-grekas](https://redirect.github.com/nicolas-grekas)) - bug [symfony/symfony#59188](https://redirect.github.com/symfony/symfony/issues/59188) \[HttpClient] Fix `reset()` not called on decorated clients (@​HypeMC) </details> <details> <summary>symfony/mailer (symfony/mailer)</summary> ### [`v7.2.3`](https://redirect.github.com/symfony/mailer/compare/v7.2.0...v7.2.3) [Compare Source](https://redirect.github.com/symfony/mailer/compare/v7.2.0...v7.2.3) </details> <details> <summary>symfony/messenger (symfony/messenger)</summary> ### [`v7.2.3`](https://redirect.github.com/symfony/messenger/releases/tag/v7.2.3) [Compare Source](https://redirect.github.com/symfony/messenger/compare/v7.2.1...v7.2.3) **Changelog** (symfony/messenger@v7.2.2...v7.2.3) - bug [symfony/symfony#59513](https://redirect.github.com/symfony/symfony/issues/59513) \[Messenger ] Extract retry delay from nested `RecoverableExceptionInterface` (@​AydinHassan) - bug [symfony/symfony#59508](https://redirect.github.com/symfony/symfony/issues/59508) \[Messenger] \[AMQP] Improve AMQP connection issues ([@​AurelienPillevesse](https://redirect.github.com/AurelienPillevesse)) - bug [symfony/symfony#59352](https://redirect.github.com/symfony/symfony/issues/59352) \[Messenger] Fix `TransportMessageIdStamp` not always added (@​HypeMC) - bug [symfony/symfony#59362](https://redirect.github.com/symfony/symfony/issues/59362) \[Doctrine]\[Messenger] Prevents multiple TransportMessageIdStamp being stored in envelope ([@​rtreffler](https://redirect.github.com/rtreffler)) </details> <details> <summary>symfony/runtime (symfony/runtime)</summary> ### [`v7.2.3`](https://redirect.github.com/symfony/runtime/releases/tag/v7.2.3) [Compare Source](https://redirect.github.com/symfony/runtime/compare/v7.2.0...v7.2.3) **Changelog** (symfony/runtime@v7.2.2...v7.2.3) - no significant changes </details> <details> <summary>symfony/security-bundle (symfony/security-bundle)</summary> ### [`v7.2.3`](https://redirect.github.com/symfony/security-bundle/releases/tag/v7.2.3) [Compare Source](https://redirect.github.com/symfony/security-bundle/compare/v7.2.2...v7.2.3) **Changelog** (symfony/security-bundle@v7.2.2...v7.2.3) - bug [symfony/symfony#59339](https://redirect.github.com/symfony/symfony/issues/59339) \[SecurityBundle] Remove outdated guard from security xsd schema ([@​chalasr](https://redirect.github.com/chalasr)) - bug [symfony/symfony#59342](https://redirect.github.com/symfony/symfony/issues/59342) \[SecurityBundle] Do not pass traceable authenticators to `security.helper` (@​MatTheCat) </details> <details> <summary>symfony/web-profiler-bundle (symfony/web-profiler-bundle)</summary> ### [`v7.2.3`](https://redirect.github.com/symfony/web-profiler-bundle/releases/tag/v7.2.3) [Compare Source](https://redirect.github.com/symfony/web-profiler-bundle/compare/v7.2.2...v7.2.3) **Changelog** (symfony/web-profiler-bundle@v7.2.2...v7.2.3) - bug [symfony/symfony#59292](https://redirect.github.com/symfony/symfony/issues/59292) \[WebProfilerBundle] Fix event delegation on links inside toggles ([@​MatTheCat](https://redirect.github.com/MatTheCat)) - bug [symfony/symfony#59229](https://redirect.github.com/symfony/symfony/issues/59229) \[WebProfilerBundle] fix loading of toolbar stylesheet ([@​alexislefebvre](https://redirect.github.com/alexislefebvre)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/Runroom/archetype-symfony). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMjUuMSIsInVwZGF0ZWRJblZlciI6IjM5LjEyNS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
In #57525, the security panel’s authenticator tab got updated with dumps in toggles. Issue is, we currently call
stopPropagation
when link are clicked to avoid closing the toggle, but dumps handle links click using event delegation. That means when you click on asf-dump-toggle
, the event cannot reach thesf-dump
because its propagation is stopped.This PR handles this case by checking if a link is present in the DOM between the toggle and the element which was clicked.
It also leverages the
currentTarget
property to get the clicked toggle.