From 80bdf2037670b97f300b368a6c106134f395a3f3 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Tue, 23 Jul 2024 10:15:38 +0800 Subject: [PATCH] Export set_query and query method to List. --- crates/ui/src/list/list.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/crates/ui/src/list/list.rs b/crates/ui/src/list/list.rs index 809cdc82..69b54f51 100644 --- a/crates/ui/src/list/list.rs +++ b/crates/ui/src/list/list.rs @@ -6,6 +6,7 @@ use crate::scroll::ScrollbarState; use crate::theme::{ActiveTheme, Colorize as _}; use crate::IconName; use crate::{scroll::Scrollbar, v_flex}; +use gpui::SharedString; use gpui::{ actions, div, prelude::FluentBuilder as _, px, uniform_list, AppContext, FocusHandle, FocusableView, InteractiveElement as _, IntoElement, KeyBinding, Length, ListSizingBehavior, @@ -146,6 +147,19 @@ where self.selected_index } + /// Set the query_input text + pub fn set_query(&mut self, query: &str, cx: &mut ViewContext) { + if let Some(query_input) = &self.query_input { + let query = query.to_owned(); + query_input.update(cx, |input, cx| input.set_text(query, cx)) + } + } + + /// Get the query_input text + pub fn query(&self, cx: &mut ViewContext) -> Option { + self.query_input.as_ref().map(|input| input.read(cx).text()) + } + fn render_scrollbar(&self, cx: &mut ViewContext) -> Option { if !self.enable_scrollbar { return None;