@dxos/plugin-sheet 0.8.4-main.2e9d522 → 0.8.4-main.548089c
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/lib/browser/{SheetContainer-KDGD4AVG.mjs → SheetContainer-BDLFSILO.mjs} +38 -40
- package/dist/lib/browser/SheetContainer-BDLFSILO.mjs.map +7 -0
- package/dist/lib/browser/anchor-sort-FCQ5OZZK.mjs +23 -0
- package/dist/lib/browser/anchor-sort-FCQ5OZZK.mjs.map +7 -0
- package/dist/lib/browser/{chunk-KJWZUQVA.mjs → chunk-73AV3NH6.mjs} +4 -4
- package/dist/lib/browser/chunk-73AV3NH6.mjs.map +7 -0
- package/dist/lib/browser/{chunk-JUOVL3LE.mjs → chunk-7KRJ2IT5.mjs} +218 -213
- package/dist/lib/browser/chunk-7KRJ2IT5.mjs.map +7 -0
- package/dist/lib/browser/{chunk-7HQX4NQP.mjs → chunk-7VEWYJJN.mjs} +2 -2
- package/dist/lib/browser/chunk-7VEWYJJN.mjs.map +7 -0
- package/dist/lib/browser/{chunk-SI4X5GUR.mjs → chunk-DVJ3QW3F.mjs} +220 -205
- package/dist/lib/browser/chunk-DVJ3QW3F.mjs.map +7 -0
- package/dist/lib/browser/chunk-FWFAAGXL.mjs +28 -0
- package/dist/lib/browser/chunk-FWFAAGXL.mjs.map +7 -0
- package/dist/lib/browser/compute-graph-registry-AP5RA7W3.mjs +21 -0
- package/dist/lib/browser/compute-graph-registry-AP5RA7W3.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +20 -21
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{intent-resolver-WOJGZMSV.mjs → intent-resolver-66OAYVQF.mjs} +10 -10
- package/dist/lib/browser/intent-resolver-66OAYVQF.mjs.map +7 -0
- package/dist/lib/browser/{markdown-VXMIPUQC.mjs → markdown-B6VKYY2S.mjs} +6 -6
- package/dist/lib/browser/markdown-B6VKYY2S.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{react-surface-SE4HGAEH.mjs → react-surface-GXHVZHKU.mjs} +16 -15
- package/dist/lib/browser/react-surface-GXHVZHKU.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +4 -12
- package/dist/lib/node-esm/{SheetContainer-RMG24NZC.mjs → SheetContainer-CK5HSJPL.mjs} +38 -40
- package/dist/lib/node-esm/SheetContainer-CK5HSJPL.mjs.map +7 -0
- package/dist/lib/node-esm/{anchor-sort-CTJGOPET.mjs → anchor-sort-ZE7IS7SH.mjs} +10 -11
- package/dist/lib/node-esm/anchor-sort-ZE7IS7SH.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-6SK5LJ5S.mjs → chunk-44YTKTMP.mjs} +4 -4
- package/dist/lib/node-esm/chunk-44YTKTMP.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-CADTJFAS.mjs → chunk-4H2EHVWE.mjs} +220 -205
- package/dist/lib/node-esm/chunk-4H2EHVWE.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-Q6UYC4G5.mjs → chunk-4QV4AGWK.mjs} +2 -2
- package/dist/lib/node-esm/chunk-4QV4AGWK.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HILDMVPL.mjs +29 -0
- package/dist/lib/node-esm/chunk-HILDMVPL.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-IFMIRCZH.mjs → chunk-SMYD6H7Q.mjs} +218 -213
- package/dist/lib/node-esm/chunk-SMYD6H7Q.mjs.map +7 -0
- package/dist/lib/node-esm/compute-graph-registry-UMQ5UYCL.mjs +22 -0
- package/dist/lib/node-esm/compute-graph-registry-UMQ5UYCL.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +20 -21
- package/dist/lib/node-esm/index.mjs.map +3 -3
- package/dist/lib/node-esm/{intent-resolver-PZRXBNIJ.mjs → intent-resolver-VNKIMQQT.mjs} +10 -10
- package/dist/lib/node-esm/intent-resolver-VNKIMQQT.mjs.map +7 -0
- package/dist/lib/node-esm/{markdown-4VPQJZNZ.mjs → markdown-VKY7HXU2.mjs} +6 -6
- package/dist/lib/node-esm/markdown-VKY7HXU2.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{react-surface-LAU23XBH.mjs → react-surface-45L45WN6.mjs} +16 -15
- package/dist/lib/node-esm/react-surface-45L45WN6.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +4 -12
- package/dist/types/src/SheetPlugin.d.ts +1 -1
- package/dist/types/src/SheetPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/anchor-sort.d.ts +2 -4
- package/dist/types/src/capabilities/anchor-sort.d.ts.map +1 -1
- package/dist/types/src/capabilities/compute-graph-registry.d.ts +1 -1
- package/dist/types/src/capabilities/compute-graph-registry.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +5 -10
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/markdown.d.ts +1 -3
- package/dist/types/src/capabilities/markdown.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/components/ComputeGraph/ComputeGraphContextProvider.d.ts.map +1 -1
- package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts +9 -4
- package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/GridSheet.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +50 -3
- package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts +11 -20
- package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -1
- package/dist/types/src/components/GridSheet/util.d.ts +1 -1
- package/dist/types/src/components/GridSheet/util.d.ts.map +1 -1
- package/dist/types/src/components/RangeList/RangeList.d.ts +2 -2
- package/dist/types/src/components/RangeList/RangeList.d.ts.map +1 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.d.ts +2 -2
- package/dist/types/src/components/SheetContainer/SheetContainer.d.ts.map +1 -1
- package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +52 -5
- package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/SheetContext/SheetContext.d.ts +3 -3
- package/dist/types/src/components/SheetContext/SheetContext.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts +3 -4
- package/dist/types/src/components/SheetToolbar/SheetToolbar.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +86 -4
- package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/align.d.ts +2 -2
- package/dist/types/src/components/SheetToolbar/align.d.ts.map +1 -1
- package/dist/types/src/components/SheetToolbar/style.d.ts.map +1 -1
- package/dist/types/src/extensions/compute.d.ts +1 -1
- package/dist/types/src/extensions/compute.d.ts.map +1 -1
- package/dist/types/src/extensions/compute.stories.d.ts +10 -13
- package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
- package/dist/types/src/extensions/editor/index.d.ts +1 -1
- package/dist/types/src/extensions/editor/index.d.ts.map +1 -1
- package/dist/types/src/extensions/editor/{extension.d.ts → sheet-extension.d.ts} +1 -1
- package/dist/types/src/extensions/editor/sheet-extension.d.ts.map +1 -0
- package/dist/types/src/extensions/editor/sheet-extension.test.d.ts +2 -0
- package/dist/types/src/extensions/editor/sheet-extension.test.d.ts.map +1 -0
- package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +0 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/model/sheet-model.d.ts +5 -5
- package/dist/types/src/model/sheet-model.d.ts.map +1 -1
- package/dist/types/src/model/testing.d.ts +2 -2
- package/dist/types/src/model/testing.d.ts.map +1 -1
- package/dist/types/src/model/useSheetModel.d.ts +2 -2
- package/dist/types/src/model/useSheetModel.d.ts.map +1 -1
- package/dist/types/src/playwright/sheet-manager.d.ts +1 -1
- package/dist/types/src/playwright/sheet-manager.d.ts.map +1 -1
- package/dist/types/src/serializer.d.ts +2 -2
- package/dist/types/src/serializer.d.ts.map +1 -1
- package/dist/types/src/testing/data.d.ts +2 -2
- package/dist/types/src/testing/data.d.ts.map +1 -1
- package/dist/types/src/testing/testing.d.ts +27 -3
- package/dist/types/src/testing/testing.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +2 -2
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/{schema.d.ts → Sheet.d.ts} +37 -4
- package/dist/types/src/types/Sheet.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +1 -1
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/sheet-range-types.d.ts +2 -2
- package/dist/types/src/types/sheet-range-types.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +7 -16
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/types/util.d.ts +9 -10
- package/dist/types/src/types/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +67 -64
- package/src/SheetPlugin.tsx +71 -62
- package/src/capabilities/anchor-sort.ts +7 -8
- package/src/capabilities/capabilities.ts +2 -2
- package/src/capabilities/compute-graph-registry.ts +9 -14
- package/src/capabilities/intent-resolver.ts +5 -5
- package/src/capabilities/markdown.ts +3 -2
- package/src/capabilities/react-surface.tsx +11 -9
- package/src/components/ComputeGraph/ComputeGraphContextProvider.tsx +1 -1
- package/src/components/ComputeGraph/compute-graph.stories.tsx +21 -20
- package/src/components/FunctionEditor/FunctionEditor.tsx +1 -1
- package/src/components/GridSheet/GridSheet.stories.tsx +19 -13
- package/src/components/GridSheet/GridSheet.tsx +39 -26
- package/src/components/GridSheet/SheetCellEditor.stories.tsx +40 -42
- package/src/components/GridSheet/util.ts +15 -9
- package/src/components/RangeList/RangeList.tsx +8 -8
- package/src/components/SheetContainer/SheetContainer.stories.tsx +48 -44
- package/src/components/SheetContainer/SheetContainer.tsx +10 -5
- package/src/components/SheetContext/SheetContext.tsx +5 -5
- package/src/components/SheetToolbar/SheetToolbar.stories.tsx +19 -13
- package/src/components/SheetToolbar/SheetToolbar.tsx +29 -30
- package/src/components/SheetToolbar/align.ts +7 -6
- package/src/components/SheetToolbar/style.ts +4 -4
- package/src/extensions/compute.stories.tsx +29 -25
- package/src/extensions/compute.ts +2 -3
- package/src/extensions/editor/index.ts +1 -1
- package/src/extensions/editor/{extension.test.ts → sheet-extension.test.ts} +1 -1
- package/src/integrations/thread-ranges.ts +15 -20
- package/src/meta.ts +7 -5
- package/src/model/sheet-model.test.ts +5 -4
- package/src/model/sheet-model.ts +9 -9
- package/src/model/testing.ts +4 -4
- package/src/model/useSheetModel.ts +2 -2
- package/src/playwright/sheet-manager.ts +1 -1
- package/src/playwright/sheet.spec.ts +1 -1
- package/src/sanity.test.ts +4 -5
- package/src/serializer.ts +3 -3
- package/src/testing/data.ts +2 -2
- package/src/testing/testing.tsx +11 -5
- package/src/translations.ts +2 -2
- package/src/types/Sheet.ts +103 -0
- package/src/types/index.ts +1 -1
- package/src/types/sheet-range-types.ts +2 -2
- package/src/types/types.ts +6 -15
- package/src/types/util.ts +13 -41
- package/dist/lib/browser/SheetContainer-KDGD4AVG.mjs.map +0 -7
- package/dist/lib/browser/anchor-sort-VHURGBOY.mjs +0 -24
- package/dist/lib/browser/anchor-sort-VHURGBOY.mjs.map +0 -7
- package/dist/lib/browser/chunk-6AKBCBL4.mjs +0 -18
- package/dist/lib/browser/chunk-6AKBCBL4.mjs.map +0 -7
- package/dist/lib/browser/chunk-7HQX4NQP.mjs.map +0 -7
- package/dist/lib/browser/chunk-JUOVL3LE.mjs.map +0 -7
- package/dist/lib/browser/chunk-KJWZUQVA.mjs.map +0 -7
- package/dist/lib/browser/chunk-SI4X5GUR.mjs.map +0 -7
- package/dist/lib/browser/compute-graph-registry-VG7VP7IV.mjs +0 -30
- package/dist/lib/browser/compute-graph-registry-VG7VP7IV.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-WOJGZMSV.mjs.map +0 -7
- package/dist/lib/browser/markdown-VXMIPUQC.mjs.map +0 -7
- package/dist/lib/browser/react-surface-SE4HGAEH.mjs.map +0 -7
- package/dist/lib/node-esm/SheetContainer-RMG24NZC.mjs.map +0 -7
- package/dist/lib/node-esm/anchor-sort-CTJGOPET.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3K5VNYOF.mjs +0 -20
- package/dist/lib/node-esm/chunk-3K5VNYOF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-6SK5LJ5S.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CADTJFAS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-IFMIRCZH.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-Q6UYC4G5.mjs.map +0 -7
- package/dist/lib/node-esm/compute-graph-registry-3K3Q2A5T.mjs +0 -31
- package/dist/lib/node-esm/compute-graph-registry-3K3Q2A5T.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-PZRXBNIJ.mjs.map +0 -7
- package/dist/lib/node-esm/markdown-4VPQJZNZ.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-LAU23XBH.mjs.map +0 -7
- package/dist/types/src/extensions/editor/extension.d.ts.map +0 -1
- package/dist/types/src/extensions/editor/extension.test.d.ts +0 -2
- package/dist/types/src/extensions/editor/extension.test.d.ts.map +0 -1
- package/dist/types/src/types/schema.d.ts.map +0 -1
- package/src/types/schema.ts +0 -61
- /package/src/extensions/editor/{extension.ts → sheet-extension.ts} +0 -0
|
@@ -1,10 +1,127 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
__export,
|
|
3
|
+
meta
|
|
4
|
+
} from "./chunk-FWFAAGXL.mjs";
|
|
4
5
|
|
|
5
|
-
// src/types/
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
// src/types/Sheet.ts
|
|
7
|
+
var Sheet_exports = {};
|
|
8
|
+
__export(Sheet_exports, {
|
|
9
|
+
CellValue: () => CellValue,
|
|
10
|
+
Range: () => Range,
|
|
11
|
+
RowColumnMeta: () => RowColumnMeta,
|
|
12
|
+
Sheet: () => Sheet,
|
|
13
|
+
make: () => make
|
|
14
|
+
});
|
|
15
|
+
import * as Schema from "effect/Schema";
|
|
16
|
+
import { addressFromA1Notation as addressFromA1Notation2, isFormula as isFormula2 } from "@dxos/compute";
|
|
17
|
+
import { Obj, Type } from "@dxos/echo";
|
|
18
|
+
import { FormAnnotation } from "@dxos/echo/internal";
|
|
19
|
+
|
|
20
|
+
// src/types/util.ts
|
|
21
|
+
import { addressFromA1Notation, addressToA1Notation, isFormula } from "@dxos/compute";
|
|
22
|
+
import { randomBytes } from "@dxos/crypto";
|
|
23
|
+
import { invariant } from "@dxos/invariant";
|
|
24
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-sheet/src/types/util.ts";
|
|
25
|
+
var MAX_ROWS = 500;
|
|
26
|
+
var MAX_COLS = 676;
|
|
27
|
+
var DEFAULT_ROWS = 50;
|
|
28
|
+
var DEFAULT_COLS = 26;
|
|
29
|
+
var ApiError = class extends Error {
|
|
30
|
+
};
|
|
31
|
+
var ReadonlyException = class extends ApiError {
|
|
32
|
+
};
|
|
33
|
+
var RangeException = class extends ApiError {
|
|
34
|
+
constructor(n) {
|
|
35
|
+
super();
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var createIndex = (length = 8) => {
|
|
39
|
+
const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
40
|
+
const charactersLength = characters.length;
|
|
41
|
+
const randomBuffer = randomBytes(length);
|
|
42
|
+
return Array.from(randomBuffer, (byte) => characters[byte % charactersLength]).join("");
|
|
43
|
+
};
|
|
44
|
+
var createIndices = (length) => Array.from({
|
|
45
|
+
length
|
|
46
|
+
}).map(() => createIndex());
|
|
47
|
+
var insertIndices = (indices, i, n, max) => {
|
|
48
|
+
if (i + n > max) {
|
|
49
|
+
throw new RangeException(i + n);
|
|
50
|
+
}
|
|
51
|
+
const idx = createIndices(n);
|
|
52
|
+
indices.splice(i, 0, ...idx);
|
|
53
|
+
return idx;
|
|
54
|
+
};
|
|
55
|
+
var initialize = (sheet, { rows = DEFAULT_ROWS, columns = DEFAULT_COLS } = {}) => {
|
|
56
|
+
if (!sheet.rows.length) {
|
|
57
|
+
insertIndices(sheet.rows, 0, rows, MAX_ROWS);
|
|
58
|
+
}
|
|
59
|
+
if (!sheet.columns.length) {
|
|
60
|
+
insertIndices(sheet.columns, 0, columns, MAX_COLS);
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
var addressToIndex = (sheet, cell) => {
|
|
64
|
+
return `${sheet.columns[cell.col]}@${sheet.rows[cell.row]}`;
|
|
65
|
+
};
|
|
66
|
+
var addressFromIndex = (sheet, idx) => {
|
|
67
|
+
const [column, row] = idx.split("@");
|
|
68
|
+
return {
|
|
69
|
+
col: sheet.columns.indexOf(column),
|
|
70
|
+
row: sheet.rows.indexOf(row)
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
var rangeToIndex = (sheet, range) => {
|
|
74
|
+
return [
|
|
75
|
+
range.from,
|
|
76
|
+
range.to ?? range.from
|
|
77
|
+
].map((cell) => addressToIndex(sheet, cell)).join(":");
|
|
78
|
+
};
|
|
79
|
+
var rangeFromIndex = (sheet, idx) => {
|
|
80
|
+
const [from, to] = idx.split(":").map((index) => addressFromIndex(sheet, index));
|
|
81
|
+
return {
|
|
82
|
+
from,
|
|
83
|
+
to
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
var compareIndexPositions = (sheet, indexA, indexB) => {
|
|
87
|
+
const { row: rowA, col: columnA } = addressFromIndex(sheet, indexA);
|
|
88
|
+
const { row: rowB, col: columnB } = addressFromIndex(sheet, indexB);
|
|
89
|
+
if (rowA !== rowB) {
|
|
90
|
+
return rowA - rowB;
|
|
91
|
+
} else {
|
|
92
|
+
return columnA - columnB;
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
var mapFormulaRefsToIndices = (sheet, formula) => {
|
|
96
|
+
invariant(isFormula(formula), void 0, {
|
|
97
|
+
F: __dxlog_file,
|
|
98
|
+
L: 124,
|
|
99
|
+
S: void 0,
|
|
100
|
+
A: [
|
|
101
|
+
"isFormula(formula)",
|
|
102
|
+
""
|
|
103
|
+
]
|
|
104
|
+
});
|
|
105
|
+
return formula.replace(/([a-zA-Z]+)([0-9]+)/g, (match) => {
|
|
106
|
+
return addressToIndex(sheet, addressFromA1Notation(match));
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
var mapFormulaIndicesToRefs = (sheet, formula) => {
|
|
110
|
+
invariant(isFormula(formula), void 0, {
|
|
111
|
+
F: __dxlog_file,
|
|
112
|
+
L: 134,
|
|
113
|
+
S: void 0,
|
|
114
|
+
A: [
|
|
115
|
+
"isFormula(formula)",
|
|
116
|
+
""
|
|
117
|
+
]
|
|
118
|
+
});
|
|
119
|
+
return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {
|
|
120
|
+
return addressToA1Notation(addressFromIndex(sheet, idx));
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
// src/types/Sheet.ts
|
|
8
125
|
var CellValue = Schema.Struct({
|
|
9
126
|
// TODO(burdon): How to store dates (datetime, date, time), percentages, etc.
|
|
10
127
|
// Consider import/export; natural access for other plugins. Special handling for currency (precision).
|
|
@@ -19,33 +136,57 @@ var Range = Schema.Struct({
|
|
|
19
136
|
var RowColumnMeta = Schema.Struct({
|
|
20
137
|
size: Schema.optional(Schema.Number)
|
|
21
138
|
});
|
|
22
|
-
var
|
|
139
|
+
var Sheet = Schema.Struct({
|
|
23
140
|
name: Schema.optional(Schema.String),
|
|
24
141
|
// Sparse map of cells referenced by index.
|
|
25
|
-
cells: Schema.
|
|
142
|
+
cells: Schema.Record({
|
|
26
143
|
key: Schema.String,
|
|
27
144
|
value: Schema.mutable(CellValue)
|
|
28
|
-
})),
|
|
145
|
+
}).pipe(Schema.mutable, FormAnnotation.set(false)),
|
|
29
146
|
// Ordered row indices.
|
|
30
|
-
rows: Schema.
|
|
147
|
+
rows: Schema.Array(Schema.String).pipe(Schema.mutable, FormAnnotation.set(false)),
|
|
31
148
|
// Ordered column indices.
|
|
32
|
-
columns: Schema.
|
|
149
|
+
columns: Schema.Array(Schema.String).pipe(Schema.mutable, FormAnnotation.set(false)),
|
|
33
150
|
// Row metadata referenced by index.
|
|
34
|
-
rowMeta: Schema.
|
|
151
|
+
rowMeta: Schema.Record({
|
|
35
152
|
key: Schema.String,
|
|
36
153
|
value: Schema.mutable(RowColumnMeta)
|
|
37
|
-
})),
|
|
154
|
+
}).pipe(Schema.mutable, FormAnnotation.set(false)),
|
|
38
155
|
// Column metadata referenced by index.
|
|
39
|
-
columnMeta: Schema.
|
|
156
|
+
columnMeta: Schema.Record({
|
|
40
157
|
key: Schema.String,
|
|
41
158
|
value: Schema.mutable(RowColumnMeta)
|
|
42
|
-
})),
|
|
159
|
+
}).pipe(Schema.mutable, FormAnnotation.set(false)),
|
|
43
160
|
// Cell formatting referenced by indexed range.
|
|
44
|
-
ranges: Schema.
|
|
161
|
+
ranges: Schema.Array(Range).pipe(Schema.mutable, FormAnnotation.set(false))
|
|
45
162
|
}).pipe(Type.Obj({
|
|
46
163
|
typename: "dxos.org/type/Sheet",
|
|
47
164
|
version: "0.1.0"
|
|
48
165
|
}));
|
|
166
|
+
var make = ({ name, cells = {}, ...size } = {}) => {
|
|
167
|
+
const sheet = Obj.make(Sheet, {
|
|
168
|
+
name,
|
|
169
|
+
cells: {},
|
|
170
|
+
rows: [],
|
|
171
|
+
columns: [],
|
|
172
|
+
rowMeta: {},
|
|
173
|
+
columnMeta: {},
|
|
174
|
+
ranges: []
|
|
175
|
+
});
|
|
176
|
+
initialize(sheet, size);
|
|
177
|
+
if (cells) {
|
|
178
|
+
Object.entries(cells).forEach(([key, { value }]) => {
|
|
179
|
+
const idx = addressToIndex(sheet, addressFromA1Notation2(key));
|
|
180
|
+
if (isFormula2(value)) {
|
|
181
|
+
value = mapFormulaRefsToIndices(sheet, value);
|
|
182
|
+
}
|
|
183
|
+
sheet.cells[idx] = {
|
|
184
|
+
value
|
|
185
|
+
};
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
return sheet;
|
|
189
|
+
};
|
|
49
190
|
|
|
50
191
|
// src/types/sheet-range-types.ts
|
|
51
192
|
var alignKey = "alignment";
|
|
@@ -81,18 +222,18 @@ var cellClassNameForRange = ({ key, value }) => {
|
|
|
81
222
|
};
|
|
82
223
|
|
|
83
224
|
// src/types/types.ts
|
|
84
|
-
import
|
|
225
|
+
import * as Schema2 from "effect/Schema";
|
|
85
226
|
|
|
86
227
|
// src/model/sheet-model.ts
|
|
87
228
|
import { Event } from "@dxos/async";
|
|
88
|
-
import { addressFromA1Notation, addressToA1Notation, createSheetName, isFormula
|
|
229
|
+
import { DetailedCellError, ExportedCellChange, addressFromA1Notation as addressFromA1Notation3, addressToA1Notation as addressToA1Notation2, createSheetName, isFormula as isFormula3 } from "@dxos/compute";
|
|
89
230
|
import { Resource } from "@dxos/context";
|
|
90
|
-
import { Obj } from "@dxos/echo";
|
|
91
|
-
import { FormatEnum, TypeEnum } from "@dxos/echo
|
|
92
|
-
import { invariant } from "@dxos/invariant";
|
|
231
|
+
import { Obj as Obj2 } from "@dxos/echo";
|
|
232
|
+
import { FormatEnum, TypeEnum } from "@dxos/echo/internal";
|
|
233
|
+
import { invariant as invariant2 } from "@dxos/invariant";
|
|
93
234
|
import { PublicKey } from "@dxos/keys";
|
|
94
235
|
import { log } from "@dxos/log";
|
|
95
|
-
var
|
|
236
|
+
var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-sheet/src/model/sheet-model.ts";
|
|
96
237
|
var typeMap = {
|
|
97
238
|
BOOLEAN: {
|
|
98
239
|
type: TypeEnum.Boolean
|
|
@@ -138,8 +279,15 @@ var toModelRange = (sheet, range) => ({
|
|
|
138
279
|
end: toSimpleCellAddress(sheet, range.to ?? range.from)
|
|
139
280
|
});
|
|
140
281
|
var SheetModel = class extends Resource {
|
|
282
|
+
_graph;
|
|
283
|
+
_sheet;
|
|
284
|
+
_options;
|
|
285
|
+
id = `model-${PublicKey.random().truncate()}`;
|
|
286
|
+
// Wraps compute node.
|
|
287
|
+
update = new Event();
|
|
288
|
+
_node;
|
|
141
289
|
constructor(_graph, _sheet, _options = {}) {
|
|
142
|
-
super(), this._graph = _graph, this._sheet = _sheet, this._options = _options
|
|
290
|
+
super(), this._graph = _graph, this._sheet = _sheet, this._options = _options;
|
|
143
291
|
}
|
|
144
292
|
get graph() {
|
|
145
293
|
return this._graph;
|
|
@@ -163,7 +311,7 @@ var SheetModel = class extends Resource {
|
|
|
163
311
|
log("initialize", {
|
|
164
312
|
id: this.id
|
|
165
313
|
}, {
|
|
166
|
-
F:
|
|
314
|
+
F: __dxlog_file2,
|
|
167
315
|
L: 124,
|
|
168
316
|
S: this,
|
|
169
317
|
C: (f, a) => f(...a)
|
|
@@ -175,7 +323,7 @@ var SheetModel = class extends Resource {
|
|
|
175
323
|
}
|
|
176
324
|
});
|
|
177
325
|
this._node = this._graph.getOrCreateNode(createSheetName({
|
|
178
|
-
type:
|
|
326
|
+
type: Obj2.getTypename(this._sheet),
|
|
179
327
|
id: this._sheet.id
|
|
180
328
|
}));
|
|
181
329
|
await this._node.open();
|
|
@@ -189,8 +337,8 @@ var SheetModel = class extends Resource {
|
|
|
189
337
|
* @deprecated
|
|
190
338
|
*/
|
|
191
339
|
reset() {
|
|
192
|
-
|
|
193
|
-
F:
|
|
340
|
+
invariant2(this._node, void 0, {
|
|
341
|
+
F: __dxlog_file2,
|
|
194
342
|
L: 152,
|
|
195
343
|
S: this,
|
|
196
344
|
A: [
|
|
@@ -200,8 +348,8 @@ var SheetModel = class extends Resource {
|
|
|
200
348
|
});
|
|
201
349
|
this._node.graph.hf.clearSheet(this._node.sheetId);
|
|
202
350
|
Object.entries(this._sheet.cells).forEach(([key, { value }]) => {
|
|
203
|
-
|
|
204
|
-
F:
|
|
351
|
+
invariant2(this._node, void 0, {
|
|
352
|
+
F: __dxlog_file2,
|
|
205
353
|
L: 155,
|
|
206
354
|
S: this,
|
|
207
355
|
A: [
|
|
@@ -210,7 +358,7 @@ var SheetModel = class extends Resource {
|
|
|
210
358
|
]
|
|
211
359
|
});
|
|
212
360
|
const { col, row } = addressFromIndex(this._sheet, key);
|
|
213
|
-
if (
|
|
361
|
+
if (isFormula3(value)) {
|
|
214
362
|
const binding = this._graph.mapFunctionBindingFromId(mapFormulaIndicesToRefs(this._sheet, value));
|
|
215
363
|
if (binding) {
|
|
216
364
|
value = this._graph.mapFormulaToNative(binding);
|
|
@@ -319,8 +467,8 @@ var SheetModel = class extends Resource {
|
|
|
319
467
|
* Clear range of values.
|
|
320
468
|
*/
|
|
321
469
|
clear(range) {
|
|
322
|
-
|
|
323
|
-
F:
|
|
470
|
+
invariant2(this._node, void 0, {
|
|
471
|
+
F: __dxlog_file2,
|
|
324
472
|
L: 258,
|
|
325
473
|
S: this,
|
|
326
474
|
A: [
|
|
@@ -337,8 +485,8 @@ var SheetModel = class extends Resource {
|
|
|
337
485
|
});
|
|
338
486
|
}
|
|
339
487
|
cut(range) {
|
|
340
|
-
|
|
341
|
-
F:
|
|
488
|
+
invariant2(this._node, void 0, {
|
|
489
|
+
F: __dxlog_file2,
|
|
342
490
|
L: 269,
|
|
343
491
|
S: this,
|
|
344
492
|
A: [
|
|
@@ -353,8 +501,8 @@ var SheetModel = class extends Resource {
|
|
|
353
501
|
});
|
|
354
502
|
}
|
|
355
503
|
copy(range) {
|
|
356
|
-
|
|
357
|
-
F:
|
|
504
|
+
invariant2(this._node, void 0, {
|
|
505
|
+
F: __dxlog_file2,
|
|
358
506
|
L: 278,
|
|
359
507
|
S: this,
|
|
360
508
|
A: [
|
|
@@ -365,8 +513,8 @@ var SheetModel = class extends Resource {
|
|
|
365
513
|
this._node.graph.hf.copy(toModelRange(this._node.sheetId, range));
|
|
366
514
|
}
|
|
367
515
|
paste(cell) {
|
|
368
|
-
|
|
369
|
-
F:
|
|
516
|
+
invariant2(this._node, void 0, {
|
|
517
|
+
F: __dxlog_file2,
|
|
370
518
|
L: 283,
|
|
371
519
|
S: this,
|
|
372
520
|
A: [
|
|
@@ -392,8 +540,8 @@ var SheetModel = class extends Resource {
|
|
|
392
540
|
}
|
|
393
541
|
// TODO(burdon): Display undo/redo state.
|
|
394
542
|
undo() {
|
|
395
|
-
|
|
396
|
-
F:
|
|
543
|
+
invariant2(this._node, void 0, {
|
|
544
|
+
F: __dxlog_file2,
|
|
397
545
|
L: 298,
|
|
398
546
|
S: this,
|
|
399
547
|
A: [
|
|
@@ -406,8 +554,8 @@ var SheetModel = class extends Resource {
|
|
|
406
554
|
}
|
|
407
555
|
}
|
|
408
556
|
redo() {
|
|
409
|
-
|
|
410
|
-
F:
|
|
557
|
+
invariant2(this._node, void 0, {
|
|
558
|
+
F: __dxlog_file2,
|
|
411
559
|
L: 306,
|
|
412
560
|
S: this,
|
|
413
561
|
A: [
|
|
@@ -434,7 +582,7 @@ var SheetModel = class extends Resource {
|
|
|
434
582
|
if (value == null) {
|
|
435
583
|
return void 0;
|
|
436
584
|
}
|
|
437
|
-
if (
|
|
585
|
+
if (isFormula3(value)) {
|
|
438
586
|
return this._graph.mapFunctionBindingFromId(mapFormulaIndicesToRefs(this._sheet, value));
|
|
439
587
|
} else {
|
|
440
588
|
return String(value);
|
|
@@ -450,8 +598,8 @@ var SheetModel = class extends Resource {
|
|
|
450
598
|
* Gets the regular or computed value from the engine.
|
|
451
599
|
*/
|
|
452
600
|
getValue(cell) {
|
|
453
|
-
|
|
454
|
-
F:
|
|
601
|
+
invariant2(this._node, void 0, {
|
|
602
|
+
F: __dxlog_file2,
|
|
455
603
|
L: 349,
|
|
456
604
|
S: this,
|
|
457
605
|
A: [
|
|
@@ -466,7 +614,7 @@ var SheetModel = class extends Resource {
|
|
|
466
614
|
cell,
|
|
467
615
|
error: value
|
|
468
616
|
}, {
|
|
469
|
-
F:
|
|
617
|
+
F: __dxlog_file2,
|
|
470
618
|
L: 354,
|
|
471
619
|
S: this,
|
|
472
620
|
C: (f, a) => f(...a)
|
|
@@ -479,8 +627,8 @@ var SheetModel = class extends Resource {
|
|
|
479
627
|
* Get value type.
|
|
480
628
|
*/
|
|
481
629
|
getValueDescription(cell) {
|
|
482
|
-
|
|
483
|
-
F:
|
|
630
|
+
invariant2(this._node, void 0, {
|
|
631
|
+
F: __dxlog_file2,
|
|
484
632
|
L: 365,
|
|
485
633
|
S: this,
|
|
486
634
|
A: [
|
|
@@ -496,8 +644,8 @@ var SheetModel = class extends Resource {
|
|
|
496
644
|
* Sets the value, updating the sheet and engine.
|
|
497
645
|
*/
|
|
498
646
|
setValue(cell, value) {
|
|
499
|
-
|
|
500
|
-
F:
|
|
647
|
+
invariant2(this._node, void 0, {
|
|
648
|
+
F: __dxlog_file2,
|
|
501
649
|
L: 375,
|
|
502
650
|
S: this,
|
|
503
651
|
A: [
|
|
@@ -526,14 +674,14 @@ var SheetModel = class extends Resource {
|
|
|
526
674
|
col: cell.col
|
|
527
675
|
}, [
|
|
528
676
|
[
|
|
529
|
-
|
|
677
|
+
isFormula3(value) ? this._graph.mapFormulaToNative(value) : value
|
|
530
678
|
]
|
|
531
679
|
]);
|
|
532
680
|
const idx = addressToIndex(this._sheet, cell);
|
|
533
681
|
if (value === void 0 || value === null) {
|
|
534
682
|
delete this._sheet.cells[idx];
|
|
535
683
|
} else {
|
|
536
|
-
if (
|
|
684
|
+
if (isFormula3(value)) {
|
|
537
685
|
value = this._graph.mapFunctionBindingToId(mapFormulaRefsToIndices(this._sheet, value));
|
|
538
686
|
}
|
|
539
687
|
this._sheet.cells[idx] = {
|
|
@@ -546,7 +694,7 @@ var SheetModel = class extends Resource {
|
|
|
546
694
|
*/
|
|
547
695
|
setValues(values) {
|
|
548
696
|
Object.entries(values).forEach(([key, { value }]) => {
|
|
549
|
-
this.setValue(
|
|
697
|
+
this.setValue(addressFromA1Notation3(key), value);
|
|
550
698
|
});
|
|
551
699
|
}
|
|
552
700
|
/**
|
|
@@ -590,8 +738,8 @@ var SheetModel = class extends Resource {
|
|
|
590
738
|
* Map from indices to A1 notation.
|
|
591
739
|
*/
|
|
592
740
|
mapFormulaIndicesToRefs(formula) {
|
|
593
|
-
|
|
594
|
-
F:
|
|
741
|
+
invariant2(isFormula3(formula), void 0, {
|
|
742
|
+
F: __dxlog_file2,
|
|
595
743
|
L: 460,
|
|
596
744
|
S: this,
|
|
597
745
|
A: [
|
|
@@ -600,7 +748,7 @@ var SheetModel = class extends Resource {
|
|
|
600
748
|
]
|
|
601
749
|
});
|
|
602
750
|
return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {
|
|
603
|
-
return
|
|
751
|
+
return addressToA1Notation2(addressFromIndex(this._sheet, idx));
|
|
604
752
|
});
|
|
605
753
|
}
|
|
606
754
|
//
|
|
@@ -616,8 +764,8 @@ var SheetModel = class extends Resource {
|
|
|
616
764
|
return new Date(year, month - 1, day, hours, minutes, seconds);
|
|
617
765
|
}
|
|
618
766
|
toDateTime(num) {
|
|
619
|
-
|
|
620
|
-
F:
|
|
767
|
+
invariant2(this._node, void 0, {
|
|
768
|
+
F: __dxlog_file2,
|
|
621
769
|
L: 481,
|
|
622
770
|
S: this,
|
|
623
771
|
A: [
|
|
@@ -628,8 +776,8 @@ var SheetModel = class extends Resource {
|
|
|
628
776
|
return this._node.graph.hf.numberToDateTime(num);
|
|
629
777
|
}
|
|
630
778
|
toDate(num) {
|
|
631
|
-
|
|
632
|
-
F:
|
|
779
|
+
invariant2(this._node, void 0, {
|
|
780
|
+
F: __dxlog_file2,
|
|
633
781
|
L: 486,
|
|
634
782
|
S: this,
|
|
635
783
|
A: [
|
|
@@ -640,8 +788,8 @@ var SheetModel = class extends Resource {
|
|
|
640
788
|
return this._node.graph.hf.numberToDate(num);
|
|
641
789
|
}
|
|
642
790
|
toTime(num) {
|
|
643
|
-
|
|
644
|
-
F:
|
|
791
|
+
invariant2(this._node, void 0, {
|
|
792
|
+
F: __dxlog_file2,
|
|
645
793
|
L: 491,
|
|
646
794
|
S: this,
|
|
647
795
|
A: [
|
|
@@ -683,13 +831,13 @@ var useSheetModel = (graph, sheet, { readonly } = {}) => {
|
|
|
683
831
|
|
|
684
832
|
// src/types/types.ts
|
|
685
833
|
(function(SheetAction2) {
|
|
686
|
-
const SHEET_ACTION = `${
|
|
834
|
+
const SHEET_ACTION = `${meta.id}/action`;
|
|
687
835
|
class Create extends Schema2.TaggedClass()(`${SHEET_ACTION}/create`, {
|
|
688
836
|
input: Schema2.Struct({
|
|
689
837
|
name: Schema2.optional(Schema2.String)
|
|
690
838
|
}),
|
|
691
839
|
output: Schema2.Struct({
|
|
692
|
-
object:
|
|
840
|
+
object: Sheet
|
|
693
841
|
})
|
|
694
842
|
}) {
|
|
695
843
|
}
|
|
@@ -729,146 +877,7 @@ var useSheetModel = (graph, sheet, { readonly } = {}) => {
|
|
|
729
877
|
})(SheetAction || (SheetAction = {}));
|
|
730
878
|
var SheetAction;
|
|
731
879
|
|
|
732
|
-
// src/types/util.ts
|
|
733
|
-
import { addressFromA1Notation as addressFromA1Notation2, addressToA1Notation as addressToA1Notation2, isFormula as isFormula2 } from "@dxos/compute";
|
|
734
|
-
import { randomBytes } from "@dxos/crypto";
|
|
735
|
-
import { Obj as Obj2 } from "@dxos/echo";
|
|
736
|
-
import { invariant as invariant2 } from "@dxos/invariant";
|
|
737
|
-
var __dxlog_file2 = "/__w/dxos/dxos/packages/plugins/plugin-sheet/src/types/util.ts";
|
|
738
|
-
var MAX_ROWS = 500;
|
|
739
|
-
var MAX_COLS = 676;
|
|
740
|
-
var DEFAULT_ROWS = 50;
|
|
741
|
-
var DEFAULT_COLS = 26;
|
|
742
|
-
var ApiError = class extends Error {
|
|
743
|
-
};
|
|
744
|
-
var ReadonlyException = class extends ApiError {
|
|
745
|
-
};
|
|
746
|
-
var RangeException = class extends ApiError {
|
|
747
|
-
constructor(n) {
|
|
748
|
-
super();
|
|
749
|
-
}
|
|
750
|
-
};
|
|
751
|
-
var createIndex = (length = 8) => {
|
|
752
|
-
const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
|
753
|
-
const charactersLength = characters.length;
|
|
754
|
-
const randomBuffer = randomBytes(length);
|
|
755
|
-
return Array.from(randomBuffer, (byte) => characters[byte % charactersLength]).join("");
|
|
756
|
-
};
|
|
757
|
-
var createIndices = (length) => Array.from({
|
|
758
|
-
length
|
|
759
|
-
}).map(() => createIndex());
|
|
760
|
-
var insertIndices = (indices, i, n, max) => {
|
|
761
|
-
if (i + n > max) {
|
|
762
|
-
throw new RangeException(i + n);
|
|
763
|
-
}
|
|
764
|
-
const idx = createIndices(n);
|
|
765
|
-
indices.splice(i, 0, ...idx);
|
|
766
|
-
return idx;
|
|
767
|
-
};
|
|
768
|
-
var initialize = (sheet, { rows = DEFAULT_ROWS, columns = DEFAULT_COLS } = {}) => {
|
|
769
|
-
if (!sheet.rows.length) {
|
|
770
|
-
insertIndices(sheet.rows, 0, rows, MAX_ROWS);
|
|
771
|
-
}
|
|
772
|
-
if (!sheet.columns.length) {
|
|
773
|
-
insertIndices(sheet.columns, 0, columns, MAX_COLS);
|
|
774
|
-
}
|
|
775
|
-
};
|
|
776
|
-
var createSheet = ({ name, cells, ...size } = {}) => {
|
|
777
|
-
const sheet = Obj2.make(SheetType, {
|
|
778
|
-
name,
|
|
779
|
-
cells: {},
|
|
780
|
-
rows: [],
|
|
781
|
-
columns: [],
|
|
782
|
-
rowMeta: {},
|
|
783
|
-
columnMeta: {},
|
|
784
|
-
ranges: []
|
|
785
|
-
});
|
|
786
|
-
initialize(sheet, size);
|
|
787
|
-
if (cells) {
|
|
788
|
-
Object.entries(cells).forEach(([key, { value }]) => {
|
|
789
|
-
const idx = addressToIndex(sheet, addressFromA1Notation2(key));
|
|
790
|
-
if (isFormula2(value)) {
|
|
791
|
-
value = mapFormulaRefsToIndices(sheet, value);
|
|
792
|
-
}
|
|
793
|
-
sheet.cells[idx] = {
|
|
794
|
-
value
|
|
795
|
-
};
|
|
796
|
-
});
|
|
797
|
-
}
|
|
798
|
-
return sheet;
|
|
799
|
-
};
|
|
800
|
-
var addressToIndex = (sheet, cell) => {
|
|
801
|
-
return `${sheet.columns[cell.col]}@${sheet.rows[cell.row]}`;
|
|
802
|
-
};
|
|
803
|
-
var addressFromIndex = (sheet, idx) => {
|
|
804
|
-
const [column, row] = idx.split("@");
|
|
805
|
-
return {
|
|
806
|
-
col: sheet.columns.indexOf(column),
|
|
807
|
-
row: sheet.rows.indexOf(row)
|
|
808
|
-
};
|
|
809
|
-
};
|
|
810
|
-
var rangeToIndex = (sheet, range) => {
|
|
811
|
-
return [
|
|
812
|
-
range.from,
|
|
813
|
-
range.to ?? range.from
|
|
814
|
-
].map((cell) => addressToIndex(sheet, cell)).join(":");
|
|
815
|
-
};
|
|
816
|
-
var rangeFromIndex = (sheet, idx) => {
|
|
817
|
-
const [from, to] = idx.split(":").map((index) => addressFromIndex(sheet, index));
|
|
818
|
-
return {
|
|
819
|
-
from,
|
|
820
|
-
to
|
|
821
|
-
};
|
|
822
|
-
};
|
|
823
|
-
var compareIndexPositions = (sheet, indexA, indexB) => {
|
|
824
|
-
const { row: rowA, col: columnA } = addressFromIndex(sheet, indexA);
|
|
825
|
-
const { row: rowB, col: columnB } = addressFromIndex(sheet, indexB);
|
|
826
|
-
if (rowA !== rowB) {
|
|
827
|
-
return rowA - rowB;
|
|
828
|
-
} else {
|
|
829
|
-
return columnA - columnB;
|
|
830
|
-
}
|
|
831
|
-
};
|
|
832
|
-
var mapFormulaRefsToIndices = (sheet, formula) => {
|
|
833
|
-
invariant2(isFormula2(formula), void 0, {
|
|
834
|
-
F: __dxlog_file2,
|
|
835
|
-
L: 152,
|
|
836
|
-
S: void 0,
|
|
837
|
-
A: [
|
|
838
|
-
"isFormula(formula)",
|
|
839
|
-
""
|
|
840
|
-
]
|
|
841
|
-
});
|
|
842
|
-
return formula.replace(/([a-zA-Z]+)([0-9]+)/g, (match) => {
|
|
843
|
-
return addressToIndex(sheet, addressFromA1Notation2(match));
|
|
844
|
-
});
|
|
845
|
-
};
|
|
846
|
-
var mapFormulaIndicesToRefs = (sheet, formula) => {
|
|
847
|
-
invariant2(isFormula2(formula), void 0, {
|
|
848
|
-
F: __dxlog_file2,
|
|
849
|
-
L: 162,
|
|
850
|
-
S: void 0,
|
|
851
|
-
A: [
|
|
852
|
-
"isFormula(formula)",
|
|
853
|
-
""
|
|
854
|
-
]
|
|
855
|
-
});
|
|
856
|
-
return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {
|
|
857
|
-
return addressToA1Notation2(addressFromIndex(sheet, idx));
|
|
858
|
-
});
|
|
859
|
-
};
|
|
860
|
-
|
|
861
880
|
export {
|
|
862
|
-
CellValue,
|
|
863
|
-
Range,
|
|
864
|
-
RowColumnMeta,
|
|
865
|
-
SheetType,
|
|
866
|
-
alignKey,
|
|
867
|
-
commentKey,
|
|
868
|
-
styleKey,
|
|
869
|
-
cellClassNameForRange,
|
|
870
|
-
useSheetModel,
|
|
871
|
-
SheetAction,
|
|
872
881
|
MAX_ROWS,
|
|
873
882
|
MAX_COLS,
|
|
874
883
|
DEFAULT_ROWS,
|
|
@@ -880,13 +889,19 @@ export {
|
|
|
880
889
|
createIndices,
|
|
881
890
|
insertIndices,
|
|
882
891
|
initialize,
|
|
883
|
-
createSheet,
|
|
884
892
|
addressToIndex,
|
|
885
893
|
addressFromIndex,
|
|
886
894
|
rangeToIndex,
|
|
887
895
|
rangeFromIndex,
|
|
888
896
|
compareIndexPositions,
|
|
889
897
|
mapFormulaRefsToIndices,
|
|
890
|
-
mapFormulaIndicesToRefs
|
|
898
|
+
mapFormulaIndicesToRefs,
|
|
899
|
+
Sheet_exports,
|
|
900
|
+
alignKey,
|
|
901
|
+
commentKey,
|
|
902
|
+
styleKey,
|
|
903
|
+
cellClassNameForRange,
|
|
904
|
+
useSheetModel,
|
|
905
|
+
SheetAction
|
|
891
906
|
};
|
|
892
|
-
//# sourceMappingURL=chunk-
|
|
907
|
+
//# sourceMappingURL=chunk-DVJ3QW3F.mjs.map
|