@rowsncolumns/spreadsheet-state 28.0.72 → 28.0.73
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/cjs/api/immer-utils.d.ts.map +1 -1
- package/dist/cjs/api/immer-utils.js +1 -0
- package/dist/cjs/api/paste-special.d.ts +48 -0
- package/dist/cjs/api/paste-special.d.ts.map +1 -0
- package/dist/cjs/api/paste-special.js +229 -0
- package/dist/cjs/commands.d.ts +5 -0
- package/dist/cjs/commands.d.ts.map +1 -1
- package/dist/cjs/components/editors/table-editor.js +7 -2
- package/dist/cjs/hooks/use-calculation-worker.d.ts.map +1 -1
- package/dist/cjs/hooks/use-calculation-worker.js +38 -8
- package/dist/cjs/hooks/use-calculation.d.ts +12 -2
- package/dist/cjs/hooks/use-calculation.d.ts.map +1 -1
- package/dist/cjs/hooks/use-calculation.js +71 -35
- package/dist/cjs/hooks/use-on-paste.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-paste.js +82 -52
- package/dist/cjs/hooks/use-on-remove-duplicates.d.ts +2 -1
- package/dist/cjs/hooks/use-on-remove-duplicates.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-remove-duplicates.js +5 -3
- package/dist/cjs/hooks/use-on-show-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-show-column.js +2 -0
- package/dist/cjs/hooks/use-on-show-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-show-row.js +2 -0
- package/dist/cjs/hooks/use-sheet-properties.d.ts +1 -0
- package/dist/cjs/hooks/use-sheet-properties.d.ts.map +1 -1
- package/dist/cjs/hooks/use-sheet-properties.js +4 -0
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts +1 -1
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/cjs/hooks/use-spreadsheet-state.js +2 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/interface/calculation-interface.d.ts.map +1 -1
- package/dist/cjs/interface/calculation-interface.js +5 -0
- package/dist/cjs/interface/hide-column.d.ts.map +1 -1
- package/dist/cjs/interface/hide-column.js +4 -0
- package/dist/cjs/interface/hide-row.d.ts.map +1 -1
- package/dist/cjs/interface/hide-row.js +4 -0
- package/dist/cjs/interface/remove-duplicates.d.ts +3 -2
- package/dist/cjs/interface/remove-duplicates.d.ts.map +1 -1
- package/dist/cjs/interface/remove-duplicates.js +41 -7
- package/dist/cjs/interface/spreadsheet-interface.d.ts +2 -1
- package/dist/cjs/interface/spreadsheet-interface.d.ts.map +1 -1
- package/dist/cjs/interface/spreadsheet-interface.js +3 -3
- package/dist/cjs/sheet-cell.d.ts.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/api/immer-utils.d.ts.map +1 -1
- package/dist/esm/api/immer-utils.js +1 -0
- package/dist/esm/api/paste-special.d.ts +48 -0
- package/dist/esm/api/paste-special.d.ts.map +1 -0
- package/dist/esm/api/paste-special.js +220 -0
- package/dist/esm/commands.d.ts +5 -0
- package/dist/esm/commands.d.ts.map +1 -1
- package/dist/esm/components/editors/table-editor.js +7 -4
- package/dist/esm/hooks/use-calculation-worker.d.ts.map +1 -1
- package/dist/esm/hooks/use-calculation-worker.js +19 -2
- package/dist/esm/hooks/use-calculation.d.ts +12 -2
- package/dist/esm/hooks/use-calculation.d.ts.map +1 -1
- package/dist/esm/hooks/use-calculation.js +38 -7
- package/dist/esm/hooks/use-on-paste.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-paste.js +49 -14
- package/dist/esm/hooks/use-on-remove-duplicates.d.ts +2 -1
- package/dist/esm/hooks/use-on-remove-duplicates.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-remove-duplicates.js +5 -3
- package/dist/esm/hooks/use-on-show-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-show-column.js +2 -0
- package/dist/esm/hooks/use-on-show-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-show-row.js +2 -0
- package/dist/esm/hooks/use-sheet-properties.d.ts +1 -0
- package/dist/esm/hooks/use-sheet-properties.d.ts.map +1 -1
- package/dist/esm/hooks/use-sheet-properties.js +4 -0
- package/dist/esm/hooks/use-spreadsheet-state.d.ts +1 -1
- package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/esm/hooks/use-spreadsheet-state.js +2 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/interface/calculation-interface.d.ts.map +1 -1
- package/dist/esm/interface/calculation-interface.js +3 -0
- package/dist/esm/interface/hide-column.d.ts.map +1 -1
- package/dist/esm/interface/hide-column.js +4 -0
- package/dist/esm/interface/hide-row.d.ts.map +1 -1
- package/dist/esm/interface/hide-row.js +4 -0
- package/dist/esm/interface/remove-duplicates.d.ts +3 -2
- package/dist/esm/interface/remove-duplicates.d.ts.map +1 -1
- package/dist/esm/interface/remove-duplicates.js +37 -6
- package/dist/esm/interface/spreadsheet-interface.d.ts +2 -1
- package/dist/esm/interface/spreadsheet-interface.d.ts.map +1 -1
- package/dist/esm/interface/spreadsheet-interface.js +3 -3
- package/dist/esm/sheet-cell.d.ts.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +15 -15
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { getCellUserEnteredValue, getExtendedValueBool, getExtendedValueFormula, getExtendedValueNumber, getExtendedValueString, isNil, } from "@rowsncolumns/utils";
|
|
2
|
+
import { SheetCell } from "../sheet-cell";
|
|
3
|
+
import { convertToNumber, isNumber } from "./datatype";
|
|
4
|
+
/** Synthetic clipboard key carrying the legacy single-mode `PasteSpecialType`. */
|
|
5
|
+
export const PASTE_SPECIAL_TYPE_KEY = "pasteSpecialType";
|
|
6
|
+
/** Synthetic clipboard key carrying a JSON-encoded `PasteSpecialOptions`. */
|
|
7
|
+
export const PASTE_SPECIAL_OPTIONS_KEY = "pasteSpecialOptions";
|
|
8
|
+
const PLAIN_PASTE = {
|
|
9
|
+
paste: "all",
|
|
10
|
+
skipBlanks: false,
|
|
11
|
+
transpose: false,
|
|
12
|
+
isSpecial: false,
|
|
13
|
+
};
|
|
14
|
+
const LEGACY_TYPE_TO_OPTIONS = {
|
|
15
|
+
Transposed: { transpose: true },
|
|
16
|
+
Formatting: { paste: "formats" },
|
|
17
|
+
Formula: { paste: "formulas" },
|
|
18
|
+
Value: { paste: "values" },
|
|
19
|
+
Link: {},
|
|
20
|
+
};
|
|
21
|
+
const isOperation = (value) => value === "add" ||
|
|
22
|
+
value === "subtract" ||
|
|
23
|
+
value === "multiply" ||
|
|
24
|
+
value === "divide";
|
|
25
|
+
const isPasteMode = (value) => value === "all" ||
|
|
26
|
+
value === "values" ||
|
|
27
|
+
value === "formulas" ||
|
|
28
|
+
value === "formats";
|
|
29
|
+
/**
|
|
30
|
+
* Normalize a `PasteSpecialOptions` (or the legacy single-mode string) into
|
|
31
|
+
* the flags the paste pipelines branch on.
|
|
32
|
+
*/
|
|
33
|
+
export const normalizePasteSpecialOptions = (input) => {
|
|
34
|
+
if (!input)
|
|
35
|
+
return PLAIN_PASTE;
|
|
36
|
+
const options = typeof input === "string" ? LEGACY_TYPE_TO_OPTIONS[input] ?? {} : input;
|
|
37
|
+
const paste = isPasteMode(options.paste) ? options.paste : "all";
|
|
38
|
+
// Excel greys Operation out under Paste → Formats: a formats paste never
|
|
39
|
+
// touches destination values, so an operation is dropped here for both
|
|
40
|
+
// pipelines rather than each guarding separately.
|
|
41
|
+
const operation = paste !== "formats" && isOperation(options.operation)
|
|
42
|
+
? options.operation
|
|
43
|
+
: undefined;
|
|
44
|
+
const skipBlanks = Boolean(options.skipBlanks);
|
|
45
|
+
const transpose = Boolean(options.transpose);
|
|
46
|
+
return {
|
|
47
|
+
paste,
|
|
48
|
+
operation,
|
|
49
|
+
skipBlanks,
|
|
50
|
+
transpose,
|
|
51
|
+
isSpecial: paste !== "all" || operation !== undefined || skipBlanks || transpose,
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Read the Paste Special request the grid stashed on the clipboard event
|
|
56
|
+
* (`pasteSpecialOptions` JSON wins over the legacy `pasteSpecialType`).
|
|
57
|
+
*/
|
|
58
|
+
export const resolvePasteSpecialOptions = (clipboardData) => {
|
|
59
|
+
if (!clipboardData)
|
|
60
|
+
return PLAIN_PASTE;
|
|
61
|
+
const encoded = clipboardData.getData(PASTE_SPECIAL_OPTIONS_KEY);
|
|
62
|
+
if (encoded) {
|
|
63
|
+
try {
|
|
64
|
+
const parsed = JSON.parse(encoded);
|
|
65
|
+
if (parsed && typeof parsed === "object") {
|
|
66
|
+
return normalizePasteSpecialOptions(parsed);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// Fall through to the legacy key
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const legacy = clipboardData.getData(PASTE_SPECIAL_TYPE_KEY);
|
|
74
|
+
return normalizePasteSpecialOptions(legacy || undefined);
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* A clipboard cell that carries no value: Paste Special "Skip blanks" leaves
|
|
78
|
+
* the destination untouched for these. A shared-string reference counts as a
|
|
79
|
+
* value.
|
|
80
|
+
*/
|
|
81
|
+
export const isBlankClipboardCell = (cell) => {
|
|
82
|
+
if (isNil(cell))
|
|
83
|
+
return true;
|
|
84
|
+
if (!isNil(cell.ss))
|
|
85
|
+
return false;
|
|
86
|
+
const ue = getCellUserEnteredValue(cell);
|
|
87
|
+
if (isNil(ue))
|
|
88
|
+
return true;
|
|
89
|
+
return (isNil(getExtendedValueFormula(ue)) &&
|
|
90
|
+
isNil(getExtendedValueNumber(ue)) &&
|
|
91
|
+
isNil(getExtendedValueString(ue)) &&
|
|
92
|
+
isNil(getExtendedValueBool(ue)));
|
|
93
|
+
};
|
|
94
|
+
const classifyOperand = (cell, locale) => {
|
|
95
|
+
if (isNil(cell))
|
|
96
|
+
return { kind: "blank" };
|
|
97
|
+
const ue = getCellUserEnteredValue(cell);
|
|
98
|
+
const formula = getExtendedValueFormula(ue);
|
|
99
|
+
if (!isNil(formula)) {
|
|
100
|
+
const body = formula.trim().replace(/^=/, "");
|
|
101
|
+
return body ? { kind: "formula", body } : { kind: "blank" };
|
|
102
|
+
}
|
|
103
|
+
const nv = getExtendedValueNumber(ue);
|
|
104
|
+
if (!isNil(nv))
|
|
105
|
+
return { kind: "number", value: nv };
|
|
106
|
+
const bv = getExtendedValueBool(ue);
|
|
107
|
+
if (!isNil(bv))
|
|
108
|
+
return { kind: "number", value: bv ? 1 : 0 };
|
|
109
|
+
const sv = getExtendedValueString(ue);
|
|
110
|
+
if (isNil(sv) || sv === "")
|
|
111
|
+
return { kind: "blank" };
|
|
112
|
+
if (isNumber(sv, locale)) {
|
|
113
|
+
return { kind: "number", value: convertToNumber(sv, locale) };
|
|
114
|
+
}
|
|
115
|
+
return { kind: "text", value: sv };
|
|
116
|
+
};
|
|
117
|
+
const OPERATOR = {
|
|
118
|
+
add: "+",
|
|
119
|
+
subtract: "-",
|
|
120
|
+
multiply: "*",
|
|
121
|
+
divide: "/",
|
|
122
|
+
};
|
|
123
|
+
const compute = (operation, left, right) => {
|
|
124
|
+
switch (operation) {
|
|
125
|
+
case "add":
|
|
126
|
+
return left + right;
|
|
127
|
+
case "subtract":
|
|
128
|
+
return left - right;
|
|
129
|
+
case "multiply":
|
|
130
|
+
return left * right;
|
|
131
|
+
case "divide":
|
|
132
|
+
return left / right;
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
const numberLiteral = (value) => value < 0 ? `(${String(value)})` : String(value);
|
|
136
|
+
/** Render an operand as a formula fragment (a formula body is parenthesized). */
|
|
137
|
+
const toFormulaFragment = (operand) => {
|
|
138
|
+
switch (operand.kind) {
|
|
139
|
+
case "blank":
|
|
140
|
+
return "0";
|
|
141
|
+
case "number":
|
|
142
|
+
return numberLiteral(operand.value);
|
|
143
|
+
case "formula":
|
|
144
|
+
return `(${operand.body})`;
|
|
145
|
+
case "text":
|
|
146
|
+
return `"${operand.value.replace(/"/g, '""')}"`;
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Strip every value facet from a clipboard cell, keeping its formatting so a
|
|
151
|
+
* "Paste all + operation" still carries the source formats.
|
|
152
|
+
*/
|
|
153
|
+
const withoutValue = (cell) => {
|
|
154
|
+
if (isNil(cell))
|
|
155
|
+
return {};
|
|
156
|
+
const { ue: _ue, ev: _ev, fv: _fv, ss: _ss, userEnteredValue: _userEnteredValue, effectiveValue: _effectiveValue, formattedValue: _formattedValue, ...rest } = cell;
|
|
157
|
+
return rest;
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Excel Paste Special → Operation. Combines one clipboard cell with the
|
|
161
|
+
* destination cell it lands on and returns the cell data to write there:
|
|
162
|
+
*
|
|
163
|
+
* - number ⊕ number → the arithmetic result (blank destination counts as 0,
|
|
164
|
+
* numeric text is coerced; a non-finite result such as `x/0` is written as
|
|
165
|
+
* the formula `=x/0` so the cell shows `#DIV/0!`).
|
|
166
|
+
* - a formula on either side → a combined formula (`=(dest)+(source)`), the
|
|
167
|
+
* source formula already relocated to the destination by the paste.
|
|
168
|
+
* - blank source → the destination is left as it is (Excel: `d + 0`; the
|
|
169
|
+
* classic "paste-add a blank cell" trick still coerces numeric text).
|
|
170
|
+
* - non-numeric text destination → left as it is.
|
|
171
|
+
* - non-numeric text source → `=dest+"text"` (Excel's `#VALUE!`).
|
|
172
|
+
*
|
|
173
|
+
* `paste: "values"` callers pre-resolve the source to values with
|
|
174
|
+
* `pickValue`, so the source side is never a formula there.
|
|
175
|
+
*/
|
|
176
|
+
export const applyPasteOperation = (source, destination, operation, sheetId, locale) => {
|
|
177
|
+
const src = classifyOperand(source, locale);
|
|
178
|
+
const dst = classifyOperand(destination, locale);
|
|
179
|
+
const base = withoutValue(source);
|
|
180
|
+
const keepDestination = () => {
|
|
181
|
+
const destinationValue = getCellUserEnteredValue(destination);
|
|
182
|
+
return isNil(destinationValue) ? base : { ...base, ue: destinationValue };
|
|
183
|
+
};
|
|
184
|
+
if (dst.kind === "text") {
|
|
185
|
+
return keepDestination();
|
|
186
|
+
}
|
|
187
|
+
if (src.kind === "blank") {
|
|
188
|
+
if (dst.kind === "number" &&
|
|
189
|
+
(operation === "add" || operation === "subtract")) {
|
|
190
|
+
// `d + 0` — the destination's numeric text becomes a number.
|
|
191
|
+
return writeValue(base, dst.value, sheetId, locale);
|
|
192
|
+
}
|
|
193
|
+
return keepDestination();
|
|
194
|
+
}
|
|
195
|
+
const leftIsNumeric = dst.kind === "blank" || dst.kind === "number";
|
|
196
|
+
if (leftIsNumeric && src.kind === "number") {
|
|
197
|
+
const left = dst.kind === "number" ? dst.value : 0;
|
|
198
|
+
const result = compute(operation, left, src.value);
|
|
199
|
+
if (Number.isFinite(result)) {
|
|
200
|
+
return writeValue(base, result, sheetId, locale);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
const formula = `=${toFormulaFragment(dst)}${OPERATOR[operation]}${toFormulaFragment(src)}`;
|
|
204
|
+
return writeValue(base, formula, sheetId, locale);
|
|
205
|
+
};
|
|
206
|
+
const writeValue = (base, value, sheetId, locale) => {
|
|
207
|
+
const sheetCell = new SheetCell();
|
|
208
|
+
sheetCell.setLocale(locale);
|
|
209
|
+
sheetCell.assign(sheetId, undefined, base);
|
|
210
|
+
sheetCell.setUserEnteredValue(value);
|
|
211
|
+
const result = sheetCell.getCellData() ?? { ...base };
|
|
212
|
+
// Typing a number stamps an inferred `uf.numberFormat`; an unformatted
|
|
213
|
+
// source (values-only paste) must stay unformatted so the destination's
|
|
214
|
+
// own format survives the merge.
|
|
215
|
+
if (!base.uf && result.uf) {
|
|
216
|
+
const { uf: _uf, ...rest } = result;
|
|
217
|
+
return rest;
|
|
218
|
+
}
|
|
219
|
+
return result;
|
|
220
|
+
};
|
package/dist/esm/commands.d.ts
CHANGED
|
@@ -53,6 +53,10 @@ export type Command = {
|
|
|
53
53
|
value: string | null;
|
|
54
54
|
format?: CellFormat | null;
|
|
55
55
|
hyperlink?: string | null;
|
|
56
|
+
/** Paste Special "Skip blanks": leave the destination untouched (value, format,
|
|
57
|
+
* hyperlink) — unlike `null`, which clears it. The other fields are then only a
|
|
58
|
+
* fallback for an engine build predating `skip`. */
|
|
59
|
+
skip?: boolean;
|
|
56
60
|
} | null)[][];
|
|
57
61
|
/** When the clipboard came from a CUT, the source range to clear after the paste lands. */
|
|
58
62
|
cut?: {
|
|
@@ -75,6 +79,7 @@ export type Command = {
|
|
|
75
79
|
activeCell: CellInterface;
|
|
76
80
|
selections: SelectionArea<SelectionAttributes>[];
|
|
77
81
|
columnIndices?: number[];
|
|
82
|
+
hasHeader?: boolean;
|
|
78
83
|
} | {
|
|
79
84
|
command: "split-text-to-columns";
|
|
80
85
|
sheetId: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,9 +36,7 @@ export const TableEditor = ({ sheetId, theme, onSubmit, onRemoveTable, }) => {
|
|
|
36
36
|
React.createElement(Cross2Icon, null)))));
|
|
37
37
|
};
|
|
38
38
|
const TableEditorForm = ({ table, sheetId, theme, onSubmit, onCancel, onRemoveTable, }) => {
|
|
39
|
-
const { values: { title, showRowStripes = true, showColumnStripes = false, filterButton = true, range,
|
|
40
|
-
// totalRow = false,
|
|
41
|
-
}, errors, handleChange, handleSubmit, setFieldValue, resetForm, } = useFormik({
|
|
39
|
+
const { values: { title, showRowStripes = true, showColumnStripes = false, filterButton = true, range, totalRow = false, }, errors, handleChange, handleSubmit, setFieldValue, resetForm, } = useFormik({
|
|
42
40
|
initialValues: table,
|
|
43
41
|
enableReinitialize: true,
|
|
44
42
|
validationSchema: tableSchema,
|
|
@@ -92,7 +90,12 @@ const TableEditorForm = ({ table, sheetId, theme, onSubmit, onCancel, onRemoveTa
|
|
|
92
90
|
React.createElement("input", { type: "checkbox", id: "rnc-filter-button-element", checked: filterButton ?? undefined, name: "filterButton", onChange: (e) => {
|
|
93
91
|
setFieldValue("filterButton", e.target.checked);
|
|
94
92
|
} }),
|
|
95
|
-
"Show filter button")
|
|
93
|
+
"Show filter button"),
|
|
94
|
+
React.createElement("label", { className: "font-system text-sm flex items-center gap-1" },
|
|
95
|
+
React.createElement("input", { type: "checkbox", id: "rnc-total-row-element", checked: totalRow ?? false, name: "totalRow", onChange: (e) => {
|
|
96
|
+
setFieldValue("totalRow", e.target.checked);
|
|
97
|
+
} }),
|
|
98
|
+
"Show total row"))),
|
|
96
99
|
React.createElement("div", { className: "flex gap-1 pt-2" },
|
|
97
100
|
React.createElement(Button, { type: "submit", variant: "primary", size: "xs" }, "Save"),
|
|
98
101
|
React.createElement(Button, { size: "xs", onClick: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-calculation-worker.d.ts","sourceRoot":"","sources":["../../../hooks/use-calculation-worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,8BAA8B,EAQ9B,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAU1C,OAAO,KAAK,EACV,2BAA2B,EAE5B,MAAM,4BAA4B,CAAC;AAmBpC,OAAO,KAAK,EAEV,UAAU,EACV,SAAS,EACV,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"use-calculation-worker.d.ts","sourceRoot":"","sources":["../../../hooks/use-calculation-worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,8BAA8B,EAQ9B,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAU1C,OAAO,KAAK,EACV,2BAA2B,EAE5B,MAAM,4BAA4B,CAAC;AAmBpC,OAAO,KAAK,EAEV,UAAU,EACV,SAAS,EACV,MAAM,2BAA2B,CAAC;AAgBnC,OAAO,KAAK,EAKV,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,KAAK,wBAAwB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAElE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EACD,OAAO,GACP,YAAY,GACZ,iBAAiB,GACjB,iBAAiB,GACjB,yBAAyB,GACzB,cAAc,GACd,UAAU,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAyEF,MAAM,MAAM,yBAAyB,GAAG,mBAAmB,GAAG;IAC5D,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,8BAA8B,CAAC,QAAQ,CAAC,CAAC;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,2BAA2B,CAAC;IACnD,kBAAkB,CAAC,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAClD,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AA8KF,eAAO,MAAM,oBAAoB,GAC/B,OAAO,yBAAyB,KAC/B,wBA8/DF,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { CellNode, CellRangeNode, isCellCoordinate, isCellCoordinateWithinCellRa
|
|
|
4
4
|
import { FormulaError } from "@rowsncolumns/fast-formula-parser";
|
|
5
5
|
import { isAreasEqual } from "@rowsncolumns/grid";
|
|
6
6
|
import { useCallbackRef } from "@rowsncolumns/spreadsheet";
|
|
7
|
-
import { isAFormula, isNil, scheduleAfterPaint } from "@rowsncolumns/utils";
|
|
7
|
+
import { isAFormula, isNil, resolveSheetSpan, scheduleAfterPaint, } from "@rowsncolumns/utils";
|
|
8
8
|
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
9
9
|
import { BehaviorSubject } from "rxjs";
|
|
10
10
|
import { parseFilterSourceRange } from "../api/filter-range";
|
|
@@ -212,6 +212,9 @@ export const useCalculationWorker = (props) => {
|
|
|
212
212
|
const isFullRecalcRef = useRef(false);
|
|
213
213
|
const computedValuesRef = useRef(new Map());
|
|
214
214
|
const pendingResultsRef = useRef(new Map());
|
|
215
|
+
// Circular-reference members awaiting the next `onSuccess` flush (see
|
|
216
|
+
// `CalculationSuccessContext.circularReferences`).
|
|
217
|
+
const pendingCircularReferencesRef = useRef(new Map());
|
|
215
218
|
const resultFrameRef = useRef(null);
|
|
216
219
|
const volatileCellsRef = useRef(new Map());
|
|
217
220
|
const pendingStaticNodesRef = useRef([]);
|
|
@@ -277,6 +280,8 @@ export const useCalculationWorker = (props) => {
|
|
|
277
280
|
depParserConfig: {
|
|
278
281
|
onStructuredReference: structuredReferenceResolver,
|
|
279
282
|
onVariable: namedRangeResolver,
|
|
283
|
+
// 3-D references depend on every sheet between the two endpoints
|
|
284
|
+
onSheetRange: (first, last) => resolveSheetSpan(sheetsRef.current.map((sheet) => sheet.name), first, last),
|
|
280
285
|
},
|
|
281
286
|
iterativeCalculation,
|
|
282
287
|
});
|
|
@@ -726,7 +731,13 @@ export const useCalculationWorker = (props) => {
|
|
|
726
731
|
return;
|
|
727
732
|
const isFullRecalc = isFullRecalcRef.current;
|
|
728
733
|
const pendingResults = pendingResultsRef.current;
|
|
729
|
-
|
|
734
|
+
const context = pendingCircularReferencesRef.current.size > 0
|
|
735
|
+
? {
|
|
736
|
+
circularReferences: Array.from(pendingCircularReferencesRef.current.values()),
|
|
737
|
+
}
|
|
738
|
+
: {};
|
|
739
|
+
pendingCircularReferencesRef.current.clear();
|
|
740
|
+
onSuccessRef?.(pendingResults.values(), isFullRecalc, context);
|
|
730
741
|
// Once the consumer receives the batch we can drop the temporary cache so
|
|
731
742
|
// large evaluations (e.g. VLOOKUP matrices) don't accumulate in memory.
|
|
732
743
|
for (const key of pendingResults.keys()) {
|
|
@@ -1257,6 +1268,11 @@ export const useCalculationWorker = (props) => {
|
|
|
1257
1268
|
const onResultWrapper = (result) => {
|
|
1258
1269
|
handleResult(result, currentBatchId ?? undefined);
|
|
1259
1270
|
};
|
|
1271
|
+
const onCircularReferences = (positions) => {
|
|
1272
|
+
for (const position of positions) {
|
|
1273
|
+
pendingCircularReferencesRef.current.set(makeKey(position), position);
|
|
1274
|
+
}
|
|
1275
|
+
};
|
|
1260
1276
|
const enqueuePromise = enqueueCalculationOperations({
|
|
1261
1277
|
graph,
|
|
1262
1278
|
workerClient,
|
|
@@ -1267,6 +1283,7 @@ export const useCalculationWorker = (props) => {
|
|
|
1267
1283
|
onPlanBuilt: onPlanBuiltWrapper,
|
|
1268
1284
|
onWorkerBatch: onWorkerBatchWrapper,
|
|
1269
1285
|
onNodeBegin: handleNodeBegin,
|
|
1286
|
+
onCircularReferences,
|
|
1270
1287
|
normalizePropertyOverride,
|
|
1271
1288
|
planOptions: enableLazyCalculation && typeof activeSheetId === "number"
|
|
1272
1289
|
? {
|
|
@@ -72,7 +72,16 @@ export type StructureChange = {
|
|
|
72
72
|
startColumnIndex: number;
|
|
73
73
|
endColumnIndex: number;
|
|
74
74
|
};
|
|
75
|
-
export type CalculationSuccessContext = {
|
|
75
|
+
export type CalculationSuccessContext = {
|
|
76
|
+
/**
|
|
77
|
+
* Cells that were members of a circular reference in this batch while
|
|
78
|
+
* iterative calculation is off. Excel shows 0 for them (never an error —
|
|
79
|
+
* the published values ARE 0, and dependents compute with 0) and raises a
|
|
80
|
+
* circular-reference warning; hosts that want that warning raise it from
|
|
81
|
+
* this list. Absent when nothing in the batch was circular.
|
|
82
|
+
*/
|
|
83
|
+
circularReferences?: CellCoordinate[];
|
|
84
|
+
};
|
|
76
85
|
export type CalculationResult = string | number | boolean | Date | undefined | null | object | ErrorValue | FormulaError | StructuredResult;
|
|
77
86
|
export type CalculationOverrides = Map<string, CalculationResult | undefined | null>;
|
|
78
87
|
export type UseCalculationProps = {
|
|
@@ -96,6 +105,7 @@ export type UseCalculationProps = {
|
|
|
96
105
|
getSheetId: CalculatorConfig["getSheetId"];
|
|
97
106
|
getSheetName(sheetId: number): string;
|
|
98
107
|
getSheetIndex?: CalculatorConfig["getSheetIndex"];
|
|
108
|
+
getSheetNames?: CalculatorConfig["getSheetNames"];
|
|
99
109
|
getSheetCount(): number;
|
|
100
110
|
getEffectiveValue: Calculator["getCellValue"];
|
|
101
111
|
getUserEnteredValue(sheetId: number, rowIndex: number, columnIndex: number): string | undefined;
|
|
@@ -124,7 +134,7 @@ export type UseCalculationProps = {
|
|
|
124
134
|
isRowHiddenByFilter?: CalculatorConfig["isRowHiddenByFilter"];
|
|
125
135
|
};
|
|
126
136
|
export declare const EPHEMERAL_FUNCTIONS: Set<string>;
|
|
127
|
-
export declare const useCalculation: ({ locale, functions, iterativeCalculation, onDemandFormulaPattern, activeSheetId, onSuccess, onChangeDependencyGraph, getSheetId, getSheetName, getSheetIndex, getSheetCount, getActiveSheetId, getEffectiveValue, getUserEnteredValue, getConditionalFormatFormula, getDataValidationFormula, getSheetProperties, getCellData, onStructuredReference, onNamedRange, namedRanges, onChangeStaticReference, onBeginCalculation, getEffectiveStructuredValue, isRowHidden, isRowHiddenByFilter, enableLazyCalculation, enabled, }: UseCalculationProps) => {
|
|
137
|
+
export declare const useCalculation: ({ locale, functions, iterativeCalculation, onDemandFormulaPattern, activeSheetId, onSuccess, onChangeDependencyGraph, getSheetId, getSheetName, getSheetIndex, getSheetNames, getSheetCount, getActiveSheetId, getEffectiveValue, getUserEnteredValue, getConditionalFormatFormula, getDataValidationFormula, getSheetProperties, getCellData, onStructuredReference, onNamedRange, namedRanges, onChangeStaticReference, onBeginCalculation, getEffectiveStructuredValue, isRowHidden, isRowHiddenByFilter, enableLazyCalculation, enabled, }: UseCalculationProps) => {
|
|
128
138
|
enqueueCalculation: (operation: CalculationOperation) => void;
|
|
129
139
|
enqueueGraphOperation: (operation: CalculationOperation) => void;
|
|
130
140
|
getPrecedents: (source: CellCoordinate | CellCoordinateRange, includeSource?: boolean) => (CellNode | StaticNode | CellRangeNode)[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-calculation.d.ts","sourceRoot":"","sources":["../../../hooks/use-calculation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"use-calculation.d.ts","sourceRoot":"","sources":["../../../hooks/use-calculation.ts"],"names":[],"mappings":"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"}
|
|
@@ -284,7 +284,7 @@ const isHeavyArrayFormula = (formula) => {
|
|
|
284
284
|
hasLargeExplicitRange(formula));
|
|
285
285
|
};
|
|
286
286
|
const cellPromises = new Map();
|
|
287
|
-
export const useCalculation = ({ locale, functions, iterativeCalculation, onDemandFormulaPattern, activeSheetId, onSuccess, onChangeDependencyGraph, getSheetId, getSheetName, getSheetIndex, getSheetCount, getActiveSheetId, getEffectiveValue, getUserEnteredValue, getConditionalFormatFormula, getDataValidationFormula, getSheetProperties, getCellData, onStructuredReference, onNamedRange, namedRanges, onChangeStaticReference, onBeginCalculation, getEffectiveStructuredValue, isRowHidden, isRowHiddenByFilter, enableLazyCalculation = true, enabled = true, }) => {
|
|
287
|
+
export const useCalculation = ({ locale, functions, iterativeCalculation, onDemandFormulaPattern, activeSheetId, onSuccess, onChangeDependencyGraph, getSheetId, getSheetName, getSheetIndex, getSheetNames, getSheetCount, getActiveSheetId, getEffectiveValue, getUserEnteredValue, getConditionalFormatFormula, getDataValidationFormula, getSheetProperties, getCellData, onStructuredReference, onNamedRange, namedRanges, onChangeStaticReference, onBeginCalculation, getEffectiveStructuredValue, isRowHidden, isRowHiddenByFilter, enableLazyCalculation = true, enabled = true, }) => {
|
|
288
288
|
// Convert string pattern to RegExp if provided
|
|
289
289
|
const onDemandPattern = useMemo(() => {
|
|
290
290
|
if (!onDemandFormulaPattern)
|
|
@@ -299,6 +299,9 @@ export const useCalculation = ({ locale, functions, iterativeCalculation, onDema
|
|
|
299
299
|
const graphOperationQueue = useRef([]);
|
|
300
300
|
// Results queue
|
|
301
301
|
const resultsQueueRef = useRef(new Map());
|
|
302
|
+
// Circular-reference members awaiting the next `onSuccess` flush (see
|
|
303
|
+
// `CalculationSuccessContext.circularReferences`).
|
|
304
|
+
const circularReferencesQueueRef = useRef(new Map());
|
|
302
305
|
const resultsFlushPendingRef = useRef(false);
|
|
303
306
|
const isFullRecalcRef = useRef(false);
|
|
304
307
|
const staticNodeArrayRef = useRef([]);
|
|
@@ -306,6 +309,7 @@ export const useCalculation = ({ locale, functions, iterativeCalculation, onDema
|
|
|
306
309
|
const getSheetNameStable = useCallbackRef(getSheetName);
|
|
307
310
|
const getSheetIdStable = useCallbackRef(getSheetId);
|
|
308
311
|
const getSheetIndexStable = useCallbackRef(getSheetIndex);
|
|
312
|
+
const getSheetNamesStable = useCallbackRef(getSheetNames);
|
|
309
313
|
const getSheetCountStable = useCallbackRef(getSheetCount);
|
|
310
314
|
const getCellDataStable = useCallbackRef(getCellData);
|
|
311
315
|
const onStructuredReferenceStable = useCallbackRef(onStructuredReference);
|
|
@@ -595,6 +599,7 @@ export const useCalculation = ({ locale, functions, iterativeCalculation, onDema
|
|
|
595
599
|
locale,
|
|
596
600
|
getSheetId: getSheetIdStable,
|
|
597
601
|
getSheetIndex: getSheetIndexStable,
|
|
602
|
+
getSheetNames: getSheetNames ? getSheetNamesStable : undefined,
|
|
598
603
|
getSheetCount: getSheetCountStable,
|
|
599
604
|
getSheetProperties: (sheetId = getActiveSheetId()) => getSheetProperties(sheetId),
|
|
600
605
|
getSheetName: getSheetNameStable,
|
|
@@ -602,6 +607,17 @@ export const useCalculation = ({ locale, functions, iterativeCalculation, onDema
|
|
|
602
607
|
isRowHiddenByFilter: isRowHiddenByFilter
|
|
603
608
|
? isRowHiddenByFilterStable
|
|
604
609
|
: undefined,
|
|
610
|
+
getCellFormula(sheetId, rowIndex, columnIndex) {
|
|
611
|
+
const userEnteredValue = getFinalUserEnteredValue({
|
|
612
|
+
sheetId,
|
|
613
|
+
rowIndex,
|
|
614
|
+
columnIndex,
|
|
615
|
+
});
|
|
616
|
+
return typeof userEnteredValue === "string" &&
|
|
617
|
+
isAFormula(userEnteredValue)
|
|
618
|
+
? userEnteredValue
|
|
619
|
+
: undefined;
|
|
620
|
+
},
|
|
605
621
|
getCellValue(sheetId, rowIndex, columnIndex, property) {
|
|
606
622
|
const key = makeKey({
|
|
607
623
|
sheetId,
|
|
@@ -884,16 +900,22 @@ export const useCalculation = ({ locale, functions, iterativeCalculation, onDema
|
|
|
884
900
|
if (!iterativeCalculationRef.current?.enabled) {
|
|
885
901
|
const circularKeys = findCircularKeys(cellNodes);
|
|
886
902
|
if (circularKeys.size) {
|
|
903
|
+
// Excel with iterative calculation off: a circular cell displays
|
|
904
|
+
// 0 — never an error value — so its dependents compute with 0
|
|
905
|
+
// (`=A1+1` → 1, `ISERROR(A1)` → FALSE) and nothing Excel doesn't
|
|
906
|
+
// recognise reaches an export. The warning Excel raises travels
|
|
907
|
+
// on `CalculationSuccessContext.circularReferences`.
|
|
887
908
|
const results = new Map();
|
|
909
|
+
const circularPositions = [];
|
|
888
910
|
for (const node of cellNodes) {
|
|
889
911
|
if (!circularKeys.has(node.key)) {
|
|
890
912
|
continue;
|
|
891
913
|
}
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
914
|
+
getComputationCache().set(node.key, 0);
|
|
915
|
+
results.set(node.key, [node.position, 0]);
|
|
916
|
+
circularPositions.push(node.position);
|
|
895
917
|
}
|
|
896
|
-
publishResults(results.values());
|
|
918
|
+
publishResults(results.values(), circularPositions);
|
|
897
919
|
cellNodes = cellNodes.filter((node) => !circularKeys.has(node.key));
|
|
898
920
|
}
|
|
899
921
|
}
|
|
@@ -1501,11 +1523,14 @@ export const useCalculation = ({ locale, functions, iterativeCalculation, onDema
|
|
|
1501
1523
|
/**
|
|
1502
1524
|
* Publish results back to the
|
|
1503
1525
|
*/
|
|
1504
|
-
const publishResults = useCallback((item) => {
|
|
1526
|
+
const publishResults = useCallback((item, circularReferences) => {
|
|
1505
1527
|
for (const entry of item) {
|
|
1506
1528
|
const [key] = entry;
|
|
1507
1529
|
resultsQueueRef.current.set(makeKey(key), entry);
|
|
1508
1530
|
}
|
|
1531
|
+
for (const position of circularReferences ?? []) {
|
|
1532
|
+
circularReferencesQueueRef.current.set(makeKey(position), position);
|
|
1533
|
+
}
|
|
1509
1534
|
if (resultsQueueRef.current.size === 0) {
|
|
1510
1535
|
return;
|
|
1511
1536
|
}
|
|
@@ -1523,14 +1548,20 @@ export const useCalculation = ({ locale, functions, iterativeCalculation, onDema
|
|
|
1523
1548
|
if (!resultsQueueRef.current.size) {
|
|
1524
1549
|
return;
|
|
1525
1550
|
}
|
|
1551
|
+
const context = circularReferencesQueueRef.current.size > 0
|
|
1552
|
+
? {
|
|
1553
|
+
circularReferences: Array.from(circularReferencesQueueRef.current.values()),
|
|
1554
|
+
}
|
|
1555
|
+
: {};
|
|
1526
1556
|
try {
|
|
1527
|
-
onSuccess?.(resultsQueueRef.current.values(), isFullRecalc,
|
|
1557
|
+
onSuccess?.(resultsQueueRef.current.values(), isFullRecalc, context);
|
|
1528
1558
|
}
|
|
1529
1559
|
catch (err) {
|
|
1530
1560
|
console.error("[spreadsheet-state] recalculation pass aborted:", err);
|
|
1531
1561
|
}
|
|
1532
1562
|
finally {
|
|
1533
1563
|
resultsQueueRef.current.clear();
|
|
1564
|
+
circularReferencesQueueRef.current.clear();
|
|
1534
1565
|
isFullRecalcRef.current = false;
|
|
1535
1566
|
}
|
|
1536
1567
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-on-paste.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-paste.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,4BAA4B,CAAC;AACvE,OAAO,KAAK,EACV,aAAa,EAEb,aAAa,EACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EACV,QAAQ,EACR,wBAAwB,
|
|
1
|
+
{"version":3,"file":"use-on-paste.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-paste.ts"],"names":[],"mappings":"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"}
|