From 5f626550678ec100b041f3f3a9590e5a70904235 Mon Sep 17 00:00:00 2001 From: Alexey Velikiy Date: Thu, 28 Oct 2021 19:30:47 +0300 Subject: [PATCH] time/value order in TimeSerie.datapoints; Timestamp type; version 0.2.0 --- CHANGELOG.md | 4 ++++ package-lock.json | 2 +- package.json | 2 +- src/index.ts | 18 +++++++++--------- src/types.ts | 4 +++- 5 files changed, 18 insertions(+), 12 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..dd7ab6f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,4 @@ +# Changelog + +## 0.2.0 +* Change order of time\value in `TimeSerie` : now it's `[time, value][]` instead of `[value, time][]` diff --git a/package-lock.json b/package-lock.json index 39ebf9c..1e66a10 100755 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@chartwerk/core", - "version": "0.1.0", + "version": "0.1.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 543f4ff..8d35abf 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@chartwerk/core", - "version": "0.1.1", + "version": "0.2.0", "description": "Chartwerk core", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/src/index.ts b/src/index.ts index b1f7704..7fad2a3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -938,7 +938,7 @@ abstract class ChartwerkPod { this.series .filter(serie => serie.visible !== false && this.filterSerieByYAxisOrientation(serie, yAxisOrientation.LEFT)) .map( - serie => minBy(serie.datapoints, dp => dp[0])[0] + serie => minBy(serie.datapoints, dp => dp[1])[1] ) ); return minValue; @@ -956,7 +956,7 @@ abstract class ChartwerkPod { this.series .filter(serie => serie.visible !== false && this.filterSerieByYAxisOrientation(serie, yAxisOrientation.LEFT)) .map( - serie => maxBy(serie.datapoints, dp => dp[0])[0] + serie => maxBy(serie.datapoints, dp => dp[1])[1] ) ); return maxValue; @@ -974,7 +974,7 @@ abstract class ChartwerkPod { this.series .filter(serie => serie.visible !== false && this.filterSerieByYAxisOrientation(serie, yAxisOrientation.RIGHT)) .map( - serie => minBy(serie.datapoints, dp => dp[0])[0] + serie => minBy(serie.datapoints, dp => dp[1])[1] ) ); return minValue; @@ -991,7 +991,7 @@ abstract class ChartwerkPod { this.series .filter(serie => serie.visible !== false && this.filterSerieByYAxisOrientation(serie, yAxisOrientation.RIGHT)) .map( - serie => maxBy(serie.datapoints, dp => dp[0])[0] + serie => maxBy(serie.datapoints, dp => dp[1])[1] ) ); return maxValue; @@ -1009,7 +1009,7 @@ abstract class ChartwerkPod { this.series .filter(serie => serie.visible !== false) .map( - serie => minBy(serie.datapoints, dp => dp[1])[1] + serie => minBy(serie.datapoints, dp => dp[0])[0] ) ); return minValue; @@ -1026,7 +1026,7 @@ abstract class ChartwerkPod { this.series .filter(serie => serie.visible !== false) .map( - serie => maxBy(serie.datapoints, dp => dp[1])[1] + serie => maxBy(serie.datapoints, dp => dp[0])[0] ) ); return maxValue; @@ -1058,8 +1058,8 @@ abstract class ChartwerkPod { if(this.series.length === 0) { return undefined; } - const startTimestamp = first(this.series[0].datapoints)[1]; - const endTimestamp = last(this.series[0].datapoints)[1]; + const startTimestamp = first(this.series[0].datapoints)[0]; + const endTimestamp = last(this.series[0].datapoints)[0]; return (endTimestamp - startTimestamp) / 1000; } @@ -1095,7 +1095,7 @@ abstract class ChartwerkPod { get timeInterval(): number { if(this.series !== undefined && this.series.length > 0 && this.series[0].datapoints.length > 1) { - const interval = this.series[0].datapoints[1][1] - this.series[0].datapoints[0][1]; + const interval = this.series[0].datapoints[1][0] - this.series[0].datapoints[0][0]; return interval; } if(this.options.timeInterval !== undefined && this.options.timeInterval.count !== undefined) { diff --git a/src/types.ts b/src/types.ts index b49967d..182a82b 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1,8 +1,10 @@ export type Margin = { top: number, right: number, bottom: number, left: number }; +export type Timestamp = number; + // TODO: Pods can render not only "time" series export type TimeSerie = { target: string, - datapoints: [number, number][], + datapoints: [Timestamp, number][], alias?: string, visible?: boolean, color?: string,