web: preserve checked boxes on search refresh
This commit is contained in:
parent
5279578c64
commit
ac0ce29c76
@ -291,12 +291,29 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
|
||||
})
|
||||
.collect(),
|
||||
);
|
||||
info!("pager {:#?}", data.search.page_info);
|
||||
let selected_threads = 'context: {
|
||||
if let Context::SearchResult {
|
||||
results,
|
||||
selected_threads,
|
||||
..
|
||||
} = &model.context
|
||||
{
|
||||
let old: HashSet<_> = results.iter().map(|n| &n.thread).collect();
|
||||
let new: HashSet<_> = data.search.nodes.iter().map(|n| &n.thread).collect();
|
||||
|
||||
if old == new {
|
||||
break 'context selected_threads.clone();
|
||||
}
|
||||
}
|
||||
HashSet::new()
|
||||
};
|
||||
model.context = Context::SearchResult {
|
||||
query: model.query.clone(),
|
||||
results: data.search.nodes,
|
||||
count: data.count as usize,
|
||||
pager: data.search.page_info,
|
||||
selected_threads: HashSet::new(),
|
||||
selected_threads,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user