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 { expect, test } from "vitest";
|
||||||
import { decreaseDecimalPlaces, increaseDecimalPlaces } from "../formatUtil";
|
import { decreaseDecimalPlaces, increaseDecimalPlaces } from "../formatUtil";
|
||||||
import { isNavigationKey } from "../util";
|
import { getFullRangeToString, isNavigationKey } from "../util";
|
||||||
|
|
||||||
test("checks arrow left is a navigation key", () => {
|
test("checks arrow left is a navigation key", () => {
|
||||||
expect(isNavigationKey("ArrowLeft")).toBe(true);
|
expect(isNavigationKey("ArrowLeft")).toBe(true);
|
||||||
@@ -24,3 +26,20 @@ test("decrease decimals", () => {
|
|||||||
'dddd"," mmmm dd"," yyyy',
|
'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 { Area, Cell } from "./types";
|
||||||
|
|
||||||
import {
|
import { type SelectedView, columnNameFromNumber } from "@ironcalc/wasm";
|
||||||
type SelectedView,
|
|
||||||
type WorksheetProperties,
|
|
||||||
columnNameFromNumber,
|
|
||||||
} from "@ironcalc/wasm";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true if the keypress should start editing
|
* Returns true if the keypress should start editing
|
||||||
@@ -68,12 +64,11 @@ export function rangeToStr(
|
|||||||
|
|
||||||
export function getFullRangeToString(
|
export function getFullRangeToString(
|
||||||
selectedView: SelectedView,
|
selectedView: SelectedView,
|
||||||
worksheets: WorksheetProperties[], // solo pasar names
|
worksheetNames: string[],
|
||||||
): string {
|
): string {
|
||||||
// order of values is confusing compared to rangeToStr range type, needs refactoring for consistency
|
// order of values is confusing compared to rangeToStr range type, needs refactoring for consistency
|
||||||
const [rowStart, columnStart, rowEnd, columnEnd] = selectedView.range;
|
const [rowStart, columnStart, rowEnd, columnEnd] = selectedView.range;
|
||||||
const sheetNames = worksheets.map((s) => s.name);
|
const sheetName = `${worksheetNames[selectedView.sheet]}!`;
|
||||||
const sheetName = `${sheetNames[selectedView.sheet]}!`;
|
|
||||||
|
|
||||||
if (rowStart === rowEnd && columnStart === columnEnd) {
|
if (rowStart === rowEnd && columnStart === columnEnd) {
|
||||||
return `${sheetName}${columnNameFromNumber(columnStart)}${rowStart}`;
|
return `${sheetName}${columnNameFromNumber(columnStart)}${rowStart}`;
|
||||||
|
|||||||
Reference in New Issue
Block a user