Files
ersatztv/ErsatzTV/client-app/src/components/Navigation/SideBarMenuItemExpandable.vue
T
3cb37003cb UI rewrite - ffmpeg profiles (#823)
* ffmpeg profile functionality, sweetalert2

* add new files

* cleanup controller; remove unused classes

* apply formatting

* cleanup core project

* don't use bom

* whitespace

* remove generated css

* remove generated js/map

* Remove attempted linter fix, channels button, watermarks page. Fixed handlerror.

* Changed deleted confirmation to toast.

* Localized strings for language change. Modified Action icons to buttons and left default sizes. Changed Cancel to No where Yes is an option

* lint

Co-authored-by: Jason Dove <jason@jasondove.me>
2022-06-03 06:28:32 -05:00

74 lines
1.7 KiB
Vue

<template>
<v-list-group
color="primary"
v-model="menuItemOpened"
:disabled="disabled"
:prepend-icon="icon"
no-action
>
<template v-slot:activator>
<v-list-item-content>
<v-list-item-title v-text="$t(name)"></v-list-item-title>
</v-list-item-content>
</template>
<v-list-item
v-for="child in children"
:key="child.name"
:to="child.path"
:disabled="child.meta.disabled"
>
<v-list-item-icon>
<v-icon
v-text="child.meta.icon"
:disabled="child.meta.disabled"
/>
</v-list-item-icon>
<v-list-item-content>
<v-list-item-title v-text="$t(child.name)"></v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list-group>
</template>
<script>
export default {
name: 'SideBarMenuItemExpandable',
props: {
name: {
type: String,
required: true
},
icon: {
type: String,
required: true
},
disabled: {
type: Boolean,
required: true
},
children: {
type: Array,
required: true
},
nonmenuchildren: {
type: Array,
required: false
}
},
data: () => ({
opened: false
}),
computed: {
menuItemOpened: {
get: function () {
return this.opened;
},
set: function () {
return !this.opened;
}
}
}
};
</script>