Fix issue where visible
property of one legend was affecting another
#7574
+794
−653
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #7559
Fixes issue where setting
layout.legend3.visible
tofalse
caused bothlegend
andlegend3
to disappear.Also adds a Jasmine test to prevent regression.
It seems this bug was because
legend._id
was not being added to the processed legend object during thedefaults
step ifvisible
was false. This DID cause the legend not to be drawn (desirable), but it had the side effect of causing the plot step to "assume" the legend_id
to belegend
if not available, which caused the visibility setting to also be applied to the first legend (undesirable).Note that the only actual logic change is on line 242 of
src/components/legend/defaults.js
; the other changes in that file are just auto-formatting changes.To test
layout.legend3.visible
fromtrue
tofalse
and make sure that neither of the other two legends disappear. (legend3
is not visible in any case becauseshowlegend
is set tofalse
at the trace level and there's only one trace in that legend)