xref: /openbmc/webui-vue/src/env/components/AppNavigation/ibm.js (revision de23ea23d88451a2fa2774ec72053772603c23ae)
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