From 4dd7eabfa4476e264e051dc0178a333452a6b175 Mon Sep 17 00:00:00 2001 From: Sukanya Pandey Date: Mon, 16 Aug 2021 18:59:14 +0530 Subject: Add system information on Appheader page - Model type and serial number are newly added system info data on Appheader. - On small screens and below system information(model type, serial number and asset tag) will be hidden. - On large screen and below model type and serial number will be visible but asset tag will be hidden. - For all other screens all the system info will be visible. Signed-off-by: Sukanya Pandey Change-Id: Ia844a26f658083cbd5fa9c8f3f6bea8b65ddcd11 --- src/components/AppHeader/AppHeader.vue | 39 ++++++++++++++++++++++++++-------- src/store/modules/GlobalStore.js | 21 ++++++++++++++++-- 2 files changed, 49 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/components/AppHeader/AppHeader.vue b/src/components/AppHeader/AppHeader.vue index 26f4a683..4e806fb9 100644 --- a/src/components/AppHeader/AppHeader.vue +++ b/src/components/AppHeader/AppHeader.vue @@ -41,9 +41,11 @@ :alt="altLogo" /> -
- | - {{ assetTag }} + @@ -132,9 +134,18 @@ export default { }; }, computed: { + isNavTagPresent() { + return this.assetTag || this.modelType || this.serialNumber; + }, assetTag() { return this.$store.getters['global/assetTag']; }, + modelType() { + return this.$store.getters['global/modelType']; + }, + serialNumber() { + return this.$store.getters['global/serialNumber']; + }, isAuthorized() { return this.$store.getters['global/isAuthorized']; }, @@ -186,7 +197,7 @@ export default { // Reset auth state to check if user is authenticated based // on available browser cookies this.$store.dispatch('authentication/resetStoreState'); - this.getServerInfo(); + this.getSystemInfo(); this.getEvents(); }, mounted() { @@ -196,8 +207,8 @@ export default { ); }, methods: { - getServerInfo() { - this.$store.dispatch('global/getServerStatus'); + getSystemInfo() { + this.$store.dispatch('global/getSystemInfo'); }, getEvents() { this.$store.dispatch('eventLog/getEventLogData'); @@ -284,22 +295,32 @@ export default { .responsive-text { @include media-breakpoint-down(xs) { - display: none; + @include sr-only; } } } } .navbar-nav { - padding: 0 $spacer; + @include media-breakpoint-up($responsive-layout-bp) { + padding: 0 $spacer; + } align-items: center; .navbar-brand, .nav-link { transition: $focus-transition; } - .asset-tag { + .nav-tags { color: theme-color-level(light, 3); + @include media-breakpoint-down(xs) { + @include sr-only; + } + .asset-tag { + @include media-breakpoint-down($responsive-layout-bp) { + @include sr-only; + } + } } } diff --git a/src/store/modules/GlobalStore.js b/src/store/modules/GlobalStore.js index fdfdc93f..95d7a083 100644 --- a/src/store/modules/GlobalStore.js +++ b/src/store/modules/GlobalStore.js @@ -31,6 +31,8 @@ const GlobalStore = { state: { assetTag: null, bmcTime: null, + modelType: null, + serialNumber: null, serverStatus: 'unreachable', languagePreference: localStorage.getItem('storedLanguage') || 'en-US', isUtcDisplay: localStorage.getItem('storedUtcDisplay') @@ -41,6 +43,8 @@ const GlobalStore = { }, getters: { assetTag: (state) => state.assetTag, + modelType: (state) => state.modelType, + serialNumber: (state) => state.serialNumber, serverStatus: (state) => state.serverStatus, bmcTime: (state) => state.bmcTime, languagePreference: (state) => state.languagePreference, @@ -50,6 +54,9 @@ const GlobalStore = { }, mutations: { setAssetTag: (state, assetTag) => (state.assetTag = assetTag), + setModelType: (state, modelType) => (state.modelType = modelType), + setSerialNumber: (state, serialNumber) => + (state.serialNumber = serialNumber), setBmcTime: (state, bmcTime) => (state.bmcTime = bmcTime), setServerStatus: (state, serverState) => (state.serverStatus = serverStateMapper(serverState)), @@ -75,12 +82,22 @@ const GlobalStore = { }) .catch((error) => console.log(error)); }, - getServerStatus({ commit }) { + getSystemInfo({ commit }) { api .get('/redfish/v1/Systems/system') .then( - ({ data: { AssetTag, PowerState, Status: { State } = {} } } = {}) => { + ({ + data: { + AssetTag, + Model, + PowerState, + SerialNumber, + Status: { State } = {}, + }, + } = {}) => { commit('setAssetTag', AssetTag); + commit('setSerialNumber', SerialNumber); + commit('setModelType', Model); if (State === 'Quiesced' || State === 'InTest') { // OpenBMC's host state interface is mapped to 2 Redfish // properties "Status""State" and "PowerState". Look first -- cgit v1.2.3