/ apps / microtop / src / app / effects_shared.rs
effects_shared.rs
 1  use super::{
 2      App, FileSystemEntry, FileSystemLoadState, NetworkScanLoadState, WirelessNetworkEntry,
 3      WirelessStatus,
 4  };
 5  
 6  impl App {
 7      pub(super) fn apply_file_system_result(
 8          &mut self,
 9          fetch_result: Result<Vec<FileSystemEntry>, String>,
10      ) {
11          match fetch_result {
12              Ok(file_system_entries) => {
13                  self.file_system_entries = file_system_entries;
14                  self.file_system_load_state = FileSystemLoadState::Loaded;
15                  #[cfg(not(target_arch = "wasm32"))]
16                  {
17                      self.file_system_tree_state.select_first();
18                  }
19              }
20              Err(fetch_error) => {
21                  self.file_system_load_state = FileSystemLoadState::Error(fetch_error)
22              }
23          }
24      }
25  
26      pub(super) fn apply_wireless_status_result(
27          &mut self,
28          fetch_result: Result<WirelessStatus, String>,
29      ) {
30          if let Ok(wireless_status) = fetch_result {
31              self.wireless_status = Some(wireless_status);
32          }
33      }
34  
35      pub(super) fn apply_wireless_scan_result(
36          &mut self,
37          fetch_result: Result<Vec<WirelessNetworkEntry>, String>,
38      ) {
39          match fetch_result {
40              Ok(wireless_networks) => {
41                  self.wireless_networks = wireless_networks;
42                  if self.wireless_networks.is_empty() {
43                      self.network_table_state.select(None);
44                  } else if self.network_table_state.selected().is_none() {
45                      self.network_table_state.select(Some(0));
46                  }
47                  self.network_scan_load_state = NetworkScanLoadState::Loaded;
48              }
49              Err(fetch_error) => {
50                  self.network_scan_load_state = NetworkScanLoadState::Error(fetch_error)
51              }
52          }
53      }
54  }