feat: implement move column move row with tests

This commit is contained in:
BrianHung
2025-06-30 10:24:17 -07:00
committed by Nicolás Hatcher Andrés
parent 7dc49d5dd7
commit c2777c73ac
6 changed files with 418 additions and 3 deletions

View File

@@ -28,6 +28,11 @@ pub enum DisplaceData {
column: i32,
delta: i32,
},
RowMove {
sheet: u32,
row: i32,
delta: i32,
},
ColumnMove {
sheet: u32,
column: i32,
@@ -159,6 +164,21 @@ pub(crate) fn stringify_reference(
}
}
}
DisplaceData::RowMove {
sheet,
row: move_row,
delta,
} => {
if sheet_index == *sheet {
if row == *move_row {
row += *delta;
} else if (*delta > 0 && row > *move_row && row <= *move_row + *delta)
|| (*delta < 0 && row < *move_row && row >= *move_row + *delta)
{
row -= *delta;
}
}
}
DisplaceData::ColumnMove {
sheet,
column: move_column,