diff --git a/client/src/components/runs/runs-info/utils/index.js b/client/src/components/runs/runs-info/utils/index.js index f683a9c350..7b32b2a0c3 100644 --- a/client/src/components/runs/runs-info/utils/index.js +++ b/client/src/components/runs/runs-info/utils/index.js @@ -80,14 +80,22 @@ function extractDatasetByField (field, data = {}) { }; } const categoriesKeys = Object.keys(dataField); + const getLabelSum = (label) => categoriesKeys + .reduce((sum, key) => sum + (dataField[key][label] || 0), 0); const labels = [...new Set(Object .values(dataField) .reduce((acc, cur) => [...acc, ...Object.keys(cur)], []) - )]; - const dataSets = categoriesKeys.reduce((acc, key) => { - acc[key] = labels.map(label => (dataField[key] || {})[label] || 0); - return acc; - }, {}); + )] + .map((label) => ({ + label, + value: getLabelSum(label) + })) + .sort((a, b) => b.value - a.value) + .map((a) => a.label); + const dataSets = categoriesKeys.reduce((acc, key) => ({ + ...acc, + [key]: labels.map(label => (dataField[key] || {})[label] || 0) + }), {}); return { labels, ...dataSets