refactor: input sort executed in app_data struct sort_by_header()
This commit is contained in:
@@ -18,7 +18,7 @@ use tui::layout::Rect;
|
|||||||
|
|
||||||
mod message;
|
mod message;
|
||||||
use crate::{
|
use crate::{
|
||||||
app_data::{AppData, DockerControls, Header, SortedOrder},
|
app_data::{AppData, DockerControls, Header},
|
||||||
app_error::AppError,
|
app_error::AppError,
|
||||||
docker_data::DockerMessage,
|
docker_data::DockerMessage,
|
||||||
ui::{GuiState, SelectablePanel, Status},
|
ui::{GuiState, SelectablePanel, Status},
|
||||||
@@ -121,19 +121,9 @@ impl InputHandler {
|
|||||||
self.mouse_capture = !self.mouse_capture;
|
self.mouse_capture = !self.mouse_capture;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Sort containers based on a given header, if headings match, and already ascending, remove sorting
|
/// Sort the containers by a given header
|
||||||
fn sort(&self, selected_header: Header) {
|
fn sort(&self, selected_header: Header) {
|
||||||
let mut locked_data = self.app_data.lock();
|
self.app_data.lock().set_sort_by_header(selected_header);
|
||||||
let mut output = Some((selected_header, SortedOrder::Asc));
|
|
||||||
if let Some((current_header, order)) = locked_data.get_sorted() {
|
|
||||||
if current_header == selected_header {
|
|
||||||
match order {
|
|
||||||
SortedOrder::Desc => output = None,
|
|
||||||
SortedOrder::Asc => output = Some((selected_header, SortedOrder::Desc)),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
locked_data.set_sorted(output);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Send a quit message to docker, to abort all spawns, if an error is returned, set is_running to false here instead
|
/// Send a quit message to docker, to abort all spawns, if an error is returned, set is_running to false here instead
|
||||||
@@ -173,7 +163,7 @@ impl InputHandler {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
match key_code {
|
match key_code {
|
||||||
KeyCode::Char('0') => self.app_data.lock().set_sorted(None),
|
KeyCode::Char('0') => self.app_data.lock().reset_sorted(),
|
||||||
KeyCode::Char('1') => self.sort(Header::State),
|
KeyCode::Char('1') => self.sort(Header::State),
|
||||||
KeyCode::Char('2') => self.sort(Header::Status),
|
KeyCode::Char('2') => self.sort(Header::Status),
|
||||||
KeyCode::Char('3') => self.sort(Header::Cpu),
|
KeyCode::Char('3') => self.sort(Header::Cpu),
|
||||||
|
|||||||
Reference in New Issue
Block a user