25 lines
921 B
Rust
25 lines
921 B
Rust
// src/pages/admin_panel/add_table/logic.rs
|
|
|
|
use crate::pages::admin_panel::add_table::state::{AddTableState, AddTableFocus};
|
|
|
|
/// Thin wrapper around AddTableState::add_column_from_inputs
|
|
/// Returns Some(AddTableFocus) for compatibility with old call sites.
|
|
pub fn handle_add_column_action(
|
|
add_table_state: &mut AddTableState,
|
|
command_message: &mut String,
|
|
) -> Option<AddTableFocus> {
|
|
if let Some(msg) = add_table_state.add_column_from_inputs() {
|
|
*command_message = msg;
|
|
// State sets focus internally; return it explicitly for old call sites
|
|
return Some(add_table_state.current_focus);
|
|
}
|
|
None
|
|
}
|
|
|
|
/// Thin wrapper around AddTableState::delete_selected_items
|
|
pub fn handle_delete_selected_columns(add_table_state: &mut AddTableState) -> String {
|
|
add_table_state
|
|
.delete_selected_items()
|
|
.unwrap_or_else(|| "No items selected for deletion".to_string())
|
|
}
|