From c965e8559b3b955a52a687f6edc9184524dfd6ab Mon Sep 17 00:00:00 2001 From: TBalint2000 Date: Wed, 24 Jul 2024 17:53:10 +0200 Subject: [PATCH] fix: use mergedAuthors instead of selectedAuthors in statistics Ref:#237 Time-spent: 0h28m --- .../commitTimeTracking/chart/chart.tsx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/binocular-frontend/src/visualizations/VisualizationComponents/commitTimeTracking/chart/chart.tsx b/binocular-frontend/src/visualizations/VisualizationComponents/commitTimeTracking/chart/chart.tsx index d40eda47..fd106b6f 100644 --- a/binocular-frontend/src/visualizations/VisualizationComponents/commitTimeTracking/chart/chart.tsx +++ b/binocular-frontend/src/visualizations/VisualizationComponents/commitTimeTracking/chart/chart.tsx @@ -5,6 +5,7 @@ import * as React from 'react'; import _ from 'lodash'; import CommitBarChart from './CommitBarChart.tsx'; import styles from '../styles.module.scss'; +import {string} from "prop-types"; interface Props { commits: Commit[]; @@ -293,18 +294,20 @@ function calculateStatistics(commits: any[], props: Props) { initialValue[c] = 0; }); const branches = [...props.branches, 'All branches']; - const authors = [...props.selectedAuthors, 'All authors']; + const authors = [...props.mergedAuthors, 'All authors']; const statistics = {}; branches.forEach((b) => { statistics[b] = {}; if (b === 'All branches') { authors.forEach((a) => { - if (a === 'All authors') { + if (typeof a === 'string' && a === 'All authors') { statistics[b][a] = calculateRatios(commits, initialValue); } else { - const filteredForAuthor = commits.filter((c) => c.signature === a); - statistics[b][a] = filteredForAuthor.length === 0 ? {} : calculateRatios(filteredForAuthor, initialValue); + const author = a as Author; + const authorName = author.mainCommitter.substring(0, author.mainCommitter.indexOf('<') - 1); + const filteredForAuthor = commits.filter((c) => author.committers.map((committer) => committer.signature).includes(c.signature)); + statistics[b][authorName] = filteredForAuthor.length === 0 ? {} : calculateRatios(filteredForAuthor, initialValue); } }); } else { @@ -316,8 +319,12 @@ function calculateStatistics(commits: any[], props: Props) { if (a === 'All authors') { statistics[b][a] = calculateRatios(filteredForBranch, initialValue); } else { - const filteredForAuthor = filteredForBranch.filter((c) => c.signature === a); - statistics[b][a] = filteredForAuthor.length === 0 ? {} : calculateRatios(filteredForAuthor, initialValue); + const author = a as Author; + const authorName = author.mainCommitter.substring(0, author.mainCommitter.indexOf('<') - 1); + const filteredForAuthor = filteredForBranch.filter((c) => + author.committers.map((committer) => committer.signature).includes(c.signature), + ); + statistics[b][authorName] = filteredForAuthor.length === 0 ? {} : calculateRatios(filteredForAuthor, initialValue); } }); }