From 43b0fc049bea5dc5844c235f099e1014550baeb4 Mon Sep 17 00:00:00 2001 From: Milos Marinkovic Date: Mon, 13 Nov 2023 11:48:52 +0100 Subject: [PATCH] Labels update (#15) --- gradle.properties | 2 +- src/commonMain/resources/web/js/script.js | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/gradle.properties b/gradle.properties index 72543c5..0b50e8c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,6 +9,6 @@ org.gradle.jvmargs=-Xmx4096m # Project properties config.group = xyz.marinkovic.milos config.artifact = codestats -config.version = 0.9.0 +config.version = 0.10.0 config.gitHubRepoOwner = milosmns config.gitHubRepoName = code-stats diff --git a/src/commonMain/resources/web/js/script.js b/src/commonMain/resources/web/js/script.js index 5472497..980886d 100644 --- a/src/commonMain/resources/web/js/script.js +++ b/src/commonMain/resources/web/js/script.js @@ -417,12 +417,14 @@ document.addEventListener('DOMContentLoaded', function () { var chartData = prepareBreakdownChartData(metricTimeSeries, breakdownSourceSelector, averageSelector); var labelToTimeSeriesList = Object.entries(chartData.yValuesMap); - var hideLabelsByDefault = labelToTimeSeriesList.length > 7 && labelToTimeSeriesList.length < 30; - var hideLegend = labelToTimeSeriesList.length > 30; // usually useless after 30 labels (hover still works) + // usually useless after 50 labels, while hover still works. large datasets are dots so they're ok to display + var showLegend = labelToTimeSeriesList.length < 200; + var disableLabelsDueToSize = showLegend && (labelToTimeSeriesList.length > 7 && labelToTimeSeriesList.length < 50 || labelToTimeSeriesList.length > 200); var hasAverages = chartData.averages.some(item => item !== null); var datasets = []; for (const [sourceKey, timeSeries] of labelToTimeSeriesList) { + var disableLabelsDueToLackOfData = timeSeries.every(item => item === null); datasets.push({ label: sourceKey, data: timeSeries, @@ -432,7 +434,7 @@ document.addEventListener('DOMContentLoaded', function () { borderColor: [getColorFromKey(sourceKey)], borderWidth: 2.5, spanGaps: true, - hidden: hideLabelsByDefault || timeSeries.every(item => item === null), + hidden: disableLabelsDueToSize || disableLabelsDueToLackOfData, }); }; if (hasAverages) { @@ -497,7 +499,7 @@ document.addEventListener('DOMContentLoaded', function () { weight: '400' } }, - display: !hideLegend + display: showLegend }, title: { display: true,