@rowsncolumns/spreadsheet-state 28.0.75 → 28.0.76
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/anchored-objects.d.ts +66 -0
- package/dist/cjs/api/anchored-objects.d.ts.map +1 -0
- package/dist/cjs/api/anchored-objects.js +259 -0
- package/dist/cjs/api/dependency.d.ts +13 -2
- package/dist/cjs/api/dependency.d.ts.map +1 -1
- package/dist/cjs/api/dependency.js +11 -5
- package/dist/cjs/api/formula.d.ts +61 -4
- package/dist/cjs/api/formula.d.ts.map +1 -1
- package/dist/cjs/api/formula.js +250 -61
- package/dist/cjs/api/merges.d.ts +8 -0
- package/dist/cjs/api/merges.d.ts.map +1 -1
- package/dist/cjs/api/merges.js +64 -1
- package/dist/cjs/api/named-range-structural.d.ts +62 -0
- package/dist/cjs/api/named-range-structural.d.ts.map +1 -0
- package/dist/cjs/api/named-range-structural.js +197 -0
- package/dist/cjs/api/range-rule-helpers.d.ts +45 -1
- package/dist/cjs/api/range-rule-helpers.d.ts.map +1 -1
- package/dist/cjs/api/range-rule-helpers.js +159 -6
- package/dist/cjs/api/structural-formula-update.d.ts.map +1 -1
- package/dist/cjs/api/structural-formula-update.js +24 -6
- package/dist/cjs/api/structural-guards.d.ts +78 -0
- package/dist/cjs/api/structural-guards.d.ts.map +1 -0
- package/dist/cjs/api/structural-guards.js +202 -0
- package/dist/cjs/api/structural-table-refs.d.ts +94 -0
- package/dist/cjs/api/structural-table-refs.d.ts.map +1 -0
- package/dist/cjs/api/structural-table-refs.js +313 -0
- package/dist/cjs/constants.d.ts +25 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +26 -0
- package/dist/cjs/hooks/use-calculation-worker.d.ts.map +1 -1
- package/dist/cjs/hooks/use-calculation-worker.js +64 -6
- package/dist/cjs/hooks/use-calculation.d.ts +7 -0
- package/dist/cjs/hooks/use-calculation.d.ts.map +1 -1
- package/dist/cjs/hooks/use-calculation.js +15 -0
- package/dist/cjs/hooks/use-on-calculation-success.d.ts +7 -0
- package/dist/cjs/hooks/use-on-calculation-success.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-calculation-success.js +7 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts +13 -3
- package/dist/cjs/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-left.js +27 -2
- package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts +13 -3
- package/dist/cjs/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-cells-shift-up.js +27 -2
- package/dist/cjs/hooks/use-on-delete-column.d.ts +13 -4
- package/dist/cjs/hooks/use-on-delete-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-column.js +14 -2
- package/dist/cjs/hooks/use-on-delete-row.d.ts +13 -4
- package/dist/cjs/hooks/use-on-delete-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-row.js +14 -2
- package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts +13 -3
- package/dist/cjs/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-down.js +27 -2
- package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts +13 -3
- package/dist/cjs/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-cells-shift-right.js +27 -2
- package/dist/cjs/hooks/use-on-insert-column.d.ts +10 -3
- package/dist/cjs/hooks/use-on-insert-column.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-column.js +33 -7
- package/dist/cjs/hooks/use-on-insert-row.d.ts +10 -3
- package/dist/cjs/hooks/use-on-insert-row.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-insert-row.js +32 -7
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts +2 -2
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/cjs/hooks/use-spreadsheet-state.js +61 -15
- package/dist/cjs/hooks/use-structured-reference.d.ts.map +1 -1
- package/dist/cjs/hooks/use-structured-reference.js +10 -6
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/interface/calculation-interface.d.ts +9 -0
- package/dist/cjs/interface/calculation-interface.d.ts.map +1 -1
- package/dist/cjs/interface/calculation-interface.js +31 -2
- package/dist/cjs/interface/delete-cells-shift-left.d.ts +8 -1
- package/dist/cjs/interface/delete-cells-shift-left.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells-shift-left.js +158 -80
- package/dist/cjs/interface/delete-cells-shift-up.d.ts +9 -1
- package/dist/cjs/interface/delete-cells-shift-up.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells-shift-up.js +155 -73
- package/dist/cjs/interface/delete-column.d.ts +1 -1
- package/dist/cjs/interface/delete-column.d.ts.map +1 -1
- package/dist/cjs/interface/delete-column.js +90 -31
- package/dist/cjs/interface/delete-row.d.ts +1 -1
- package/dist/cjs/interface/delete-row.d.ts.map +1 -1
- package/dist/cjs/interface/delete-row.js +85 -26
- package/dist/cjs/interface/insert-cells-shift-down.d.ts +10 -1
- package/dist/cjs/interface/insert-cells-shift-down.d.ts.map +1 -1
- package/dist/cjs/interface/insert-cells-shift-down.js +147 -52
- package/dist/cjs/interface/insert-cells-shift-right.d.ts +10 -1
- package/dist/cjs/interface/insert-cells-shift-right.d.ts.map +1 -1
- package/dist/cjs/interface/insert-cells-shift-right.js +154 -58
- package/dist/cjs/interface/insert-column.d.ts +1 -1
- package/dist/cjs/interface/insert-column.d.ts.map +1 -1
- package/dist/cjs/interface/insert-column.js +46 -8
- package/dist/cjs/interface/insert-row.d.ts +1 -1
- package/dist/cjs/interface/insert-row.d.ts.map +1 -1
- package/dist/cjs/interface/insert-row.js +47 -10
- package/dist/cjs/interface/spreadsheet-interface.d.ts.map +1 -1
- package/dist/cjs/interface/spreadsheet-interface.js +33 -0
- package/dist/cjs/sheet-cell.d.ts.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/api/anchored-objects.d.ts +66 -0
- package/dist/esm/api/anchored-objects.d.ts.map +1 -0
- package/dist/esm/api/anchored-objects.js +212 -0
- package/dist/esm/api/dependency.d.ts +13 -2
- package/dist/esm/api/dependency.d.ts.map +1 -1
- package/dist/esm/api/dependency.js +10 -4
- package/dist/esm/api/formula.d.ts +61 -4
- package/dist/esm/api/formula.d.ts.map +1 -1
- package/dist/esm/api/formula.js +238 -60
- package/dist/esm/api/merges.d.ts +8 -0
- package/dist/esm/api/merges.d.ts.map +1 -1
- package/dist/esm/api/merges.js +51 -0
- package/dist/esm/api/named-range-structural.d.ts +62 -0
- package/dist/esm/api/named-range-structural.d.ts.map +1 -0
- package/dist/esm/api/named-range-structural.js +176 -0
- package/dist/esm/api/range-rule-helpers.d.ts +45 -1
- package/dist/esm/api/range-rule-helpers.d.ts.map +1 -1
- package/dist/esm/api/range-rule-helpers.js +153 -1
- package/dist/esm/api/structural-formula-update.d.ts.map +1 -1
- package/dist/esm/api/structural-formula-update.js +24 -6
- package/dist/esm/api/structural-guards.d.ts +78 -0
- package/dist/esm/api/structural-guards.d.ts.map +1 -0
- package/dist/esm/api/structural-guards.js +186 -0
- package/dist/esm/api/structural-table-refs.d.ts +94 -0
- package/dist/esm/api/structural-table-refs.d.ts.map +1 -0
- package/dist/esm/api/structural-table-refs.js +219 -0
- package/dist/esm/constants.d.ts +25 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +26 -0
- package/dist/esm/hooks/use-calculation-worker.d.ts.map +1 -1
- package/dist/esm/hooks/use-calculation-worker.js +45 -0
- package/dist/esm/hooks/use-calculation.d.ts +7 -0
- package/dist/esm/hooks/use-calculation.d.ts.map +1 -1
- package/dist/esm/hooks/use-calculation.js +15 -0
- package/dist/esm/hooks/use-on-calculation-success.d.ts +7 -0
- package/dist/esm/hooks/use-on-calculation-success.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-calculation-success.js +7 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts +13 -3
- package/dist/esm/hooks/use-on-delete-cells-shift-left.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-left.js +26 -2
- package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts +13 -3
- package/dist/esm/hooks/use-on-delete-cells-shift-up.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-cells-shift-up.js +26 -2
- package/dist/esm/hooks/use-on-delete-column.d.ts +13 -4
- package/dist/esm/hooks/use-on-delete-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-column.js +14 -2
- package/dist/esm/hooks/use-on-delete-row.d.ts +13 -4
- package/dist/esm/hooks/use-on-delete-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-row.js +14 -2
- package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts +13 -3
- package/dist/esm/hooks/use-on-insert-cells-shift-down.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-down.js +26 -2
- package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts +13 -3
- package/dist/esm/hooks/use-on-insert-cells-shift-right.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-cells-shift-right.js +26 -2
- package/dist/esm/hooks/use-on-insert-column.d.ts +10 -3
- package/dist/esm/hooks/use-on-insert-column.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-column.js +33 -7
- package/dist/esm/hooks/use-on-insert-row.d.ts +10 -3
- package/dist/esm/hooks/use-on-insert-row.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-insert-row.js +32 -7
- package/dist/esm/hooks/use-spreadsheet-state.d.ts +2 -2
- package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/esm/hooks/use-spreadsheet-state.js +61 -15
- package/dist/esm/hooks/use-structured-reference.d.ts.map +1 -1
- package/dist/esm/hooks/use-structured-reference.js +10 -6
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -0
- package/dist/esm/interface/calculation-interface.d.ts +9 -0
- package/dist/esm/interface/calculation-interface.d.ts.map +1 -1
- package/dist/esm/interface/calculation-interface.js +33 -2
- package/dist/esm/interface/delete-cells-shift-left.d.ts +8 -1
- package/dist/esm/interface/delete-cells-shift-left.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells-shift-left.js +135 -59
- package/dist/esm/interface/delete-cells-shift-up.d.ts +9 -1
- package/dist/esm/interface/delete-cells-shift-up.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells-shift-up.js +133 -53
- package/dist/esm/interface/delete-column.d.ts +1 -1
- package/dist/esm/interface/delete-column.d.ts.map +1 -1
- package/dist/esm/interface/delete-column.js +80 -11
- package/dist/esm/interface/delete-row.d.ts +1 -1
- package/dist/esm/interface/delete-row.d.ts.map +1 -1
- package/dist/esm/interface/delete-row.js +81 -11
- package/dist/esm/interface/insert-cells-shift-down.d.ts +10 -1
- package/dist/esm/interface/insert-cells-shift-down.d.ts.map +1 -1
- package/dist/esm/interface/insert-cells-shift-down.js +116 -47
- package/dist/esm/interface/insert-cells-shift-right.d.ts +10 -1
- package/dist/esm/interface/insert-cells-shift-right.d.ts.map +1 -1
- package/dist/esm/interface/insert-cells-shift-right.js +120 -51
- package/dist/esm/interface/insert-column.d.ts +1 -1
- package/dist/esm/interface/insert-column.d.ts.map +1 -1
- package/dist/esm/interface/insert-column.js +46 -8
- package/dist/esm/interface/insert-row.d.ts +1 -1
- package/dist/esm/interface/insert-row.d.ts.map +1 -1
- package/dist/esm/interface/insert-row.js +47 -10
- package/dist/esm/interface/spreadsheet-interface.d.ts.map +1 -1
- package/dist/esm/interface/spreadsheet-interface.js +29 -0
- package/dist/esm/sheet-cell.d.ts.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +16 -16
|
@@ -113,6 +113,12 @@ const VOLATILE_FUNCTIONS = new Set([
|
|
|
113
113
|
"INDIRECT",
|
|
114
114
|
]);
|
|
115
115
|
const MAX_BUFFERED_RESULTS = 2000;
|
|
116
|
+
/**
|
|
117
|
+
* True when an operation carries the user's new cell value and that value is
|
|
118
|
+
* not a formula — the cell is leaving the dependency graph.
|
|
119
|
+
*/
|
|
120
|
+
const isStaticOperationValue = (value) => value !== undefined &&
|
|
121
|
+
(typeof value !== "string" || !value.trim().startsWith("="));
|
|
116
122
|
const mergePendingOperation = (current, incoming) => {
|
|
117
123
|
if (!current) {
|
|
118
124
|
return incoming;
|
|
@@ -1311,6 +1317,16 @@ export const useCalculationWorker = (props) => {
|
|
|
1311
1317
|
console.error("Calculation error: ", error);
|
|
1312
1318
|
})
|
|
1313
1319
|
.finally(() => {
|
|
1320
|
+
// The recorded static edits are only needed while the host's
|
|
1321
|
+
// state may lag behind the edit; drop them once the batch that
|
|
1322
|
+
// consumed them completes, unless the cell was edited again
|
|
1323
|
+
// meanwhile — that operation's pass owns the entry.
|
|
1324
|
+
for (const operation of evaluationOperations) {
|
|
1325
|
+
const key = makeKey(operation.position);
|
|
1326
|
+
if (!pendingOperationMapRef.current.has(key)) {
|
|
1327
|
+
pendingUserValueEditsRef.current.delete(key);
|
|
1328
|
+
}
|
|
1329
|
+
}
|
|
1314
1330
|
activeExecutionsRef.current--;
|
|
1315
1331
|
if (activeExecutionsRef.current === 0) {
|
|
1316
1332
|
onAfterCalculation();
|
|
@@ -1511,6 +1527,19 @@ export const useCalculationWorker = (props) => {
|
|
|
1511
1527
|
if (anchor) {
|
|
1512
1528
|
collisionAnchorsRef.current.delete(makeKey(anchor));
|
|
1513
1529
|
}
|
|
1530
|
+
// Remember a static value that replaces the cell's formula. The
|
|
1531
|
+
// processing pass runs after paint, when the host's
|
|
1532
|
+
// getUserEnteredValue may still return the replaced formula; every
|
|
1533
|
+
// formula lookup for the cell (operation mapping, the graph's plan
|
|
1534
|
+
// build, volatile tracking) goes through getFinalUserEnteredValue,
|
|
1535
|
+
// which prefers this entry. Any later operation on the cell
|
|
1536
|
+
// supersedes it.
|
|
1537
|
+
const key = makeKey(operation.position);
|
|
1538
|
+
pendingUserValueEditsRef.current.delete(key);
|
|
1539
|
+
if (operation.type === "add" &&
|
|
1540
|
+
isStaticOperationValue(operation.value)) {
|
|
1541
|
+
pendingUserValueEditsRef.current.set(key, operation.value);
|
|
1542
|
+
}
|
|
1514
1543
|
}
|
|
1515
1544
|
scheduleVolatileTracking(operation.position);
|
|
1516
1545
|
prepareArrayOperation(operation);
|
|
@@ -1523,6 +1552,20 @@ export const useCalculationWorker = (props) => {
|
|
|
1523
1552
|
requestAnimationFrame(flushGraphOperations);
|
|
1524
1553
|
}
|
|
1525
1554
|
});
|
|
1555
|
+
// The spill rectangle anchored at `position` (mirror graph first, then the
|
|
1556
|
+
// last range this hook registered for the anchor).
|
|
1557
|
+
const getArrayRange = useCallbackRef((position) => {
|
|
1558
|
+
const range = graph.getArrayRange(position) ??
|
|
1559
|
+
arrayRangeCacheRef.current.get(makeKey(position))?.range;
|
|
1560
|
+
if (!range)
|
|
1561
|
+
return undefined;
|
|
1562
|
+
return {
|
|
1563
|
+
startRowIndex: range.startRowIndex,
|
|
1564
|
+
startColumnIndex: range.startColumnIndex,
|
|
1565
|
+
endRowIndex: range.endRowIndex,
|
|
1566
|
+
endColumnIndex: range.endColumnIndex,
|
|
1567
|
+
};
|
|
1568
|
+
});
|
|
1526
1569
|
const isArrayFormula = useCallbackRef((position) => {
|
|
1527
1570
|
return graph.isArrayFormula(position) || graph.isInArrayRange(position);
|
|
1528
1571
|
});
|
|
@@ -1706,6 +1749,7 @@ export const useCalculationWorker = (props) => {
|
|
|
1706
1749
|
getDependencyGraph: () => "[]",
|
|
1707
1750
|
updateDependencyGraph: () => { },
|
|
1708
1751
|
isArrayFormula: () => false,
|
|
1752
|
+
getArrayRange: () => undefined,
|
|
1709
1753
|
applyNamedRanges: (_list) => { },
|
|
1710
1754
|
stats$: statsSubjectRef.current.asObservable(),
|
|
1711
1755
|
}), []);
|
|
@@ -1728,6 +1772,7 @@ export const useCalculationWorker = (props) => {
|
|
|
1728
1772
|
getDependencyGraph,
|
|
1729
1773
|
updateDependencyGraph,
|
|
1730
1774
|
isArrayFormula,
|
|
1775
|
+
getArrayRange,
|
|
1731
1776
|
// Worker re-inits on namedRanges change (sent via WorkerInit
|
|
1732
1777
|
// payload), so there's no host-side calculator to apply to.
|
|
1733
1778
|
// No-op to satisfy the shared API contract.
|
|
@@ -158,6 +158,12 @@ export declare const useCalculation: ({ locale, functions, iterativeCalculation,
|
|
|
158
158
|
getDependencyGraph: () => string;
|
|
159
159
|
updateDependencyGraph: (nodes: string) => void;
|
|
160
160
|
isArrayFormula: (position: CellCoordinate) => boolean;
|
|
161
|
+
getArrayRange: (position: CellCoordinate) => {
|
|
162
|
+
startRowIndex: number;
|
|
163
|
+
startColumnIndex: number;
|
|
164
|
+
endRowIndex: number;
|
|
165
|
+
endColumnIndex: number;
|
|
166
|
+
} | undefined;
|
|
161
167
|
applyNamedRanges: (list: import("@rowsncolumns/spreadsheet").NamedRange[] | undefined) => void;
|
|
162
168
|
} | {
|
|
163
169
|
enqueueCalculation: () => void;
|
|
@@ -178,6 +184,7 @@ export declare const useCalculation: ({ locale, functions, iterativeCalculation,
|
|
|
178
184
|
getDependencyGraph: () => "[]";
|
|
179
185
|
updateDependencyGraph: () => void;
|
|
180
186
|
isArrayFormula: () => false;
|
|
187
|
+
getArrayRange: () => undefined;
|
|
181
188
|
applyNamedRanges: (_list: import("@rowsncolumns/spreadsheet").NamedRange[] | undefined) => void;
|
|
182
189
|
};
|
|
183
190
|
//# sourceMappingURL=use-calculation.d.ts.map
|
|
@@ -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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"}
|
|
@@ -1799,6 +1799,19 @@ export const useCalculation = ({ locale, functions, iterativeCalculation, onDema
|
|
|
1799
1799
|
return (getCalculator().isArray(position) ||
|
|
1800
1800
|
getCalculator().isInArrayRange(position));
|
|
1801
1801
|
}, []));
|
|
1802
|
+
// The spill rectangle anchored at `position` (a dynamic array's projected
|
|
1803
|
+
// cells), or undefined when the cell is not a spilling anchor.
|
|
1804
|
+
const getArrayRange = useCallbackRef(useCallback((position) => {
|
|
1805
|
+
const range = getCalculator().getArrayRange(position);
|
|
1806
|
+
if (!range)
|
|
1807
|
+
return undefined;
|
|
1808
|
+
return {
|
|
1809
|
+
startRowIndex: range.from.row,
|
|
1810
|
+
startColumnIndex: range.from.col,
|
|
1811
|
+
endRowIndex: range.to.row,
|
|
1812
|
+
endColumnIndex: range.to.col,
|
|
1813
|
+
};
|
|
1814
|
+
}, []));
|
|
1802
1815
|
// Get all dependents of a cell. Returns a mixed list — narrow with
|
|
1803
1816
|
// the `isCellNode`/`isStaticNode` helpers at call sites (NOT
|
|
1804
1817
|
// `instanceof`, which breaks across bundler module instances).
|
|
@@ -2121,6 +2134,7 @@ export const useCalculation = ({ locale, functions, iterativeCalculation, onDema
|
|
|
2121
2134
|
getDependencyGraph: () => "[]",
|
|
2122
2135
|
updateDependencyGraph: () => { },
|
|
2123
2136
|
isArrayFormula: () => false,
|
|
2137
|
+
getArrayRange: () => undefined,
|
|
2124
2138
|
applyNamedRanges: (_list) => { },
|
|
2125
2139
|
}), []);
|
|
2126
2140
|
const api = {
|
|
@@ -2142,6 +2156,7 @@ export const useCalculation = ({ locale, functions, iterativeCalculation, onDema
|
|
|
2142
2156
|
getDependencyGraph,
|
|
2143
2157
|
updateDependencyGraph,
|
|
2144
2158
|
isArrayFormula,
|
|
2159
|
+
getArrayRange,
|
|
2145
2160
|
// Phase 9 — exposed so `useCalculationInitialize` can guarantee
|
|
2146
2161
|
// named ranges are registered BEFORE cell formulas are parsed
|
|
2147
2162
|
// (otherwise cells using a named range would form no DAG edge
|
|
@@ -7,6 +7,13 @@ import type { useSheetProperties } from "./use-sheet-properties";
|
|
|
7
7
|
import type { UseSpreadsheetProps } from "./use-spreadsheet-state";
|
|
8
8
|
import type { SharedStringRegistry } from "./use-ss-registry";
|
|
9
9
|
import type { useUndoRedo } from "./use-undo-redo";
|
|
10
|
+
/**
|
|
11
|
+
* The A1 spill range (`C1:C3`) a dynamic-array result anchored at
|
|
12
|
+
* `(rowIndex, columnIndex)` covers — persisted on the anchor as `af` so xlsx
|
|
13
|
+
* export can write `<f t="array" ref=…>` and structural edits can find the
|
|
14
|
+
* projected cells of a deleted anchor.
|
|
15
|
+
*/
|
|
16
|
+
export declare const arrayResultToA1Ref: (rowIndex: number, columnIndex: number, result: unknown[][]) => string | undefined;
|
|
10
17
|
type UseOnCalculationSuccessProps<T extends CellData> = {
|
|
11
18
|
locale?: string;
|
|
12
19
|
cellXfsRegistry?: CellXfsRegistry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-on-calculation-success.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-calculation-success.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAe1D,OAAO,KAAK,EACV,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-on-calculation-success.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-calculation-success.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAe1D,OAAO,KAAK,EACV,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,UAAU,MAAM,EAChB,aAAa,MAAM,EACnB,QAAQ,OAAO,EAAE,EAAE,KAClB,MAAM,GAAG,SAiBX,CAAC;AAEF,KAAK,4BAA4B,CAAC,CAAC,SAAS,QAAQ,IAAI;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,qBAAqB,EAAE,UAAU,CAC/B,OAAO,kBAAkB,CAC1B,CAAC,uBAAuB,CAAC,CAAC;IAC3B,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAC/D,aAAa,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,6BAA6B,CAAC,CAAC;IAC7E,aAAa,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC;IAClE,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,wIASpE,4BAA4B,CAAC,CAAC,CAAC,eAMxB,KAAK,CAAC,CAAC,cAAc,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,GACnE,gBAAgB,CACd,CAAC,cAAc,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,CAC7D,iBACU,OAAO,aACX,yBAAyB,SAqMzC,CAAC"}
|
|
@@ -6,7 +6,13 @@ import { useCallback } from "react";
|
|
|
6
6
|
import { createSheetDraft, deriveCellFromPrecedents, peekIterable, } from "./../api/immer-utils";
|
|
7
7
|
import { AWAITING_CALCULATION } from "./../helpers";
|
|
8
8
|
import { LOADING_VALUE, SheetCell } from "./../sheet-cell";
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* The A1 spill range (`C1:C3`) a dynamic-array result anchored at
|
|
11
|
+
* `(rowIndex, columnIndex)` covers — persisted on the anchor as `af` so xlsx
|
|
12
|
+
* export can write `<f t="array" ref=…>` and structural edits can find the
|
|
13
|
+
* projected cells of a deleted anchor.
|
|
14
|
+
*/
|
|
15
|
+
export const arrayResultToA1Ref = (rowIndex, columnIndex, result) => {
|
|
10
16
|
const numRows = result.length;
|
|
11
17
|
const numCols = result[0]?.length ?? 0;
|
|
12
18
|
if (numRows === 0 || numCols === 0)
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import type { GridRange } from "@rowsncolumns/common-types";
|
|
1
2
|
import { type CellInterface, type SelectionArea } from "@rowsncolumns/grid";
|
|
2
3
|
import type { CellData, SelectionAttributes, Sheet } from "@rowsncolumns/spreadsheet";
|
|
4
|
+
import type { TableView } from "@rowsncolumns/spreadsheet";
|
|
3
5
|
import type { OnCommand } from "../commands";
|
|
6
|
+
import type { useCalculation } from "./use-calculation";
|
|
4
7
|
import type { CellXfsRegistry } from "./use-cellxfs-registry";
|
|
8
|
+
import type { SheetData, UseSpreadsheetProps } from "./use-spreadsheet-state";
|
|
5
9
|
import type { SharedStringRegistry } from "./use-ss-registry";
|
|
6
|
-
import type { useCalculation } from "./use-calculation";
|
|
7
|
-
import type { UseSpreadsheetProps } from "./use-spreadsheet-state";
|
|
8
10
|
import type { SpreadsheetPatch } from "./use-undo-redo";
|
|
9
11
|
export type UseOnDeleteCellsShiftLeftProps<T extends CellData, S extends Sheet> = {
|
|
10
12
|
columnCount: number;
|
|
@@ -22,7 +24,15 @@ export type UseOnDeleteCellsShiftLeftProps<T extends CellData, S extends Sheet>
|
|
|
22
24
|
onChangeSheetData: UseSpreadsheetProps<T, S>["onChangeSheetData"];
|
|
23
25
|
onChangeSheets: UseSpreadsheetProps<T, S>["onChangeSheets"];
|
|
24
26
|
onChangeCitations?: UseSpreadsheetProps<T, S>["onChangeCitations"];
|
|
27
|
+
onChangeTables?: UseSpreadsheetProps<T, S>["onChangeTables"];
|
|
25
28
|
onCommand?: OnCommand;
|
|
29
|
+
/** Current document facets, read by the Excel refusal guards (`getShiftCellsRefusal`). */
|
|
30
|
+
sheetData?: SheetData<T>;
|
|
31
|
+
sheets?: S[];
|
|
32
|
+
tables?: TableView[];
|
|
33
|
+
/** CSE / dynamic-array ranges on a sheet — a partially covered one refuses the shift. */
|
|
34
|
+
getArrayRanges?: (sheetId: number) => GridRange[] | undefined;
|
|
35
|
+
getSheetName?: (sheetId: number) => string;
|
|
26
36
|
};
|
|
27
|
-
export declare const useOnDeleteCellsShiftLeft: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeCitations, onCommand, }: UseOnDeleteCellsShiftLeftProps<T, S>) => (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
|
|
37
|
+
export declare const useOnDeleteCellsShiftLeft: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeCitations, onChangeTables, onCommand, sheetData, sheets, tables, getArrayRanges, getSheetName, }: UseOnDeleteCellsShiftLeftProps<T, S>) => (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
|
|
28
38
|
//# sourceMappingURL=use-on-delete-cells-shift-left.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-on-delete-cells-shift-left.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-delete-cells-shift-left.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"use-on-delete-cells-shift-left.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-delete-cells-shift-left.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,MAAM,8BAA8B,CACxC,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,KAAK,IACb;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,aAAa,EAAE,MAAM,aAAa,CAAC;IACnC,aAAa,IAAI,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACtD,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,aAAa,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC;IAClE,kBAAkB,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5E,sBAAsB,CAAC,EAAE,UAAU,CACjC,OAAO,cAAc,CACtB,CAAC,wBAAwB,CAAC,CAAC;IAC5B,qBAAqB,EAAE,UAAU,CAC/B,OAAO,cAAc,CACtB,CAAC,uBAAuB,CAAC,CAAC;IAC3B,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAClE,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnE,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IACb,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,yFAAyF;IACzF,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,GAAG,SAAS,CAAC;IAC9D,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,oVAuB5E,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,eAMxB,MAAM,cACH,aAAa,cACb,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAsFrD,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { useCallback } from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { getShiftCellsRefusal, resolveShiftSelection } from "../api/structural-guards";
|
|
3
3
|
import { useShowError } from "../atoms/error-state.atom";
|
|
4
|
+
import { deleteCellsShiftLeft } from "../interface/delete-cells-shift-left";
|
|
4
5
|
import { SHEET_PROTECTION_ERROR_TITLE, useCanEditCellRange, useCanPerformSheetAction, } from "./use-can-edit-cellrange";
|
|
5
|
-
export const useOnDeleteCellsShiftLeft = ({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeCitations, onCommand, }) => {
|
|
6
|
+
export const useOnDeleteCellsShiftLeft = ({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeCitations, onChangeTables, onCommand, sheetData, sheets, tables, getArrayRanges, getSheetName, }) => {
|
|
6
7
|
const canEditCellRange = useCanEditCellRange();
|
|
7
8
|
const canPerformSheetAction = useCanPerformSheetAction();
|
|
8
9
|
const showError = useShowError();
|
|
@@ -18,6 +19,21 @@ export const useOnDeleteCellsShiftLeft = ({ rowCount, columnCount, locale, cellX
|
|
|
18
19
|
console.debug("This range is protected, users cannot edit this cell range.");
|
|
19
20
|
return;
|
|
20
21
|
}
|
|
22
|
+
const selection = resolveShiftSelection(activeCell, selections);
|
|
23
|
+
const refusal = getShiftCellsRefusal({
|
|
24
|
+
direction: "left",
|
|
25
|
+
range: selection.range,
|
|
26
|
+
sheetId,
|
|
27
|
+
rows: sheetData?.[sheetId],
|
|
28
|
+
columnCount,
|
|
29
|
+
merges: sheets?.find((sheet) => sheet.sheetId === sheetId)?.merges,
|
|
30
|
+
tables,
|
|
31
|
+
arrayRanges: getArrayRanges?.(sheetId),
|
|
32
|
+
});
|
|
33
|
+
if (refusal) {
|
|
34
|
+
showError({ title: refusal.title, message: refusal.message });
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
21
37
|
deleteCellsShiftLeft({
|
|
22
38
|
rowCount,
|
|
23
39
|
columnCount,
|
|
@@ -34,6 +50,8 @@ export const useOnDeleteCellsShiftLeft = ({ rowCount, columnCount, locale, cellX
|
|
|
34
50
|
onChangeSheetData,
|
|
35
51
|
onChangeSheets,
|
|
36
52
|
onChangeCitations,
|
|
53
|
+
onChangeTables,
|
|
54
|
+
getSheetName,
|
|
37
55
|
})(sheetId, activeCell, selections);
|
|
38
56
|
onCommand?.({
|
|
39
57
|
command: "delete-cells-shift-left",
|
|
@@ -61,5 +79,11 @@ export const useOnDeleteCellsShiftLeft = ({ rowCount, columnCount, locale, cellX
|
|
|
61
79
|
canPerformSheetAction,
|
|
62
80
|
showError,
|
|
63
81
|
onCommand,
|
|
82
|
+
onChangeTables,
|
|
83
|
+
sheetData,
|
|
84
|
+
sheets,
|
|
85
|
+
tables,
|
|
86
|
+
getArrayRanges,
|
|
87
|
+
getSheetName,
|
|
64
88
|
]);
|
|
65
89
|
};
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import type { GridRange } from "@rowsncolumns/common-types";
|
|
1
2
|
import { type CellInterface, type SelectionArea } from "@rowsncolumns/grid";
|
|
2
3
|
import type { CellData, SelectionAttributes, Sheet } from "@rowsncolumns/spreadsheet";
|
|
4
|
+
import type { TableView } from "@rowsncolumns/spreadsheet";
|
|
3
5
|
import type { OnCommand } from "../commands";
|
|
6
|
+
import type { useCalculation } from "./use-calculation";
|
|
4
7
|
import type { CellXfsRegistry } from "./use-cellxfs-registry";
|
|
8
|
+
import type { SheetData, UseSpreadsheetProps } from "./use-spreadsheet-state";
|
|
5
9
|
import type { SharedStringRegistry } from "./use-ss-registry";
|
|
6
|
-
import type { useCalculation } from "./use-calculation";
|
|
7
|
-
import type { UseSpreadsheetProps } from "./use-spreadsheet-state";
|
|
8
10
|
import type { SpreadsheetPatch } from "./use-undo-redo";
|
|
9
11
|
export type UseOnDeleteCellsShiftUpProps<T extends CellData, S extends Sheet> = {
|
|
10
12
|
rowCount: number;
|
|
@@ -22,7 +24,15 @@ export type UseOnDeleteCellsShiftUpProps<T extends CellData, S extends Sheet> =
|
|
|
22
24
|
onChangeSheetData: UseSpreadsheetProps<T, S>["onChangeSheetData"];
|
|
23
25
|
onChangeSheets: UseSpreadsheetProps<T, S>["onChangeSheets"];
|
|
24
26
|
onChangeCitations?: UseSpreadsheetProps<T, S>["onChangeCitations"];
|
|
27
|
+
onChangeTables?: UseSpreadsheetProps<T, S>["onChangeTables"];
|
|
25
28
|
onCommand?: OnCommand;
|
|
29
|
+
/** Current document facets, read by the Excel refusal guards (`getShiftCellsRefusal`). */
|
|
30
|
+
sheetData?: SheetData<T>;
|
|
31
|
+
sheets?: S[];
|
|
32
|
+
tables?: TableView[];
|
|
33
|
+
/** CSE / dynamic-array ranges on a sheet — a partially covered one refuses the shift. */
|
|
34
|
+
getArrayRanges?: (sheetId: number) => GridRange[] | undefined;
|
|
35
|
+
getSheetName?: (sheetId: number) => string;
|
|
26
36
|
};
|
|
27
|
-
export declare const useOnDeleteCellsShiftUp: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeCitations, onCommand, }: UseOnDeleteCellsShiftUpProps<T, S>) => (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
|
|
37
|
+
export declare const useOnDeleteCellsShiftUp: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeCitations, onChangeTables, onCommand, sheetData, sheets, tables, getArrayRanges, getSheetName, }: UseOnDeleteCellsShiftUpProps<T, S>) => (sheetId: number, activeCell: CellInterface, selections: SelectionArea<SelectionAttributes>[]) => void;
|
|
28
38
|
//# sourceMappingURL=use-on-delete-cells-shift-up.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-on-delete-cells-shift-up.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-delete-cells-shift-up.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"use-on-delete-cells-shift-up.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-delete-cells-shift-up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,MAAM,4BAA4B,CACtC,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,KAAK,IACb;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,aAAa,EAAE,MAAM,aAAa,CAAC;IACnC,aAAa,IAAI,aAAa,CAAC,mBAAmB,CAAC,EAAE,CAAC;IACtD,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,aAAa,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,eAAe,CAAC,CAAC;IAClE,kBAAkB,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5E,sBAAsB,CAAC,EAAE,UAAU,CACjC,OAAO,cAAc,CACtB,CAAC,wBAAwB,CAAC,CAAC;IAC5B,qBAAqB,EAAE,UAAU,CAC/B,OAAO,cAAc,CACtB,CAAC,uBAAuB,CAAC,CAAC;IAC3B,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAClE,cAAc,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5D,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnE,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IACb,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,yFAAyF;IACzF,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,GAAG,SAAS,CAAC;IAC9D,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,oVAuB1E,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,eAMtB,MAAM,cACH,aAAa,cACb,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAsFrD,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { useCallback } from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { getShiftCellsRefusal, resolveShiftSelection } from "../api/structural-guards";
|
|
3
3
|
import { useShowError } from "../atoms/error-state.atom";
|
|
4
|
+
import { deleteCellsShiftUp } from "../interface/delete-cells-shift-up";
|
|
4
5
|
import { SHEET_PROTECTION_ERROR_TITLE, useCanEditCellRange, useCanPerformSheetAction, } from "./use-can-edit-cellrange";
|
|
5
|
-
export const useOnDeleteCellsShiftUp = ({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeCitations, onCommand, }) => {
|
|
6
|
+
export const useOnDeleteCellsShiftUp = ({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeCitations, onChangeTables, onCommand, sheetData, sheets, tables, getArrayRanges, getSheetName, }) => {
|
|
6
7
|
const canEditCellRange = useCanEditCellRange();
|
|
7
8
|
const canPerformSheetAction = useCanPerformSheetAction();
|
|
8
9
|
const showError = useShowError();
|
|
@@ -18,6 +19,21 @@ export const useOnDeleteCellsShiftUp = ({ rowCount, columnCount, locale, cellXfs
|
|
|
18
19
|
console.debug("This range is protected, users cannot edit this cell range.");
|
|
19
20
|
return;
|
|
20
21
|
}
|
|
22
|
+
const selection = resolveShiftSelection(activeCell, selections);
|
|
23
|
+
const refusal = getShiftCellsRefusal({
|
|
24
|
+
direction: "up",
|
|
25
|
+
range: selection.range,
|
|
26
|
+
sheetId,
|
|
27
|
+
rows: sheetData?.[sheetId],
|
|
28
|
+
rowCount,
|
|
29
|
+
merges: sheets?.find((sheet) => sheet.sheetId === sheetId)?.merges,
|
|
30
|
+
tables,
|
|
31
|
+
arrayRanges: getArrayRanges?.(sheetId),
|
|
32
|
+
});
|
|
33
|
+
if (refusal) {
|
|
34
|
+
showError({ title: refusal.title, message: refusal.message });
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
21
37
|
deleteCellsShiftUp({
|
|
22
38
|
rowCount,
|
|
23
39
|
columnCount,
|
|
@@ -34,6 +50,8 @@ export const useOnDeleteCellsShiftUp = ({ rowCount, columnCount, locale, cellXfs
|
|
|
34
50
|
onChangeSheetData,
|
|
35
51
|
onChangeSheets,
|
|
36
52
|
onChangeCitations,
|
|
53
|
+
onChangeTables,
|
|
54
|
+
getSheetName,
|
|
37
55
|
})(sheetId, activeCell, selections);
|
|
38
56
|
onCommand?.({
|
|
39
57
|
command: "delete-cells-shift-up",
|
|
@@ -61,5 +79,11 @@ export const useOnDeleteCellsShiftUp = ({ rowCount, columnCount, locale, cellXfs
|
|
|
61
79
|
canPerformSheetAction,
|
|
62
80
|
showError,
|
|
63
81
|
onCommand,
|
|
82
|
+
onChangeTables,
|
|
83
|
+
sheetData,
|
|
84
|
+
sheets,
|
|
85
|
+
tables,
|
|
86
|
+
getArrayRanges,
|
|
87
|
+
getSheetName,
|
|
64
88
|
]);
|
|
65
89
|
};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { CellInterface, SelectionArea } from "@rowsncolumns/grid";
|
|
2
2
|
import type { CanvasGridProps } from "@rowsncolumns/spreadsheet";
|
|
3
|
-
import { type CellData, type SelectionAttributes, type Sheet } from "@rowsncolumns/spreadsheet";
|
|
3
|
+
import { type CellData, type SelectionAttributes, type Sheet, type TableView } from "@rowsncolumns/spreadsheet";
|
|
4
|
+
import type { GetArrayRange } from "../api/structural-table-refs";
|
|
4
5
|
import type { OnCommand } from "../commands";
|
|
5
|
-
import type { CellXfsRegistry } from "./use-cellxfs-registry";
|
|
6
|
-
import type { SharedStringRegistry } from "./use-ss-registry";
|
|
7
6
|
import type { useCalculation } from "./use-calculation";
|
|
7
|
+
import type { CellXfsRegistry } from "./use-cellxfs-registry";
|
|
8
8
|
import type { UseSpreadsheetProps } from "./use-spreadsheet-state";
|
|
9
|
+
import type { SharedStringRegistry } from "./use-ss-registry";
|
|
9
10
|
import type { SpreadsheetPatch } from "./use-undo-redo";
|
|
10
11
|
export type UseOnDeleteColumnProps<T extends CellData, S extends Sheet> = {
|
|
11
12
|
rowCount: number;
|
|
@@ -31,8 +32,16 @@ export type UseOnDeleteColumnProps<T extends CellData, S extends Sheet> = {
|
|
|
31
32
|
onChangeConditionalFormats?: UseSpreadsheetProps<T, S>["onChangeConditionalFormats"];
|
|
32
33
|
onChangeCitations?: UseSpreadsheetProps<T, S>["onChangeCitations"];
|
|
33
34
|
onChangePivotTables?: UseSpreadsheetProps<T, S>["onChangePivotTables"];
|
|
35
|
+
onChangeNamedRanges?: UseSpreadsheetProps<T, S>["onChangeNamedRanges"];
|
|
36
|
+
onChangeEmbeds?: UseSpreadsheetProps<T, S>["onChangeEmbeds"];
|
|
37
|
+
onChangeCharts?: UseSpreadsheetProps<T, S>["onChangeCharts"];
|
|
38
|
+
onChangeProtectedRanges?: UseSpreadsheetProps<T, S>["onChangeProtectedRanges"];
|
|
34
39
|
getSheetName(sheetId: number): string;
|
|
35
40
|
onCommand?: OnCommand;
|
|
41
|
+
/** Pre-edit table definitions: structured refs into deleted tables/columns break to `#REF!`. */
|
|
42
|
+
tables?: TableView[];
|
|
43
|
+
/** Live spill rectangle of a dynamic-array anchor: a deleted anchor takes its spill with it. */
|
|
44
|
+
getArrayRange?: GetArrayRange;
|
|
36
45
|
};
|
|
37
|
-
export declare const useOnDeleteColumn: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, getGraphNodes, getGraphNodesInSheet, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeTables, onChangeActiveCell, onChangeSelections, onChangeConditionalFormats, onChangeDataValidations, onChangeCitations, onChangePivotTables, getSheetName, onCommand, }: UseOnDeleteColumnProps<T, S>) => (sheetId: number, columnIndexes: number[]) => void;
|
|
46
|
+
export declare const useOnDeleteColumn: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, getGraphNodes, getGraphNodesInSheet, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeTables, onChangeActiveCell, onChangeSelections, onChangeConditionalFormats, onChangeDataValidations, onChangeCitations, onChangePivotTables, onChangeNamedRanges, onChangeEmbeds, onChangeCharts, onChangeProtectedRanges, getSheetName, onCommand, tables, getArrayRange, }: UseOnDeleteColumnProps<T, S>) => (sheetId: number, columnIndexes: number[]) => void;
|
|
38
47
|
//# sourceMappingURL=use-on-delete-column.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-on-delete-column.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-delete-column.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,mBAAmB,EACxB,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"use-on-delete-column.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-delete-column.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useCallback } from "react";
|
|
2
|
-
import { deleteColumn } from "../interface/delete-column";
|
|
3
2
|
import { useShowError } from "../atoms/error-state.atom";
|
|
3
|
+
import { deleteColumn } from "../interface/delete-column";
|
|
4
4
|
import { SHEET_PROTECTION_ERROR_TITLE, useCanEditSheet, useCanPerformSheetAction, } from "./use-can-edit-cellrange";
|
|
5
|
-
export const useOnDeleteColumn = ({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, getGraphNodes, getGraphNodesInSheet, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeTables, onChangeActiveCell, onChangeSelections, onChangeConditionalFormats, onChangeDataValidations, onChangeCitations, onChangePivotTables, getSheetName, onCommand, }) => {
|
|
5
|
+
export const useOnDeleteColumn = ({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, getGraphNodes, getGraphNodesInSheet, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeTables, onChangeActiveCell, onChangeSelections, onChangeConditionalFormats, onChangeDataValidations, onChangeCitations, onChangePivotTables, onChangeNamedRanges, onChangeEmbeds, onChangeCharts, onChangeProtectedRanges, getSheetName, onCommand, tables, getArrayRange, }) => {
|
|
6
6
|
const canEditSheet = useCanEditSheet();
|
|
7
7
|
const canPerformSheetAction = useCanPerformSheetAction();
|
|
8
8
|
const showError = useShowError();
|
|
@@ -46,7 +46,13 @@ export const useOnDeleteColumn = ({ rowCount, columnCount, locale, cellXfsRegist
|
|
|
46
46
|
onChangeDataValidations,
|
|
47
47
|
onChangeCitations,
|
|
48
48
|
onChangePivotTables,
|
|
49
|
+
onChangeNamedRanges,
|
|
50
|
+
onChangeEmbeds,
|
|
51
|
+
onChangeCharts,
|
|
52
|
+
onChangeProtectedRanges,
|
|
49
53
|
getSheetName,
|
|
54
|
+
tables,
|
|
55
|
+
getArrayRange,
|
|
50
56
|
})(sheetId, columnIndexes);
|
|
51
57
|
onCommand?.({
|
|
52
58
|
command: "delete-column",
|
|
@@ -77,10 +83,16 @@ export const useOnDeleteColumn = ({ rowCount, columnCount, locale, cellXfsRegist
|
|
|
77
83
|
onChangeDataValidations,
|
|
78
84
|
onChangeCitations,
|
|
79
85
|
onChangePivotTables,
|
|
86
|
+
onChangeNamedRanges,
|
|
87
|
+
onChangeEmbeds,
|
|
88
|
+
onChangeCharts,
|
|
89
|
+
onChangeProtectedRanges,
|
|
80
90
|
canEditSheet,
|
|
81
91
|
canPerformSheetAction,
|
|
82
92
|
showError,
|
|
83
93
|
getSheetName,
|
|
84
94
|
onCommand,
|
|
95
|
+
tables,
|
|
96
|
+
getArrayRange,
|
|
85
97
|
]);
|
|
86
98
|
};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { CellInterface, SelectionArea } from "@rowsncolumns/common-types";
|
|
2
2
|
import type { CanvasGridProps } from "@rowsncolumns/spreadsheet";
|
|
3
|
-
import { type CellData, type SelectionAttributes, type Sheet } from "@rowsncolumns/spreadsheet";
|
|
3
|
+
import { type CellData, type SelectionAttributes, type Sheet, type TableView } from "@rowsncolumns/spreadsheet";
|
|
4
|
+
import type { GetArrayRange } from "../api/structural-table-refs";
|
|
4
5
|
import type { OnCommand } from "../commands";
|
|
5
|
-
import type { CellXfsRegistry } from "./use-cellxfs-registry";
|
|
6
|
-
import type { SharedStringRegistry } from "./use-ss-registry";
|
|
7
6
|
import type { useCalculation } from "./use-calculation";
|
|
7
|
+
import type { CellXfsRegistry } from "./use-cellxfs-registry";
|
|
8
8
|
import type { UseSpreadsheetProps } from "./use-spreadsheet-state";
|
|
9
|
+
import type { SharedStringRegistry } from "./use-ss-registry";
|
|
9
10
|
import type { SpreadsheetPatch } from "./use-undo-redo";
|
|
10
11
|
export type UseOnDeleteRowProps<T extends CellData, S extends Sheet> = {
|
|
11
12
|
rowCount: number;
|
|
@@ -31,8 +32,16 @@ export type UseOnDeleteRowProps<T extends CellData, S extends Sheet> = {
|
|
|
31
32
|
onChangeConditionalFormats?: UseSpreadsheetProps<T, S>["onChangeConditionalFormats"];
|
|
32
33
|
onChangeCitations?: UseSpreadsheetProps<T, S>["onChangeCitations"];
|
|
33
34
|
onChangePivotTables?: UseSpreadsheetProps<T, S>["onChangePivotTables"];
|
|
35
|
+
onChangeNamedRanges?: UseSpreadsheetProps<T, S>["onChangeNamedRanges"];
|
|
36
|
+
onChangeEmbeds?: UseSpreadsheetProps<T, S>["onChangeEmbeds"];
|
|
37
|
+
onChangeCharts?: UseSpreadsheetProps<T, S>["onChangeCharts"];
|
|
38
|
+
onChangeProtectedRanges?: UseSpreadsheetProps<T, S>["onChangeProtectedRanges"];
|
|
34
39
|
getSheetName(sheetId: number): string;
|
|
35
40
|
onCommand?: OnCommand;
|
|
41
|
+
/** Pre-edit table definitions: structured refs into deleted tables/columns break to `#REF!`. */
|
|
42
|
+
tables?: TableView[];
|
|
43
|
+
/** Live spill rectangle of a dynamic-array anchor: a deleted anchor takes its spill with it. */
|
|
44
|
+
getArrayRange?: GetArrayRange;
|
|
36
45
|
};
|
|
37
|
-
export declare const useOnDeleteRow: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, getGraphNodes, getGraphNodesInSheet, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeTables, onChangeActiveCell, onChangeSelections, onChangeConditionalFormats, onChangeDataValidations, onChangeCitations, onChangePivotTables, getSheetName, onCommand, }: UseOnDeleteRowProps<T, S>) => (sheetId: number, rowIndexes: number[]) => void;
|
|
46
|
+
export declare const useOnDeleteRow: <T extends CellData, S extends Sheet>({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, getGraphNodes, getGraphNodesInSheet, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeTables, onChangeActiveCell, onChangeSelections, onChangeConditionalFormats, onChangeDataValidations, onChangeCitations, onChangePivotTables, onChangeNamedRanges, onChangeEmbeds, onChangeCharts, onChangeProtectedRanges, getSheetName, onCommand, tables, getArrayRange, }: UseOnDeleteRowProps<T, S>) => (sheetId: number, rowIndexes: number[]) => void;
|
|
38
47
|
//# sourceMappingURL=use-on-delete-row.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-on-delete-row.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-delete-row.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,mBAAmB,EACxB,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"use-on-delete-row.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-delete-row.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useCallback } from "react";
|
|
2
|
-
import { deleteRow } from "../interface/delete-row";
|
|
3
2
|
import { useShowError } from "../atoms/error-state.atom";
|
|
3
|
+
import { deleteRow } from "../interface/delete-row";
|
|
4
4
|
import { SHEET_PROTECTION_ERROR_TITLE, useCanEditSheet, useCanPerformSheetAction, } from "./use-can-edit-cellrange";
|
|
5
|
-
export const useOnDeleteRow = ({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, getGraphNodes, getGraphNodesInSheet, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeTables, onChangeActiveCell, onChangeSelections, onChangeConditionalFormats, onChangeDataValidations, onChangeCitations, onChangePivotTables, getSheetName, onCommand, }) => {
|
|
5
|
+
export const useOnDeleteRow = ({ rowCount, columnCount, locale, cellXfsRegistry, sharedStringRegistry, getActiveCell, getSelections, getDependents, getGraphNodes, getGraphNodesInSheet, createHistory, enqueueGraphOperation, enqueueCalculation, enqueueStructureChange, onChangeSheetData, onChangeSheets, onChangeTables, onChangeActiveCell, onChangeSelections, onChangeConditionalFormats, onChangeDataValidations, onChangeCitations, onChangePivotTables, onChangeNamedRanges, onChangeEmbeds, onChangeCharts, onChangeProtectedRanges, getSheetName, onCommand, tables, getArrayRange, }) => {
|
|
6
6
|
const canEditSheet = useCanEditSheet();
|
|
7
7
|
const canPerformSheetAction = useCanPerformSheetAction();
|
|
8
8
|
const showError = useShowError();
|
|
@@ -46,7 +46,13 @@ export const useOnDeleteRow = ({ rowCount, columnCount, locale, cellXfsRegistry,
|
|
|
46
46
|
onChangeDataValidations,
|
|
47
47
|
onChangeCitations,
|
|
48
48
|
onChangePivotTables,
|
|
49
|
+
onChangeNamedRanges,
|
|
50
|
+
onChangeEmbeds,
|
|
51
|
+
onChangeCharts,
|
|
52
|
+
onChangeProtectedRanges,
|
|
49
53
|
getSheetName,
|
|
54
|
+
tables,
|
|
55
|
+
getArrayRange,
|
|
50
56
|
})(sheetId, rowIndexes);
|
|
51
57
|
onCommand?.({
|
|
52
58
|
command: "delete-row",
|
|
@@ -77,10 +83,16 @@ export const useOnDeleteRow = ({ rowCount, columnCount, locale, cellXfsRegistry,
|
|
|
77
83
|
onChangeDataValidations,
|
|
78
84
|
onChangeCitations,
|
|
79
85
|
onChangePivotTables,
|
|
86
|
+
onChangeNamedRanges,
|
|
87
|
+
onChangeEmbeds,
|
|
88
|
+
onChangeCharts,
|
|
89
|
+
onChangeProtectedRanges,
|
|
80
90
|
canEditSheet,
|
|
81
91
|
canPerformSheetAction,
|
|
82
92
|
showError,
|
|
83
93
|
getSheetName,
|
|
84
94
|
onCommand,
|
|
95
|
+
tables,
|
|
96
|
+
getArrayRange,
|
|
85
97
|
]);
|
|
86
98
|
};
|