From 71a3315fe832db012788c5bc63ad9cf7d59d3732 Mon Sep 17 00:00:00 2001 From: Bill Thiede Date: Mon, 27 Nov 2023 21:11:12 -0800 Subject: [PATCH] web: lint and clean up search input handling --- web/src/lib.rs | 90 ++++++++++++++++++-------------------------------- 1 file changed, 32 insertions(+), 58 deletions(-) diff --git a/web/src/lib.rs b/web/src/lib.rs index d1214a4..9a257f1 100644 --- a/web/src/lib.rs +++ b/web/src/lib.rs @@ -215,6 +215,8 @@ enum Msg { ShowPrettyResult(fetch::Result), 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::UpdateQuery(query) => model.query = query, + Msg::SearchQuery(query) => { + orders.request_url(urls::search(&query, 0)); + } + Msg::FrontPageRequest { query, after, @@ -1011,7 +1018,7 @@ macro_rules! implement_email { self.addr.as_deref() } } -)+}; + )+}; } implement_email!( @@ -1081,17 +1088,10 @@ fn view_thread(thread: &ShowThreadQueryThread) -> Node { p![C!["is-size-4"], &thread.subject], messages, /* TODO(wathiede): plumb in orignal id - a![ - 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(" ", " ")] */ + a![ + attrs! {At::Href=>api::original(&thread_node.0.as_ref().expect("message missing").id)}, + "Original" + ], */ ] } @@ -1111,40 +1111,6 @@ fn view_thread_legacy(thread_set: &ThreadSet) -> Node { 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 { - ul![thread_set - .0 - .iter() - .enumerate() - .map(|(i, t)| { li!["t", i, ": ", view_debug_thread(t),] })] -} -fn view_debug_thread(thread: &Thread) -> Node { - 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 { - 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,22 +1159,30 @@ fn view_header(query: &str, refresh_request: &RefreshingState) -> Node { At::AutoFocus => true.as_at_value(); At::Value => query, }, - input_ev(Ev::Input, |q| Msg::SearchRequest { - query: Url::encode_uri_component(if q.is_empty() { - "*".to_string() - } else { - q - }), - page: 0, - results_per_page: SEARCH_RESULTS_PER_PAGE, - }), - // Resend search on enter. - keyboard_ev(Ev::KeyUp, move |e| if e.key_code() == 0x0d { + input_ev(Ev::Input, |q| if USE_GRAPHQL { + Msg::UpdateQuery(q) + } else { Msg::SearchRequest { - query: Url::encode_uri_component(query), + query: Url::encode_uri_component(if q.is_empty() { + "*".to_string() + } else { + q + }), page: 0, results_per_page: SEARCH_RESULTS_PER_PAGE, } + }), + // 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 }),