summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitalii Lysak <v.lysak@dunice.net>2022-08-09 12:40:12 +0300
committerVitalii Lysak <v.lysak@dunice.net>2022-08-09 12:40:12 +0300
commitebb64e0052f55ccdb403c4484f9a3a365ffd283f (patch)
tree490983a44814d8fce3764193561888f976c7daf8
parentb735d7c92f507fb1fc5f489e6b2c841575082260 (diff)
downloadwebui-vue-ebb64e0052f55ccdb403c4484f9a3a365ffd283f.tar.xz
SILABMC-226: event additional data
-rw-r--r--src/locales/en-US.json3
-rw-r--r--src/locales/ru-RU.json3
-rw-r--r--src/store/modules/Logs/EventLogStore.js10
-rw-r--r--src/views/_sila/Logs/EventLogs/EventLogs.vue14
4 files changed, 26 insertions, 4 deletions
diff --git a/src/locales/en-US.json b/src/locales/en-US.json
index a3302c07..8b807b6c 100644
--- a/src/locales/en-US.json
+++ b/src/locales/en-US.json
@@ -311,7 +311,8 @@
"errorUnresolveLogs": "Error unresolving %{count} log. | Error unresolving %{count} logs.",
"successDelete": "Successfully deleted %{count} log. | Successfully deleted %{count} logs.",
"successResolveLogs": "Successfully resolved %{count} log. | Successfully resolved %{count} logs.",
- "successUnresolveLogs": "Successfully unresolved %{count} log. | Successfully unresolved %{count} logs."
+ "successUnresolveLogs": "Successfully unresolved %{count} log. | Successfully unresolved %{count} logs.",
+ "errorLoadAdditionalData": "Error loading additional data"
}
},
"pageFactoryReset": {
diff --git a/src/locales/ru-RU.json b/src/locales/ru-RU.json
index 574cf0ee..6baeb179 100644
--- a/src/locales/ru-RU.json
+++ b/src/locales/ru-RU.json
@@ -311,7 +311,8 @@
"errorUnresolveLogs": "Ошибка снятия разрешения с %{count} записи. | Ошибка снятия разрешения с %{count} записей.",
"successDelete": "Успешное удаление %{count} записи. | Успешное удаление всех %{count} записей.",
"successResolveLogs": "Успешное разрешение %{count} записи. | Успешное разрешение %{count} записей.",
- "successUnresolveLogs": "Успешная отмена разрешения с %{count} записи. | Успешная отмена разрешения с %{count} записей."
+ "successUnresolveLogs": "Успешная отмена разрешения с %{count} записи. | Успешная отмена разрешения с %{count} записей.",
+ "errorLoadAdditionalData": "Ошибка загрузки дополнительных данных"
}
},
"pageFactoryReset": {
diff --git a/src/store/modules/Logs/EventLogStore.js b/src/store/modules/Logs/EventLogStore.js
index c9bd82fd..d67d6959 100644
--- a/src/store/modules/Logs/EventLogStore.js
+++ b/src/store/modules/Logs/EventLogStore.js
@@ -24,6 +24,7 @@ const EventLogStore = {
namespaced: true,
state: {
allEvents: [],
+ additionalData: [],
loadedEvents: false,
},
getters: {
@@ -31,13 +32,22 @@ const EventLogStore = {
highPriorityEvents: (state) => getHighPriorityEvents(state.allEvents),
healthStatus: (state) =>
getHealthStatus(state.allEvents, state.loadedEvents),
+ additionalData: (state) => state.additionalData,
},
mutations: {
setAllEvents: (state, allEvents) => (
(state.allEvents = allEvents), (state.loadedEvents = true)
),
+ setAdditionalData: (state, data) => {
+ state.additionalData = data;
+ },
},
actions: {
+ async getAdditionalData({ commit }, url) {
+ return await api.get(`${url}/`).then((data) => {
+ commit('setAdditionalData', data);
+ });
+ },
async getEventLogData({ commit }) {
return await api
.get('/redfish/v1/Systems/system/LogServices/EventLog/Entries')
diff --git a/src/views/_sila/Logs/EventLogs/EventLogs.vue b/src/views/_sila/Logs/EventLogs/EventLogs.vue
index 6fe7bc5d..8cc65bfb 100644
--- a/src/views/_sila/Logs/EventLogs/EventLogs.vue
+++ b/src/views/_sila/Logs/EventLogs/EventLogs.vue
@@ -158,8 +158,7 @@
<b-col class="text-nowrap">
<b-button
class="btn btn-secondary float-right"
- :href="item.additionalDataUri"
- target="_blank"
+ @click="loadAdditionalData(item.additionalDataUri)"
>
<icon-download />{{ $t('pageEventLogs.additionalDataUri') }}
</b-button>
@@ -466,6 +465,17 @@ export default {
});
},
methods: {
+ loadAdditionalData(url) {
+ this.startLoader();
+ this.$store
+ .dispatch('eventLog/getAdditionalData', url)
+ .catch(() =>
+ this.errorToast(
+ this.$t('pageEventLogs.toast.errorLoadAdditionalData')
+ )
+ )
+ .finally(() => this.endLoader());
+ },
onSearchBy(field) {
this.filterIncludedFields = field === 'all' ? null : [field];
},