web: lint and clean up search input handling

This commit is contained in:
Bill Thiede 2023-11-27 21:11:12 -08:00
parent 7cac81cddb
commit 71a3315fe8

View File

@ -215,6 +215,8 @@ enum Msg {
ShowPrettyResult(fetch::Result<ThreadSet>),
NextPage,
PreviousPage,
UpdateQuery(String),
SearchQuery(String),
FrontPageRequest {
query: String,
@ -346,6 +348,11 @@ fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
};
}
Msg::UpdateQuery(query) => model.query = query,
Msg::SearchQuery(query) => {
orders.request_url(urls::search(&query, 0));
}
Msg::FrontPageRequest {
query,
after,
@ -1086,13 +1093,6 @@ fn view_thread(thread: &ShowThreadQueryThread) -> Node<Msg> {
"Original"
],
*/
/*
div![
C!["debug"],
"Add zippy for debug dump",
view_debug_thread_set(thread_set)
] /* pre![format!("Thread: {:#?}", thread_set).replace(" ", " ")] */
*/
]
}
@ -1111,40 +1111,6 @@ fn view_thread_legacy(thread_set: &ThreadSet) -> Node<Msg> {
attrs! {At::Href=>api::original(&thread_node.0.as_ref().expect("message missing").id)},
"Original"
],
/*
div![
C!["debug"],
"Add zippy for debug dump",
view_debug_thread_set(thread_set)
] /* pre![format!("Thread: {:#?}", thread_set).replace(" ", " ")] */
*/
]
}
fn view_debug_thread_set(thread_set: &ThreadSet) -> Node<Msg> {
ul![thread_set
.0
.iter()
.enumerate()
.map(|(i, t)| { li!["t", i, ": ", view_debug_thread(t),] })]
}
fn view_debug_thread(thread: &Thread) -> Node<Msg> {
ul![thread
.0
.iter()
.enumerate()
.map(|(i, tn)| { li!["tn", i, ": ", view_debug_thread_node(tn),] })]
}
fn view_debug_thread_node(thread_node: &ThreadNode) -> Node<Msg> {
ul![
IF!(thread_node.0.is_some()=>li!["tn id:", &thread_node.0.as_ref().unwrap().id]),
thread_node.1.iter().enumerate().map(|(i, tn)| li![
"tn",
i,
": ",
view_debug_thread_node(tn)
])
]
}
@ -1193,7 +1159,10 @@ fn view_header(query: &str, refresh_request: &RefreshingState) -> Node<Msg> {
At::AutoFocus => true.as_at_value();
At::Value => query,
},
input_ev(Ev::Input, |q| Msg::SearchRequest {
input_ev(Ev::Input, |q| if USE_GRAPHQL {
Msg::UpdateQuery(q)
} else {
Msg::SearchRequest {
query: Url::encode_uri_component(if q.is_empty() {
"*".to_string()
} else {
@ -1201,14 +1170,19 @@ fn view_header(query: &str, refresh_request: &RefreshingState) -> Node<Msg> {
}),
page: 0,
results_per_page: SEARCH_RESULTS_PER_PAGE,
}
}),
// Resend search on enter.
// Send search on enter.
keyboard_ev(Ev::KeyUp, move |e| if e.key_code() == 0x0d {
if USE_GRAPHQL {
Msg::SearchQuery(query)
} else {
Msg::SearchRequest {
query: Url::encode_uri_component(query),
page: 0,
results_per_page: SEARCH_RESULTS_PER_PAGE,
}
}
} else {
Msg::Noop
}),