Implemented the ability to view indexers
This commit is contained in:
@@ -116,6 +116,7 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for RadarrHandler<'a, 'b
|
||||
}
|
||||
}
|
||||
ActiveRadarrBlock::Downloads => self.app.data.radarr_data.downloads.scroll_up(),
|
||||
ActiveRadarrBlock::Indexers => self.app.data.radarr_data.indexers.scroll_up(),
|
||||
ActiveRadarrBlock::RootFolders => self.app.data.radarr_data.root_folders.scroll_up(),
|
||||
_ => (),
|
||||
}
|
||||
@@ -145,6 +146,7 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for RadarrHandler<'a, 'b
|
||||
}
|
||||
}
|
||||
ActiveRadarrBlock::Downloads => self.app.data.radarr_data.downloads.scroll_down(),
|
||||
ActiveRadarrBlock::Indexers => self.app.data.radarr_data.indexers.scroll_down(),
|
||||
ActiveRadarrBlock::RootFolders => self.app.data.radarr_data.root_folders.scroll_down(),
|
||||
_ => (),
|
||||
}
|
||||
@@ -179,6 +181,7 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for RadarrHandler<'a, 'b
|
||||
}
|
||||
}
|
||||
ActiveRadarrBlock::Downloads => self.app.data.radarr_data.downloads.scroll_to_top(),
|
||||
ActiveRadarrBlock::Indexers => self.app.data.radarr_data.indexers.scroll_to_top(),
|
||||
ActiveRadarrBlock::RootFolders => self.app.data.radarr_data.root_folders.scroll_to_top(),
|
||||
ActiveRadarrBlock::SearchMovie | ActiveRadarrBlock::SearchCollection => {
|
||||
self.app.data.radarr_data.search.scroll_home()
|
||||
@@ -220,6 +223,7 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for RadarrHandler<'a, 'b
|
||||
}
|
||||
}
|
||||
ActiveRadarrBlock::Downloads => self.app.data.radarr_data.downloads.scroll_to_bottom(),
|
||||
ActiveRadarrBlock::Indexers => self.app.data.radarr_data.indexers.scroll_to_bottom(),
|
||||
ActiveRadarrBlock::RootFolders => self.app.data.radarr_data.root_folders.scroll_to_bottom(),
|
||||
ActiveRadarrBlock::SearchMovie | ActiveRadarrBlock::SearchCollection => {
|
||||
self.app.data.radarr_data.search.reset_offset()
|
||||
@@ -257,6 +261,7 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for RadarrHandler<'a, 'b
|
||||
| ActiveRadarrBlock::Downloads
|
||||
| ActiveRadarrBlock::Collections
|
||||
| ActiveRadarrBlock::RootFolders
|
||||
| ActiveRadarrBlock::Indexers
|
||||
| ActiveRadarrBlock::System => match self.key {
|
||||
_ if *self.key == DEFAULT_KEYBINDINGS.left.key => {
|
||||
self.app.data.radarr_data.main_tabs.previous();
|
||||
@@ -521,6 +526,12 @@ impl<'a, 'b> KeyEventHandler<'a, 'b, ActiveRadarrBlock> for RadarrHandler<'a, 'b
|
||||
}
|
||||
_ => (),
|
||||
},
|
||||
ActiveRadarrBlock::Indexers => match self.key {
|
||||
_ if *key == DEFAULT_KEYBINDINGS.refresh.key => {
|
||||
self.app.should_refresh = true;
|
||||
}
|
||||
_ => (),
|
||||
},
|
||||
ActiveRadarrBlock::Collections => match self.key {
|
||||
_ if *key == DEFAULT_KEYBINDINGS.search.key => {
|
||||
self
|
||||
|
||||
@@ -16,7 +16,7 @@ mod tests {
|
||||
mod test_handle_scroll_up_and_down {
|
||||
use rstest::rstest;
|
||||
|
||||
use crate::models::radarr_models::{DownloadRecord, RootFolder};
|
||||
use crate::models::radarr_models::{DownloadRecord, Indexer, RootFolder};
|
||||
use crate::{simple_stateful_iterable_vec, test_iterable_scroll};
|
||||
|
||||
use super::*;
|
||||
@@ -75,6 +75,16 @@ mod tests {
|
||||
title
|
||||
);
|
||||
|
||||
test_iterable_scroll!(
|
||||
test_indexers_scroll,
|
||||
RadarrHandler,
|
||||
indexers,
|
||||
simple_stateful_iterable_vec!(Indexer, String, protocol),
|
||||
ActiveRadarrBlock::Indexers,
|
||||
None,
|
||||
protocol
|
||||
);
|
||||
|
||||
test_iterable_scroll!(
|
||||
test_root_folders_scroll,
|
||||
RadarrHandler,
|
||||
@@ -89,7 +99,7 @@ mod tests {
|
||||
mod test_handle_home_end {
|
||||
use pretty_assertions::assert_eq;
|
||||
|
||||
use crate::models::radarr_models::{DownloadRecord, RootFolder};
|
||||
use crate::models::radarr_models::{DownloadRecord, Indexer, RootFolder};
|
||||
use crate::{
|
||||
extended_stateful_iterable_vec, test_iterable_home_and_end, test_text_box_home_end_keys,
|
||||
};
|
||||
@@ -150,6 +160,16 @@ mod tests {
|
||||
title
|
||||
);
|
||||
|
||||
test_iterable_home_and_end!(
|
||||
test_indexers_home_end,
|
||||
RadarrHandler,
|
||||
indexers,
|
||||
extended_stateful_iterable_vec!(Indexer, String, protocol),
|
||||
ActiveRadarrBlock::Indexers,
|
||||
None,
|
||||
protocol
|
||||
);
|
||||
|
||||
test_iterable_home_and_end!(
|
||||
test_root_folders_home_end,
|
||||
RadarrHandler,
|
||||
@@ -250,7 +270,8 @@ mod tests {
|
||||
|
||||
#[rstest]
|
||||
#[case(ActiveRadarrBlock::Movies, 0, ActiveRadarrBlock::System)]
|
||||
#[case(ActiveRadarrBlock::System, 4, ActiveRadarrBlock::RootFolders)]
|
||||
#[case(ActiveRadarrBlock::System, 5, ActiveRadarrBlock::Indexers)]
|
||||
#[case(ActiveRadarrBlock::Indexers, 4, ActiveRadarrBlock::RootFolders)]
|
||||
#[case(ActiveRadarrBlock::RootFolders, 3, ActiveRadarrBlock::Collections)]
|
||||
#[case(ActiveRadarrBlock::Collections, 2, ActiveRadarrBlock::Downloads)]
|
||||
#[case(ActiveRadarrBlock::Downloads, 1, ActiveRadarrBlock::Movies)]
|
||||
@@ -281,8 +302,9 @@ mod tests {
|
||||
#[case(ActiveRadarrBlock::Movies, 0, ActiveRadarrBlock::Downloads)]
|
||||
#[case(ActiveRadarrBlock::Downloads, 1, ActiveRadarrBlock::Collections)]
|
||||
#[case(ActiveRadarrBlock::Collections, 2, ActiveRadarrBlock::RootFolders)]
|
||||
#[case(ActiveRadarrBlock::RootFolders, 3, ActiveRadarrBlock::System)]
|
||||
#[case(ActiveRadarrBlock::System, 4, ActiveRadarrBlock::Movies)]
|
||||
#[case(ActiveRadarrBlock::RootFolders, 3, ActiveRadarrBlock::Indexers)]
|
||||
#[case(ActiveRadarrBlock::Indexers, 4, ActiveRadarrBlock::System)]
|
||||
#[case(ActiveRadarrBlock::System, 5, ActiveRadarrBlock::Movies)]
|
||||
fn test_radarr_tab_right(
|
||||
#[case] active_radarr_block: ActiveRadarrBlock,
|
||||
#[case] index: usize,
|
||||
@@ -963,6 +985,7 @@ mod tests {
|
||||
ActiveRadarrBlock::Movies,
|
||||
ActiveRadarrBlock::Collections,
|
||||
ActiveRadarrBlock::Downloads,
|
||||
ActiveRadarrBlock::Indexers,
|
||||
ActiveRadarrBlock::RootFolders,
|
||||
ActiveRadarrBlock::System
|
||||
)]
|
||||
|
||||
Reference in New Issue
Block a user