From 25028765dea8d7bc4dc3114b32a83f5bb57cd6d4 Mon Sep 17 00:00:00 2001 From: archmoj Date: Mon, 11 May 2020 14:03:46 -0400 Subject: [PATCH] clear legend title for react --- src/components/legend/draw.js | 2 ++ test/jasmine/tests/legend_test.js | 36 +++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/src/components/legend/draw.js b/src/components/legend/draw.js index b9122e4ccef..940c6a9c721 100644 --- a/src/components/legend/draw.js +++ b/src/components/legend/draw.js @@ -94,6 +94,8 @@ module.exports = function draw(gd, opts) { .text(title.text); textLayout(titleEl, scrollBox, gd, opts); // handle mathjax or multi-line text and compute title height + } else { + scrollBox.selectAll('.legendtitletext').remove(); } var scrollBar = Lib.ensureSingle(legend, 'rect', 'scrollbar', function(s) { diff --git a/test/jasmine/tests/legend_test.js b/test/jasmine/tests/legend_test.js index b32e2620f4a..21f25626989 100644 --- a/test/jasmine/tests/legend_test.js +++ b/test/jasmine/tests/legend_test.js @@ -818,6 +818,42 @@ describe('legend relayout update', function() { .catch(failTest) .then(done); }); + + it('should be able to clear legend title using react', function(done) { + var data = [{ + type: 'scatter', + x: [0, 1], + y: [1, 0] + }]; + + Plotly.newPlot(gd, { + data: data, + layout: { + showlegend: true, + legend: { + title: { + text: 'legend
title' + } + } + } + }) + .then(function() { + expect(d3.selectAll('.legendtitletext')[0].length).toBe(1); + }) + .then(function() { + Plotly.react(gd, { + data: data, + layout: { + showlegend: true + } + }); + }) + .then(function() { + expect(d3.selectAll('.legendtitletext')[0].length).toBe(0); + }) + .catch(failTest) + .then(done); + }); }); describe('legend orientation change:', function() {