-
-
Notifications
You must be signed in to change notification settings - Fork 31
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
Provide support for multiple outputs #119
Conversation
A sample app is provided here:
|
Finishing up tests for the second and third checked items above, but I believe the current version of this code satisfies all requirements noted here. |
@byronz I made some minor changes to the CircleCI config in 30ba139:
|
@alexcjohnson I've implemented the unit and integration tests for all features/scenarios requested, except for the most recent one you asked about, which I'll do today. |
@alexcjohnson OK, test has been added with two |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice! Just a small note about commenting the test, then we're ready to go! 💃
* Provide support for no_update in Dash for R (#111) * Use dev_tools_prune_errors instead of pruned_errors (#113) * Better handling for user-defined error conditions in debug mode (#116) * Provide support for multiple outputs (#119) * Provide support for hot reloading in Dash for R (#127) * Implement support for clientside callbacks in Dash for R (#130) * Add line number context to stack traces when srcrefs are available (#133) * Update dash-renderer to 1.2.2 and fix dev tools UI display of stack traces (#137) * Support for meta tags in Dash for R (#142) * Fixes for hot reloading interval handling and refreshing apps within viewer pane (#148) * Support for asynchronous loading/compression in Dash for R (#157) * Support returning asset URLs via public method within Dash class (#160) * Minor fix for get_asset_url + docs, add url_base_pathname (#161)
This PR provides support for multiple outputs, as originally described in plotly/dash#436. Several changes are proposed:
createCallbackId
function is introduced to simplify generating output IDs for either single outputs (container.style
) or multiple outputs (..text-box.children...container.style..
)insertIntoCallbackMap
function is also introduced to add additional callback handlers into the mapplotly/dashR
version, and to avoid repeatedly launching R for package installsThe following checks are now performed within Dash for R:
validateOutput
now checks the ID formatting for single and multiple outputsassert_valid_callbacks
now checks for circular inputs and outputs for multiple outputs alsoinsertIntoCallbackMap
checks for duplicated outputs across callbacks before allowing a new callback to be added to the callback mapAn additional test is also proposed to ensure that multiple outputs are functioning properly, and that partial outputs are allowed.
Finally, the following checks are implemented as in Dash for Python:
#f1f4724
..o1.value...o2.value..
with..o1.value...o3.value..
)#508eeb1
output
parameter are working (e.g. usingoutput=list(id='graph', property='figure')
oroutput=output(id='graph', property='figure')
)#5521a93
Closes #114.