diff options
author | Leon Yang (Containers) <lnyng@meta.com> | 2023-03-31 07:39:56 -0700 |
---|---|---|
committer | Facebook GitHub Bot <facebook-github-bot@users.noreply.github.com> | 2023-03-31 07:39:56 -0700 |
commit | 0bab2bd084416a7bca2527e2fd9898aea6ef1dab (patch) | |
tree | 3f2559e15bd4d3451997c273d3ddafa74f378404 | |
parent | 9e9f0f05cd4b67ab3aaea778edca08d789729735 (diff) |
Fix view not clearing alert on selecting new rows
Summary: Broken by D43935299, which removes the block added.in D37039680. Add the block back.
Reviewed By: brianc118
Differential Revision: D44556465
fbshipit-source-id: a2bcb21c2e94faae44eef257a070367149cff8c7
-rw-r--r-- | below/view/src/stats_view.rs | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/below/view/src/stats_view.rs b/below/view/src/stats_view.rs index 58d097eb..eefa05e0 100644 --- a/below/view/src/stats_view.rs +++ b/below/view/src/stats_view.rs @@ -18,8 +18,6 @@ use std::cell::RefMut; use std::collections::HashMap; use std::rc::Rc; -use ::cursive::view::Scrollable; -use ::cursive::view::View; use common::logutil::get_last_log_to_display; use common::logutil::CPMsgRecord; use cursive::event::Event; @@ -27,6 +25,8 @@ use cursive::event::EventResult; use cursive::event::EventTrigger; use cursive::utils::markup::StyledString; use cursive::view::Nameable; +use cursive::view::Scrollable; +use cursive::view::View; use cursive::view::ViewWrapper; use cursive::views::LinearLayout; use cursive::views::NamedView; @@ -239,6 +239,22 @@ impl<V: 'static + ViewBridge> StatsView<V> { .get(&default_tab) .expect("Failed to query default tab"); + let select_view_with_cb = + select_view.on_select(|c, selected_key: &<V::StateType as StateCommon>::KeyType| { + c.call_on_name(V::get_view_name(), |view: &mut StatsView<V>| { + V::on_select_update_state(&mut view.state.borrow_mut(), Some(selected_key)); + let mut cmd_palette = view.get_cmd_palette(); + let cur_tab = view.get_tab_view().get_cur_selected().to_string(); + let selected_column = view.get_title_view().current_selected; + cmd_palette.set_info(V::on_select_update_cmd_palette( + &view.state.borrow(), + selected_key, + &cur_tab, + selected_column, + )); + }); + }); + let detailed_view = OnEventView::new(Panel::new( LinearLayout::vertical() .child( @@ -258,7 +274,7 @@ impl<V: 'static + ViewBridge> StatsView<V> { .with_name(format!("{}_title", &name)), ) .child(ResizedView::with_full_screen( - select_view + select_view_with_cb .with_name(format!("{}_detail", &name)) .scrollable(), )) |