i18n, vue-router and vuex upgrade
1. Configuration of i18n legacy as false.
2. Translation function t is called using the useI18n.
3. Used the i18n.global.t() function from i18n instead of this.$t()
4. Event bus error that occurred during logout.
5. Implemented vue-router 4.4.0 and vuex upgrade to 4.1.0
Change-Id: I9464d82c76dcc1445ce271983ea3ab9d7b03d265
Signed-off-by: Surya Venkatesan <suryav@ami.com>
diff --git a/src/components/AppNavigation/AppNavigation.vue b/src/components/AppNavigation/AppNavigation.vue
index 4c93be5..eb8c2c6 100644
--- a/src/components/AppNavigation/AppNavigation.vue
+++ b/src/components/AppNavigation/AppNavigation.vue
@@ -60,12 +60,14 @@
//Exact match alias set to support
//dotenv customizations.
import AppNavigationMixin from './AppNavigationMixin';
+import { useI18n } from 'vue-i18n';
export default {
name: 'AppNavigation',
mixins: [AppNavigationMixin],
data() {
return {
+ $t: useI18n().t,
isNavigationOpen: false,
currentUserRole: null,
};
diff --git a/src/components/AppNavigation/AppNavigationMixin.js b/src/components/AppNavigation/AppNavigationMixin.js
index b33b24b..c00e984 100644
--- a/src/components/AppNavigation/AppNavigationMixin.js
+++ b/src/components/AppNavigation/AppNavigationMixin.js
@@ -6,6 +6,7 @@
import IconSecurity from '@carbon/icons-vue/es/security/16';
import IconChevronUp from '@carbon/icons-vue/es/chevron--up/16';
import IconDataBase from '@carbon/icons-vue/es/data--base--alt/16';
+import i18n from '@/i18n';
const roles = {
administrator: 'Administrator',
operator: 'Operator',
@@ -29,88 +30,88 @@
navigationItems: [
{
id: 'overview',
- label: this.$t('appNavigation.overview'),
+ label: i18n.global.t('appNavigation.overview'),
route: '/',
icon: 'iconOverview',
},
{
id: 'logs',
- label: this.$t('appNavigation.logs'),
+ label: i18n.global.t('appNavigation.logs'),
icon: 'iconLogs',
children: [
{
id: 'event-logs',
- label: this.$t('appNavigation.eventLogs'),
+ label: i18n.global.t('appNavigation.eventLogs'),
route: '/logs/event-logs',
},
{
id: 'post-code-logs',
- label: this.$t('appNavigation.postCodeLogs'),
+ label: i18n.global.t('appNavigation.postCodeLogs'),
route: '/logs/post-code-logs',
},
],
},
{
id: 'hardware-status',
- label: this.$t('appNavigation.hardwareStatus'),
+ label: i18n.global.t('appNavigation.hardwareStatus'),
icon: 'iconHealth',
children: [
{
id: 'inventory',
- label: this.$t('appNavigation.inventory'),
+ label: i18n.global.t('appNavigation.inventory'),
route: '/hardware-status/inventory',
},
{
id: 'sensors',
- label: this.$t('appNavigation.sensors'),
+ label: i18n.global.t('appNavigation.sensors'),
route: '/hardware-status/sensors',
},
],
},
{
id: 'operations',
- label: this.$t('appNavigation.operations'),
+ label: i18n.global.t('appNavigation.operations'),
icon: 'iconControl',
children: [
{
id: 'factory-reset',
- label: this.$t('appNavigation.factoryReset'),
+ label: i18n.global.t('appNavigation.factoryReset'),
route: '/operations/factory-reset',
},
{
id: 'kvm',
- label: this.$t('appNavigation.kvm'),
+ label: i18n.global.t('appNavigation.kvm'),
route: '/operations/kvm',
},
{
id: 'key-clear',
- label: this.$t('appNavigation.keyClear'),
+ label: i18n.global.t('appNavigation.keyClear'),
route: '/operations/key-clear',
},
{
id: 'firmware',
- label: this.$t('appNavigation.firmware'),
+ label: i18n.global.t('appNavigation.firmware'),
route: '/operations/firmware',
},
{
id: 'reboot-bmc',
- label: this.$t('appNavigation.rebootBmc'),
+ label: i18n.global.t('appNavigation.rebootBmc'),
route: '/operations/reboot-bmc',
},
{
id: 'serial-over-lan',
- label: this.$t('appNavigation.serialOverLan'),
+ label: i18n.global.t('appNavigation.serialOverLan'),
route: '/operations/serial-over-lan',
exclusiveToRoles: [roles.administrator],
},
{
id: 'server-power-operations',
- label: this.$t('appNavigation.serverPowerOperations'),
+ label: i18n.global.t('appNavigation.serverPowerOperations'),
route: '/operations/server-power-operations',
},
{
id: 'virtual-media',
- label: this.$t('appNavigation.virtualMedia'),
+ label: i18n.global.t('appNavigation.virtualMedia'),
route: '/operations/virtual-media',
exclusiveToRoles: [roles.administrator],
},
@@ -118,71 +119,71 @@
},
{
id: 'settings',
- label: this.$t('appNavigation.settings'),
+ label: i18n.global.t('appNavigation.settings'),
icon: 'iconSettings',
children: [
{
id: 'date-time',
- label: this.$t('appNavigation.dateTime'),
+ label: i18n.global.t('appNavigation.dateTime'),
route: '/settings/date-time',
},
{
id: 'network',
- label: this.$t('appNavigation.network'),
+ label: i18n.global.t('appNavigation.network'),
route: '/settings/network',
},
{
id: 'power-restore-policy',
- label: this.$t('appNavigation.powerRestorePolicy'),
+ label: i18n.global.t('appNavigation.powerRestorePolicy'),
route: '/settings/power-restore-policy',
},
{
id: 'snmp-alerts',
- label: this.$t('appNavigation.snmpAlerts'),
+ label: i18n.global.t('appNavigation.snmpAlerts'),
route: '/settings/snmp-alerts',
},
],
},
{
id: 'security-and-access',
- label: this.$t('appNavigation.securityAndAccess'),
+ label: i18n.global.t('appNavigation.securityAndAccess'),
icon: 'iconSecurityAndAccess',
children: [
{
id: 'sessions',
- label: this.$t('appNavigation.sessions'),
+ label: i18n.global.t('appNavigation.sessions'),
route: '/security-and-access/sessions',
},
{
id: 'ldap',
- label: this.$t('appNavigation.ldap'),
+ label: i18n.global.t('appNavigation.ldap'),
route: '/security-and-access/ldap',
},
{
id: 'user-management',
- label: this.$t('appNavigation.userManagement'),
+ label: i18n.global.t('appNavigation.userManagement'),
route: '/security-and-access/user-management',
},
{
id: 'policies',
- label: this.$t('appNavigation.policies'),
+ label: i18n.global.t('appNavigation.policies'),
route: '/security-and-access/policies',
},
{
id: 'certificates',
- label: this.$t('appNavigation.certificates'),
+ label: i18n.global.t('appNavigation.certificates'),
route: '/security-and-access/certificates',
},
],
},
{
id: 'resource-management',
- label: this.$t('appNavigation.resourceManagement'),
+ label: i18n.global.t('appNavigation.resourceManagement'),
icon: 'iconResourceManagement',
children: [
{
id: 'power',
- label: this.$t('appNavigation.power'),
+ label: i18n.global.t('appNavigation.power'),
route: '/resource-management/power',
},
],