@rowsncolumns/spreadsheet-state 29.1.0 → 29.1.2
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 +9 -1
- package/dist/cjs/api/anchored-objects.d.ts.map +1 -1
- package/dist/cjs/api/anchored-objects.js +24 -0
- package/dist/cjs/atoms/editing-data-validation-id.atom.d.ts +15 -0
- package/dist/cjs/atoms/editing-data-validation-id.atom.d.ts.map +1 -1
- package/dist/cjs/atoms/editing-data-validation-id.atom.js +18 -0
- package/dist/cjs/components/editors/data-validation-editor.d.ts.map +1 -1
- package/dist/cjs/components/editors/data-validation-editor.js +17 -12
- package/dist/cjs/hooks/use-on-delete-sheet.d.ts +2 -1
- package/dist/cjs/hooks/use-on-delete-sheet.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-delete-sheet.js +3 -1
- package/dist/cjs/hooks/use-on-request-data-validation.d.ts +7 -0
- package/dist/cjs/hooks/use-on-request-data-validation.d.ts.map +1 -1
- package/dist/cjs/hooks/use-on-request-data-validation.js +23 -11
- package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/cjs/hooks/use-spreadsheet-state.js +1 -0
- package/dist/cjs/interface/delete-cells-shift-left.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells-shift-left.js +8 -2
- package/dist/cjs/interface/delete-cells-shift-up.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells-shift-up.js +8 -2
- package/dist/cjs/interface/delete-cells.d.ts.map +1 -1
- package/dist/cjs/interface/delete-cells.js +27 -21
- package/dist/cjs/interface/delete-column.d.ts.map +1 -1
- package/dist/cjs/interface/delete-column.js +8 -2
- package/dist/cjs/interface/delete-row.d.ts.map +1 -1
- package/dist/cjs/interface/delete-row.js +8 -2
- package/dist/cjs/interface/delete-sheet.d.ts +1 -1
- package/dist/cjs/interface/delete-sheet.d.ts.map +1 -1
- package/dist/cjs/interface/delete-sheet.js +32 -2
- package/dist/cjs/interface/insert-cells-shift-down.d.ts.map +1 -1
- package/dist/cjs/interface/insert-cells-shift-down.js +2 -1
- package/dist/cjs/interface/insert-cells-shift-right.d.ts.map +1 -1
- package/dist/cjs/interface/insert-cells-shift-right.js +2 -1
- package/dist/cjs/interface/insert-column.d.ts.map +1 -1
- package/dist/cjs/interface/insert-column.js +2 -1
- package/dist/cjs/interface/insert-row.d.ts.map +1 -1
- package/dist/cjs/interface/insert-row.js +2 -1
- package/dist/esm/api/anchored-objects.d.ts +9 -1
- package/dist/esm/api/anchored-objects.d.ts.map +1 -1
- package/dist/esm/api/anchored-objects.js +24 -0
- package/dist/esm/atoms/editing-data-validation-id.atom.d.ts +15 -0
- package/dist/esm/atoms/editing-data-validation-id.atom.d.ts.map +1 -1
- package/dist/esm/atoms/editing-data-validation-id.atom.js +12 -0
- package/dist/esm/components/editors/data-validation-editor.d.ts.map +1 -1
- package/dist/esm/components/editors/data-validation-editor.js +17 -12
- package/dist/esm/hooks/use-on-delete-sheet.d.ts +2 -1
- package/dist/esm/hooks/use-on-delete-sheet.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-delete-sheet.js +3 -1
- package/dist/esm/hooks/use-on-request-data-validation.d.ts +7 -0
- package/dist/esm/hooks/use-on-request-data-validation.d.ts.map +1 -1
- package/dist/esm/hooks/use-on-request-data-validation.js +23 -11
- package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
- package/dist/esm/hooks/use-spreadsheet-state.js +1 -0
- package/dist/esm/interface/delete-cells-shift-left.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells-shift-left.js +8 -2
- package/dist/esm/interface/delete-cells-shift-up.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells-shift-up.js +8 -2
- package/dist/esm/interface/delete-cells.d.ts.map +1 -1
- package/dist/esm/interface/delete-cells.js +22 -16
- package/dist/esm/interface/delete-column.d.ts.map +1 -1
- package/dist/esm/interface/delete-column.js +8 -2
- package/dist/esm/interface/delete-row.d.ts.map +1 -1
- package/dist/esm/interface/delete-row.js +8 -2
- package/dist/esm/interface/delete-sheet.d.ts +1 -1
- package/dist/esm/interface/delete-sheet.d.ts.map +1 -1
- package/dist/esm/interface/delete-sheet.js +20 -1
- package/dist/esm/interface/insert-cells-shift-down.d.ts.map +1 -1
- package/dist/esm/interface/insert-cells-shift-down.js +2 -1
- package/dist/esm/interface/insert-cells-shift-right.d.ts.map +1 -1
- package/dist/esm/interface/insert-cells-shift-right.js +2 -1
- package/dist/esm/interface/insert-column.d.ts.map +1 -1
- package/dist/esm/interface/insert-column.js +2 -1
- package/dist/esm/interface/insert-row.d.ts.map +1 -1
- package/dist/esm/interface/insert-row.js +2 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-sheet.d.ts","sourceRoot":"","sources":["../../../interface/delete-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAc,MAAM,2BAA2B,CAAC;AAO7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAG1E,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE
|
|
1
|
+
{"version":3,"file":"delete-sheet.d.ts","sourceRoot":"","sources":["../../../interface/delete-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAc,MAAM,2BAA2B,CAAC;AAO7E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAG1E,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,kSAgB9D,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,MACpB,SAAS,MAAM,SAuQxB,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { __read } from "tslib";
|
|
1
|
+
import { __read, __values } from "tslib";
|
|
2
2
|
import { sortSheetsByIndex } from "@rowsncolumns/utils";
|
|
3
3
|
import { produceWithPatches } from "immer";
|
|
4
4
|
import { removeChartSpecRangesOnSheet } from "../api/anchored-objects";
|
|
5
5
|
import { createSheetCellIdentifier } from "../api/formula";
|
|
6
6
|
import { NAMED_RANGE_REF_ERROR } from "../api/named-range-structural";
|
|
7
7
|
export var deleteSheet = function (_a) {
|
|
8
|
-
var sheets = _a.sheets, onChangeSheetData = _a.onChangeSheetData, onChangeActiveSheet = _a.onChangeActiveSheet, onChangeSheets = _a.onChangeSheets, onChangeCharts = _a.onChangeCharts, onChangeEmbeds = _a.onChangeEmbeds, onChangeSlicers = _a.onChangeSlicers, onChangeTables = _a.onChangeTables, onChangeConditionalFormats = _a.onChangeConditionalFormats, onChangeDataValidations = _a.onChangeDataValidations, onChangeNamedRanges = _a.onChangeNamedRanges, onChangeProtectedRanges = _a.onChangeProtectedRanges, createHistory = _a.createHistory, enqueueGraphOperation = _a.enqueueGraphOperation;
|
|
8
|
+
var sheets = _a.sheets, onChangeSheetData = _a.onChangeSheetData, onChangeActiveSheet = _a.onChangeActiveSheet, onChangeSheets = _a.onChangeSheets, onChangeCharts = _a.onChangeCharts, onChangeEmbeds = _a.onChangeEmbeds, onChangeSlicers = _a.onChangeSlicers, onChangeTables = _a.onChangeTables, onChangeConditionalFormats = _a.onChangeConditionalFormats, onChangeDataValidations = _a.onChangeDataValidations, onChangeNamedRanges = _a.onChangeNamedRanges, onChangeProtectedRanges = _a.onChangeProtectedRanges, onChangeCitations = _a.onChangeCitations, createHistory = _a.createHistory, enqueueGraphOperation = _a.enqueueGraphOperation;
|
|
9
9
|
return function (sheetId) {
|
|
10
10
|
var saveHistory = createHistory();
|
|
11
11
|
var sortedSheets = sortSheetsByIndex(sheets).filter(function (sheet) { return !sheet.hidden; });
|
|
@@ -40,6 +40,36 @@ export var deleteSheet = function (_a) {
|
|
|
40
40
|
});
|
|
41
41
|
return nextState;
|
|
42
42
|
});
|
|
43
|
+
// Retire the citations anchored on the deleted sheet. Soft-delete keeps the
|
|
44
|
+
// record for provenance / undo and hides it from the UI; the patch rides the
|
|
45
|
+
// same history entry as the sheet removal so one undo restores both.
|
|
46
|
+
onChangeCitations === null || onChangeCitations === void 0 ? void 0 : onChangeCitations(function (prevCitations) {
|
|
47
|
+
var updatedAt = new Date().toISOString();
|
|
48
|
+
var _a = __read(produceWithPatches(prevCitations, function (draft) {
|
|
49
|
+
var e_1, _a;
|
|
50
|
+
try {
|
|
51
|
+
for (var draft_1 = __values(draft), draft_1_1 = draft_1.next(); !draft_1_1.done; draft_1_1 = draft_1.next()) {
|
|
52
|
+
var citation = draft_1_1.value;
|
|
53
|
+
if (citation.active !== false && citation.range.sheetId === sheetId) {
|
|
54
|
+
citation.active = false;
|
|
55
|
+
citation.updated_at = updatedAt;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
60
|
+
finally {
|
|
61
|
+
try {
|
|
62
|
+
if (draft_1_1 && !draft_1_1.done && (_a = draft_1.return)) _a.call(draft_1);
|
|
63
|
+
}
|
|
64
|
+
finally { if (e_1) throw e_1.error; }
|
|
65
|
+
}
|
|
66
|
+
}), 3), nextState = _a[0], patches = _a[1], inversePatches = _a[2];
|
|
67
|
+
if (patches.length === 0) {
|
|
68
|
+
return prevCitations;
|
|
69
|
+
}
|
|
70
|
+
saveHistory({ citations: { patches: patches, inversePatches: inversePatches } });
|
|
71
|
+
return nextState;
|
|
72
|
+
});
|
|
43
73
|
// Add cells to recalc
|
|
44
74
|
onChangeSheetData === null || onChangeSheetData === void 0 ? void 0 : onChangeSheetData(function (prevSheetData) {
|
|
45
75
|
var _a = __read(produceWithPatches(prevSheetData, function (draft) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert-cells-shift-down.d.ts","sourceRoot":"","sources":["../../../interface/insert-cells-shift-down.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAgB5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAIzF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBvE,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,MAE9B,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"insert-cells-shift-down.d.ts","sourceRoot":"","sources":["../../../interface/insert-cells-shift-down.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAgB5E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAIzF;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBvE,yBAAyB,CAAC,CAAC,EAAE,CAAC,CAAC,MAE9B,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAyRnD,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __read, __spreadArray, __values } from "tslib";
|
|
2
2
|
import { produceWithPatches } from "immer";
|
|
3
|
-
import { shiftChartsOnCellShift } from "../api/anchored-objects";
|
|
3
|
+
import { refreshCitationAnchor, shiftChartsOnCellShift } from "../api/anchored-objects";
|
|
4
4
|
import { collectUniqueDependentsForRange, processSideEffectDependentCells, } from "../api/dependency";
|
|
5
5
|
import { createSheetCellIdentifier, expandRangesInFormula } from "../api/formula";
|
|
6
6
|
import { cloneCellWithFormatting, createSheetDraft } from "../api/immer-utils";
|
|
@@ -96,6 +96,7 @@ export var insertCellsShiftDown = function (_a) {
|
|
|
96
96
|
if (citation.range.startRowIndex >= r1) {
|
|
97
97
|
citation.range.startRowIndex += count;
|
|
98
98
|
citation.range.endRowIndex += count;
|
|
99
|
+
refreshCitationAnchor(citation);
|
|
99
100
|
}
|
|
100
101
|
}
|
|
101
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert-cells-shift-right.d.ts","sourceRoot":"","sources":["../../../interface/insert-cells-shift-right.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAiB5E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAI3F;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBxE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,MAE/B,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"insert-cells-shift-right.d.ts","sourceRoot":"","sources":["../../../interface/insert-cells-shift-right.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAiB5E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAI3F;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBxE,0BAA0B,CAAC,CAAC,EAAE,CAAC,CAAC,MAE/B,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,SA0RnD,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __read, __spreadArray, __values } from "tslib";
|
|
2
2
|
import { createArrayRange } from "@rowsncolumns/utils";
|
|
3
3
|
import { produceWithPatches } from "immer";
|
|
4
|
-
import { shiftChartsOnCellShift } from "../api/anchored-objects";
|
|
4
|
+
import { refreshCitationAnchor, shiftChartsOnCellShift } from "../api/anchored-objects";
|
|
5
5
|
import { collectUniqueDependentsForRange, processSideEffectDependentCells, } from "../api/dependency";
|
|
6
6
|
import { createSheetCellIdentifier, expandRangesInFormula } from "../api/formula";
|
|
7
7
|
import { cloneCellWithFormatting, createSheetDraft } from "../api/immer-utils";
|
|
@@ -97,6 +97,7 @@ export var insertCellsShiftRight = function (_a) {
|
|
|
97
97
|
if (citation.range.startColumnIndex >= c1) {
|
|
98
98
|
citation.range.startColumnIndex += count;
|
|
99
99
|
citation.range.endColumnIndex += count;
|
|
100
|
+
refreshCitationAnchor(citation);
|
|
100
101
|
}
|
|
101
102
|
}
|
|
102
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert-column.d.ts","sourceRoot":"","sources":["../../../interface/insert-column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"insert-column.d.ts","sourceRoot":"","sources":["../../../interface/insert-column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAqC5E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,ohBA+B/D,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,MACrB,SAAS,MAAM,EAAE,sBAAsB,MAAM,EAAE,mBAAc,SAqbtE,CAAC;AAMF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,qRAkBpE,IAAI,CACL,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,EACnB,QAAQ,GACR,aAAa,GACb,UAAU,GACV,QAAQ,GACR,iBAAiB,GACjB,sBAAsB,GACtB,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,mBAAmB,GACnB,gBAAgB,GAChB,oBAAoB,GACpB,wBAAwB,GACxB,uBAAuB,GACvB,eAAe,GACf,cAAc,GACd,gBAAgB,CACnB,MAEG,WAAW,SAAS,EACpB,gBAAgB,MAAM,EACtB,WAAW,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,EAC3C,cAAS,SAwXZ,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { __assign, __read, __spreadArray, __values } from "tslib";
|
|
|
2
2
|
import { Direction } from "@rowsncolumns/common-types";
|
|
3
3
|
import { isNil } from "@rowsncolumns/utils";
|
|
4
4
|
import { produceWithPatches } from "immer";
|
|
5
|
-
import { shiftChartsOnStructuralChange, shiftChartsOnTableEdit, shiftEmbedsOnStructuralChange, shiftSlicersOnStructuralChange, shiftProtectedRangesOnStructuralChange, tableBinding, } from "../api/anchored-objects";
|
|
5
|
+
import { shiftChartsOnStructuralChange, shiftChartsOnTableEdit, shiftEmbedsOnStructuralChange, shiftSlicersOnStructuralChange, shiftProtectedRangesOnStructuralChange, refreshCitationAnchor, tableBinding, } from "../api/anchored-objects";
|
|
6
6
|
import { collectUniqueDependentsForRange, moveFormulaAtPosition, } from "../api/dependency";
|
|
7
7
|
import { createSheetCellIdentifier, expandRangesInFormula, } from "../api/formula";
|
|
8
8
|
import { cloneCellWithFormatting, createSheetDraft, inheritedDimensionMetadata, } from "../api/immer-utils";
|
|
@@ -148,6 +148,7 @@ export var insertColumn = function (_a) {
|
|
|
148
148
|
if (referenceColumnIndex <= citation.range.startColumnIndex) {
|
|
149
149
|
citation.range.startColumnIndex += numColumns;
|
|
150
150
|
citation.range.endColumnIndex += numColumns;
|
|
151
|
+
refreshCitationAnchor(citation);
|
|
151
152
|
}
|
|
152
153
|
}
|
|
153
154
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insert-row.d.ts","sourceRoot":"","sources":["../../../interface/insert-row.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"insert-row.d.ts","sourceRoot":"","sources":["../../../interface/insert-row.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAwBjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,yfA6B5D,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,MAClB,SAAS,MAAM,EAAE,mBAAmB,MAAM,EAAE,gBAAW,SA6UhE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __assign, __read, __spreadArray, __values } from "tslib";
|
|
2
2
|
import { Direction } from "@rowsncolumns/common-types";
|
|
3
3
|
import { produceWithPatches } from "immer";
|
|
4
|
-
import { shiftChartsOnStructuralChange, shiftEmbedsOnStructuralChange, shiftSlicersOnStructuralChange, shiftProtectedRangesOnStructuralChange, } from "../api/anchored-objects";
|
|
4
|
+
import { shiftChartsOnStructuralChange, shiftEmbedsOnStructuralChange, shiftSlicersOnStructuralChange, shiftProtectedRangesOnStructuralChange, refreshCitationAnchor, } from "../api/anchored-objects";
|
|
5
5
|
import { cloneRowWithFormatting, createSheetDraft, inheritedDimensionMetadata, } from "../api/immer-utils";
|
|
6
6
|
import { expandMergesOnRowInsert } from "../api/merges";
|
|
7
7
|
import { updateNamedRangesOnStructuralChange, updatePrintSettingsOnStructuralChange, } from "../api/named-range-structural";
|
|
@@ -104,6 +104,7 @@ export var insertRow = function (_a) {
|
|
|
104
104
|
if (referenceRowIndex <= citation.range.startRowIndex) {
|
|
105
105
|
citation.range.startRowIndex += numRows;
|
|
106
106
|
citation.range.endRowIndex += numRows;
|
|
107
|
+
refreshCitationAnchor(citation);
|
|
107
108
|
}
|
|
108
109
|
}
|
|
109
110
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CellInterface, GridRange } from "@rowsncolumns/common-types";
|
|
1
|
+
import type { CellInterface, Citation, GridRange } from "@rowsncolumns/common-types";
|
|
2
2
|
import type { EmbeddedChart, EmbeddedObject, OverlayPosition, OverlayToAnchor, ProtectedRange, Slicer, TableView } from "@rowsncolumns/spreadsheet";
|
|
3
3
|
import type { Draft } from "immer";
|
|
4
4
|
import type { RangeBandSpan } from "./formula";
|
|
@@ -179,4 +179,12 @@ export declare const growTableBoundChartSpecRanges: (spec: unknown, sheetId: num
|
|
|
179
179
|
export declare const shiftChartsOnTableEdit: (draft: Draft<EmbeddedChart>[], sheetId: number, binding: TableBinding, axis: StructuralAxis, op: StructuralOp, index: number, count: number) => void;
|
|
180
180
|
/** Every chart's table-bound ranges grow / shrink with a resized or auto-expanded table (see `growTableBoundChartSpecRanges`). */
|
|
181
181
|
export declare const growChartsWithTable: (draft: Draft<EmbeddedChart>[], sheetId: number, binding: TableBinding, rowDelta: number, columnDelta: number) => void;
|
|
182
|
+
/**
|
|
183
|
+
* Re-derive a citation's denormalized `destinationAnchor` from its `range`
|
|
184
|
+
* after a structural row / column / cell shift, so the anchor and the range
|
|
185
|
+
* travel together in the same history entry. A single cell becomes a
|
|
186
|
+
* `sheet_cell` anchor, anything larger a `sheet_range`; a citation without an
|
|
187
|
+
* anchor, or with an anchor of another type, is left alone.
|
|
188
|
+
*/
|
|
189
|
+
export declare const refreshCitationAnchor: (citation: Citation) => void;
|
|
182
190
|
//# sourceMappingURL=anchored-objects.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchored-objects.d.ts","sourceRoot":"","sources":["../../../api/anchored-objects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EAEV,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,EACd,MAAM,EACN,SAAS,EACV,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"anchored-objects.d.ts","sourceRoot":"","sources":["../../../api/anchored-objects.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { cellToAddress } from "@rowsncolumns/utils";
|
|
1
2
|
/**
|
|
2
3
|
* Shift the `[start, end]` span of a range along the edited axis. Returns the
|
|
3
4
|
* new span, or `null` when a delete consumes it entirely.
|
|
@@ -570,3 +571,26 @@ export const growChartsWithTable = (draft, sheetId, binding, rowDelta, columnDel
|
|
|
570
571
|
growTableBoundChartSpecRanges(chart.spec, sheetId, binding, rowDelta, columnDelta);
|
|
571
572
|
}
|
|
572
573
|
};
|
|
574
|
+
/**
|
|
575
|
+
* Re-derive a citation's denormalized `destinationAnchor` from its `range`
|
|
576
|
+
* after a structural row / column / cell shift, so the anchor and the range
|
|
577
|
+
* travel together in the same history entry. A single cell becomes a
|
|
578
|
+
* `sheet_cell` anchor, anything larger a `sheet_range`; a citation without an
|
|
579
|
+
* anchor, or with an anchor of another type, is left alone.
|
|
580
|
+
*/
|
|
581
|
+
export const refreshCitationAnchor = (citation) => {
|
|
582
|
+
const anchor = citation.destinationAnchor;
|
|
583
|
+
if (!anchor || (anchor.type !== "sheet_cell" && anchor.type !== "sheet_range")) {
|
|
584
|
+
return;
|
|
585
|
+
}
|
|
586
|
+
const { sheetId, startRowIndex, endRowIndex, startColumnIndex, endColumnIndex } = citation.range;
|
|
587
|
+
const start = cellToAddress({ rowIndex: startRowIndex, columnIndex: startColumnIndex });
|
|
588
|
+
const end = cellToAddress({ rowIndex: endRowIndex, columnIndex: endColumnIndex });
|
|
589
|
+
if (!start || !end)
|
|
590
|
+
return;
|
|
591
|
+
if (startRowIndex === endRowIndex && startColumnIndex === endColumnIndex) {
|
|
592
|
+
citation.destinationAnchor = { type: "sheet_cell", sheetId, cell: start };
|
|
593
|
+
return;
|
|
594
|
+
}
|
|
595
|
+
citation.destinationAnchor = { type: "sheet_range", sheetId, range: `${start}:${end}` };
|
|
596
|
+
};
|
|
@@ -1,7 +1,22 @@
|
|
|
1
|
+
import type { DataValidationRuleRecord } from "@rowsncolumns/spreadsheet";
|
|
1
2
|
export declare const editingDataValidationId: import("jotai").PrimitiveAtom<string | number | undefined> & {
|
|
2
3
|
init: string | number | undefined;
|
|
3
4
|
};
|
|
4
5
|
export declare const useEditingDataValidationIdValue: () => string | number | undefined;
|
|
5
6
|
export declare const useSetEditingDataValidationId: () => (args_0: string | number | ((prev: string | number | undefined) => string | number | undefined) | undefined) => void;
|
|
6
7
|
export declare const useEditingDataValidationIdState: () => [string | number | undefined, (args_0: string | number | ((prev: string | number | undefined) => string | number | undefined) | undefined) => void];
|
|
8
|
+
/**
|
|
9
|
+
* A data-validation rule the editor is composing that does NOT exist in the
|
|
10
|
+
* document yet — Excel's Data Validation dialog is transactional (nothing is
|
|
11
|
+
* written until OK). Insert → Dropdown / the ribbon's Data Validation button
|
|
12
|
+
* seed this atom instead of creating the rule; the `DataValidationEditor`
|
|
13
|
+
* resolves the editing id against it when no persisted rule matches, creates
|
|
14
|
+
* it on Save and discards it on Cancel / close.
|
|
15
|
+
*/
|
|
16
|
+
export declare const draftDataValidationRule: import("jotai").PrimitiveAtom<DataValidationRuleRecord | undefined> & {
|
|
17
|
+
init: DataValidationRuleRecord | undefined;
|
|
18
|
+
};
|
|
19
|
+
export declare const useDraftDataValidationRuleValue: () => DataValidationRuleRecord | undefined;
|
|
20
|
+
export declare const useSetDraftDataValidationRule: () => (args_0: DataValidationRuleRecord | ((prev: DataValidationRuleRecord | undefined) => DataValidationRuleRecord | undefined) | undefined) => void;
|
|
21
|
+
export declare const useDraftDataValidationRuleState: () => [DataValidationRuleRecord | undefined, (args_0: DataValidationRuleRecord | ((prev: DataValidationRuleRecord | undefined) => DataValidationRuleRecord | undefined) | undefined) => void];
|
|
7
22
|
//# sourceMappingURL=editing-data-validation-id.atom.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editing-data-validation-id.atom.d.ts","sourceRoot":"","sources":["../../../atoms/editing-data-validation-id.atom.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"editing-data-validation-id.atom.d.ts","sourceRoot":"","sources":["../../../atoms/editing-data-validation-id.atom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAI1E,eAAO,MAAM,uBAAuB;;CAExB,CAAC;AAEb,eAAO,MAAM,+BAA+B,mCACL,CAAC;AAExC,eAAO,MAAM,6BAA6B,4HACL,CAAC;AAEtC,eAAO,MAAM,+BAA+B,2JACV,CAAC;AAEnC;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;CAExB,CAAC;AAEb,eAAO,MAAM,+BAA+B,4CACL,CAAC;AAExC,eAAO,MAAM,6BAA6B,uJACL,CAAC;AAEtC,eAAO,MAAM,+BAA+B,+LACV,CAAC"}
|
|
@@ -4,3 +4,15 @@ export const editingDataValidationId = atom(undefined);
|
|
|
4
4
|
export const useEditingDataValidationIdValue = () => useAtomValue(editingDataValidationId);
|
|
5
5
|
export const useSetEditingDataValidationId = () => useSetAtom(editingDataValidationId);
|
|
6
6
|
export const useEditingDataValidationIdState = () => useAtom(editingDataValidationId);
|
|
7
|
+
/**
|
|
8
|
+
* A data-validation rule the editor is composing that does NOT exist in the
|
|
9
|
+
* document yet — Excel's Data Validation dialog is transactional (nothing is
|
|
10
|
+
* written until OK). Insert → Dropdown / the ribbon's Data Validation button
|
|
11
|
+
* seed this atom instead of creating the rule; the `DataValidationEditor`
|
|
12
|
+
* resolves the editing id against it when no persisted rule matches, creates
|
|
13
|
+
* it on Save and discards it on Cancel / close.
|
|
14
|
+
*/
|
|
15
|
+
export const draftDataValidationRule = atom(undefined);
|
|
16
|
+
export const useDraftDataValidationRuleValue = () => useAtomValue(draftDataValidationRule);
|
|
17
|
+
export const useSetDraftDataValidationRule = () => useSetAtom(draftDataValidationRule);
|
|
18
|
+
export const useDraftDataValidationRuleState = () => useAtom(draftDataValidationRule);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-validation-editor.d.ts","sourceRoot":"","sources":["../../../../components/editors/data-validation-editor.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAoBnC,OAAO,
|
|
1
|
+
{"version":3,"file":"data-validation-editor.d.ts","sourceRoot":"","sources":["../../../../components/editors/data-validation-editor.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,eAAe,EACf,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAoBnC,OAAO,KAAkD,MAAM,OAAO,CAAC;AAOvE,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mCAAmC,CAAC;AAQ3C,KAAK,yBAAyB,GAAG;IAC/B,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;IAC/D,aAAa,EAAE,UAAU,CACvB,OAAO,mBAAmB,CAC3B,CAAC,6BAA6B,CAAC,CAAC;IACjC,YAAY,EAAE,UAAU,CACtB,OAAO,mBAAmB,CAC3B,CAAC,4BAA4B,CAAC,CAAC;IAChC,YAAY,EAAE,UAAU,CACtB,OAAO,mBAAmB,CAC3B,CAAC,4BAA4B,CAAC,CAAC;IAChC,YAAY,EAAE,UAAU,CACtB,OAAO,mBAAmB,CAC3B,CAAC,4BAA4B,CAAC,CAAC;IAChC;;OAEG;IACH,kBAAkB,CAAC,EAAE,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;CAChE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,kIASlC,yBAAyB,sBAoP3B,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,eAExC;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,sBAyBA,CAAC"}
|
|
@@ -2,9 +2,9 @@ import { CopyIcon, Cross2Icon, Pencil2Icon, PlusIcon, TrashIcon, } from "@rowsnc
|
|
|
2
2
|
import { CONDITION_LABELS, getUserSelections, useFocusSheet, useFormulaRangeHelpers, useSpreadsheetApi, } from "@rowsncolumns/spreadsheet";
|
|
3
3
|
import { Button, Dialog, DialogBody, DialogCloseButton, DialogContent, DialogTitle, IconButton, Separator, Stack, } from "@rowsncolumns/ui";
|
|
4
4
|
import { uuid } from "@rowsncolumns/utils";
|
|
5
|
-
import React, { useCallback, useEffect, useMemo, useRef
|
|
5
|
+
import React, { useCallback, useEffect, useMemo, useRef } from "react";
|
|
6
6
|
import { useDataValidationDialogState } from "../../atoms/dialog-state.atom";
|
|
7
|
-
import { useEditingDataValidationIdState } from "../../atoms/editing-data-validation-id.atom";
|
|
7
|
+
import { useDraftDataValidationRuleState, useEditingDataValidationIdState, } from "../../atoms/editing-data-validation-id.atom";
|
|
8
8
|
import { DataValidationRuleEditor } from "./data-validation-rule-editor";
|
|
9
9
|
import { SheetFilterEmptyState, SheetFilterSelect, useSheetFilter, } from "./sheet-filter";
|
|
10
10
|
/**
|
|
@@ -14,10 +14,12 @@ import { SheetFilterEmptyState, SheetFilterSelect, useSheetFilter, } from "./she
|
|
|
14
14
|
*/
|
|
15
15
|
export const DataValidationEditor = ({ sheetId, dataValidations, functionDescriptions, idCreationStrategy, onDeleteRules, onDeleteRule, onCreateRule, onUpdateRule, }) => {
|
|
16
16
|
const [editingId, setEditingId] = useEditingDataValidationIdState();
|
|
17
|
-
// Deferred create: "Add rule"
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
|
|
17
|
+
// Deferred create: "Add rule" and the seeded openers (Insert → Dropdown, the ribbon's
|
|
18
|
+
// Data Validation button via `useOnRequestDataValidation`) hold the new rule as a draft
|
|
19
|
+
// and only persist it on Save — Excel's dialog is transactional (no rule exists until
|
|
20
|
+
// OK), and an eagerly-created stub would survive Cancel/close as a real rule (a blank
|
|
21
|
+
// conditionless one, or a placeholder list that rejects every existing cell value).
|
|
22
|
+
const [draftRule, setDraftRule] = useDraftDataValidationRuleState();
|
|
21
23
|
const api = useSpreadsheetApi();
|
|
22
24
|
const { rangeToFormula } = useFormulaRangeHelpers({
|
|
23
25
|
sheetId,
|
|
@@ -73,19 +75,22 @@ export const DataValidationEditor = ({ sheetId, dataValidations, functionDescrip
|
|
|
73
75
|
const activeRule = useMemo(() => draftRule && draftRule.id === editingId
|
|
74
76
|
? draftRule
|
|
75
77
|
: dataValidations?.find((rule) => rule.id === editingId), [dataValidations, editingId, draftRule]);
|
|
76
|
-
// The editing id
|
|
77
|
-
// closes while a draft is being edited, clear
|
|
78
|
-
// the dialog
|
|
78
|
+
// The editing id and the draft live in shared atoms that outlive this editor. If the
|
|
79
|
+
// dialog closes while a draft is being edited, clear both on unmount — otherwise
|
|
80
|
+
// reopening the dialog resumes the abandoned draft instead of showing the rule list.
|
|
79
81
|
const unmountCleanupRef = useRef({ editingId: undefined, draftId: undefined });
|
|
80
82
|
useEffect(() => {
|
|
81
83
|
unmountCleanupRef.current = { editingId, draftId: draftRule?.id };
|
|
82
84
|
}, [editingId, draftRule]);
|
|
83
85
|
useEffect(() => () => {
|
|
84
86
|
const { editingId, draftId } = unmountCleanupRef.current;
|
|
85
|
-
if (draftId !== undefined
|
|
86
|
-
|
|
87
|
+
if (draftId !== undefined) {
|
|
88
|
+
setDraftRule(undefined);
|
|
89
|
+
if (editingId === draftId) {
|
|
90
|
+
setEditingId(undefined);
|
|
91
|
+
}
|
|
87
92
|
}
|
|
88
|
-
}, [setEditingId]);
|
|
93
|
+
}, [setEditingId, setDraftRule]);
|
|
89
94
|
const unMark = () => {
|
|
90
95
|
api?.unmark();
|
|
91
96
|
};
|
|
@@ -15,10 +15,11 @@ export type UseOnDeleteSheetProps<T extends CellData, S extends Sheet> = {
|
|
|
15
15
|
onChangeDataValidations?: UseSpreadsheetProps<T, S>["onChangeDataValidations"];
|
|
16
16
|
onChangeNamedRanges?: UseSpreadsheetProps<T, S>["onChangeNamedRanges"];
|
|
17
17
|
onChangeProtectedRanges?: UseSpreadsheetProps<T, S>["onChangeProtectedRanges"];
|
|
18
|
+
onChangeCitations?: UseSpreadsheetProps<T, S>["onChangeCitations"];
|
|
18
19
|
enqueueGraphOperation(operation: CalculationOperation): void;
|
|
19
20
|
onChangeActiveSheet: (sheetId: number) => void;
|
|
20
21
|
createHistory: () => (patches: SpreadsheetPatch) => void;
|
|
21
22
|
onCommand?: OnCommand;
|
|
22
23
|
};
|
|
23
|
-
export declare const useOnDeleteSheet: <T extends CellData, S extends Sheet>({ sheets, onChangeSheetData, onChangeActiveSheet, onChangeSheets, onChangeCharts, onChangeEmbeds, onChangeSlicers, onChangeTables, onChangeConditionalFormats, onChangeDataValidations, onChangeNamedRanges, onChangeProtectedRanges, createHistory, enqueueGraphOperation, onCommand, }: UseOnDeleteSheetProps<T, S>) => (sheetId: number) => void;
|
|
24
|
+
export declare const useOnDeleteSheet: <T extends CellData, S extends Sheet>({ sheets, onChangeSheetData, onChangeActiveSheet, onChangeSheets, onChangeCharts, onChangeEmbeds, onChangeSlicers, onChangeTables, onChangeConditionalFormats, onChangeDataValidations, onChangeNamedRanges, onChangeProtectedRanges, onChangeCitations, createHistory, enqueueGraphOperation, onCommand, }: UseOnDeleteSheetProps<T, S>) => (sheetId: number) => void;
|
|
24
25
|
//# sourceMappingURL=use-on-delete-sheet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-on-delete-sheet.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-delete-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAGtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IACvE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,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,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,eAAe,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/D,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,0BAA0B,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACrF,uBAAuB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC/E,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACvE,uBAAuB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC/E,qBAAqB,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7D,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"use-on-delete-sheet.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-delete-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAGtE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,IAAI;IACvE,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,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,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,eAAe,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC/D,cAAc,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC7D,0BAA0B,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACrF,uBAAuB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC/E,mBAAmB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACvE,uBAAuB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC/E,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnE,qBAAqB,CAAC,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7D,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACzD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,6SAiBnE,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,eAIhB,MAAM,SAuDnB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useCallback } from "react";
|
|
2
2
|
import { deleteSheet } from "../interface/delete-sheet";
|
|
3
3
|
import { useCanEditSheet, useCanEditWorkbook } from "./use-can-edit-cellrange";
|
|
4
|
-
export const useOnDeleteSheet = ({ sheets, onChangeSheetData, onChangeActiveSheet, onChangeSheets, onChangeCharts, onChangeEmbeds, onChangeSlicers, onChangeTables, onChangeConditionalFormats, onChangeDataValidations, onChangeNamedRanges, onChangeProtectedRanges, createHistory, enqueueGraphOperation, onCommand, }) => {
|
|
4
|
+
export const useOnDeleteSheet = ({ sheets, onChangeSheetData, onChangeActiveSheet, onChangeSheets, onChangeCharts, onChangeEmbeds, onChangeSlicers, onChangeTables, onChangeConditionalFormats, onChangeDataValidations, onChangeNamedRanges, onChangeProtectedRanges, onChangeCitations, createHistory, enqueueGraphOperation, onCommand, }) => {
|
|
5
5
|
const canEditSheet = useCanEditSheet();
|
|
6
6
|
const canEditWorkbook = useCanEditWorkbook();
|
|
7
7
|
return useCallback((sheetId) => {
|
|
@@ -26,6 +26,7 @@ export const useOnDeleteSheet = ({ sheets, onChangeSheetData, onChangeActiveShee
|
|
|
26
26
|
onChangeDataValidations,
|
|
27
27
|
onChangeNamedRanges,
|
|
28
28
|
onChangeProtectedRanges,
|
|
29
|
+
onChangeCitations,
|
|
29
30
|
createHistory,
|
|
30
31
|
enqueueGraphOperation,
|
|
31
32
|
})(sheetId);
|
|
@@ -42,6 +43,7 @@ export const useOnDeleteSheet = ({ sheets, onChangeSheetData, onChangeActiveShee
|
|
|
42
43
|
onChangeDataValidations,
|
|
43
44
|
onChangeNamedRanges,
|
|
44
45
|
onChangeProtectedRanges,
|
|
46
|
+
onChangeCitations,
|
|
45
47
|
enqueueGraphOperation,
|
|
46
48
|
onChangeActiveSheet,
|
|
47
49
|
createHistory,
|
|
@@ -2,6 +2,13 @@ import type { useDataValidationRules } from "./use-data-validation-rules";
|
|
|
2
2
|
type UseOnRequestDataValidationProps = {
|
|
3
3
|
onCreateDataValidationRule?: ReturnType<typeof useDataValidationRules>["onCreateDataValidationRule"];
|
|
4
4
|
};
|
|
5
|
+
/**
|
|
6
|
+
* Opens the Data Validation dialog. A seeded rule is NOT written to the document
|
|
7
|
+
* while the dialog is showing it: Excel's dialog is transactional (nothing exists
|
|
8
|
+
* until OK), so the rule is handed to the editor as a draft that Save creates and
|
|
9
|
+
* Cancel / close discards. Only a seeded rule with the edit UI suppressed
|
|
10
|
+
* (Insert → Checkbox) is created immediately — there is no dialog to confirm it.
|
|
11
|
+
*/
|
|
5
12
|
export declare const useOnRequestDataValidation: ({ onCreateDataValidationRule, }: UseOnRequestDataValidationProps) => (sheetId: number, activeCell: import("@rowsncolumns/grid").CellInterface, selections: import("@rowsncolumns/grid").SelectionArea<import("@rowsncolumns/spreadsheet").SelectionAttributes>[], initialDataValidationRule?: import("@rowsncolumns/common-types").DataValidationRuleRecord, showEditUI?: boolean) => void;
|
|
6
13
|
export {};
|
|
7
14
|
//# sourceMappingURL=use-on-request-data-validation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-on-request-data-validation.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-request-data-validation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-on-request-data-validation.d.ts","sourceRoot":"","sources":["../../../hooks/use-on-request-data-validation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,KAAK,+BAA+B,GAAG;IACrC,0BAA0B,CAAC,EAAE,UAAU,CACrC,OAAO,sBAAsB,CAC9B,CAAC,4BAA4B,CAAC,CAAC;CACjC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GAAI,iCAExC,+BAA+B,0TAgCjC,CAAC"}
|
|
@@ -1,21 +1,33 @@
|
|
|
1
1
|
import { useCallback } from "react";
|
|
2
2
|
import { useSetDataValidationDialogAState } from "../atoms/dialog-state.atom";
|
|
3
|
-
import { useSetEditingDataValidationId } from "../atoms/editing-data-validation-id.atom";
|
|
3
|
+
import { useSetDraftDataValidationRule, useSetEditingDataValidationId, } from "../atoms/editing-data-validation-id.atom";
|
|
4
|
+
/**
|
|
5
|
+
* Opens the Data Validation dialog. A seeded rule is NOT written to the document
|
|
6
|
+
* while the dialog is showing it: Excel's dialog is transactional (nothing exists
|
|
7
|
+
* until OK), so the rule is handed to the editor as a draft that Save creates and
|
|
8
|
+
* Cancel / close discards. Only a seeded rule with the edit UI suppressed
|
|
9
|
+
* (Insert → Checkbox) is created immediately — there is no dialog to confirm it.
|
|
10
|
+
*/
|
|
4
11
|
export const useOnRequestDataValidation = ({ onCreateDataValidationRule, }) => {
|
|
5
12
|
const onOpenChange = useSetDataValidationDialogAState();
|
|
6
13
|
const setEditingDataValidationId = useSetEditingDataValidationId();
|
|
14
|
+
const setDraftDataValidationRule = useSetDraftDataValidationRule();
|
|
7
15
|
return useCallback((sheetId, activeCell, selections, initialDataValidationRule, showEditUI = true) => {
|
|
8
|
-
if (
|
|
9
|
-
// Create a new rule
|
|
10
|
-
onCreateDataValidationRule?.(initialDataValidationRule);
|
|
11
|
-
}
|
|
12
|
-
if (showEditUI) {
|
|
13
|
-
// Open dialog
|
|
14
|
-
onOpenChange(true);
|
|
16
|
+
if (!showEditUI) {
|
|
15
17
|
if (initialDataValidationRule) {
|
|
16
|
-
|
|
17
|
-
setEditingDataValidationId(initialDataValidationRule.id);
|
|
18
|
+
onCreateDataValidationRule?.(initialDataValidationRule);
|
|
18
19
|
}
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (initialDataValidationRule) {
|
|
23
|
+
setDraftDataValidationRule(initialDataValidationRule);
|
|
24
|
+
setEditingDataValidationId(initialDataValidationRule.id);
|
|
19
25
|
}
|
|
20
|
-
|
|
26
|
+
onOpenChange(true);
|
|
27
|
+
}, [
|
|
28
|
+
onOpenChange,
|
|
29
|
+
setEditingDataValidationId,
|
|
30
|
+
setDraftDataValidationRule,
|
|
31
|
+
onCreateDataValidationRule,
|
|
32
|
+
]);
|
|
21
33
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-spreadsheet-state.d.ts","sourceRoot":"","sources":["../../../hooks/use-spreadsheet-state.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"use-spreadsheet-state.d.ts","sourceRoot":"","sources":["../../../hooks/use-spreadsheet-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAS,EACT,2BAA2B,EAC3B,cAAc,EACd,aAAa,EACd,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,QAAQ,EACR,SAAS,EACT,qBAAqB,EACrB,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,UAAU,EACV,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,KAAK,EACL,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AAkBnC,OAAO,EAEL,KAAK,kBAAkB,EAMxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAInC,OAAO,EAAE,iBAAiB,IAAI,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAK5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAmI7D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AASrE,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI,MAAM,CAC3D,MAAM,GAAG,MAAM,EACf,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAC1D,CAAC;AACF,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,QAAQ,GAAG,IAAI,GAAG,SAAS,IAAI;IAC3D,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;CACd,CAAC;AAGF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,QAAQ,GAAG,IAAI,GAAG,SAAS,IAAI;IACpE,MAAM,EAAE,CAAC,EAAE,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,KAAK,GAAG,KAAK,IACrB;IACF;;OAEG;IACH,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ;;OAEG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;;;OAIG;IACH,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC;IAC5C;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC;;OAEG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACrD;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IACxE;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACvE;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACnE;;OAEG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACzE;;OAEG;IACH,0BAA0B,CAAC,EAAE,KAAK,CAAC,QAAQ,CACzC,KAAK,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,CAC9C,CAAC;IACF;;OAEG;IACH,uBAAuB,CAAC,EAAE,KAAK,CAAC,QAAQ,CACtC,KAAK,CAAC,cAAc,CAAC,wBAAwB,EAAE,CAAC,CACjD,CAAC;IACF;;OAEG;IACH,uBAAuB,CAAC,EAAE,KAAK,CAAC,QAAQ,CACtC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CACvC,CAAC;IACF;;OAEG;IACH,oBAAoB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC3E;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACvE;;OAEG;IACH;;;OAGG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,yBAAyB,CAAC,EAAE,KAAK,CAAC,QAAQ,CACxC,KAAK,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC,CACzC,CAAC;IACF,uBAAuB,CAAC,EAAE,KAAK,CAAC,QAAQ,CACtC,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CACvC,CAAC;IACF;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,QAAQ,CAC9B,KAAK,CAAC,cAAc,CAAC,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,CACjD,CAAC;IACF;;OAEG;IACH,qBAAqB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IAC5E;;OAEG;IACH,mBAAmB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACzE;;OAEG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjE;;OAEG;IACH,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACrE;;OAEG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC;;OAEG;IACH,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC7C;;OAEG;IACH,eAAe,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC7C;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB;;OAEG;IACH,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B;;OAEG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC1C;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;OAEG;IACH,uBAAuB,CAAC,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,CAAC;IACzE;;;;OAIG;IACH,eAAe,CAAC,CACd,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,EAAE,GACrE,IAAI,CAAC;IACR;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,wBAAwB,CAAC;IACpD;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACjC;;;;;;OAMG;IACH,2BAA2B,CAAC,CAC1B,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC,EACpE,QAAQ,CAAC,EAAE,MAAM,OAAO,eAAe,GACtC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAEzC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CACnB,CAAC,SACG,OAAO,GACP,OAAO,GACP,oBAAoB,GACpB,iBAAiB,GACjB,OAAO,GACP,aAAa,GACb,OAAO,GACP,aAAa,GACb,iBAAiB,GACjB,OAAO,EAEX,IAAI,EAAE,CAAC,KACJ,CAAC,SAAS,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IAClD;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACxE;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,MAAM,CAAC;IACvC;;;OAGG;IACH,eAAe,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACtC;;OAEG;IACH,oBAAoB,CAAC,EAAE,2BAA2B,CAAC;IACnD;;;OAGG;IACH,6BAA6B,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;;OAEG;IACH,gBAAgB,CAAC,EAAE,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,KAC/D,IAAI,CAAC;IACV;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC;;;OAGG;IACH,SAAS,CAAC,EAAE,CACV,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,KACE,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CACT,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,KACE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5B;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC,CAAC;AAOF;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,SAAS,KACf,gBAAgB,GAAG,SAkDrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAC5B,OAAO,SAAS,EAChB,SAAS,iBAAiB,KACzB,SAID,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,KAAK,GAAG,KAAK,EACvB,+0CAoJC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;mCAmKd,iBAAiB,GAAG,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCA2yBvB,MAAM,cACH,aAAa,CAAC,mBAAmB,CAAC,EAAE,sBAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAgdlB,MAAM,QACT,aAAa,CAAC,mBAAmB,CAAC,MACpC,aAAa,CAAC,mBAAmB,CAAC;;;;;;;;wCA0MjC,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAv+BjB,MAAM,sBAAsB,MAAM;;;;;;;;;;;;;;;;;;CAi5D/C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-cells-shift-left.d.ts","sourceRoot":"","sources":["../../../interface/delete-cells-shift-left.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;AAiBnC,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAI9F;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBvE,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,MAEnC,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"delete-cells-shift-left.d.ts","sourceRoot":"","sources":["../../../interface/delete-cells-shift-left.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;AAiBnC,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAI9F;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBvE,8BAA8B,CAAC,CAAC,EAAE,CAAC,CAAC,MAEnC,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,SA+SnD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { produceWithPatches } from "immer";
|
|
2
|
-
import { shiftChartsOnCellShift } from "../api/anchored-objects";
|
|
2
|
+
import { refreshCitationAnchor, shiftChartsOnCellShift } from "../api/anchored-objects";
|
|
3
3
|
import { collectUniqueDependentsForRange, moveFormulaAtPosition, } from "../api/dependency";
|
|
4
4
|
import { contractRangesInFormula } from "../api/formula";
|
|
5
5
|
import { createSheetDraft } from "../api/immer-utils";
|
|
@@ -68,6 +68,7 @@ export const deleteCellsShiftLeft = ({ rowCount, columnCount, locale, cellXfsReg
|
|
|
68
68
|
});
|
|
69
69
|
// Update citations - delete if overlapping, shift back if after
|
|
70
70
|
onChangeCitations?.((prevCitations) => {
|
|
71
|
+
const updatedAt = new Date().toISOString();
|
|
71
72
|
const [nextState, patches, inversePatches] = produceWithPatches(prevCitations, (draft) => {
|
|
72
73
|
for (let idx = draft.length - 1; idx >= 0; idx--) {
|
|
73
74
|
const citation = draft[idx];
|
|
@@ -79,11 +80,16 @@ export const deleteCellsShiftLeft = ({ rowCount, columnCount, locale, cellXfsReg
|
|
|
79
80
|
const colsOverlap = !(citation.range.endColumnIndex < c1 ||
|
|
80
81
|
citation.range.startColumnIndex > c2);
|
|
81
82
|
if (colsOverlap) {
|
|
82
|
-
|
|
83
|
+
// Soft-delete: keep the record for provenance / undo, hide it from the UI
|
|
84
|
+
if (citation.active !== false) {
|
|
85
|
+
citation.active = false;
|
|
86
|
+
citation.updated_at = updatedAt;
|
|
87
|
+
}
|
|
83
88
|
}
|
|
84
89
|
else if (citation.range.startColumnIndex > c2) {
|
|
85
90
|
citation.range.startColumnIndex -= count;
|
|
86
91
|
citation.range.endColumnIndex -= count;
|
|
92
|
+
refreshCitationAnchor(citation);
|
|
87
93
|
}
|
|
88
94
|
}
|
|
89
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-cells-shift-up.d.ts","sourceRoot":"","sources":["../../../interface/delete-cells-shift-up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;AAiBnC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAI1F;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBrE,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,MAEjC,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"delete-cells-shift-up.d.ts","sourceRoot":"","sources":["../../../interface/delete-cells-shift-up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,QAAQ,EACR,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;AAiBnC,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAI1F;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,8SAmBrE,4BAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,MAEjC,SAAS,MAAM,EACf,YAAY,aAAa,EACzB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,SA6RnD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { produceWithPatches } from "immer";
|
|
2
|
-
import { shiftChartsOnCellShift } from "../api/anchored-objects";
|
|
2
|
+
import { refreshCitationAnchor, shiftChartsOnCellShift } from "../api/anchored-objects";
|
|
3
3
|
import { collectUniqueDependentsForRange, moveFormulaAtPosition, } from "../api/dependency";
|
|
4
4
|
import { contractRangesInFormula } from "../api/formula";
|
|
5
5
|
import { createSheetDraft } from "../api/immer-utils";
|
|
@@ -69,6 +69,7 @@ export const deleteCellsShiftUp = ({ rowCount, columnCount, locale, cellXfsRegis
|
|
|
69
69
|
});
|
|
70
70
|
// Update citations - delete if overlapping, shift back if after
|
|
71
71
|
onChangeCitations?.((prevCitations) => {
|
|
72
|
+
const updatedAt = new Date().toISOString();
|
|
72
73
|
const [nextState, patches, inversePatches] = produceWithPatches(prevCitations, (draft) => {
|
|
73
74
|
for (let idx = draft.length - 1; idx >= 0; idx--) {
|
|
74
75
|
const citation = draft[idx];
|
|
@@ -80,11 +81,16 @@ export const deleteCellsShiftUp = ({ rowCount, columnCount, locale, cellXfsRegis
|
|
|
80
81
|
const rowsOverlap = !(citation.range.endRowIndex < r1 ||
|
|
81
82
|
citation.range.startRowIndex > r2);
|
|
82
83
|
if (rowsOverlap) {
|
|
83
|
-
|
|
84
|
+
// Soft-delete: keep the record for provenance / undo, hide it from the UI
|
|
85
|
+
if (citation.active !== false) {
|
|
86
|
+
citation.active = false;
|
|
87
|
+
citation.updated_at = updatedAt;
|
|
88
|
+
}
|
|
84
89
|
}
|
|
85
90
|
else if (citation.range.startRowIndex > r2) {
|
|
86
91
|
citation.range.startRowIndex -= count;
|
|
87
92
|
citation.range.endRowIndex -= count;
|
|
93
|
+
refreshCitationAnchor(citation);
|
|
88
94
|
}
|
|
89
95
|
}
|
|
90
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-cells.d.ts","sourceRoot":"","sources":["../../../interface/delete-cells.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EACV,QAAQ,EAER,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;AAKnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvD,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,gUAoB9D,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,MAErB,SAAS,MAAM,EACf,MAAM,aAAa,EACnB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,YAAW,SAAsB,
|
|
1
|
+
{"version":3,"file":"delete-cells.d.ts","sourceRoot":"","sources":["../../../interface/delete-cells.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAEb,aAAa,EACd,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EACV,QAAQ,EAER,mBAAmB,EACnB,KAAK,EACN,MAAM,2BAA2B,CAAC;AAKnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvD,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,KAAK,EAAE,gUAoB9D,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,MAErB,SAAS,MAAM,EACf,MAAM,aAAa,EACnB,YAAY,aAAa,CAAC,mBAAmB,CAAC,EAAE,EAChD,YAAW,SAAsB,SAgSpC,CAAC"}
|