Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 05e9192

Browse files
javiereguiluzfabpot
authored andcommitted
[WebProfilerBundle] Update main menu to display active panels first
1 parent 78c6ceb commit 05e9192

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/Symfony/Bundle/WebProfilerBundle/Resources/views/Profiler/base_js.html.twig

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,32 @@
1111
1212
class SymfonyProfiler {
1313
constructor() {
14+
this.#reorderMainMenuItems();
1415
this.#createTabs();
1516
this.#createTableSearchFields();
1617
this.#createToggles();
1718
this.#createCopyToClipboard();
1819
this.#convertDateTimesToUserTimezone();
1920
}
2021
22+
#reorderMainMenuItems() {
23+
/* reorder the main menu items to always display first the non-disabled items */
24+
const mainMenuElement = document.querySelector('#menu-profiler');
25+
const firstDisabledMenuItem = mainMenuElement.querySelector('li a > span.disabled')?.parentNode?.parentNode;
26+
27+
if (!firstDisabledMenuItem) {
28+
return;
29+
}
30+
31+
const mainMenuItems = mainMenuElement.querySelectorAll('li');
32+
mainMenuItems.forEach(menuItem => {
33+
const isDisabled = null !== menuItem.querySelector('a > span.disabled');
34+
if (!isDisabled) {
35+
mainMenuElement.insertBefore(menuItem, firstDisabledMenuItem);
36+
}
37+
});
38+
}
39+
2140
#createTabs() {
2241
/* the accessibility options of this component have been defined according to: */
2342
/* www.w3.org/WAI/ARIA/apg/example-index/tabs/tabs-manual.html */

0 commit comments

Comments
 (0)