Skip to content

[BUG] Data Table prevents other callbacks until it is rendered first #1105

@christopherjeon

Description

@christopherjeon

Describe your context

dash                 1.8.0
dash-bio             0.4.6      
dash-bio-utils       0.0.4
dash-core-components 1.7.0
dash-daq             0.2.2
dash-html-components 1.0.2
dash-renderer        1.2.3
dash-table           4.6.0

Describe the bug
I was fixing a bug with Dash Bio app (Circos) and it had trouble rendering the Circos plot properly when starting a new session. The plot would not be visible until the user clicked on the 'Table' tab. Once this tab was triggered, then the plot would show up no matter which tab was clicked on.

I believe the callback that was responsible showing the plot was blocked because it relied on a table prop as an input. In 'Table' tab, the Circos app allows you to filter a plot (if nothing is selected, nothing is filtered) and it will be modified dynamically. The callback basically disregarded everything until this tab was clicked on. (Issue #1010 was fixed, but it was fixed for callbacks that do not use table props.)

In the Circos example, a table is used to filter a graph (if nothing is selected, nothing is filtered) but this is preventing the callback from being triggered by other inputs.

Expected behavior

I expected the app to show the plot right away without clicking on the 'Table' tab beforehand.

Screenshots
The (hack-y) solution to this problem was adding an empty DataTable before the dcc.Tabs component:
Screen Shot 2020-01-29 at 9 51 43 AM

Is there a better way to prevent this problem?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions