refactor: Simplified both the table_handler macro and the stateful_table implementation

This commit is contained in:
2025-12-04 11:34:45 -07:00
parent 659023d561
commit 71240373c0
14 changed files with 192 additions and 419 deletions
@@ -7,7 +7,6 @@ use crate::models::servarr_data::radarr::modals::AddMovieModal;
use crate::models::servarr_data::radarr::radarr_data::{
ADD_MOVIE_BLOCKS, ADD_MOVIE_SELECTION_BLOCKS, ActiveRadarrBlock,
};
use crate::models::stateful_table::StatefulTable;
use crate::models::{BlockSelectionState, Scrollable};
use crate::network::radarr_network::RadarrEvent;
use crate::{
@@ -35,7 +34,7 @@ impl AddMovieHandler<'_, '_> {
.radarr_data
.add_searched_movies
.as_mut()
.unwrap_or(&mut StatefulTable::default()),
.expect("add_searched_movies should be initialized"),
AddMovieSearchResult
);
@@ -44,7 +44,6 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for LibraryHandler<'a, '
fn handle(&mut self) {
let movie_table_handling_config = TableHandlingConfig::new(ActiveRadarrBlock::Movies.into())
.sorting_block(ActiveRadarrBlock::MoviesSortPrompt.into())
.sort_by_fn(|a: &Movie, b: &Movie| a.id.cmp(&b.id))
.sort_options(movies_sorting_options())
.searching_block(ActiveRadarrBlock::SearchMovie.into())
.search_error_block(ActiveRadarrBlock::SearchMovieError.into())