@gridsheet/react-core 0.12.3 → 0.12.4-rc.0
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 +197 -181
- package/dist/components/Cell.js.map +1 -1
- package/dist/components/ContextMenu.js +211 -194
- package/dist/components/ContextMenu.js.map +1 -1
- package/dist/components/Editor.js +280 -263
- package/dist/components/Editor.js.map +1 -1
- package/dist/components/Emitter.js +41 -24
- package/dist/components/Emitter.js.map +1 -1
- package/dist/components/GridSheet.js +142 -105
- package/dist/components/GridSheet.js.map +1 -1
- package/dist/components/HeaderLeftCell.js +76 -60
- package/dist/components/HeaderLeftCell.js.map +1 -1
- package/dist/components/HeaderTopCell.js +77 -61
- package/dist/components/HeaderTopCell.js.map +1 -1
- package/dist/components/Resizer.js +91 -75
- package/dist/components/Resizer.js.map +1 -1
- package/dist/components/SearchBox.js +66 -49
- package/dist/components/SearchBox.js.map +1 -1
- package/dist/components/StoreInitializer.js +83 -66
- package/dist/components/StoreInitializer.js.map +1 -1
- package/dist/components/Tabular.js +98 -80
- package/dist/components/Tabular.js.map +1 -1
- package/dist/constants.js +33 -19
- package/dist/constants.js.map +1 -1
- package/dist/formula/evaluator.js +500 -474
- package/dist/formula/evaluator.js.map +1 -1
- package/dist/formula/functions/__base.js +27 -13
- package/dist/formula/functions/__base.js.map +1 -1
- package/dist/formula/functions/__utils.js +113 -95
- package/dist/formula/functions/__utils.js.map +1 -1
- package/dist/formula/functions/abs.js +31 -17
- package/dist/formula/functions/abs.js.map +1 -1
- package/dist/formula/functions/abs.spec.js +35 -23
- package/dist/formula/functions/abs.spec.js.map +1 -1
- package/dist/formula/functions/acos.js +38 -24
- package/dist/formula/functions/acos.js.map +1 -1
- package/dist/formula/functions/add.js +57 -43
- package/dist/formula/functions/add.js.map +1 -1
- package/dist/formula/functions/and.js +38 -24
- package/dist/formula/functions/and.js.map +1 -1
- package/dist/formula/functions/asin.js +38 -24
- package/dist/formula/functions/asin.js.map +1 -1
- package/dist/formula/functions/atan.js +36 -22
- package/dist/formula/functions/atan.js.map +1 -1
- package/dist/formula/functions/atan2.js +42 -28
- package/dist/formula/functions/atan2.js.map +1 -1
- package/dist/formula/functions/average.js +50 -36
- package/dist/formula/functions/average.js.map +1 -1
- package/dist/formula/functions/col.js +38 -24
- package/dist/formula/functions/col.js.map +1 -1
- package/dist/formula/functions/concat.js +37 -23
- package/dist/formula/functions/concat.js.map +1 -1
- package/dist/formula/functions/concatenate.js +35 -21
- package/dist/formula/functions/concatenate.js.map +1 -1
- package/dist/formula/functions/cos.js +36 -22
- package/dist/formula/functions/cos.js.map +1 -1
- package/dist/formula/functions/count.js +45 -31
- package/dist/formula/functions/count.js.map +1 -1
- package/dist/formula/functions/counta.js +45 -31
- package/dist/formula/functions/counta.js.map +1 -1
- package/dist/formula/functions/countif.js +40 -26
- package/dist/formula/functions/countif.js.map +1 -1
- package/dist/formula/functions/divide.js +42 -28
- package/dist/formula/functions/divide.js.map +1 -1
- package/dist/formula/functions/eq.js +35 -21
- package/dist/formula/functions/eq.js.map +1 -1
- package/dist/formula/functions/exp.js +38 -24
- package/dist/formula/functions/exp.js.map +1 -1
- package/dist/formula/functions/gt.js +37 -23
- package/dist/formula/functions/gt.js.map +1 -1
- package/dist/formula/functions/gte.js +37 -23
- package/dist/formula/functions/gte.js.map +1 -1
- package/dist/formula/functions/hlookup.js +77 -63
- package/dist/formula/functions/hlookup.js.map +1 -1
- package/dist/formula/functions/if.js +46 -32
- package/dist/formula/functions/if.js.map +1 -1
- package/dist/formula/functions/iferror.js +48 -34
- package/dist/formula/functions/iferror.js.map +1 -1
- package/dist/formula/functions/iferror.spec.js +63 -51
- package/dist/formula/functions/iferror.spec.js.map +1 -1
- package/dist/formula/functions/len.js +36 -22
- package/dist/formula/functions/len.js.map +1 -1
- package/dist/formula/functions/lenb.js +36 -22
- package/dist/formula/functions/lenb.js.map +1 -1
- package/dist/formula/functions/ln.js +38 -24
- package/dist/formula/functions/ln.js.map +1 -1
- package/dist/formula/functions/log.js +43 -29
- package/dist/formula/functions/log.js.map +1 -1
- package/dist/formula/functions/log10.js +38 -24
- package/dist/formula/functions/log10.js.map +1 -1
- package/dist/formula/functions/lt.js +37 -23
- package/dist/formula/functions/lt.js.map +1 -1
- package/dist/formula/functions/lte.js +37 -23
- package/dist/formula/functions/lte.js.map +1 -1
- package/dist/formula/functions/max.js +52 -38
- package/dist/formula/functions/max.js.map +1 -1
- package/dist/formula/functions/min.js +52 -38
- package/dist/formula/functions/min.js.map +1 -1
- package/dist/formula/functions/minus.js +57 -43
- package/dist/formula/functions/minus.js.map +1 -1
- package/dist/formula/functions/mod.js +40 -26
- package/dist/formula/functions/mod.js.map +1 -1
- package/dist/formula/functions/mod.spec.js +58 -46
- package/dist/formula/functions/mod.spec.js.map +1 -1
- package/dist/formula/functions/multiply.js +37 -23
- package/dist/formula/functions/multiply.js.map +1 -1
- package/dist/formula/functions/ne.js +35 -21
- package/dist/formula/functions/ne.js.map +1 -1
- package/dist/formula/functions/not.js +40 -26
- package/dist/formula/functions/not.js.map +1 -1
- package/dist/formula/functions/now.js +31 -17
- package/dist/formula/functions/now.js.map +1 -1
- package/dist/formula/functions/or.js +38 -24
- package/dist/formula/functions/or.js.map +1 -1
- package/dist/formula/functions/pi.js +29 -15
- package/dist/formula/functions/pi.js.map +1 -1
- package/dist/formula/functions/power.js +34 -20
- package/dist/formula/functions/power.js.map +1 -1
- package/dist/formula/functions/product.js +47 -33
- package/dist/formula/functions/product.js.map +1 -1
- package/dist/formula/functions/radians.js +36 -22
- package/dist/formula/functions/radians.js.map +1 -1
- package/dist/formula/functions/rand.js +29 -15
- package/dist/formula/functions/rand.js.map +1 -1
- package/dist/formula/functions/round.js +44 -30
- package/dist/formula/functions/round.js.map +1 -1
- package/dist/formula/functions/rounddown.js +44 -30
- package/dist/formula/functions/rounddown.js.map +1 -1
- package/dist/formula/functions/roundup.js +44 -30
- package/dist/formula/functions/roundup.js.map +1 -1
- package/dist/formula/functions/row.js +38 -24
- package/dist/formula/functions/row.js.map +1 -1
- package/dist/formula/functions/sin.js +36 -22
- package/dist/formula/functions/sin.js.map +1 -1
- package/dist/formula/functions/sqrt.js +38 -24
- package/dist/formula/functions/sqrt.js.map +1 -1
- package/dist/formula/functions/sum.js +52 -38
- package/dist/formula/functions/sum.js.map +1 -1
- package/dist/formula/functions/sum.spec.js +45 -33
- package/dist/formula/functions/sum.spec.js.map +1 -1
- package/dist/formula/functions/sumif.js +66 -52
- package/dist/formula/functions/sumif.js.map +1 -1
- package/dist/formula/functions/tan.js +36 -22
- package/dist/formula/functions/tan.js.map +1 -1
- package/dist/formula/functions/uminus.js +33 -19
- package/dist/formula/functions/uminus.js.map +1 -1
- package/dist/formula/functions/vlookup.js +77 -63
- package/dist/formula/functions/vlookup.js.map +1 -1
- package/dist/formula/mapping.js +126 -113
- package/dist/formula/mapping.js.map +1 -1
- package/dist/formula/solver.js +71 -56
- package/dist/formula/solver.js.map +1 -1
- package/dist/index.js +41 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/autofill.js +344 -330
- package/dist/lib/autofill.js.map +1 -1
- package/dist/lib/clipboard.js +55 -41
- package/dist/lib/clipboard.js.map +1 -1
- package/dist/lib/converters.js +140 -119
- package/dist/lib/converters.js.map +1 -1
- package/dist/lib/structs.js +266 -228
- package/dist/lib/structs.js.map +1 -1
- package/dist/lib/table.js +915 -900
- package/dist/lib/table.js.map +1 -1
- package/dist/lib/time.js +69 -55
- package/dist/lib/time.js.map +1 -1
- package/dist/lib/virtualization.js +121 -104
- package/dist/lib/virtualization.js.map +1 -1
- package/dist/parsers/core.js +119 -105
- package/dist/parsers/core.js.map +1 -1
- package/dist/renderers/checkbox.js +24 -8
- package/dist/renderers/checkbox.js.map +1 -1
- package/dist/renderers/core.js +139 -125
- package/dist/renderers/core.js.map +1 -1
- package/dist/renderers/thousand_separator.js +25 -12
- package/dist/renderers/thousand_separator.js.map +1 -1
- package/dist/store/actions.js +495 -480
- package/dist/store/actions.js.map +1 -1
- package/dist/store/helpers.js +88 -72
- package/dist/store/helpers.js.map +1 -1
- package/dist/store/index.js +38 -2
- package/dist/store/index.js.map +1 -1
- package/dist/styles/embedder.js +27 -13
- package/dist/styles/embedder.js.map +1 -1
- package/dist/styles/minified.js +16 -3
- package/dist/styles/minified.js.map +1 -1
- package/dist/types.js +12 -1
- package/dist/utils.js +19 -5
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
package/dist/parsers/core.js
CHANGED
|
@@ -1,123 +1,137 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
constructor(props) {
|
|
6
|
-
this.functions = [
|
|
7
|
-
this.number,
|
|
8
|
-
this.timedelta,
|
|
9
|
-
this.date,
|
|
10
|
-
this.bool,
|
|
11
|
-
];
|
|
12
|
-
this.applyMixins(props === null || props === void 0 ? void 0 : props.mixins);
|
|
13
|
-
if (props == null) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
const { condition, complement } = props;
|
|
17
|
-
this.condition = condition;
|
|
18
|
-
this.complement = complement;
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
19
5
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
for (const mixin of mixins) {
|
|
25
|
-
for (const key in mixin) {
|
|
26
|
-
// @ts-ignore
|
|
27
|
-
this[key] = mixin[key];
|
|
28
|
-
}
|
|
29
|
-
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports", "date-fns-timezone", "../lib/time"], factory);
|
|
30
8
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.defaultParser = exports.Parser = void 0;
|
|
13
|
+
const date_fns_timezone_1 = require("date-fns-timezone");
|
|
14
|
+
const time_1 = require("../lib/time");
|
|
15
|
+
const BOOLS = { true: true, false: false };
|
|
16
|
+
class Parser {
|
|
17
|
+
constructor(props) {
|
|
18
|
+
this.functions = [
|
|
19
|
+
this.number,
|
|
20
|
+
this.timedelta,
|
|
21
|
+
this.date,
|
|
22
|
+
this.bool,
|
|
23
|
+
];
|
|
24
|
+
this.applyMixins(props === null || props === void 0 ? void 0 : props.mixins);
|
|
25
|
+
if (props == null) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const { condition, complement } = props;
|
|
29
|
+
this.condition = condition;
|
|
30
|
+
this.complement = complement;
|
|
35
31
|
}
|
|
36
|
-
|
|
37
|
-
|
|
32
|
+
applyMixins(mixins) {
|
|
33
|
+
if (mixins == null) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
for (const mixin of mixins) {
|
|
37
|
+
for (const key in mixin) {
|
|
38
|
+
// @ts-ignore
|
|
39
|
+
this[key] = mixin[key];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
38
42
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
call(value, cell) {
|
|
44
|
+
try {
|
|
45
|
+
const parsed = this.parse(value, cell);
|
|
46
|
+
return this.callback(parsed, cell);
|
|
47
|
+
}
|
|
48
|
+
catch (e) {
|
|
49
|
+
return this.callback(e, cell);
|
|
50
|
+
}
|
|
47
51
|
}
|
|
48
|
-
|
|
49
|
-
return value;
|
|
52
|
+
callback(parsed, cell) {
|
|
53
|
+
return Object.assign(Object.assign({}, cell), { value: parsed });
|
|
50
54
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
parse(value, cell) {
|
|
56
|
+
if (this.condition && !this.condition(value)) {
|
|
57
|
+
const result = this.complement ? this.complement(value) : value;
|
|
54
58
|
return result;
|
|
55
59
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return null;
|
|
59
|
-
}
|
|
60
|
-
return value;
|
|
61
|
-
}
|
|
62
|
-
bool(value, cell) {
|
|
63
|
-
return BOOLS[value.toLowerCase()];
|
|
64
|
-
}
|
|
65
|
-
number(value, cell) {
|
|
66
|
-
const m = value.match(/^-?[\d.]+$/);
|
|
67
|
-
if (m != null &&
|
|
68
|
-
value.match(/\.$/) == null &&
|
|
69
|
-
(value.match(/\./g) || []).length <= 1) {
|
|
70
|
-
return parseFloat(value);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
timedelta(value, cell) {
|
|
74
|
-
if (value.length < 4 || isNaN(value[value.length - 1])) {
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
{
|
|
78
|
-
const match = value.match(/^([+-]?)(\d+):(\d{2})$/);
|
|
79
|
-
if (match) {
|
|
80
|
-
const [, _sign, hours, minutes] = match;
|
|
81
|
-
const sign = _sign === "-" ? -1 : 1;
|
|
82
|
-
return TimeDelta.create(sign * Number(hours), sign * Number(minutes));
|
|
60
|
+
if (value[0] === "'") {
|
|
61
|
+
return value;
|
|
83
62
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
const sign = _sign === "-" ? -1 : 1;
|
|
90
|
-
return TimeDelta.create(sign * Number(hours), sign * Number(minutes), sign * Number(seconds));
|
|
63
|
+
for (let i = 0; i < this.functions.length; i++) {
|
|
64
|
+
const result = this.functions[i](value, cell);
|
|
65
|
+
if (result != null) {
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
91
68
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const match = value.match(/^([+-]?)(\d+):(\d{2}):(\d{2})\.(\d+)$/);
|
|
95
|
-
if (match) {
|
|
96
|
-
const [, _sign, hours, minutes, seconds, msecs] = match;
|
|
97
|
-
const sign = _sign === "-" ? -1 : 1;
|
|
98
|
-
return TimeDelta.create(sign * Number(hours), sign * Number(minutes), sign * Number(seconds), sign * Number(msecs));
|
|
69
|
+
if (value === "") {
|
|
70
|
+
return null;
|
|
99
71
|
}
|
|
72
|
+
return value;
|
|
100
73
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
const first = value[0];
|
|
104
|
-
if (first == null || first.match(/[JFMASOND0-9]/) == null) {
|
|
105
|
-
return;
|
|
74
|
+
bool(value, cell) {
|
|
75
|
+
return BOOLS[value.toLowerCase()];
|
|
106
76
|
}
|
|
107
|
-
|
|
108
|
-
|
|
77
|
+
number(value, cell) {
|
|
78
|
+
const m = value.match(/^-?[\d.]+$/);
|
|
79
|
+
if (m != null &&
|
|
80
|
+
value.match(/\.$/) == null &&
|
|
81
|
+
(value.match(/\./g) || []).length <= 1) {
|
|
82
|
+
return parseFloat(value);
|
|
83
|
+
}
|
|
109
84
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
85
|
+
timedelta(value, cell) {
|
|
86
|
+
if (value.length < 4 || isNaN(value[value.length - 1])) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
{
|
|
90
|
+
const match = value.match(/^([+-]?)(\d+):(\d{2})$/);
|
|
91
|
+
if (match) {
|
|
92
|
+
const [, _sign, hours, minutes] = match;
|
|
93
|
+
const sign = _sign === "-" ? -1 : 1;
|
|
94
|
+
return time_1.TimeDelta.create(sign * Number(hours), sign * Number(minutes));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
{
|
|
98
|
+
const match = value.match(/^([+-]?)(\d+):(\d{2}):(\d{2})$/);
|
|
99
|
+
if (match) {
|
|
100
|
+
const [, _sign, hours, minutes, seconds] = match;
|
|
101
|
+
const sign = _sign === "-" ? -1 : 1;
|
|
102
|
+
return time_1.TimeDelta.create(sign * Number(hours), sign * Number(minutes), sign * Number(seconds));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
{
|
|
106
|
+
const match = value.match(/^([+-]?)(\d+):(\d{2}):(\d{2})\.(\d+)$/);
|
|
107
|
+
if (match) {
|
|
108
|
+
const [, _sign, hours, minutes, seconds, msecs] = match;
|
|
109
|
+
const sign = _sign === "-" ? -1 : 1;
|
|
110
|
+
return time_1.TimeDelta.create(sign * Number(hours), sign * Number(minutes), sign * Number(seconds), sign * Number(msecs));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
113
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
114
|
+
date(value, cell) {
|
|
115
|
+
const first = value[0];
|
|
116
|
+
if (first == null || first.match(/[JFMASOND0-9]/) == null) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (value[value.length - 1].match(/[0-9Z]/) == null) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
let timeZone = "UTC";
|
|
123
|
+
try {
|
|
124
|
+
timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
125
|
+
}
|
|
126
|
+
catch (e) { }
|
|
127
|
+
const d = (0, date_fns_timezone_1.parseFromTimeZone)(value, { timeZone });
|
|
128
|
+
if (d.toString() === "Invalid Date") {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
return d;
|
|
118
132
|
}
|
|
119
|
-
return d;
|
|
120
133
|
}
|
|
121
|
-
|
|
122
|
-
|
|
134
|
+
exports.Parser = Parser;
|
|
135
|
+
exports.defaultParser = new Parser();
|
|
136
|
+
});
|
|
123
137
|
//# sourceMappingURL=core.js.map
|
package/dist/parsers/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/parsers/core.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/parsers/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
bool(value, writer) {
|
|
4
|
-
return (React.createElement("input", { type: "checkbox", checked: value, onChange: (e) => {
|
|
5
|
-
writer && writer(e.currentTarget.checked.toString());
|
|
6
|
-
e.currentTarget.blur();
|
|
7
|
-
} }));
|
|
8
|
-
}
|
|
1
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
2
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
3
|
};
|
|
4
|
+
(function (factory) {
|
|
5
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
6
|
+
var v = factory(require, exports);
|
|
7
|
+
if (v !== undefined) module.exports = v;
|
|
8
|
+
}
|
|
9
|
+
else if (typeof define === "function" && define.amd) {
|
|
10
|
+
define(["require", "exports", "react"], factory);
|
|
11
|
+
}
|
|
12
|
+
})(function (require, exports) {
|
|
13
|
+
"use strict";
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.CheckboxRendererMixin = void 0;
|
|
16
|
+
const react_1 = __importDefault(require("react"));
|
|
17
|
+
exports.CheckboxRendererMixin = {
|
|
18
|
+
bool(value, writer) {
|
|
19
|
+
return (react_1.default.createElement("input", { type: "checkbox", checked: value, onChange: (e) => {
|
|
20
|
+
writer && writer(e.currentTarget.checked.toString());
|
|
21
|
+
e.currentTarget.blur();
|
|
22
|
+
} }));
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
});
|
|
10
26
|
//# sourceMappingURL=checkbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/renderers/checkbox.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/renderers/checkbox.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;IAAA,kDAA0B;IAGb,QAAA,qBAAqB,GAAG;QACnC,IAAI,CAAC,KAAc,EAAE,MAAmB;YACtC,OAAO,CACL,yCACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;oBACd,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACrD,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBACzB,CAAC,GACD,CACH,CAAC;QACJ,CAAC;KACF,CAAA"}
|
package/dist/renderers/core.js
CHANGED
|
@@ -1,143 +1,157 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
constructor(props) {
|
|
9
|
-
this.datetimeFormat = "yyyy-MM-dd HH:mm:ss";
|
|
10
|
-
this.dateFormat = "yyyy-MM-dd";
|
|
11
|
-
this.timeDeltaFormat = "HH:mm";
|
|
12
|
-
this.applyMixins(props === null || props === void 0 ? void 0 : props.mixins);
|
|
13
|
-
if (props == null) {
|
|
14
|
-
return;
|
|
15
|
-
}
|
|
16
|
-
const { condition, complement } = props;
|
|
17
|
-
this.condition = condition;
|
|
18
|
-
this.complement = complement;
|
|
1
|
+
(function (factory) {
|
|
2
|
+
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
|
+
var v = factory(require, exports);
|
|
4
|
+
if (v !== undefined) module.exports = v;
|
|
5
|
+
}
|
|
6
|
+
else if (typeof define === "function" && define.amd) {
|
|
7
|
+
define(["require", "exports", "../lib/table", "../formula/solver", "../formula/evaluator", "../lib/converters", "../lib/time", "date-fns"], factory);
|
|
19
8
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
9
|
+
})(function (require, exports) {
|
|
10
|
+
"use strict";
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.defaultRenderer = exports.Renderer = void 0;
|
|
13
|
+
const table_1 = require("../lib/table");
|
|
14
|
+
const solver_1 = require("../formula/solver");
|
|
15
|
+
const evaluator_1 = require("../formula/evaluator");
|
|
16
|
+
const converters_1 = require("../lib/converters");
|
|
17
|
+
const time_1 = require("../lib/time");
|
|
18
|
+
const date_fns_1 = require("date-fns");
|
|
19
|
+
class Renderer {
|
|
20
|
+
constructor(props) {
|
|
21
|
+
this.datetimeFormat = "yyyy-MM-dd HH:mm:ss";
|
|
22
|
+
this.dateFormat = "yyyy-MM-dd";
|
|
23
|
+
this.timeDeltaFormat = "HH:mm";
|
|
24
|
+
this.applyMixins(props === null || props === void 0 ? void 0 : props.mixins);
|
|
25
|
+
if (props == null) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const { condition, complement } = props;
|
|
29
|
+
this.condition = condition;
|
|
30
|
+
this.complement = complement;
|
|
23
31
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
applyMixins(mixins) {
|
|
33
|
+
if (mixins == null) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
for (const mixin of mixins) {
|
|
37
|
+
for (const key in mixin) {
|
|
38
|
+
// @ts-ignore
|
|
39
|
+
this[key] = mixin[key];
|
|
40
|
+
}
|
|
28
41
|
}
|
|
29
42
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return this.render(value, table.trim({ top: y, left: x, bottom: y, right: x }), writer);
|
|
38
|
-
}
|
|
39
|
-
render(value, table, writer) {
|
|
40
|
-
var _a;
|
|
41
|
-
if (this.condition && !this.condition(value)) {
|
|
42
|
-
return this.complement ? this.complement(value) : this.stringify(value);
|
|
43
|
+
call(table, point, writer) {
|
|
44
|
+
var _a;
|
|
45
|
+
const address = (0, converters_1.p2a)(point);
|
|
46
|
+
const cache = table.getSolvedCache(address);
|
|
47
|
+
const value = cache || ((_a = table.getByPoint(point)) === null || _a === void 0 ? void 0 : _a.value);
|
|
48
|
+
const { y, x } = point;
|
|
49
|
+
return this.render(value, table.trim({ top: y, left: x, bottom: y, right: x }), writer);
|
|
43
50
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
51
|
+
render(value, table, writer) {
|
|
52
|
+
var _a;
|
|
53
|
+
if (this.condition && !this.condition(value)) {
|
|
54
|
+
return this.complement ? this.complement(value) : this.stringify(value);
|
|
55
|
+
}
|
|
56
|
+
switch (typeof value) {
|
|
57
|
+
case "object":
|
|
58
|
+
if (value instanceof Date) {
|
|
59
|
+
return this.date(value, writer);
|
|
60
|
+
}
|
|
61
|
+
if (value instanceof time_1.TimeDelta) {
|
|
62
|
+
return this.timedelta(value, writer);
|
|
63
|
+
}
|
|
64
|
+
if (value == null) {
|
|
65
|
+
return this.null(value, writer);
|
|
66
|
+
}
|
|
67
|
+
if (value instanceof table_1.Table) {
|
|
68
|
+
return this.render((_a = value.getByPoint({ y: value.top, x: value.left })) === null || _a === void 0 ? void 0 : _a.value, table, writer);
|
|
69
|
+
}
|
|
70
|
+
if (Array.isArray(value)) {
|
|
71
|
+
return this.array(value, writer);
|
|
72
|
+
}
|
|
73
|
+
if (value instanceof evaluator_1.FormulaError) {
|
|
74
|
+
throw value;
|
|
75
|
+
}
|
|
76
|
+
return this.object(value, writer);
|
|
77
|
+
case "string":
|
|
78
|
+
return this.string(value, table, writer);
|
|
79
|
+
case "number":
|
|
80
|
+
return this.number(value, writer);
|
|
81
|
+
case "boolean":
|
|
82
|
+
return this.bool(value, writer);
|
|
83
|
+
case "undefined":
|
|
84
|
+
return this.undefined(value, writer);
|
|
85
|
+
case "function":
|
|
86
|
+
return value();
|
|
87
|
+
}
|
|
88
|
+
return "";
|
|
89
|
+
}
|
|
90
|
+
stringify(cell) {
|
|
91
|
+
const { value } = cell;
|
|
92
|
+
if (value instanceof Date) {
|
|
93
|
+
return this.date(value);
|
|
94
|
+
}
|
|
95
|
+
if (value instanceof time_1.TimeDelta) {
|
|
96
|
+
return this.timedelta(value);
|
|
97
|
+
}
|
|
98
|
+
if (value == null) {
|
|
99
|
+
return "";
|
|
100
|
+
}
|
|
101
|
+
return value.toString();
|
|
102
|
+
}
|
|
103
|
+
string(value, table, writer) {
|
|
104
|
+
if (value[0] === "'") {
|
|
105
|
+
return value.substring(1);
|
|
106
|
+
}
|
|
107
|
+
if (value[0] === "=") {
|
|
108
|
+
const result = (0, solver_1.solveFormula)({ value, table, raise: true });
|
|
109
|
+
if (result == null) {
|
|
110
|
+
// @ts-ignore
|
|
111
|
+
return this[String(result)](result);
|
|
57
112
|
}
|
|
58
|
-
if (
|
|
59
|
-
return
|
|
113
|
+
if (result.constructor.name === "Boolean") {
|
|
114
|
+
return String(result).toUpperCase();
|
|
60
115
|
}
|
|
61
|
-
if (
|
|
62
|
-
|
|
116
|
+
if (result.constructor.name === "Date") {
|
|
117
|
+
return this.date(result);
|
|
63
118
|
}
|
|
64
|
-
return this.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
case "number":
|
|
68
|
-
return this.number(value, writer);
|
|
69
|
-
case "boolean":
|
|
70
|
-
return this.bool(value, writer);
|
|
71
|
-
case "undefined":
|
|
72
|
-
return this.undefined(value, writer);
|
|
73
|
-
case "function":
|
|
74
|
-
return value();
|
|
119
|
+
return this.render(result, table, writer);
|
|
120
|
+
}
|
|
121
|
+
return value;
|
|
75
122
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
stringify(cell) {
|
|
79
|
-
const { value } = cell;
|
|
80
|
-
if (value instanceof Date) {
|
|
81
|
-
return this.date(value);
|
|
123
|
+
bool(value, writer) {
|
|
124
|
+
return value ? "TRUE" : "FALSE";
|
|
82
125
|
}
|
|
83
|
-
|
|
84
|
-
|
|
126
|
+
number(value, writer) {
|
|
127
|
+
if (isNaN(value)) {
|
|
128
|
+
return "NaN";
|
|
129
|
+
}
|
|
130
|
+
return value;
|
|
85
131
|
}
|
|
86
|
-
|
|
87
|
-
|
|
132
|
+
date(value, writer) {
|
|
133
|
+
if (value.getHours() + value.getMinutes() + value.getSeconds() === 0) {
|
|
134
|
+
return (0, date_fns_1.format)(value, this.dateFormat);
|
|
135
|
+
}
|
|
136
|
+
return (0, date_fns_1.format)(value, this.datetimeFormat);
|
|
88
137
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
string(value, table, writer) {
|
|
92
|
-
if (value[0] === "'") {
|
|
93
|
-
return value.substring(1);
|
|
138
|
+
timedelta(value, writer) {
|
|
139
|
+
return value.stringify(this.timeDeltaFormat);
|
|
94
140
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
if (result == null) {
|
|
98
|
-
// @ts-ignore
|
|
99
|
-
return this[String(result)](result);
|
|
100
|
-
}
|
|
101
|
-
if (result.constructor.name === "Boolean") {
|
|
102
|
-
return String(result).toUpperCase();
|
|
103
|
-
}
|
|
104
|
-
if (result.constructor.name === "Date") {
|
|
105
|
-
return this.date(result);
|
|
106
|
-
}
|
|
107
|
-
return this.render(result, table, writer);
|
|
141
|
+
array(value, writer) {
|
|
142
|
+
return value.map((v) => this.stringify({ value: v })).join(",");
|
|
108
143
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
bool(value, writer) {
|
|
112
|
-
return value ? "TRUE" : "FALSE";
|
|
113
|
-
}
|
|
114
|
-
number(value, writer) {
|
|
115
|
-
if (isNaN(value)) {
|
|
116
|
-
return "NaN";
|
|
144
|
+
object(value, writer) {
|
|
145
|
+
return JSON.stringify(value);
|
|
117
146
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
return
|
|
147
|
+
null(value, writer) {
|
|
148
|
+
return "";
|
|
149
|
+
}
|
|
150
|
+
undefined(value, writer) {
|
|
151
|
+
return "";
|
|
123
152
|
}
|
|
124
|
-
return formatDate(value, this.datetimeFormat);
|
|
125
|
-
}
|
|
126
|
-
timedelta(value, writer) {
|
|
127
|
-
return value.stringify(this.timeDeltaFormat);
|
|
128
|
-
}
|
|
129
|
-
array(value, writer) {
|
|
130
|
-
return value.map((v) => this.stringify({ value: v })).join(",");
|
|
131
|
-
}
|
|
132
|
-
object(value, writer) {
|
|
133
|
-
return JSON.stringify(value);
|
|
134
|
-
}
|
|
135
|
-
null(value, writer) {
|
|
136
|
-
return "";
|
|
137
|
-
}
|
|
138
|
-
undefined(value, writer) {
|
|
139
|
-
return "";
|
|
140
153
|
}
|
|
141
|
-
|
|
142
|
-
|
|
154
|
+
exports.Renderer = Renderer;
|
|
155
|
+
exports.defaultRenderer = new Renderer();
|
|
156
|
+
});
|
|
143
157
|
//# sourceMappingURL=core.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/renderers/core.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/renderers/core.ts"],"names":[],"mappings":"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"}
|