event.rs and ui.rs refactor for the forms page(moved logic to the forms page dir and just calling it now)
This commit is contained in:
@@ -36,6 +36,7 @@ use crate::pages::register::RegisterResult;
|
||||
use crate::pages::routing::{Router, Page};
|
||||
use crate::movement::MovementAction;
|
||||
use crate::dialog;
|
||||
use crate::pages::forms;
|
||||
use crate::pages::forms::FormState;
|
||||
use crate::pages::forms::logic::{save, revert, SaveOutcome};
|
||||
use crate::search::state::SearchState;
|
||||
@@ -384,6 +385,14 @@ impl EventHandler {
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if let Page::Form(path) = &router.current {
|
||||
// NEW: Delegate Form event handling
|
||||
return forms::event::handle_form_event(
|
||||
event,
|
||||
app_state,
|
||||
path,
|
||||
&mut self.ideal_cursor_column
|
||||
);
|
||||
}
|
||||
}
|
||||
if toggle_sidebar(
|
||||
@@ -858,25 +867,14 @@ impl EventHandler {
|
||||
&mut self.auth_client,
|
||||
app_state,
|
||||
)
|
||||
.await?;
|
||||
.await?;
|
||||
Ok(EventOutcome::Ok(message))
|
||||
} else {
|
||||
let save_outcome = if let Page::Form(path) = &router.current {
|
||||
save(
|
||||
app_state,
|
||||
path,
|
||||
&mut self.grpc_client,
|
||||
)
|
||||
.await?
|
||||
if let Page::Form(path) = &router.current {
|
||||
forms::event::save_form(app_state, path, &mut self.grpc_client).await
|
||||
} else {
|
||||
SaveOutcome::NoChange
|
||||
};
|
||||
let message = match save_outcome {
|
||||
SaveOutcome::NoChange => "No changes to save.".to_string(),
|
||||
SaveOutcome::UpdatedExisting => "Entry updated.".to_string(),
|
||||
SaveOutcome::CreatedNew(_) => "New entry created.".to_string(),
|
||||
};
|
||||
Ok(EventOutcome::DataSaved(save_outcome, message))
|
||||
Ok(EventOutcome::Ok("Nothing to save".to_string()))
|
||||
}
|
||||
}
|
||||
}
|
||||
"force_quit" => {
|
||||
@@ -898,19 +896,18 @@ impl EventHandler {
|
||||
&mut self.auth_client,
|
||||
app_state,
|
||||
)
|
||||
.await?
|
||||
} else {
|
||||
let save_outcome = if let Page::Form(path) = &router.current {
|
||||
save(app_state, path, &mut self.grpc_client).await?
|
||||
} else {
|
||||
SaveOutcome::NoChange
|
||||
};
|
||||
match save_outcome {
|
||||
SaveOutcome::NoChange => "No changes to save.".to_string(),
|
||||
SaveOutcome::UpdatedExisting => "Entry updated.".to_string(),
|
||||
SaveOutcome::CreatedNew(_) => "New entry created.".to_string(),
|
||||
.await?
|
||||
} else if let Page::Form(path) = &router.current {
|
||||
let save_result = forms::event::save_form(app_state, path, &mut self.grpc_client).await?;
|
||||
match save_result {
|
||||
EventOutcome::DataSaved(_, msg) => msg,
|
||||
EventOutcome::Ok(msg) => msg,
|
||||
_ => "Saved".to_string(),
|
||||
}
|
||||
} else {
|
||||
"No changes to save.".to_string()
|
||||
};
|
||||
|
||||
if let Page::Form(path) = &router.current {
|
||||
if let Some(editor) = app_state.editor_for_path(path) {
|
||||
editor.cleanup_cursor()?;
|
||||
@@ -918,8 +915,8 @@ impl EventHandler {
|
||||
}
|
||||
terminal.cleanup()?;
|
||||
Ok(EventOutcome::Exit(format!(
|
||||
"{}. Exiting application.",
|
||||
message
|
||||
"{}. Exiting application.",
|
||||
message
|
||||
)))
|
||||
}
|
||||
"revert" => {
|
||||
@@ -933,7 +930,7 @@ impl EventHandler {
|
||||
.await
|
||||
} else {
|
||||
if let Page::Form(path) = &router.current {
|
||||
revert(app_state, path, &mut self.grpc_client).await?
|
||||
return forms::event::revert_form(app_state, path, &mut self.grpc_client).await;
|
||||
} else {
|
||||
"Nothing to revert".to_string()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user