1828dda9bSDerick Montagueimport IconDashboard from '@carbon/icons-vue/es/dashboard/16'; 2828dda9bSDerick Montagueimport IconTextLinkAnalysis from '@carbon/icons-vue/es/text-link--analysis/16'; 30214fedbSYoshie Muranakaimport IconDataCheck from '@carbon/icons-vue/es/data--check/16'; 40214fedbSYoshie Muranakaimport IconSettingsAdjust from '@carbon/icons-vue/es/settings--adjust/16'; 50214fedbSYoshie Muranakaimport IconSettings from '@carbon/icons-vue/es/settings/16'; 6b440616cSSandeepa Singhimport IconSecurity from '@carbon/icons-vue/es/security/16'; 70214fedbSYoshie Muranakaimport IconChevronUp from '@carbon/icons-vue/es/chevron--up/16'; 86dba4be6SSandeepa Singhimport IconDataBase from '@carbon/icons-vue/es/data--base--alt/16'; 9*de23ea23SSurya Vimport i18n from '@/i18n'; 100214fedbSYoshie Muranaka 110214fedbSYoshie Muranakaconst AppNavigationMixin = { 120214fedbSYoshie Muranaka components: { 13828dda9bSDerick Montague iconOverview: IconDashboard, 14828dda9bSDerick Montague iconLogs: IconTextLinkAnalysis, 150214fedbSYoshie Muranaka iconHealth: IconDataCheck, 160214fedbSYoshie Muranaka iconControl: IconSettingsAdjust, 17f67f769fSSandeepa Singh iconSettings: IconSettings, 18b440616cSSandeepa Singh iconSecurityAndAccess: IconSecurity, 19602e98aaSDerick Montague iconExpand: IconChevronUp, 206dba4be6SSandeepa Singh iconResourceManagement: IconDataBase, 210214fedbSYoshie Muranaka }, 220214fedbSYoshie Muranaka data() { 230214fedbSYoshie Muranaka return { 240214fedbSYoshie Muranaka navigationItems: [ 250214fedbSYoshie Muranaka { 260214fedbSYoshie Muranaka id: 'overview', 27*de23ea23SSurya V label: i18n.global.t('appNavigation.overview'), 280214fedbSYoshie Muranaka route: '/', 29602e98aaSDerick Montague icon: 'iconOverview', 300214fedbSYoshie Muranaka }, 310214fedbSYoshie Muranaka { 32828dda9bSDerick Montague id: 'logs', 33*de23ea23SSurya V label: i18n.global.t('appNavigation.logs'), 34828dda9bSDerick Montague icon: 'iconLogs', 350214fedbSYoshie Muranaka children: [ 360214fedbSYoshie Muranaka { 3722d4d527SYoshie Muranaka id: 'dumps', 38*de23ea23SSurya V label: i18n.global.t('appNavigation.dumps'), 39828dda9bSDerick Montague route: '/logs/dumps', 4022d4d527SYoshie Muranaka }, 4122d4d527SYoshie Muranaka { 420214fedbSYoshie Muranaka id: 'event-logs', 43*de23ea23SSurya V label: i18n.global.t('appNavigation.eventLogs'), 44828dda9bSDerick Montague route: '/logs/event-logs', 450214fedbSYoshie Muranaka }, 460214fedbSYoshie Muranaka { 4706d53863SSandeepa Singh id: 'post-code-logs', 48*de23ea23SSurya V label: i18n.global.t('appNavigation.postCodeLogs'), 497affc529SSandeepa Singh route: '/logs/post-code-logs', 507affc529SSandeepa Singh }, 517affc529SSandeepa Singh ], 527affc529SSandeepa Singh }, 537affc529SSandeepa Singh { 547affc529SSandeepa Singh id: 'hardware-status', 55*de23ea23SSurya V label: i18n.global.t('appNavigation.hardwareStatus'), 567affc529SSandeepa Singh icon: 'iconHealth', 577affc529SSandeepa Singh children: [ 587affc529SSandeepa Singh { 597affc529SSandeepa Singh id: 'inventory', 60*de23ea23SSurya V label: i18n.global.t('appNavigation.inventory'), 617affc529SSandeepa Singh route: '/hardware-status/inventory', 6206d53863SSandeepa Singh }, 6306d53863SSandeepa Singh { 640214fedbSYoshie Muranaka id: 'sensors', 65*de23ea23SSurya V label: i18n.global.t('appNavigation.sensors'), 667affc529SSandeepa Singh route: '/hardware-status/sensors', 67602e98aaSDerick Montague }, 68602e98aaSDerick Montague ], 690214fedbSYoshie Muranaka }, 700214fedbSYoshie Muranaka { 7168cbbe90SSandeepa Singh id: 'operations', 72*de23ea23SSurya V label: i18n.global.t('appNavigation.operations'), 730214fedbSYoshie Muranaka icon: 'iconControl', 7405887b50SSandeepa Singh children: this.operationsNavigationItems(), 750214fedbSYoshie Muranaka }, 760214fedbSYoshie Muranaka { 77f67f769fSSandeepa Singh id: 'settings', 78*de23ea23SSurya V label: i18n.global.t('appNavigation.settings'), 79f67f769fSSandeepa Singh icon: 'iconSettings', 800214fedbSYoshie Muranaka children: [ 810214fedbSYoshie Muranaka { 82f67f769fSSandeepa Singh id: 'date-time', 83*de23ea23SSurya V label: i18n.global.t('appNavigation.dateTime'), 84f67f769fSSandeepa Singh route: '/settings/date-time', 850214fedbSYoshie Muranaka }, 860214fedbSYoshie Muranaka { 87f67f769fSSandeepa Singh id: 'network', 88*de23ea23SSurya V label: i18n.global.t('appNavigation.network'), 89f67f769fSSandeepa Singh route: '/settings/network', 90f67f769fSSandeepa Singh }, 91f67f769fSSandeepa Singh { 92f67f769fSSandeepa Singh id: 'power-restore-policy', 93*de23ea23SSurya V label: i18n.global.t('appNavigation.powerRestorePolicy'), 94f67f769fSSandeepa Singh route: '/settings/power-restore-policy', 950214fedbSYoshie Muranaka }, 96602e98aaSDerick Montague ], 970214fedbSYoshie Muranaka }, 980214fedbSYoshie Muranaka { 99b440616cSSandeepa Singh id: 'security-and-access', 100*de23ea23SSurya V label: i18n.global.t('appNavigation.securityAndAccess'), 101b440616cSSandeepa Singh icon: 'iconSecurityAndAccess', 1020214fedbSYoshie Muranaka children: [ 1030214fedbSYoshie Muranaka { 104b440616cSSandeepa Singh id: 'sessions', 105*de23ea23SSurya V label: i18n.global.t('appNavigation.sessions'), 106b440616cSSandeepa Singh route: '/security-and-access/sessions', 107ca22a42bSYoshie Muranaka }, 108ca22a42bSYoshie Muranaka { 1090214fedbSYoshie Muranaka id: 'ldap', 110*de23ea23SSurya V label: i18n.global.t('appNavigation.ldap'), 111b440616cSSandeepa Singh route: '/security-and-access/ldap', 1120214fedbSYoshie Muranaka }, 1130214fedbSYoshie Muranaka { 114b440616cSSandeepa Singh id: 'user-management', 115*de23ea23SSurya V label: i18n.global.t('appNavigation.userManagement'), 116b440616cSSandeepa Singh route: '/security-and-access/user-management', 1170214fedbSYoshie Muranaka }, 1180214fedbSYoshie Muranaka { 119b440616cSSandeepa Singh id: 'policies', 120*de23ea23SSurya V label: i18n.global.t('appNavigation.policies'), 121b440616cSSandeepa Singh route: '/security-and-access/policies', 122b440616cSSandeepa Singh }, 123b440616cSSandeepa Singh { 124b440616cSSandeepa Singh id: 'certificates', 125*de23ea23SSurya V label: i18n.global.t('appNavigation.certificates'), 126b440616cSSandeepa Singh route: '/security-and-access/certificates', 127602e98aaSDerick Montague }, 128602e98aaSDerick Montague ], 129602e98aaSDerick Montague }, 1306dba4be6SSandeepa Singh { 1316dba4be6SSandeepa Singh id: 'resource-management', 132*de23ea23SSurya V label: i18n.global.t('appNavigation.resourceManagement'), 1336dba4be6SSandeepa Singh icon: 'iconResourceManagement', 1346dba4be6SSandeepa Singh children: [ 1356dba4be6SSandeepa Singh { 1366dba4be6SSandeepa Singh id: 'power', 137*de23ea23SSurya V label: i18n.global.t('appNavigation.power'), 1386dba4be6SSandeepa Singh route: '/resource-management/power', 1396dba4be6SSandeepa Singh }, 1406dba4be6SSandeepa Singh ], 1416dba4be6SSandeepa Singh }, 142602e98aaSDerick Montague ], 1430214fedbSYoshie Muranaka }; 144602e98aaSDerick Montague }, 14505887b50SSandeepa Singh methods: { 14605887b50SSandeepa Singh operationsNavigationItems() { 14705887b50SSandeepa Singh const username = this.$store.getters['global/username']; 14805887b50SSandeepa Singh let operationNavigationItems = [ 14905887b50SSandeepa Singh { 15005887b50SSandeepa Singh id: 'factory-reset', 151*de23ea23SSurya V label: i18n.global.t('appNavigation.factoryReset'), 15205887b50SSandeepa Singh route: '/operations/factory-reset', 15305887b50SSandeepa Singh }, 15405887b50SSandeepa Singh { 15505887b50SSandeepa Singh id: 'firmware', 156*de23ea23SSurya V label: i18n.global.t('appNavigation.firmware'), 15705887b50SSandeepa Singh route: '/operations/firmware', 15805887b50SSandeepa Singh }, 15905887b50SSandeepa Singh { 16005887b50SSandeepa Singh id: 'reboot-bmc', 161*de23ea23SSurya V label: i18n.global.t('appNavigation.rebootBmc'), 16205887b50SSandeepa Singh route: '/operations/reboot-bmc', 16305887b50SSandeepa Singh }, 16405887b50SSandeepa Singh { 16505887b50SSandeepa Singh id: 'serial-over-lan', 166*de23ea23SSurya V label: i18n.global.t('appNavigation.serialOverLan'), 16705887b50SSandeepa Singh route: '/operations/serial-over-lan', 16805887b50SSandeepa Singh }, 16905887b50SSandeepa Singh { 17005887b50SSandeepa Singh id: 'server-power-operations', 171*de23ea23SSurya V label: i18n.global.t('appNavigation.serverPowerOperations'), 17205887b50SSandeepa Singh route: '/operations/server-power-operations', 17305887b50SSandeepa Singh }, 17405887b50SSandeepa Singh ]; 17505887b50SSandeepa Singh let pageKeyClear = { 17605887b50SSandeepa Singh id: 'key-clear', 177*de23ea23SSurya V label: i18n.global.t('appNavigation.keyClear'), 17805887b50SSandeepa Singh route: '/operations/key-clear', 17905887b50SSandeepa Singh }; 18005887b50SSandeepa Singh if (username === 'service' || username === 'admin') { 18105887b50SSandeepa Singh operationNavigationItems.splice(2, 0, pageKeyClear); 18205887b50SSandeepa Singh } 18305887b50SSandeepa Singh return operationNavigationItems; 18405887b50SSandeepa Singh }, 18505887b50SSandeepa Singh }, 1860214fedbSYoshie Muranaka}; 1870214fedbSYoshie Muranaka 1880214fedbSYoshie Muranakaexport default AppNavigationMixin; 189