From 090c2d44c47f4f68dd70c4c60b576542d7979836 Mon Sep 17 00:00:00 2001 From: SurenNeware Date: Wed, 1 Apr 2020 14:07:27 +0530 Subject: Add ServerLED page Added ability to turn on/off Indicator LED. Signed-off-by: Suren Neware Change-Id: Ia59eb0214530906dea840ff18ff22fc913870bb9 --- src/components/AppNavigation/AppNavigation.vue | 2 +- src/locales/en-US.json | 4 ++ src/router/index.js | 8 ++++ src/store/index.js | 4 +- src/store/modules/Control/ServerLedStore.js | 36 ++++++++++++++++++ src/views/Control/ServerLed/ServerLed.vue | 52 ++++++++++++++++++++++++++ src/views/Control/ServerLed/index.js | 2 + 7 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 src/store/modules/Control/ServerLedStore.js create mode 100644 src/views/Control/ServerLed/ServerLed.vue create mode 100644 src/views/Control/ServerLed/index.js diff --git a/src/components/AppNavigation/AppNavigation.vue b/src/components/AppNavigation/AppNavigation.vue index ef88adb4..f98db35d 100644 --- a/src/components/AppNavigation/AppNavigation.vue +++ b/src/components/AppNavigation/AppNavigation.vue @@ -40,7 +40,7 @@ {{ $t('appNavigation.rebootBmc') }} - + {{ $t('appNavigation.serverLed') }} diff --git a/src/locales/en-US.json b/src/locales/en-US.json index 5824e5fa..ff57c5d4 100644 --- a/src/locales/en-US.json +++ b/src/locales/en-US.json @@ -268,6 +268,10 @@ "upperCritical": "Upper critical" } }, + "pageServerLed": { + "serverLedSubTitle": "Server indicator LED", + "serverLedTitle": "LED light control" + }, "pageServerPowerOperations": { "currentStatus": "Current status", "hostOsBootSettings": "Host OS boot settings", diff --git a/src/router/index.js b/src/router/index.js index c3d44390..44c32467 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -63,6 +63,14 @@ const routes = [ title: 'appPageTitle.rebootBmc' } }, + { + path: '/control/server-led', + name: 'server-led', + component: () => import('@/views/Control/ServerLed'), + meta: { + title: 'appPageTitle.serverLed' + } + }, { path: '/control/server-power-operations', name: 'server-power-operations', diff --git a/src/store/index.js b/src/store/index.js index 364e16c0..ad55030a 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -14,6 +14,7 @@ import PowerControlStore from './modules/Control/PowerControlStore'; import NetworkSettingStore from './modules/Configuration/NetworkSettingsStore'; import EventLogStore from './modules/Health/EventLogStore'; import SensorsStore from './modules/Health/SensorsStore'; +import ServerLedStore from './modules/Control/ServerLedStore'; import WebSocketPlugin from './plugins/WebSocketPlugin'; @@ -36,7 +37,8 @@ export default new Vuex.Store({ networkSettings: NetworkSettingStore, eventLog: EventLogStore, sensors: SensorsStore, - sslCertificates: SslCertificatesStore + sslCertificates: SslCertificatesStore, + serverLed: ServerLedStore }, plugins: [WebSocketPlugin] }); diff --git a/src/store/modules/Control/ServerLedStore.js b/src/store/modules/Control/ServerLedStore.js new file mode 100644 index 00000000..c690d7cb --- /dev/null +++ b/src/store/modules/Control/ServerLedStore.js @@ -0,0 +1,36 @@ +import api from '../../api'; + +const ServerLedStore = { + namespaced: true, + state: { + indicatorValue: 'Off' + }, + getters: { + getIndicatorValue: state => state.indicatorValue + }, + mutations: { + setIndicatorValue(state, indicatorValue) { + state.indicatorValue = indicatorValue; + } + }, + actions: { + getIndicatorValue: ({ commit }) => { + api + .get('/redfish/v1/Systems/system') + .then(response => { + commit('setIndicatorValue', response.data.IndicatorLED); + }) + .catch(error => console.log(error)); + }, + saveIndicatorLedValue: ({ commit }, payload) => { + api + .patch('/redfish/v1/Systems/system', { IndicatorLED: payload }) + .then(() => { + commit('setIndicatorValue', payload); + }) + .catch(error => console.log(error)); + } + } +}; + +export default ServerLedStore; diff --git a/src/views/Control/ServerLed/ServerLed.vue b/src/views/Control/ServerLed/ServerLed.vue new file mode 100644 index 00000000..1b1c24ab --- /dev/null +++ b/src/views/Control/ServerLed/ServerLed.vue @@ -0,0 +1,52 @@ + + + diff --git a/src/views/Control/ServerLed/index.js b/src/views/Control/ServerLed/index.js new file mode 100644 index 00000000..1926dae8 --- /dev/null +++ b/src/views/Control/ServerLed/index.js @@ -0,0 +1,2 @@ +import ServerLed from './ServerLed.vue'; +export default ServerLed; -- cgit v1.2.3