Spaces:
Running
Running
import os | |
import streamlit.components.v1 as components | |
# Create a _RELEASE constant. We'll set this to False while we're developing | |
# the component, and True when we're ready to package and distribute it. | |
_RELEASE = True | |
if not _RELEASE: | |
_component_func = components.declare_component( | |
"tree_component", | |
url="http://localhost:3001", | |
) | |
else: | |
parent_dir = os.path.dirname(os.path.abspath(__file__)) | |
build_dir = os.path.join(parent_dir, "frontend/build") | |
_component_func = components.declare_component("tree_component", path=build_dir) | |
def render_tree(nodes, key=None): | |
"""Create a new instance of "tree_component". | |
Args: | |
nodes: The nodes to render in the tree. Nodes are dictionaries with keys `name` | |
(unique identifier), `type` and `parent` (referencing another name). | |
key: An optional key that uniquely identifies this component. If this is | |
None, and the component's arguments are changed, the component will | |
be re-mounted in the Streamlit frontend and lose its current state. | |
Returns: | |
The number of times the component's "Click Me" button has been clicked. | |
(This is the value passed to `Streamlit.setComponentValue` on the | |
frontend.) | |
""" | |
component_value = _component_func(nodes=nodes, key=key, default=0) | |
return component_value | |