diff --git a/src/ui/widget/table.rs b/src/ui/widget/table.rs index e50603b1..cab4d5c0 100644 --- a/src/ui/widget/table.rs +++ b/src/ui/widget/table.rs @@ -633,10 +633,7 @@ impl RenderTrait for Table<'_> { self.widget_config.clone() }; - let block = widget_config.render_block( - self.can_activate() && !self.mode.is_filter_input() && is_active, - is_mouse_over, - ); + let block = widget_config.render_block(self.can_activate() && is_active, is_mouse_over); let constraints = constraints(self.items.digits()); @@ -659,8 +656,7 @@ impl RenderTrait for Table<'_> { } Mode::FilterInput | Mode::FilterConfirm => { - self.filter_widget - .render(f, self.mode.is_filter_input() && is_active); + self.filter_widget.render(f, self.mode.is_filter_input()); f.render_stateful_widget(widget, self.chunk(), &mut self.state); } diff --git a/src/ui/widget/table/filter_form.rs b/src/ui/widget/table/filter_form.rs index 1f16dd29..ec6016f1 100644 --- a/src/ui/widget/table/filter_form.rs +++ b/src/ui/widget/table/filter_form.rs @@ -1,7 +1,7 @@ use crossterm::event::KeyEvent; use ratatui::{ layout::{Constraint, Direction, Layout, Rect}, - widgets::{Block, Paragraph}, + widgets::{Block, BorderType, Borders, Paragraph}, Frame, }; @@ -18,7 +18,7 @@ struct Chunk { #[derive(Debug)] pub struct FilterForm { - widget_config: WidgetConfig, + block: Block<'static>, input_widget: InputForm, chunk: Chunk, layout: Layout, @@ -27,7 +27,9 @@ pub struct FilterForm { impl Default for FilterForm { fn default() -> Self { Self { - widget_config: WidgetConfig::default(), + block: Block::default() + .border_type(BorderType::Plain) + .borders(Borders::ALL), input_widget: InputForm::new(WidgetConfig::builder().block(Block::default()).build()), chunk: Chunk::default(), layout: Layout::default() @@ -44,7 +46,7 @@ impl FilterForm { pub fn update_chunk(&mut self, chunk: Rect) { let block_chunk = Rect::new(chunk.x, chunk.y, chunk.width, FILTER_HEIGHT); - let inner_chunk = self.widget_config.block().inner(block_chunk); + let inner_chunk = self.block.inner(block_chunk); let chunks = self.layout.split(inner_chunk); @@ -73,10 +75,7 @@ impl FilterForm { } pub fn render(&mut self, f: &mut Frame<'_>, is_active: bool) { - f.render_widget( - self.widget_config.render_block(is_active, false), - self.chunk.block, - ); + f.render_widget(self.block.clone(), self.chunk.block); f.render_widget(Paragraph::new("FILTER: "), self.chunk.header); diff --git a/src/ui/widget/text.rs b/src/ui/widget/text.rs index 7b4f173f..92bf5b74 100644 --- a/src/ui/widget/text.rs +++ b/src/ui/widget/text.rs @@ -30,8 +30,7 @@ use crate::{ use self::{ highlight_content::{HighlightArea, HighlightContent, Point}, item::TextItem, - render::{Render, Scroll}, - search_form::SearchForm, + render::{Render, Scroll}, search_form::SearchForm, }; use super::{ @@ -815,7 +814,7 @@ impl RenderTrait for Text { self.search_widget.render( f, - self.mode.is_search_input() && is_active, + self.mode.is_search_input(), self.item.highlight_status(), ); }