Spaces:
Running
Running
File size: 1,476 Bytes
6a31b9a |
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 38 39 40 41 42 43 44 45 |
import os
import streamlit.components.v1 as components
from core.constants import OVERVIEW
# 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(
"tabs_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("tabs_component", path=build_dir)
def render_tabs(tabs: list[str], selected_tab: int, json: str | None, key=None):
"""Create a new instance of "tabs_component".
Args:
tabs: The tabs to render in the component.
selected_tab: The selected tab.
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(
tabs=tabs,
selected_tab=selected_tab,
json=json,
key=key,
default=OVERVIEW,
)
return component_value
|