pub struct SearchableSelectList { /* private fields */ }Expand description
A select list preceded by a search input that fuzzy-filters its items.
Implementations§
Source§impl SearchableSelectList
impl SearchableSelectList
Sourcepub fn new(
title: Option<&str>,
description: Option<&str>,
list: Arc<SelectList>,
) -> Self
pub fn new( title: Option<&str>, description: Option<&str>, list: Arc<SelectList>, ) -> Self
Wrap list with a search input. title / description are optional
header rows (upstream’s SelectSubmenu shows both).
Sourcepub fn list(&self) -> &Arc<SelectList> ⓘ
pub fn list(&self) -> &Arc<SelectList> ⓘ
The wrapped list. Callers register on_select / on_cancel here.
Sourcepub fn set_search_text(&self, text: &str)
pub fn set_search_text(&self, text: &str)
Prefill the search box and apply the filter. Used when a slash command
was given a search term that did not match exactly (upstream’s
initialSearchInput).
Sourcepub fn handle_key(&self, key: KeyEvent)
pub fn handle_key(&self, key: KeyEvent)
Route a key to the list or the search box.
List semantics win for navigation/confirm/cancel and for the Emacs-style list bindings; everything else (printable characters, backspace, caret movement) edits the filter.
Trait Implementations§
Source§impl Component for SearchableSelectList
impl Component for SearchableSelectList
Source§fn render(&self, width: usize) -> Vec<String>
fn render(&self, width: usize) -> Vec<String>
Render the component to lines for the given viewport width. Read more
Source§fn invalidate(&self)
fn invalidate(&self)
Invalidate any cached rendering state.
Called when theme changes or when component needs to re-render from scratch.
Source§fn as_any(&self) -> &dyn Any
fn as_any(&self) -> &dyn Any
Downcast to Any for runtime type checking.
This enables the layout system to check for LayoutNodeProvider.
Source§fn handle_input(&self, _data: &str) -> bool
fn handle_input(&self, _data: &str) -> bool
Optional handler for keyboard input when component has focus. Read more
Source§fn wants_key_release(&self) -> bool
fn wants_key_release(&self) -> bool
If true, component receives key release events (Kitty protocol).
Default is false - release events are filtered out.
Source§impl Focusable for SearchableSelectList
impl Focusable for SearchableSelectList
Source§fn set_focused(&self, focused: bool)
fn set_focused(&self, focused: bool)
Set by TUI when focus changes. Component should emit CURSOR_MARKER when true.
Source§fn is_focused(&self) -> bool
fn is_focused(&self) -> bool
Check if the component is currently focused.
Auto Trait Implementations§
impl !Freeze for SearchableSelectList
impl !RefUnwindSafe for SearchableSelectList
impl !UnwindSafe for SearchableSelectList
impl Send for SearchableSelectList
impl Sync for SearchableSelectList
impl Unpin for SearchableSelectList
impl UnsafeUnpin for SearchableSelectList
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more