You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR provides support for multiple outputs, as originally described in plotly/dash#436. Several changes are proposed:
a createCallbackId function is introduced to simplify generating output IDs for either single outputs (container.style) or multiple outputs (..text-box.children...container.style..)
an insertIntoCallbackMap function is also introduced to add additional callback handlers into the map
callback handlers may now return values which are targeted at multiple callbacks, and these targets are inferred solely from the sequence of the output declaration (i.e. no names are required for the return object elements)
partial updates are properly supported
modifications to CircleCI test config to install the correct package versions for a given plotly/dashR version, and to avoid repeatedly launching R for package installs
The following checks are now performed within Dash for R:
validateOutput now checks the ID formatting for single and multiple outputs
assert_valid_callbacks now checks for circular inputs and outputs for multiple outputs also
insertIntoCallbackMap checks for duplicated outputs across callbacks before allowing a new callback to be added to the callback map
An 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:
Ensuring that no output is specified twice #f1f4724
Ensuring that no output is used in two overlapping multi-output sets (e.g. you cannot have ..o1.value...o2.value.. with ..o1.value...o3.value..) #508eeb1
Ensuring that both methods of supplying an output parameter are working (e.g. using output=list(id='graph', property='figure') or output=output(id='graph', property='figure')) #5521a93
@byronz I made some minor changes to the CircleCI config in 30ba139:
R package dependencies are now installed on one line, so we don't repeatedly launch R to complete all package installs before the tests start
we install plotly/dashR instead of the core packages, since the latter approach causes us to grab versions that are not locked to the current Dash for R release
@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.
* 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 file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
This PR provides support for multiple outputs, as originally described in plotly/dash#436. Several changes are proposed:
createCallbackIdfunction is introduced to simplify generating output IDs for either single outputs (container.style) or multiple outputs (..text-box.children...container.style..)insertIntoCallbackMapfunction is also introduced to add additional callback handlers into the mapplotly/dashRversion, and to avoid repeatedly launching R for package installsThe following checks are now performed within Dash for R:
validateOutputnow checks the ID formatting for single and multiple outputsassert_valid_callbacksnow checks for circular inputs and outputs for multiple outputs alsoinsertIntoCallbackMapchecks 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..)#508eeb1outputparameter are working (e.g. usingoutput=list(id='graph', property='figure')oroutput=output(id='graph', property='figure'))#5521a93Closes#114.