From 1b5b7e5ef24374aadaec94f8e3f8ed14636ffd00 Mon Sep 17 00:00:00 2001 From: Mojtaba Samimi Date: Tue, 25 Jul 2023 10:52:41 -0400 Subject: [PATCH 1/3] fix is isolated state in multi legend cases --- src/components/legend/handle_click.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/legend/handle_click.js b/src/components/legend/handle_click.js index ebd51c1dc09..c711b5bfb43 100644 --- a/src/components/legend/handle_click.js +++ b/src/components/legend/handle_click.js @@ -198,7 +198,7 @@ module.exports = function handleClick(g, gd, numClicks) { isInGroup = (hasLegendgroup && fullData[i].legendgroup === legendgroup); - if(!isInGroup && fullData[i].visible === true && !Registry.traceIs(fullData[i], 'notLegendIsolatable')) { + if(fullData[i].legend === thisLegend && !isInGroup && fullData[i].visible === true && !Registry.traceIs(fullData[i], 'notLegendIsolatable')) { isIsolated = false; break; } From a88b7fd4b8bbcb6245e42284a1e1baa89cdc71ec Mon Sep 17 00:00:00 2001 From: Mojtaba Samimi Date: Tue, 25 Jul 2023 11:01:09 -0400 Subject: [PATCH 2/3] add jasmine test --- test/jasmine/tests/legend_test.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test/jasmine/tests/legend_test.js b/test/jasmine/tests/legend_test.js index 54232bee1c0..398598d11dc 100644 --- a/test/jasmine/tests/legend_test.js +++ b/test/jasmine/tests/legend_test.js @@ -1915,6 +1915,14 @@ describe('legend interaction', function() { Promise.resolve() .then(click(0, 2)) .then(assertVisible([false, true, true, false, 'legendonly', true])) + + // isolate it + .then(click(0, 2)) + .then(assertVisible([false, true, 'legendonly', false, 'legendonly', true])) + + // unhide it again + .then(click(0, 2)) + .then(assertVisible([false, true, true, false, 'legendonly', true])) .then(done, done.fail); }); }); From dc17d3b1f2c82d4128a3253a4c470476cd15029b Mon Sep 17 00:00:00 2001 From: Mojtaba Samimi Date: Tue, 25 Jul 2023 11:16:22 -0400 Subject: [PATCH 3/3] draftlog --- draftlogs/6684_fix.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 draftlogs/6684_fix.md diff --git a/draftlogs/6684_fix.md b/draftlogs/6684_fix.md new file mode 100644 index 00000000000..dcce83be95a --- /dev/null +++ b/draftlogs/6684_fix.md @@ -0,0 +1,2 @@ + - Fix unhide isolated traces in multi legend cases (regression introduced in 2.24.3) [[#6684](https://github.com/plotly/plotly.js/pull/6684)] +