grpc post request to the table definition from add table, not working, major bug, needs debugging to make it work
This commit is contained in:
@@ -21,6 +21,8 @@ use crate::tui::terminal::{EventReader, TerminalCore};
|
||||
use crate::ui::handlers::render::render_ui;
|
||||
use crate::tui::functions::common::login::LoginResult;
|
||||
use crate::tui::functions::common::register::RegisterResult;
|
||||
use crate::tui::functions::common::add_table::handle_save_table_action;
|
||||
use crate::functions::modes::navigation::add_table_nav::SaveTableResultSender;
|
||||
use crate::tui::functions::common::login;
|
||||
use crate::tui::functions::common::register;
|
||||
use std::time::Instant;
|
||||
@@ -42,9 +44,13 @@ pub async fn run_ui() -> Result<()> {
|
||||
mpsc::channel::<LoginResult>(1);
|
||||
let (register_result_sender, mut register_result_receiver) =
|
||||
mpsc::channel::<RegisterResult>(1);
|
||||
let (save_table_result_sender, mut save_table_result_receiver) =
|
||||
mpsc::channel::<Result<String>>(1);
|
||||
|
||||
let mut event_handler = EventHandler::new(
|
||||
login_result_sender.clone(),
|
||||
register_result_sender.clone(),
|
||||
save_table_result_sender.clone(),
|
||||
).await.context("Failed to create event handler")?;
|
||||
let event_reader = EventReader::new();
|
||||
|
||||
@@ -215,6 +221,31 @@ pub async fn run_ui() -> Result<()> {
|
||||
error!("Register result channel disconnected unexpectedly.");
|
||||
}
|
||||
}
|
||||
// --- Check for Save Table Results ---
|
||||
match save_table_result_receiver.try_recv() {
|
||||
Ok(result) => {
|
||||
app_state.hide_dialog(); // Hide loading indicator
|
||||
match result {
|
||||
Ok(success_message) => {
|
||||
event_handler.command_message = success_message;
|
||||
admin_state.add_table_state.has_unsaved_changes = false;
|
||||
// Optionally refresh profile tree if needed
|
||||
// let _ = UiService::initialize_app_state(&mut grpc_client, &mut app_state).await;
|
||||
// Navigate back to Admin view
|
||||
buffer_state.update_history(AppView::Admin);
|
||||
}
|
||||
Err(e) => {
|
||||
event_handler.command_message = format!("Save failed: {}", e);
|
||||
// Optionally show an error dialog instead of just command message
|
||||
}
|
||||
}
|
||||
needs_redraw = true;
|
||||
}
|
||||
Err(mpsc::error::TryRecvError::Empty) => {} // No message
|
||||
Err(mpsc::error::TryRecvError::Disconnected) => {
|
||||
error!("Save table result channel disconnected unexpectedly.");
|
||||
}
|
||||
}
|
||||
|
||||
// --- Centralized Consequence Handling ---
|
||||
let mut should_exit = false;
|
||||
|
||||
Reference in New Issue
Block a user