streamlit_dashboard.components namespace¶
Submodules¶
streamlit_dashboard.components.neoserra_export_link_grabber module¶
- class streamlit_dashboard.components.neoserra_export_link_grabber.NeoserraExportLinkGrabber(grabber_title: str, prev_fy_initial_value: str, current_fy_initial_value: str)¶
Bases:
RenderableReusable UI component for capturing paired API endpoint URLs.
This class encapsulates the state and presentation logic for modifying external data endpoints. By grouping the current and previous fiscal period URLs into a single renderable object, it standardizes the visual layout across the Admin Panel and isolates the input-capture logic from the parent page’s batch validation pipeline.
- Parameters:
grabber_title (str) – The unique display name for this URL grouping (e.g., ‘Client List’).
prev_fy_initial_value (str) – The existing configuration URL for the previous fiscal period.
current_fy_initial_value (str) – The existing configuration URL for the current fiscal period.
- get_widget_key(widget_unique_id: str) str¶
Generates globally unique identifiers for the component’s internal Streamlit widgets.
Because the Admin Panel renders multiple instances of this exact class on the same page, this method prevents Streamlit DuplicateWidgetID execution crashes by prefixing the local widget ID (e.g., ‘prev_fy_url_text_input’) with the instance’s unique title.
- Parameters:
widget_unique_id (str) – The local identifier for the specific text input widget.
- Returns:
A concatenated, globally unique string key.
- Return type:
str
- render(container: DeltaGenerator)¶
Maps the URL capture inputs to the provided Streamlit layout container.
Constructs a visually distinct, bordered container to group the paired fiscal period endpoints together. It binds the text input widgets to the component’s internal state, allowing the parent orchestrator to extract the modified strings during the form submission phase.
- Parameters:
container (DeltaGenerator) – The Streamlit layout container (typically a form) to draw the widgets onto.