From ae2c960913bca84105883f0567e95ddc47514c30 Mon Sep 17 00:00:00 2001 From: Aleksandr Lesnenko <alxnddr@users.noreply.github.com> Date: Tue, 11 Jun 2024 22:17:09 -0300 Subject: [PATCH] fix single series bar hover (#43984) * fix single series bar hover * prefer reduced motion --- .../visualizations/CartesianChart/use-chart-events.ts | 4 +++- .../visualizations/CartesianChart/use-models-and-option.ts | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/frontend/src/metabase/visualizations/visualizations/CartesianChart/use-chart-events.ts b/frontend/src/metabase/visualizations/visualizations/CartesianChart/use-chart-events.ts index 461052df06f..dc445665c14 100644 --- a/frontend/src/metabase/visualizations/visualizations/CartesianChart/use-chart-events.ts +++ b/frontend/src/metabase/visualizations/visualizations/CartesianChart/use-chart-events.ts @@ -231,8 +231,10 @@ export const useChartEvents = ( ? settings.series(seriesModel.legacySeriesSettingsObjectKey) .display === "bar" : false; + const shouldHighlightEntireSeries = + isBarSeries && chartModel.seriesModels.length > 1; - if (originalDatumIndex != null && !isBarSeries) { + if (originalDatumIndex != null && !shouldHighlightEntireSeries) { // (issue #40215) // since some transformed datasets have indexes differing from // the original datasets indexes and ECharts uses the transformedDataset diff --git a/frontend/src/metabase/visualizations/visualizations/CartesianChart/use-models-and-option.ts b/frontend/src/metabase/visualizations/visualizations/CartesianChart/use-models-and-option.ts index be445d0f18b..2b052053fe8 100644 --- a/frontend/src/metabase/visualizations/visualizations/CartesianChart/use-models-and-option.ts +++ b/frontend/src/metabase/visualizations/visualizations/CartesianChart/use-models-and-option.ts @@ -1,6 +1,6 @@ import { useCallback, useMemo } from "react"; -import { isCypressActive } from "metabase/env"; +import { isReducedMotionPreferred } from "metabase/lib/dom"; import { extractRemappings } from "metabase/visualizations"; import { getChartMeasurements } from "metabase/visualizations/echarts/cartesian/chart-measurements"; import { getCartesianChartModel } from "metabase/visualizations/echarts/cartesian/model"; @@ -115,7 +115,7 @@ export function useModelsAndOption({ return {}; } - const shouldAnimate = !isPlaceholder && !isCypressActive; + const shouldAnimate = !isPlaceholder && !isReducedMotionPreferred(); switch (card.display) { case "waterfall": -- GitLab