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 IconPassword from '@carbon/icons-vue/es/password/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 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 { 29 id: 'logs', 30 label: this.$t('appNavigation.logs'), 31 icon: 'iconLogs', 32 children: [ 33 { 34 id: 'event-logs', 35 label: this.$t('appNavigation.eventLogs'), 36 route: '/logs/event-logs', 37 }, 38 ], 39 }, 40 { 41 id: 'hardware-status', 42 label: this.$t('appNavigation.hardwareStatus'), 43 icon: 'iconHealth', 44 children: [ 45 { 46 id: 'inventory', 47 label: this.$t('appNavigation.inventory'), 48 route: '/hardware-status/inventory', 49 }, 50 { 51 id: 'sensors', 52 label: this.$t('appNavigation.sensors'), 53 route: '/hardware-status/sensors', 54 }, 55 ], 56 }, 57 { 58 id: 'operations', 59 label: this.$t('appNavigation.operations'), 60 icon: 'iconControl', 61 children: [ 62 { 63 id: 'kvm', 64 label: this.$t('appNavigation.kvm'), 65 route: '/operations/kvm', 66 }, 67 { 68 id: 'firmware', 69 label: this.$t('appNavigation.firmware'), 70 route: '/operations/firmware', 71 }, 72 { 73 id: 'manage-power-usage', 74 label: this.$t('appNavigation.managePowerUsage'), 75 route: '/operations/manage-power-usage', 76 }, 77 { 78 id: 'reboot-bmc', 79 label: this.$t('appNavigation.rebootBmc'), 80 route: '/operations/reboot-bmc', 81 }, 82 { 83 id: 'serial-over-lan', 84 label: this.$t('appNavigation.serialOverLan'), 85 route: '/operations/serial-over-lan', 86 }, 87 { 88 id: 'server-power-operations', 89 label: this.$t('appNavigation.serverPowerOperations'), 90 route: '/operations/server-power-operations', 91 }, 92 { 93 id: 'virtual-media', 94 label: this.$t('appNavigation.virtualMedia'), 95 route: '/operations/virtual-media', 96 }, 97 ], 98 }, 99 { 100 id: 'settings', 101 label: this.$t('appNavigation.settings'), 102 icon: 'iconSettings', 103 children: [ 104 { 105 id: 'date-time', 106 label: this.$t('appNavigation.dateTime'), 107 route: '/settings/date-time', 108 }, 109 { 110 id: 'network', 111 label: this.$t('appNavigation.network'), 112 route: '/settings/network', 113 }, 114 { 115 id: 'security-settings', 116 label: this.$t('appNavigation.securitySettings'), 117 route: '/settings/security-settings', 118 }, 119 ], 120 }, 121 { 122 id: 'access-control', 123 label: this.$t('appNavigation.accessControl'), 124 icon: 'iconAccessControl', 125 children: [ 126 { 127 id: 'client-sessions', 128 label: this.$t('appNavigation.clientSessions'), 129 route: '/access-control/client-sessions', 130 }, 131 { 132 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; 149