summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitalii Lysak <v.lysak@dunice.net>2022-07-26 10:12:54 +0300
committerVitalii Lysak <v.lysak@dunice.net>2022-07-26 10:12:54 +0300
commita12e4b6810fd55f66f051c69ae832dfbbdebf29f (patch)
treebe491e1f178b47ba867f58e67bed54d1e7e6477d
parent649cef6498f35fa38eb454010942d50179647d62 (diff)
downloadwebui-vue-a12e4b6810fd55f66f051c69ae832dfbbdebf29f.tar.xz
sort data before work, chart
-rw-r--r--src/components/_sila/Global/Chart.vue39
1 files changed, 13 insertions, 26 deletions
diff --git a/src/components/_sila/Global/Chart.vue b/src/components/_sila/Global/Chart.vue
index ab84c135..8cee2497 100644
--- a/src/components/_sila/Global/Chart.vue
+++ b/src/components/_sila/Global/Chart.vue
@@ -53,14 +53,15 @@ export default {
};
},
computed: {
- step() {
- return this.timeScale === 'hour' ? 10 : 1;
- },
- metricData() {
+ readyData() {
let filteredData = this.data.filter((metric) => {
return metric.MetricValue !== 'nan';
});
+ filteredData.sort((a, b) => {
+ return new Date(a.Timestamp) - new Date(b.Timestamp);
+ });
+
let transform = filteredData.map((metric) => {
let date = new Date(metric.Timestamp);
let time;
@@ -77,7 +78,13 @@ export default {
};
});
- let group = transform.reduce(function (rv, x) {
+ return transform;
+ },
+ step() {
+ return this.timeScale === 'hour' ? 10 : 1;
+ },
+ metricData() {
+ let group = this.readyData.reduce(function (rv, x) {
(rv[x['MetricProperty']] = rv[x['MetricProperty']] || []).push(x);
return rv;
}, {});
@@ -111,27 +118,7 @@ export default {
},
metricTime() {
- let filteredData = this.data.filter((metric) => {
- return metric.MetricValue !== 'nan';
- });
-
- let transform = filteredData.map((metric) => {
- let date = new Date(metric.Timestamp);
- let time;
- if (this.timeScale === 'hour') {
- time =
- date.getHours() + ':' + String(date.getMinutes()).padStart(2, '0');
- } else {
- time = date.getHours() + ':00';
- }
- return {
- ...metric,
- Timestamp: time,
- MetricValue: Math.round(metric.MetricValue),
- };
- });
-
- let timeGroup = transform.reduce(function (rv, x) {
+ let timeGroup = this.readyData.reduce(function (rv, x) {
(rv[x['Timestamp']] = rv[x['Timestamp']] || []).push(x);
return rv;
}, {});