| Derick Montague | 828dda9 | 2021-06-28 15:52:22 -0500 | [diff] [blame] | 1 | import IconDashboard from '@carbon/icons-vue/es/dashboard/16'; | 
 | 2 | import IconTextLinkAnalysis from '@carbon/icons-vue/es/text-link--analysis/16'; | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 3 | import IconDataCheck from '@carbon/icons-vue/es/data--check/16'; | 
 | 4 | import IconSettingsAdjust from '@carbon/icons-vue/es/settings--adjust/16'; | 
 | 5 | import IconSettings from '@carbon/icons-vue/es/settings/16'; | 
| Sandeepa Singh | b440616 | 2021-07-26 15:05:39 +0530 | [diff] [blame] | 6 | import IconSecurity from '@carbon/icons-vue/es/security/16'; | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 7 | import IconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; | 
| Sandeepa Singh | 6dba4be | 2021-07-28 15:25:14 +0530 | [diff] [blame] | 8 | import IconDataBase from '@carbon/icons-vue/es/data--base--alt/16'; | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 9 |  | 
 | 10 | const AppNavigationMixin = { | 
 | 11 |   components: { | 
| Derick Montague | 828dda9 | 2021-06-28 15:52:22 -0500 | [diff] [blame] | 12 |     iconOverview: IconDashboard, | 
 | 13 |     iconLogs: IconTextLinkAnalysis, | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 14 |     iconHealth: IconDataCheck, | 
 | 15 |     iconControl: IconSettingsAdjust, | 
| Sandeepa Singh | f67f769 | 2021-07-19 18:04:18 +0530 | [diff] [blame] | 16 |     iconSettings: IconSettings, | 
| Sandeepa Singh | b440616 | 2021-07-26 15:05:39 +0530 | [diff] [blame] | 17 |     iconSecurityAndAccess: IconSecurity, | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 18 |     iconExpand: IconChevronUp, | 
| Sandeepa Singh | 6dba4be | 2021-07-28 15:25:14 +0530 | [diff] [blame] | 19 |     iconResourceManagement: IconDataBase, | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 20 |   }, | 
 | 21 |   data() { | 
 | 22 |     return { | 
 | 23 |       navigationItems: [ | 
 | 24 |         { | 
 | 25 |           id: 'overview', | 
 | 26 |           label: this.$t('appNavigation.overview'), | 
 | 27 |           route: '/', | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 28 |           icon: 'iconOverview', | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 29 |         }, | 
 | 30 |         { | 
| Derick Montague | 828dda9 | 2021-06-28 15:52:22 -0500 | [diff] [blame] | 31 |           id: 'logs', | 
 | 32 |           label: this.$t('appNavigation.logs'), | 
 | 33 |           icon: 'iconLogs', | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 34 |           children: [ | 
 | 35 |             { | 
| Yoshie Muranaka | 22d4d52 | 2020-12-03 10:58:35 -0800 | [diff] [blame] | 36 |               id: 'dumps', | 
 | 37 |               label: this.$t('appNavigation.dumps'), | 
| Derick Montague | 828dda9 | 2021-06-28 15:52:22 -0500 | [diff] [blame] | 38 |               route: '/logs/dumps', | 
| Yoshie Muranaka | 22d4d52 | 2020-12-03 10:58:35 -0800 | [diff] [blame] | 39 |             }, | 
 | 40 |             { | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 41 |               id: 'event-logs', | 
 | 42 |               label: this.$t('appNavigation.eventLogs'), | 
| Derick Montague | 828dda9 | 2021-06-28 15:52:22 -0500 | [diff] [blame] | 43 |               route: '/logs/event-logs', | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 44 |             }, | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 45 |             { | 
| Sandeepa Singh | 06d5386 | 2021-05-24 13:51:09 +0530 | [diff] [blame] | 46 |               id: 'post-code-logs', | 
 | 47 |               label: this.$t('appNavigation.postCodeLogs'), | 
| Sandeepa Singh | 7affc52 | 2021-07-06 16:29:10 +0530 | [diff] [blame] | 48 |               route: '/logs/post-code-logs', | 
 | 49 |             }, | 
 | 50 |           ], | 
 | 51 |         }, | 
 | 52 |         { | 
 | 53 |           id: 'hardware-status', | 
 | 54 |           label: this.$t('appNavigation.hardwareStatus'), | 
 | 55 |           icon: 'iconHealth', | 
 | 56 |           children: [ | 
 | 57 |             { | 
 | 58 |               id: 'inventory', | 
 | 59 |               label: this.$t('appNavigation.inventory'), | 
 | 60 |               route: '/hardware-status/inventory', | 
| Sandeepa Singh | 06d5386 | 2021-05-24 13:51:09 +0530 | [diff] [blame] | 61 |             }, | 
 | 62 |             { | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 63 |               id: 'sensors', | 
 | 64 |               label: this.$t('appNavigation.sensors'), | 
| Sandeepa Singh | 7affc52 | 2021-07-06 16:29:10 +0530 | [diff] [blame] | 65 |               route: '/hardware-status/sensors', | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 66 |             }, | 
 | 67 |           ], | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 68 |         }, | 
 | 69 |         { | 
| Sandeepa Singh | 68cbbe9 | 2021-07-14 16:02:22 +0530 | [diff] [blame] | 70 |           id: 'operations', | 
 | 71 |           label: this.$t('appNavigation.operations'), | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 72 |           icon: 'iconControl', | 
| Sandeepa Singh | 05887b5 | 2022-01-10 19:19:36 +0530 | [diff] [blame^] | 73 |           children: this.operationsNavigationItems(), | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 74 |         }, | 
 | 75 |         { | 
| Sandeepa Singh | f67f769 | 2021-07-19 18:04:18 +0530 | [diff] [blame] | 76 |           id: 'settings', | 
 | 77 |           label: this.$t('appNavigation.settings'), | 
 | 78 |           icon: 'iconSettings', | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 79 |           children: [ | 
 | 80 |             { | 
| Sandeepa Singh | f67f769 | 2021-07-19 18:04:18 +0530 | [diff] [blame] | 81 |               id: 'date-time', | 
 | 82 |               label: this.$t('appNavigation.dateTime'), | 
 | 83 |               route: '/settings/date-time', | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 84 |             }, | 
 | 85 |             { | 
| Sandeepa Singh | f67f769 | 2021-07-19 18:04:18 +0530 | [diff] [blame] | 86 |               id: 'network', | 
 | 87 |               label: this.$t('appNavigation.network'), | 
 | 88 |               route: '/settings/network', | 
 | 89 |             }, | 
 | 90 |             { | 
 | 91 |               id: 'power-restore-policy', | 
 | 92 |               label: this.$t('appNavigation.powerRestorePolicy'), | 
 | 93 |               route: '/settings/power-restore-policy', | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 94 |             }, | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 95 |           ], | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 96 |         }, | 
 | 97 |         { | 
| Sandeepa Singh | b440616 | 2021-07-26 15:05:39 +0530 | [diff] [blame] | 98 |           id: 'security-and-access', | 
 | 99 |           label: this.$t('appNavigation.securityAndAccess'), | 
 | 100 |           icon: 'iconSecurityAndAccess', | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 101 |           children: [ | 
 | 102 |             { | 
| Sandeepa Singh | b440616 | 2021-07-26 15:05:39 +0530 | [diff] [blame] | 103 |               id: 'sessions', | 
 | 104 |               label: this.$t('appNavigation.sessions'), | 
 | 105 |               route: '/security-and-access/sessions', | 
| Yoshie Muranaka | ca22a42 | 2021-01-04 14:13:34 -0800 | [diff] [blame] | 106 |             }, | 
 | 107 |             { | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 108 |               id: 'ldap', | 
 | 109 |               label: this.$t('appNavigation.ldap'), | 
| Sandeepa Singh | b440616 | 2021-07-26 15:05:39 +0530 | [diff] [blame] | 110 |               route: '/security-and-access/ldap', | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 111 |             }, | 
 | 112 |             { | 
| Sandeepa Singh | b440616 | 2021-07-26 15:05:39 +0530 | [diff] [blame] | 113 |               id: 'user-management', | 
 | 114 |               label: this.$t('appNavigation.userManagement'), | 
 | 115 |               route: '/security-and-access/user-management', | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 116 |             }, | 
 | 117 |             { | 
| Sandeepa Singh | b440616 | 2021-07-26 15:05:39 +0530 | [diff] [blame] | 118 |               id: 'policies', | 
 | 119 |               label: this.$t('appNavigation.policies'), | 
 | 120 |               route: '/security-and-access/policies', | 
 | 121 |             }, | 
 | 122 |             { | 
 | 123 |               id: 'certificates', | 
 | 124 |               label: this.$t('appNavigation.certificates'), | 
 | 125 |               route: '/security-and-access/certificates', | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 126 |             }, | 
 | 127 |           ], | 
 | 128 |         }, | 
| Sandeepa Singh | 6dba4be | 2021-07-28 15:25:14 +0530 | [diff] [blame] | 129 |         { | 
 | 130 |           id: 'resource-management', | 
 | 131 |           label: this.$t('appNavigation.resourceManagement'), | 
 | 132 |           icon: 'iconResourceManagement', | 
 | 133 |           children: [ | 
 | 134 |             { | 
 | 135 |               id: 'power', | 
 | 136 |               label: this.$t('appNavigation.power'), | 
 | 137 |               route: '/resource-management/power', | 
 | 138 |             }, | 
 | 139 |           ], | 
 | 140 |         }, | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 141 |       ], | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 142 |     }; | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 143 |   }, | 
| Sandeepa Singh | 05887b5 | 2022-01-10 19:19:36 +0530 | [diff] [blame^] | 144 |   methods: { | 
 | 145 |     operationsNavigationItems() { | 
 | 146 |       const username = this.$store.getters['global/username']; | 
 | 147 |       let operationNavigationItems = [ | 
 | 148 |         { | 
 | 149 |           id: 'factory-reset', | 
 | 150 |           label: this.$t('appNavigation.factoryReset'), | 
 | 151 |           route: '/operations/factory-reset', | 
 | 152 |         }, | 
 | 153 |         { | 
 | 154 |           id: 'firmware', | 
 | 155 |           label: this.$t('appNavigation.firmware'), | 
 | 156 |           route: '/operations/firmware', | 
 | 157 |         }, | 
 | 158 |         { | 
 | 159 |           id: 'reboot-bmc', | 
 | 160 |           label: this.$t('appNavigation.rebootBmc'), | 
 | 161 |           route: '/operations/reboot-bmc', | 
 | 162 |         }, | 
 | 163 |         { | 
 | 164 |           id: 'serial-over-lan', | 
 | 165 |           label: this.$t('appNavigation.serialOverLan'), | 
 | 166 |           route: '/operations/serial-over-lan', | 
 | 167 |         }, | 
 | 168 |         { | 
 | 169 |           id: 'server-power-operations', | 
 | 170 |           label: this.$t('appNavigation.serverPowerOperations'), | 
 | 171 |           route: '/operations/server-power-operations', | 
 | 172 |         }, | 
 | 173 |       ]; | 
 | 174 |       let pageKeyClear = { | 
 | 175 |         id: 'key-clear', | 
 | 176 |         label: this.$t('appNavigation.keyClear'), | 
 | 177 |         route: '/operations/key-clear', | 
 | 178 |       }; | 
 | 179 |       if (username === 'service' || username === 'admin') { | 
 | 180 |         operationNavigationItems.splice(2, 0, pageKeyClear); | 
 | 181 |       } | 
 | 182 |       return operationNavigationItems; | 
 | 183 |     }, | 
 | 184 |   }, | 
| Yoshie Muranaka | 0214fed | 2020-09-03 13:25:50 -0700 | [diff] [blame] | 185 | }; | 
 | 186 |  | 
 | 187 | export default AppNavigationMixin; |