Skip to content

Commit bb2796b

Browse files
authored
Merge pull request #25 from balajidharma/1.x-Changes
Fixed active menu issue #24
2 parents 321e5c3 + 37f4395 commit bb2796b

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

resources/js/Components/AsideMenuItem.vue

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script setup>
22
import { ref, computed } from 'vue'
3-
import { Link } from '@inertiajs/vue3'
3+
import { Link, usePage } from '@inertiajs/vue3'
44
import { useStyleStore } from '@/Stores/style.js'
55
import { mdiMinus, mdiPlus } from '@mdi/js'
66
import { getButtonColor } from '@/colors.js'
@@ -15,9 +15,11 @@ const props = defineProps({
1515
isDropdownList: Boolean,
1616
})
1717
18+
const { url, component } = usePage()
19+
1820
const itemHref = computed(() => (props.item && props.item.link) ? props.item.link : '')
1921
20-
const emit = defineEmits(['menu-click'])
22+
const emit = defineEmits(['menu-click', 'dropdown-active'])
2123
2224
const styleStore = useStyleStore()
2325
@@ -46,10 +48,20 @@ const menuClick = event => {
4648
}
4749
}
4850
51+
const dropdownActive = value => {
52+
isDropdownActive.value = value;
53+
}
54+
4955
const activeInactiveStyle = computed(
50-
() => props.item.route && route().current(props.item.route)
51-
? styleStore.asideMenuItemActiveStyle
52-
: ''
56+
() => {
57+
if(props.item.link && url === props.item.link) {
58+
emit('dropdown-active', true)
59+
return styleStore.asideMenuItemActiveStyle
60+
}
61+
else {
62+
return ''
63+
}
64+
}
5365
)
5466
</script>
5567

@@ -88,6 +100,7 @@ const activeInactiveStyle = computed(
88100
:menu="item.children"
89101
:class="[ styleStore.asideMenuDropdownStyle, isDropdownActive ? 'block dark:bg-slate-800/50' : 'hidden' ]"
90102
is-dropdown-list
103+
@dropdown-active="dropdownActive"
91104
/>
92105
</li>
93106
</template>

resources/js/Components/AsideMenuList.vue

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,15 @@ defineProps({
99
}
1010
})
1111
12-
const emit = defineEmits(['menu-click'])
12+
const emit = defineEmits(['menu-click', 'dropdown-active'])
1313
1414
const menuClick = (event, item) => {
1515
emit('menu-click', event, item)
1616
}
17+
18+
const dropdownActive = value => {
19+
emit('dropdown-active', value)
20+
}
1721
</script>
1822

1923
<template>
@@ -24,6 +28,7 @@ const menuClick = (event, item) => {
2428
:item="item"
2529
:is-dropdown-list="isDropdownList"
2630
@menu-click="menuClick"
31+
@dropdown-active="dropdownActive"
2732
/>
2833
</ul>
2934
</template>

0 commit comments

Comments
 (0)