only to the top and to the bottom in the canvas, cant jump around anymore
This commit is contained in:
@@ -173,11 +173,7 @@ pub async fn execute_edit_action<S: CanvasState>(
|
|||||||
let num_fields = state.fields().len();
|
let num_fields = state.fields().len();
|
||||||
if num_fields > 0 {
|
if num_fields > 0 {
|
||||||
let current_field = state.current_field();
|
let current_field = state.current_field();
|
||||||
let new_field = if current_field == 0 {
|
let new_field = current_field.saturating_sub(1);
|
||||||
num_fields - 1
|
|
||||||
} else {
|
|
||||||
current_field - 1
|
|
||||||
};
|
|
||||||
state.set_current_field(new_field);
|
state.set_current_field(new_field);
|
||||||
let current_input = state.get_current_input();
|
let current_input = state.get_current_input();
|
||||||
let max_pos = current_input.len();
|
let max_pos = current_input.len();
|
||||||
@@ -191,7 +187,7 @@ pub async fn execute_edit_action<S: CanvasState>(
|
|||||||
"move_down" => {
|
"move_down" => {
|
||||||
let num_fields = state.fields().len();
|
let num_fields = state.fields().len();
|
||||||
if num_fields > 0 {
|
if num_fields > 0 {
|
||||||
let new_field = (state.current_field() + 1) % num_fields;
|
let new_field = (state.current_field() + 1).min(num_fields - 1);
|
||||||
state.set_current_field(new_field);
|
state.set_current_field(new_field);
|
||||||
let current_input = state.get_current_input();
|
let current_input = state.get_current_input();
|
||||||
let max_pos = current_input.len();
|
let max_pos = current_input.len();
|
||||||
|
|||||||
@@ -173,11 +173,7 @@ pub async fn execute_edit_action<S: CanvasState>(
|
|||||||
let num_fields = state.fields().len();
|
let num_fields = state.fields().len();
|
||||||
if num_fields > 0 {
|
if num_fields > 0 {
|
||||||
let current_field = state.current_field();
|
let current_field = state.current_field();
|
||||||
let new_field = if current_field == 0 {
|
let new_field = current_field.saturating_sub(1);
|
||||||
num_fields - 1
|
|
||||||
} else {
|
|
||||||
current_field - 1
|
|
||||||
};
|
|
||||||
state.set_current_field(new_field);
|
state.set_current_field(new_field);
|
||||||
let current_input = state.get_current_input();
|
let current_input = state.get_current_input();
|
||||||
let max_pos = current_input.len();
|
let max_pos = current_input.len();
|
||||||
@@ -191,7 +187,7 @@ pub async fn execute_edit_action<S: CanvasState>(
|
|||||||
"move_down" => {
|
"move_down" => {
|
||||||
let num_fields = state.fields().len();
|
let num_fields = state.fields().len();
|
||||||
if num_fields > 0 {
|
if num_fields > 0 {
|
||||||
let new_field = (state.current_field() + 1) % num_fields;
|
let new_field = (state.current_field() + 1).min(num_fields - 1);
|
||||||
state.set_current_field(new_field);
|
state.set_current_field(new_field);
|
||||||
let current_input = state.get_current_input();
|
let current_input = state.get_current_input();
|
||||||
let max_pos = current_input.len();
|
let max_pos = current_input.len();
|
||||||
|
|||||||
@@ -33,11 +33,7 @@ pub async fn execute_action<S: CanvasState>(
|
|||||||
return Ok("No fields to navigate.".to_string());
|
return Ok("No fields to navigate.".to_string());
|
||||||
}
|
}
|
||||||
let current_field = state.current_field();
|
let current_field = state.current_field();
|
||||||
let new_field = if current_field == 0 {
|
let new_field = current_field.saturating_sub(1);
|
||||||
num_fields - 1
|
|
||||||
} else {
|
|
||||||
current_field - 1
|
|
||||||
};
|
|
||||||
state.set_current_field(new_field);
|
state.set_current_field(new_field);
|
||||||
let current_input = state.get_current_input();
|
let current_input = state.get_current_input();
|
||||||
let max_cursor_pos = if current_input.is_empty() {
|
let max_cursor_pos = if current_input.is_empty() {
|
||||||
@@ -57,7 +53,7 @@ pub async fn execute_action<S: CanvasState>(
|
|||||||
return Ok("No fields to navigate.".to_string());
|
return Ok("No fields to navigate.".to_string());
|
||||||
}
|
}
|
||||||
let current_field = state.current_field();
|
let current_field = state.current_field();
|
||||||
let new_field = (current_field + 1) % num_fields;
|
let new_field = (state.current_field() + 1).min(num_fields - 1);
|
||||||
state.set_current_field(new_field);
|
state.set_current_field(new_field);
|
||||||
let current_input = state.get_current_input();
|
let current_input = state.get_current_input();
|
||||||
let max_cursor_pos = if current_input.is_empty() {
|
let max_cursor_pos = if current_input.is_empty() {
|
||||||
|
|||||||
@@ -33,11 +33,7 @@ pub async fn execute_action<S: CanvasState>(
|
|||||||
return Ok("No fields to navigate.".to_string());
|
return Ok("No fields to navigate.".to_string());
|
||||||
}
|
}
|
||||||
let current_field = state.current_field();
|
let current_field = state.current_field();
|
||||||
let new_field = if current_field == 0 {
|
let new_field = current_field.saturating_sub(1);
|
||||||
num_fields - 1
|
|
||||||
} else {
|
|
||||||
current_field - 1
|
|
||||||
};
|
|
||||||
state.set_current_field(new_field);
|
state.set_current_field(new_field);
|
||||||
let current_input = state.get_current_input();
|
let current_input = state.get_current_input();
|
||||||
let max_cursor_pos = if current_input.is_empty() {
|
let max_cursor_pos = if current_input.is_empty() {
|
||||||
@@ -56,7 +52,7 @@ pub async fn execute_action<S: CanvasState>(
|
|||||||
return Ok("No fields to navigate.".to_string());
|
return Ok("No fields to navigate.".to_string());
|
||||||
}
|
}
|
||||||
let current_field = state.current_field();
|
let current_field = state.current_field();
|
||||||
let new_field = (current_field + 1) % num_fields;
|
let new_field = (current_field + 1).min(num_fields - 1);
|
||||||
state.set_current_field(new_field);
|
state.set_current_field(new_field);
|
||||||
let current_input = state.get_current_input();
|
let current_input = state.get_current_input();
|
||||||
let max_cursor_pos = if current_input.is_empty() {
|
let max_cursor_pos = if current_input.is_empty() {
|
||||||
|
|||||||
Reference in New Issue
Block a user