@gridsheet/react-core 0.12.4-beta.0 → 0.12.4-beta.1
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/components/Cell.js +56 -50
- package/dist/components/Cell.js.map +1 -1
- package/dist/components/ContextMenu.js +67 -60
- package/dist/components/ContextMenu.js.map +1 -1
- package/dist/components/Editor.js +51 -44
- package/dist/components/Editor.js.map +1 -1
- package/dist/components/Emitter.js +14 -7
- package/dist/components/Emitter.js.map +1 -1
- package/dist/components/GridSheet.js +64 -37
- package/dist/components/GridSheet.js.map +1 -1
- package/dist/components/HeaderLeftCell.js +30 -24
- package/dist/components/HeaderLeftCell.js.map +1 -1
- package/dist/components/HeaderTopCell.js +31 -25
- package/dist/components/HeaderTopCell.js.map +1 -1
- package/dist/components/Resizer.js +37 -31
- package/dist/components/Resizer.js.map +1 -1
- package/dist/components/SearchBox.js +25 -18
- package/dist/components/SearchBox.js.map +1 -1
- package/dist/components/StoreInitializer.js +37 -30
- package/dist/components/StoreInitializer.js.map +1 -1
- package/dist/components/Tabular.js +53 -45
- package/dist/components/Tabular.js.map +1 -1
- package/dist/constants.js +20 -16
- package/dist/constants.js.map +1 -1
- package/dist/formula/evaluator.js +34 -18
- package/dist/formula/evaluator.js.map +1 -1
- package/dist/formula/functions/__base.js +5 -1
- package/dist/formula/functions/__base.js.map +1 -1
- package/dist/formula/functions/__utils.js +29 -21
- package/dist/formula/functions/__utils.js.map +1 -1
- package/dist/formula/functions/abs.js +10 -6
- package/dist/formula/functions/abs.js.map +1 -1
- package/dist/formula/functions/abs.spec.js +11 -9
- package/dist/formula/functions/abs.spec.js.map +1 -1
- package/dist/formula/functions/acos.js +11 -7
- package/dist/formula/functions/acos.js.map +1 -1
- package/dist/formula/functions/add.js +20 -16
- package/dist/formula/functions/add.js.map +1 -1
- package/dist/formula/functions/and.js +8 -4
- package/dist/formula/functions/and.js.map +1 -1
- package/dist/formula/functions/asin.js +11 -7
- package/dist/formula/functions/asin.js.map +1 -1
- package/dist/formula/functions/atan.js +10 -6
- package/dist/formula/functions/atan.js.map +1 -1
- package/dist/formula/functions/atan2.js +10 -6
- package/dist/formula/functions/atan2.js.map +1 -1
- package/dist/formula/functions/average.js +14 -10
- package/dist/formula/functions/average.js.map +1 -1
- package/dist/formula/functions/col.js +8 -4
- package/dist/formula/functions/col.js.map +1 -1
- package/dist/formula/functions/concat.js +10 -6
- package/dist/formula/functions/concat.js.map +1 -1
- package/dist/formula/functions/concatenate.js +8 -4
- package/dist/formula/functions/concatenate.js.map +1 -1
- package/dist/formula/functions/cos.js +10 -6
- package/dist/formula/functions/cos.js.map +1 -1
- package/dist/formula/functions/count.js +12 -8
- package/dist/formula/functions/count.js.map +1 -1
- package/dist/formula/functions/counta.js +12 -8
- package/dist/formula/functions/counta.js.map +1 -1
- package/dist/formula/functions/countif.js +12 -8
- package/dist/formula/functions/countif.js.map +1 -1
- package/dist/formula/functions/divide.js +11 -7
- package/dist/formula/functions/divide.js.map +1 -1
- package/dist/formula/functions/eq.js +8 -4
- package/dist/formula/functions/eq.js.map +1 -1
- package/dist/formula/functions/exp.js +10 -6
- package/dist/formula/functions/exp.js.map +1 -1
- package/dist/formula/functions/gt.js +10 -6
- package/dist/formula/functions/gt.js.map +1 -1
- package/dist/formula/functions/gte.js +10 -6
- package/dist/formula/functions/gte.js.map +1 -1
- package/dist/formula/functions/hlookup.js +19 -15
- package/dist/formula/functions/hlookup.js.map +1 -1
- package/dist/formula/functions/if.js +10 -6
- package/dist/formula/functions/if.js.map +1 -1
- package/dist/formula/functions/iferror.js +10 -6
- package/dist/formula/functions/iferror.js.map +1 -1
- package/dist/formula/functions/iferror.spec.js +20 -18
- package/dist/formula/functions/iferror.spec.js.map +1 -1
- package/dist/formula/functions/len.js +10 -6
- package/dist/formula/functions/len.js.map +1 -1
- package/dist/formula/functions/lenb.js +10 -6
- package/dist/formula/functions/lenb.js.map +1 -1
- package/dist/formula/functions/ln.js +11 -7
- package/dist/formula/functions/ln.js.map +1 -1
- package/dist/formula/functions/log.js +12 -8
- package/dist/formula/functions/log.js.map +1 -1
- package/dist/formula/functions/log10.js +11 -7
- package/dist/formula/functions/log10.js.map +1 -1
- package/dist/formula/functions/lt.js +10 -6
- package/dist/formula/functions/lt.js.map +1 -1
- package/dist/formula/functions/lte.js +10 -6
- package/dist/formula/functions/lte.js.map +1 -1
- package/dist/formula/functions/max.js +14 -10
- package/dist/formula/functions/max.js.map +1 -1
- package/dist/formula/functions/min.js +14 -10
- package/dist/formula/functions/min.js.map +1 -1
- package/dist/formula/functions/minus.js +20 -16
- package/dist/formula/functions/minus.js.map +1 -1
- package/dist/formula/functions/mod.js +11 -7
- package/dist/formula/functions/mod.js.map +1 -1
- package/dist/formula/functions/mod.spec.js +17 -15
- package/dist/formula/functions/mod.spec.js.map +1 -1
- package/dist/formula/functions/multiply.js +10 -6
- package/dist/formula/functions/multiply.js.map +1 -1
- package/dist/formula/functions/ne.js +8 -4
- package/dist/formula/functions/ne.js.map +1 -1
- package/dist/formula/functions/not.js +10 -6
- package/dist/formula/functions/not.js.map +1 -1
- package/dist/formula/functions/now.js +8 -4
- package/dist/formula/functions/now.js.map +1 -1
- package/dist/formula/functions/or.js +8 -4
- package/dist/formula/functions/or.js.map +1 -1
- package/dist/formula/functions/pi.js +8 -4
- package/dist/formula/functions/pi.js.map +1 -1
- package/dist/formula/functions/power.js +10 -6
- package/dist/formula/functions/power.js.map +1 -1
- package/dist/formula/functions/product.js +12 -8
- package/dist/formula/functions/product.js.map +1 -1
- package/dist/formula/functions/radians.js +10 -6
- package/dist/formula/functions/radians.js.map +1 -1
- package/dist/formula/functions/rand.js +8 -4
- package/dist/formula/functions/rand.js.map +1 -1
- package/dist/formula/functions/round.js +10 -6
- package/dist/formula/functions/round.js.map +1 -1
- package/dist/formula/functions/rounddown.js +10 -6
- package/dist/formula/functions/rounddown.js.map +1 -1
- package/dist/formula/functions/roundup.js +10 -6
- package/dist/formula/functions/roundup.js.map +1 -1
- package/dist/formula/functions/row.js +8 -4
- package/dist/formula/functions/row.js.map +1 -1
- package/dist/formula/functions/sin.js +10 -6
- package/dist/formula/functions/sin.js.map +1 -1
- package/dist/formula/functions/sqrt.js +11 -7
- package/dist/formula/functions/sqrt.js.map +1 -1
- package/dist/formula/functions/sum.js +14 -10
- package/dist/formula/functions/sum.js.map +1 -1
- package/dist/formula/functions/sum.spec.js +15 -13
- package/dist/formula/functions/sum.spec.js.map +1 -1
- package/dist/formula/functions/sumif.js +18 -14
- package/dist/formula/functions/sumif.js.map +1 -1
- package/dist/formula/functions/tan.js +10 -6
- package/dist/formula/functions/tan.js.map +1 -1
- package/dist/formula/functions/uminus.js +10 -6
- package/dist/formula/functions/uminus.js.map +1 -1
- package/dist/formula/functions/vlookup.js +19 -15
- package/dist/formula/functions/vlookup.js.map +1 -1
- package/dist/formula/mapping.js +115 -112
- package/dist/formula/mapping.js.map +1 -1
- package/dist/formula/solver.js +20 -15
- package/dist/formula/solver.js.map +1 -1
- package/dist/index.js +31 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/autofill.js +21 -17
- package/dist/lib/autofill.js.map +1 -1
- package/dist/lib/clipboard.js +9 -5
- package/dist/lib/clipboard.js.map +1 -1
- package/dist/lib/converters.js +24 -13
- package/dist/lib/converters.js.map +1 -1
- package/dist/lib/structs.js +67 -39
- package/dist/lib/structs.js.map +1 -1
- package/dist/lib/table.js +76 -72
- package/dist/lib/table.js.map +1 -1
- package/dist/lib/time.js +11 -7
- package/dist/lib/time.js.map +1 -1
- package/dist/lib/virtualization.js +26 -19
- package/dist/lib/virtualization.js.map +1 -1
- package/dist/parsers/core.js +12 -8
- package/dist/parsers/core.js.map +1 -1
- package/dist/renderers/checkbox.js +9 -3
- package/dist/renderers/checkbox.js.map +1 -1
- package/dist/renderers/core.js +20 -16
- package/dist/renderers/core.js.map +1 -1
- package/dist/renderers/thousand_separator.js +4 -1
- package/dist/renderers/thousand_separator.js.map +1 -1
- package/dist/store/actions.js +81 -76
- package/dist/store/actions.js.map +1 -1
- package/dist/store/helpers.js +11 -5
- package/dist/store/helpers.js.map +1 -1
- package/dist/store/index.js +28 -2
- package/dist/store/index.js.map +1 -1
- package/dist/styles/embedder.js +9 -5
- package/dist/styles/embedder.js.map +1 -1
- package/dist/styles/minified.js +5 -2
- package/dist/styles/minified.js.map +1 -1
- package/dist/types.js +2 -1
- package/dist/utils.js +5 -1
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,63 +1,70 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Tabular = exports.createTableRef = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const Editor_1 = require("./Editor");
|
|
9
|
+
const Cell_1 = require("./Cell");
|
|
10
|
+
const HeaderTopCell_1 = require("./HeaderTopCell");
|
|
11
|
+
const HeaderLeftCell_1 = require("./HeaderLeftCell");
|
|
12
|
+
const SearchBox_1 = require("./SearchBox");
|
|
13
|
+
const store_1 = require("../store");
|
|
14
|
+
const actions_1 = require("../store/actions");
|
|
15
|
+
const virtualization_1 = require("../lib/virtualization");
|
|
16
|
+
const createTableRef = () => react_1.default.useRef(null);
|
|
17
|
+
exports.createTableRef = createTableRef;
|
|
18
|
+
const Tabular = ({ tableRef }) => {
|
|
12
19
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
13
|
-
const { store, dispatch } =
|
|
20
|
+
const { store, dispatch } = react_1.default.useContext(store_1.Context);
|
|
14
21
|
const { sheetHeight, sheetWidth, headerHeight, headerWidth, table, tableInitialized, gridOuterRef, sheetRef, } = store;
|
|
15
|
-
|
|
22
|
+
react_1.default.useEffect(() => {
|
|
16
23
|
if (tableRef && tableInitialized) {
|
|
17
24
|
tableRef.current = {
|
|
18
25
|
table,
|
|
19
26
|
dispatch: (table) => {
|
|
20
|
-
dispatch(updateTable(table));
|
|
27
|
+
dispatch((0, actions_1.updateTable)(table));
|
|
21
28
|
},
|
|
22
29
|
};
|
|
23
30
|
}
|
|
24
31
|
}, [table]);
|
|
25
|
-
const [virtualized, setVirtualized] =
|
|
26
|
-
|
|
27
|
-
setVirtualized(virtualize(table, gridOuterRef.current));
|
|
32
|
+
const [virtualized, setVirtualized] = react_1.default.useState(null);
|
|
33
|
+
react_1.default.useEffect(() => {
|
|
34
|
+
setVirtualized((0, virtualization_1.virtualize)(table, gridOuterRef.current));
|
|
28
35
|
}, [
|
|
29
36
|
gridOuterRef.current,
|
|
30
37
|
table,
|
|
31
38
|
(_a = sheetRef.current) === null || _a === void 0 ? void 0 : _a.clientHeight,
|
|
32
39
|
(_b = sheetRef.current) === null || _b === void 0 ? void 0 : _b.clientWidth,
|
|
33
40
|
]);
|
|
34
|
-
return (
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
42
|
+
react_1.default.createElement(Editor_1.Editor, null),
|
|
43
|
+
react_1.default.createElement(SearchBox_1.SearchBox, null),
|
|
44
|
+
react_1.default.createElement("div", { className: "gs-tabular", style: {
|
|
38
45
|
width: sheetWidth,
|
|
39
46
|
height: sheetHeight,
|
|
40
47
|
}, ref: gridOuterRef, onMouseEnter: () => {
|
|
41
|
-
dispatch(setEntering(true));
|
|
48
|
+
dispatch((0, actions_1.setEntering)(true));
|
|
42
49
|
}, onMouseLeave: () => {
|
|
43
|
-
dispatch(setEntering(false));
|
|
50
|
+
dispatch((0, actions_1.setEntering)(false));
|
|
44
51
|
}, onScroll: (e) => {
|
|
45
|
-
setVirtualized(virtualize(table, e.currentTarget));
|
|
52
|
+
setVirtualized((0, virtualization_1.virtualize)(table, e.currentTarget));
|
|
46
53
|
} },
|
|
47
|
-
|
|
54
|
+
react_1.default.createElement("div", { className: "gs-tabular-inner", style: {
|
|
48
55
|
width: table.totalWidth,
|
|
49
56
|
height: table.totalHeight,
|
|
50
57
|
} },
|
|
51
|
-
|
|
58
|
+
react_1.default.createElement("table", { className: `gs-table`, style: {
|
|
52
59
|
width: table.totalWidth,
|
|
53
60
|
} },
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
dispatch(choose({ y: -1, x: -1 }));
|
|
61
|
+
react_1.default.createElement("thead", null,
|
|
62
|
+
react_1.default.createElement("tr", { style: { height: headerHeight } },
|
|
63
|
+
react_1.default.createElement("th", { className: "gs-header gs-header-left gs-header-top gs-header-left-top", style: { width: headerWidth, position: "sticky" }, onClick: () => {
|
|
64
|
+
dispatch((0, actions_1.choose)({ y: -1, x: -1 }));
|
|
58
65
|
window.setTimeout(() => {
|
|
59
|
-
dispatch(choose({ y: 1, x: 1 }));
|
|
60
|
-
dispatch(select({
|
|
66
|
+
dispatch((0, actions_1.choose)({ y: 1, x: 1 }));
|
|
67
|
+
dispatch((0, actions_1.select)({
|
|
61
68
|
startY: 1,
|
|
62
69
|
startX: 1,
|
|
63
70
|
endY: table.getNumRows(),
|
|
@@ -65,20 +72,21 @@ export const Tabular = ({ tableRef }) => {
|
|
|
65
72
|
}));
|
|
66
73
|
}, 100);
|
|
67
74
|
} }),
|
|
68
|
-
|
|
69
|
-
_e.call(_d, (x) =>
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
_h.map((x) =>
|
|
75
|
-
|
|
75
|
+
react_1.default.createElement("th", { className: "gs-adjuster", style: { width: (_c = virtualized === null || virtualized === void 0 ? void 0 : virtualized.adjuster) === null || _c === void 0 ? void 0 : _c.left } }), (_e = (_d = virtualized === null || virtualized === void 0 ? void 0 : virtualized.xs) === null || _d === void 0 ? void 0 : _d.map) === null || _e === void 0 ? void 0 :
|
|
76
|
+
_e.call(_d, (x) => react_1.default.createElement(HeaderTopCell_1.HeaderTopCell, { x: x, key: x })),
|
|
77
|
+
react_1.default.createElement("th", { className: "gs-adjuster", style: { width: (_f = virtualized === null || virtualized === void 0 ? void 0 : virtualized.adjuster) === null || _f === void 0 ? void 0 : _f.right } }))),
|
|
78
|
+
react_1.default.createElement("tbody", null,
|
|
79
|
+
react_1.default.createElement("tr", null,
|
|
80
|
+
react_1.default.createElement("th", { className: "gs-header gs-header-left gs-adjuster", style: { height: (_g = virtualized === null || virtualized === void 0 ? void 0 : virtualized.adjuster) === null || _g === void 0 ? void 0 : _g.top } }), (_h = virtualized === null || virtualized === void 0 ? void 0 : virtualized.xs) === null || _h === void 0 ? void 0 :
|
|
81
|
+
_h.map((x) => react_1.default.createElement("td", { className: "gs-adjuster", key: x })))),
|
|
82
|
+
react_1.default.createElement("tbody", null, (_j = virtualized === null || virtualized === void 0 ? void 0 : virtualized.ys) === null || _j === void 0 ? void 0 : _j.map((y, i) => {
|
|
76
83
|
var _a;
|
|
77
|
-
return (
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
_a.map((x) =>
|
|
81
|
-
|
|
84
|
+
return (react_1.default.createElement("tr", { key: y },
|
|
85
|
+
react_1.default.createElement(HeaderLeftCell_1.HeaderLeftCell, { y: y }),
|
|
86
|
+
react_1.default.createElement("td", { className: "gs-adjuster" }), (_a = virtualized === null || virtualized === void 0 ? void 0 : virtualized.xs) === null || _a === void 0 ? void 0 :
|
|
87
|
+
_a.map((x) => react_1.default.createElement(Cell_1.Cell, { key: x, y: y, x: x })),
|
|
88
|
+
react_1.default.createElement("td", { className: "gs-adjuster" })));
|
|
82
89
|
})))))));
|
|
83
90
|
};
|
|
91
|
+
exports.Tabular = Tabular;
|
|
84
92
|
//# sourceMappingURL=Tabular.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabular.js","sourceRoot":"","sources":["../../src/components/Tabular.tsx"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"Tabular.js","sourceRoot":"","sources":["../../src/components/Tabular.tsx"],"names":[],"mappings":"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"}
|
package/dist/constants.js
CHANGED
|
@@ -1,24 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Special = exports.DEFAULT_ALPHABET_CACHE_SIZE = exports.OVERSCAN_Y = exports.OVERSCAN_X = exports.MIN_HEIGHT = exports.MIN_WIDTH = exports.HEADER_WIDTH = exports.HEADER_HEIGHT = exports.SHEET_WIDTH = exports.SHEET_HEIGHT = exports.DEFAULT_WIDTH = exports.DEFAULT_HEIGHT = exports.HISTORY_LIMIT = exports.DUMMY_IMG = void 0;
|
|
1
4
|
const IMG_BASE64 = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";
|
|
2
|
-
|
|
5
|
+
exports.DUMMY_IMG = (typeof window === 'undefined' ? null :
|
|
3
6
|
document.createElement("img"));
|
|
4
|
-
if (DUMMY_IMG) {
|
|
5
|
-
DUMMY_IMG.src = IMG_BASE64;
|
|
7
|
+
if (exports.DUMMY_IMG) {
|
|
8
|
+
exports.DUMMY_IMG.src = IMG_BASE64;
|
|
6
9
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
10
|
+
exports.HISTORY_LIMIT = 10;
|
|
11
|
+
exports.DEFAULT_HEIGHT = 24;
|
|
12
|
+
exports.DEFAULT_WIDTH = 90;
|
|
13
|
+
exports.SHEET_HEIGHT = 500;
|
|
14
|
+
exports.SHEET_WIDTH = 1000;
|
|
15
|
+
exports.HEADER_HEIGHT = 24;
|
|
16
|
+
exports.HEADER_WIDTH = 50;
|
|
17
|
+
exports.MIN_WIDTH = 5;
|
|
18
|
+
exports.MIN_HEIGHT = 5;
|
|
19
|
+
exports.OVERSCAN_X = 5;
|
|
20
|
+
exports.OVERSCAN_Y = 10;
|
|
21
|
+
exports.DEFAULT_ALPHABET_CACHE_SIZE = 1000;
|
|
22
|
+
class Special {
|
|
20
23
|
constructor(name) {
|
|
21
24
|
this.name = name;
|
|
22
25
|
}
|
|
23
26
|
}
|
|
27
|
+
exports.Special = Special;
|
|
24
28
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,4EAA4E,CAAA;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA,MAAM,UAAU,GAAG,4EAA4E,CAAA;AAElF,QAAA,SAAS,GACpB,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAqB,CAAC;AAEvD,IAAI,iBAAS,EAAE;IACb,iBAAS,CAAC,GAAG,GAAG,UAAU,CAAC;CAC5B;AAEY,QAAA,aAAa,GAAG,EAAE,CAAC;AAEnB,QAAA,cAAc,GAAG,EAAE,CAAC;AACpB,QAAA,aAAa,GAAG,EAAE,CAAC;AAEnB,QAAA,YAAY,GAAG,GAAG,CAAC;AACnB,QAAA,WAAW,GAAG,IAAI,CAAC;AAEnB,QAAA,aAAa,GAAG,EAAE,CAAC;AACnB,QAAA,YAAY,GAAG,EAAE,CAAC;AAElB,QAAA,SAAS,GAAG,CAAC,CAAC;AACd,QAAA,UAAU,GAAG,CAAC,CAAC;AAEf,QAAA,UAAU,GAAG,CAAC,CAAC;AACf,QAAA,UAAU,GAAG,EAAE,CAAC;AAEhB,QAAA,2BAA2B,GAAG,IAAI,CAAC;AAEhD,MAAa,OAAO;IAElB,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AALD,0BAKC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertFormulaAbsolute = exports.Parser = exports.Lexer = exports.Token = exports.Function = exports.IdRange = exports.Id = exports.Range = exports.Ref = exports.InvalidRef = exports.Unreferenced = exports.Value = exports.FormulaError = void 0;
|
|
4
|
+
const structs_1 = require("../lib/structs");
|
|
5
|
+
const converters_1 = require("../lib/converters");
|
|
3
6
|
// strip sharp and dollars
|
|
4
7
|
const getId = (idString, stripAbsolute = true) => {
|
|
5
8
|
let id = idString.slice(1);
|
|
@@ -11,39 +14,43 @@ const getId = (idString, stripAbsolute = true) => {
|
|
|
11
14
|
}
|
|
12
15
|
return id;
|
|
13
16
|
};
|
|
14
|
-
|
|
17
|
+
class FormulaError {
|
|
15
18
|
constructor(code, message, error) {
|
|
16
19
|
this.code = code;
|
|
17
20
|
this.message = message;
|
|
18
21
|
this.error = error;
|
|
19
22
|
}
|
|
20
23
|
}
|
|
24
|
+
exports.FormulaError = FormulaError;
|
|
21
25
|
class Entity {
|
|
22
26
|
constructor(value) {
|
|
23
27
|
this.value = value;
|
|
24
28
|
}
|
|
25
29
|
}
|
|
26
|
-
|
|
30
|
+
class Value extends Entity {
|
|
27
31
|
evaluate({}) {
|
|
28
32
|
return this.value;
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
|
-
|
|
35
|
+
exports.Value = Value;
|
|
36
|
+
class Unreferenced extends Entity {
|
|
32
37
|
evaluate({}) {
|
|
33
38
|
throw new FormulaError("#REF!", `Reference does not exist.`);
|
|
34
39
|
}
|
|
35
40
|
}
|
|
36
|
-
|
|
41
|
+
exports.Unreferenced = Unreferenced;
|
|
42
|
+
class InvalidRef extends Entity {
|
|
37
43
|
evaluate({}) {
|
|
38
44
|
throw new FormulaError("#NAME?", `Invalid ref: ${this.value}`);
|
|
39
45
|
}
|
|
40
46
|
}
|
|
41
|
-
|
|
47
|
+
exports.InvalidRef = InvalidRef;
|
|
48
|
+
class Ref extends Entity {
|
|
42
49
|
constructor(value) {
|
|
43
50
|
super(value.toUpperCase());
|
|
44
51
|
}
|
|
45
52
|
evaluate({ table }) {
|
|
46
|
-
const { y, x } = a2p(this.value);
|
|
53
|
+
const { y, x } = (0, converters_1.a2p)(this.value);
|
|
47
54
|
return table.trim({ top: y, left: x, bottom: y, right: x });
|
|
48
55
|
}
|
|
49
56
|
id(table) {
|
|
@@ -54,12 +61,13 @@ export class Ref extends Entity {
|
|
|
54
61
|
return this.value;
|
|
55
62
|
}
|
|
56
63
|
}
|
|
57
|
-
|
|
64
|
+
exports.Ref = Ref;
|
|
65
|
+
class Range extends Entity {
|
|
58
66
|
constructor(value) {
|
|
59
67
|
super(value.toUpperCase());
|
|
60
68
|
}
|
|
61
69
|
evaluate({ table }) {
|
|
62
|
-
const area = rangeToArea(this.complementRange(table));
|
|
70
|
+
const area = (0, structs_1.rangeToArea)(this.complementRange(table));
|
|
63
71
|
return table.trim(area);
|
|
64
72
|
}
|
|
65
73
|
idRange(table) {
|
|
@@ -81,12 +89,13 @@ export class Range extends Entity {
|
|
|
81
89
|
end += table.getNumRows();
|
|
82
90
|
}
|
|
83
91
|
if (!end.match(/[a-zA-Z]/)) {
|
|
84
|
-
end = x2c(table.getNumCols() + 1) + end;
|
|
92
|
+
end = (0, converters_1.x2c)(table.getNumCols() + 1) + end;
|
|
85
93
|
}
|
|
86
94
|
return `${start}:${end}`;
|
|
87
95
|
}
|
|
88
96
|
}
|
|
89
|
-
|
|
97
|
+
exports.Range = Range;
|
|
98
|
+
class Id extends Entity {
|
|
90
99
|
evaluate({ table }) {
|
|
91
100
|
const id = getId(this.value);
|
|
92
101
|
const { y, x } = table.getPointById(id);
|
|
@@ -103,7 +112,8 @@ export class Id extends Entity {
|
|
|
103
112
|
return table.getIdByAddress(address);
|
|
104
113
|
}
|
|
105
114
|
}
|
|
106
|
-
|
|
115
|
+
exports.Id = Id;
|
|
116
|
+
class IdRange extends Entity {
|
|
107
117
|
evaluate({ table }) {
|
|
108
118
|
const ids = this.value.split(":");
|
|
109
119
|
const [p1, p2] = ids
|
|
@@ -123,7 +133,8 @@ export class IdRange extends Entity {
|
|
|
123
133
|
return new Range(range).idRange(table);
|
|
124
134
|
}
|
|
125
135
|
}
|
|
126
|
-
|
|
136
|
+
exports.IdRange = IdRange;
|
|
137
|
+
class Function {
|
|
127
138
|
constructor(name, precedence = 0, args = []) {
|
|
128
139
|
this.name = name;
|
|
129
140
|
this.precedence = precedence;
|
|
@@ -139,6 +150,7 @@ export class Function {
|
|
|
139
150
|
return func.call();
|
|
140
151
|
}
|
|
141
152
|
}
|
|
153
|
+
exports.Function = Function;
|
|
142
154
|
const ZERO = new Value(0);
|
|
143
155
|
const INFIX_FUNCTION_NAME_MAP = {
|
|
144
156
|
"+": "add",
|
|
@@ -157,7 +169,7 @@ const INFIX_FUNCTION_NAME_MAP = {
|
|
|
157
169
|
const PREFIX_FUNCTION_NAME_MAP = {
|
|
158
170
|
"-": "uminus",
|
|
159
171
|
};
|
|
160
|
-
|
|
172
|
+
class Token {
|
|
161
173
|
constructor(type, entity, precedence = 0) {
|
|
162
174
|
this.type = type;
|
|
163
175
|
this.entity = entity;
|
|
@@ -192,12 +204,13 @@ export class Token {
|
|
|
192
204
|
}
|
|
193
205
|
}
|
|
194
206
|
}
|
|
207
|
+
exports.Token = Token;
|
|
195
208
|
const isWhiteSpace = (char) => {
|
|
196
209
|
return char === " " || char === "\n" || char === "\t";
|
|
197
210
|
};
|
|
198
211
|
const TOKEN_OPEN = new Token("OPEN", "("), TOKEN_CLOSE = new Token("CLOSE", ")"), TOKEN_COMMA = new Token("COMMA", ","), TOKEN_ADD = new Token("INFIX_OPERATOR", "+", 3), TOKEN_MINUS = new Token("INFIX_OPERATOR", "-", 3), TOKEN_UMINUS = new Token("PREFIX_OPERATOR", "-", 6), TOKEN_DIVIDE = new Token("INFIX_OPERATOR", "/", 4), TOKEN_MULTIPLY = new Token("INFIX_OPERATOR", "*", 4), TOKEN_POWER = new Token("INFIX_OPERATOR", "^", 5), TOKEN_CONCAT = new Token("INFIX_OPERATOR", "&", 4), TOKEN_GTE = new Token("INFIX_OPERATOR", ">=", 2), TOKEN_GT = new Token("INFIX_OPERATOR", ">", 2), TOKEN_LTE = new Token("INFIX_OPERATOR", "<=", 2), TOKEN_LT = new Token("INFIX_OPERATOR", "<", 2), TOKEN_NE = new Token("INFIX_OPERATOR", "<>", 1), TOKEN_EQ = new Token("INFIX_OPERATOR", "=", 1);
|
|
199
212
|
const BOOLS = { ["true"]: true, ["false"]: false };
|
|
200
|
-
|
|
213
|
+
class Lexer {
|
|
201
214
|
constructor(formula) {
|
|
202
215
|
this.tokens = [];
|
|
203
216
|
this.formula = formula;
|
|
@@ -419,7 +432,8 @@ export class Lexer {
|
|
|
419
432
|
return buf;
|
|
420
433
|
}
|
|
421
434
|
}
|
|
422
|
-
|
|
435
|
+
exports.Lexer = Lexer;
|
|
436
|
+
class Parser {
|
|
423
437
|
constructor(tokens) {
|
|
424
438
|
this.index = 0;
|
|
425
439
|
this.depth = 0;
|
|
@@ -528,7 +542,8 @@ export class Parser {
|
|
|
528
542
|
return complement();
|
|
529
543
|
}
|
|
530
544
|
}
|
|
531
|
-
|
|
545
|
+
exports.Parser = Parser;
|
|
546
|
+
const convertFormulaAbsolute = ({ value, table, slideY = 0, slideX = 0, }) => {
|
|
532
547
|
if (typeof value === "string" || value instanceof String) {
|
|
533
548
|
if (value.charAt(0) === "=") {
|
|
534
549
|
const lexer = new Lexer(value.substring(1));
|
|
@@ -538,4 +553,5 @@ export const convertFormulaAbsolute = ({ value, table, slideY = 0, slideX = 0, }
|
|
|
538
553
|
}
|
|
539
554
|
return value;
|
|
540
555
|
};
|
|
556
|
+
exports.convertFormulaAbsolute = convertFormulaAbsolute;
|
|
541
557
|
//# sourceMappingURL=evaluator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../src/formula/evaluator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../src/formula/evaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseFunction = void 0;
|
|
4
|
+
class BaseFunction {
|
|
2
5
|
constructor({ args, table }) {
|
|
3
6
|
this.example = "_BASE()";
|
|
4
7
|
this.helpTexts = ["Function's description."];
|
|
@@ -13,4 +16,5 @@ export class BaseFunction {
|
|
|
13
16
|
return this.main(...this.bareArgs);
|
|
14
17
|
}
|
|
15
18
|
}
|
|
19
|
+
exports.BaseFunction = BaseFunction;
|
|
16
20
|
//# sourceMappingURL=__base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"__base.js","sourceRoot":"","sources":["../../../src/formula/functions/__base.ts"],"names":[],"mappings":"AAQA,
|
|
1
|
+
{"version":3,"file":"__base.js","sourceRoot":"","sources":["../../../src/formula/functions/__base.ts"],"names":[],"mappings":";;;AAQA,MAAa,YAAY;IAOvB,YAAY,EAAE,IAAI,EAAE,KAAK,EAAiB;QANnC,YAAO,GAAG,SAAS,CAAC;QACpB,cAAS,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACxC,aAAQ,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QAKtD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACS,QAAQ,KAAI,CAAC;IAEhB,IAAI;QACT,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,aAAa;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;CACF;AAnBD,oCAmBC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.check = exports.stripTable = exports.ensureBoolean = exports.ensureString = exports.ensureNumber = void 0;
|
|
4
|
+
const solver_1 = require("../solver");
|
|
5
|
+
const table_1 = require("../../lib/table");
|
|
6
|
+
const evaluator_1 = require("../evaluator");
|
|
7
|
+
const ensureNumber = (value, alternative) => {
|
|
5
8
|
if (typeof value === "undefined" && typeof alternative !== "undefined") {
|
|
6
9
|
return alternative;
|
|
7
10
|
}
|
|
@@ -9,23 +12,24 @@ export const ensureNumber = (value, alternative) => {
|
|
|
9
12
|
// falsy is 0
|
|
10
13
|
return 0;
|
|
11
14
|
}
|
|
12
|
-
if (value instanceof Table) {
|
|
13
|
-
const v = stripTable(value, 0, 0);
|
|
14
|
-
return ensureNumber(v, alternative);
|
|
15
|
+
if (value instanceof table_1.Table) {
|
|
16
|
+
const v = (0, exports.stripTable)(value, 0, 0);
|
|
17
|
+
return (0, exports.ensureNumber)(v, alternative);
|
|
15
18
|
}
|
|
16
19
|
const num = parseFloat(value);
|
|
17
20
|
if (isNaN(num)) {
|
|
18
|
-
throw new FormulaError("#VALUE!", `${value} cannot be converted to a number`);
|
|
21
|
+
throw new evaluator_1.FormulaError("#VALUE!", `${value} cannot be converted to a number`);
|
|
19
22
|
}
|
|
20
23
|
return num;
|
|
21
24
|
};
|
|
22
|
-
|
|
25
|
+
exports.ensureNumber = ensureNumber;
|
|
26
|
+
const ensureString = (value) => {
|
|
23
27
|
if (!value) {
|
|
24
28
|
return "";
|
|
25
29
|
}
|
|
26
|
-
if (value instanceof Table) {
|
|
27
|
-
const v = stripTable(value, 0, 0);
|
|
28
|
-
return ensureString(v);
|
|
30
|
+
if (value instanceof table_1.Table) {
|
|
31
|
+
const v = (0, exports.stripTable)(value, 0, 0);
|
|
32
|
+
return (0, exports.ensureString)(v);
|
|
29
33
|
}
|
|
30
34
|
switch (value.constructor.name) {
|
|
31
35
|
case "Date":
|
|
@@ -37,34 +41,37 @@ export const ensureString = (value) => {
|
|
|
37
41
|
return String(value);
|
|
38
42
|
}
|
|
39
43
|
};
|
|
40
|
-
|
|
44
|
+
exports.ensureString = ensureString;
|
|
45
|
+
const ensureBoolean = (value, alternative) => {
|
|
41
46
|
if (typeof value === "undefined" && typeof alternative !== "undefined") {
|
|
42
47
|
return alternative;
|
|
43
48
|
}
|
|
44
49
|
if (value === null) {
|
|
45
50
|
return false;
|
|
46
51
|
}
|
|
47
|
-
if (value instanceof Table) {
|
|
48
|
-
const v = stripTable(value, 0, 0);
|
|
49
|
-
return ensureBoolean(v, alternative);
|
|
52
|
+
if (value instanceof table_1.Table) {
|
|
53
|
+
const v = (0, exports.stripTable)(value, 0, 0);
|
|
54
|
+
return (0, exports.ensureBoolean)(v, alternative);
|
|
50
55
|
}
|
|
51
56
|
if (typeof value === "string" || value instanceof String) {
|
|
52
57
|
const bool = { true: true, false: false }[value.toLowerCase()];
|
|
53
58
|
if (bool == null) {
|
|
54
|
-
throw new FormulaError("#VALUE!", `text '${value}' cannot be converted to a boolean`);
|
|
59
|
+
throw new evaluator_1.FormulaError("#VALUE!", `text '${value}' cannot be converted to a boolean`);
|
|
55
60
|
}
|
|
56
61
|
return bool;
|
|
57
62
|
}
|
|
58
63
|
return Boolean(value);
|
|
59
64
|
};
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
exports.ensureBoolean = ensureBoolean;
|
|
66
|
+
const stripTable = (value, y = 0, x = 0) => {
|
|
67
|
+
if (value instanceof table_1.Table) {
|
|
68
|
+
return (0, solver_1.solveTable)({ table: value })[y][x];
|
|
63
69
|
}
|
|
64
70
|
return value;
|
|
65
71
|
};
|
|
72
|
+
exports.stripTable = stripTable;
|
|
66
73
|
const CONDITION_REGEX = /^(?<expr>|<=|>=|<>|>|<|=)?(?<target>.*)$/;
|
|
67
|
-
|
|
74
|
+
const check = (value, condition) => {
|
|
68
75
|
const m = condition.match(CONDITION_REGEX);
|
|
69
76
|
const { expr = "", target = "" } = m === null || m === void 0 ? void 0 : m.groups;
|
|
70
77
|
const comparison = parseFloat(target);
|
|
@@ -99,4 +106,5 @@ export const check = (value, condition) => {
|
|
|
99
106
|
}
|
|
100
107
|
return (value == comparison) === equals;
|
|
101
108
|
};
|
|
109
|
+
exports.check = check;
|
|
102
110
|
//# sourceMappingURL=__utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"__utils.js","sourceRoot":"","sources":["../../../src/formula/functions/__utils.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"__utils.js","sourceRoot":"","sources":["../../../src/formula/functions/__utils.ts"],"names":[],"mappings":"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"}
|