refactor: major refactor of internal data handling

What started off as an inquisitive look at how the gui drawing blocks get the data they require in order to draw to the screen, ended up as a realisation  that it could be achieved in a better manner. Basically just use x.get(y), instead of using x[y] all over the place
This commit is contained in:
Jack Wills
2023-01-28 20:44:09 +00:00
parent 1025579138
commit b4488e4bdb
6 changed files with 251 additions and 236 deletions
+4 -12
View File
@@ -141,9 +141,8 @@ fn ui<B: Backend>(
let height = if height < 12 { height + 4 } else { 12 };
let column_widths = app_data.lock().get_width();
let has_containers = !app_data.lock().containers.items.is_empty();
let has_containers = !app_data.lock().has_containers();
let has_error = app_data.lock().get_error();
let log_index = app_data.lock().get_selected_log_index();
let sorted_by = app_data.lock().get_sorted();
let show_help = gui_state.lock().status_contains(&[Status::Help]);
@@ -193,17 +192,10 @@ fn ui<B: Backend>(
draw_blocks::containers(app_data, top_panel[0], f, gui_state, &column_widths);
if has_containers {
draw_blocks::commands(app_data, top_panel[1], f, gui_state, log_index);
draw_blocks::commands(app_data, top_panel[1], f, gui_state);
}
draw_blocks::logs(
app_data,
lower_main[0],
f,
gui_state,
log_index,
&loading_icon,
);
draw_blocks::logs(app_data, lower_main[0], f, gui_state, &loading_icon);
draw_blocks::heading_bar(
whole_layout[0],
@@ -217,7 +209,7 @@ fn ui<B: Backend>(
// only draw charts if there are containers
if has_containers {
draw_blocks::chart(f, lower_main[1], app_data, log_index);
draw_blocks::chart(f, lower_main[1], app_data);
}
if let Some(info) = info_text {