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(),
|
.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 {
|
model.context = Context::SearchResult {
|
||||||
query: model.query.clone(),
|
query: model.query.clone(),
|
||||||
results: data.search.nodes,
|
results: data.search.nodes,
|
||||||
count: data.count as usize,
|
count: data.count as usize,
|
||||||
pager: data.search.page_info,
|
pager: data.search.page_info,
|
||||||
selected_threads: HashSet::new(),
|
selected_threads,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user