summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeon Yang (Containers) <lnyng@meta.com>2023-03-31 07:39:56 -0700
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>2023-03-31 07:39:56 -0700
commit0bab2bd084416a7bca2527e2fd9898aea6ef1dab (patch)
tree3f2559e15bd4d3451997c273d3ddafa74f378404
parent9e9f0f05cd4b67ab3aaea778edca08d789729735 (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.rs22
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(),
))