diff options
author | Vitalii Lysak <v.lysak@dunice.net> | 2022-07-26 10:12:54 +0300 |
---|---|---|
committer | Vitalii Lysak <v.lysak@dunice.net> | 2022-07-26 10:12:54 +0300 |
commit | a12e4b6810fd55f66f051c69ae832dfbbdebf29f (patch) | |
tree | be491e1f178b47ba867f58e67bed54d1e7e6477d /src | |
parent | 649cef6498f35fa38eb454010942d50179647d62 (diff) | |
download | webui-vue-a12e4b6810fd55f66f051c69ae832dfbbdebf29f.tar.xz |
sort data before work, chart
Diffstat (limited to 'src')
-rw-r--r-- | src/components/_sila/Global/Chart.vue | 39 |
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; }, {}); |