@rowsncolumns/rnc-engine 1.1.8 → 1.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/command-handlers.d.ts +18 -1
- package/dist/esm/command-handlers.d.ts.map +1 -1
- package/dist/esm/command-handlers.js +55 -4
- package/dist/esm/index.d.ts +10 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +10 -0
- package/dist/esm/paste-special.d.ts +21 -4
- package/dist/esm/paste-special.d.ts.map +1 -1
- package/dist/esm/paste-special.js +54 -4
- package/dist/esm/sheet-fallback.d.ts +21 -0
- package/dist/esm/sheet-fallback.d.ts.map +1 -0
- package/dist/esm/sheet-fallback.js +33 -0
- package/dist/esm/use-engine-core.d.ts +6 -0
- package/dist/esm/use-engine-core.d.ts.map +1 -1
- package/dist/esm/use-engine-core.js +120 -46
- package/dist/esm/wasm/rnc_wasm.d.ts +13 -0
- package/dist/esm/wasm/rnc_wasm.js +53 -0
- package/dist/esm/wasm/rnc_wasm_bg.wasm +0 -0
- package/dist/esm/wasm/rnc_wasm_bg.wasm.d.ts +2 -0
- package/package.json +6 -6
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import type { CellInterface, Color, Direction, GridRange, SelectionArea, SheetRange, SortOrder } from "@rowsncolumns/common-types";
|
|
12
12
|
import type { AXIS, BandedDefinition, BandedRange, BorderLocation, BorderStyle, ColorFilterCriteria, ConditionType, ConditionValue, CreateTableOptions, EmbeddedChart, EmbeddedObject, OverlayToAnchor, ZOrderChange, FilterView, IconFilterCriteria, NamedRange, PivotTable, ProtectedRange, SelectionAttributes, Sheet, Slicer, SpreadsheetTheme, TableAutoExpansion, CalculatedColumnFill, TableTheme, TableView, TextFormatRun, BooleanCondition, FilterConditionJoin, CustomTableStyle } from "@rowsncolumns/spreadsheet";
|
|
13
|
-
import { type useSpreadsheetState } from "@rowsncolumns/spreadsheet-state";
|
|
13
|
+
import { type ImageViewport, type useSpreadsheetState } from "@rowsncolumns/spreadsheet-state";
|
|
14
14
|
import type { Command, CommandOf, CommandRejection, CommitResult } from "./index";
|
|
15
15
|
/** The reference hook's return type — used to borrow exact signatures (e.g. `onFillRange`) so the
|
|
16
16
|
* engine handlers are drop-in for what CanvasGrid passes. Type-only; erased at runtime. */
|
|
@@ -222,6 +222,23 @@ export type CreateCommandHandlersOptions = {
|
|
|
222
222
|
* column from a typed formula; `true` / `undefined` (the default) adds nothing.
|
|
223
223
|
*/
|
|
224
224
|
getAutoCalculatedColumns?: () => boolean | undefined;
|
|
225
|
+
/**
|
|
226
|
+
* Read the cursor on `sheetId` at emit time (`undefined` when the cursor is on another sheet).
|
|
227
|
+
* `sort-range` carries it as `activeCell` so the engine keys a one-click range sort on the column
|
|
228
|
+
* the user is standing in (Excel / Sheets), not the range's leftmost column.
|
|
229
|
+
*/
|
|
230
|
+
getActiveCell?: (sheetId: number) => CellInterface | undefined;
|
|
231
|
+
/**
|
|
232
|
+
* Read a floating object by id at emit time. `onInsertImage` with an `embedId` REPLACES that
|
|
233
|
+
* picture's image (`update-embed` carries the whole embed), so the handler needs the current one;
|
|
234
|
+
* absent / unknown id → a new picture is created under that id.
|
|
235
|
+
*/
|
|
236
|
+
getEmbed?: (embedId: EmbeddedObject["embedId"]) => EmbeddedObject | undefined;
|
|
237
|
+
/**
|
|
238
|
+
* The visible grid area (`CanvasGrid.getSheetDimensions()`), read at emit time: a picture
|
|
239
|
+
* inserted over the cells is fitted to it (natural size, scaled down to fit — Excel / Sheets).
|
|
240
|
+
*/
|
|
241
|
+
getSheetDimensions?: () => ImageViewport | undefined;
|
|
225
242
|
};
|
|
226
243
|
/**
|
|
227
244
|
* The error dialog `useEngineCore.onCommand` opens for a refusal — the same `useShowError` dialog
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-handlers.d.ts","sourceRoot":"","sources":["../../src/command-handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command-handlers.d.ts","sourceRoot":"","sources":["../../src/command-handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { STRUCTURAL_REFUSAL_MESSAGES, STRUCTURAL_REFUSAL_TITLE, } from "@rowsncolumns/spreadsheet-state";
|
|
2
|
-
import { error } from "@rowsncolumns/utils";
|
|
1
|
+
import { createImageEmbed, STRUCTURAL_REFUSAL_MESSAGES, STRUCTURAL_REFUSAL_TITLE, } from "@rowsncolumns/spreadsheet-state";
|
|
2
|
+
import { error, SHEET_PROTECTION_ERROR_TITLE } from "@rowsncolumns/utils";
|
|
3
3
|
/** Two-digit zero-pad for the ISO date/time literals below. */
|
|
4
4
|
const pad2 = (n) => String(n).padStart(2, "0");
|
|
5
5
|
/** The explicit "General" number format (Excel numFmtId 0). A nullish `numberFormat` patch means the
|
|
@@ -56,6 +56,19 @@ export const rejectionDialog = (rejection) => {
|
|
|
56
56
|
case "invalid-defined-name":
|
|
57
57
|
case "duplicate-table-id":
|
|
58
58
|
return { title: "Error", message: rejection.message };
|
|
59
|
+
// A sheet rename to a title another sheet holds (case-insensitively — Excel's rule and the
|
|
60
|
+
// engine registry's), a title that breaks Excel's worksheet-name rules (`\ / ? * [ ] :`, >31
|
|
61
|
+
// characters, leading / trailing apostrophe, `History` — rowsncolumns/spreadsheet#939 U-01), or
|
|
62
|
+
// a delete that would leave no visible sheet — the legacy engine's `useOnRenameSheet` /
|
|
63
|
+
// `useOnCreateNewSheet` show the same text under "Error".
|
|
64
|
+
case "duplicate-sheet-name":
|
|
65
|
+
case "invalid-sheet-name":
|
|
66
|
+
case "last-visible-sheet":
|
|
67
|
+
return { title: "Error", message: rejection.message };
|
|
68
|
+
// Delete / Clear over a locked cell of a protected sheet (rowsncolumns/spreadsheet#939 U-35) —
|
|
69
|
+
// the legacy engine's `useOnDelete` shows Excel's text under the same protection title.
|
|
70
|
+
case "protected-sheet":
|
|
71
|
+
return { title: SHEET_PROTECTION_ERROR_TITLE, message: rejection.message };
|
|
59
72
|
default:
|
|
60
73
|
return null;
|
|
61
74
|
}
|
|
@@ -406,7 +419,16 @@ export function createCommandHandlers(sink, options = {}) {
|
|
|
406
419
|
onChangeSheetTabColor: (sheetId, color) => onCommand({ command: "change-sheet-tab-color", sheetId, color }),
|
|
407
420
|
// Sort & Filter
|
|
408
421
|
onSortColumn: (sheetId, sortedColumnIndex, sortOrder) => onCommand({ command: "sort-column", sheetId, sortedColumnIndex, sortOrder }),
|
|
409
|
-
onSortRange: (sheetId, selections, sortOrder) =>
|
|
422
|
+
onSortRange: (sheetId, selections, sortOrder) => {
|
|
423
|
+
const activeCell = options.getActiveCell?.(sheetId);
|
|
424
|
+
onCommand({
|
|
425
|
+
command: "sort-range",
|
|
426
|
+
sheetId,
|
|
427
|
+
...(activeCell ? { activeCell } : {}),
|
|
428
|
+
selections,
|
|
429
|
+
sortOrder,
|
|
430
|
+
});
|
|
431
|
+
},
|
|
410
432
|
onSortTable: ((sheetId, filter, dimensionIndexOrSpecs, sortOrder, options) => {
|
|
411
433
|
// Normalize both call forms into one ordered level list (primary first) — the same shape the
|
|
412
434
|
// legacy hook persists as `table.sortSpecs`. The engine sorts by every level and persists them.
|
|
@@ -502,7 +524,36 @@ export function createCommandHandlers(sink, options = {}) {
|
|
|
502
524
|
onUpdateNote: (sheetId, activeCell, note) => onCommand({ command: "update-note", sheetId, activeCell, note }),
|
|
503
525
|
onInsertLink: (sheetId, activeCell, selections, url, title) => onCommand({ command: "insert-link", sheetId, activeCell, selections, url, title }),
|
|
504
526
|
onRemoveLink: (sheetId, activeCell, selections) => onCommand({ command: "remove-link", sheetId, activeCell, selections }),
|
|
505
|
-
|
|
527
|
+
// "Insert image over cells" (the Excel / Sheets default) is a FLOATING picture — the lossless
|
|
528
|
+
// `create-embed` facet command, sized like the clipboard paste and the file drop
|
|
529
|
+
// (`createImageEmbed`); with an `embedId` it replaces that picture's image. Only the explicit
|
|
530
|
+
// in-cell placement reaches the engine's `insert-image` (which writes the cell's `imageUrl`).
|
|
531
|
+
onInsertImage: (sheetId, activeCell, imageUrl, width, height, insertOverCells, embedId) => {
|
|
532
|
+
if (!insertOverCells) {
|
|
533
|
+
onCommand({ command: "insert-image", sheetId, activeCell, imageUrl, width, height, insertOverCells, embedId });
|
|
534
|
+
return;
|
|
535
|
+
}
|
|
536
|
+
const existing = embedId != null ? options.getEmbed?.(embedId) : undefined;
|
|
537
|
+
if (existing) {
|
|
538
|
+
onCommand({
|
|
539
|
+
command: "update-embed",
|
|
540
|
+
embed: { ...existing, spec: { ...existing.spec, imageUrl } },
|
|
541
|
+
});
|
|
542
|
+
return;
|
|
543
|
+
}
|
|
544
|
+
onCommand({
|
|
545
|
+
command: "create-embed",
|
|
546
|
+
spec: createImageEmbed({
|
|
547
|
+
sheetId,
|
|
548
|
+
anchorCell: activeCell,
|
|
549
|
+
imageUrl,
|
|
550
|
+
width,
|
|
551
|
+
height,
|
|
552
|
+
viewport: options.getSheetDimensions?.(),
|
|
553
|
+
embedId: embedId ?? undefined,
|
|
554
|
+
}),
|
|
555
|
+
});
|
|
556
|
+
},
|
|
506
557
|
onInsertCheckbox: (sheetId, activeCell, selections) => onCommand({ command: "insert-checkbox", sheetId, activeCell, selections }),
|
|
507
558
|
// Comments (only the host-managed thread id rides on the cell; content is the host's)
|
|
508
559
|
onInsertComment: (sheetId, rowIndex, columnIndex, commentThreadId) => onCommand({ command: "insert-comment", sheetId, rowIndex, columnIndex, commentThreadId }),
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -385,6 +385,11 @@ export interface SpreadsheetEngineLike {
|
|
|
385
385
|
* the full sheet. Optional: present on the single-user + collab engines; a store may omit it (the
|
|
386
386
|
* windowed hook then falls back to the seeded sheet counts). */
|
|
387
387
|
sheetExtents?(): string;
|
|
388
|
+
/** Excel's *current region* around a 1-based cell as JSON `[top, left, bottom, right]` — the
|
|
389
|
+
* contiguous data block Ctrl/Cmd+A selects, computed over the FULL document (presence-only), so a
|
|
390
|
+
* windowed renderer gets the whole block and not just its resident rows. Optional: present on the
|
|
391
|
+
* single-user + collab engines. */
|
|
392
|
+
dataRegion?(sheetId: number, row: number, col: number): string;
|
|
388
393
|
/** Every HOST-OWNED formula cell on a sheet — the registered custom-function calls (`=AOP(…)`) and
|
|
389
394
|
* dot accessors (`=B7.field`) the store tracks as engine literals — as a `CellChange[]` JSON
|
|
390
395
|
* (`{sheetId,rowIndex,columnIndex,cell}`, verbatim cell), row-major. O(host-owned cells) via the
|
|
@@ -607,6 +612,11 @@ export declare class RncEngine {
|
|
|
607
612
|
* the grid's scroll extent to this (so it holds only the visible viewport in JS yet scrolls the
|
|
608
613
|
* full sheet). Returns `[]` if the backing engine doesn't expose extents. */
|
|
609
614
|
sheetExtents(): Array<[number, number, number]>;
|
|
615
|
+
/** Excel's *current region* around a 1-based cell — `[top, left, bottom, right]`, the contiguous
|
|
616
|
+
* data block Ctrl/Cmd+A selects — computed over the FULL document, so a windowed renderer gets the
|
|
617
|
+
* whole block rather than the part resident in JS. `undefined` if the backing engine doesn't
|
|
618
|
+
* expose it (the grid then falls back to walking its own values). */
|
|
619
|
+
dataRegion(sheetId: number, row: number, col: number): [number, number, number, number] | undefined;
|
|
610
620
|
/** Every HOST-OWNED formula cell on `sheetId` — registered custom-function calls (`=AOP(…)`) and
|
|
611
621
|
* dot accessors (`=B7.field`) — as {@link WindowCell}s (the verbatim `cell` carries the formula on
|
|
612
622
|
* `cell.ue.fv` and the persisted result on `cell.ev` / `formatted`), row-major, in ONE index-backed
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -312,6 +312,16 @@ export class RncEngine {
|
|
|
312
312
|
return [];
|
|
313
313
|
return JSON.parse(json);
|
|
314
314
|
}
|
|
315
|
+
/** Excel's *current region* around a 1-based cell — `[top, left, bottom, right]`, the contiguous
|
|
316
|
+
* data block Ctrl/Cmd+A selects — computed over the FULL document, so a windowed renderer gets the
|
|
317
|
+
* whole block rather than the part resident in JS. `undefined` if the backing engine doesn't
|
|
318
|
+
* expose it (the grid then falls back to walking its own values). */
|
|
319
|
+
dataRegion(sheetId, row, col) {
|
|
320
|
+
const json = this.inner.dataRegion?.(sheetId, row, col);
|
|
321
|
+
if (json == null)
|
|
322
|
+
return undefined;
|
|
323
|
+
return JSON.parse(json);
|
|
324
|
+
}
|
|
315
325
|
/** Every HOST-OWNED formula cell on `sheetId` — registered custom-function calls (`=AOP(…)`) and
|
|
316
326
|
* dot accessors (`=B7.field`) — as {@link WindowCell}s (the verbatim `cell` carries the formula on
|
|
317
327
|
* `cell.ue.fv` and the persisted result on `cell.ev` / `formatted`), row-major, in ONE index-backed
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import type { TextFormatRun } from "@rowsncolumns/common-types";
|
|
1
|
+
import type { ExtendedValue, TextFormatRun } from "@rowsncolumns/common-types";
|
|
2
2
|
import type { CellInterface } from "@rowsncolumns/grid";
|
|
3
3
|
import type { CellData, CellFormat, StyleReference } from "@rowsncolumns/spreadsheet";
|
|
4
4
|
import { type ResolvedPasteSpecialOptions } from "@rowsncolumns/spreadsheet-state";
|
|
5
5
|
type ClipboardCell = CellData | null | undefined;
|
|
6
6
|
/** One cell of the engine's `paste` command payload (`commands.ts` → `paste.cells`). */
|
|
7
7
|
export type EnginePasteCell = {
|
|
8
|
+
/**
|
|
9
|
+
* The clipboard cell's TYPED user-entered value, one short key (`sv` / `nv` /
|
|
10
|
+
* `bv` / `fv` / `ev`). The engine lands it with that type, so a copied text
|
|
11
|
+
* `0123` / `1/2` / `TRUE` / `=x` stays text instead of being re-inferred as if
|
|
12
|
+
* typed (Excel keeps each cell's stored type on copy / cut / paste-values).
|
|
13
|
+
*/
|
|
14
|
+
ue?: ExtendedValue;
|
|
15
|
+
/** `ue` as a string — the inference fallback for an engine build predating `ue`. */
|
|
8
16
|
value: string | null;
|
|
9
17
|
format?: CellFormat;
|
|
10
18
|
hyperlink?: string;
|
|
@@ -12,9 +20,18 @@ export type EnginePasteCell = {
|
|
|
12
20
|
};
|
|
13
21
|
/**
|
|
14
22
|
* Map one parsed clipboard cell to the engine's `paste` cell: the user-entered
|
|
15
|
-
* value
|
|
16
|
-
*
|
|
17
|
-
* which owns styles inline), the
|
|
23
|
+
* value typed (`ue`, so text stays text) and as text (`value` — formula text
|
|
24
|
+
* wins, else the literal; `String(0)` / `"FALSE"` survive), the inline format
|
|
25
|
+
* (a `StyleReference` can't cross to the engine, which owns styles inline), the
|
|
26
|
+
* hyperlink target, and the rich-text runs.
|
|
27
|
+
*
|
|
28
|
+
* Every clipboard source arrives here already typed: a same-document copy keeps
|
|
29
|
+
* the source `ue` through the `application/json` clipboard, and a foreign
|
|
30
|
+
* text/plain or text/html paste was inferred like typing by
|
|
31
|
+
* `generateDataFromClipboard` (`0123` → 123 there, as in Excel). The engine
|
|
32
|
+
* must therefore not infer again — before `ue` was carried, a copied text
|
|
33
|
+
* `0123` landed as 123, `1/2` as a date, `TRUE` as a boolean and a label `=x`
|
|
34
|
+
* as a formula (rowsncolumns/spreadsheet#939 S-01).
|
|
18
35
|
*
|
|
19
36
|
* Runs ride on the clipboard cell as `tf` (the spreadsheet-state clipboard
|
|
20
37
|
* shape — a rich shared string or the HTML converter's output) or as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paste-special.d.ts","sourceRoot":"","sources":["../../src/paste-special.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"paste-special.d.ts","sourceRoot":"","sources":["../../src/paste-special.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,cAAc,EACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAIL,KAAK,2BAA2B,EACjC,MAAM,iCAAiC,CAAC;AAYzC,KAAK,aAAa,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;AAEjD,wFAAwF;AACxF,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;;OAKG;IACH,EAAE,CAAC,EAAE,aAAa,CAAC;IACnB,oFAAoF;IACpF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,CAAC;AAuCF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,wBAAwB,GACnC,MAAM,aAAa,KAClB,eAAe,GAAG,IAiCpB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC;AAEvE,eAAO,MAAM,kBAAkB,GAC7B,MAAM,aAAa,GAAG,gBAAgB,KACrC,IAAI,IAAI,gBACqE,CAAC;AAEjF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,WAAW,CACT,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/B,oBAAoB,CAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,UAAU,GAAG,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;CACnD,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,aAAa,EAAE,EAAE,EAC1B,QAAQ,aAAa,EACrB,SAAS,MAAM,EACf,SAAS,2BAA2B,EACpC,QAAQ,6BAA6B,EACrC,SAAS,MAAM,KACd,CAAC,aAAa,GAAG,gBAAgB,CAAC,EAAE,EA4BtC,CAAC"}
|
|
@@ -1,10 +1,58 @@
|
|
|
1
1
|
import { applyPasteOperation, isBlankClipboardCell, isStyleReference, } from "@rowsncolumns/spreadsheet-state";
|
|
2
|
-
import { getCellUserEnteredFormat, getCellUserEnteredValue, getExtendedValueBool, getExtendedValueFormula, getExtendedValueNumber, getExtendedValueString, } from "@rowsncolumns/utils";
|
|
2
|
+
import { getCellEffectiveValue, getCellUserEnteredFormat, getCellUserEnteredValue, getExtendedValueBool, getExtendedValueError, getExtendedValueFormula, getExtendedValueNumber, getExtendedValueString, } from "@rowsncolumns/utils";
|
|
3
|
+
const isErrorValue = (e) => !!e && typeof e === "object" && typeof e.message === "string";
|
|
4
|
+
/**
|
|
5
|
+
* The clipboard cell's value as ONE typed short key, or `undefined` for a blank.
|
|
6
|
+
* A formula is always `ue.fv`. A literal's type comes from its effective value
|
|
7
|
+
* when it has one: the JS `SheetCell` keeps the entered text in `ue.sv` for every
|
|
8
|
+
* literal and the typed result in `ev` — `{ sv: "20" }` + `{ nv: 20 }` for a
|
|
9
|
+
* number (an inferred plain-text paste, a Paste Special operation result, a
|
|
10
|
+
* values-only paste of a formula), `{ bv }` for a boolean, `{ sv }` for text —
|
|
11
|
+
* while an engine-copied cell carries the same type in both. Without an `ev`
|
|
12
|
+
* the `ue` kind stands, so a text `0123` is `{ sv: "0123" }`.
|
|
13
|
+
*/
|
|
14
|
+
const typedUserEnteredValue = (ue, ev) => {
|
|
15
|
+
const formula = getExtendedValueFormula(ue);
|
|
16
|
+
if (formula != null)
|
|
17
|
+
return { fv: formula };
|
|
18
|
+
const evNum = getExtendedValueNumber(ev);
|
|
19
|
+
if (evNum != null)
|
|
20
|
+
return { nv: evNum };
|
|
21
|
+
const evBool = getExtendedValueBool(ev);
|
|
22
|
+
if (evBool != null)
|
|
23
|
+
return { bv: evBool };
|
|
24
|
+
const evError = getExtendedValueError(ev);
|
|
25
|
+
if (isErrorValue(evError))
|
|
26
|
+
return { ev: evError };
|
|
27
|
+
const str = getExtendedValueString(ue);
|
|
28
|
+
if (str != null)
|
|
29
|
+
return { sv: str };
|
|
30
|
+
const num = getExtendedValueNumber(ue);
|
|
31
|
+
if (num != null)
|
|
32
|
+
return { nv: num };
|
|
33
|
+
const bool = getExtendedValueBool(ue);
|
|
34
|
+
if (bool != null)
|
|
35
|
+
return { bv: bool };
|
|
36
|
+
const error = getExtendedValueError(ue);
|
|
37
|
+
if (isErrorValue(error))
|
|
38
|
+
return { ev: error };
|
|
39
|
+
const evStr = getExtendedValueString(ev);
|
|
40
|
+
return evStr != null ? { sv: evStr } : undefined;
|
|
41
|
+
};
|
|
3
42
|
/**
|
|
4
43
|
* Map one parsed clipboard cell to the engine's `paste` cell: the user-entered
|
|
5
|
-
* value
|
|
6
|
-
*
|
|
7
|
-
* which owns styles inline), the
|
|
44
|
+
* value typed (`ue`, so text stays text) and as text (`value` — formula text
|
|
45
|
+
* wins, else the literal; `String(0)` / `"FALSE"` survive), the inline format
|
|
46
|
+
* (a `StyleReference` can't cross to the engine, which owns styles inline), the
|
|
47
|
+
* hyperlink target, and the rich-text runs.
|
|
48
|
+
*
|
|
49
|
+
* Every clipboard source arrives here already typed: a same-document copy keeps
|
|
50
|
+
* the source `ue` through the `application/json` clipboard, and a foreign
|
|
51
|
+
* text/plain or text/html paste was inferred like typing by
|
|
52
|
+
* `generateDataFromClipboard` (`0123` → 123 there, as in Excel). The engine
|
|
53
|
+
* must therefore not infer again — before `ue` was carried, a copied text
|
|
54
|
+
* `0123` landed as 123, `1/2` as a date, `TRUE` as a boolean and a label `=x`
|
|
55
|
+
* as a formula (rowsncolumns/spreadsheet#939 S-01).
|
|
8
56
|
*
|
|
9
57
|
* Runs ride on the clipboard cell as `tf` (the spreadsheet-state clipboard
|
|
10
58
|
* shape — a rich shared string or the HTML converter's output) or as
|
|
@@ -21,6 +69,7 @@ export const clipboardCellToPasteCell = (cell) => {
|
|
|
21
69
|
const value = getExtendedValueFormula(ue) ??
|
|
22
70
|
getExtendedValueString(ue) ??
|
|
23
71
|
(num != null ? String(num) : bool != null ? (bool ? "TRUE" : "FALSE") : null);
|
|
72
|
+
const typed = typedUserEnteredValue(ue, getCellEffectiveValue(cell));
|
|
24
73
|
const fmt = getCellUserEnteredFormat(cell);
|
|
25
74
|
const format = fmt && !isStyleReference(fmt) ? fmt : undefined;
|
|
26
75
|
const hl = cell.hyperlink;
|
|
@@ -35,6 +84,7 @@ export const clipboardCellToPasteCell = (cell) => {
|
|
|
35
84
|
cell.textFormatRuns;
|
|
36
85
|
const textFormatRuns = Array.isArray(runs) && runs.length ? runs.map((run) => ({ ...run })) : undefined;
|
|
37
86
|
return {
|
|
87
|
+
...(typed ? { ue: typed } : {}),
|
|
38
88
|
value,
|
|
39
89
|
format,
|
|
40
90
|
hyperlink,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** The subset of a sheet record the active-sheet fallback reads — satisfied by both the hook's
|
|
2
|
+
* rendered `Sheet[]` and the engine's authoritative `EngineSheet[]`. */
|
|
3
|
+
export interface FallbackSheetLike {
|
|
4
|
+
sheetId: number;
|
|
5
|
+
hidden?: boolean | null;
|
|
6
|
+
/** 0-based tab order; sheets without one keep their array position. */
|
|
7
|
+
index?: number | null;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Which sheet becomes active when the active sheet is deleted — Excel / Google Sheets behavior:
|
|
11
|
+
* the visible tab to the LEFT of the deleted one, else the visible tab to its right, else the
|
|
12
|
+
* first remaining visible sheet, else whatever remains. `previous` is the tab order as it was
|
|
13
|
+
* BEFORE the delete (it still lists `deletedSheetId`); `remaining` is the engine's authoritative
|
|
14
|
+
* post-delete set. Sheets in `previous` that no longer exist (a multi-sheet delete) are skipped.
|
|
15
|
+
*/
|
|
16
|
+
export declare function fallbackSheetAfterDelete({ previous, remaining, deletedSheetId, }: {
|
|
17
|
+
previous: readonly FallbackSheetLike[];
|
|
18
|
+
remaining: readonly FallbackSheetLike[];
|
|
19
|
+
deletedSheetId: number;
|
|
20
|
+
}): number;
|
|
21
|
+
//# sourceMappingURL=sheet-fallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sheet-fallback.d.ts","sourceRoot":"","sources":["../../src/sheet-fallback.ts"],"names":[],"mappings":"AAAA;wEACwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,EACR,SAAS,EACT,cAAc,GACf,EAAE;IACD,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvC,SAAS,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACxC,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,MAAM,CAuBT"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which sheet becomes active when the active sheet is deleted — Excel / Google Sheets behavior:
|
|
3
|
+
* the visible tab to the LEFT of the deleted one, else the visible tab to its right, else the
|
|
4
|
+
* first remaining visible sheet, else whatever remains. `previous` is the tab order as it was
|
|
5
|
+
* BEFORE the delete (it still lists `deletedSheetId`); `remaining` is the engine's authoritative
|
|
6
|
+
* post-delete set. Sheets in `previous` that no longer exist (a multi-sheet delete) are skipped.
|
|
7
|
+
*/
|
|
8
|
+
export function fallbackSheetAfterDelete({ previous, remaining, deletedSheetId, }) {
|
|
9
|
+
const remainingById = new Map(remaining.map((sheet) => [sheet.sheetId, sheet]));
|
|
10
|
+
const ordered = previous
|
|
11
|
+
.map((sheet, position) => ({ sheet, order: sheet.index ?? position }))
|
|
12
|
+
.sort((a, b) => a.order - b.order)
|
|
13
|
+
.map(({ sheet }) => sheet);
|
|
14
|
+
const deletedAt = ordered.findIndex((sheet) => sheet.sheetId === deletedSheetId);
|
|
15
|
+
const visibleRemaining = (sheet) => {
|
|
16
|
+
const live = remainingById.get(sheet.sheetId);
|
|
17
|
+
return live && !live.hidden ? live.sheetId : undefined;
|
|
18
|
+
};
|
|
19
|
+
if (deletedAt !== -1) {
|
|
20
|
+
for (let i = deletedAt - 1; i >= 0; i -= 1) {
|
|
21
|
+
const id = visibleRemaining(ordered[i]);
|
|
22
|
+
if (id !== undefined)
|
|
23
|
+
return id;
|
|
24
|
+
}
|
|
25
|
+
for (let i = deletedAt + 1; i < ordered.length; i += 1) {
|
|
26
|
+
const id = visibleRemaining(ordered[i]);
|
|
27
|
+
if (id !== undefined)
|
|
28
|
+
return id;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const firstVisible = remaining.find((sheet) => !sheet.hidden);
|
|
32
|
+
return (firstVisible ?? remaining[0]).sheetId;
|
|
33
|
+
}
|
|
@@ -285,6 +285,12 @@ export interface EngineSpreadsheet extends EngineRenderState, EngineSpreadsheetH
|
|
|
285
285
|
getSheetRowCount: (sheetId: number) => number;
|
|
286
286
|
getSheetColumnCount: (sheetId: number) => number;
|
|
287
287
|
getDataRowCount: (sheetId?: number) => number | undefined;
|
|
288
|
+
/**
|
|
289
|
+
* Excel's *current region* around `cell` — the contiguous data block Ctrl/Cmd+A selects — read
|
|
290
|
+
* from the engine's FULL document (a presence-only pass), so a windowed grid selects the whole
|
|
291
|
+
* block and not just the rows resident in JS. `undefined` when the engine doesn't expose it.
|
|
292
|
+
*/
|
|
293
|
+
getDataRegion: (sheetId: number, cell: CellInterface) => GridRange | undefined;
|
|
288
294
|
/**
|
|
289
295
|
* The effective values of a range, in row-major order — for chart series. Reads the FULL document
|
|
290
296
|
* from the engine (off-window-safe), not the windowed render state. Synchronous (in-process WASM).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-engine-core.d.ts","sourceRoot":"","sources":["../../src/use-engine-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,cAAc,EACd,aAAa,EACb,eAAe,EACf,UAAU,EACX,MAAM,4BAA4B,CAAC;AAYpC,OAAO,EACL,KAAK,aAAa,EAIlB,KAAK,qBAAqB,EAI1B,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EAGnB,KAAK,yBAAyB,EAG9B,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"use-engine-core.d.ts","sourceRoot":"","sources":["../../src/use-engine-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EACV,QAAQ,EACR,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,cAAc,EACd,aAAa,EACb,eAAe,EACf,UAAU,EACX,MAAM,4BAA4B,CAAC;AAYpC,OAAO,EACL,KAAK,aAAa,EAIlB,KAAK,qBAAqB,EAI1B,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EAGnB,KAAK,yBAAyB,EAG9B,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAMf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAuBL,KAAK,mBAAmB,EAIzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EAIxB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAEL,KAAK,yBAAyB,EAE/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,iBAAiB,EAQvB,MAAM,QAAQ,CAAC;AAChB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,YAAY,EAIjB,KAAK,YAAY,EACjB,SAAS,EACT,KAAK,qBAAqB,EAC3B,MAAM,SAAS,CAAC;AAYjB,YAAY,EAAE,yBAAyB,EAAE,CAAC;AAE1C;;uFAEuF;AACvF,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEjD;;;mCAGmC;AACnC,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB;;;gGAG4F;IAC5F,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;oEAKoE;AACpE,MAAM,MAAM,kBAAkB,GAAG,CAC/B,IAAI,EAAE,OAAO,EAAE,EACf,OAAO,CAAC,EAAE,qBAAqB,KAC5B,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAExE;;;2FAG2F;AAC3F,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB;AA2TD,MAAM,WAAW,2BAA2B;IAC1C;kEAC8D;IAC9D,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,uGAAuG;IACvG,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B;;2CAEuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;0EAKsE;IACtE,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;uGAGmG;IACnG,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACrD;;;4EAGwE;IACxE,YAAY,CAAC,EAAE,MAAM,qBAAqB,CAAC;IAC3C;6FACyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;8GAM0G;IAC1G,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;yCAIqC;IACrC,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACjC;;;;4BAIwB;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;gDAI4C;IAC5C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;qFAKiF;IACjF,qBAAqB,CAAC,EAAE,CACtB,OAAO,EAAE,MAAM,KACZ;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACzE;;;;4BAIwB;IACxB,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACvD;;;kGAG8F;IAC9F,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,gBAAgB,CAAC,EAAE,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,aAAa,GAAG,IAAI,KACnC,IAAI,CAAC;IACV,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC;;;6CAGyC;IACzC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;6EAEyE;IACzE,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;CACpC;AAED;;sGAEsG;AACtG,KAAK,4BAA4B,GAAG,IAAI,CACtC,EAAE,EAGA,mBAAmB,GACnB,sBAAsB,GACtB,iBAAiB,GACjB,sBAAsB,GACtB,iBAAiB,GACjB,mBAAmB,GACnB,oBAAoB,GACpB,uBAAuB,GACvB,uBAAuB,GACvB,0BAA0B,GAC1B,oBAAoB,GACpB,oBAAoB,GACpB,eAAe,GACf,eAAe,GACf,mBAAmB,GACnB,mBAAmB,GACnB,gBAAgB,GAGhB,+BAA+B,GAC/B,0CAA0C,GAC1C,yBAAyB,GACzB,oCAAoC,GACpC,+BAA+B,GAC/B,YAAY,GACZ,sBAAsB,GACtB,eAAe,GACf,gBAAgB,GAChB,wBAAwB,GACxB,sBAAsB,GACtB,+BAA+B,GAC/B,oBAAoB,GACpB,iBAAiB,GACjB,eAAe,GACf,qBAAqB,GACrB,eAAe,GACf,kBAAkB,GAClB,qBAAqB,GACrB,6BAA6B,CAChC,CAAC;AAEF,2EAA2E;AAC3E,MAAM,WAAW,iBACf,SAAQ,iBAAiB,EACvB,yBAAyB,EACzB,4BAA4B;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,uEAAuE;IACvE,aAAa,EAAE,aAAa,CAAC;IAC7B,6FAA6F;IAC7F;kHAC8G;IAC9G,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,YAAY,GAAG,SAAS,CAAC;IAC1D;;mFAE+E;IAC/E,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB;;;;yFAIqF;IACrF,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IACjC,wGAAwG;IACxG,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB;qGACiG;IACjG,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACrB,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB;;mCAE+B;IAC/B,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IACjC;;;wBAGoB;IACpB,eAAe,EAAE,CACf,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAEnD;QACE,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;KAClC,GACD,SAAS,CAAC;IACd;6FACyF;IACzF,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IAC7B;8FAC0F;IAC1F,gBAAgB,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC;IAGzC,WAAW,EAAE,CACX,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,eAAe,KACvB,IAAI,CAAC;IACV,aAAa,EAAE,CACb,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,eAAe,KACvB,IAAI,CAAC;IACV;8FAC0F;IAC1F,kBAAkB,EAAE,CAClB,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,eAAe,KACpB,MAAM,GAAG,SAAS,CAAC;IACxB,iCAAiC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAGzE,iBAAiB,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC3C,kBAAkB,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAC7C,WAAW,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;IAC/B,mBAAmB,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC/C,kBAAkB,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAC7C;yEACqE;IACrE,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IACjC;;kEAE8D;IAC9D,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,sCAAsC;IACtC,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC;;yDAEqD;IACrD,iBAAiB,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KACxC,IAAI,CAAC;IACV;mGAC+F;IAC/F,sBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAKzE,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,mBAAmB,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC/C,mBAAmB,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC/C,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACnE;;4EAEwE;IACxE,kBAAkB,EAAE,CAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,EAAE,EAC3B,iBAAiB,CAAC,EAAE,OAAO,KACxB,IAAI,CAAC;IACV;;;;sEAIkE;IAClE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IAEpD,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAClC,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACxC,MAAM,EAAE,SAAS,EAAE,CAAC;IAEpB,WAAW,EAAE,CACX,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,QAAQ,GAAG,SAAS,CAAC;IAC1B,2FAA2F;IAC3F,iBAAiB,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,MAAM,GAAG,SAAS,CAAC;IACxB,oGAAoG;IACpG,mBAAmB,EAAE,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,MAAM,GAAG,SAAS,CAAC;IACxB,sFAAsF;IACtF,iBAAiB,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAC3C,qFAAqF;IACrF,yBAAyB,EAAE,CACzB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpB;mFAC+E;IAC/E,kBAAkB,EAAE,CAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,UAAU,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,CACZ,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC3B,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,KAChB,MAAM,GAAG,SAAS,CAAC;IACxB,wGAAwG;IACxG,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACxE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC7E,mFAAmF;IACnF,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5D,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAElE,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,6FAA6F;IAC7F,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAClD,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,8FAA8F;IAC9F,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC1D;;;;OAIG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,SAAS,GAAG,SAAS,CAAC;IAC/E;;;OAGG;IACH,wBAAwB,EAAE,CACxB,UAAU,EAAE,UAAU,EACtB,uBAAuB,CAAC,EAAE,yBAAyB,GAAG,IAAI,KACvD,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC;IAC/C;;;;OAIG;IACH,OAAO,EAAE,CACP,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,KACvE,eAAe,EAAE,CAAC;IACvB,gGAAgG;IAChG,wBAAwB,EAAE,CACxB,UAAU,EAAE,UAAU,EACtB,uBAAuB,CAAC,EAAE,yBAAyB,GAAG,IAAI,KACvD,CAAC,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC;IACnC;;;OAGG;IACH,wBAAwB,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK;QACpD,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;KACxD,CAAC;IAEF,iBAAiB,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC3C,2BAA2B,EAAE,EAAE,CAAC,6BAA6B,CAAC,CAAC;IAC/D,oBAAoB,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC;IACjD,aAAa,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC;IACnC,mBAAmB,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC/C,kBAAkB,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC;IAC7C,mBAAmB,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC/C,sBAAsB,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC;IACrD,iBAAiB,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC3C,qBAAqB,EAAE,EAAE,CAAC,uBAAuB,CAAC,CAAC;IACnD,aAAa,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC;IACnC,iBAAiB,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC3C,SAAS,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;IAC3B,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IAC7B,eAAe,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC;IACvC,YAAY,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC;IACjC,6GAA6G;IAC7G,mBAAmB,EAAE,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC/C,WAAW,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC;IAC/B,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IAGrB,kBAAkB,EAAE,qBAAqB,EAAE,CAAC;IAC5C,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,yGAAyG;IACzG,iBAAiB,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC3C,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,+EAA+E;IAC/E,iBAAiB,EAAE,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC3C,+EAA+E;IAC/E,6BAA6B,EAAE,EAAE,CAAC,+BAA+B,CAAC,CAAC;CACpE;AAOD;;kFAEkF;AAClF,wBAAgB,aAAa,CAC3B,OAAO,EAAE,2BAA2B,GACnC,iBAAiB,CAooGnB"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
// Lightweight dependency-graph NODE classes (data holders — NOT the JS calculator) used to shape the
|
|
2
2
|
// real `getPrecedents`/`getDependents` results, which the engine now backs with actual graph data.
|
|
3
3
|
import { CellNode, CellRangeNode, isCellCoordinate, isCellNode, makeKey, } from "@rowsncolumns/dag";
|
|
4
|
-
import { DEFAULT_ACTIVE_CELL, DEFAULT_ARRAY, defaultSpreadsheetTheme, getBandedCells, getInitialActiveSheetId, ICON_SET_COLORS, ICON_SET_GLYPHS, useFocusEmbedOrChart, useFonts, useSetTableAutoExpansion, useSetCalculatedColumnFill, } from "@rowsncolumns/spreadsheet";
|
|
5
|
-
import { applyAdvancedFilterPlan, applySubtotalPlan, CellXfsRegistry, collectPaintMerges, generateDataFromClipboard, getBandedCellFormat, layerBandedFormat, paintSourceForActiveCell, pickFormula, pickValue, planAdvancedFilter, planSubtotals, resolvePasteSpecialOptions, SharedStringRegistry, spreadMergeAnchorFormats, tilePaintMerges, transpose, useOnCopy, previewTableStyle, useOnTraceDependentsPrecedents, useShowError, } from "@rowsncolumns/spreadsheet-state";
|
|
4
|
+
import { DEFAULT_ACTIVE_CELL, DEFAULT_ARRAY, defaultSpreadsheetTheme, getBandedCells, getInitialActiveSheetId, ICON_SET_COLORS, ICON_SET_GLYPHS, useFocusEmbedOrChart, useFonts, useGetSheetDimensions, useSetTableAutoExpansion, useSetCalculatedColumnFill, } from "@rowsncolumns/spreadsheet";
|
|
5
|
+
import { applyAdvancedFilterPlan, applySubtotalPlan, CellXfsRegistry, collectPaintMerges, generateDataFromClipboard, getBandedCellFormat, layerBandedFormat, paintSourceForActiveCell, pickFormula, pickValue, planAdvancedFilter, planSubtotals, resolvePasteSpecialOptions, SharedStringRegistry, spreadMergeAnchorFormats, tilePaintMerges, transpose, useOnCopy, previewTableStyle, useOnTraceDependentsPrecedents, useShowError, CIRCULAR_REFERENCE_WARNING_TITLE, CircularReferenceTracker, formatCircularReferenceWarning, } from "@rowsncolumns/spreadsheet-state";
|
|
6
6
|
import { getFormulaLocale, normalizeExternalUrl, resolveDefaultHorizontalAlignment, } from "@rowsncolumns/utils";
|
|
7
7
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
8
8
|
import { createCommandHandlers, rejectionDialog, } from "./command-handlers";
|
|
9
9
|
import { emptyRenderState, foldCommit, foldCommitStructuralOnly, foldWindow, foldWindows, frozenBandRanges, reconcileSheets, } from "./fold";
|
|
10
10
|
import { RncEngine, } from "./index";
|
|
11
11
|
import { cellKey, parseCellKey } from "./keys";
|
|
12
|
+
import { fallbackSheetAfterDelete } from "./sheet-fallback";
|
|
12
13
|
import { rescopeRulesAfterMove } from "./move-rescope";
|
|
13
14
|
import { applyPasteSpecialToTiles, clipboardCellToPasteCell, isSkippedPasteCell, } from "./paste-special";
|
|
14
15
|
import { tileClipboardToSelection } from "./paste-tiling";
|
|
@@ -282,7 +283,11 @@ export function useEngineCore(options) {
|
|
|
282
283
|
const onCustomEvalCancelRef = useRef(options.onCustomEvalCancel);
|
|
283
284
|
onCustomEvalCancelRef.current = options.onCustomEvalCancel;
|
|
284
285
|
const showError = useShowError();
|
|
286
|
+
// Cells already warned about as circular (see `onCommand`).
|
|
287
|
+
const circularReferencesRef = useRef(new CircularReferenceTracker());
|
|
285
288
|
const focusEmbedOrChart = useFocusEmbedOrChart();
|
|
289
|
+
// The visible grid area — a pasted picture is fitted to it (undefined outside a mounted grid).
|
|
290
|
+
const getSheetDimensions = useGetSheetDimensions();
|
|
286
291
|
// Latest-refs for the streaming batch-write observers (identities may change every render).
|
|
287
292
|
const onStreamStartRef = useRef(options.onStreamStart);
|
|
288
293
|
onStreamStartRef.current = options.onStreamStart;
|
|
@@ -418,6 +423,40 @@ export function useEngineCore(options) {
|
|
|
418
423
|
setActiveCellBySheetId(cells);
|
|
419
424
|
setSelectionsBySheetId(sels);
|
|
420
425
|
}, []);
|
|
426
|
+
/** Make `sheetId` the active sheet: restore its remembered cursor/selections and, in windowed mode,
|
|
427
|
+
* re-seed the loaded window onto it (the old window pointed at the prior sheet). Switching sheets
|
|
428
|
+
* keeps the scroll position, so CanvasGrid does NOT re-fire `onViewPortChange` — re-seed to the SAME
|
|
429
|
+
* span the user is currently viewing (the last reported viewport) so the whole visible grid loads,
|
|
430
|
+
* not just a top-left A–F placeholder; fall back to the top-left default before the first viewport
|
|
431
|
+
* report. Shared by the user-facing `onChangeActiveSheet` and the engine's own active-sheet
|
|
432
|
+
* fallback when the active sheet is deleted — the latter used to move `activeSheetId` alone and
|
|
433
|
+
* leave `windowRef` on the gone sheet, so every later commit re-read the DELETED sheet's window
|
|
434
|
+
* and the fallback sheet painted blank (its own writes included) until a manual tab switch. */
|
|
435
|
+
const activateSheetView = useCallback((sheetId) => {
|
|
436
|
+
viewRef.current = viewOfSheet(sheetId);
|
|
437
|
+
setActiveSheetId(sheetId);
|
|
438
|
+
if (windowedRef.current && engineRef.current) {
|
|
439
|
+
const vp = lastViewportRef.current;
|
|
440
|
+
const w = vp
|
|
441
|
+
? {
|
|
442
|
+
sheetId,
|
|
443
|
+
startRow: Math.max(1, vp.rowStartIndex - WINDOW_BUFFER_ROWS),
|
|
444
|
+
startCol: Math.max(1, vp.columnStartIndex - WINDOW_BUFFER_COLS),
|
|
445
|
+
endRow: Math.max(1, vp.rowStopIndex) + WINDOW_BUFFER_ROWS,
|
|
446
|
+
endCol: Math.max(1, vp.columnStopIndex) + WINDOW_BUFFER_COLS,
|
|
447
|
+
}
|
|
448
|
+
: {
|
|
449
|
+
sheetId,
|
|
450
|
+
startRow: 1,
|
|
451
|
+
startCol: 1,
|
|
452
|
+
endRow: 1 + WINDOW_BUFFER_ROWS,
|
|
453
|
+
endCol: 1 + WINDOW_BUFFER_COLS,
|
|
454
|
+
};
|
|
455
|
+
windowRef.current = w;
|
|
456
|
+
const snaps = readWindowedSnapshots(engineRef.current, w);
|
|
457
|
+
setState((prev) => foldWindows(prev, snaps));
|
|
458
|
+
}
|
|
459
|
+
}, [readWindowedSnapshots, viewOfSheet]);
|
|
421
460
|
// The initial sheets/document are creation-time inputs; capture them so the effect runs once and
|
|
422
461
|
// doesn't tear the engine down on every render.
|
|
423
462
|
const initial = useRef(options);
|
|
@@ -494,16 +533,20 @@ export function useEngineCore(options) {
|
|
|
494
533
|
return sheets === folded.sheets ? folded : { ...folded, sheets };
|
|
495
534
|
});
|
|
496
535
|
}
|
|
497
|
-
// If the active sheet was deleted (it's gone from the engine's set), fall back to
|
|
498
|
-
//
|
|
499
|
-
//
|
|
500
|
-
//
|
|
501
|
-
//
|
|
536
|
+
// If the active sheet was deleted (it's gone from the engine's set), fall back to its
|
|
537
|
+
// neighbor — the previous visible tab, else the next (Excel / Sheets) — so the renderer keeps a
|
|
538
|
+
// valid active sheet. `activateSheetView` (not a bare `setActiveSheetId`) also re-seeds the
|
|
539
|
+
// windowed read onto the fallback sheet: nothing re-fires `onViewPortChange` on a delete, so a
|
|
540
|
+
// window left on the gone sheet made every later commit re-read the deleted sheet and the
|
|
541
|
+
// fallback sheet rendered blank until a manual tab switch. The prior tab order comes from the
|
|
542
|
+
// last rendered sheet list (`stateSheetsRef`), which still holds the deleted sheet.
|
|
502
543
|
if (engineSheets.length &&
|
|
503
544
|
!engineSheets.some((s) => s.sheetId === viewRef.current.activeSheetId)) {
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
545
|
+
activateSheetView(fallbackSheetAfterDelete({
|
|
546
|
+
previous: stateSheetsRef.current,
|
|
547
|
+
remaining: engineSheets,
|
|
548
|
+
deletedSheetId: viewRef.current.activeSheetId,
|
|
549
|
+
}));
|
|
507
550
|
}
|
|
508
551
|
// ONE-SHOT post-hydration re-derivation of the initial active sheet. Collab hosts seed the
|
|
509
552
|
// engine with a placeholder sheet list (e.g. `[{sheetId: 1, title: 'Sheet1'}]`) before the
|
|
@@ -518,9 +561,13 @@ export function useEngineCore(options) {
|
|
|
518
561
|
activeSheetRederivedRef.current = true;
|
|
519
562
|
if (!userPickedSheetRef.current) {
|
|
520
563
|
const derivedId = getInitialActiveSheetId(engineSheets) ?? engineSheets[0].sheetId;
|
|
564
|
+
// Move through `activateSheetView`, never a bare `setActiveSheetId`: the tab strip
|
|
565
|
+
// reads `activeSheetId` while the windowed grid paints `windowRef`'s sheet, and a
|
|
566
|
+
// bare set moved only the former — after a peer (agent) created the first non-seed
|
|
567
|
+
// sheet, the highlighted tab was the derived sheet while the grid kept painting the
|
|
568
|
+
// old window's sheet until a manual tab switch (#37265 A5).
|
|
521
569
|
if (derivedId !== viewRef.current.activeSheetId) {
|
|
522
|
-
|
|
523
|
-
setActiveSheetId(derivedId);
|
|
570
|
+
activateSheetView(derivedId);
|
|
524
571
|
}
|
|
525
572
|
}
|
|
526
573
|
}
|
|
@@ -726,6 +773,18 @@ export function useEngineCore(options) {
|
|
|
726
773
|
// Snapshot the view BEFORE applying — that's where undo should return the user.
|
|
727
774
|
const before = viewRef.current;
|
|
728
775
|
const commit = engine.applyCommand(command);
|
|
776
|
+
// Excel's circular-reference warning: the engine reports the cells it stamped circular (they
|
|
777
|
+
// display 0 with iterative calculation off) on `circularReferences`; warn once per NEW cell,
|
|
778
|
+
// through the same dialog channel as the refusals below. `changes` lets the tracker forget a
|
|
779
|
+
// cell recomputed without the stamp, so breaking and re-creating a loop warns again.
|
|
780
|
+
const freshCircular = circularReferencesRef.current.next(commit.circularReferences, commit.changes);
|
|
781
|
+
if (freshCircular.length) {
|
|
782
|
+
const sheets = stateSheetsRef.current;
|
|
783
|
+
showError({
|
|
784
|
+
title: CIRCULAR_REFERENCE_WARNING_TITLE,
|
|
785
|
+
message: formatCircularReferenceWarning(freshCircular, (sheetId) => sheets.find((s) => s.sheetId === sheetId)?.title, sheets.length > 1),
|
|
786
|
+
});
|
|
787
|
+
}
|
|
729
788
|
// A value-writing command grew a table over the written cells: arm the AutoCorrect smart tag
|
|
730
789
|
// with the engine's record of the growth (rowsncolumns/spreadsheet#668 T-12) — "Undo Table
|
|
731
790
|
// AutoExpansion" resizes back and clears the cells the growth wrote (`writes`, T-89).
|
|
@@ -1052,37 +1111,8 @@ export function useEngineCore(options) {
|
|
|
1052
1111
|
// An explicit pick (user tab click, host navigation) permanently disables the post-hydration
|
|
1053
1112
|
// initial-active-sheet re-derivation — never yank the user off a sheet they chose.
|
|
1054
1113
|
userPickedSheetRef.current = true;
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
viewRef.current = viewOfSheet(sheetId);
|
|
1058
|
-
setActiveSheetId(sheetId);
|
|
1059
|
-
// Windowed: re-seed the window on the newly-active sheet (the old window pointed at the prior
|
|
1060
|
-
// sheet). Switching sheets keeps the scroll position, so CanvasGrid does NOT re-fire
|
|
1061
|
-
// `onViewPortChange` — re-seed to the SAME span the user is currently viewing (the last reported
|
|
1062
|
-
// viewport) so the whole visible grid loads, not just a top-left A–F placeholder. Fall back to the
|
|
1063
|
-
// top-left default only before the first viewport report.
|
|
1064
|
-
if (windowedRef.current && engineRef.current) {
|
|
1065
|
-
const vp = lastViewportRef.current;
|
|
1066
|
-
const w = vp
|
|
1067
|
-
? {
|
|
1068
|
-
sheetId,
|
|
1069
|
-
startRow: Math.max(1, vp.rowStartIndex - WINDOW_BUFFER_ROWS),
|
|
1070
|
-
startCol: Math.max(1, vp.columnStartIndex - WINDOW_BUFFER_COLS),
|
|
1071
|
-
endRow: Math.max(1, vp.rowStopIndex) + WINDOW_BUFFER_ROWS,
|
|
1072
|
-
endCol: Math.max(1, vp.columnStopIndex) + WINDOW_BUFFER_COLS,
|
|
1073
|
-
}
|
|
1074
|
-
: {
|
|
1075
|
-
sheetId,
|
|
1076
|
-
startRow: 1,
|
|
1077
|
-
startCol: 1,
|
|
1078
|
-
endRow: 1 + WINDOW_BUFFER_ROWS,
|
|
1079
|
-
endCol: 1 + WINDOW_BUFFER_COLS,
|
|
1080
|
-
};
|
|
1081
|
-
windowRef.current = w;
|
|
1082
|
-
const snaps = readWindowedSnapshots(engineRef.current, w);
|
|
1083
|
-
setState((prev) => foldWindows(prev, snaps));
|
|
1084
|
-
}
|
|
1085
|
-
}, [readWindowedSnapshots]);
|
|
1114
|
+
activateSheetView(sheetId);
|
|
1115
|
+
}, [activateSheetView]);
|
|
1086
1116
|
const onChangeActiveCell = useCallback((sheetId, c) => {
|
|
1087
1117
|
const next = { ...activeCellBySheetIdRef.current, [sheetId]: c };
|
|
1088
1118
|
activeCellBySheetIdRef.current = next;
|
|
@@ -1328,6 +1358,22 @@ export function useEngineCore(options) {
|
|
|
1328
1358
|
}
|
|
1329
1359
|
return sheetData[String(sheetId)]?.length;
|
|
1330
1360
|
}, [sheetData, extentById]);
|
|
1361
|
+
// Ctrl/Cmd+A's current region, from the engine's FULL document. The grid's own walk reads
|
|
1362
|
+
// `getCellData`, which in windowed mode sees only the folded viewport — so on a 200-row block it
|
|
1363
|
+
// stopped at the edge of the resident band (~97 rows) and Cmd+L sent a truncated table
|
|
1364
|
+
// (Athena-Intel/demo-app-monorepo#37167 UI3-5). Stable identity: reads through `engineRef`.
|
|
1365
|
+
const getDataRegion = useCallback((sheetId, cell) => {
|
|
1366
|
+
const region = engineRef.current?.dataRegion(sheetId, cell.rowIndex, cell.columnIndex);
|
|
1367
|
+
if (!region)
|
|
1368
|
+
return undefined;
|
|
1369
|
+
const [top, left, bottom, right] = region;
|
|
1370
|
+
return {
|
|
1371
|
+
startRowIndex: top,
|
|
1372
|
+
startColumnIndex: left,
|
|
1373
|
+
endRowIndex: bottom,
|
|
1374
|
+
endColumnIndex: right,
|
|
1375
|
+
};
|
|
1376
|
+
}, []);
|
|
1331
1377
|
const getDataColumnCount = useCallback((sheetId) => {
|
|
1332
1378
|
const rows = sheetData[String(sheetId)];
|
|
1333
1379
|
let max = 0;
|
|
@@ -1833,7 +1879,12 @@ export function useEngineCore(options) {
|
|
|
1833
1879
|
getCustomAutofillLists: () => customAutofillListsRef.current,
|
|
1834
1880
|
getAutoExpandTables: () => autoExpandTablesRef.current,
|
|
1835
1881
|
getAutoCalculatedColumns: () => autoCalculatedColumnsRef.current,
|
|
1836
|
-
|
|
1882
|
+
getActiveCell: (sheetId) => viewRef.current.activeSheetId === sheetId ? viewRef.current.activeCell : undefined,
|
|
1883
|
+
// `onInsertImage` replacing a floating picture needs the embed it edits (`update-embed`
|
|
1884
|
+
// carries the whole object); the engine's lossless facet is the source of truth.
|
|
1885
|
+
getEmbed: (embedId) => engineRef.current?.documentFacets().embeds.find((embed) => embed.embedId === embedId),
|
|
1886
|
+
getSheetDimensions: () => getSheetDimensions?.(),
|
|
1887
|
+
}), [onCommand, getSheetDimensions]);
|
|
1837
1888
|
// Data tools composed over the streamed commands. The planners need the WHOLE list range (a
|
|
1838
1889
|
// windowed host holds only the viewport), so they read it straight from the engine in one
|
|
1839
1890
|
// rect read; the plan then applies through the ordinary handlers, exactly as the reference hook
|
|
@@ -2308,7 +2359,19 @@ export function useEngineCore(options) {
|
|
|
2308
2359
|
// still reads `=B1*2`) and only repoints references INTO the moved block — the engine does
|
|
2309
2360
|
// that remap (`repoint_formulas_into_moved_block`), so the clipboard parse must not
|
|
2310
2361
|
// relativize cut formulas the way it does copied ones.
|
|
2311
|
-
const parsed = await generateDataFromClipboard(e, pasteActiveCell, destinationSheetId, getSheetName(destinationSheetId), true, initial.current.locale, undefined, undefined, undefined, { relocateFormulas: !isCutOperation });
|
|
2362
|
+
const parsed = await generateDataFromClipboard(e, pasteActiveCell, destinationSheetId, getSheetName(destinationSheetId), true, initial.current.locale, undefined, undefined, undefined, { relocateFormulas: !isCutOperation, imageViewport: getSheetDimensions?.() });
|
|
2363
|
+
// Pasted image FILES arrive as floating pictures anchored at the active cell (Excel /
|
|
2364
|
+
// Google Sheets Ctrl+V of a picture) — the same lossless `create-embed` the Insert → Image
|
|
2365
|
+
// dialog emits, one undo entry for all of them, the first one selected like a new chart.
|
|
2366
|
+
const pastedEmbeds = parsed?.embeds ?? [];
|
|
2367
|
+
if (pastedEmbeds.length) {
|
|
2368
|
+
batchHistory(() => {
|
|
2369
|
+
for (const spec of pastedEmbeds) {
|
|
2370
|
+
onCommand({ command: "create-embed", spec });
|
|
2371
|
+
}
|
|
2372
|
+
});
|
|
2373
|
+
focusEmbedOrChart(pastedEmbeds[0].embedId);
|
|
2374
|
+
}
|
|
2312
2375
|
let results = parsed?.results ?? [];
|
|
2313
2376
|
if (!results.length)
|
|
2314
2377
|
return;
|
|
@@ -2400,7 +2463,16 @@ export function useEngineCore(options) {
|
|
|
2400
2463
|
? { autoCalculatedColumns: false }
|
|
2401
2464
|
: {}),
|
|
2402
2465
|
});
|
|
2403
|
-
}, [
|
|
2466
|
+
}, [
|
|
2467
|
+
getSheetName,
|
|
2468
|
+
getCellData,
|
|
2469
|
+
getUserEnteredFormat,
|
|
2470
|
+
getNote,
|
|
2471
|
+
onCommand,
|
|
2472
|
+
batchHistory,
|
|
2473
|
+
focusEmbedOrChart,
|
|
2474
|
+
getSheetDimensions,
|
|
2475
|
+
]);
|
|
2404
2476
|
return useMemo(() => ({
|
|
2405
2477
|
...state,
|
|
2406
2478
|
...handlers,
|
|
@@ -2467,6 +2539,7 @@ export function useEngineCore(options) {
|
|
|
2467
2539
|
getSheetRowCount,
|
|
2468
2540
|
getSheetColumnCount,
|
|
2469
2541
|
getDataRowCount,
|
|
2542
|
+
getDataRegion,
|
|
2470
2543
|
findAll,
|
|
2471
2544
|
getSeriesValuesFromRange,
|
|
2472
2545
|
getDomainValuesFromRange,
|
|
@@ -2616,6 +2689,7 @@ export function useEngineCore(options) {
|
|
|
2616
2689
|
getSheetRowCount,
|
|
2617
2690
|
getSheetColumnCount,
|
|
2618
2691
|
getDataRowCount,
|
|
2692
|
+
getDataRegion,
|
|
2619
2693
|
findAll,
|
|
2620
2694
|
getSeriesValuesFromRange,
|
|
2621
2695
|
getDomainValuesFromRange,
|
|
@@ -20,6 +20,11 @@ export class CollabSpreadsheetEngine {
|
|
|
20
20
|
canRedo(): boolean;
|
|
21
21
|
canUndo(): boolean;
|
|
22
22
|
clearHistory(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Excel's *current region* around a 1-based cell as JSON `[top, left, bottom, right]` — the
|
|
25
|
+
* contiguous data block Ctrl/Cmd+A selects, computed over the full document (presence-only).
|
|
26
|
+
*/
|
|
27
|
+
dataRegion(sheet_id: number, row: number, col: number): string;
|
|
23
28
|
dependents(sheet_id: number, row: number, col: number): string;
|
|
24
29
|
documentFacets(): string;
|
|
25
30
|
/**
|
|
@@ -135,6 +140,12 @@ export class SpreadsheetEngine {
|
|
|
135
140
|
* Drop the entire undo/redo history (the document is unchanged). Backs `onClearHistory`.
|
|
136
141
|
*/
|
|
137
142
|
clearHistory(): void;
|
|
143
|
+
/**
|
|
144
|
+
* Excel's *current region* around a 1-based cell as JSON `[top, left, bottom, right]` — the
|
|
145
|
+
* contiguous data block Ctrl/Cmd+A selects. Computed over the engine's full document (a
|
|
146
|
+
* presence-only pass), so a windowed renderer gets the whole block, not just its resident rows.
|
|
147
|
+
*/
|
|
148
|
+
dataRegion(sheet_id: number, row: number, col: number): string;
|
|
138
149
|
/**
|
|
139
150
|
* The DEPENDENTS of a cell — every formula cell that references it (directly or within a range) —
|
|
140
151
|
* as `[{sheetId,rowIndex,columnIndex}]`. Powers `getDependents`.
|
|
@@ -312,6 +323,7 @@ export interface InitOutput {
|
|
|
312
323
|
readonly spreadsheetengine_canRedo: (a: number) => number;
|
|
313
324
|
readonly spreadsheetengine_canUndo: (a: number) => number;
|
|
314
325
|
readonly spreadsheetengine_clearHistory: (a: number) => void;
|
|
326
|
+
readonly spreadsheetengine_dataRegion: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
315
327
|
readonly spreadsheetengine_dependents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
316
328
|
readonly spreadsheetengine_documentFacets: (a: number) => [number, number];
|
|
317
329
|
readonly spreadsheetengine_evalFormula: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
@@ -350,6 +362,7 @@ export interface InitOutput {
|
|
|
350
362
|
readonly collabspreadsheetengine_canRedo: (a: number) => number;
|
|
351
363
|
readonly collabspreadsheetengine_canUndo: (a: number) => number;
|
|
352
364
|
readonly collabspreadsheetengine_clearHistory: (a: number) => void;
|
|
365
|
+
readonly collabspreadsheetengine_dataRegion: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
353
366
|
readonly collabspreadsheetengine_dependents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
354
367
|
readonly collabspreadsheetengine_documentFacets: (a: number) => [number, number];
|
|
355
368
|
readonly collabspreadsheetengine_encodeDiffV1: (a: number, b: number, c: number) => [number, number, number, number];
|
|
@@ -86,6 +86,32 @@ export class CollabSpreadsheetEngine {
|
|
|
86
86
|
clearHistory() {
|
|
87
87
|
wasm.collabspreadsheetengine_clearHistory(this.__wbg_ptr);
|
|
88
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Excel's *current region* around a 1-based cell as JSON `[top, left, bottom, right]` — the
|
|
91
|
+
* contiguous data block Ctrl/Cmd+A selects, computed over the full document (presence-only).
|
|
92
|
+
* @param {number} sheet_id
|
|
93
|
+
* @param {number} row
|
|
94
|
+
* @param {number} col
|
|
95
|
+
* @returns {string}
|
|
96
|
+
*/
|
|
97
|
+
dataRegion(sheet_id, row, col) {
|
|
98
|
+
let deferred2_0;
|
|
99
|
+
let deferred2_1;
|
|
100
|
+
try {
|
|
101
|
+
const ret = wasm.collabspreadsheetengine_dataRegion(this.__wbg_ptr, sheet_id, row, col);
|
|
102
|
+
var ptr1 = ret[0];
|
|
103
|
+
var len1 = ret[1];
|
|
104
|
+
if (ret[3]) {
|
|
105
|
+
ptr1 = 0; len1 = 0;
|
|
106
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
107
|
+
}
|
|
108
|
+
deferred2_0 = ptr1;
|
|
109
|
+
deferred2_1 = len1;
|
|
110
|
+
return getStringFromWasm0(ptr1, len1);
|
|
111
|
+
} finally {
|
|
112
|
+
wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
89
115
|
/**
|
|
90
116
|
* @param {number} sheet_id
|
|
91
117
|
* @param {number} row
|
|
@@ -587,6 +613,33 @@ export class SpreadsheetEngine {
|
|
|
587
613
|
clearHistory() {
|
|
588
614
|
wasm.spreadsheetengine_clearHistory(this.__wbg_ptr);
|
|
589
615
|
}
|
|
616
|
+
/**
|
|
617
|
+
* Excel's *current region* around a 1-based cell as JSON `[top, left, bottom, right]` — the
|
|
618
|
+
* contiguous data block Ctrl/Cmd+A selects. Computed over the engine's full document (a
|
|
619
|
+
* presence-only pass), so a windowed renderer gets the whole block, not just its resident rows.
|
|
620
|
+
* @param {number} sheet_id
|
|
621
|
+
* @param {number} row
|
|
622
|
+
* @param {number} col
|
|
623
|
+
* @returns {string}
|
|
624
|
+
*/
|
|
625
|
+
dataRegion(sheet_id, row, col) {
|
|
626
|
+
let deferred2_0;
|
|
627
|
+
let deferred2_1;
|
|
628
|
+
try {
|
|
629
|
+
const ret = wasm.spreadsheetengine_dataRegion(this.__wbg_ptr, sheet_id, row, col);
|
|
630
|
+
var ptr1 = ret[0];
|
|
631
|
+
var len1 = ret[1];
|
|
632
|
+
if (ret[3]) {
|
|
633
|
+
ptr1 = 0; len1 = 0;
|
|
634
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
635
|
+
}
|
|
636
|
+
deferred2_0 = ptr1;
|
|
637
|
+
deferred2_1 = len1;
|
|
638
|
+
return getStringFromWasm0(ptr1, len1);
|
|
639
|
+
} finally {
|
|
640
|
+
wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
|
|
641
|
+
}
|
|
642
|
+
}
|
|
590
643
|
/**
|
|
591
644
|
* The DEPENDENTS of a cell — every formula cell that references it (directly or within a range) —
|
|
592
645
|
* as `[{sheetId,rowIndex,columnIndex}]`. Powers `getDependents`.
|
|
Binary file
|
|
@@ -7,6 +7,7 @@ export const spreadsheetengine_applyCommand: (a: number, b: number, c: number) =
|
|
|
7
7
|
export const spreadsheetengine_canRedo: (a: number) => number;
|
|
8
8
|
export const spreadsheetengine_canUndo: (a: number) => number;
|
|
9
9
|
export const spreadsheetengine_clearHistory: (a: number) => void;
|
|
10
|
+
export const spreadsheetengine_dataRegion: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
10
11
|
export const spreadsheetengine_dependents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
11
12
|
export const spreadsheetengine_documentFacets: (a: number) => [number, number];
|
|
12
13
|
export const spreadsheetengine_evalFormula: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number];
|
|
@@ -45,6 +46,7 @@ export const collabspreadsheetengine_applyUpdate: (a: number, b: number, c: numb
|
|
|
45
46
|
export const collabspreadsheetengine_canRedo: (a: number) => number;
|
|
46
47
|
export const collabspreadsheetengine_canUndo: (a: number) => number;
|
|
47
48
|
export const collabspreadsheetengine_clearHistory: (a: number) => void;
|
|
49
|
+
export const collabspreadsheetengine_dataRegion: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
48
50
|
export const collabspreadsheetengine_dependents: (a: number, b: number, c: number, d: number) => [number, number, number, number];
|
|
49
51
|
export const collabspreadsheetengine_documentFacets: (a: number) => [number, number];
|
|
50
52
|
export const collabspreadsheetengine_encodeDiffV1: (a: number, b: number, c: number) => [number, number, number, number];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rowsncolumns/rnc-engine",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.10",
|
|
4
4
|
"author": "Vinay M",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"description": "Typed JS/TS interop for the Rust→WASM spreadsheet calc engine (rnc-wasm). Ergonomic JSON-in/out wrapper over the wasm-bindgen surface: applyCommand(Command)→CommitResult, readWindow→WindowSnapshot, and Map<\"sheet!A1\",CellFormat> style folding. Pluggable backend — single-user `SpreadsheetEngine` (default) or collaborative `CollabSpreadsheetEngine` (Yjs sync) — plus the Option-B `useSpreadsheetEngine` React hook.",
|
|
@@ -45,13 +45,13 @@
|
|
|
45
45
|
"react": ">=18"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@rowsncolumns/common-types": ">=5.3.
|
|
48
|
+
"@rowsncolumns/common-types": ">=5.3.2",
|
|
49
49
|
"@rowsncolumns/dag": ">=7.2.31",
|
|
50
50
|
"@rowsncolumns/grid": ">=13.2.35",
|
|
51
|
-
"@rowsncolumns/spreadsheet": ">=10.4.
|
|
52
|
-
"@rowsncolumns/spreadsheet-state": ">=29.1.
|
|
53
|
-
"@rowsncolumns/toolkit": ">=24.5.
|
|
54
|
-
"@rowsncolumns/utils": ">=9.5.
|
|
51
|
+
"@rowsncolumns/spreadsheet": ">=10.4.4",
|
|
52
|
+
"@rowsncolumns/spreadsheet-state": ">=29.1.6",
|
|
53
|
+
"@rowsncolumns/toolkit": ">=24.5.5",
|
|
54
|
+
"@rowsncolumns/utils": ">=9.5.3",
|
|
55
55
|
"fflate": "^0.8.2"
|
|
56
56
|
}
|
|
57
57
|
}
|