@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,27 @@
|
|
|
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.initOptions = void 0;
|
|
7
|
+
const core_1 = require("@omegagrid/core");
|
|
8
|
+
const constants_1 = __importDefault(require("../constants"));
|
|
9
|
+
const core_2 = require("@omegagrid/core");
|
|
10
|
+
function initOptions(options, origOptions = null) {
|
|
11
|
+
const opt = core_2.utils.mergeDeep({}, constants_1.default.DEFAULT_OPTIONS, origOptions, (0, core_1.initCommonOptions)(options, origOptions));
|
|
12
|
+
if (opt.numberFormat) {
|
|
13
|
+
opt.numberFormatter = core_1.numbers.getNumberFormatter(opt.locale, opt.numberFormat);
|
|
14
|
+
}
|
|
15
|
+
else if (!opt.numberFormatter) {
|
|
16
|
+
opt.numberFormatter = core_1.numbers.getNumberFormatter(opt.locale);
|
|
17
|
+
}
|
|
18
|
+
if (opt.dateFormat) {
|
|
19
|
+
opt.dateFormatter = core_1.dates.getDateFormatter(opt.locale, opt.dateFormat);
|
|
20
|
+
}
|
|
21
|
+
else if (!opt.dateFormatter) {
|
|
22
|
+
opt.dateFormatter = core_1.dates.getDateFormatter(opt.locale);
|
|
23
|
+
}
|
|
24
|
+
return opt;
|
|
25
|
+
}
|
|
26
|
+
exports.initOptions = initOptions;
|
|
27
|
+
//# sourceMappingURL=options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/model/options.ts"],"names":[],"mappings":";;;;;;AAAA,0CAAmF;AAGnF,6DAAqC;AACrC,0CAAwC;AAqDxC,SAAgB,WAAW,CAAC,OAA0B,EAAE,cAAuB,IAAI;IAClF,MAAM,GAAG,GAAG,YAAK,CAAC,SAAS,CAAC,EAAE,EAAE,mBAAS,CAAC,eAAe,EAAE,WAAW,EAAE,IAAA,wBAAiB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAEjH,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QACtB,GAAG,CAAC,eAAe,GAAG,cAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;IAChF,CAAC;SAAM,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QACjC,GAAG,CAAC,eAAe,GAAG,cAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACpB,GAAG,CAAC,aAAa,GAAG,YAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC;SAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC/B,GAAG,CAAC,aAAa,GAAG,YAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC;AAhBD,kCAgBC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { CellRange } from "../common/range";
|
|
2
|
+
import { CellModel, CellSource } from "./cellModel";
|
|
3
|
+
import { GridModel } from "./gridModel";
|
|
4
|
+
import { tree } from "@omegagrid/core";
|
|
5
|
+
import { ElementModel, ElementSource } from "./elementModel";
|
|
6
|
+
/** Source object type for grid row */
|
|
7
|
+
export type RowSource = {
|
|
8
|
+
h?: number;
|
|
9
|
+
data?: Record<string | number, any>;
|
|
10
|
+
} & tree.TreeNodeSource & ElementSource;
|
|
11
|
+
declare const RowModel_base: (new (...input: any[]) => {
|
|
12
|
+
index: number;
|
|
13
|
+
parentIndex: number;
|
|
14
|
+
level: number;
|
|
15
|
+
_children: any[];
|
|
16
|
+
_count: number;
|
|
17
|
+
_parent: any;
|
|
18
|
+
_collapsed: boolean;
|
|
19
|
+
_hidden: boolean;
|
|
20
|
+
_filterState: tree.FilterState;
|
|
21
|
+
populate(source: tree.TreeNodeSource): void;
|
|
22
|
+
getSourceData(): tree.TreeNodeSource;
|
|
23
|
+
filterState: tree.FilterState;
|
|
24
|
+
hidden: boolean;
|
|
25
|
+
readonly visible: boolean;
|
|
26
|
+
collapsed: boolean;
|
|
27
|
+
parent: any;
|
|
28
|
+
children: any[];
|
|
29
|
+
readonly hasChildren: boolean;
|
|
30
|
+
count: number;
|
|
31
|
+
readonly isLoaded: boolean;
|
|
32
|
+
readonly isPartialyLoaded: boolean;
|
|
33
|
+
readonly hasParent: boolean;
|
|
34
|
+
readonly firstChild: any;
|
|
35
|
+
readonly lastChild: any;
|
|
36
|
+
addChild(child: any): void;
|
|
37
|
+
insertChildren(children: any[], index: number): void;
|
|
38
|
+
deleteChildren(index: number | any[], count?: number): void;
|
|
39
|
+
expand(): void;
|
|
40
|
+
collapse(): void;
|
|
41
|
+
toggleCollapse(recursive?: boolean): void;
|
|
42
|
+
clearChildren(): void;
|
|
43
|
+
walk(cb: (m: any) => unknown): void;
|
|
44
|
+
walkVisible(cb: (m: any) => unknown): void;
|
|
45
|
+
walkUp(cb: (m: any) => unknown): void;
|
|
46
|
+
sort(comparer: (a: any, b: any) => number): void;
|
|
47
|
+
}) & typeof ElementModel;
|
|
48
|
+
export declare class RowModel extends RowModel_base {
|
|
49
|
+
origIndex: number;
|
|
50
|
+
visibleIndex: number;
|
|
51
|
+
private _cells;
|
|
52
|
+
get cells(): CellModel[];
|
|
53
|
+
private _data;
|
|
54
|
+
get data(): Record<string | number, any>;
|
|
55
|
+
set data(v: Record<string | number, any>);
|
|
56
|
+
private _height;
|
|
57
|
+
get height(): number;
|
|
58
|
+
set height(value: number);
|
|
59
|
+
private _priority;
|
|
60
|
+
get priority(): number;
|
|
61
|
+
set priority(value: number);
|
|
62
|
+
get address(): string;
|
|
63
|
+
get range(): CellRange;
|
|
64
|
+
get hasFormula(): boolean;
|
|
65
|
+
get formula(): string;
|
|
66
|
+
set formula(v: string);
|
|
67
|
+
get values(): unknown[];
|
|
68
|
+
isCellInitialized: (c: number) => boolean;
|
|
69
|
+
cell(c: number, source?: CellSource): CellModel;
|
|
70
|
+
constructor(model: GridModel, source?: RowSource);
|
|
71
|
+
populate(source: RowSource): void;
|
|
72
|
+
getSourceData(): RowSource;
|
|
73
|
+
expand(): void;
|
|
74
|
+
collapse(): void;
|
|
75
|
+
get prev(): RowModel;
|
|
76
|
+
get next(): RowModel;
|
|
77
|
+
get prevVisible(): RowModel;
|
|
78
|
+
get nextVisible(): RowModel;
|
|
79
|
+
/**
|
|
80
|
+
* Checks if cell has formula, even for uninitialized cells
|
|
81
|
+
* @param c number
|
|
82
|
+
* @returns boolean
|
|
83
|
+
*/
|
|
84
|
+
hasCellFormula(c: number): any;
|
|
85
|
+
hasCellName(c: number): boolean;
|
|
86
|
+
insertColumns(index: number, count: number, shiftFormulas?: boolean): void;
|
|
87
|
+
deleteColumns(index: number, count: number, shiftFormulas?: boolean): CellModel[];
|
|
88
|
+
clearCalculatedValues(): void;
|
|
89
|
+
}
|
|
90
|
+
export {};
|
|
91
|
+
//# sourceMappingURL=rowModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rowModel.d.ts","sourceRoot":"","sources":["../../src/model/rowModel.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAa,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,IAAI,EAAS,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAU7D,sCAAsC;AACtC,MAAM,MAAM,SAAS,GAAG;IACvB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,GAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACjC,GAAG,IAAI,CAAC,cAAc,GAAG,aAAa,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvC,qBAAa,QAAS,SAAQ,aAAgC;IAE7D,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IAErB,OAAO,CAAC,MAAM,CAAc;IAC5B,IAAI,KAAK,gBAAyB;IAElC,OAAO,CAAC,KAAK,CAA6B;IAC1C,IAAI,IAAI,IACK,MAAM,CAAC,MAAM,GAAC,MAAM,EAAE,GAAG,CAAC,CADP;IAChC,IAAI,IAAI,CAAC,CAAC,EAAG,MAAM,CAAC,MAAM,GAAC,MAAM,EAAE,GAAG,CAAC,EAAoB;IAE3D,OAAO,CAAC,OAAO,CAAS;IACxB,IAAI,MAAM,IACQ,MAAM,CAD4C;IACpE,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAA0B;IAElD,OAAO,CAAC,SAAS,CAAK;IACtB,IAAI,QAAQ,IACQ,MAAM,CADc;IACxC,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAA4B;IAEtD,IAAI,OAAO,WAAmC;IAC9C,IAAI,KAAK,cAA+D;IAExE,IAAI,UAAU,YAA6B;IAC3C,IAAI,OAAO,IACI,MAAM,CADiB;IACtC,IAAI,OAAO,CAAC,CAAC,EAAE,MAAM,EAGpB;IAED,IAAI,MAAM,cAAuE;IAEjF,iBAAiB,MAAO,MAAM,aAAqB;IAEnD,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAI,SAAS;gBAiBpC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,SAAS;IAKhD,QAAQ,CAAC,MAAM,EAAE,SAAS;IAM1B,aAAa;IAOb,MAAM;IAKN,QAAQ;IAKR,IAAI,IAAI,aAA6C;IACrD,IAAI,IAAI,aAA6C;IAErD,IAAI,WAAW,IAAK,QAAQ,CAI3B;IAED,IAAI,WAAW,IAAK,QAAQ,CAI3B;IAED;;;;OAIG;IACH,cAAc,CAAC,CAAC,EAAE,MAAM;IAKxB,WAAW,CAAC,CAAC,EAAE,MAAM;IAKrB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,UAAQ;IAiBjE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,UAAQ;IAiBjE,qBAAqB;CAIrB"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.RowModel = void 0;
|
|
8
|
+
const constants_1 = __importDefault(require("../constants"));
|
|
9
|
+
const range_1 = require("../common/range");
|
|
10
|
+
const cellModel_1 = require("./cellModel");
|
|
11
|
+
const core_1 = require("@omegagrid/core");
|
|
12
|
+
const elementModel_1 = require("./elementModel");
|
|
13
|
+
class RowModel extends core_1.tree.TreeNodeMixin(elementModel_1.ElementModel) {
|
|
14
|
+
get cells() { return this._cells; }
|
|
15
|
+
get data() { return this._data; }
|
|
16
|
+
set data(v) { this._data = v; }
|
|
17
|
+
get height() { var _a; return (_a = this._height) !== null && _a !== void 0 ? _a : constants_1.default.DEFAULT_ROW_HEIGHT; }
|
|
18
|
+
set height(value) { this._height = value; }
|
|
19
|
+
get priority() { return this._priority; }
|
|
20
|
+
set priority(value) { this._priority = value; }
|
|
21
|
+
get address() { return (0, range_1.encodeRow)(this.index); }
|
|
22
|
+
get range() { return new range_1.CellRange(null, this.index, null, this.index); }
|
|
23
|
+
get hasFormula() { return !!this._formula; }
|
|
24
|
+
get formula() { return this._formula; }
|
|
25
|
+
set formula(v) {
|
|
26
|
+
super.formula = v;
|
|
27
|
+
this.model.columns.forEach(col => this.cell(col.index).refreshFormula());
|
|
28
|
+
}
|
|
29
|
+
get values() { return this.model.columns.map(col => this.cell(col.index).value); }
|
|
30
|
+
cell(c, source) {
|
|
31
|
+
let cell = this._cells[c];
|
|
32
|
+
if ((source || !cell) && this.model.columns[c]) {
|
|
33
|
+
cell = new cellModel_1.CellModel(this.model, source !== null && source !== void 0 ? source : { c: c, r: this.index });
|
|
34
|
+
if (this._data) {
|
|
35
|
+
const dataField = this.model.columns[c].data;
|
|
36
|
+
if (dataField != null) {
|
|
37
|
+
if (core_1.utils.isObject(this._data[dataField]))
|
|
38
|
+
cell.populate(this._data[dataField]);
|
|
39
|
+
else if (cell.value == null)
|
|
40
|
+
cell.value = this._data[dataField];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (cell.name)
|
|
44
|
+
this.model.names.set(cell.name, cell.range);
|
|
45
|
+
this._cells[c] = cell;
|
|
46
|
+
}
|
|
47
|
+
return cell;
|
|
48
|
+
}
|
|
49
|
+
constructor(model, source) {
|
|
50
|
+
super(model, source);
|
|
51
|
+
this._priority = 1;
|
|
52
|
+
this.isCellInitialized = (c) => !!this.cells[c];
|
|
53
|
+
this._cells = [];
|
|
54
|
+
}
|
|
55
|
+
populate(source) {
|
|
56
|
+
var _a;
|
|
57
|
+
super.populate(source);
|
|
58
|
+
this._height = (_a = source.h) !== null && _a !== void 0 ? _a : constants_1.default.DEFAULT_ROW_HEIGHT;
|
|
59
|
+
this._data = source.data;
|
|
60
|
+
}
|
|
61
|
+
getSourceData() {
|
|
62
|
+
const data = super.getSourceData();
|
|
63
|
+
//if (this._data != null) data.data = this._data;
|
|
64
|
+
if (this._height != null && this._height != constants_1.default.DEFAULT_ROW_HEIGHT)
|
|
65
|
+
data.h = this._height;
|
|
66
|
+
return data;
|
|
67
|
+
}
|
|
68
|
+
expand() {
|
|
69
|
+
super.expand();
|
|
70
|
+
this.model.indexVisibleRows();
|
|
71
|
+
}
|
|
72
|
+
collapse() {
|
|
73
|
+
super.collapse();
|
|
74
|
+
this.model.indexVisibleRows();
|
|
75
|
+
}
|
|
76
|
+
get prev() { return this.model.rows[this.index - 1]; }
|
|
77
|
+
get next() { return this.model.rows[this.index + 1]; }
|
|
78
|
+
get prevVisible() {
|
|
79
|
+
let prev = this.prev;
|
|
80
|
+
while (prev && !prev.visible)
|
|
81
|
+
prev = prev.prev;
|
|
82
|
+
return prev;
|
|
83
|
+
}
|
|
84
|
+
get nextVisible() {
|
|
85
|
+
let next = this.next;
|
|
86
|
+
while (next && !next.visible)
|
|
87
|
+
next = next.next;
|
|
88
|
+
return next;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Checks if cell has formula, even for uninitialized cells
|
|
92
|
+
* @param c number
|
|
93
|
+
* @returns boolean
|
|
94
|
+
*/
|
|
95
|
+
hasCellFormula(c) {
|
|
96
|
+
return (this.cells[c] && this.cells[c].hasFormula)
|
|
97
|
+
|| (this._data && this._data[this.model.columns[c].data] && this._data[this.model.columns[c].data].f);
|
|
98
|
+
}
|
|
99
|
+
hasCellName(c) {
|
|
100
|
+
return (this.cells[c] && this.cells[c].name != null)
|
|
101
|
+
|| (this._data && this._data[this.model.columns[c].data] && this._data[this.model.columns[c].data].name != null);
|
|
102
|
+
}
|
|
103
|
+
insertColumns(index, count, shiftFormulas = false) {
|
|
104
|
+
let cell;
|
|
105
|
+
const columns = this.model.columns.length;
|
|
106
|
+
const calculations = this.model.calculations;
|
|
107
|
+
if (shiftFormulas) {
|
|
108
|
+
for (let c = 0; c < columns; c++) {
|
|
109
|
+
if (this.hasCellFormula(c)) {
|
|
110
|
+
cell = this.cell(c);
|
|
111
|
+
cell.formula = calculations.getFormula(cell).shift(index, count, 'right').createFormulaString(false);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (index < this.cells.length)
|
|
116
|
+
this.cells.splice(index, 0, ...Array(count).fill(null));
|
|
117
|
+
}
|
|
118
|
+
deleteColumns(index, count, shiftFormulas = false) {
|
|
119
|
+
let cell;
|
|
120
|
+
const columns = this.model.columns.length;
|
|
121
|
+
const calculations = this.model.calculations;
|
|
122
|
+
if (shiftFormulas) {
|
|
123
|
+
for (let c = 0; c < columns; c++) {
|
|
124
|
+
if (this.hasCellFormula(c)) {
|
|
125
|
+
cell = this.cell(c);
|
|
126
|
+
cell.formula = calculations.getFormula(cell).shift(index, count, 'left').createFormulaString(false);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return index < this.cells.length ? this.cells.splice(index, count) : null;
|
|
131
|
+
}
|
|
132
|
+
clearCalculatedValues() {
|
|
133
|
+
this.cells.forEach(cell => cell && this.model.calculations.refreshFormula(cell));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
exports.RowModel = RowModel;
|
|
137
|
+
//# sourceMappingURL=rowModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rowModel.js","sourceRoot":"","sources":["../../src/model/rowModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CellRange } from "../common/range";
|
|
2
|
+
export declare class SelectionModel {
|
|
3
|
+
range: CellRange;
|
|
4
|
+
activeCell: CellRange;
|
|
5
|
+
color: string;
|
|
6
|
+
hidden: boolean;
|
|
7
|
+
get activeCellCoords(): {
|
|
8
|
+
c: number;
|
|
9
|
+
r: number;
|
|
10
|
+
};
|
|
11
|
+
constructor(c1: number, r1: number, c2?: number, r2?: number);
|
|
12
|
+
static fromRange(r: CellRange): SelectionModel;
|
|
13
|
+
setCoords(c1?: number, r1?: number, c2?: number, r2?: number): void;
|
|
14
|
+
setRangeAddress(address: string): void;
|
|
15
|
+
setRange(range: CellRange): void;
|
|
16
|
+
move(c: number, r: number, maxColumns?: number, maxRows?: number): void;
|
|
17
|
+
moveRange(c: number, r: number, maxColumns?: number, maxRows?: number): void;
|
|
18
|
+
moveActiveCell(c: number, r: number): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=selectionModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectionModel.d.ts","sourceRoot":"","sources":["../../src/model/selectionModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,cAAc;IAE1B,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,UAAS;IAEf,IAAI,gBAAgB,IAAI;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAC,CAK7C;gBAEW,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM;IAK5D,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS;IAI7B,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM;IAK5D,eAAe,CAAC,OAAO,EAAE,MAAM;IAI/B,QAAQ,CAAC,KAAK,EAAE,SAAS;IAKzB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAWhE,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAIrE,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;CAKnC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SelectionModel = void 0;
|
|
4
|
+
const range_1 = require("../common/range");
|
|
5
|
+
class SelectionModel {
|
|
6
|
+
get activeCellCoords() {
|
|
7
|
+
return {
|
|
8
|
+
c: this.range.c1 + this.activeCell.c1,
|
|
9
|
+
r: this.range.r1 + this.activeCell.r1
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
constructor(c1, r1, c2, r2) {
|
|
13
|
+
this.hidden = false;
|
|
14
|
+
this.range = new range_1.CellRange(c1, r1, c2, r2);
|
|
15
|
+
this.activeCell = new range_1.CellRange(0, 0);
|
|
16
|
+
}
|
|
17
|
+
static fromRange(r) {
|
|
18
|
+
return new SelectionModel(r.c1, r.r1, r.c2, r.r2);
|
|
19
|
+
}
|
|
20
|
+
setCoords(c1, r1, c2, r2) {
|
|
21
|
+
this.range.setCoords(c1, r1, c2, r2);
|
|
22
|
+
this.activeCell.setCoords(0, 0);
|
|
23
|
+
}
|
|
24
|
+
setRangeAddress(address) {
|
|
25
|
+
this.setRange(range_1.CellRange.fromA1(address));
|
|
26
|
+
}
|
|
27
|
+
setRange(range) {
|
|
28
|
+
this.range.setCoords(range.c1, range.r1, range.c2, range.r2);
|
|
29
|
+
this.activeCell.setCoords(0, 0);
|
|
30
|
+
}
|
|
31
|
+
move(c, r, maxColumns, maxRows) {
|
|
32
|
+
this.range.setCoords(this.range.c1 + this.activeCell.c1, this.range.r1 + this.activeCell.r1, this.range.c1 + this.activeCell.c2, this.range.r1 + this.activeCell.r2);
|
|
33
|
+
this.range.move(c, r, maxColumns, maxRows, false);
|
|
34
|
+
this.activeCell.setCoords(0, 0);
|
|
35
|
+
}
|
|
36
|
+
moveRange(c, r, maxColumns, maxRows) {
|
|
37
|
+
this.range.move(c, r, maxColumns, maxRows, true);
|
|
38
|
+
}
|
|
39
|
+
moveActiveCell(c, r) {
|
|
40
|
+
const { columns, rows } = this.range.size;
|
|
41
|
+
this.activeCell.move(c, r, columns, rows, true);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.SelectionModel = SelectionModel;
|
|
45
|
+
//# sourceMappingURL=selectionModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectionModel.js","sourceRoot":"","sources":["../../src/model/selectionModel.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAE5C,MAAa,cAAc;IAO1B,IAAI,gBAAgB;QACnB,OAAO;YACN,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE;YACrC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE;SACrC,CAAA;IACF,CAAC;IAED,YAAY,EAAU,EAAE,EAAU,EAAE,EAAW,EAAE,EAAW;QAT5D,WAAM,GAAG,KAAK,CAAC;QAUd,IAAI,CAAC,KAAK,GAAG,IAAI,iBAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,CAAY;QAC5B,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,SAAS,CAAC,EAAW,EAAE,EAAW,EAAE,EAAW,EAAE,EAAW;QAC3D,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,eAAe,CAAC,OAAe;QAC9B,IAAI,CAAC,QAAQ,CAAC,iBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,QAAQ,CAAC,KAAgB;QACxB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,CAAC,CAAS,EAAE,CAAS,EAAE,UAAmB,EAAE,OAAgB;QAC/D,IAAI,CAAC,KAAK,CAAC,SAAS,CACnB,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,EAClC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,EAClC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,EAClC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAClC,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,CAAS,EAAE,CAAS,EAAE,UAAmB,EAAE,OAAgB;QACpE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,cAAc,CAAC,CAAS,EAAE,CAAS;QAClC,MAAM,EAAC,OAAO,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CAED;AAzDD,wCAyDC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { CSSStyle } from './cssStyle';
|
|
2
|
+
export type HorizontalAlignment = 'left' | 'right' | 'center';
|
|
3
|
+
export type VerticalAlignment = 'top' | 'bottom' | 'center';
|
|
4
|
+
export interface Alignment {
|
|
5
|
+
/** Indent level */
|
|
6
|
+
indent?: number;
|
|
7
|
+
/** Wrap text */
|
|
8
|
+
wrapText?: boolean;
|
|
9
|
+
/** Horizontal Alignment */
|
|
10
|
+
horizontal?: HorizontalAlignment;
|
|
11
|
+
/** Vertical Alignment */
|
|
12
|
+
vertical?: VerticalAlignment;
|
|
13
|
+
/** Text rotation */
|
|
14
|
+
textRotation?: number;
|
|
15
|
+
}
|
|
16
|
+
export type Color = string;
|
|
17
|
+
export type BorderStyle = 'thin' | 'medium' | 'thick' | 'double' | 'dotted' | 'hair' | 'dashed' | 'mediumDashed' | 'dashDot' | 'mediumDashDot' | 'dashDotDot' | 'mediumDashDotDot' | 'slantDashDot';
|
|
18
|
+
export type PatterStyle = 'solid' | 'darkGray' | 'mediumGray' | 'lightGray' | 'gray125' | 'gray0625' | 'darkHorizontal' | 'darkVertical' | 'darkDown' | 'darkUp' | 'darkGrid' | 'darkTrellis' | 'lightHorizontal' | 'lightVertical' | 'lightDown' | 'lightUp' | 'lightGrid' | 'lightTrellis';
|
|
19
|
+
export interface Border {
|
|
20
|
+
/** Border Style */
|
|
21
|
+
style?: BorderStyle;
|
|
22
|
+
/** Border Color */
|
|
23
|
+
color?: Color;
|
|
24
|
+
}
|
|
25
|
+
export interface TextStyle {
|
|
26
|
+
/** Bold text style */
|
|
27
|
+
bold?: boolean;
|
|
28
|
+
/** Italic text style */
|
|
29
|
+
italic?: boolean;
|
|
30
|
+
/** Underline text style */
|
|
31
|
+
underline?: boolean;
|
|
32
|
+
/** Font Size */
|
|
33
|
+
sz?: number;
|
|
34
|
+
/** Strike-through text style */
|
|
35
|
+
strike?: boolean;
|
|
36
|
+
/** Font Name */
|
|
37
|
+
font?: string;
|
|
38
|
+
/** Text Color */
|
|
39
|
+
color?: Color;
|
|
40
|
+
}
|
|
41
|
+
export interface Style extends TextStyle {
|
|
42
|
+
/** Top Border */
|
|
43
|
+
top?: Border;
|
|
44
|
+
/** Bottom Border */
|
|
45
|
+
bottom?: Border;
|
|
46
|
+
/** Left Border */
|
|
47
|
+
left?: Border;
|
|
48
|
+
/** Right Border */
|
|
49
|
+
right?: Border;
|
|
50
|
+
/** Pattern Type (optional) */
|
|
51
|
+
patternType?: PatterStyle;
|
|
52
|
+
/** Cell Primary (background) Color */
|
|
53
|
+
fgColor?: Color;
|
|
54
|
+
/** Cell Secondary (background) Color */
|
|
55
|
+
bgColor?: Color;
|
|
56
|
+
/** Cell alignment properties */
|
|
57
|
+
alignment?: Alignment;
|
|
58
|
+
/** Cell formula hidden when worksheet is locked */
|
|
59
|
+
hidden?: boolean;
|
|
60
|
+
/** Cell editable when worksheet is locked (inverse of "locked" in Excel) */
|
|
61
|
+
editable?: boolean;
|
|
62
|
+
cssStyle?: CSSStyle;
|
|
63
|
+
/** Style Name */
|
|
64
|
+
style?: string;
|
|
65
|
+
hash?: string;
|
|
66
|
+
id?: number;
|
|
67
|
+
[name: string]: unknown;
|
|
68
|
+
}
|
|
69
|
+
export type StylePropertyKey = keyof Style;
|
|
70
|
+
export declare const borderToString: (b?: Border) => string;
|
|
71
|
+
export declare const alignmentToString: (a?: Alignment) => string;
|
|
72
|
+
export declare const hashStyle: (s: Style) => string;
|
|
73
|
+
//# sourceMappingURL=style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/model/style.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
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.hashStyle = exports.alignmentToString = exports.borderToString = void 0;
|
|
7
|
+
const sha1_1 = __importDefault(require("sha1"));
|
|
8
|
+
const convertBool = (value) => value ? '1' : '0';
|
|
9
|
+
const convertString = (value) => value == null ? '_' : value;
|
|
10
|
+
const convertNumber = (value) => value == null ? '_' : value.toString();
|
|
11
|
+
const borderToString = (b) => convertString(b && b.color ? b.color : '_') + convertString(b && b.style ? b.style : '_');
|
|
12
|
+
exports.borderToString = borderToString;
|
|
13
|
+
const alignmentToString = (a) => convertString(a ? a.horizontal : null)
|
|
14
|
+
+ convertString(a ? a.vertical : null)
|
|
15
|
+
+ convertString(a ? a.horizontal : null)
|
|
16
|
+
+ convertNumber(a ? a.indent : null)
|
|
17
|
+
+ convertBool(a ? a.wrapText : null)
|
|
18
|
+
+ convertNumber(a ? a.textRotation : null);
|
|
19
|
+
exports.alignmentToString = alignmentToString;
|
|
20
|
+
const hashStyle = (s) => (0, sha1_1.default)('s_'
|
|
21
|
+
+ convertBool(s.bold)
|
|
22
|
+
+ convertBool(s.italic)
|
|
23
|
+
+ convertBool(s.underline)
|
|
24
|
+
+ convertNumber(s.sz)
|
|
25
|
+
+ convertString(s.font)
|
|
26
|
+
+ convertString(s.color)
|
|
27
|
+
+ (0, exports.borderToString)(s.top)
|
|
28
|
+
+ (0, exports.borderToString)(s.right)
|
|
29
|
+
+ (0, exports.borderToString)(s.bottom)
|
|
30
|
+
+ (0, exports.borderToString)(s.left)
|
|
31
|
+
+ convertString(s.patternType)
|
|
32
|
+
+ convertString(s.fgColor)
|
|
33
|
+
+ convertString(s.bgColor)
|
|
34
|
+
+ (0, exports.alignmentToString)(s.alignment)
|
|
35
|
+
+ convertBool(s.hidden)
|
|
36
|
+
+ convertBool(s.editable));
|
|
37
|
+
exports.hashStyle = hashStyle;
|
|
38
|
+
//# sourceMappingURL=style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/model/style.ts"],"names":[],"mappings":";;;;;;AACA,gDAAwB;AAwHxB,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AAC1D,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;AACrE,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;AAEzE,MAAM,cAAc,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAA3H,QAAA,cAAc,kBAA6G;AACjI,MAAM,iBAAiB,GAAG,CAAC,CAAa,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;MACvF,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;MACpC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;MACtC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;MAClC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;MAClC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAL9B,QAAA,iBAAiB,qBAKa;AAEpC,MAAM,SAAS,GAAG,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAA,cAAI,EAAC,IAAI;MAC7C,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;MACnB,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;MACrB,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;MACxB,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;MACnB,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;MACrB,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;MACtB,IAAA,sBAAc,EAAC,CAAC,CAAC,GAAG,CAAC;MACrB,IAAA,sBAAc,EAAC,CAAC,CAAC,KAAK,CAAC;MACvB,IAAA,sBAAc,EAAC,CAAC,CAAC,MAAM,CAAC;MACxB,IAAA,sBAAc,EAAC,CAAC,CAAC,IAAI,CAAC;MACtB,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;MAC5B,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;MACxB,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;MACxB,IAAA,yBAAiB,EAAC,CAAC,CAAC,SAAS,CAAC;MAC9B,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;MACrB,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAhBf,QAAA,SAAS,aAgBM"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CSSStyle } from "./cssStyle";
|
|
2
|
+
import { GridModel } from "./gridModel";
|
|
3
|
+
import { Style, StylePropertyKey } from "./style";
|
|
4
|
+
export declare class StyleModel {
|
|
5
|
+
readonly model: GridModel;
|
|
6
|
+
private _count;
|
|
7
|
+
private hashmap;
|
|
8
|
+
readonly map: Map<number, Style>;
|
|
9
|
+
constructor(model: GridModel);
|
|
10
|
+
add(styleSource: string | CSSStyle | Style): Style;
|
|
11
|
+
populate(styles: (string | CSSStyle | Style)[]): void;
|
|
12
|
+
get(id: number): Style;
|
|
13
|
+
remove(style: number | Style): void;
|
|
14
|
+
merge(...s: (number | Style)[]): Style;
|
|
15
|
+
set(id: number, props: Record<StylePropertyKey, unknown>): Style;
|
|
16
|
+
unset(id: number, props: string[]): void;
|
|
17
|
+
getSourceData(): Style[];
|
|
18
|
+
clean(): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=styleModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styleModel.d.ts","sourceRoot":"","sources":["../../src/model/styleModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAmB,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAa,MAAM,SAAS,CAAC;AAE7D,qBAAa,UAAU;IAMV,QAAQ,CAAC,KAAK,EAAE,SAAS;IAJrC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,OAAO,CAA6B;IAC5C,SAAgB,GAAG,qBAA4B;gBAE1B,KAAK,EAAE,SAAS;IAErC,GAAG,CAAC,WAAW,EAAE,MAAM,GAAC,QAAQ,GAAC,KAAK;IAYtC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,GAAC,QAAQ,GAAC,KAAK,CAAC,EAAE;IAI1C,GAAG,CAAC,EAAE,EAAE,MAAM;IAId,MAAM,CAAC,KAAK,EAAE,MAAM,GAAC,KAAK;IAM1B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,GAAC,KAAK,CAAC,EAAE,GAAG,KAAK;IAOpC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,KAAK;IAOhE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAOjC,aAAa;IAIb,KAAK;CAqBL"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StyleModel = void 0;
|
|
4
|
+
const core_1 = require("@omegagrid/core");
|
|
5
|
+
const cssStyle_1 = require("./cssStyle");
|
|
6
|
+
const style_1 = require("./style");
|
|
7
|
+
class StyleModel {
|
|
8
|
+
constructor(model) {
|
|
9
|
+
this.model = model;
|
|
10
|
+
this._count = 0;
|
|
11
|
+
this.hashmap = new Map();
|
|
12
|
+
this.map = new Map();
|
|
13
|
+
}
|
|
14
|
+
add(styleSource) {
|
|
15
|
+
const style = this.model.options.cssStyles ? (0, cssStyle_1.cssStyleToStyle)(styleSource) : styleSource;
|
|
16
|
+
const hash = style.hash ? style.hash : (0, style_1.hashStyle)(style);
|
|
17
|
+
if (this.hashmap.has(hash))
|
|
18
|
+
return this.map.get(this.hashmap.get(hash));
|
|
19
|
+
if (style.id == null)
|
|
20
|
+
style.id = this._count;
|
|
21
|
+
this._count = Math.max(style.id + 1, this._count + 1);
|
|
22
|
+
style.hash = hash;
|
|
23
|
+
this.hashmap.set(hash, style.id);
|
|
24
|
+
this.map.set(style.id, style);
|
|
25
|
+
return style;
|
|
26
|
+
}
|
|
27
|
+
populate(styles) {
|
|
28
|
+
styles.forEach(style => this.add(style));
|
|
29
|
+
}
|
|
30
|
+
get(id) {
|
|
31
|
+
return this.map.has(id) ? this.map.get(id) : null;
|
|
32
|
+
}
|
|
33
|
+
remove(style) {
|
|
34
|
+
const s = typeof style == 'object' ? style : this.map.get(style);
|
|
35
|
+
this.hashmap.delete(s.hash);
|
|
36
|
+
this.map.delete(s.id);
|
|
37
|
+
}
|
|
38
|
+
merge(...s) {
|
|
39
|
+
const style = Object.assign({}, ...(s.map(id => core_1.utils.isObject(id) ? id : this.get(id))));
|
|
40
|
+
style.hash = null;
|
|
41
|
+
style.id = null;
|
|
42
|
+
return this.add(style);
|
|
43
|
+
}
|
|
44
|
+
set(id, props) {
|
|
45
|
+
let style = this.map.has(id) ? this.map.get(id) : {};
|
|
46
|
+
for (const k in props)
|
|
47
|
+
style[k] = props[k];
|
|
48
|
+
style = style.id ? style : this.add(style);
|
|
49
|
+
return style;
|
|
50
|
+
}
|
|
51
|
+
unset(id, props) {
|
|
52
|
+
if (this.map.has(id)) {
|
|
53
|
+
const style = this.map.get(id);
|
|
54
|
+
for (const k of props)
|
|
55
|
+
delete style[k];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
getSourceData() {
|
|
59
|
+
return Array.from(this.map.values());
|
|
60
|
+
}
|
|
61
|
+
clean() {
|
|
62
|
+
const styleIds = new Map(Array.from(this.map.entries()).map(([id]) => [id, 0]));
|
|
63
|
+
this.model.columns.forEach(column => {
|
|
64
|
+
const num = styleIds.get(column.style);
|
|
65
|
+
if (num != null)
|
|
66
|
+
styleIds.set(column.style, num + 1);
|
|
67
|
+
});
|
|
68
|
+
this.model.rows.forEach(row => {
|
|
69
|
+
const num = styleIds.get(row.style);
|
|
70
|
+
if (num != null)
|
|
71
|
+
styleIds.set(row.style, num + 1);
|
|
72
|
+
row.cells.forEach(cell => {
|
|
73
|
+
const num = styleIds.get(cell.style);
|
|
74
|
+
if (num != null)
|
|
75
|
+
styleIds.set(cell.style, num + 1);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
styleIds.forEach((cnt, id) => {
|
|
79
|
+
if (cnt == 0)
|
|
80
|
+
this.remove(id);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.StyleModel = StyleModel;
|
|
85
|
+
//# sourceMappingURL=styleModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styleModel.js","sourceRoot":"","sources":["../../src/model/styleModel.ts"],"names":[],"mappings":";;;AAAA,0CAAwC;AACxC,yCAAuD;AAEvD,mCAA6D;AAE7D,MAAa,UAAU;IAMtB,YAAqB,KAAgB;QAAhB,UAAK,GAAL,KAAK,CAAW;QAJ7B,WAAM,GAAG,CAAC,CAAC;QACX,YAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5B,QAAG,GAAG,IAAI,GAAG,EAAiB,CAAC;IAEP,CAAC;IAEzC,GAAG,CAAC,WAAkC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,0BAAe,EAAC,WAA8B,CAAC,CAAC,CAAC,CAAE,WAAqB,CAAC;QACtH,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,iBAAS,EAAC,KAAK,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,IAAI,KAAK,CAAC,EAAE,IAAI,IAAI;YAAE,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,MAAiC;QACzC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,GAAG,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,KAAmB;QACzB,MAAM,CAAC,GAAG,OAAO,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,GAAG,CAAmB;QAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,YAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,GAAG,CAAC,EAAU,EAAE,KAAwC;QACvD,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3C,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAK,CAAC,EAAU,EAAE,KAAe;QAChC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/B,KAAK,MAAM,CAAC,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;IACF,CAAC;IAED,aAAa;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,KAAK;QACJ,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvC,IAAI,GAAG,IAAI,IAAI;gBAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,GAAG,IAAI,IAAI;gBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YAClD,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrC,IAAI,GAAG,IAAI,IAAI;oBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;YAC5B,IAAI,GAAG,IAAI,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACJ,CAAC;CAED;AAhFD,gCAgFC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sparklines/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,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("./sparklines"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sparklines/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"}
|