compiled successfulywith rich suggestions now

This commit is contained in:
Priec
2025-07-29 23:49:58 +02:00
parent 20b428264e
commit f84bb0dc9e
14 changed files with 39 additions and 71 deletions

View File

@@ -11,8 +11,8 @@ use crate::state::pages::{
auth::{LoginState, RegisterState},
form::FormState,
};
use canvas::CanvasState;
use canvas::{CanvasAction, ActionDispatcher, ActionResult};
use canvas::canvas::CanvasState;
use canvas::{canvas::CanvasAction, dispatcher::ActionDispatcher, canvas::ActionResult};
use anyhow::Result;
use common::proto::komp_ac::search::search_response::Hit;
use crossterm::event::{KeyCode, KeyEvent};
@@ -170,7 +170,7 @@ pub async fn handle_edit_event(
return Ok(EditEventOutcome::Message(String::new()));
}
"exit" => {
form_state.deactivate_suggestions();
form_state.deactivate_autocomplete();
return Ok(EditEventOutcome::Message(
"Autocomplete cancelled".to_string(),
));
@@ -202,14 +202,14 @@ pub async fn handle_edit_event(
);
// 4. Finalize state
form_state.deactivate_suggestions();
form_state.deactivate_autocomplete();
form_state.set_has_unsaved_changes(true);
return Ok(EditEventOutcome::Message(
"Selection made".to_string(),
));
}
}
form_state.deactivate_suggestions();
form_state.deactivate_autocomplete();
// Fall through to default 'enter' behavior
}
_ => {} // Let other keys fall through to the live search logic

View File

@@ -10,7 +10,7 @@ use crate::state::pages::add_logic::AddLogicState;
use crate::state::pages::add_table::AddTableState;
use crate::state::app::state::AppState;
use crate::functions::modes::read_only::{add_logic_ro, auth_ro, form_ro, add_table_ro};
use canvas::{CanvasAction, ActionDispatcher, ActionResult};
use canvas::{canvas::CanvasAction, dispatcher::ActionDispatcher, canvas::ActionResult};
use crossterm::event::KeyEvent;
use anyhow::Result;
@@ -120,7 +120,7 @@ pub async fn handle_read_only_event(
}
} else {
// Handle FormState (uses library CanvasState)
use canvas::CanvasState as LibraryCanvasState; // Import at the top of the function
use canvas::canvas::CanvasState as LibraryCanvasState; // Import at the top of the function
let current_input = form_state.get_current_input();
let current_pos = form_state.current_cursor_pos();
if !current_input.is_empty() && current_pos < current_input.len() {

View File

@@ -18,8 +18,8 @@ use crate::modes::{
use crate::state::pages::canvas_state::CanvasState as LegacyCanvasState;
use crate::services::auth::AuthClient;
use crate::services::grpc_client::GrpcClient;
use canvas::{CanvasAction, ActionDispatcher};
use canvas::CanvasState as LibraryCanvasState;
use canvas::{canvas::CanvasAction, dispatcher::ActionDispatcher};
use canvas::canvas::CanvasState as LibraryCanvasState;
use super::event_helper::*;
use crate::state::{
app::{

View File

@@ -8,7 +8,7 @@ use crate::state::pages::{
auth::{LoginState, RegisterState},
};
use crate::state::pages::canvas_state::CanvasState as LegacyCanvasState;
use canvas::CanvasState as LibraryCanvasState;
use canvas::canvas::CanvasState as LibraryCanvasState;
/// Get the current field index from the appropriate state based on which UI is active
pub fn get_current_field_for_state(