blob: f0691a572143cc7575c8c14cf3c137e2b793bc9a [file] [log] [blame]
Yoshie Muranakad329ec82020-08-11 18:24:59 -07001import IconAnalytics from '@carbon/icons-vue/es/analytics/16';
2import IconDataCheck from '@carbon/icons-vue/es/data--check/16';
3import IconSettingsAdjust from '@carbon/icons-vue/es/settings--adjust/16';
4import IconSettings from '@carbon/icons-vue/es/settings/16';
5import IconPassword from '@carbon/icons-vue/es/password/16';
6import IconChevronUp from '@carbon/icons-vue/es/chevron--up/16';
7
8const AppNavigationMixin = {
9 components: {
10 iconOverview: IconAnalytics,
11 iconHealth: IconDataCheck,
12 iconControl: IconSettingsAdjust,
13 iconConfiguration: IconSettings,
14 iconAccessControl: IconPassword,
Derick Montague602e98a2020-10-21 16:20:00 -050015 iconExpand: IconChevronUp,
Yoshie Muranakad329ec82020-08-11 18:24:59 -070016 },
17 data() {
18 return {
19 navigationItems: [
20 {
21 id: 'overview',
22 label: this.$t('appNavigation.overview'),
23 route: '/',
Derick Montague602e98a2020-10-21 16:20:00 -050024 icon: 'iconOverview',
Yoshie Muranakad329ec82020-08-11 18:24:59 -070025 },
26 {
27 id: 'health',
28 label: this.$t('appNavigation.health'),
29 icon: 'iconHealth',
30 children: [
31 {
32 id: 'event-logs',
33 label: this.$t('appNavigation.eventLogs'),
Derick Montague602e98a2020-10-21 16:20:00 -050034 route: '/health/event-logs',
Yoshie Muranakad329ec82020-08-11 18:24:59 -070035 },
36 {
37 id: 'hardware-status',
38 label: this.$t('appNavigation.hardwareStatus'),
Derick Montague602e98a2020-10-21 16:20:00 -050039 route: '/health/hardware-status',
Yoshie Muranakad329ec82020-08-11 18:24:59 -070040 },
41 {
42 id: 'sensors',
43 label: this.$t('appNavigation.sensors'),
Derick Montague602e98a2020-10-21 16:20:00 -050044 route: '/health/sensors',
45 },
46 ],
Yoshie Muranakad329ec82020-08-11 18:24:59 -070047 },
48 {
49 id: 'control',
50 label: this.$t('appNavigation.control'),
51 icon: 'iconControl',
52 children: [
53 {
54 id: 'kvm',
55 label: this.$t('appNavigation.kvm'),
Derick Montague602e98a2020-10-21 16:20:00 -050056 route: '/control/kvm',
Yoshie Muranakad329ec82020-08-11 18:24:59 -070057 },
58 {
59 id: 'manage-power-usage',
60 label: this.$t('appNavigation.managePowerUsage'),
Derick Montague602e98a2020-10-21 16:20:00 -050061 route: '/control/manage-power-usage',
Yoshie Muranakad329ec82020-08-11 18:24:59 -070062 },
63 {
64 id: 'reboot-bmc',
65 label: this.$t('appNavigation.rebootBmc'),
Derick Montague602e98a2020-10-21 16:20:00 -050066 route: '/control/reboot-bmc',
Yoshie Muranakad329ec82020-08-11 18:24:59 -070067 },
68 {
69 id: 'serial-over-lan',
70 label: this.$t('appNavigation.serialOverLan'),
Derick Montague602e98a2020-10-21 16:20:00 -050071 route: '/control/serial-over-lan',
Yoshie Muranakad329ec82020-08-11 18:24:59 -070072 },
73 {
74 id: 'server-led',
75 label: this.$t('appNavigation.serverLed'),
Derick Montague602e98a2020-10-21 16:20:00 -050076 route: '/control/server-led',
Yoshie Muranakad329ec82020-08-11 18:24:59 -070077 },
78 {
79 id: 'server-power-operations',
80 label: this.$t('appNavigation.serverPowerOperations'),
Derick Montague602e98a2020-10-21 16:20:00 -050081 route: '/control/server-power-operations',
Yoshie Muranakad329ec82020-08-11 18:24:59 -070082 },
83 {
84 id: 'virtual-media',
85 label: this.$t('appNavigation.virtualMedia'),
Derick Montague602e98a2020-10-21 16:20:00 -050086 route: '/control/virtual-media',
87 },
88 ],
Yoshie Muranakad329ec82020-08-11 18:24:59 -070089 },
90 {
91 id: 'configuration',
92 label: this.$t('appNavigation.configuration'),
93 icon: 'iconConfiguration',
94 children: [
95 {
96 id: 'date-time-settings',
97 label: this.$t('appNavigation.dateTimeSettings'),
Derick Montague602e98a2020-10-21 16:20:00 -050098 route: '/configuration/date-time-settings',
Yoshie Muranakad329ec82020-08-11 18:24:59 -070099 },
100 {
101 id: 'firmware',
102 label: this.$t('appNavigation.firmware'),
Derick Montague602e98a2020-10-21 16:20:00 -0500103 route: '/configuration/firmware',
Yoshie Muranakad329ec82020-08-11 18:24:59 -0700104 },
105 {
106 id: 'network-settings',
107 label: this.$t('appNavigation.networkSettings'),
Derick Montague602e98a2020-10-21 16:20:00 -0500108 route: '/configuration/network-settings',
Yoshie Muranakad329ec82020-08-11 18:24:59 -0700109 },
110 {
111 id: 'snmp-settings',
112 label: this.$t('appNavigation.snmpSettings'),
Yoshie Muranakaff8c5cd2020-11-12 12:56:38 -0800113 route: '/snmp-settings',
Derick Montague602e98a2020-10-21 16:20:00 -0500114 },
115 ],
Yoshie Muranakad329ec82020-08-11 18:24:59 -0700116 },
117 {
118 id: 'access-control',
Yoshie Muranaka4c7c5af2020-09-27 21:22:52 -0700119 label: this.$t('appNavigation.accessControl'),
Yoshie Muranakad329ec82020-08-11 18:24:59 -0700120 icon: 'iconAccessControl',
121 children: [
122 {
123 id: 'ldap',
124 label: this.$t('appNavigation.ldap'),
Derick Montague602e98a2020-10-21 16:20:00 -0500125 route: '/access-control/ldap',
Yoshie Muranakad329ec82020-08-11 18:24:59 -0700126 },
127 {
128 id: 'local-user-management',
129 label: this.$t('appNavigation.localUserManagement'),
Derick Montague602e98a2020-10-21 16:20:00 -0500130 route: '/access-control/local-user-management',
Yoshie Muranakad329ec82020-08-11 18:24:59 -0700131 },
132 {
133 id: 'ssl-certificates',
134 label: this.$t('appNavigation.sslCertificates'),
Derick Montague602e98a2020-10-21 16:20:00 -0500135 route: '/access-control/ssl-certificates',
136 },
137 ],
138 },
139 ],
Yoshie Muranakad329ec82020-08-11 18:24:59 -0700140 };
Derick Montague602e98a2020-10-21 16:20:00 -0500141 },
Yoshie Muranakad329ec82020-08-11 18:24:59 -0700142};
143
144export default AppNavigationMixin;