Spaces:
Running
Running
File size: 1,380 Bytes
cb5b71d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
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
|