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:
filipriec
2025-08-30 16:42:04 +02:00
parent a0757efe8b
commit 46149c09db
6 changed files with 143 additions and 79 deletions

View File

@@ -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()
}