Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Module madsci.client.cli.tui.screens.nodes

Node management screen for MADSci TUI.

Provides node discovery, status monitoring, admin command actions, enhanced detail display, and action execution by querying the Workcell Manager and communicating with nodes directly.

Classes

NodeDetailScreen(node_name: str, node_data: Node, **kwargs: Any)

Screen showing details for a single node, pushed on top of NodesScreen.

Initialize the detail screen.

Args: node_name: Name of the node. node_data: Node model instance.

Ancestors (in MRO)

  • madsci.client.cli.tui.mixins.ServiceURLMixin

  • textual.screen.Screen

  • typing.Generic

  • textual.widget.Widget

  • textual.dom.DOMNode

  • textual.message_pump.MessagePump

Class variables

BINDINGS: ClassVar[list[BindingType]] :

can_focus :

can_focus_children :

Methods

action_go_back(self) ‑> None
Go back to the nodes list.
action_refresh(self) ‑> None
Refresh node data by re-fetching from workcell manager.
compose(self) ‑> Iterable[textual.widget.Widget]
Compose the detail screen layout.
on_mount(self) ‑> None
Render the detail content on mount.
on_unmount(self) ‑> None
Clean up client connections when screen is unmounted.
NodesScreen(**kwargs: Any)

Screen showing node management and monitoring.

Initialize the screen.

Ancestors (in MRO)

  • madsci.client.cli.tui.mixins.ActionBarMixin

  • madsci.client.cli.tui.mixins.AutoRefreshMixin

  • madsci.client.cli.tui.mixins.ServiceURLMixin

  • textual.screen.Screen

  • typing.Generic

  • textual.widget.Widget

  • textual.dom.DOMNode

  • textual.message_pump.MessagePump

Class variables

BINDINGS: ClassVar[list[BindingType]] :

can_focus :

can_focus_children :

Methods

action_execute_action(self) ‑> None
Open the action executor screen for the selected node.
action_go_back(self) ‑> None
Go back to the previous screen.
action_pause_node(self) ‑> None
Pause the selected node.
action_refresh(self) ‑> None
Refresh node data.
action_reset_node(self) ‑> None
Reset the selected node (clear errors).
action_resume_node(self) ‑> None
Resume the selected node.
action_toggle_lock_node(self) ‑> None
Toggle lock/unlock on the selected node.
compose(self) ‑> Iterable[textual.widget.Widget]
Compose the nodes screen layout.
on_data_table_row_selected(self, event: DataTable.RowSelected) ‑> None
Handle row selection - push detail screen.
on_mount(self) ‑> None
Handle screen mount - set up table and load data.
refresh_data(self) ‑> None
Refresh node data from workcell manager.
watch_auto_refresh_enabled(self, _value: bool) ‑> None
React to auto_refresh_enabled changes by updating the footer.