# {py:mod}`nexusLIMS.tui.common.base_screens` ```{py:module} nexusLIMS.tui.common.base_screens ``` ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens :parser: autodoc2_docstrings_parser :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`BaseListScreen ` - ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`BaseFormScreen ` - ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseFormScreen :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`ConfirmDialog ` - ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.ConfirmDialog :parser: autodoc2_docstrings_parser :summary: ``` ```` ### API `````{py:class} BaseListScreen(**kwargs) :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen Bases: {py:obj}`textual.screen.Screen` ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen :parser: autodoc2_docstrings_parser ``` ````{py:attribute} CSS_PATH :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.CSS_PATH **Type:** typing.ClassVar ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.CSS_PATH :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} BINDINGS :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.BINDINGS :value: > [('a', 'add', 'Add'), ('e', 'edit', 'Edit'), ('d', 'delete', 'Delete'), ('r', 'refresh', 'Refresh'),... **Type:** typing.ClassVar ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.BINDINGS :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} compose() -> textual.app.ComposeResult :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.compose ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.compose :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} on_mount() -> None :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.on_mount ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.on_mount :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} refresh_data() -> None :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.refresh_data ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.refresh_data :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} on_header_selected(event: textual.widgets.DataTable.HeaderSelected) -> None :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.on_header_selected ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.on_header_selected :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} on_filter_changed(event: textual.widgets.Input.Changed) -> None :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.on_filter_changed ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.on_filter_changed :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} action_focus_filter() -> None :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.action_focus_filter ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.action_focus_filter :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} action_cycle_sort() -> None :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.action_cycle_sort ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.action_cycle_sort :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} get_columns() -> list[str] :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.get_columns :abstractmethod: ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.get_columns :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} get_data() -> list[dict] :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.get_data :abstractmethod: ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.get_data :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} on_row_selected_event(event: textual.widgets.DataTable.RowSelected) -> None :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.on_row_selected_event ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.on_row_selected_event :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} on_row_selected(row_key, row_data: dict) -> None :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.on_row_selected :abstractmethod: ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.on_row_selected :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} action_add() -> None :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.action_add ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.action_add :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} action_edit() -> None :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.action_edit ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.action_edit :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} action_delete() -> None :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.action_delete ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.action_delete :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} action_refresh() -> None :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.action_refresh ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.action_refresh :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} action_quit() -> None :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.action_quit ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.action_quit :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} action_help() -> None :canonical: nexusLIMS.tui.common.base_screens.BaseListScreen.action_help ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseListScreen.action_help :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} BaseFormScreen(title: str = 'Form', **kwargs) :canonical: nexusLIMS.tui.common.base_screens.BaseFormScreen Bases: {py:obj}`textual.screen.Screen` ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseFormScreen :parser: autodoc2_docstrings_parser ``` ````{py:attribute} BINDINGS :canonical: nexusLIMS.tui.common.base_screens.BaseFormScreen.BINDINGS :value: > [('ctrl+s', 'save', 'Save'), ('escape', 'cancel', 'Cancel'), ('?', 'help', 'Help')] **Type:** typing.ClassVar ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseFormScreen.BINDINGS :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} compose() -> textual.app.ComposeResult :canonical: nexusLIMS.tui.common.base_screens.BaseFormScreen.compose ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseFormScreen.compose :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} get_form_fields() -> textual.app.ComposeResult :canonical: nexusLIMS.tui.common.base_screens.BaseFormScreen.get_form_fields :abstractmethod: ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseFormScreen.get_form_fields :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} validate_form() -> dict[str, str] :canonical: nexusLIMS.tui.common.base_screens.BaseFormScreen.validate_form :abstractmethod: ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseFormScreen.validate_form :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} on_save(data: dict) -> None :canonical: nexusLIMS.tui.common.base_screens.BaseFormScreen.on_save :abstractmethod: ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseFormScreen.on_save :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} action_save() -> None :canonical: nexusLIMS.tui.common.base_screens.BaseFormScreen.action_save ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseFormScreen.action_save :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} on_save_button() -> None :canonical: nexusLIMS.tui.common.base_screens.BaseFormScreen.on_save_button ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseFormScreen.on_save_button :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} on_cancel_button() -> None :canonical: nexusLIMS.tui.common.base_screens.BaseFormScreen.on_cancel_button ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseFormScreen.on_cancel_button :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} action_cancel() -> None :canonical: nexusLIMS.tui.common.base_screens.BaseFormScreen.action_cancel ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseFormScreen.action_cancel :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} action_help() -> None :canonical: nexusLIMS.tui.common.base_screens.BaseFormScreen.action_help ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseFormScreen.action_help :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} collect_form_data() -> dict :canonical: nexusLIMS.tui.common.base_screens.BaseFormScreen.collect_form_data ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.BaseFormScreen.collect_form_data :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} ConfirmDialog(message: str, title: str = 'Confirm', **kwargs) :canonical: nexusLIMS.tui.common.base_screens.ConfirmDialog Bases: {py:obj}`textual.screen.ModalScreen`\[{py:obj}`bool`\] ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.ConfirmDialog :parser: autodoc2_docstrings_parser ``` ````{py:attribute} CSS_PATH :canonical: nexusLIMS.tui.common.base_screens.ConfirmDialog.CSS_PATH **Type:** typing.ClassVar ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.ConfirmDialog.CSS_PATH :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} compose() -> textual.app.ComposeResult :canonical: nexusLIMS.tui.common.base_screens.ConfirmDialog.compose ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.ConfirmDialog.compose :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} on_yes() -> None :canonical: nexusLIMS.tui.common.base_screens.ConfirmDialog.on_yes ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.ConfirmDialog.on_yes :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} on_no() -> None :canonical: nexusLIMS.tui.common.base_screens.ConfirmDialog.on_no ```{autodoc2-docstring} nexusLIMS.tui.common.base_screens.ConfirmDialog.on_no :parser: autodoc2_docstrings_parser ``` ```` `````