Skip to content

A slightly less ambitious take on orphan subplots and 'delete last trace' #289

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 18 commits into from
Feb 29, 2016

Conversation

etpinard
Copy link
Contributor

@alexcjohnson @mdtusz

An alternative to #268 .

Comment #268 (comment) made me realize that #268 was taking things a little too far.

This PR shares most commits with #268 but does not allow for orphan scenes and geos to be drawn. In other words, gl3d and geo subplots must be associated with a gl3d / geo trace respectively in order to be visible.

List of fixed bugs

  • Plotly.deleteTraces when applied to the last trace of a subplot now properly deletes that last trace
    • deleting the last cartesian trace does not delete its axes (i.e orphan cartesian axes are allowed)
    • deleting the last gl3d/geo trace does delete its associated scene/geo
  • Plotly.deleteTraces now works on heatmap and contour traces (yep, that didn't work before)
  • Plotly.deleteTraces now works on surface and mesh3d traces
  • Plotly.deleteTraces now properly delete color bars associated with deleted traces
  • Plotly.deleteTraces now works on geo traces
  • Plotly.relayout('graph', { 'xaxis': null, 'yaxis': null }); delete the axes as desired
  • Plotly.deleteTraces now works on pie traces

- by keeping track of traces in each geo from call to call,
- make sure that its module's plot method is called
  so that it is properly removed from the DOM.
- ensures the deleted geos are only properly removed from the DOM.
- ensures the deleted contour, heatmap and colorbar
  are properly removed
- make sure that graphs with only orphan cartesian are
  considered 'cartesian'
- make sure that axes associated with GL2D traces aren't
  considered 'cartesian'
- by making layout with { xaxis: {}, yaxis: {} } a 'hasCartesian'
  plot, deleting the last cartesian trace retains the axes.
- now the geo is delete upon deleting the last trace
@etpinard etpinard added this to the subplotly.js milestone Feb 26, 2016
@etpinard etpinard changed the title A slightly ambitious take on orphan subplots and 'delete last trace' A slightly less ambitious take on orphan subplots and 'delete last trace' Feb 26, 2016
@alexcjohnson
Copy link
Collaborator

Looks good to me. I'm not quite sure whether this represents a temporary situation or the way we will keep it long-term, but given the convoluted logic that can arise I'm starting to think it's clearer for everyone if orphan subplots are simply not drawn.
💃

etpinard added a commit that referenced this pull request Feb 29, 2016
A slightly less ambitious take on orphan subplots and 'delete last trace'
@etpinard etpinard merged commit 442a337 into master Feb 29, 2016
@etpinard etpinard deleted the delete-last-trace2 branch February 29, 2016 15:08
@etpinard etpinard mentioned this pull request Feb 29, 2016
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants