updated util, added test
This commit is contained in:
committed by
Nicolás Hatcher Andrés
parent
5ca15033f7
commit
f2757e7d76
@@ -1,6 +1,8 @@
|
||||
import { readFile } from "node:fs/promises";
|
||||
import { type SelectedView, initSync } from "@ironcalc/wasm";
|
||||
import { expect, test } from "vitest";
|
||||
import { decreaseDecimalPlaces, increaseDecimalPlaces } from "../formatUtil";
|
||||
import { isNavigationKey } from "../util";
|
||||
import { getFullRangeToString, isNavigationKey } from "../util";
|
||||
|
||||
test("checks arrow left is a navigation key", () => {
|
||||
expect(isNavigationKey("ArrowLeft")).toBe(true);
|
||||
@@ -24,3 +26,20 @@ test("decrease decimals", () => {
|
||||
'dddd"," mmmm dd"," yyyy',
|
||||
);
|
||||
});
|
||||
|
||||
test("format range to get the full formula", async () => {
|
||||
const buffer = await readFile("node_modules/@ironcalc/wasm/wasm_bg.wasm");
|
||||
initSync(buffer);
|
||||
|
||||
const selectedView: SelectedView = {
|
||||
sheet: 0,
|
||||
row: 1,
|
||||
column: 8,
|
||||
range: [1, 8, 1, 8],
|
||||
top_row: 1,
|
||||
left_column: 8,
|
||||
};
|
||||
const worksheetNames = ["Sheet1", "Notes"];
|
||||
|
||||
expect(getFullRangeToString(selectedView, worksheetNames)).toBe("Sheet1!H1");
|
||||
});
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
import type { Area, Cell } from "./types";
|
||||
|
||||
import {
|
||||
type SelectedView,
|
||||
type WorksheetProperties,
|
||||
columnNameFromNumber,
|
||||
} from "@ironcalc/wasm";
|
||||
import { type SelectedView, columnNameFromNumber } from "@ironcalc/wasm";
|
||||
|
||||
/**
|
||||
* Returns true if the keypress should start editing
|
||||
@@ -68,12 +64,11 @@ export function rangeToStr(
|
||||
|
||||
export function getFullRangeToString(
|
||||
selectedView: SelectedView,
|
||||
worksheets: WorksheetProperties[], // solo pasar names
|
||||
worksheetNames: string[],
|
||||
): string {
|
||||
// order of values is confusing compared to rangeToStr range type, needs refactoring for consistency
|
||||
const [rowStart, columnStart, rowEnd, columnEnd] = selectedView.range;
|
||||
const sheetNames = worksheets.map((s) => s.name);
|
||||
const sheetName = `${sheetNames[selectedView.sheet]}!`;
|
||||
const sheetName = `${worksheetNames[selectedView.sheet]}!`;
|
||||
|
||||
if (rowStart === rowEnd && columnStart === columnEnd) {
|
||||
return `${sheetName}${columnNameFromNumber(columnStart)}${rowStart}`;
|
||||
|
||||
Reference in New Issue
Block a user