@omegagrid/grid-core 0.2.5
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/calculations/autofill.d.ts +7 -0
- package/dist/calculations/autofill.d.ts.map +1 -0
- package/dist/calculations/autofill.js +81 -0
- package/dist/calculations/autofill.js.map +1 -0
- package/dist/calculations/calculationModel.d.ts +35 -0
- package/dist/calculations/calculationModel.d.ts.map +1 -0
- package/dist/calculations/calculationModel.js +199 -0
- package/dist/calculations/calculationModel.js.map +1 -0
- package/dist/calculations/conditions.d.ts +4 -0
- package/dist/calculations/conditions.d.ts.map +1 -0
- package/dist/calculations/conditions.js +46 -0
- package/dist/calculations/conditions.js.map +1 -0
- package/dist/calculations/context.d.ts +53 -0
- package/dist/calculations/context.d.ts.map +1 -0
- package/dist/calculations/context.js +83 -0
- package/dist/calculations/context.js.map +1 -0
- package/dist/calculations/formula.d.ts +69 -0
- package/dist/calculations/formula.d.ts.map +1 -0
- package/dist/calculations/formula.js +360 -0
- package/dist/calculations/formula.js.map +1 -0
- package/dist/calculations/functions/dates.d.ts +6 -0
- package/dist/calculations/functions/dates.d.ts.map +1 -0
- package/dist/calculations/functions/dates.js +28 -0
- package/dist/calculations/functions/dates.js.map +1 -0
- package/dist/calculations/functions/helpers.d.ts +11 -0
- package/dist/calculations/functions/helpers.d.ts.map +1 -0
- package/dist/calculations/functions/helpers.js +38 -0
- package/dist/calculations/functions/helpers.js.map +1 -0
- package/dist/calculations/functions/index.d.ts +5 -0
- package/dist/calculations/functions/index.d.ts.map +1 -0
- package/dist/calculations/functions/index.js +73 -0
- package/dist/calculations/functions/index.js.map +1 -0
- package/dist/calculations/functions/logical.d.ts +10 -0
- package/dist/calculations/functions/logical.d.ts.map +1 -0
- package/dist/calculations/functions/logical.js +49 -0
- package/dist/calculations/functions/logical.js.map +1 -0
- package/dist/calculations/functions/lookup.d.ts +17 -0
- package/dist/calculations/functions/lookup.d.ts.map +1 -0
- package/dist/calculations/functions/lookup.js +167 -0
- package/dist/calculations/functions/lookup.js.map +1 -0
- package/dist/calculations/functions/math.d.ts +62 -0
- package/dist/calculations/functions/math.d.ts.map +1 -0
- package/dist/calculations/functions/math.js +228 -0
- package/dist/calculations/functions/math.js.map +1 -0
- package/dist/calculations/functions/special.d.ts +2 -0
- package/dist/calculations/functions/special.d.ts.map +1 -0
- package/dist/calculations/functions/special.js +55 -0
- package/dist/calculations/functions/special.js.map +1 -0
- package/dist/calculations/functions/statistical.d.ts +5 -0
- package/dist/calculations/functions/statistical.d.ts.map +1 -0
- package/dist/calculations/functions/statistical.js +47 -0
- package/dist/calculations/functions/statistical.js.map +1 -0
- package/dist/calculations/functions/text.d.ts +5 -0
- package/dist/calculations/functions/text.d.ts.map +1 -0
- package/dist/calculations/functions/text.js +23 -0
- package/dist/calculations/functions/text.js.map +1 -0
- package/dist/calculations/index.d.ts +6 -0
- package/dist/calculations/index.d.ts.map +1 -0
- package/dist/calculations/index.js +22 -0
- package/dist/calculations/index.js.map +1 -0
- package/dist/calculations/operators.d.ts +19 -0
- package/dist/calculations/operators.d.ts.map +1 -0
- package/dist/calculations/operators.js +66 -0
- package/dist/calculations/operators.js.map +1 -0
- package/dist/calculations/tokenization.d.ts +34 -0
- package/dist/calculations/tokenization.d.ts.map +1 -0
- package/dist/calculations/tokenization.js +192 -0
- package/dist/calculations/tokenization.js.map +1 -0
- package/dist/comments/comments.d.ts +37 -0
- package/dist/comments/comments.d.ts.map +1 -0
- package/dist/comments/comments.js +39 -0
- package/dist/comments/comments.js.map +1 -0
- package/dist/comments/index.d.ts +2 -0
- package/dist/comments/index.d.ts.map +1 -0
- package/dist/comments/index.js +18 -0
- package/dist/comments/index.js.map +1 -0
- package/dist/common/index.d.ts +2 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/index.js +18 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/range.d.ts +65 -0
- package/dist/common/range.d.ts.map +1 -0
- package/dist/common/range.js +220 -0
- package/dist/common/range.js.map +1 -0
- package/dist/constants.d.ts +60 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +75 -0
- package/dist/constants.js.map +1 -0
- package/dist/formatting/conditionalFormats.d.ts +34 -0
- package/dist/formatting/conditionalFormats.d.ts.map +1 -0
- package/dist/formatting/conditionalFormats.js +107 -0
- package/dist/formatting/conditionalFormats.js.map +1 -0
- package/dist/formatting/index.d.ts +2 -0
- package/dist/formatting/index.d.ts.map +1 -0
- package/dist/formatting/index.js +18 -0
- package/dist/formatting/index.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -0
- package/dist/model/cellModel.d.ts +105 -0
- package/dist/model/cellModel.d.ts.map +1 -0
- package/dist/model/cellModel.js +251 -0
- package/dist/model/cellModel.js.map +1 -0
- package/dist/model/columnModel.d.ts +132 -0
- package/dist/model/columnModel.d.ts.map +1 -0
- package/dist/model/columnModel.js +147 -0
- package/dist/model/columnModel.js.map +1 -0
- package/dist/model/columnSorting.d.ts +50 -0
- package/dist/model/columnSorting.d.ts.map +1 -0
- package/dist/model/columnSorting.js +164 -0
- package/dist/model/columnSorting.js.map +1 -0
- package/dist/model/cssStyle.d.ts +18 -0
- package/dist/model/cssStyle.d.ts.map +1 -0
- package/dist/model/cssStyle.js +197 -0
- package/dist/model/cssStyle.js.map +1 -0
- package/dist/model/dependencies.d.ts +28 -0
- package/dist/model/dependencies.d.ts.map +1 -0
- package/dist/model/dependencies.js +129 -0
- package/dist/model/dependencies.js.map +1 -0
- package/dist/model/elementModel.d.ts +98 -0
- package/dist/model/elementModel.d.ts.map +1 -0
- package/dist/model/elementModel.js +109 -0
- package/dist/model/elementModel.js.map +1 -0
- package/dist/model/filterModel.d.ts +22 -0
- package/dist/model/filterModel.d.ts.map +1 -0
- package/dist/model/filterModel.js +83 -0
- package/dist/model/filterModel.js.map +1 -0
- package/dist/model/gridModel.d.ts +172 -0
- package/dist/model/gridModel.d.ts.map +1 -0
- package/dist/model/gridModel.js +639 -0
- package/dist/model/gridModel.js.map +1 -0
- package/dist/model/groupModel.d.ts +23 -0
- package/dist/model/groupModel.d.ts.map +1 -0
- package/dist/model/groupModel.js +102 -0
- package/dist/model/groupModel.js.map +1 -0
- package/dist/model/history.d.ts +21 -0
- package/dist/model/history.d.ts.map +1 -0
- package/dist/model/history.js +39 -0
- package/dist/model/history.js.map +1 -0
- package/dist/model/index.d.ts +17 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +33 -0
- package/dist/model/index.js.map +1 -0
- package/dist/model/iterableRange.d.ts +32 -0
- package/dist/model/iterableRange.d.ts.map +1 -0
- package/dist/model/iterableRange.js +79 -0
- package/dist/model/iterableRange.js.map +1 -0
- package/dist/model/namingModel.d.ts +24 -0
- package/dist/model/namingModel.d.ts.map +1 -0
- package/dist/model/namingModel.js +75 -0
- package/dist/model/namingModel.js.map +1 -0
- package/dist/model/options.d.ts +56 -0
- package/dist/model/options.d.ts.map +1 -0
- package/dist/model/options.js +27 -0
- package/dist/model/options.js.map +1 -0
- package/dist/model/rowModel.d.ts +91 -0
- package/dist/model/rowModel.d.ts.map +1 -0
- package/dist/model/rowModel.js +137 -0
- package/dist/model/rowModel.js.map +1 -0
- package/dist/model/selectionModel.d.ts +20 -0
- package/dist/model/selectionModel.d.ts.map +1 -0
- package/dist/model/selectionModel.js +45 -0
- package/dist/model/selectionModel.js.map +1 -0
- package/dist/model/style.d.ts +73 -0
- package/dist/model/style.d.ts.map +1 -0
- package/dist/model/style.js +38 -0
- package/dist/model/style.js.map +1 -0
- package/dist/model/styleModel.d.ts +20 -0
- package/dist/model/styleModel.d.ts.map +1 -0
- package/dist/model/styleModel.js +85 -0
- package/dist/model/styleModel.js.map +1 -0
- package/dist/sparklines/index.d.ts +2 -0
- package/dist/sparklines/index.d.ts.map +1 -0
- package/dist/sparklines/index.js +18 -0
- package/dist/sparklines/index.js.map +1 -0
- package/dist/sparklines/sparklines.d.ts +61 -0
- package/dist/sparklines/sparklines.d.ts.map +1 -0
- package/dist/sparklines/sparklines.js +185 -0
- package/dist/sparklines/sparklines.js.map +1 -0
- package/dist/types.d.ts +27 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -0
- package/package.json +56 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statistical.js","sourceRoot":"","sources":["../../../src/calculations/functions/statistical.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAuE;AACvE,mEAA2C;AAC3C,qEAAiD;AACjD,gDAAgD;AAChD,0DAA0D;AAE1D,qDAAqD;AACrD,iDAAiD;AACjD,sCAAsC;AACtC,IAAI;AAEJ,SAAgB,OAAO,CAAC,GAAG,IAAc;IACxC,IAAI,GAAG,GAAG,CAAC,CAAC;IAAC,IAAI,GAAG,GAAG,CAAC,CAAA;IACxB,IAAA,mBAAS,EAAC,IAAI,EAAE,CAAC,CAAC,EAAE;QACnB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAW,CAAC,EAAE,CAAC;YACtC,GAAG,IAAK,CAAY,IAAI,CAAC,CAAA;YACzB,EAAE,GAAG,CAAC;QACP,CAAC;IACF,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,GAAG,GAAG,CAAC;AAClB,CAAC;AATD,0BASC;AAED,SAAgB,gBAAgB,CAAE,MAAwB,EAAE,OAAyB;;IACpF,MAAM,UAAU,GAAG,IAAA,eAAS,GAAE,CAAC;IAC/B,MAAM,CAAC,GAAG,IAAA,gBAAM,EAAS,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,IAAA,gBAAM,EAAS,OAAO,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAI,CAAC,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IACD,OAAO,UAAU,EAAE,CAAC;AACrB,CAAC;AAVD,4CAUC;AAED,SAAgB,MAAM,CAAC,GAAG,IAAsB;IAC/C,MAAM,IAAI,GAAG,IAAA,uBAAa,EAAC,IAAI,CAAa,CAAC;IAC7C,MAAM,CAAC,GAAG,IAAA,cAAI,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACrC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACxE,CAAC;AAJD,wBAIC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/calculations/functions/text.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAa,MAAM,WAAW,CAAC;AAEhD,wBAAgB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,UAO/C;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,UAG7C;AAED,wBAAgB,MAAM,CAAC,GAAG,IAAI,EAAE,QAAQ,UAIvC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.concat = exports.left = exports.text = void 0;
|
|
4
|
+
const core_1 = require("@omegagrid/core");
|
|
5
|
+
const helpers_1 = require("./helpers");
|
|
6
|
+
function text(v, format) {
|
|
7
|
+
if (format)
|
|
8
|
+
v = core_1.numbers.getNumberFormatter(this.cell.model.options.locale, core_1.numbers.fixNumberFormat(format, 'd'), false)(v);
|
|
9
|
+
return v == null ? '' : v.toString();
|
|
10
|
+
}
|
|
11
|
+
exports.text = text;
|
|
12
|
+
function left(v, count) {
|
|
13
|
+
v = v == null ? '' : v.toString();
|
|
14
|
+
return v.substring(0, count);
|
|
15
|
+
}
|
|
16
|
+
exports.left = left;
|
|
17
|
+
function concat(...args) {
|
|
18
|
+
let res = '';
|
|
19
|
+
(0, helpers_1.eachValue)(args, (v) => res += v == null ? '' : v.toString());
|
|
20
|
+
return res;
|
|
21
|
+
}
|
|
22
|
+
exports.concat = concat;
|
|
23
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/calculations/functions/text.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAC1C,uCAAgD;AAEhD,SAAgB,IAAI,CAAC,CAAU,EAAE,MAAe;IAC/C,IAAI,MAAM;QAAE,CAAC,GAAG,cAAO,CAAC,kBAAkB,CACzC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAC9B,cAAO,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,KAAK,CACL,CAAC,CAAW,CAAC,CAAC;IACf,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AACtC,CAAC;AAPD,oBAOC;AAED,SAAgB,IAAI,CAAC,CAAS,EAAE,KAAc;IAC7C,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAHD,oBAGC;AAED,SAAgB,MAAM,CAAC,GAAG,IAAc;IACvC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAA,mBAAS,EAAC,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrE,OAAO,GAAG,CAAC;AACZ,CAAC;AAJD,wBAIC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calculations/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./formula"), exports);
|
|
18
|
+
__exportStar(require("./autofill"), exports);
|
|
19
|
+
__exportStar(require("./calculationModel"), exports);
|
|
20
|
+
__exportStar(require("./functions"), exports);
|
|
21
|
+
__exportStar(require("./tokenization"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/calculations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,6CAA2B;AAC3B,qDAAmC;AACnC,8CAA4B;AAC5B,iDAA+B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Matrix, Scalar } from "@omegagrid/core";
|
|
2
|
+
export type ArythmeticOperator = '*' | '/' | '+' | '-';
|
|
3
|
+
export type LogicalOperataor = '=' | '>' | '<' | '>=' | '<=';
|
|
4
|
+
export type Operator = ArythmeticOperator | LogicalOperataor;
|
|
5
|
+
/**
|
|
6
|
+
* [javascript operator, precedence, associativity]
|
|
7
|
+
*/
|
|
8
|
+
export type OperatorSpec = [string, number, number];
|
|
9
|
+
/**
|
|
10
|
+
* Operator precedence and associativity
|
|
11
|
+
* Map<operator_token, [operator, precedence, associativity]>
|
|
12
|
+
*/
|
|
13
|
+
export declare const operatorMap: Map<Operator, OperatorSpec>;
|
|
14
|
+
export declare const isLogicalOperator: (o: string) => o is LogicalOperataor;
|
|
15
|
+
export declare const isArythmeticOperator: (o: string) => o is ArythmeticOperator;
|
|
16
|
+
export declare const isOperator: (o: string) => o is Operator;
|
|
17
|
+
export declare function scalarOperation<T = number>(s1: Scalar<T>, s2: Scalar<T>, operator: Operator): Scalar;
|
|
18
|
+
export declare function matrixOperation<T>(m1: Matrix<T>, m2: Matrix<T>, operator: Operator): Matrix<T>;
|
|
19
|
+
//# sourceMappingURL=operators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../src/calculations/operators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGjD,MAAM,MAAM,kBAAkB,GAAG,GAAG,GAAC,GAAG,GAAC,GAAG,GAAC,GAAG,CAAC;AACjD,MAAM,MAAM,gBAAgB,GAAG,GAAG,GAAC,GAAG,GAAC,GAAG,GAAC,IAAI,GAAC,IAAI,CAAC;AACrD,MAAM,MAAM,QAAQ,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,WAAW,6BAUtB,CAAC;AAEH,eAAO,MAAM,iBAAiB,MAAO,MAAM,0BAAmE,CAAC;AAC/G,eAAO,MAAM,oBAAoB,MAAO,MAAM,4BAA8D,CAAC;AAC7G,eAAO,MAAM,UAAU,MAAO,MAAM,kBAAmE,CAAC;AAExG,wBAAgB,eAAe,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAI,MAAM,CAarG;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAI,MAAM,CAAC,CAAC,CAAC,CAwB/F"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.matrixOperation = exports.scalarOperation = exports.isOperator = exports.isArythmeticOperator = exports.isLogicalOperator = exports.operatorMap = void 0;
|
|
5
|
+
const conditions_1 = require("./conditions");
|
|
6
|
+
/**
|
|
7
|
+
* Operator precedence and associativity
|
|
8
|
+
* Map<operator_token, [operator, precedence, associativity]>
|
|
9
|
+
*/
|
|
10
|
+
exports.operatorMap = new Map([
|
|
11
|
+
['=', ['==', 1, 0]],
|
|
12
|
+
['>', ['>', 1, 0]],
|
|
13
|
+
['<', ['<', 1, 0]],
|
|
14
|
+
['>=', ['>=', 1, 0]],
|
|
15
|
+
['<=', ['<=', 1, 0]],
|
|
16
|
+
['+', ['+', 2, 0]],
|
|
17
|
+
['-', ['-', 2, 0]],
|
|
18
|
+
['*', ['*', 3, 0]],
|
|
19
|
+
['/', ['/', 3, 0]],
|
|
20
|
+
]);
|
|
21
|
+
const isLogicalOperator = (o) => ['=', '>', '<', '>=', '<='].includes(o);
|
|
22
|
+
exports.isLogicalOperator = isLogicalOperator;
|
|
23
|
+
const isArythmeticOperator = (o) => ['+', '-', '*', '/'].includes(o);
|
|
24
|
+
exports.isArythmeticOperator = isArythmeticOperator;
|
|
25
|
+
const isOperator = (o) => (0, exports.isArythmeticOperator)(o) || (0, exports.isLogicalOperator)(o);
|
|
26
|
+
exports.isOperator = isOperator;
|
|
27
|
+
function scalarOperation(s1, s2, operator) {
|
|
28
|
+
switch (operator) {
|
|
29
|
+
case '+': return s1 + s2;
|
|
30
|
+
case '-': return s1 - s2;
|
|
31
|
+
case '*': return s1 * s2;
|
|
32
|
+
case '/': return s1 / s2;
|
|
33
|
+
case '=': return (0, conditions_1.scalarCompare)(s1, s2) == 0;
|
|
34
|
+
case '>': return (0, conditions_1.scalarCompare)(s1, s2) > 0;
|
|
35
|
+
case '<': return (0, conditions_1.scalarCompare)(s1, s2) < 0;
|
|
36
|
+
case '>=': return (0, conditions_1.scalarCompare)(s1, s2) >= 0;
|
|
37
|
+
case '<=': return (0, conditions_1.scalarCompare)(s1, s2) <= 0;
|
|
38
|
+
default: throw new Error(`Invalid operator: ${operator}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.scalarOperation = scalarOperation;
|
|
42
|
+
function matrixOperation(m1, m2, operator) {
|
|
43
|
+
var _a, _b;
|
|
44
|
+
const a1 = Array.isArray(m1);
|
|
45
|
+
const a2 = Array.isArray(m2);
|
|
46
|
+
if (!a1 && !a2) {
|
|
47
|
+
return [[scalarOperation(m1, m2, operator)]];
|
|
48
|
+
}
|
|
49
|
+
const r = Math.max(a1 ? m1.length : 0, a2 ? m2.length : 0);
|
|
50
|
+
const c = Math.max(a1 ? m1[0].length : 0, a2 ? m2[0].length : 0);
|
|
51
|
+
const result = [];
|
|
52
|
+
for (let i = 0; i < r; i++) {
|
|
53
|
+
const row = [];
|
|
54
|
+
for (let j = 0; j < c; j++) {
|
|
55
|
+
const v1 = a1 ? (_a = m1[i]) === null || _a === void 0 ? void 0 : _a[j] : m1;
|
|
56
|
+
const v2 = a2 ? (_b = m2[i]) === null || _b === void 0 ? void 0 : _b[j] : m2;
|
|
57
|
+
const v = v1 == null && v2 == null ? null
|
|
58
|
+
: scalarOperation(v1, v2, operator);
|
|
59
|
+
row.push(v);
|
|
60
|
+
}
|
|
61
|
+
result.push(row);
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
exports.matrixOperation = matrixOperation;
|
|
66
|
+
//# sourceMappingURL=operators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../../src/calculations/operators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare enum TokenType {
|
|
2
|
+
Number = 0,
|
|
3
|
+
Boolean = 1,
|
|
4
|
+
String = 2,
|
|
5
|
+
StringQuote = 3,
|
|
6
|
+
Function = 4,
|
|
7
|
+
ArgumentSeparator = 5,
|
|
8
|
+
OpenBracket = 6,
|
|
9
|
+
CloseBracket = 7,
|
|
10
|
+
Operator = 8,
|
|
11
|
+
Cell = 9,
|
|
12
|
+
Variable = 10,
|
|
13
|
+
Range = 11,
|
|
14
|
+
Sheet = 12,
|
|
15
|
+
SheetQuote = 13,
|
|
16
|
+
SheetSeparator = 14,
|
|
17
|
+
Unknown = 15
|
|
18
|
+
}
|
|
19
|
+
export type Token = [string, TokenType];
|
|
20
|
+
export declare const isNumber: (code: number) => boolean;
|
|
21
|
+
export declare const isBool: (value: string) => boolean;
|
|
22
|
+
export declare const isLetter: (code: number) => boolean;
|
|
23
|
+
export type TokenizationOptions = {
|
|
24
|
+
decimalPoint: string;
|
|
25
|
+
stringQuote: string;
|
|
26
|
+
sheetQuote: string;
|
|
27
|
+
argumentSeparator: string;
|
|
28
|
+
};
|
|
29
|
+
export declare class Tokenizer {
|
|
30
|
+
readonly options: TokenizationOptions;
|
|
31
|
+
constructor(options?: Partial<TokenizationOptions>);
|
|
32
|
+
tokenize(formula: string): Token[];
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=tokenization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenization.d.ts","sourceRoot":"","sources":["../../src/calculations/tokenization.ts"],"names":[],"mappings":"AAEA,oBAAY,SAAS;IACpB,MAAM,IAAA;IACN,OAAO,IAAA;IACP,MAAM,IAAA;IACN,WAAW,IAAA;IACX,QAAQ,IAAA;IACR,iBAAiB,IAAA;IACjB,WAAW,IAAA;IACX,YAAY,IAAA;IACZ,QAAQ,IAAA;IACR,IAAI,IAAA;IACJ,QAAQ,KAAA;IACR,KAAK,KAAA;IACL,KAAK,KAAA;IACL,UAAU,KAAA;IACV,cAAc,KAAA;IACd,OAAO,KAAA;CACP;AAED,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAGxC,eAAO,MAAM,QAAQ,SAAU,MAAM,YAA6B,CAAC;AAGnE,eAAO,MAAM,MAAM,UAAW,MAAM,YAGnC,CAAA;AAGD,eAAO,MAAM,QAAQ,SAAU,MAAM,YAGR,CAAC;AAI9B,MAAM,MAAM,mBAAmB,GAAG;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC1B,CAAA;AASD,qBAAa,SAAS;IACrB,SAAgB,OAAO,EAAE,mBAAmB,CAAC;gBAEjC,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC;IAIlD,QAAQ,CAAC,OAAO,EAAE,MAAM;CA4HxB"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Tokenizer = exports.isLetter = exports.isBool = exports.isNumber = exports.TokenType = void 0;
|
|
4
|
+
const operators_1 = require("./operators");
|
|
5
|
+
var TokenType;
|
|
6
|
+
(function (TokenType) {
|
|
7
|
+
TokenType[TokenType["Number"] = 0] = "Number";
|
|
8
|
+
TokenType[TokenType["Boolean"] = 1] = "Boolean";
|
|
9
|
+
TokenType[TokenType["String"] = 2] = "String";
|
|
10
|
+
TokenType[TokenType["StringQuote"] = 3] = "StringQuote";
|
|
11
|
+
TokenType[TokenType["Function"] = 4] = "Function";
|
|
12
|
+
TokenType[TokenType["ArgumentSeparator"] = 5] = "ArgumentSeparator";
|
|
13
|
+
TokenType[TokenType["OpenBracket"] = 6] = "OpenBracket";
|
|
14
|
+
TokenType[TokenType["CloseBracket"] = 7] = "CloseBracket";
|
|
15
|
+
TokenType[TokenType["Operator"] = 8] = "Operator";
|
|
16
|
+
TokenType[TokenType["Cell"] = 9] = "Cell";
|
|
17
|
+
TokenType[TokenType["Variable"] = 10] = "Variable";
|
|
18
|
+
TokenType[TokenType["Range"] = 11] = "Range";
|
|
19
|
+
TokenType[TokenType["Sheet"] = 12] = "Sheet";
|
|
20
|
+
TokenType[TokenType["SheetQuote"] = 13] = "SheetQuote";
|
|
21
|
+
TokenType[TokenType["SheetSeparator"] = 14] = "SheetSeparator";
|
|
22
|
+
TokenType[TokenType["Unknown"] = 15] = "Unknown";
|
|
23
|
+
})(TokenType || (exports.TokenType = TokenType = {}));
|
|
24
|
+
// 0-9
|
|
25
|
+
const isNumber = (code) => code >= 48 && code <= 57;
|
|
26
|
+
exports.isNumber = isNumber;
|
|
27
|
+
// true, false
|
|
28
|
+
const isBool = (value) => {
|
|
29
|
+
value = value.toLowerCase();
|
|
30
|
+
return value === 'true' || value === 'false';
|
|
31
|
+
};
|
|
32
|
+
exports.isBool = isBool;
|
|
33
|
+
// A-Z, a-z + some unicode chars
|
|
34
|
+
const isLetter = (code) => (code >= 65 && code <= 90) ||
|
|
35
|
+
(code >= 97 && code <= 122) ||
|
|
36
|
+
(code >= 192 && code <= 687);
|
|
37
|
+
exports.isLetter = isLetter;
|
|
38
|
+
const DEFAULT_TOKENIZATION_OPTIONS = {
|
|
39
|
+
decimalPoint: '.',
|
|
40
|
+
stringQuote: '"',
|
|
41
|
+
sheetQuote: '\'',
|
|
42
|
+
argumentSeparator: ','
|
|
43
|
+
};
|
|
44
|
+
class Tokenizer {
|
|
45
|
+
constructor(options) {
|
|
46
|
+
this.options = Object.assign(DEFAULT_TOKENIZATION_OPTIONS, options);
|
|
47
|
+
}
|
|
48
|
+
tokenize(formula) {
|
|
49
|
+
const tokens = [];
|
|
50
|
+
const len = formula.length;
|
|
51
|
+
let offset = 0;
|
|
52
|
+
let char;
|
|
53
|
+
let code;
|
|
54
|
+
let token = '';
|
|
55
|
+
let isSheet = false;
|
|
56
|
+
let type;
|
|
57
|
+
let closed = false;
|
|
58
|
+
while (offset < len) {
|
|
59
|
+
char = formula.charAt(offset);
|
|
60
|
+
code = char.charCodeAt(0);
|
|
61
|
+
if (char == '=' && offset == 0) {
|
|
62
|
+
++offset;
|
|
63
|
+
}
|
|
64
|
+
else if ((0, exports.isNumber)(code)) {
|
|
65
|
+
// number token
|
|
66
|
+
token = char;
|
|
67
|
+
++offset;
|
|
68
|
+
while (offset < len) {
|
|
69
|
+
char = formula.charAt(offset);
|
|
70
|
+
code = char.charCodeAt(0);
|
|
71
|
+
if ((0, exports.isNumber)(code)) {
|
|
72
|
+
token += char;
|
|
73
|
+
++offset;
|
|
74
|
+
}
|
|
75
|
+
else if (char === this.options.decimalPoint) {
|
|
76
|
+
token += '.';
|
|
77
|
+
++offset;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
tokens.push([token, TokenType.Number]);
|
|
84
|
+
}
|
|
85
|
+
else if ((0, exports.isLetter)(code) || char == '$') {
|
|
86
|
+
// cell/range/variable/function token
|
|
87
|
+
token = char;
|
|
88
|
+
type = null;
|
|
89
|
+
++offset;
|
|
90
|
+
do {
|
|
91
|
+
char = formula.charAt(offset);
|
|
92
|
+
code = char.charCodeAt(0);
|
|
93
|
+
if ((0, exports.isLetter)(code) || (0, exports.isNumber)(code) || char === '.' || char === '$' || char === '_') {
|
|
94
|
+
if (char == '_')
|
|
95
|
+
type = TokenType.Variable;
|
|
96
|
+
else if ((0, exports.isNumber)(code) && !isSheet && type == null)
|
|
97
|
+
type = TokenType.Cell;
|
|
98
|
+
token += char;
|
|
99
|
+
++offset;
|
|
100
|
+
if (offset == len)
|
|
101
|
+
tokens.push([token, type || TokenType.Variable]);
|
|
102
|
+
}
|
|
103
|
+
else if (char == '(') {
|
|
104
|
+
tokens.push([token.toUpperCase(), TokenType.Function]);
|
|
105
|
+
tokens.push([char, TokenType.OpenBracket]);
|
|
106
|
+
++offset;
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
else if (char == '\'') {
|
|
110
|
+
tokens.push([token, TokenType.Sheet]);
|
|
111
|
+
token = '';
|
|
112
|
+
tokens.push([char, TokenType.SheetQuote]);
|
|
113
|
+
isSheet = true;
|
|
114
|
+
++offset;
|
|
115
|
+
}
|
|
116
|
+
else if (char == ':') {
|
|
117
|
+
type = TokenType.Range;
|
|
118
|
+
token += char;
|
|
119
|
+
++offset;
|
|
120
|
+
}
|
|
121
|
+
else if (isSheet && char == ' ') {
|
|
122
|
+
token += char;
|
|
123
|
+
++offset;
|
|
124
|
+
}
|
|
125
|
+
else if (char == '!') {
|
|
126
|
+
if (token !== '')
|
|
127
|
+
tokens.push([token, TokenType.Sheet]);
|
|
128
|
+
tokens.push([char, TokenType.SheetSeparator]);
|
|
129
|
+
isSheet = false;
|
|
130
|
+
token = '';
|
|
131
|
+
++offset;
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
tokens.push([token, type || ((0, exports.isBool)(token) ? TokenType.Boolean : TokenType.Variable)]);
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
} while (offset < len);
|
|
139
|
+
}
|
|
140
|
+
else if ((0, operators_1.isOperator)(char)) {
|
|
141
|
+
token = char;
|
|
142
|
+
while ((0, operators_1.isOperator)(formula.charAt(offset + 1))) {
|
|
143
|
+
token += formula.charAt(++offset);
|
|
144
|
+
}
|
|
145
|
+
tokens.push([token, TokenType.Operator]);
|
|
146
|
+
++offset;
|
|
147
|
+
}
|
|
148
|
+
else if (char === '(') {
|
|
149
|
+
tokens.push([char, TokenType.OpenBracket]);
|
|
150
|
+
++offset;
|
|
151
|
+
}
|
|
152
|
+
else if (char === ')') {
|
|
153
|
+
tokens.push([char, TokenType.CloseBracket]);
|
|
154
|
+
++offset;
|
|
155
|
+
}
|
|
156
|
+
else if (char === '\'') {
|
|
157
|
+
tokens.push([char, TokenType.SheetQuote]);
|
|
158
|
+
isSheet = true;
|
|
159
|
+
++offset;
|
|
160
|
+
}
|
|
161
|
+
else if (char === this.options.argumentSeparator) {
|
|
162
|
+
tokens.push([char, TokenType.ArgumentSeparator]);
|
|
163
|
+
++offset;
|
|
164
|
+
}
|
|
165
|
+
else if (char === this.options.stringQuote) {
|
|
166
|
+
closed = false;
|
|
167
|
+
tokens.push([char, TokenType.StringQuote]);
|
|
168
|
+
token = '';
|
|
169
|
+
while (++offset < len) {
|
|
170
|
+
char = formula.charAt(offset);
|
|
171
|
+
if (char === this.options.stringQuote) {
|
|
172
|
+
closed = true;
|
|
173
|
+
++offset;
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
176
|
+
token += char;
|
|
177
|
+
}
|
|
178
|
+
tokens.push([token, TokenType.String]);
|
|
179
|
+
if (closed)
|
|
180
|
+
tokens.push([this.options.stringQuote, TokenType.StringQuote]);
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
tokens.push([char, TokenType.Unknown]);
|
|
184
|
+
++offset;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
//if (token && token.length > 0) tokens.push([token, TokenType.Unknown]);
|
|
188
|
+
return tokens;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
exports.Tokenizer = Tokenizer;
|
|
192
|
+
//# sourceMappingURL=tokenization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenization.js","sourceRoot":"","sources":["../../src/calculations/tokenization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Direction } from "@omegagrid/core";
|
|
2
|
+
import { CellAddress } from "../common";
|
|
3
|
+
import { GridModel } from "../model";
|
|
4
|
+
import { Renderer } from "../types";
|
|
5
|
+
export type CommentSource = {
|
|
6
|
+
author?: string;
|
|
7
|
+
data?: unknown;
|
|
8
|
+
text?: string;
|
|
9
|
+
date?: string | number | Date;
|
|
10
|
+
c?: number;
|
|
11
|
+
r?: number;
|
|
12
|
+
a1?: CellAddress;
|
|
13
|
+
};
|
|
14
|
+
export type CommentModel = {
|
|
15
|
+
author?: string;
|
|
16
|
+
text?: string;
|
|
17
|
+
date?: Date;
|
|
18
|
+
data?: unknown;
|
|
19
|
+
};
|
|
20
|
+
export type CommentOptions = {
|
|
21
|
+
hideTimeout?: number;
|
|
22
|
+
offsetX?: number;
|
|
23
|
+
offsetY?: number;
|
|
24
|
+
zIndex?: number;
|
|
25
|
+
renderer?: Renderer;
|
|
26
|
+
};
|
|
27
|
+
export declare class Comments {
|
|
28
|
+
readonly model: GridModel;
|
|
29
|
+
private _commentMap;
|
|
30
|
+
constructor(model: GridModel, sourceData?: CommentSource[]);
|
|
31
|
+
has: (a1: CellAddress) => boolean;
|
|
32
|
+
delete: (a1: CellAddress) => boolean;
|
|
33
|
+
get: (a1: CellAddress) => CommentModel;
|
|
34
|
+
populate(sourceData: CommentSource[]): void;
|
|
35
|
+
shift(index: number, offset: number, direction: Direction): void;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=comments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/comments/comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAa,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,MAAM,aAAa,GAAG;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,GAAC,IAAI,CAAC;IAC1B,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,WAAW,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB,CAAA;AAED,qBAAa,QAAQ;aAIQ,KAAK,EAAE,SAAS;IAF5C,OAAO,CAAC,WAAW,CAAwC;gBAE/B,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,aAAa,EAAE;IAI1E,GAAG,OAAQ,WAAW,aAA8B;IACpD,MAAM,OAAQ,WAAW,aAAiC;IAC1D,GAAG,OAAQ,WAAW,kBAGrB;IAED,QAAQ,CAAC,UAAU,EAAE,aAAa,EAAE;IASpC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;CAWzD"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Comments = void 0;
|
|
4
|
+
const common_1 = require("../common");
|
|
5
|
+
class Comments {
|
|
6
|
+
constructor(model, sourceData) {
|
|
7
|
+
this.model = model;
|
|
8
|
+
this._commentMap = new Map();
|
|
9
|
+
this.has = (a1) => this._commentMap.has(a1);
|
|
10
|
+
this.delete = (a1) => this._commentMap.delete(a1);
|
|
11
|
+
this.get = (a1) => {
|
|
12
|
+
if (!this.has(a1))
|
|
13
|
+
this._commentMap.set(a1, {});
|
|
14
|
+
return this._commentMap.get(a1);
|
|
15
|
+
};
|
|
16
|
+
if (sourceData)
|
|
17
|
+
this.populate(sourceData);
|
|
18
|
+
}
|
|
19
|
+
populate(sourceData) {
|
|
20
|
+
sourceData.forEach(item => this._commentMap.set(item.a1 || (new common_1.CellRange(item.c, item.r)).A1, {
|
|
21
|
+
author: item.author,
|
|
22
|
+
text: item.text,
|
|
23
|
+
data: item.data,
|
|
24
|
+
date: item.date ? new Date(item.date) : null
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
shift(index, offset, direction) {
|
|
28
|
+
Array.from(this._commentMap.keys()).forEach((addr) => {
|
|
29
|
+
const range = common_1.CellRange.fromA1(addr);
|
|
30
|
+
range.shift(index, offset, direction);
|
|
31
|
+
if (range.A1 != addr) {
|
|
32
|
+
this._commentMap.set(range.A1, this._commentMap.get(addr));
|
|
33
|
+
this._commentMap.delete(addr);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.Comments = Comments;
|
|
39
|
+
//# sourceMappingURL=comments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/comments/comments.ts"],"names":[],"mappings":";;;AACA,sCAAmD;AA6BnD,MAAa,QAAQ;IAIpB,YAA4B,KAAgB,EAAE,UAA4B;QAA9C,UAAK,GAAL,KAAK,CAAW;QAFpC,gBAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;QAM3D,QAAG,GAAG,CAAC,EAAe,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpD,WAAM,GAAG,CAAC,EAAe,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1D,QAAG,GAAG,CAAC,EAAe,EAAE,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC,CAAA;QARA,IAAI,UAAU;YAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IASD,QAAQ,CAAC,UAA2B;QACnC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,kBAAS,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9F,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;SAC5C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAa,EAAE,MAAc,EAAE,SAAoB;QACxD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpD,MAAM,KAAK,GAAG,kBAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;gBACtB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;CAED;AAnCD,4BAmCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/comments/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./comments"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/comments/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./range"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Direction } from "@omegagrid/core";
|
|
2
|
+
export type Coords = {
|
|
3
|
+
c: number;
|
|
4
|
+
r: number;
|
|
5
|
+
};
|
|
6
|
+
export type RangeCoords = {
|
|
7
|
+
c1: number;
|
|
8
|
+
r1: number;
|
|
9
|
+
c2: number;
|
|
10
|
+
r2: number;
|
|
11
|
+
};
|
|
12
|
+
export type RangeAddress = string;
|
|
13
|
+
export type CellAddress = string;
|
|
14
|
+
export declare class CellRange {
|
|
15
|
+
c1: number;
|
|
16
|
+
c1Anchor: boolean;
|
|
17
|
+
r1: number;
|
|
18
|
+
r1Anchor: boolean;
|
|
19
|
+
c2: number;
|
|
20
|
+
c2Anchor: boolean;
|
|
21
|
+
r2: number;
|
|
22
|
+
r2Anchor: boolean;
|
|
23
|
+
sheet?: string;
|
|
24
|
+
constructor(c1?: number, r1?: number, c2?: number, r2?: number, sheet?: string);
|
|
25
|
+
setCoords(c1: number, r1: number, c2?: number, r2?: number): void;
|
|
26
|
+
get size(): {
|
|
27
|
+
columns: number;
|
|
28
|
+
rows: number;
|
|
29
|
+
};
|
|
30
|
+
get count(): number;
|
|
31
|
+
private normalize;
|
|
32
|
+
move(columns: number, rows: number, maxColumns?: number, maxRows?: number, cycle?: boolean): void;
|
|
33
|
+
contains(r: CellRange): boolean;
|
|
34
|
+
containsColumn(c: number): boolean;
|
|
35
|
+
containsRow(r: number): boolean;
|
|
36
|
+
removeAnchors(): this;
|
|
37
|
+
addAnchors(): this;
|
|
38
|
+
shiftLeft(c: number, offset?: number, maxIndex?: number): this;
|
|
39
|
+
shiftRight(c: number, offset?: number, maxIndex?: number): this;
|
|
40
|
+
shiftUp(r: number, offset?: number, maxIndex?: number): this;
|
|
41
|
+
shiftDown(r: number, offset?: number, maxIndex?: number): this;
|
|
42
|
+
shift(index: number, offset: number, direction: Direction, maxIndex?: number): this;
|
|
43
|
+
intersect(r: CellRange): CellRange;
|
|
44
|
+
unite(r: CellRange): CellRange;
|
|
45
|
+
clone(): CellRange;
|
|
46
|
+
equals(r: CellRange, exact?: boolean): boolean;
|
|
47
|
+
get isCell(): boolean;
|
|
48
|
+
get isRange(): boolean;
|
|
49
|
+
get isColumn(): boolean;
|
|
50
|
+
get isRow(): boolean;
|
|
51
|
+
get A1(): RangeAddress;
|
|
52
|
+
get bounds(): [[CellRange, CellRange], [CellRange, CellRange]];
|
|
53
|
+
static fromA1(a1: RangeAddress): CellRange;
|
|
54
|
+
static fromA1s: (a1: RangeAddress, delimiter?: string) => CellRange[];
|
|
55
|
+
static toA1s: (ranges: CellRange[], delimiter?: string) => string;
|
|
56
|
+
static fromCoords: (r: RangeCoords) => CellRange;
|
|
57
|
+
static fullColumn: (c: number) => CellRange;
|
|
58
|
+
static fullRow: (r: number) => CellRange;
|
|
59
|
+
}
|
|
60
|
+
export declare function encodeRow(row: number): string;
|
|
61
|
+
export declare function decodeRow(row: string): number;
|
|
62
|
+
export declare function encodeColumn(column: number): string;
|
|
63
|
+
export declare function decodeColumn(letter: string): number;
|
|
64
|
+
export declare function sortRanges(ranges: CellRange[]): CellRange[];
|
|
65
|
+
//# sourceMappingURL=range.d.ts.map
|