blob: 20aa4f2368981ff4df75b284cf6e36d484b11e83 [file] [log] [blame]
Derick Montague828dda92021-06-28 15:52:22 -05001import IconDashboard from '@carbon/icons-vue/es/dashboard/16';
2import IconTextLinkAnalysis from '@carbon/icons-vue/es/text-link--analysis/16';
MichalX Szopinski842b5db2020-11-24 13:12:50 +01003import IconDataCheck from '@carbon/icons-vue/es/data--check/16';
4import IconSettingsAdjust from '@carbon/icons-vue/es/settings--adjust/16';
5import IconSettings from '@carbon/icons-vue/es/settings/16';
6import IconPassword from '@carbon/icons-vue/es/password/16';
7import IconChevronUp from '@carbon/icons-vue/es/chevron--up/16';
8
9const AppNavigationMixin = {
10 components: {
Derick Montague828dda92021-06-28 15:52:22 -050011 iconOverview: IconDashboard,
12 iconLogs: IconTextLinkAnalysis,
MichalX Szopinski842b5db2020-11-24 13:12:50 +010013 iconHealth: IconDataCheck,
14 iconControl: IconSettingsAdjust,
Sandeepa Singhf67f7692021-07-19 18:04:18 +053015 iconSettings: IconSettings,
MichalX Szopinski842b5db2020-11-24 13:12:50 +010016 iconAccessControl: IconPassword,
17 iconExpand: IconChevronUp,
18 },
19 data() {
20 return {
21 navigationItems: [
22 {
23 id: 'overview',
24 label: this.$t('appNavigation.overview'),
25 route: '/',
26 icon: 'iconOverview',
27 },
28 {
Derick Montague828dda92021-06-28 15:52:22 -050029 id: 'logs',
30 label: this.$t('appNavigation.logs'),
31 icon: 'iconLogs',
MichalX Szopinski842b5db2020-11-24 13:12:50 +010032 children: [
33 {
34 id: 'event-logs',
35 label: this.$t('appNavigation.eventLogs'),
Derick Montague828dda92021-06-28 15:52:22 -050036 route: '/logs/event-logs',
MichalX Szopinski842b5db2020-11-24 13:12:50 +010037 },
Derick Montague828dda92021-06-28 15:52:22 -050038 ],
39 },
40 {
Sandeepa Singh7affc522021-07-06 16:29:10 +053041 id: 'hardware-status',
42 label: this.$t('appNavigation.hardwareStatus'),
Derick Montague828dda92021-06-28 15:52:22 -050043 icon: 'iconHealth',
44 children: [
MichalX Szopinski842b5db2020-11-24 13:12:50 +010045 {
Sandeepa Singh7affc522021-07-06 16:29:10 +053046 id: 'inventory',
47 label: this.$t('appNavigation.inventory'),
48 route: '/hardware-status/inventory',
MichalX Szopinski842b5db2020-11-24 13:12:50 +010049 },
50 {
51 id: 'sensors',
52 label: this.$t('appNavigation.sensors'),
Sandeepa Singh7affc522021-07-06 16:29:10 +053053 route: '/hardware-status/sensors',
MichalX Szopinski842b5db2020-11-24 13:12:50 +010054 },
55 ],
56 },
57 {
Sandeepa Singh68cbbe92021-07-14 16:02:22 +053058 id: 'operations',
59 label: this.$t('appNavigation.operations'),
MichalX Szopinski842b5db2020-11-24 13:12:50 +010060 icon: 'iconControl',
61 children: [
62 {
63 id: 'kvm',
64 label: this.$t('appNavigation.kvm'),
Sandeepa Singh68cbbe92021-07-14 16:02:22 +053065 route: '/operations/kvm',
66 },
67 {
68 id: 'firmware',
69 label: this.$t('appNavigation.firmware'),
70 route: '/operations/firmware',
MichalX Szopinski842b5db2020-11-24 13:12:50 +010071 },
72 {
73 id: 'manage-power-usage',
74 label: this.$t('appNavigation.managePowerUsage'),
Sandeepa Singh68cbbe92021-07-14 16:02:22 +053075 route: '/operations/manage-power-usage',
MichalX Szopinski842b5db2020-11-24 13:12:50 +010076 },
77 {
78 id: 'reboot-bmc',
79 label: this.$t('appNavigation.rebootBmc'),
Sandeepa Singh68cbbe92021-07-14 16:02:22 +053080 route: '/operations/reboot-bmc',
MichalX Szopinski842b5db2020-11-24 13:12:50 +010081 },
82 {
83 id: 'serial-over-lan',
84 label: this.$t('appNavigation.serialOverLan'),
Sandeepa Singh68cbbe92021-07-14 16:02:22 +053085 route: '/operations/serial-over-lan',
MichalX Szopinski842b5db2020-11-24 13:12:50 +010086 },
87 {
88 id: 'server-power-operations',
89 label: this.$t('appNavigation.serverPowerOperations'),
Sandeepa Singh68cbbe92021-07-14 16:02:22 +053090 route: '/operations/server-power-operations',
MichalX Szopinski842b5db2020-11-24 13:12:50 +010091 },
92 {
93 id: 'virtual-media',
94 label: this.$t('appNavigation.virtualMedia'),
Sandeepa Singh68cbbe92021-07-14 16:02:22 +053095 route: '/operations/virtual-media',
MichalX Szopinski842b5db2020-11-24 13:12:50 +010096 },
97 ],
98 },
99 {
Sandeepa Singhf67f7692021-07-19 18:04:18 +0530100 id: 'settings',
101 label: this.$t('appNavigation.settings'),
102 icon: 'iconSettings',
MichalX Szopinski842b5db2020-11-24 13:12:50 +0100103 children: [
104 {
Sandeepa Singhf67f7692021-07-19 18:04:18 +0530105 id: 'date-time',
106 label: this.$t('appNavigation.dateTime'),
107 route: '/settings/date-time',
MichalX Szopinski842b5db2020-11-24 13:12:50 +0100108 },
109 {
Sandeepa Singhf67f7692021-07-19 18:04:18 +0530110 id: 'network',
111 label: this.$t('appNavigation.network'),
112 route: '/settings/network',
MichalX Szopinski842b5db2020-11-24 13:12:50 +0100113 },
MichalX Szopinski0beb0f92021-03-16 20:25:35 +0100114 {
115 id: 'security-settings',
116 label: this.$t('appNavigation.securitySettings'),
Sandeepa Singhf67f7692021-07-19 18:04:18 +0530117 route: '/settings/security-settings',
MichalX Szopinski0beb0f92021-03-16 20:25:35 +0100118 },
MichalX Szopinski842b5db2020-11-24 13:12:50 +0100119 ],
120 },
121 {
122 id: 'access-control',
123 label: this.$t('appNavigation.accessControl'),
124 icon: 'iconAccessControl',
125 children: [
126 {
MichalX Szopinskid6752692021-03-01 13:59:55 +0100127 id: 'client-sessions',
128 label: this.$t('appNavigation.clientSessions'),
129 route: '/access-control/client-sessions',
130 },
131 {
MichalX Szopinski842b5db2020-11-24 13:12:50 +0100132 id: 'local-user-management',
133 label: this.$t('appNavigation.localUserManagement'),
134 route: '/access-control/local-user-management',
135 },
136 {
137 id: 'ssl-certificates',
138 label: this.$t('appNavigation.sslCertificates'),
139 route: '/access-control/ssl-certificates',
140 },
141 ],
142 },
143 ],
144 };
145 },
146};
147
148export default AppNavigationMixin;