web: add select all/partial/none for search table
This commit is contained in:
@@ -117,6 +117,8 @@ fn view_search_results(
|
||||
set_title(query);
|
||||
}
|
||||
let show_bulk_edit = !selected_threads.is_empty();
|
||||
let all_checked = selected_threads.len() == results.len();
|
||||
let partially_checked = !selected_threads.is_empty() && !all_checked;
|
||||
let rows = results.iter().map(|r| {
|
||||
let tid = r.thread.clone();
|
||||
let check_tid = r.thread.clone();
|
||||
@@ -185,7 +187,25 @@ fn view_search_results(
|
||||
"is-striped",
|
||||
],
|
||||
thead![tr![
|
||||
th![C!["edit"], ""],
|
||||
th![
|
||||
C!["edit"],
|
||||
label![
|
||||
C!["b-checkbox", "checkbox"],
|
||||
input![
|
||||
IF!(partially_checked => C!["is-indeterminate"]),
|
||||
attrs! {
|
||||
At::Type=>"checkbox",
|
||||
At::Checked=>all_checked.as_at_value(),
|
||||
}
|
||||
],
|
||||
span![C!["check"]],
|
||||
ev(Ev::Click, move |_| if all_checked {
|
||||
Msg::SelectionSetNone
|
||||
} else {
|
||||
Msg::SelectionSetAll
|
||||
})
|
||||
]
|
||||
],
|
||||
th![C!["from"], "From"],
|
||||
th![C!["subject"], "Subject"],
|
||||
th![C!["date"], "Date"]
|
||||
|
||||
Reference in New Issue
Block a user