From 92c82821adad02b94a298d67bb2eb80b91fdad38 Mon Sep 17 00:00:00 2001 From: Lucas Lira Gomes Date: Thu, 30 Jul 2020 18:03:47 +0200 Subject: [PATCH] Make tooltip.shared defaults to false, when only a single data point per series exists. --- fireant/tests/widgets/test_highcharts.py | 36 ++++++++++++------------ fireant/widgets/highcharts.py | 4 ++- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/fireant/tests/widgets/test_highcharts.py b/fireant/tests/widgets/test_highcharts.py index a6528c7b..446d4c3c 100644 --- a/fireant/tests/widgets/test_highcharts.py +++ b/fireant/tests/widgets/test_highcharts.py @@ -379,7 +379,7 @@ def test_single_metric_with_a_split_dimension_dimx2_date_str_line_chart(self): "visible": True, } ], - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { @@ -489,7 +489,7 @@ def test_single_metric_with_a_split_dimension_dimx2_str_str_line_chart(self): "visible": True, } ], - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { @@ -597,7 +597,7 @@ def test_single_metric_with_a_split_dimension_dimx2_str_str_line_chart(self): "visible": True, } ], - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { @@ -642,7 +642,7 @@ def test_single_metric_with_a_split_dimension_dimx2_str_str_line_chart(self): "visible": True, } ], - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { @@ -764,7 +764,7 @@ def test_multi_metrics_multi_axis_line_chart(self): "visible": True, }, ], - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { @@ -990,7 +990,7 @@ def test_multi_dim_with_totals_line_chart_and_empty_data(self): "dashStyle": "Solid", }, ], - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, }, ) @@ -1032,7 +1032,7 @@ def test_multi_dim_with_totals_line_chart(self): "visible": True, }, ], - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { @@ -1241,7 +1241,7 @@ def test_multi_dim_with_totals_on_first_dim_line_chart(self): "visible": True, }, ], - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { @@ -1869,7 +1869,7 @@ def test_single_metric_bar_chart(self): "visible": True, } ], - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { @@ -1914,7 +1914,7 @@ def test_multi_metric_bar_chart(self): "visible": True, } ], - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { @@ -2089,7 +2089,7 @@ def test_cont_uni_dims_single_metric_bar_chart(self): "visible": True, } ], - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { @@ -2178,7 +2178,7 @@ def test_cont_uni_dims_multi_metric_single_axis_bar_chart(self): "visible": True, } ], - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { @@ -2324,7 +2324,7 @@ def test_cont_uni_dims_multi_metric_multi_axis_bar_chart(self): "visible": True, }, ], - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { @@ -2633,7 +2633,7 @@ def test_cat_uni_dim_with_missing_values(self): "yAxis": "0", }, ], - "tooltip": {"enabled": True, "shared": True, "useHTML": True}, + "tooltip": {"enabled": True, "shared": False, "useHTML": True}, "annotations": [], "colors": DEFAULT_COLORS, }, @@ -2659,7 +2659,7 @@ def test_invisible_y_axis(self): "visible": False, } ], - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { @@ -2733,7 +2733,7 @@ def test_pie_chart_metricx1(self): self.assertEqual( { "title": {"text": "All Votes"}, - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { @@ -2777,7 +2777,7 @@ def test_pie_chart_metricx2(self): self.assertEqual( { "title": {"text": "Votes and Wins"}, - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { @@ -3484,7 +3484,7 @@ def test_dimx2_timeseries_with_annotation(self): "visible": True, } ], - "tooltip": {"shared": True, "useHTML": True, "enabled": True}, + "tooltip": {"shared": False, "useHTML": True, "enabled": True}, "legend": {"useHTML": True}, "series": [ { diff --git a/fireant/widgets/highcharts.py b/fireant/widgets/highcharts.py index cf9bcf31..3f499f0e 100644 --- a/fireant/widgets/highcharts.py +++ b/fireant/widgets/highcharts.py @@ -232,9 +232,11 @@ def _render_individual_chart( "colors": self.colors, "series": series, "tooltip": { - "shared": True, "useHTML": True, "enabled": self.tooltip_visible, + # When only a single datapoint per series is available, shared tooltips should be avoided. + # Since it looks clunky and often supersedes most of the chart. + "shared": all([len(item['data']) > 1 for item in series]) }, "legend": {"useHTML": True}, "annotations": annotations,