summaryrefslogtreecommitdiff
path: root/src/views/_sila/Memory/Dynamic/MemoryTemp.vue
diff options
context:
space:
mode:
Diffstat (limited to 'src/views/_sila/Memory/Dynamic/MemoryTemp.vue')
-rw-r--r--src/views/_sila/Memory/Dynamic/MemoryTemp.vue82
1 files changed, 54 insertions, 28 deletions
diff --git a/src/views/_sila/Memory/Dynamic/MemoryTemp.vue b/src/views/_sila/Memory/Dynamic/MemoryTemp.vue
index 3505f827..f69e797a 100644
--- a/src/views/_sila/Memory/Dynamic/MemoryTemp.vue
+++ b/src/views/_sila/Memory/Dynamic/MemoryTemp.vue
@@ -4,11 +4,11 @@
<img src="@/assets/images/_sila/collapsed/temperature.svg" />
{{ $t('pageMemory.temperature') }}
</b-col>
- <!-- <b-row class="align-items-end limit-container">
+ <b-row class="align-items-end limit-container">
<b-col xs="12" sm="6" xl="3" class="pt-4">
- <b-form-group :label="$t('pageMemory.labels.notNormal')">
+ <b-form-group :label="$t('pageMemory.labels.warning')">
<b-form-input
- v-model="notNormal"
+ v-model.number="warning"
type="number"
:min="0"
:max="critical"
@@ -18,39 +18,27 @@
<b-col xs="12" sm="6" xl="3" class="pt-4">
<b-form-group :label="$t('pageMemory.labels.critical')">
<b-form-input
- v-model="critical"
- type="number"
- :min="notNormal"
- :max="warning"
- >
- </b-form-input>
- </b-form-group>
- </b-col>
- <b-col xs="12" sm="6" xl="3" class="pt-4">
- <b-form-group :label="$t('pageMemory.labels.warning')">
- <b-form-input
- v-model="warning"
+ v-model.number="critical"
type="number"
- :min="critical"
+ :min="warning"
:max="100"
>
</b-form-input>
</b-form-group>
</b-col>
<b-col xs="12" sm="6" xl="3" class="pt-4">
- <b-button variant="primary" style="height: 35px">
+ <b-button variant="primary" style="height: 35px" @click="saveLimit">
{{ $t('global.action.save') }}
</b-button>
</b-col>
- </b-row> -->
+ </b-row>
<chart
type="memory"
:colors="colors"
:time-scale="timeScale"
:data="filteredSensors"
- :warning="warning"
- :not-normal="notNormal"
- :critical="critical"
+ :warning="warningLimit"
+ :critical="criticalLimit"
></chart>
<b-table
responsive="md"
@@ -94,12 +82,13 @@ import Chart from '@/components/_sila/Global/Chart';
import DataFormatterMixin from '@/components/_sila/Mixins/DataFormatterMixin';
import LoadingBarMixin from '@/components/_sila/Mixins/LoadingBarMixin';
import TableFilterMixin from '@/components/_sila/Mixins/TableFilterMixin';
+import BVToastMixin from '@/components/_sila/Mixins/BVToastMixin';
-import { getItems } from '@/utilities/_sila/metricProperties';
+import { getGroups, getItems } from '@/utilities/_sila/metricProperties';
export default {
components: { Chart },
- mixins: [DataFormatterMixin, LoadingBarMixin, TableFilterMixin],
+ mixins: [DataFormatterMixin, LoadingBarMixin, TableFilterMixin, BVToastMixin],
props: {
timeScale: {
type: String,
@@ -108,9 +97,8 @@ export default {
},
data() {
return {
- warning: 72,
- notNormal: 44,
- critical: 55,
+ warning: null,
+ critical: null,
isBusy: true,
fields: [
{
@@ -146,10 +134,34 @@ export default {
},
computed: {
+ groups() {
+ return getGroups(this.filteredSensors);
+ },
items() {
return getItems(this.filteredSensors);
},
+ limits() {
+ return this.$store.getters['memory/limits'];
+ },
+
+ warningLimit() {
+ return this.limits.find((limit) => {
+ return (
+ limit?.UpperThresholdNonCritical &&
+ this.groups.includes(limit.MemberId)
+ );
+ })?.UpperThresholdNonCritical;
+ },
+
+ criticalLimit() {
+ return this.limits.find((limit) => {
+ return (
+ limit?.UpperThresholdCritical && this.groups.includes(limit.MemberId)
+ );
+ })?.UpperThresholdCritical;
+ },
+
allSensors() {
return this.timeScale === 'hour'
? this.$store.getters['memory/dimmsLastHour']
@@ -180,6 +192,16 @@ export default {
},
methods: {
+ saveLimit() {
+ this.startLoader();
+ this.$store
+ .dispatch('memory/patchLimits', {
+ warning: this.warning,
+ groups: this.groups,
+ })
+ .catch(({ message }) => this.errorToast(message))
+ .finally(() => this.endLoader());
+ },
loadData() {
let payload = { lastHour: false };
if (this.timeScale === 'hour') {
@@ -188,8 +210,12 @@ export default {
this.startLoader();
this.$store.dispatch('memory/getMemoryDynamic', payload).finally(() => {
- this.endLoader();
- this.isBusy = false;
+ this.$store.dispatch('memory/getLimits').finally(() => {
+ this.warning = this.warningLimit;
+ this.critical = this.criticalLimit;
+ this.endLoader();
+ this.isBusy = false;
+ });
});
},
},