Add server-side work item search

This commit is contained in:
Georg Bauer
2026-07-31 21:03:01 +02:00
parent af392209e8
commit a3962449a2
9 changed files with 234 additions and 42 deletions

View File

@@ -268,14 +268,12 @@ impl GotchaCore {
.unwrap_or_default(),
)
};
let labels: Vec<_> = filter.labels.into_iter().collect();
let page = load_issues(
&server,
&owner,
&repository,
&status,
&labels,
&filter.milestone,
&filter,
valid_page(page)?,
)
.await?;
@@ -333,6 +331,7 @@ impl GotchaCore {
repository: String,
milestone: String,
labels: Vec<String>,
search_text: String,
) -> Result<(), GotchaError> {
let owner = owner.trim();
let repository = repository.trim();
@@ -345,6 +344,7 @@ impl GotchaCore {
.into_iter()
.filter(|label| !label.is_empty())
.collect(),
search_text: search_text.trim().into(),
};
let mut state = self.state.lock().unwrap();
let server = state
@@ -585,8 +585,15 @@ impl GotchaCore {
Ok(filter.is_active(&state.preferences.pull_status))
}
pub fn set_pull_filters(&self, milestone: String) -> Result<(), GotchaError> {
let filter = PullFilter { milestone };
pub fn set_pull_filters(
&self,
milestone: String,
search_text: String,
) -> Result<(), GotchaError> {
let filter = PullFilter {
milestone,
search_text: search_text.trim().into(),
};
let mut state = self.state.lock().unwrap();
let server = state
.active_server
@@ -627,7 +634,14 @@ impl GotchaCore {
.unwrap_or_default(),
)
};
let page = load_pulls(&server, &status, &filter.milestone, valid_page(page)?).await?;
let page = load_pulls(
&server,
&status,
&filter.milestone,
&filter.search_text,
valid_page(page)?,
)
.await?;
Ok(PullListPage {
rows: pull_rows(&page.items),
has_more: page.has_more,