From 8e1c470169704c1dc05587af002ea1cf44e3d589 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 19 Jul 2022 17:35:52 +0200 Subject: [PATCH] Client - fix units when ascent and descent are displayed on chart --- .../components/Common/StatsChart/Chart.vue | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/fittrackee_client/src/components/Common/StatsChart/Chart.vue b/fittrackee_client/src/components/Common/StatsChart/Chart.vue index 7fb95b09..9b75223d 100644 --- a/fittrackee_client/src/components/Common/StatsChart/Chart.vue +++ b/fittrackee_client/src/components/Common/StatsChart/Chart.vue @@ -55,6 +55,11 @@ function getSum(total: any, value: any): number { return getNumber(total) + getNumber(value) } + function getUnit(displayedData: string) { + return ['total_ascent', 'total_descent'].includes(displayedData) + ? 'm' + : 'km' + } const chartData: ComputedRef> = computed(() => ({ labels: props.labels, // workaround to avoid dataset modification @@ -88,7 +93,8 @@ props.displayedData, +value, props.useImperialUnits, - false + false, + getUnit(props.displayedData) ) }, }, @@ -137,9 +143,6 @@ const total: number = context.chart.data.datasets .map((d) => d.data[context.dataIndex]) .reduce((total, value) => getSum(total, value), 0) - let unitFrom = 'km' - if (props.displayedData === 'total_ascent' || props.displayedData === 'total_descent') - unitFrom = 'm' return context.datasetIndex === props.displayedSportIds.length - 1 && total > 0 ? formatTooltipValue( @@ -147,7 +150,7 @@ total, props.useImperialUnits, false, - unitFrom + getUnit(props.displayedData) ) : null } @@ -176,7 +179,9 @@ label += formatTooltipValue( props.displayedData, context.parsed.y, - props.useImperialUnits + props.useImperialUnits, + true, + getUnit(props.displayedData) ) } return label @@ -194,7 +199,9 @@ formatTooltipValue( props.displayedData, sum, - props.useImperialUnits + props.useImperialUnits, + true, + getUnit(props.displayedData) ) ) },