1.4.10 • Published 5 months ago
admin-layout-vue v1.4.10
Admin Layout - Vue JS component
Requirements:
- Bootstrap 5.2
- Vue router (for
<router-link>
) - Vue 3
Install:
npm install admin-layout-vue
Parameters:
Property | Type | Required |
---|---|---|
brandName | String | No |
leftItemsByGroups | Array | Yes |
leftItemsByGroups[].heading | String | No |
leftItemsByGroups[].items | Array | Yes |
leftItemsByGroups[].items[].label | String | Yes |
leftItemsByGroups[].items[].iconClass | String | No |
leftItemsByGroups[].items[].route | Object | No |
leftItemsByGroups[].items[].route.name | String | Yes |
leftItemsByGroups[].items[].visible | Bool | No |
leftItemsByGroups[].items[].subItems | Array | No |
leftItemsByGroups[].items[].relatedRoutes | Array | No |
leftItemsByGroups[].items[].subItems[].label | String | Yes |
leftItemsByGroups[].items[].subItems[].route | Object | Yes |
leftItemsByGroups[].items[].subItems[].route.name | Object | Yes |
leftItemsByGroups[].items[].subItems[].visible | Bool | No |
leftItemsByGroups[].items[].subItems[].relatedRoutes | Array | No |
topItems | Array | Yes |
topItems[].label | String | No |
topItems[].iconClass | String | No |
topItems[].callable | Callable | No |
topItems[].showBadge | Bool | No |
topItems[].subItems[] | Array | No |
topItems[].subItems[].label | String | Yes |
topItems[].subItems[].class | String | No |
topItems[].subItems[].iconClass | String | No |
topItems[].subItems[].callable | Callable | Yes |
topNavClass | String | No |
leftNavClass | String, Object | No |
leftNavBgClass | String, Object | No |
dataBsThemeTop | String | No |
dataBsThemeLeft | String | No |
strictActiveRoute | Boolean | No |
Example
<template>
<admin-layout
brand-name="Brand"
:left-items-by-groups="leftItemsByGroups"
:top-items="topItems"
>
<template #topEnd>
<div class="badge bg-info me-3">
Example
</div>
</template>
<router-view />
</admin-layout>
</template>
<script>
import AdminLayout from 'admin-layout-vue'
export default {
name: 'ExampleComponent',
components: {
AdminLayout,
},
data() {
return {
/**
* Sidebar menu items
*/
leftItemsByGroups: [
{
items: [
{
label: 'Home',
iconClass: 'bi bi-house-door-fill',
route: {
name: 'home',
},
},
],
},
{
heading: 'First heading',
items: [
{
label: 'People',
iconClass: 'bi bi-people-fill',
route: {
name: 'people',
},
relatedRoutes: [
'peopleCreate',
],
},
{
label: 'Briefcase',
iconClass: 'bi bi-briefcase-fill',
subItems: [
{
label: 'Option 1',
route: {
name: 'option',
query: {
status: '1',
},
},
relatedRoutes: [
'relatedOption',
],
},
{
label: 'Option 2',
route: {
name: 'option',
query: {
status: '2',
},
},
},
],
},
],
},
{
items: [
{
label: 'Coin',
iconClass: 'bi bi-coin',
route: {
name: 'coin',
},
},
],
},
],
/**
* Top navbar items
*/
topItems: [
{
iconClass: 'bi bi-person-circle',
subItems: [
{
label: this.$t('logout.submit'),
callable: this.onLogoutClick,
},
],
showBadge: false,
},
{
iconClass: 'bi bi-bell-fill',
callable: this.showNotifications,
showBadge: this.notificationsTotalCount > 0,
},
],
}
}
}
</script>
Screenshots
1.4.9
6 months ago
1.4.10
5 months ago
1.4.6
9 months ago
1.4.5
9 months ago
1.4.8
9 months ago
1.4.7
9 months ago
1.4.4
10 months ago
1.4.3
10 months ago
1.4.2
10 months ago
1.4.1
11 months ago
1.4.0
11 months ago
1.3.2
12 months ago
1.3.1
1 year ago
1.3.0
1 year ago
1.2.0
1 year ago
1.1.5
1 year ago
1.1.4
1 year ago
1.2.2
1 year ago
1.1.3
1 year ago
1.2.1
1 year ago
1.1.2
1 year ago
1.1.1
2 years ago
1.1.0
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago
0.3.4
2 years ago
0.3.3
2 years ago
0.3.2
2 years ago
0.3.1
2 years ago
0.3.0
2 years ago
0.2.1
2 years ago
0.2.0
2 years ago
0.1.3
3 years ago
0.1.2
3 years ago
0.1.1
3 years ago
0.1.0
3 years ago
0.0.2
3 years ago
0.0.1
3 years ago