@rowsncolumns/spreadsheet-state 28.0.71 → 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/api/range.d.ts.map +1 -1
- package/dist/cjs/api/range.js +3 -1
- 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 +84 -19
- 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 +128 -38
- package/dist/cjs/hooks/use-on-filter-table.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-filter-table.js +48 -28
- 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/api/range.d.ts.map +1 -1
- package/dist/esm/api/range.js +3 -1
- 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 +59 -8
- 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 +94 -10
- package/dist/esm/hooks/use-on-filter-table.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-filter-table.js +25 -8
- 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 +17 -17
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { __assign, __awaiter, __generator, __read, __spreadArray, __values } from "tslib";
|
|
2
2
|
import { CalculationGraph, CalculationWorkerClient, createNamedRangeResolver, createStructuredReferenceResolver, enqueueCalculationOperations, mapOperationToGraphOperation, } from "@rowsncolumns/calculation-worker";
|
|
3
3
|
import { tokenize as formulaTokenizer } from "@rowsncolumns/calculator";
|
|
4
|
-
import { CellNode, CellRangeNode, isCellCoordinate, isCellNode, isCellRangeNode, isStaticNode, makeKey, } from "@rowsncolumns/dag";
|
|
4
|
+
import { CellNode, CellRangeNode, isCellCoordinate, isCellCoordinateWithinCellRange, isCellNode, isCellRangeNode, isStaticNode, makeKey, } from "@rowsncolumns/dag";
|
|
5
5
|
import { FormulaError } from "@rowsncolumns/fast-formula-parser";
|
|
6
6
|
import { isAreasEqual } from "@rowsncolumns/grid";
|
|
7
7
|
import { useCallbackRef } from "@rowsncolumns/spreadsheet";
|
|
8
|
-
import { isAFormula, isNil, scheduleAfterPaint } from "@rowsncolumns/utils";
|
|
8
|
+
import { isAFormula, isNil, resolveSheetSpan, scheduleAfterPaint, } from "@rowsncolumns/utils";
|
|
9
9
|
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
10
10
|
import { BehaviorSubject } from "rxjs";
|
|
11
11
|
import { parseFilterSourceRange } from "../api/filter-range";
|
|
@@ -229,6 +229,9 @@ export var useCalculationWorker = function (props) {
|
|
|
229
229
|
var isFullRecalcRef = useRef(false);
|
|
230
230
|
var computedValuesRef = useRef(new Map());
|
|
231
231
|
var pendingResultsRef = useRef(new Map());
|
|
232
|
+
// Circular-reference members awaiting the next `onSuccess` flush (see
|
|
233
|
+
// `CalculationSuccessContext.circularReferences`).
|
|
234
|
+
var pendingCircularReferencesRef = useRef(new Map());
|
|
232
235
|
var resultFrameRef = useRef(null);
|
|
233
236
|
var volatileCellsRef = useRef(new Map());
|
|
234
237
|
var pendingStaticNodesRef = useRef([]);
|
|
@@ -300,6 +303,10 @@ export var useCalculationWorker = function (props) {
|
|
|
300
303
|
depParserConfig: {
|
|
301
304
|
onStructuredReference: structuredReferenceResolver,
|
|
302
305
|
onVariable: namedRangeResolver,
|
|
306
|
+
// 3-D references depend on every sheet between the two endpoints
|
|
307
|
+
onSheetRange: function (first, last) {
|
|
308
|
+
return resolveSheetSpan(sheetsRef.current.map(function (sheet) { return sheet.name; }), first, last);
|
|
309
|
+
},
|
|
303
310
|
},
|
|
304
311
|
iterativeCalculation: iterativeCalculation,
|
|
305
312
|
});
|
|
@@ -520,6 +527,33 @@ export var useCalculationWorker = function (props) {
|
|
|
520
527
|
}
|
|
521
528
|
emitStats();
|
|
522
529
|
}, [emitStats]);
|
|
530
|
+
// Lazy calculation: release a precedent deferred on an inactive sheet so
|
|
531
|
+
// the plan for the active sheet evaluates it instead of reading it stale.
|
|
532
|
+
var reclaimDeferredPosition = useCallback(function (position) {
|
|
533
|
+
var sheetOperations = deferredOperationsBySheetRef.current.get(position.sheetId);
|
|
534
|
+
var key = makeKey(position);
|
|
535
|
+
var operation = sheetOperations === null || sheetOperations === void 0 ? void 0 : sheetOperations.get(key);
|
|
536
|
+
if (!sheetOperations || !operation) {
|
|
537
|
+
return false;
|
|
538
|
+
}
|
|
539
|
+
sheetOperations.delete(key);
|
|
540
|
+
if (operation.force) {
|
|
541
|
+
workerForceRecalcKeysRef.current.add(key);
|
|
542
|
+
}
|
|
543
|
+
emitStats();
|
|
544
|
+
return true;
|
|
545
|
+
}, [emitStats]);
|
|
546
|
+
var reclaimDeferredPositionsInRange = useCallback(function (range) {
|
|
547
|
+
var sheetOperations = deferredOperationsBySheetRef.current.get(range.sheetId);
|
|
548
|
+
var positions = [];
|
|
549
|
+
sheetOperations === null || sheetOperations === void 0 ? void 0 : sheetOperations.forEach(function (operation) {
|
|
550
|
+
if (isCellCoordinate(operation.position) &&
|
|
551
|
+
isCellCoordinateWithinCellRange(operation.position, range)) {
|
|
552
|
+
positions.push(operation.position);
|
|
553
|
+
}
|
|
554
|
+
});
|
|
555
|
+
return positions;
|
|
556
|
+
}, []);
|
|
523
557
|
var cancelInflightEvaluation = useCallback(function (target) {
|
|
524
558
|
if (!target) {
|
|
525
559
|
return;
|
|
@@ -751,7 +785,13 @@ export var useCalculationWorker = function (props) {
|
|
|
751
785
|
return;
|
|
752
786
|
var isFullRecalc = isFullRecalcRef.current;
|
|
753
787
|
var pendingResults = pendingResultsRef.current;
|
|
754
|
-
|
|
788
|
+
var context = pendingCircularReferencesRef.current.size > 0
|
|
789
|
+
? {
|
|
790
|
+
circularReferences: Array.from(pendingCircularReferencesRef.current.values()),
|
|
791
|
+
}
|
|
792
|
+
: {};
|
|
793
|
+
pendingCircularReferencesRef.current.clear();
|
|
794
|
+
onSuccessRef === null || onSuccessRef === void 0 ? void 0 : onSuccessRef(pendingResults.values(), isFullRecalc, context);
|
|
755
795
|
try {
|
|
756
796
|
// Once the consumer receives the batch we can drop the temporary cache so
|
|
757
797
|
// large evaluations (e.g. VLOOKUP matrices) don't accumulate in memory.
|
|
@@ -1358,6 +1398,22 @@ export var useCalculationWorker = function (props) {
|
|
|
1358
1398
|
var onResultWrapper = function (result) {
|
|
1359
1399
|
handleResult(result, currentBatchId !== null && currentBatchId !== void 0 ? currentBatchId : undefined);
|
|
1360
1400
|
};
|
|
1401
|
+
var onCircularReferences = function (positions) {
|
|
1402
|
+
var e_10, _a;
|
|
1403
|
+
try {
|
|
1404
|
+
for (var positions_2 = (e_10 = void 0, __values(positions)), positions_2_1 = positions_2.next(); !positions_2_1.done; positions_2_1 = positions_2.next()) {
|
|
1405
|
+
var position = positions_2_1.value;
|
|
1406
|
+
pendingCircularReferencesRef.current.set(makeKey(position), position);
|
|
1407
|
+
}
|
|
1408
|
+
}
|
|
1409
|
+
catch (e_10_1) { e_10 = { error: e_10_1 }; }
|
|
1410
|
+
finally {
|
|
1411
|
+
try {
|
|
1412
|
+
if (positions_2_1 && !positions_2_1.done && (_a = positions_2.return)) _a.call(positions_2);
|
|
1413
|
+
}
|
|
1414
|
+
finally { if (e_10) throw e_10.error; }
|
|
1415
|
+
}
|
|
1416
|
+
};
|
|
1361
1417
|
var enqueuePromise = enqueueCalculationOperations({
|
|
1362
1418
|
graph: graph,
|
|
1363
1419
|
workerClient: workerClient,
|
|
@@ -1368,11 +1424,14 @@ export var useCalculationWorker = function (props) {
|
|
|
1368
1424
|
onPlanBuilt: onPlanBuiltWrapper,
|
|
1369
1425
|
onWorkerBatch: onWorkerBatchWrapper,
|
|
1370
1426
|
onNodeBegin: handleNodeBegin,
|
|
1427
|
+
onCircularReferences: onCircularReferences,
|
|
1371
1428
|
normalizePropertyOverride: normalizePropertyOverride,
|
|
1372
1429
|
planOptions: enableLazyCalculation && typeof activeSheetId === "number"
|
|
1373
1430
|
? {
|
|
1374
1431
|
rootSheetId: activeSheetId,
|
|
1375
1432
|
onDeferredNodes: deferCalculationNodes,
|
|
1433
|
+
reclaimDeferredPosition: reclaimDeferredPosition,
|
|
1434
|
+
reclaimDeferredPositionsInRange: reclaimDeferredPositionsInRange,
|
|
1376
1435
|
includePositions: forcedPositions.length
|
|
1377
1436
|
? forcedPositions
|
|
1378
1437
|
: undefined,
|
|
@@ -1429,6 +1488,8 @@ export var useCalculationWorker = function (props) {
|
|
|
1429
1488
|
handleNodeBegin,
|
|
1430
1489
|
normalizePropertyOverride,
|
|
1431
1490
|
deferCalculationNodes,
|
|
1491
|
+
reclaimDeferredPosition,
|
|
1492
|
+
reclaimDeferredPositionsInRange,
|
|
1432
1493
|
flushVolatileTracking,
|
|
1433
1494
|
enqueueVolatileCells,
|
|
1434
1495
|
onAfterCalculation,
|
|
@@ -1491,10 +1552,11 @@ export var useCalculationWorker = function (props) {
|
|
|
1491
1552
|
workerReadyRef.current = false;
|
|
1492
1553
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1493
1554
|
var initialization, error_1;
|
|
1494
|
-
|
|
1495
|
-
|
|
1555
|
+
var _a;
|
|
1556
|
+
return __generator(this, function (_b) {
|
|
1557
|
+
switch (_b.label) {
|
|
1496
1558
|
case 0:
|
|
1497
|
-
|
|
1559
|
+
_b.trys.push([0, 2, , 3]);
|
|
1498
1560
|
initialization = workerErrorPromiseRef.current
|
|
1499
1561
|
? Promise.race([
|
|
1500
1562
|
workerClient.initialize(nextSnapshot),
|
|
@@ -1503,10 +1565,10 @@ export var useCalculationWorker = function (props) {
|
|
|
1503
1565
|
: workerClient.initialize(nextSnapshot);
|
|
1504
1566
|
return [4 /*yield*/, initialization];
|
|
1505
1567
|
case 1:
|
|
1506
|
-
|
|
1568
|
+
_b.sent();
|
|
1507
1569
|
return [3 /*break*/, 3];
|
|
1508
1570
|
case 2:
|
|
1509
|
-
error_1 =
|
|
1571
|
+
error_1 = _b.sent();
|
|
1510
1572
|
console.error("Failed to initialize calculation worker", error_1);
|
|
1511
1573
|
return [2 /*return*/];
|
|
1512
1574
|
case 3:
|
|
@@ -1514,7 +1576,13 @@ export var useCalculationWorker = function (props) {
|
|
|
1514
1576
|
return [2 /*return*/];
|
|
1515
1577
|
}
|
|
1516
1578
|
workerReadyRef.current = true;
|
|
1517
|
-
scheduleProcessing
|
|
1579
|
+
// Read through the ref: listing `scheduleProcessing` as a dependency
|
|
1580
|
+
// re-ran this effect on every active-sheet change (it closes over
|
|
1581
|
+
// `activeSheetId`), and the cleanup cleared `workerReadyRef` while the
|
|
1582
|
+
// snapshot-equal early return never restored it — every operation
|
|
1583
|
+
// enqueued after a sheet switch (including deferred lazy-calc flushes)
|
|
1584
|
+
// then sat in the pending queue forever.
|
|
1585
|
+
(_a = scheduleProcessingRef.current) === null || _a === void 0 ? void 0 : _a.call(scheduleProcessingRef);
|
|
1518
1586
|
return [2 /*return*/];
|
|
1519
1587
|
}
|
|
1520
1588
|
});
|
|
@@ -1531,7 +1599,6 @@ export var useCalculationWorker = function (props) {
|
|
|
1531
1599
|
locale,
|
|
1532
1600
|
tables,
|
|
1533
1601
|
namedRanges,
|
|
1534
|
-
scheduleProcessing,
|
|
1535
1602
|
]);
|
|
1536
1603
|
useEffect(function () {
|
|
1537
1604
|
if (workerClient === workerClientStub) {
|
|
@@ -1551,7 +1618,7 @@ export var useCalculationWorker = function (props) {
|
|
|
1551
1618
|
};
|
|
1552
1619
|
}, []);
|
|
1553
1620
|
var prepareArrayOperation = useCallback(function (operation) {
|
|
1554
|
-
var
|
|
1621
|
+
var e_11, _a;
|
|
1555
1622
|
var _b, _c, _d;
|
|
1556
1623
|
if (operation.type === "dirty") {
|
|
1557
1624
|
return;
|
|
@@ -1596,12 +1663,12 @@ export var useCalculationWorker = function (props) {
|
|
|
1596
1663
|
queueAnchorDirty(entry.anchor);
|
|
1597
1664
|
}
|
|
1598
1665
|
}
|
|
1599
|
-
catch (
|
|
1666
|
+
catch (e_11_1) { e_11 = { error: e_11_1 }; }
|
|
1600
1667
|
finally {
|
|
1601
1668
|
try {
|
|
1602
1669
|
if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
|
|
1603
1670
|
}
|
|
1604
|
-
finally { if (
|
|
1671
|
+
finally { if (e_11) throw e_11.error; }
|
|
1605
1672
|
}
|
|
1606
1673
|
}
|
|
1607
1674
|
}, [clearArrayValues, findCachedArrayAnchor, graph, queueAnchorDirty]);
|
|
@@ -1668,9 +1735,7 @@ export var useCalculationWorker = function (props) {
|
|
|
1668
1735
|
return !isAreasEqual(node.position, source);
|
|
1669
1736
|
}
|
|
1670
1737
|
if (!includeSource && isCellCoordinate(source) && isCellNode(node)) {
|
|
1671
|
-
|
|
1672
|
-
return (cellNode.position.rowIndex !== source.rowIndex ||
|
|
1673
|
-
cellNode.position.columnIndex !== source.columnIndex);
|
|
1738
|
+
return !isEqualPosition(node.position, source);
|
|
1674
1739
|
}
|
|
1675
1740
|
return true;
|
|
1676
1741
|
});
|
|
@@ -1680,7 +1745,7 @@ export var useCalculationWorker = function (props) {
|
|
|
1680
1745
|
}, [graph]);
|
|
1681
1746
|
var onRequestCalculate = useCallback(function (value, sheetId, rowIndex, columnIndex, options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1682
1747
|
var disablePreview, skipOnDemand, formula, position, dependencies, isCircular, scope, _a, _b, _c, key, value_1, plan, _d, result, resultValue;
|
|
1683
|
-
var
|
|
1748
|
+
var e_12, _e;
|
|
1684
1749
|
var _f, _g, _h;
|
|
1685
1750
|
return __generator(this, function (_j) {
|
|
1686
1751
|
switch (_j.label) {
|
|
@@ -1731,12 +1796,12 @@ export var useCalculationWorker = function (props) {
|
|
|
1731
1796
|
scope[key] = value_1;
|
|
1732
1797
|
}
|
|
1733
1798
|
}
|
|
1734
|
-
catch (
|
|
1799
|
+
catch (e_12_1) { e_12 = { error: e_12_1 }; }
|
|
1735
1800
|
finally {
|
|
1736
1801
|
try {
|
|
1737
1802
|
if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
|
|
1738
1803
|
}
|
|
1739
|
-
finally { if (
|
|
1804
|
+
finally { if (e_12) throw e_12.error; }
|
|
1740
1805
|
}
|
|
1741
1806
|
}
|
|
1742
1807
|
plan = {
|
|
@@ -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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"}
|