1import 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, 15 iconExpand: IconChevronUp, 16 }, 17 data() { 18 return { 19 navigationItems: [ 20 { 21 id: 'overview', 22 label: this.$t('appNavigation.overview'), 23 route: '/', 24 icon: 'iconOverview', 25 }, 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'), 34 route: '/health/event-logs', 35 }, 36 { 37 id: 'hardware-status', 38 label: this.$t('appNavigation.hardwareStatus'), 39 route: '/health/hardware-status', 40 }, 41 { 42 id: 'sensors', 43 label: this.$t('appNavigation.sensors'), 44 route: '/health/sensors', 45 }, 46 ], 47 }, 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'), 56 route: '/control/kvm', 57 }, 58 { 59 id: 'manage-power-usage', 60 label: this.$t('appNavigation.managePowerUsage'), 61 route: '/control/manage-power-usage', 62 }, 63 { 64 id: 'power-restore-policy', 65 label: this.$t('appNavigation.powerRestorePolicy'), 66 route: '/control/power-restore-policy', 67 }, 68 { 69 id: 'reboot-bmc', 70 label: this.$t('appNavigation.rebootBmc'), 71 route: '/control/reboot-bmc', 72 }, 73 { 74 id: 'serial-over-lan', 75 label: this.$t('appNavigation.serialOverLan'), 76 route: '/control/serial-over-lan', 77 }, 78 { 79 id: 'server-led', 80 label: this.$t('appNavigation.serverLed'), 81 route: '/control/server-led', 82 }, 83 { 84 id: 'server-power-operations', 85 label: this.$t('appNavigation.serverPowerOperations'), 86 route: '/control/server-power-operations', 87 }, 88 { 89 id: 'virtual-media', 90 label: this.$t('appNavigation.virtualMedia'), 91 route: '/control/virtual-media', 92 }, 93 ], 94 }, 95 { 96 id: 'configuration', 97 label: this.$t('appNavigation.configuration'), 98 icon: 'iconConfiguration', 99 children: [ 100 { 101 id: 'date-time-settings', 102 label: this.$t('appNavigation.dateTimeSettings'), 103 route: '/configuration/date-time-settings', 104 }, 105 { 106 id: 'firmware', 107 label: this.$t('appNavigation.firmware'), 108 route: '/configuration/firmware', 109 }, 110 { 111 id: 'network-settings', 112 label: this.$t('appNavigation.networkSettings'), 113 route: '/configuration/network-settings', 114 }, 115 { 116 id: 'security-settings', 117 label: this.$t('appNavigation.securitySettings'), 118 route: '/configuration/security-settings', 119 }, 120 { 121 id: 'snmp-settings', 122 label: this.$t('appNavigation.snmpSettings'), 123 route: '/snmp-settings', 124 }, 125 ], 126 }, 127 { 128 id: 'access-control', 129 label: this.$t('appNavigation.accessControl'), 130 icon: 'iconAccessControl', 131 children: [ 132 { 133 id: 'client-sessions', 134 label: this.$t('appNavigation.clientSessions'), 135 route: '/access-control/client-sessions', 136 }, 137 { 138 id: 'ldap', 139 label: this.$t('appNavigation.ldap'), 140 route: '/access-control/ldap', 141 }, 142 { 143 id: 'local-user-management', 144 label: this.$t('appNavigation.localUserManagement'), 145 route: '/access-control/local-user-management', 146 }, 147 { 148 id: 'ssl-certificates', 149 label: this.$t('appNavigation.sslCertificates'), 150 route: '/access-control/ssl-certificates', 151 }, 152 ], 153 }, 154 ], 155 }; 156 }, 157}; 158 159export default AppNavigationMixin; 160