Skip to content

Commit df130ca

Browse files
author
ppinette
committed
[ui-dsfr] améliore la gestion des menus actifs dans la navigation
1 parent 0fecf17 commit df130ca

File tree

8 files changed

+1009
-993
lines changed

8 files changed

+1009
-993
lines changed

vertigo-ui-dsfr/src/components/DsfrHeader/DsfrCustomHeader.vue

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
* /// SURCHARGE ///
44
* Ce composant est une surcharge temporaire du composant dsfr-header
55
* - Ajout d’un slot header-menu-link pour permettre l’usage du DsfrHeaderMenu
6-
* - [L221] ajout d’un slot header-search pour la barre de recherche
7-
*
6+
* - Ajout d’un slot header-search pour la barre de recherche
7+
* - Ajout d’un évenement dans le mounted pour la gestion du componentStates de navigation
88
*
99
*/
1010
@@ -49,6 +49,7 @@ const emit = defineEmits<{
4949
(e: 'update:modelValue', payload: string): void
5050
(e: 'search', payload: string): void
5151
(e: 'language-select', payload: DsfrLanguageSelectorElement): void
52+
(e: 'on-mounted'): void
5253
}>()
5354
5455
const languageSelector = toRef(props, 'languageSelector')
@@ -71,6 +72,7 @@ const onKeyDown = (e: KeyboardEvent) => {
7172
7273
onMounted(() => {
7374
document.addEventListener('keydown', onKeyDown)
75+
emit('on-mounted')
7476
})
7577
onUnmounted(() => {
7678
document.removeEventListener('keydown', onKeyDown)

vertigo-ui-dsfr/src/methods.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,12 @@ export default {
4242
disabled: object[disabledField]
4343
} // a label is always a string
4444
});
45+
},
46+
dsfrUpdateMenuNavigationActiveState: function () {
47+
this.componentStates?.dsfrHeader?.navItems
48+
.filter(item => item.title)
49+
.forEach(item => {
50+
item.active = item.links.some(link => window.location.pathname.startsWith(link.to));
51+
});
4552
}
4653
}

vertigo-ui/src/main/resources/io/vertigo/ui/components/dsfr/layout/dsfr-header.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
></dsfr-skip-links>
99

1010
<dsfr-custom-header :quick-links="componentStates.dsfrHeader.quickLinks"
11+
@on-mounted="dsfrUpdateMenuNavigationActiveState"
1112
th:attr="__${header_attrs}__">
1213
<template #mainnav>
1314
<dsfr-navigation :nav-items="componentStates.dsfrHeader.navItems">

0 commit comments

Comments
 (0)