@rowsncolumns/spreadsheet-state 28.0.72 → 28.0.74
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/advanced-filter.d.ts +72 -0
- package/dist/cjs/api/advanced-filter.d.ts.map +1 -0
- package/dist/cjs/api/advanced-filter.js +0 -0
- package/dist/cjs/api/goal-seek.d.ts +29 -0
- package/dist/cjs/api/goal-seek.d.ts.map +1 -0
- package/dist/cjs/api/goal-seek.js +131 -0
- package/dist/cjs/api/immer-utils.d.ts.map +1 -1
- package/dist/cjs/api/immer-utils.js +2 -0
- package/dist/cjs/api/paint-format.d.ts +41 -0
- package/dist/cjs/api/paint-format.d.ts.map +1 -0
- package/dist/cjs/api/paint-format.js +115 -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/api/split-text.d.ts +12 -0
- package/dist/cjs/api/split-text.d.ts.map +1 -1
- package/dist/cjs/api/split-text.js +41 -0
- package/dist/cjs/api/subtotal.d.ts +85 -0
- package/dist/cjs/api/subtotal.d.ts.map +1 -0
- package/dist/cjs/api/subtotal.js +250 -0
- package/dist/cjs/commands.d.ts +13 -0
- package/dist/cjs/commands.d.ts.map +1 -1
- package/dist/cjs/components/editors/data-validation-rule-editor.d.ts.map +1 -1
- package/dist/cjs/components/editors/data-validation-rule-editor.js +83 -16
- 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 +39 -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-advanced-filter.d.ts +21 -0
- package/dist/cjs/hooks/use-on-advanced-filter.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-advanced-filter.js +42 -0
- package/dist/cjs/hooks/use-on-goal-seek.d.ts +30 -0
- package/dist/cjs/hooks/use-on-goal-seek.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-goal-seek.js +140 -0
- package/dist/cjs/hooks/use-on-import-excel.d.ts +10 -1
- package/dist/cjs/hooks/use-on-import-excel.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-import-excel.js +8 -4
- package/dist/cjs/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-merge-unmerge-cells.js +53 -34
- 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-on-subtotal.d.ts +26 -0
- package/dist/cjs/hooks/use-on-subtotal.d.ts.map +1 -0
- package/dist/cjs/hooks/use-on-subtotal.js +53 -0
- package/dist/cjs/hooks/use-paint-format.d.ts +19 -3
- package/dist/cjs/hooks/use-paint-format.d.ts.map +1 -1
- package/dist/cjs/hooks/use-paint-format.js +85 -31
- package/dist/cjs/hooks/use-sheet-properties.d.ts +3 -0
- package/dist/cjs/hooks/use-sheet-properties.d.ts.map +1 -1
- package/dist/cjs/hooks/use-sheet-properties.js +8 -0
- package/dist/cjs/hooks/use-split-text-to-columns.d.ts +2 -1
- package/dist/cjs/hooks/use-split-text-to-columns.d.ts.map +1 -1
- package/dist/cjs/hooks/use-split-text-to-columns.js +3 -2
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts +50 -36
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/cjs/hooks/use-spreadsheet-state.js +98 -18
- package/dist/cjs/index.d.ts +9 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +9 -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/change-batch-stream.d.ts.map +1 -1
- package/dist/cjs/interface/change-batch-stream.js +12 -6
- package/dist/cjs/interface/change-batch.d.ts.map +1 -1
- package/dist/cjs/interface/change-batch.js +17 -9
- package/dist/cjs/interface/change-formatting.d.ts.map +1 -1
- package/dist/cjs/interface/change-formatting.js +30 -11
- 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/split-text.d.ts +2 -1
- package/dist/cjs/interface/split-text.d.ts.map +1 -1
- package/dist/cjs/interface/split-text.js +7 -3
- 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 +5 -5
- package/dist/cjs/sheet-cell.d.ts.map +1 -1
- package/dist/cjs/sheet-cell.js +7 -0
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/api/advanced-filter.d.ts +72 -0
- package/dist/esm/api/advanced-filter.d.ts.map +1 -0
- package/dist/esm/api/advanced-filter.js +0 -0
- package/dist/esm/api/goal-seek.d.ts +29 -0
- package/dist/esm/api/goal-seek.d.ts.map +1 -0
- package/dist/esm/api/goal-seek.js +108 -0
- package/dist/esm/api/immer-utils.d.ts.map +1 -1
- package/dist/esm/api/immer-utils.js +2 -0
- package/dist/esm/api/paint-format.d.ts +41 -0
- package/dist/esm/api/paint-format.d.ts.map +1 -0
- package/dist/esm/api/paint-format.js +77 -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/api/split-text.d.ts +12 -0
- package/dist/esm/api/split-text.d.ts.map +1 -1
- package/dist/esm/api/split-text.js +28 -0
- package/dist/esm/api/subtotal.d.ts +85 -0
- package/dist/esm/api/subtotal.d.ts.map +1 -0
- package/dist/esm/api/subtotal.js +181 -0
- package/dist/esm/commands.d.ts +13 -0
- package/dist/esm/commands.d.ts.map +1 -1
- package/dist/esm/components/editors/data-validation-rule-editor.d.ts.map +1 -1
- package/dist/esm/components/editors/data-validation-rule-editor.js +52 -4
- 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 +20 -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-advanced-filter.d.ts +21 -0
- package/dist/esm/hooks/use-on-advanced-filter.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-advanced-filter.js +41 -0
- package/dist/esm/hooks/use-on-goal-seek.d.ts +30 -0
- package/dist/esm/hooks/use-on-goal-seek.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-goal-seek.js +82 -0
- package/dist/esm/hooks/use-on-import-excel.d.ts +10 -1
- package/dist/esm/hooks/use-on-import-excel.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-import-excel.js +8 -4
- package/dist/esm/hooks/use-on-merge-unmerge-cells.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-merge-unmerge-cells.js +13 -13
- 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-on-subtotal.d.ts +26 -0
- package/dist/esm/hooks/use-on-subtotal.d.ts.map +1 -0
- package/dist/esm/hooks/use-on-subtotal.js +48 -0
- package/dist/esm/hooks/use-paint-format.d.ts +19 -3
- package/dist/esm/hooks/use-paint-format.d.ts.map +1 -1
- package/dist/esm/hooks/use-paint-format.js +71 -29
- package/dist/esm/hooks/use-sheet-properties.d.ts +3 -0
- package/dist/esm/hooks/use-sheet-properties.d.ts.map +1 -1
- package/dist/esm/hooks/use-sheet-properties.js +8 -0
- package/dist/esm/hooks/use-split-text-to-columns.d.ts +2 -1
- package/dist/esm/hooks/use-split-text-to-columns.d.ts.map +1 -1
- package/dist/esm/hooks/use-split-text-to-columns.js +3 -2
- package/dist/esm/hooks/use-spreadsheet-state.d.ts +50 -36
- package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/esm/hooks/use-spreadsheet-state.js +89 -16
- package/dist/esm/index.d.ts +9 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +9 -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/change-batch-stream.d.ts.map +1 -1
- package/dist/esm/interface/change-batch-stream.js +12 -6
- package/dist/esm/interface/change-batch.d.ts.map +1 -1
- package/dist/esm/interface/change-batch.js +15 -9
- package/dist/esm/interface/change-formatting.d.ts.map +1 -1
- package/dist/esm/interface/change-formatting.js +28 -11
- 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/split-text.d.ts +2 -1
- package/dist/esm/interface/split-text.d.ts.map +1 -1
- package/dist/esm/interface/split-text.js +6 -3
- 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 +5 -5
- package/dist/esm/sheet-cell.d.ts.map +1 -1
- package/dist/esm/sheet-cell.js +7 -0
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +18 -18
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { SUBTOTAL_FUNCTIONS, } from "@rowsncolumns/spreadsheet";
|
|
2
|
+
import { number2Alpha } from "@rowsncolumns/utils";
|
|
3
|
+
export { SUBTOTAL_FUNCTIONS };
|
|
4
|
+
/**
|
|
5
|
+
* The `SUBTOTAL(function_num, …)` code each "Use function" entry writes.
|
|
6
|
+
* Codes 1–11 (not 101–111): the subtotal rows Excel inserts count manually
|
|
7
|
+
* hidden rows.
|
|
8
|
+
*/
|
|
9
|
+
export const SUBTOTAL_FUNCTION_NUMBERS = {
|
|
10
|
+
AVERAGE: 1,
|
|
11
|
+
COUNT: 2,
|
|
12
|
+
COUNTA: 3,
|
|
13
|
+
MAX: 4,
|
|
14
|
+
MIN: 5,
|
|
15
|
+
PRODUCT: 6,
|
|
16
|
+
STDEV: 7,
|
|
17
|
+
STDEVP: 8,
|
|
18
|
+
SUM: 9,
|
|
19
|
+
VAR: 10,
|
|
20
|
+
VARP: 11,
|
|
21
|
+
};
|
|
22
|
+
/** Excel's total-row labels: "<group> Total" per group, "Grand Total" at the bottom. */
|
|
23
|
+
export const SUBTOTAL_GRAND_TOTAL_LABEL = "Grand Total";
|
|
24
|
+
export const subtotalGroupLabel = (groupValue) => groupValue ? `${groupValue} Total` : "Total";
|
|
25
|
+
const isSubtotalFormula = (formula) => !!formula && /^=\s*(_xlfn\.)?SUBTOTAL\s*\(/i.test(formula);
|
|
26
|
+
/** What a cell shows: booleans display as `TRUE`/`FALSE` (Excel's label is "TRUE Total"). */
|
|
27
|
+
const displayValue = (value) => {
|
|
28
|
+
if (value === null || value === undefined)
|
|
29
|
+
return "";
|
|
30
|
+
if (typeof value === "boolean")
|
|
31
|
+
return value ? "TRUE" : "FALSE";
|
|
32
|
+
return String(value);
|
|
33
|
+
};
|
|
34
|
+
const columnLetters = (columnIndex) => number2Alpha(columnIndex - 1);
|
|
35
|
+
/**
|
|
36
|
+
* Plans Excel's Subtotal command over `options.range`. Consecutive rows with
|
|
37
|
+
* the same group-column value form a group (Excel does not sort — it expects
|
|
38
|
+
* the data sorted and totals each run of equal values). Each group gets a
|
|
39
|
+
* total row right below it holding "<value> Total" in the group column and
|
|
40
|
+
* `=SUBTOTAL(n, first:last)` over the group's data rows in every aggregate
|
|
41
|
+
* column; a grand-total row closes the range with `SUBTOTAL` over the whole
|
|
42
|
+
* data block (SUBTOTAL ignores the nested subtotal rows, like Excel). With
|
|
43
|
+
* `replaceCurrent` the range's existing outline is cleared too, so a re-apply
|
|
44
|
+
* yields Excel's fresh detail 2 / subtotal 1 / grand total 0 levels instead
|
|
45
|
+
* of nesting deeper; without it the new levels stack on the old ones (Excel's
|
|
46
|
+
* nested subtotals). Returns `undefined` when the range has no data rows.
|
|
47
|
+
*/
|
|
48
|
+
export const planSubtotals = (options, reader) => {
|
|
49
|
+
const { range, groupByColumnIndex, aggregateColumnIndices, fn = "SUM", hasHeader = true, replaceCurrent = true, } = options;
|
|
50
|
+
const functionNumber = SUBTOTAL_FUNCTION_NUMBERS[fn];
|
|
51
|
+
const aggregates = [...new Set(aggregateColumnIndices)]
|
|
52
|
+
.filter((columnIndex) => columnIndex >= range.startColumnIndex &&
|
|
53
|
+
columnIndex <= range.endColumnIndex)
|
|
54
|
+
.sort((a, b) => a - b);
|
|
55
|
+
const firstDataRow = hasHeader ? range.startRowIndex + 1 : range.startRowIndex;
|
|
56
|
+
if (firstDataRow > range.endRowIndex)
|
|
57
|
+
return undefined;
|
|
58
|
+
// Existing subtotal rows (any aggregate column, or the group column's
|
|
59
|
+
// "… Total" label next to a SUBTOTAL anywhere in the range) are dropped
|
|
60
|
+
// first when replacing.
|
|
61
|
+
const deleteRows = [];
|
|
62
|
+
const dataRows = [];
|
|
63
|
+
for (let rowIndex = firstDataRow; rowIndex <= range.endRowIndex; rowIndex++) {
|
|
64
|
+
let isTotalRow = false;
|
|
65
|
+
if (replaceCurrent) {
|
|
66
|
+
for (let columnIndex = range.startColumnIndex; columnIndex <= range.endColumnIndex && !isTotalRow; columnIndex++) {
|
|
67
|
+
isTotalRow = isSubtotalFormula(reader.getFormula(rowIndex, columnIndex));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (isTotalRow)
|
|
71
|
+
deleteRows.push(rowIndex);
|
|
72
|
+
else
|
|
73
|
+
dataRows.push(rowIndex);
|
|
74
|
+
}
|
|
75
|
+
if (dataRows.length === 0)
|
|
76
|
+
return undefined;
|
|
77
|
+
deleteRows.sort((a, b) => b - a);
|
|
78
|
+
// Runs of equal group values over the surviving data rows.
|
|
79
|
+
const groups = [];
|
|
80
|
+
for (const rowIndex of dataRows) {
|
|
81
|
+
const label = displayValue(reader.getValue(rowIndex, groupByColumnIndex));
|
|
82
|
+
const last = groups[groups.length - 1];
|
|
83
|
+
if (last && last.label === label)
|
|
84
|
+
last.size++;
|
|
85
|
+
else
|
|
86
|
+
groups.push({ label, size: 1 });
|
|
87
|
+
}
|
|
88
|
+
// Lay out the final rows: data rows are compacted (deleted rows gone),
|
|
89
|
+
// then each group is followed by its total row.
|
|
90
|
+
const insertRows = [];
|
|
91
|
+
const writes = [];
|
|
92
|
+
const detailRows = [];
|
|
93
|
+
const startColumn = Math.min(groupByColumnIndex, ...aggregates);
|
|
94
|
+
const endColumn = Math.max(groupByColumnIndex, ...aggregates);
|
|
95
|
+
const totalRowValues = (label, firstRow, lastRow) => {
|
|
96
|
+
const values = [];
|
|
97
|
+
for (let columnIndex = startColumn; columnIndex <= endColumn; columnIndex++) {
|
|
98
|
+
if (columnIndex === groupByColumnIndex) {
|
|
99
|
+
values.push(label);
|
|
100
|
+
}
|
|
101
|
+
else if (aggregates.includes(columnIndex)) {
|
|
102
|
+
const letters = columnLetters(columnIndex);
|
|
103
|
+
values.push(`=SUBTOTAL(${functionNumber},${letters}${firstRow}:${letters}${lastRow})`);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
values.push(null);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return values;
|
|
110
|
+
};
|
|
111
|
+
// "Replace current subtotals": the surviving data rows carry the previous
|
|
112
|
+
// outline (detail rows at 2, or deeper after repeated applies) into their
|
|
113
|
+
// final positions — the inserted total rows arrive at level 0 — so record
|
|
114
|
+
// how many ungroup steps each needs before the fresh levels go on.
|
|
115
|
+
const ungroupRows = [];
|
|
116
|
+
let dataRowCursor = 0;
|
|
117
|
+
let cursor = firstDataRow;
|
|
118
|
+
for (const group of groups) {
|
|
119
|
+
const groupStart = cursor;
|
|
120
|
+
for (let i = 0; i < group.size; i++) {
|
|
121
|
+
const originalRow = dataRows[dataRowCursor++];
|
|
122
|
+
const level = replaceCurrent ? (reader.getOutlineLevel?.(originalRow) ?? 0) : 0;
|
|
123
|
+
for (let pass = 0; pass < level; pass++) {
|
|
124
|
+
(ungroupRows[pass] ??= []).push(cursor);
|
|
125
|
+
}
|
|
126
|
+
detailRows.push(cursor++);
|
|
127
|
+
}
|
|
128
|
+
const groupEnd = cursor - 1;
|
|
129
|
+
insertRows.push(cursor);
|
|
130
|
+
writes.push({
|
|
131
|
+
rowIndex: cursor,
|
|
132
|
+
startColumnIndex: startColumn,
|
|
133
|
+
values: totalRowValues(subtotalGroupLabel(group.label), groupStart, groupEnd),
|
|
134
|
+
});
|
|
135
|
+
cursor++;
|
|
136
|
+
}
|
|
137
|
+
const lastRowBeforeGrand = cursor - 1;
|
|
138
|
+
insertRows.push(cursor);
|
|
139
|
+
writes.push({
|
|
140
|
+
rowIndex: cursor,
|
|
141
|
+
startColumnIndex: startColumn,
|
|
142
|
+
values: totalRowValues(SUBTOTAL_GRAND_TOTAL_LABEL, firstDataRow, lastRowBeforeGrand),
|
|
143
|
+
});
|
|
144
|
+
const level1 = [];
|
|
145
|
+
for (let rowIndex = firstDataRow; rowIndex <= lastRowBeforeGrand; rowIndex++) {
|
|
146
|
+
level1.push(rowIndex);
|
|
147
|
+
}
|
|
148
|
+
return {
|
|
149
|
+
deleteRows,
|
|
150
|
+
insertRows,
|
|
151
|
+
writes,
|
|
152
|
+
ungroupRows,
|
|
153
|
+
outlineGroups: [level1, detailRows],
|
|
154
|
+
groupCount: groups.length,
|
|
155
|
+
resultRange: { ...range, endRowIndex: cursor },
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
/** Applies a {@link SubtotalPlan} in its documented order. */
|
|
159
|
+
export const applySubtotalPlan = (sheetId, plan, executor) => {
|
|
160
|
+
if (plan.deleteRows.length)
|
|
161
|
+
executor.onDeleteRow(sheetId, plan.deleteRows);
|
|
162
|
+
for (const rowIndex of plan.insertRows) {
|
|
163
|
+
executor.onInsertRow(sheetId, rowIndex, 1);
|
|
164
|
+
}
|
|
165
|
+
for (const write of plan.writes) {
|
|
166
|
+
executor.onChangeBatch(sheetId, {
|
|
167
|
+
startRowIndex: write.rowIndex,
|
|
168
|
+
endRowIndex: write.rowIndex,
|
|
169
|
+
startColumnIndex: write.startColumnIndex,
|
|
170
|
+
endColumnIndex: write.startColumnIndex + write.values.length - 1,
|
|
171
|
+
}, [write.values]);
|
|
172
|
+
}
|
|
173
|
+
for (const rows of plan.ungroupRows) {
|
|
174
|
+
if (rows.length)
|
|
175
|
+
executor.onUngroupRows(sheetId, rows);
|
|
176
|
+
}
|
|
177
|
+
for (const rows of plan.outlineGroups) {
|
|
178
|
+
if (rows.length)
|
|
179
|
+
executor.onGroupRows(sheetId, rows);
|
|
180
|
+
}
|
|
181
|
+
};
|
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,12 +79,21 @@ 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;
|
|
81
86
|
activeCell: CellInterface;
|
|
82
87
|
selections: SelectionArea<SelectionAttributes>[];
|
|
83
88
|
delimiter: string;
|
|
89
|
+
/** Fixed-width mode: character positions of the column breaks (wins over `delimiter`). */
|
|
90
|
+
columnBreaks?: number[];
|
|
91
|
+
} | {
|
|
92
|
+
command: "goal-seek";
|
|
93
|
+
sheetId: number;
|
|
94
|
+
setCell: CellInterface;
|
|
95
|
+
targetValue: number;
|
|
96
|
+
changingCell: CellInterface;
|
|
84
97
|
} | {
|
|
85
98
|
command: "find-replace";
|
|
86
99
|
ranges: SheetRange[];
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-validation-rule-editor.d.ts","sourceRoot":"","sources":["../../../../components/editors/data-validation-rule-editor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EAEf,wBAAwB,EAEzB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"data-validation-rule-editor.d.ts","sourceRoot":"","sources":["../../../../components/editors/data-validation-rule-editor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,eAAe,EAEf,wBAAwB,EAEzB,MAAM,2BAA2B,CAAC;AAkCnC,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,KAAK,6BAA6B,GAAG;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,wBAAwB,CAAC;IAC7C,oBAAoB,CAAC,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAC/D;;OAEG;IACH,kBAAkB,CAAC,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;IAC/D,QAAQ,CAAC,CACP,IAAI,EAAE,wBAAwB,EAC9B,YAAY,EAAE,wBAAwB,GACrC,IAAI,CAAC;IACR,QAAQ,CAAC,IAAI,IAAI,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,gGAOtC,6BAA6B,sBA8d/B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CrossCircledIcon } from "@rowsncolumns/icons";
|
|
2
|
-
import { CONDITION_NONE, FormulaInput, shouldShowFromValue, shouldShowToValue, useFormulaInputState, useGetNamedRanges, VALIDATION_CONDITION_LABELS, } from "@rowsncolumns/spreadsheet";
|
|
2
|
+
import { buildExcelValidationRule, CONDITION_NONE, EXCEL_VALIDATION_KIND_LABELS, EXCEL_VALIDATION_OPERATOR_LABELS, FormulaInput, getValidationAnchor, isTwoSidedOperator, readExcelValidationSpec, shouldShowFromValue, shouldShowToValue, useFormulaInputState, useGetNamedRanges, VALIDATION_CONDITION_LABELS, } from "@rowsncolumns/spreadsheet";
|
|
3
3
|
import { Button, IconButton, Input, Select, SelectContent, SelectItem, SelectPortal, SelectTrigger, SelectValue, Stack, useIsomorphicLayoutEffect, } from "@rowsncolumns/ui";
|
|
4
4
|
import { uuid } from "@rowsncolumns/utils";
|
|
5
5
|
import { useFormik } from "formik";
|
|
@@ -14,9 +14,20 @@ export const DataValidationRuleEditor = ({ sheetId, dataValidationRule, function
|
|
|
14
14
|
return trimmed.startsWith("=") ? trimmed : `=${trimmed}`;
|
|
15
15
|
};
|
|
16
16
|
const getNamedRanges = useGetNamedRanges();
|
|
17
|
+
// Excel's Whole number / Time / Text length kinds live outside the
|
|
18
|
+
// ConditionType union; the select shows them as `EXCEL_KIND_*` entries and
|
|
19
|
+
// the rule is composed on save (see `buildExcelValidationRule`).
|
|
20
|
+
const [excelSpec, setExcelSpec] = useState(() => readExcelValidationSpec(dataValidationRule));
|
|
17
21
|
const { values, handleSubmit, resetForm, setFieldValue } = useFormik({
|
|
18
22
|
initialValues: dataValidationRule,
|
|
19
23
|
onSubmit(values) {
|
|
24
|
+
if (excelSpec) {
|
|
25
|
+
const composed = buildExcelValidationRule(excelSpec, getValidationAnchor(values.ranges[0]));
|
|
26
|
+
if (!composed)
|
|
27
|
+
return;
|
|
28
|
+
onSubmit?.({ ...values, ...composed }, dataValidationRule);
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
20
31
|
onSubmit?.(values, dataValidationRule);
|
|
21
32
|
},
|
|
22
33
|
});
|
|
@@ -31,6 +42,11 @@ export const DataValidationRuleEditor = ({ sheetId, dataValidationRule, function
|
|
|
31
42
|
const toValue = values?.condition?.values?.[1]?.userEnteredValue;
|
|
32
43
|
const updateDataValidationInputs = (nextFromValue, nextToValue, nextType = values?.condition?.type, includeToValue = showToValue, includeFromValue = showFromValue) => {
|
|
33
44
|
const shouldIncludeFrom = includeFromValue && nextFromValue !== undefined;
|
|
45
|
+
// The condition no longer matches the imported Excel description — drop
|
|
46
|
+
// it so the exporter synthesizes from `condition` instead of replaying
|
|
47
|
+
// the stale source rule.
|
|
48
|
+
if (values.xlsxSource)
|
|
49
|
+
setFieldValue("xlsxSource", undefined);
|
|
34
50
|
if (nextType === "CUSTOM_FORMULA") {
|
|
35
51
|
setFieldValue("condition.values", [
|
|
36
52
|
...(shouldIncludeFrom
|
|
@@ -98,7 +114,20 @@ export const DataValidationRuleEditor = ({ sheetId, dataValidationRule, function
|
|
|
98
114
|
}, type: "button", className: "cursor-pointer" }, "Add range"))),
|
|
99
115
|
React.createElement(Stack, { direction: "vertical", className: "gap-1 pb-1" },
|
|
100
116
|
React.createElement("label", { className: "font-system text-sm" }, "Format rules"),
|
|
101
|
-
React.createElement(Select, { value:
|
|
117
|
+
React.createElement(Select, { value: excelSpec
|
|
118
|
+
? `${EXCEL_KIND_PREFIX}${excelSpec.kind}`
|
|
119
|
+
: values?.condition?.type ?? CONDITION_NONE, onValueChange: (value) => {
|
|
120
|
+
if (value.startsWith(EXCEL_KIND_PREFIX)) {
|
|
121
|
+
const kind = value.slice(EXCEL_KIND_PREFIX.length);
|
|
122
|
+
setExcelSpec((prev) => ({
|
|
123
|
+
kind,
|
|
124
|
+
operator: prev?.operator ?? "between",
|
|
125
|
+
formula1: prev?.kind === kind ? prev.formula1 : undefined,
|
|
126
|
+
formula2: prev?.kind === kind ? prev.formula2 : undefined,
|
|
127
|
+
}));
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
setExcelSpec(undefined);
|
|
102
131
|
const nextShowTo = shouldShowToValue(value);
|
|
103
132
|
const nextShowFrom = shouldShowFromValue(value);
|
|
104
133
|
setFieldValue("condition.type", value);
|
|
@@ -114,13 +143,30 @@ export const DataValidationRuleEditor = ({ sheetId, dataValidationRule, function
|
|
|
114
143
|
React.createElement(SelectPortal, null,
|
|
115
144
|
React.createElement(SelectContent, null,
|
|
116
145
|
React.createElement(SelectItem, { value: CONDITION_NONE }, "None"),
|
|
146
|
+
EXCEL_VALIDATION_KIND_LABELS.map(({ kind, label }) => (React.createElement(SelectItem, { key: kind, value: `${EXCEL_KIND_PREFIX}${kind}` }, label))),
|
|
117
147
|
VALIDATION_CONDITION_LABELS.map(({ condition, label }) => {
|
|
118
148
|
return (React.createElement(SelectItem, { key: condition, value: condition }, label));
|
|
119
149
|
}))))),
|
|
150
|
+
excelSpec ? (React.createElement(Stack, { direction: "vertical", className: "gap-1 pb-3" },
|
|
151
|
+
React.createElement(Select, { value: excelSpec.operator, onValueChange: (operator) => setExcelSpec((prev) => (prev ? { ...prev, operator } : prev)) },
|
|
152
|
+
React.createElement(SelectTrigger, { className: "mb-1 text-sm", "aria-label": "Data" },
|
|
153
|
+
React.createElement(SelectValue, { placeholder: "between" })),
|
|
154
|
+
React.createElement(SelectPortal, null,
|
|
155
|
+
React.createElement(SelectContent, null, EXCEL_VALIDATION_OPERATOR_LABELS.map(({ operator, label }) => (React.createElement(SelectItem, { key: operator, value: operator }, label)))))),
|
|
156
|
+
React.createElement(Input, { value: excelSpec.formula1 ?? "", type: "text", name: "excelFormula1", onChange: (e) => setExcelSpec((prev) => prev ? { ...prev, formula1: e.target.value } : prev), className: "text-xs", placeholder: isTwoSidedOperator(excelSpec.operator)
|
|
157
|
+
? excelSpec.kind === "time"
|
|
158
|
+
? "Start time"
|
|
159
|
+
: "Minimum"
|
|
160
|
+
: excelSpec.kind === "time"
|
|
161
|
+
? "Time"
|
|
162
|
+
: excelSpec.kind === "textLength"
|
|
163
|
+
? "Length"
|
|
164
|
+
: "Value" }),
|
|
165
|
+
isTwoSidedOperator(excelSpec.operator) ? (React.createElement(Input, { value: excelSpec.formula2 ?? "", type: "text", name: "excelFormula2", onChange: (e) => setExcelSpec((prev) => prev ? { ...prev, formula2: e.target.value } : prev), className: "text-xs", placeholder: excelSpec.kind === "time" ? "End time" : "Maximum" })) : null)) : null,
|
|
120
166
|
React.createElement(Stack, { direction: "vertical", className: "gap-1 pb-3" },
|
|
121
|
-
showFromValue ? (values.condition?.type === "CUSTOM_FORMULA" ||
|
|
167
|
+
!excelSpec && showFromValue ? (values.condition?.type === "CUSTOM_FORMULA" ||
|
|
122
168
|
values.condition?.type === "ONE_OF_RANGE" ? (React.createElement(FormulaInput, { onChange: (value) => updateDataValidationInputs(value, undefined, values.condition?.type ?? undefined, false, true), value: fromValue ?? "=", required: true, placeholder: "Enter a formula", autoFocus: true, functionDescriptions: functionDescriptions, getNamedRanges: getNamedRanges })) : (React.createElement(Input, { value: fromValue, type: "text", name: "fromValue", onChange: (e) => updateDataValidationInputs(e.target.value, toValue), className: "text-xs", placeholder: "Value or formula" }))) : null,
|
|
123
|
-
showToValue ? (React.createElement(Input, { value: toValue, type: "text", name: "toValue", onChange: (e) => updateDataValidationInputs(fromValue, e.target.value), className: "text-xs", placeholder: "Value or formula" })) : null),
|
|
169
|
+
!excelSpec && showToValue ? (React.createElement(Input, { value: toValue, type: "text", name: "toValue", onChange: (e) => updateDataValidationInputs(fromValue, e.target.value), className: "text-xs", placeholder: "Value or formula" })) : null),
|
|
124
170
|
React.createElement(Stack, { direction: "vertical", className: "gap-1 pb-1 flex-row" },
|
|
125
171
|
React.createElement("input", { type: "checkbox", checked: values.allowBlank ?? undefined, onChange: (e) => {
|
|
126
172
|
setFieldValue("allowBlank", e.target.checked);
|
|
@@ -154,6 +200,8 @@ export const DataValidationRuleEditor = ({ sheetId, dataValidationRule, function
|
|
|
154
200
|
React.createElement(Button, { type: "submit", variant: "primary", size: "xs" }, "Save"),
|
|
155
201
|
React.createElement(Button, { size: "xs", onClick: onCancelForm, type: "button" }, "Cancel"))));
|
|
156
202
|
};
|
|
203
|
+
/** Select values for the Excel kinds (kept out of the ConditionType union). */
|
|
204
|
+
const EXCEL_KIND_PREFIX = "EXCEL_KIND_";
|
|
157
205
|
const DataValidationRangeInput = ({ sheetId, range, autoFocus, onValidRange, }) => {
|
|
158
206
|
const formulaInput = useFormulaInputState(sheetId, range);
|
|
159
207
|
return (React.createElement(FormulaInput, { onChange: (value) => {
|
|
@@ -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,wBA+/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
|
? {
|
|
@@ -1612,6 +1629,7 @@ export const useCalculationWorker = (props) => {
|
|
|
1612
1629
|
position,
|
|
1613
1630
|
formula,
|
|
1614
1631
|
precedents: dependencies,
|
|
1632
|
+
cellFormulas: graph.collectCellFormulas(formula, dependencies),
|
|
1615
1633
|
isPreview: !disablePreview,
|
|
1616
1634
|
},
|
|
1617
1635
|
],
|
|
@@ -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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"}
|