[Bug]: moveColumns and setColumnOrder update relative cell references differently
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- typescript
- Área
- backend
Línea de trabajo
Empieza reproduciendo las dos demos de CodeSandbox y compara los puntos de entrada públicos setColumnOrder y moveColumns, especialmente cómo se comportan las referencias relativas después de reordenar. Se considerará terminado cuando setColumnOrder actualice las referencias relativas de celdas de forma coherente con llamadas equivalentes a moveColumns y los casos demostrados estén cubiertos por pruebas de regresión.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
Behavior
HyperFormula.moveColumns updates formulas with relative cell references to use the new column addresses.
Demo: https://codesandbox.io/p/sandbox/hyperformula-movecolumns-relative-references-7zlvyz
HyperFormula.setColumnOrder does not update formulas with relative cell references.
Demo: https://codesandbox.io/p/sandbox/hyperformula-setcolumnorder-relative-references-3n7y35
Expectation
I would expect HyperFormula.setColumnOrder to update formulas with relative cell references to match the behavior of HyperFormula.moveColumns.
My understanding is that HyperFormula.setColumnOrder should behave identically to multiple, equivalent calls to HyperFormula.moveColumns.
For example:
const engine = HyperFormula.buildFromSheets({
Sheet1: [["A", "B", "C", "D"]],
});
engine.setColumnOrder(0, [2, 3, 0, 1]);
// [[ "C", "D", "A", "B" ]]
console.log(engine.getSheetSerialized(0));
should always behave equivalently to
const engine = HyperFormula.buildFromSheets({
Sheet1: [["A", "B", "C", "D"]],
});
engine.moveColumns(0, 0, 1, 4);
engine.moveColumns(0, 0, 1, 4);
// [[ "C", "D", "A", "B" ]]
console.log(engine.getSheetSerialized(0));
If this is not the intended behavior, could you please provide a recommendation for how to move multiple columns simultaneously such that formulas with relative cell references are updated.
Video or screenshots
No response
Demo
See description (multiple demos provided)
HyperFormula version
3.0.0
Your framework
No response
Your environment
Ubuntu 24.04.2 LTS
- Lenguaje dominante
- TypeScript
- Estrellas
- 2.8k
- Forks
- 174
- Merge medio
- 1 d 19 h
- PR fusionados (30 d)
- 14
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de handsontable/hyperformula
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
handsontable/hyperformula#1803 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
handsontable/hyperformula#1793 ·
Los mantenedores suelen responder en 1 día
-
Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
handsontable/hyperformula#1745 ·
Los mantenedores suelen responder en 1 día
-
Bug Impact: Low
Dificultad 1/5 1-3 horas Aptitud para principiantes 68/100
handsontable/hyperformula#1641 ·
Los mantenedores suelen responder en 1 día
-
Bug
Dificultad 5/5 Más de una semana Aptitud para principiantes 22/100
handsontable/hyperformula#1825 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de handsontable/hyperformula
Issues similares
-
[Bug]: Device screenshot fails with 500 on iPhone Duo (Xcode 27.2): serve-sim calls simctl without --displayPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
pingdotgg/t3code#24900 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
inu-appcenter/UNIDorm-web#411 ·
Los mantenedores suelen responder en 1 día
-
🐛 bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
ranxianglei/billion-context#4720 ·
Los mantenedores suelen responder en 1 día
-
area:arcade game p3-medium ready-for-agent type:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
fderuiter/deruiter.dev#2840 ·
Los mantenedores suelen responder en 1 día