1import IconDashboard from '@carbon/icons-vue/es/dashboard/16'; 2import IconTextLinkAnalysis from '@carbon/icons-vue/es/text-link--analysis/16'; 3import 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 IconSecurity from '@carbon/icons-vue/es/security/16'; 7import IconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; 8 9const AppNavigationMixin = { 10 components: { 11 iconOverview: IconDashboard, 12 iconLogs: IconTextLinkAnalysis, 13 iconHealth: IconDataCheck, 14 iconControl: IconSettingsAdjust, 15 iconSettings: IconSettings, 16 iconSecurityAndAccess: IconSecurity, 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 { 29 id: 'logs', 30 label: this.$t('appNavigation.logs'), 31 icon: 'iconLogs', 32 children: [ 33 { 34 id: 'dumps', 35 label: this.$t('appNavigation.dumps'), 36 route: '/logs/dumps', 37 }, 38 { 39 id: 'event-logs', 40 label: this.$t('appNavigation.eventLogs'), 41 route: '/logs/event-logs', 42 }, 43 { 44 id: 'post-code-logs', 45 label: this.$t('appNavigation.postCodeLogs'), 46 route: '/logs/post-code-logs', 47 }, 48 ], 49 }, 50 { 51 id: 'hardware-status', 52 label: this.$t('appNavigation.hardwareStatus'), 53 icon: 'iconHealth', 54 children: [ 55 { 56 id: 'inventory', 57 label: this.$t('appNavigation.inventory'), 58 route: '/hardware-status/inventory', 59 }, 60 { 61 id: 'sensors', 62 label: this.$t('appNavigation.sensors'), 63 route: '/hardware-status/sensors', 64 }, 65 ], 66 }, 67 { 68 id: 'operations', 69 label: this.$t('appNavigation.operations'), 70 icon: 'iconControl', 71 children: [ 72 { 73 id: 'factory-reset', 74 label: this.$t('appNavigation.factoryReset'), 75 route: '/operations/factory-reset', 76 }, 77 { 78 id: 'firmware', 79 label: this.$t('appNavigation.firmware'), 80 route: '/operations/firmware', 81 }, 82 { 83 id: 'manage-power-usage', 84 label: this.$t('appNavigation.managePowerUsage'), 85 route: '/operations/manage-power-usage', 86 }, 87 { 88 id: 'reboot-bmc', 89 label: this.$t('appNavigation.rebootBmc'), 90 route: '/operations/reboot-bmc', 91 }, 92 { 93 id: 'serial-over-lan', 94 label: this.$t('appNavigation.serialOverLan'), 95 route: '/operations/serial-over-lan', 96 }, 97 { 98 id: 'server-power-operations', 99 label: this.$t('appNavigation.serverPowerOperations'), 100 route: '/operations/server-power-operations', 101 }, 102 ], 103 }, 104 { 105 id: 'settings', 106 label: this.$t('appNavigation.settings'), 107 icon: 'iconSettings', 108 children: [ 109 { 110 id: 'date-time', 111 label: this.$t('appNavigation.dateTime'), 112 route: '/settings/date-time', 113 }, 114 { 115 id: 'network', 116 label: this.$t('appNavigation.network'), 117 route: '/settings/network', 118 }, 119 { 120 id: 'power-restore-policy', 121 label: this.$t('appNavigation.powerRestorePolicy'), 122 route: '/settings/power-restore-policy', 123 }, 124 ], 125 }, 126 { 127 id: 'security-and-access', 128 label: this.$t('appNavigation.securityAndAccess'), 129 icon: 'iconSecurityAndAccess', 130 children: [ 131 { 132 id: 'sessions', 133 label: this.$t('appNavigation.sessions'), 134 route: '/security-and-access/sessions', 135 }, 136 { 137 id: 'ldap', 138 label: this.$t('appNavigation.ldap'), 139 route: '/security-and-access/ldap', 140 }, 141 { 142 id: 'user-management', 143 label: this.$t('appNavigation.userManagement'), 144 route: '/security-and-access/user-management', 145 }, 146 { 147 id: 'policies', 148 label: this.$t('appNavigation.policies'), 149 route: '/security-and-access/policies', 150 }, 151 { 152 id: 'certificates', 153 label: this.$t('appNavigation.certificates'), 154 route: '/security-and-access/certificates', 155 }, 156 ], 157 }, 158 ], 159 }; 160 }, 161}; 162 163export default AppNavigationMixin; 164