@sme.up/doc-alchemist 1.2.0-SNAPSHOT-20250625124453 → 1.2.0-SNAPSHOT-20250625163107
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/assets/sample-data.d.ts +3 -1
- package/dist/assets/sample-data.js +2 -1
- package/dist/assets/sample-data.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js.map +1 -1
- package/dist/src/excel/commons.d.ts +1 -1
- package/dist/src/excel/commons.js.map +1 -1
- package/dist/src/excel/excel-generator.d.ts +2 -1
- package/dist/src/excel/excel-generator.js.map +1 -1
- package/dist/src/excel/matrix-generator.d.ts +2 -1
- package/dist/src/excel/matrix-generator.js.map +1 -1
- package/dist/src/excel/tree-generator.d.ts +1 -1
- package/dist/src/excel/tree-generator.js.map +1 -1
- package/dist/src/images/charts-generator.d.ts +1 -1
- package/dist/src/images/charts-generator.js.map +1 -1
- package/dist/src/pdf/pdf-generator.d.ts +2 -1
- package/dist/src/pdf/pdf-generator.js.map +1 -1
- package/dist/src/pdf/sch-generator.d.ts +1 -1
- package/dist/src/pdf/sch-generator.js +1 -1
- package/dist/src/pdf/sch-generator.js.map +1 -1
- package/dist/src/types/component.d.ts +53 -0
- package/dist/src/types/component.js +53 -0
- package/dist/src/types/component.js.map +1 -0
- package/dist/src/types/data-structures/smeupDataStructure.d.ts +215 -0
- package/dist/src/types/data-structures/smeupDataStructure.js +99 -0
- package/dist/src/types/data-structures/smeupDataStructure.js.map +1 -0
- package/dist/src/types/data-structures/smeupDataTable.d.ts +116 -0
- package/dist/src/types/data-structures/smeupDataTable.js +43 -0
- package/dist/src/types/data-structures/smeupDataTable.js.map +1 -0
- package/dist/src/types/data-structures/smeupDataTree.d.ts +13 -0
- package/dist/src/types/data-structures/smeupDataTree.js +2 -0
- package/dist/src/types/data-structures/smeupDataTree.js.map +1 -0
- package/dist/src/types/data-structures/smeupSch.d.ts +72 -0
- package/dist/src/types/data-structures/smeupSch.js +11 -0
- package/dist/src/types/data-structures/smeupSch.js.map +1 -0
- package/dist/src/types/dynamism.d.ts +45 -0
- package/dist/src/types/dynamism.js +30 -0
- package/dist/src/types/dynamism.js.map +1 -0
- package/dist/src/types/general.d.ts +22 -0
- package/dist/src/types/general.js +24 -0
- package/dist/src/types/general.js.map +1 -0
- package/dist/src/types/helpers.d.ts +4 -0
- package/dist/src/types/helpers.js +6 -0
- package/dist/src/types/helpers.js.map +1 -0
- package/dist/src/types/index.d.ts +2 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/utils/datastructure-utility.d.ts +1 -1
- package/dist/src/utils/datastructure-utility.js.map +1 -1
- package/dist/src/utils/generator-utility.d.ts +2 -2
- package/dist/src/utils/generator-utility.js.map +1 -1
- package/dist/tests/excel-generator.test.js.map +1 -1
- package/package.json +5 -6
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Represent the possible shapes of a field
|
|
3
|
+
*/
|
|
4
|
+
export const SmeupDataCellShapes = {
|
|
5
|
+
AUTOCOMPLETE: "ACP",
|
|
6
|
+
BUTTON_LIST: "BTN",
|
|
7
|
+
CHART: "GRA",
|
|
8
|
+
CHECKBOX: "CHK",
|
|
9
|
+
CHIP: "CHI",
|
|
10
|
+
COLOR_PICKER: "CLP",
|
|
11
|
+
COMBOBOX: "CMB",
|
|
12
|
+
DATE: "CAL",
|
|
13
|
+
EDITOR: "EDT",
|
|
14
|
+
GAUGE: "GAU",
|
|
15
|
+
ICON: "ICO",
|
|
16
|
+
IMAGE: "IMG",
|
|
17
|
+
INPUT_CHECKBOX: "INC",
|
|
18
|
+
INPUT_FIELD: "INF",
|
|
19
|
+
KNOB: "KNB",
|
|
20
|
+
LABEL: "LBL",
|
|
21
|
+
MEMO: "MEM",
|
|
22
|
+
MULTI_AUTOCOMPLETE: "AML",
|
|
23
|
+
MULTI_COMBOBOX: "CML",
|
|
24
|
+
OBJECT: "OBJ",
|
|
25
|
+
PROGRESS_BAR: "PGB",
|
|
26
|
+
RADIO: "RAD",
|
|
27
|
+
RATING: "RTG",
|
|
28
|
+
SWITCH: "SWT",
|
|
29
|
+
TABLE: "TBL",
|
|
30
|
+
TEXT_FIELD: "ITX",
|
|
31
|
+
TIME: "TIM",
|
|
32
|
+
INPUT_NUMBER: "INR",
|
|
33
|
+
BOOLEAN_BUTTON: "BNB",
|
|
34
|
+
RANGE: "RNG",
|
|
35
|
+
FILE_UPLOAD: "FUP",
|
|
36
|
+
FILE_READER: "FRE",
|
|
37
|
+
COMMAND_EXECUTE: "RUN",
|
|
38
|
+
ONE_BUTTON: "BTO",
|
|
39
|
+
PASSWORD: "PWD",
|
|
40
|
+
SPINNER: "SPN",
|
|
41
|
+
DECODE: "DEC",
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=smeupDataTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smeupDataTable.js","sourceRoot":"","sources":["../../../../src/types/data-structures/smeupDataTable.ts"],"names":[],"mappings":"AAkFA;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,KAAK;IAClB,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,KAAK;IACX,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,KAAK;IACZ,cAAc,EAAE,KAAK;IACrB,WAAW,EAAE,KAAK;IAClB,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,KAAK;IACX,kBAAkB,EAAE,KAAK;IACzB,cAAc,EAAE,KAAK;IACrB,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,KAAK;IACnB,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,KAAK;IACjB,IAAI,EAAE,KAAK;IACX,YAAY,EAAE,KAAK;IACnB,cAAc,EAAE,KAAK;IACrB,KAAK,EAAE,KAAK;IACZ,WAAW,EAAE,KAAK;IAClB,WAAW,EAAE,KAAK;IAClB,eAAe,EAAE,KAAK;IACtB,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,KAAK;IACf,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,KAAK;CACL,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-wrapper-object-types */\nimport {\n SmeupDataStructure,\n SmeupDataStructureType,\n SmeupLayout,\n} from \"./smeupDataStructure.js\";\n\nexport interface SmeupDataTable extends SmeupDataStructure {\n type: SmeupDataStructureType.SmeupDataTable;\n columns: SmeupDataColumn[];\n rows: SmeupDataRow[];\n layout?: SmeupLayout;\n}\n\nexport interface SmeupDataColumn {\n name: string;\n title?: string;\n visible?: boolean;\n isEditable?: boolean;\n isKey?: boolean;\n fill?: string;\n obj?: {\n t: string;\n p: string;\n };\n maxLength?: number;\n length?: number;\n integers?: number;\n decimals?: number;\n tooltip?: boolean;\n formula?: string;\n shape?: SmeupDataCellShapes;\n useAs?: string;\n hideValuesRepetitions?: boolean;\n}\n\nexport interface SmeupDataRow {\n cells?: {\n [columnName: string]: SmeupDataCell;\n };\n layout?: SmeupLayout;\n rowId?: string;\n error?: boolean;\n}\n\nexport interface SmeupDataCell {\n value: string;\n obj?: {\n t: string;\n p: string;\n k: string;\n };\n // multiple options (i.e. radio, checkbox, select, etc.)\n options?: SmeupDataCellOption[];\n icon?: string;\n isEditable?: boolean;\n hasMCell?: boolean;\n mandatory?: boolean;\n shape?: SmeupDataCellShapes;\n fun?: string;\n tooltip?: boolean;\n data?: {\n [key: string]: Object;\n };\n disabled?: boolean;\n styleName?: string;\n styleAttributes?: {\n [attributeKey: string]: string;\n };\n inputSettings?: {\n [key: string]: Object;\n };\n}\n\n/**\n * Represents the single option of the cell\n */\nexport interface SmeupDataCellOption {\n id: string;\n label: string;\n}\n\n/**\n * Represent the possible shapes of a field\n */\nexport const SmeupDataCellShapes = {\n AUTOCOMPLETE: \"ACP\",\n BUTTON_LIST: \"BTN\",\n CHART: \"GRA\",\n CHECKBOX: \"CHK\",\n CHIP: \"CHI\",\n COLOR_PICKER: \"CLP\",\n COMBOBOX: \"CMB\",\n DATE: \"CAL\",\n EDITOR: \"EDT\",\n GAUGE: \"GAU\",\n ICON: \"ICO\",\n IMAGE: \"IMG\",\n INPUT_CHECKBOX: \"INC\",\n INPUT_FIELD: \"INF\",\n KNOB: \"KNB\",\n LABEL: \"LBL\",\n MEMO: \"MEM\",\n MULTI_AUTOCOMPLETE: \"AML\",\n MULTI_COMBOBOX: \"CML\",\n OBJECT: \"OBJ\",\n PROGRESS_BAR: \"PGB\",\n RADIO: \"RAD\",\n RATING: \"RTG\",\n SWITCH: \"SWT\",\n TABLE: \"TBL\",\n TEXT_FIELD: \"ITX\",\n TIME: \"TIM\",\n INPUT_NUMBER: \"INR\",\n BOOLEAN_BUTTON: \"BNB\",\n RANGE: \"RNG\",\n FILE_UPLOAD: \"FUP\",\n FILE_READER: \"FRE\",\n COMMAND_EXECUTE: \"RUN\",\n ONE_BUTTON: \"BTO\",\n PASSWORD: \"PWD\",\n SPINNER: \"SPN\",\n DECODE: \"DEC\",\n} as const;\n\n/**\n * Represent the type of the shape (like enum)\n */\nexport type SmeupDataCellShapes =\n | (typeof SmeupDataCellShapes)[keyof typeof SmeupDataCellShapes]\n | string;\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SmeupDataStructure, SmeupDataStructureType } from "./smeupDataStructure.js";
|
|
2
|
+
import { SmeupDataCell, SmeupDataColumn } from "./smeupDataTable.js";
|
|
3
|
+
export interface SmeupDataTree extends SmeupDataStructure {
|
|
4
|
+
type: SmeupDataStructureType.SmeupDataTree;
|
|
5
|
+
children: SmeupDataNode[];
|
|
6
|
+
columns?: SmeupDataColumn[];
|
|
7
|
+
}
|
|
8
|
+
export interface SmeupDataNode extends SmeupDataCell {
|
|
9
|
+
children?: SmeupDataNode[];
|
|
10
|
+
cells?: {
|
|
11
|
+
[columnName: string]: SmeupDataCell;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smeupDataTree.js","sourceRoot":"","sources":["../../../../src/types/data-structures/smeupDataTree.ts"],"names":[],"mappings":"","sourcesContent":["import {\n SmeupDataStructure,\n SmeupDataStructureType,\n} from \"./smeupDataStructure.js\";\nimport { SmeupDataCell, SmeupDataColumn } from \"./smeupDataTable.js\";\n\nexport interface SmeupDataTree extends SmeupDataStructure {\n type: SmeupDataStructureType.SmeupDataTree;\n children: SmeupDataNode[];\n columns?: SmeupDataColumn[];\n}\n\nexport interface SmeupDataNode extends SmeupDataCell {\n children?: SmeupDataNode[];\n cells?: {\n [columnName: string]: SmeupDataCell;\n };\n}\n"]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { SmeupDataStructure, SmeupDataStructureType, SmeupSetupBase, SmeupVariable } from "./smeupDataStructure.js";
|
|
2
|
+
import { SmeupDataTable } from "./smeupDataTable.js";
|
|
3
|
+
import { SmeupDataTree, SmeupDataNode } from "./smeupDataTree.js";
|
|
4
|
+
import { Shapes, ToolbarState } from "../component.js";
|
|
5
|
+
import { YesNo } from "../helpers.js";
|
|
6
|
+
import { RawDynamism } from "../dynamism.js";
|
|
7
|
+
export interface SmeupSch extends SmeupDataStructure {
|
|
8
|
+
type: SmeupDataStructureType.SmeupScheda;
|
|
9
|
+
title: string;
|
|
10
|
+
sections: SmeupSchSection[];
|
|
11
|
+
info?: string;
|
|
12
|
+
id?: string;
|
|
13
|
+
styles?: SmeupStyle[];
|
|
14
|
+
layout?: string;
|
|
15
|
+
/** other setup: for example "Menu", left menù */
|
|
16
|
+
laySetup?: unknown;
|
|
17
|
+
dynamisms?: RawDynamism[];
|
|
18
|
+
}
|
|
19
|
+
export interface SmeupSchSection {
|
|
20
|
+
id: string;
|
|
21
|
+
layout: string;
|
|
22
|
+
dim?: string;
|
|
23
|
+
variables?: SmeupVariable[];
|
|
24
|
+
sections?: SmeupSchSection[];
|
|
25
|
+
components?: SmeupSchComponent[];
|
|
26
|
+
type?: SectionTypes;
|
|
27
|
+
}
|
|
28
|
+
export interface SmeupSchComponent {
|
|
29
|
+
type: Shapes;
|
|
30
|
+
title: string;
|
|
31
|
+
load?: boolean;
|
|
32
|
+
subNote?: string;
|
|
33
|
+
id?: string;
|
|
34
|
+
fun?: string;
|
|
35
|
+
data?: SmeupDataTree | SmeupDataTable;
|
|
36
|
+
dynamisms?: RawDynamism[];
|
|
37
|
+
variables?: {
|
|
38
|
+
[key: string]: SmeupVariable;
|
|
39
|
+
};
|
|
40
|
+
options?: SmeupSetupBase;
|
|
41
|
+
icon?: string;
|
|
42
|
+
buttons?: SmeupDataNode[];
|
|
43
|
+
toolbarState?: ToolbarState;
|
|
44
|
+
context?: string;
|
|
45
|
+
}
|
|
46
|
+
export interface SmeupStyle {
|
|
47
|
+
name: string;
|
|
48
|
+
value: SmeupStyleOptions;
|
|
49
|
+
}
|
|
50
|
+
export interface SmeupStyleOptions {
|
|
51
|
+
Align?: string;
|
|
52
|
+
FontBold?: YesNo;
|
|
53
|
+
FontItalic?: YesNo;
|
|
54
|
+
FontName?: string;
|
|
55
|
+
FontSize?: string;
|
|
56
|
+
FontULine?: YesNo;
|
|
57
|
+
FontUnder?: YesNo;
|
|
58
|
+
FontColor?: string;
|
|
59
|
+
BackColor?: string;
|
|
60
|
+
Padding?: string;
|
|
61
|
+
Border?: string;
|
|
62
|
+
TxtOri?: string;
|
|
63
|
+
}
|
|
64
|
+
export declare enum SectionTypes {
|
|
65
|
+
Acc = "Acc",
|
|
66
|
+
Tab = "Tab",
|
|
67
|
+
TabVer = "TabVer",
|
|
68
|
+
Radio = "Radio",
|
|
69
|
+
Combo = "Combo",
|
|
70
|
+
OneBut = "OneBut",
|
|
71
|
+
Menu = "Menu"
|
|
72
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export var SectionTypes;
|
|
2
|
+
(function (SectionTypes) {
|
|
3
|
+
SectionTypes["Acc"] = "Acc";
|
|
4
|
+
SectionTypes["Tab"] = "Tab";
|
|
5
|
+
SectionTypes["TabVer"] = "TabVer";
|
|
6
|
+
SectionTypes["Radio"] = "Radio";
|
|
7
|
+
SectionTypes["Combo"] = "Combo";
|
|
8
|
+
SectionTypes["OneBut"] = "OneBut";
|
|
9
|
+
SectionTypes["Menu"] = "Menu";
|
|
10
|
+
})(SectionTypes || (SectionTypes = {}));
|
|
11
|
+
//# sourceMappingURL=smeupSch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smeupSch.js","sourceRoot":"","sources":["../../../../src/types/data-structures/smeupSch.ts"],"names":[],"mappings":"AA0EA,MAAM,CAAN,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,2BAAW,CAAA;IACX,2BAAW,CAAA;IACX,iCAAiB,CAAA;IACjB,+BAAe,CAAA;IACf,+BAAe,CAAA;IACf,iCAAiB,CAAA;IACjB,6BAAa,CAAA;AACf,CAAC,EARW,YAAY,KAAZ,YAAY,QAQvB","sourcesContent":["import {\n SmeupDataStructure,\n SmeupDataStructureType,\n SmeupSetupBase,\n SmeupVariable,\n} from \"./smeupDataStructure.js\";\nimport { SmeupDataTable } from \"./smeupDataTable.js\";\nimport { SmeupDataTree, SmeupDataNode } from \"./smeupDataTree.js\";\nimport { Shapes, ToolbarState } from \"../component.js\";\nimport { YesNo } from \"../helpers.js\";\nimport { RawDynamism } from \"../dynamism.js\";\n\nexport interface SmeupSch extends SmeupDataStructure {\n type: SmeupDataStructureType.SmeupScheda;\n title: string;\n sections: SmeupSchSection[];\n info?: string;\n id?: string;\n styles?: SmeupStyle[];\n layout?: string;\n /** other setup: for example \"Menu\", left menù */\n laySetup?: unknown;\n dynamisms?: RawDynamism[];\n}\n\nexport interface SmeupSchSection {\n id: string;\n layout: string;\n dim?: string;\n variables?: SmeupVariable[];\n sections?: SmeupSchSection[];\n components?: SmeupSchComponent[];\n type?: SectionTypes;\n}\n\nexport interface SmeupSchComponent {\n type: Shapes;\n title: string;\n load?: boolean;\n subNote?: string;\n id?: string;\n fun?: string;\n data?: SmeupDataTree | SmeupDataTable;\n dynamisms?: RawDynamism[];\n variables?: {\n [key: string]: SmeupVariable;\n };\n options?: SmeupSetupBase;\n icon?: string;\n buttons?: SmeupDataNode[];\n toolbarState?: ToolbarState;\n context?: string;\n}\n\nexport interface SmeupStyle {\n name: string;\n value: SmeupStyleOptions;\n}\n\nexport interface SmeupStyleOptions {\n Align?: string;\n FontBold?: YesNo;\n FontItalic?: YesNo;\n FontName?: string;\n FontSize?: string;\n FontULine?: YesNo;\n FontUnder?: YesNo;\n FontColor?: string;\n BackColor?: string;\n Padding?: string;\n Border?: string;\n TxtOri?: string;\n}\n\nexport enum SectionTypes {\n Acc = \"Acc\",\n Tab = \"Tab\",\n TabVer = \"TabVer\",\n Radio = \"Radio\",\n Combo = \"Combo\",\n OneBut = \"OneBut\",\n Menu = \"Menu\",\n}\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { SmeupVariable } from "./data-structures/smeupDataStructure.js";
|
|
2
|
+
/**
|
|
3
|
+
* Raw Dynamism
|
|
4
|
+
*/
|
|
5
|
+
export interface RawDynamism {
|
|
6
|
+
/** Event type */
|
|
7
|
+
event: string;
|
|
8
|
+
/** Fun or Action */
|
|
9
|
+
exec?: string;
|
|
10
|
+
/** Component ids */
|
|
11
|
+
targets?: string[];
|
|
12
|
+
/** Declared variables */
|
|
13
|
+
variables?: SmeupVariable[];
|
|
14
|
+
/** Enable conditions */
|
|
15
|
+
enabled?: string;
|
|
16
|
+
/** Load method */
|
|
17
|
+
Load?: LoadType;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Dynamism Event
|
|
21
|
+
*/
|
|
22
|
+
export declare enum DynamismEvents {
|
|
23
|
+
ALL = "*all",
|
|
24
|
+
BTN_CLICK = "btnclick",
|
|
25
|
+
CHANGE = "change",
|
|
26
|
+
CHANGE_MONTH = "changemonth",
|
|
27
|
+
CHANGE_ROW = "changerow",
|
|
28
|
+
CHANGE_VAL = "changeval",
|
|
29
|
+
CLICK = "click",
|
|
30
|
+
DBLCLICK = "dblclick",
|
|
31
|
+
DETAIL_CLICK = "detailclick",
|
|
32
|
+
EXPAND = "expand",
|
|
33
|
+
RESIZE = "resize",
|
|
34
|
+
DATESELECT = "dateselect",
|
|
35
|
+
DROP = "drop",
|
|
36
|
+
SELECT = "select",
|
|
37
|
+
UPDATE = "update",
|
|
38
|
+
CHECK = "check",
|
|
39
|
+
INIT = "init",
|
|
40
|
+
CLOSE = "close",
|
|
41
|
+
UNMOUNT = "unmount"
|
|
42
|
+
}
|
|
43
|
+
export declare enum LoadType {
|
|
44
|
+
D = "D"
|
|
45
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dynamism Event
|
|
3
|
+
*/
|
|
4
|
+
export var DynamismEvents;
|
|
5
|
+
(function (DynamismEvents) {
|
|
6
|
+
DynamismEvents["ALL"] = "*all";
|
|
7
|
+
DynamismEvents["BTN_CLICK"] = "btnclick";
|
|
8
|
+
DynamismEvents["CHANGE"] = "change";
|
|
9
|
+
DynamismEvents["CHANGE_MONTH"] = "changemonth";
|
|
10
|
+
DynamismEvents["CHANGE_ROW"] = "changerow";
|
|
11
|
+
DynamismEvents["CHANGE_VAL"] = "changeval";
|
|
12
|
+
DynamismEvents["CLICK"] = "click";
|
|
13
|
+
DynamismEvents["DBLCLICK"] = "dblclick";
|
|
14
|
+
DynamismEvents["DETAIL_CLICK"] = "detailclick";
|
|
15
|
+
DynamismEvents["EXPAND"] = "expand";
|
|
16
|
+
DynamismEvents["RESIZE"] = "resize";
|
|
17
|
+
DynamismEvents["DATESELECT"] = "dateselect";
|
|
18
|
+
DynamismEvents["DROP"] = "drop";
|
|
19
|
+
DynamismEvents["SELECT"] = "select";
|
|
20
|
+
DynamismEvents["UPDATE"] = "update";
|
|
21
|
+
DynamismEvents["CHECK"] = "check";
|
|
22
|
+
DynamismEvents["INIT"] = "init";
|
|
23
|
+
DynamismEvents["CLOSE"] = "close";
|
|
24
|
+
DynamismEvents["UNMOUNT"] = "unmount";
|
|
25
|
+
})(DynamismEvents || (DynamismEvents = {}));
|
|
26
|
+
export var LoadType;
|
|
27
|
+
(function (LoadType) {
|
|
28
|
+
LoadType["D"] = "D";
|
|
29
|
+
})(LoadType || (LoadType = {}));
|
|
30
|
+
//# sourceMappingURL=dynamism.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamism.js","sourceRoot":"","sources":["../../../src/types/dynamism.ts"],"names":[],"mappings":"AAoBA;;GAEG;AACH,MAAM,CAAN,IAAY,cAoBX;AApBD,WAAY,cAAc;IACxB,8BAAY,CAAA;IACZ,wCAAsB,CAAA;IACtB,mCAAiB,CAAA;IACjB,8CAA4B,CAAA;IAC5B,0CAAwB,CAAA;IACxB,0CAAwB,CAAA;IACxB,iCAAe,CAAA;IACf,uCAAqB,CAAA;IACrB,8CAA4B,CAAA;IAC5B,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,2CAAyB,CAAA;IACzB,+BAAa,CAAA;IACb,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,iCAAe,CAAA;IACf,+BAAa,CAAA;IACb,iCAAe,CAAA;IACf,qCAAmB,CAAA;AACrB,CAAC,EApBW,cAAc,KAAd,cAAc,QAoBzB;AAED,MAAM,CAAN,IAAY,QAEX;AAFD,WAAY,QAAQ;IAClB,mBAAO,CAAA;AACT,CAAC,EAFW,QAAQ,KAAR,QAAQ,QAEnB","sourcesContent":["import { SmeupVariable } from \"./data-structures/smeupDataStructure.js\";\n\n/**\n * Raw Dynamism\n */\nexport interface RawDynamism {\n /** Event type */\n event: string;\n /** Fun or Action */\n exec?: string;\n /** Component ids */\n targets?: string[];\n /** Declared variables */\n variables?: SmeupVariable[];\n /** Enable conditions */\n enabled?: string;\n /** Load method */\n Load?: LoadType;\n}\n\n/**\n * Dynamism Event\n */\nexport enum DynamismEvents {\n ALL = \"*all\",\n BTN_CLICK = \"btnclick\",\n CHANGE = \"change\",\n CHANGE_MONTH = \"changemonth\",\n CHANGE_ROW = \"changerow\",\n CHANGE_VAL = \"changeval\",\n CLICK = \"click\",\n DBLCLICK = \"dblclick\",\n DETAIL_CLICK = \"detailclick\",\n EXPAND = \"expand\",\n RESIZE = \"resize\",\n DATESELECT = \"dateselect\",\n DROP = \"drop\",\n SELECT = \"select\",\n UPDATE = \"update\",\n CHECK = \"check\",\n INIT = \"init\",\n CLOSE = \"close\",\n UNMOUNT = \"unmount\",\n}\n\nexport enum LoadType {\n D = \"D\",\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare class FunObject {
|
|
2
|
+
t: string;
|
|
3
|
+
p: string;
|
|
4
|
+
k: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Fun
|
|
8
|
+
*/
|
|
9
|
+
export declare class Fun {
|
|
10
|
+
component: string;
|
|
11
|
+
service: string;
|
|
12
|
+
function: string;
|
|
13
|
+
obj1?: FunObject;
|
|
14
|
+
obj2?: FunObject;
|
|
15
|
+
obj3?: FunObject;
|
|
16
|
+
obj4?: FunObject;
|
|
17
|
+
obj5?: FunObject;
|
|
18
|
+
obj6?: FunObject;
|
|
19
|
+
P?: string;
|
|
20
|
+
INPUT?: string;
|
|
21
|
+
SS?: string;
|
|
22
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export class FunObject {
|
|
2
|
+
t;
|
|
3
|
+
p;
|
|
4
|
+
k;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Fun
|
|
8
|
+
*/
|
|
9
|
+
export class Fun {
|
|
10
|
+
component;
|
|
11
|
+
service;
|
|
12
|
+
function;
|
|
13
|
+
obj1;
|
|
14
|
+
obj2;
|
|
15
|
+
obj3;
|
|
16
|
+
obj4;
|
|
17
|
+
obj5;
|
|
18
|
+
obj6;
|
|
19
|
+
P;
|
|
20
|
+
INPUT;
|
|
21
|
+
// The implementation of java FunDTO expects SS to be uppercased
|
|
22
|
+
SS;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=general.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../../src/types/general.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAS;IACpB,CAAC,CAAU;IAEX,CAAC,CAAU;IAEX,CAAC,CAAU;CACZ;AAED;;GAEG;AACH,MAAM,OAAO,GAAG;IACd,SAAS,CAAU;IACnB,OAAO,CAAU;IACjB,QAAQ,CAAU;IAElB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IACjB,IAAI,CAAa;IAEjB,CAAC,CAAU;IACX,KAAK,CAAU;IAEf,gEAAgE;IAChE,EAAE,CAAU;CACb","sourcesContent":["export class FunObject {\n t!: string;\n\n p!: string;\n\n k!: string;\n}\n\n/**\n * Fun\n */\nexport class Fun {\n component!: string;\n service!: string;\n function!: string;\n\n obj1?: FunObject;\n obj2?: FunObject;\n obj3?: FunObject;\n obj4?: FunObject;\n obj5?: FunObject;\n obj6?: FunObject;\n\n P?: string;\n INPUT?: string;\n\n // The implementation of java FunDTO expects SS to be uppercased\n SS?: string;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/types/helpers.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAGX;AAHD,WAAY,KAAK;IACf,oBAAW,CAAA;IACX,kBAAS,CAAA;AACX,CAAC,EAHW,KAAK,KAAL,KAAK,QAGhB","sourcesContent":["export enum YesNo {\n Yes = \"Yes\",\n No = \"No\",\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { ComponentOptions, SmeupDataCell } from "@sme.up/kokos-sdk-node";
|
|
2
1
|
import type { Properties as CSSProperties } from "csstype";
|
|
2
|
+
import { ComponentOptions } from "./component.js";
|
|
3
|
+
import { SmeupDataCell } from "./data-structures/smeupDataTable.js";
|
|
3
4
|
export interface SmeupDataObj {
|
|
4
5
|
t: string;
|
|
5
6
|
p: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAUA,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,uCAAuB,CAAA;IACvB,qDAAqC,CAAA;IACrC,qCAAqB,CAAA;IACrB,kDAAkC,CAAA;AACpC,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB;AAwBD,MAAM,CAAN,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,uCAAa,CAAA;IACb,qCAAW,CAAA;IACX,qCAAW,CAAA;IACX,mDAAyB,CAAA;AAC3B,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,QAKjC","sourcesContent":["import type { Properties as CSSProperties } from \"csstype\";\nimport { ComponentOptions } from \"./component.js\";\nimport { SmeupDataCell } from \"./data-structures/smeupDataTable.js\";\n\nexport interface SmeupDataObj {\n t: string;\n p: string;\n k: string;\n}\n\nexport enum DatesFormats {\n ISO_DATE = \"YYYY-MM-DD\",\n ISO_DATE_TIME = \"YYYY-MM-DD HH:mm:ss\",\n ISO_TIME = \"HH:mm:ss\",\n ISO_TIME_WITHOUT_SECONDS = \"HH:mm\",\n}\n\nexport interface GenericObject {\n [index: string]: unknown;\n}\n\nexport interface WebupManagerData {\n mathLocale: string;\n datesLocale: string;\n themeBackground: string;\n}\n\n/**\n * Applies dataTable filters to the excel table rows\n */\nexport type ColumnFilter = {\n checkBoxes?: { value: string }[];\n // add other properties if needed\n};\n\nexport interface SmeupDataCellStyled extends SmeupDataCell {\n style?: CSSProperties;\n}\n\nexport enum SupportedExportFormats {\n XLSX = \"xlsx\",\n CSV = \"csv\",\n TXT = \"txt\",\n PDF_SCHEDA = \"pdf_scheda\",\n}\n\nexport interface ChartOptions extends ComponentOptions {\n Width: string;\n Height: string;\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { SmeupDataColumn } from "
|
|
1
|
+
import { SmeupDataColumn } from "../types/data-structures/smeupDataTable.js";
|
|
2
2
|
export declare const isColumnHidden: (column: SmeupDataColumn) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datastructure-utility.js","sourceRoot":"","sources":["../../../src/utils/datastructure-utility.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAuB,EAAW,EAAE;IACjE,OAAO,CACL,CAAC,MAAM;QACP,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAC7E,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { SmeupDataColumn } from \"
|
|
1
|
+
{"version":3,"file":"datastructure-utility.js","sourceRoot":"","sources":["../../../src/utils/datastructure-utility.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAuB,EAAW,EAAE;IACjE,OAAO,CACL,CAAC,MAAM;QACP,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAC7E,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { SmeupDataColumn } from \"../types/data-structures/smeupDataTable.js\";\n\nexport const isColumnHidden = (column: SmeupDataColumn): boolean => {\n return (\n !column ||\n (Object.prototype.hasOwnProperty.call(column, \"visible\") && !column.visible)\n );\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SmeupDataColumn, SmeupDataTable, SmeupDataCell } from "
|
|
1
|
+
import { SmeupDataColumn, SmeupDataTable, SmeupDataCell } from "../types/data-structures/smeupDataTable.js";
|
|
2
2
|
import { ColumnFilter, WebupManagerData, SupportedExportFormats, GenericObject } from "../types/index.js";
|
|
3
3
|
export declare const getFilteredColumns: (columns: SmeupDataColumn[], props: GenericObject, groupsArray?: {
|
|
4
4
|
column: string;
|
|
@@ -16,7 +16,7 @@ export declare const updateMaxValueLength: (map: {
|
|
|
16
16
|
}, text: string | undefined | null, colName: string) => void;
|
|
17
17
|
export declare const filterRows: (smeupDataTable: SmeupDataTable, filteredColumns: SmeupDataColumn[], filters: {
|
|
18
18
|
[key: string]: ColumnFilter;
|
|
19
|
-
}) => import("
|
|
19
|
+
}) => import("../types/data-structures/smeupDataTable.js").SmeupDataRow[];
|
|
20
20
|
/**
|
|
21
21
|
* Returns a converted and formatted cell value (string, date, number)
|
|
22
22
|
* @param cell - SmeupDataCell
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator-utility.js","sourceRoot":"","sources":["../../../src/utils/generator-utility.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n SmeupDataColumn,\n SmeupDataTable,\n SmeupDataCell,\n} from \"@sme.up/kokos-sdk-node\";\nimport { exportTypeSupportsFormatting } from \"../excel/excel-generator.types.js\";\nimport {\n SmeupDataObj,\n ColumnFilter,\n WebupManagerData,\n SupportedExportFormats,\n GenericObject,\n} from \"../types/index.js\";\nimport { datesIsIsoDate, datesToDate, datesFormat } from \"./dates-utility.js\";\nimport {\n mathNumberStringToFormattedString,\n mathCountDecimals,\n} from \"./math-utility.js\";\nimport {\n objectsIsVoCodVer,\n objectsIsDate,\n objectsIsNumber,\n} from \"./objects-utility.js\";\n\nexport const getFilteredColumns = (\n columns: SmeupDataColumn[],\n props: GenericObject,\n groupsArray: { column: string; visible: boolean }[] = [],\n) => {\n if (!columns) return [];\n\n const mutableColumns = JSON.parse(\n JSON.stringify(columns),\n ) as SmeupDataColumn[];\n\n const filteredColumns: SmeupDataColumn[] = [];\n\n if (props.visibleColumns && (props.visibleColumns as string[]).length > 0) {\n (props.visibleColumns as string[]).forEach((col: string) => {\n const foundColumn = mutableColumns.find(c => c.name === col);\n if (foundColumn) {\n filteredColumns.push({ ...foundColumn });\n }\n });\n } else {\n filteredColumns.push(...mutableColumns);\n }\n\n // Set the visibility of columns based on groups and props\n filteredColumns.forEach((col: SmeupDataColumn) => {\n const isGroupedColumn = groupsArray.filter(g => g.column === col.name);\n col.visible = props.visibleColumns\n ? (props.visibleColumns as string[]).includes(col.name)\n : col.visible;\n col.visible =\n isGroupedColumn.length > 0 ? isGroupedColumn[0].visible : col.visible;\n });\n\n return filteredColumns.filter(column => {\n const dataObject = {\n ...column.obj,\n k: \"\",\n } as SmeupDataObj;\n return column.obj?.t !== \"J4\" && !objectsIsVoCodVer(dataObject);\n });\n};\n\n/**\n * By passing the map, length value and column name\n * creates or updates a map record with\n * @param map Contains columnNames and their longest cell's length\n * @param text The text to use in length calculation\n * @param colName The column to check\n */\nexport const updateMaxValueLength = (\n map: { [key: string]: number },\n text: string | undefined | null,\n colName: string,\n) => {\n if (!map || !text || !colName) return;\n\n const value = Math.max(...text.split(\"\\n\").map(line => line.length));\n if (map[colName]) {\n if (map[colName] < value) {\n map[colName] = value;\n }\n } else {\n map[colName] = value;\n }\n};\n\nexport const filterRows = (\n smeupDataTable: SmeupDataTable,\n filteredColumns: SmeupDataColumn[],\n filters: { [key: string]: ColumnFilter },\n) => {\n if (filters) {\n return smeupDataTable.rows.filter(row => {\n return filteredColumns.every(col => {\n const cellValue = row.cells?.[col.name]?.value;\n const columnFilter = filters[col.name];\n if (columnFilter?.checkBoxes?.length) {\n const allowedValues = columnFilter.checkBoxes.map(item => item.value);\n return (\n typeof cellValue === \"string\" && allowedValues.includes(cellValue)\n );\n }\n return true;\n });\n });\n } else {\n return smeupDataTable.rows;\n }\n};\n\n/**\n * Returns a converted and formatted cell value (string, date, number)\n * @param cell - SmeupDataCell\n * @param bookType - SupportedExportFormats\n * @param webupManagerData - WebupManagerData\n * @returns\n */\nexport const calculateCellValue = (\n cell: SmeupDataCell,\n bookType: SupportedExportFormats,\n webupManagerData: WebupManagerData,\n) => {\n if (cell.obj && objectsIsDate(cell.obj) && datesIsIsoDate(cell.value)) {\n return exportTypeSupportsFormatting[bookType]\n ? new Date(datesToDate(cell.value, webupManagerData.datesLocale))\n : datesFormat(cell.value, webupManagerData.datesLocale);\n }\n\n if (cell.obj && objectsIsNumber(cell.obj)) {\n if (!exportTypeSupportsFormatting[bookType]) {\n return (\n mathNumberStringToFormattedString(\n cell.value,\n mathCountDecimals(Number(cell.value) || 0),\n \"\",\n webupManagerData.mathLocale,\n ) || \"\"\n );\n }\n\n const numValue = Number(cell.value);\n return !isNaN(numValue) ? numValue : \"\";\n }\n\n return cell?.value ?? \"\";\n};\n\n/**\n * Conversion from Hexadecimal color to an AlphaRGB\n * @param hex string - Hexadecimal value, it can bot have and don't have the # prefix\n * @returns ARGB string code\n */\nexport const hexToArgb = (hex: string): string => {\n // Hex validation\n if (hex.startsWith(\"#\")) hex = hex.slice(1);\n if (hex.length !== 6) return \"\";\n\n // Value Parse and return\n const red = parseInt(hex.slice(0, 2), 16);\n const green = parseInt(hex.slice(2, 4), 16);\n const blue = parseInt(hex.slice(4, 6), 16);\n return `FF${red.toString(16).padStart(2, \"0\")}${green\n .toString(16)\n .padStart(2, \"0\")}${blue.toString(16).padStart(2, \"0\")}`;\n};\n\n// Utility function to detect if Buffer is available\nconst isBufferAvailable = (): boolean => {\n try {\n return typeof Buffer !== \"undefined\" && typeof Buffer.from === \"function\";\n } catch {\n return false;\n }\n};\n\n// Utility function to convert ArrayBuffer to Buffer or Uint8Array\nexport const convertToBuffer = (\n arrayBuffer: ArrayBuffer,\n): Buffer | Uint8Array => {\n if (isBufferAvailable()) {\n return Buffer.from(arrayBuffer);\n } else {\n return new Uint8Array(arrayBuffer);\n }\n};\n"]}
|
|
1
|
+
{"version":3,"file":"generator-utility.js","sourceRoot":"","sources":["../../../src/utils/generator-utility.ts"],"names":[],"mappings":"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","sourcesContent":["import { exportTypeSupportsFormatting } from \"../excel/excel-generator.types.js\";\nimport {\n SmeupDataColumn,\n SmeupDataTable,\n SmeupDataCell,\n} from \"../types/data-structures/smeupDataTable.js\";\nimport {\n SmeupDataObj,\n ColumnFilter,\n WebupManagerData,\n SupportedExportFormats,\n GenericObject,\n} from \"../types/index.js\";\nimport { datesIsIsoDate, datesToDate, datesFormat } from \"./dates-utility.js\";\nimport {\n mathNumberStringToFormattedString,\n mathCountDecimals,\n} from \"./math-utility.js\";\nimport {\n objectsIsVoCodVer,\n objectsIsDate,\n objectsIsNumber,\n} from \"./objects-utility.js\";\n\nexport const getFilteredColumns = (\n columns: SmeupDataColumn[],\n props: GenericObject,\n groupsArray: { column: string; visible: boolean }[] = [],\n) => {\n if (!columns) return [];\n\n const mutableColumns = JSON.parse(\n JSON.stringify(columns),\n ) as SmeupDataColumn[];\n\n const filteredColumns: SmeupDataColumn[] = [];\n\n if (props.visibleColumns && (props.visibleColumns as string[]).length > 0) {\n (props.visibleColumns as string[]).forEach((col: string) => {\n const foundColumn = mutableColumns.find(c => c.name === col);\n if (foundColumn) {\n filteredColumns.push({ ...foundColumn });\n }\n });\n } else {\n filteredColumns.push(...mutableColumns);\n }\n\n // Set the visibility of columns based on groups and props\n filteredColumns.forEach((col: SmeupDataColumn) => {\n const isGroupedColumn = groupsArray.filter(g => g.column === col.name);\n col.visible = props.visibleColumns\n ? (props.visibleColumns as string[]).includes(col.name)\n : col.visible;\n col.visible =\n isGroupedColumn.length > 0 ? isGroupedColumn[0].visible : col.visible;\n });\n\n return filteredColumns.filter(column => {\n const dataObject = {\n ...column.obj,\n k: \"\",\n } as SmeupDataObj;\n return column.obj?.t !== \"J4\" && !objectsIsVoCodVer(dataObject);\n });\n};\n\n/**\n * By passing the map, length value and column name\n * creates or updates a map record with\n * @param map Contains columnNames and their longest cell's length\n * @param text The text to use in length calculation\n * @param colName The column to check\n */\nexport const updateMaxValueLength = (\n map: { [key: string]: number },\n text: string | undefined | null,\n colName: string,\n) => {\n if (!map || !text || !colName) return;\n\n const value = Math.max(...text.split(\"\\n\").map(line => line.length));\n if (map[colName]) {\n if (map[colName] < value) {\n map[colName] = value;\n }\n } else {\n map[colName] = value;\n }\n};\n\nexport const filterRows = (\n smeupDataTable: SmeupDataTable,\n filteredColumns: SmeupDataColumn[],\n filters: { [key: string]: ColumnFilter },\n) => {\n if (filters) {\n return smeupDataTable.rows.filter(row => {\n return filteredColumns.every(col => {\n const cellValue = row.cells?.[col.name]?.value;\n const columnFilter = filters[col.name];\n if (columnFilter?.checkBoxes?.length) {\n const allowedValues = columnFilter.checkBoxes.map(item => item.value);\n return (\n typeof cellValue === \"string\" && allowedValues.includes(cellValue)\n );\n }\n return true;\n });\n });\n } else {\n return smeupDataTable.rows;\n }\n};\n\n/**\n * Returns a converted and formatted cell value (string, date, number)\n * @param cell - SmeupDataCell\n * @param bookType - SupportedExportFormats\n * @param webupManagerData - WebupManagerData\n * @returns\n */\nexport const calculateCellValue = (\n cell: SmeupDataCell,\n bookType: SupportedExportFormats,\n webupManagerData: WebupManagerData,\n) => {\n if (cell.obj && objectsIsDate(cell.obj) && datesIsIsoDate(cell.value)) {\n return exportTypeSupportsFormatting[bookType]\n ? new Date(datesToDate(cell.value, webupManagerData.datesLocale))\n : datesFormat(cell.value, webupManagerData.datesLocale);\n }\n\n if (cell.obj && objectsIsNumber(cell.obj)) {\n if (!exportTypeSupportsFormatting[bookType]) {\n return (\n mathNumberStringToFormattedString(\n cell.value,\n mathCountDecimals(Number(cell.value) || 0),\n \"\",\n webupManagerData.mathLocale,\n ) || \"\"\n );\n }\n\n const numValue = Number(cell.value);\n return !isNaN(numValue) ? numValue : \"\";\n }\n\n return cell?.value ?? \"\";\n};\n\n/**\n * Conversion from Hexadecimal color to an AlphaRGB\n * @param hex string - Hexadecimal value, it can bot have and don't have the # prefix\n * @returns ARGB string code\n */\nexport const hexToArgb = (hex: string): string => {\n // Hex validation\n if (hex.startsWith(\"#\")) hex = hex.slice(1);\n if (hex.length !== 6) return \"\";\n\n // Value Parse and return\n const red = parseInt(hex.slice(0, 2), 16);\n const green = parseInt(hex.slice(2, 4), 16);\n const blue = parseInt(hex.slice(4, 6), 16);\n return `FF${red.toString(16).padStart(2, \"0\")}${green\n .toString(16)\n .padStart(2, \"0\")}${blue.toString(16).padStart(2, \"0\")}`;\n};\n\n// Utility function to detect if Buffer is available\nconst isBufferAvailable = (): boolean => {\n try {\n return typeof Buffer !== \"undefined\" && typeof Buffer.from === \"function\";\n } catch {\n return false;\n }\n};\n\n// Utility function to convert ArrayBuffer to Buffer or Uint8Array\nexport const convertToBuffer = (\n arrayBuffer: ArrayBuffer,\n): Buffer | Uint8Array => {\n if (isBufferAvailable()) {\n return Buffer.from(arrayBuffer);\n } else {\n return new Uint8Array(arrayBuffer);\n }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"excel-generator.test.js","sourceRoot":"","sources":["../../tests/excel-generator.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n SmeupDataCell,\n SmeupDataRow,\n SmeupDataColumn,\n SmeupDataNode,\n SmeupDataTable,\n} from \"@sme.up/kokos-sdk-node\";\nimport {\n addStyleToExceljsRow,\n dataTableToExcelWorkbook,\n getExcelNumFormat,\n} from \"../src/index.js\";\nimport {\n GenericObject,\n SupportedExportFormats,\n WebupManagerData,\n} from \"../src/types/index.js\";\nimport ExcelJS from \"exceljs\";\nimport {\n data_table_totals_result_sample_1,\n table_footer_actions,\n table_sample_1,\n table_sample_2,\n totals_sample_1,\n tree_grid_sample_1,\n} from \"../assets/sample-data.js\";\nimport { smeupFormulaToExcelFormula } from \"../src/excel/commons.js\";\nimport { dataTreeToExcelWorkbook } from \"../src/excel/tree-generator.js\";\nimport { ColumnGroup } from \"../index.js\";\n\ntype Workbook = ExcelJS.Workbook;\ntype Cell = ExcelJS.Cell;\ntype Row = ExcelJS.Row;\ntype Style = ExcelJS.Style;\nconst Workbook = ExcelJS.Workbook;\n\n// #region Tests\ndescribe(\"Export Manager Test\", () => {\n it(\"Formula conversion\", () => {\n const formulaExamples = {\n [\"[N1]+[N2]\"]: \"A1+B1\", // Row 1\n [\"1+1\"]: \"1+1\", // Row 2\n [\"[N1]+[N2]+[N3]+[N4]\"]: \"A3+B3+C3+D3\", // Row 3\n [\"1,234+1,0001\"]: \"1.234+1.0001\", // Row 4\n [\"[N1]+[N2]-[N1]-[N2]\"]: \"A5+B5-A5-B5\", // Row 5\n [\"([N1]+[N2]/[N3]+[N4])/10\"]: \"(A6+B6/C6+D6)/10\", // Row 6\n [\"[N1]*[N2]\"]: \"A7*B7\", // Row 7\n [\"[N1]/0\"]: \"A8/0\", // Row 8\n [\"([N1]+[N2])-[N1]\"]: \"(A9+B9)-A9\", // Row 9\n [\"([N1]+[N120])\"]: \"(A10+DP10)\", // Row 10\n } as Record<string, string>;\n\n Object.keys(formulaExamples).forEach((smeupFormula, i) => {\n expect(smeupFormulaToExcelFormula(smeupFormula, i, getColumns(120))).toBe(\n formulaExamples[smeupFormula],\n );\n });\n });\n\n it(\"Number format creation\", () => {\n const cellsFormatNumbers: Partial<SmeupDataCell>[] = [\n {\n data: {\n decimals: 0,\n },\n },\n {\n data: {\n decimals: 1,\n },\n },\n {\n data: {\n decimals: 2,\n },\n },\n {\n data: {\n decimals: 3,\n },\n },\n {\n data: {\n decimals: 4,\n },\n },\n ];\n\n cellsFormatNumbers.forEach((cell, index) => {\n const format = \"0.\" + `${index > 0 ? \"0\".repeat(index) : \"00\"}`;\n expect(\n getExcelNumFormat(\n (cell.data?.decimals as number) ?? 0,\n (cell.data as unknown as number) ?? 0,\n ),\n ).toBe(format + \";[Red]-\" + format);\n });\n });\n\n describe(\"SmeupDataTable export\", () => {\n it(\"xlsx format\", async () => {\n const workbook: Workbook = dataTableToExcelWorkbook(\n table_sample_1,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n // Test number of columns\n expect(worksheet?.columnCount).toBe(8);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(3);\n });\n\n it(\"xlsx with frozen data to ensure immutability does not affect the export\", async () => {\n const workbook: Workbook = dataTableToExcelWorkbook(\n Object.freeze(table_sample_1),\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n // Test number of columns\n expect(worksheet?.columnCount).toBe(8);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(3);\n });\n\n it(\"csv format\", async () => {\n const workbook: Workbook = dataTableToExcelWorkbook(\n table_sample_1,\n SupportedExportFormats.CSV,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n // Test number of columns\n expect(worksheet?.columnCount).toBe(8);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(3);\n });\n\n it(\"txt format\", async () => {\n const workbook: Workbook = dataTableToExcelWorkbook(\n table_sample_1,\n SupportedExportFormats.TXT,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n // Test number of columns\n expect(worksheet?.columnCount).toBe(8);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(3);\n });\n\n it(\"With groups and outline 2 levels\", async () => {\n const workbook: Workbook = dataTableToExcelWorkbook(\n table_sample_2,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet?.getRow(2).outlineLevel).toBe(0);\n expect(worksheet?.getRow(3).outlineLevel).toBe(1);\n expect(worksheet?.getRow(4).outlineLevel).toBe(2);\n expect(worksheet?.getRow(5).outlineLevel).toBe(0);\n expect(worksheet?.getRow(6).outlineLevel).toBe(1);\n expect(worksheet?.getRow(7).outlineLevel).toBe(2);\n });\n\n it(\"With the first group visibility set to false\", async () => {\n const first_grp_vis_false = JSON.parse(\n JSON.stringify(table_sample_2),\n ) as { smeupDataTable: SmeupDataTable; props: GenericObject };\n\n (first_grp_vis_false.props.groups as ColumnGroup[])[0].visible = false;\n\n const workbook: Workbook = dataTableToExcelWorkbook(\n first_grp_vis_false,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n // The visibility of the first group does not affect the number of columns\n expect(worksheet?.columnCount).toBe(3);\n });\n\n it(\"With the visibleColumns set\", async () => {\n const withVisibleColumns = JSON.parse(JSON.stringify(table_sample_2)) as {\n smeupDataTable: SmeupDataTable;\n props: GenericObject;\n };\n\n (withVisibleColumns.props.visibleColumns as string[]) = [\"DSC\", \"1\"];\n\n const workbook: Workbook = dataTableToExcelWorkbook(\n withVisibleColumns,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeDefined();\n expect(worksheet?.columnCount).toBe(2);\n expect(worksheet?.getColumn(1).key).toBe(\"DSC\");\n expect(worksheet?.getColumn(2).key).toBe(\"1\");\n });\n\n it(\"With totals\", async () => {\n const table_totals = JSON.parse(JSON.stringify(table_sample_1));\n table_totals.props = {\n ...table_totals.props,\n totals: totals_sample_1,\n };\n\n const workbook: Workbook = dataTableToExcelWorkbook(\n table_totals,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n\n // Test number of columns\n expect(worksheet?.columnCount).toBe(8);\n // Test number of rows\n expect(worksheet?.rowCount).toBe(4);\n // Check totals row\n worksheet?.getRow(4).eachCell((cell: Cell) => {\n const columnName = worksheet?.getColumn(cell.col).key;\n if (columnName !== undefined) {\n expect(cell.formula).toBe(\n data_table_totals_result_sample_1[columnName],\n );\n }\n });\n });\n\n it(\"With groups subtotals correct range and action\", () => {\n const totalsExpectedFormula = {\n Count: \"SUBTOTAL(3,C2:C2)\",\n Sum: \"SUBTOTAL(9,C2:C2)\",\n Max: \"SUBTOTAL(4,C2:C2)\",\n Min: \"SUBTOTAL(5,C2:C2)\",\n Average: \"SUBTOTAL(1,C2:C2)\",\n };\n const totalsExpectedSubAction = {\n Count: \"3\",\n Sum: \"9\",\n Max: \"4\",\n Min: \"5\",\n Average: \"1\",\n };\n\n Object.keys(totalsExpectedFormula).forEach(async total => {\n const workbook: ExcelJS.Workbook = dataTableToExcelWorkbook(\n table_footer_actions(\n total,\n [\n { column: \"1\", visible: true },\n { column: \"2\", visible: true },\n ],\n 2,\n 2,\n ),\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n\n const totalKey = total as keyof typeof totalsExpectedSubAction;\n\n expect(worksheet?.getRow(2).getCell(3).formula).toBe(\n `SUBTOTAL(${totalsExpectedSubAction[totalKey]},C3:C5)`,\n );\n expect(worksheet?.getRow(3).getCell(3).formula).toBe(\n `SUBTOTAL(${totalsExpectedSubAction[totalKey]},C4:C5)`,\n );\n expect(worksheet?.getRow(6).getCell(3).formula).toBe(\n `SUBTOTAL(${totalsExpectedSubAction[totalKey]},C7:C9)`,\n );\n expect(worksheet?.getRow(7).getCell(3).formula).toBe(\n `SUBTOTAL(${totalsExpectedSubAction[totalKey]},C8:C9)`,\n );\n });\n });\n });\n\n describe(\"SmeupDataTree export - with levels split\", () => {\n it(\"xlsx format - with levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n true,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns -> all tree nodes are under the same column with indentation\n expect(worksheet?.columnCount).toBe(11);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"xlsx format with split nodes to columns - with levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n true,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns -> new column for each tree node\n expect(worksheet?.columnCount).toBe(11);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"csv format - with levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.CSV,\n {} as WebupManagerData,\n true,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeDefined();\n expect(worksheet).not.toBeNull();\n\n // Test number of columns -> all tree nodes are under the same column with indentation\n expect(worksheet?.columnCount).toBe(11);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"txt format - with levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.TXT,\n {} as WebupManagerData,\n true,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns -> all tree nodes are under the same column with indentation\n expect(worksheet?.columnCount).toBe(11);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"With totals - with levels split\", async () => {\n const tree_grid_totals = JSON.parse(JSON.stringify(tree_grid_sample_1));\n tree_grid_totals.props = {\n ...tree_grid_totals.props,\n totals: totals_sample_1,\n };\n const tree_grid_totals_result_sample_1: { [key: string]: string } = {\n COL1: \"SUBTOTAL(3,D2:D6)\",\n HIDDEN_COL: \"SUBTOTAL(9,F2:F6)\",\n SUM_COL: \"SUBTOTAL(9,G2:G6)\",\n AVG_COL: \"SUBTOTAL(1,H2:H6)\",\n MIN_COL: \"SUBTOTAL(5,I2:I6)\",\n MAX_COL: \"SUBTOTAL(4,J2:J6)\",\n DIFF_COL: `(F7-G7)`,\n };\n\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_totals,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n true,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns\n expect(worksheet?.columnCount).toBe(11);\n // Test number of rows\n expect(worksheet?.rowCount).toBe(7);\n // Check totals row\n worksheet?.getRow(7).eachCell((cell: ExcelJS.Cell) => {\n const columnName = worksheet?.getColumn(cell.col).key;\n if (columnName) {\n expect(cell.formula).toBe(\n tree_grid_totals_result_sample_1[columnName],\n );\n }\n });\n });\n it(\"With split nodes to columns and totals\", async () => {\n const tree_grid_totals = JSON.parse(JSON.stringify(tree_grid_sample_1));\n tree_grid_totals.props = {\n ...tree_grid_totals.props,\n totals: totals_sample_1,\n };\n const tree_grid_totals_result_sample_1: { [key: string]: string } = {\n COL1: \"SUBTOTAL(3,D2:D6)\",\n HIDDEN_COL: \"SUBTOTAL(9,F2:F6)\",\n SUM_COL: \"SUBTOTAL(9,G2:G6)\",\n AVG_COL: \"SUBTOTAL(1,H2:H6)\",\n MIN_COL: \"SUBTOTAL(5,I2:I6)\",\n MAX_COL: \"SUBTOTAL(4,J2:J6)\",\n DIFF_COL: `(F7-G7)`,\n };\n\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_totals,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n true,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns\n expect(worksheet?.columnCount).toBe(11);\n // Test number of rows\n expect(worksheet?.rowCount).toBe(7);\n // Check totals row\n worksheet?.getRow(7).eachCell((cell: ExcelJS.Cell) => {\n const columnName = worksheet.getColumn(cell.col).key;\n expect(columnName).toBeTruthy();\n if (columnName) {\n expect(cell.formula).toBe(\n tree_grid_totals_result_sample_1[columnName],\n );\n }\n });\n });\n });\n\n describe(\"SmeupDataTree export - no levels split\", () => {\n it(\"xlsx format - no levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n false,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns -> all tree nodes are under the same column with indentation\n expect(worksheet?.columnCount).toBe(9);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"xlsx format with split nodes to columns - no levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n false,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns -> new column for each tree node\n expect(worksheet?.columnCount).toBe(9);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"csv format - no levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.CSV,\n {} as WebupManagerData,\n false,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns -> all tree nodes are under the same column with indentation\n expect(worksheet?.columnCount).toBe(9);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"txt format - no levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.TXT,\n {} as WebupManagerData,\n false,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns -> all tree nodes are under the same column with indentation\n expect(worksheet?.columnCount).toBe(9);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"With totals - no levels split\", async () => {\n const tree_grid_totals = JSON.parse(JSON.stringify(tree_grid_sample_1));\n tree_grid_totals.props = {\n ...tree_grid_totals.props,\n totals: totals_sample_1,\n };\n const tree_grid_totals_result_sample_1: Record<string, string> = {\n COL1: \"SUBTOTAL(3,B2:B6)\",\n HIDDEN_COL: \"SUBTOTAL(9,D2:D6)\",\n SUM_COL: \"SUBTOTAL(9,E2:E6)\",\n AVG_COL: \"SUBTOTAL(1,F2:F6)\",\n MIN_COL: \"SUBTOTAL(5,G2:G6)\",\n MAX_COL: \"SUBTOTAL(4,H2:H6)\",\n DIFF_COL: `(D7-E7)`,\n };\n\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_totals,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n false,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns\n expect(worksheet?.columnCount).toBe(9);\n // Test number of rows\n expect(worksheet?.rowCount).toBe(7);\n // Check totals row\n worksheet?.getRow(7).eachCell((cell: ExcelJS.Cell) => {\n const columnName = worksheet.getColumn(cell.col).key;\n expect(columnName).toBeTruthy();\n if (columnName) {\n expect(cell.formula).toBe(\n tree_grid_totals_result_sample_1[columnName],\n );\n }\n });\n });\n });\n});\n\ndescribe(\"Cell to XLSX Style converter\", () => {\n const cellStyle = {\n fontWeight: \"bold\",\n backgroundColor: \"#74c0f2\",\n color: \"#000000\",\n };\n const cellResult = {\n fill: {\n type: \"pattern\",\n pattern: \"solid\",\n fgColor: { argb: \"FF74c0f2\" },\n },\n font: { bold: true, color: { argb: \"FF000000\" } },\n } as Style;\n\n it(\"SmeupDataCell - Style calculations\", async () => {\n const workbook = new Workbook();\n const worksheet = workbook.addWorksheet(\"Sheet 1\");\n\n const row: Row = worksheet.addRow([\"Mario Rossi\"]);\n addStyleToExceljsRow(row, [{ name: \"A\", title: \"A\" }], {\n cells: {\n A: {\n value: \"\",\n obj: {\n t: \"\",\n p: \"\",\n k: \"\",\n },\n style: cellStyle,\n },\n },\n } as SmeupDataRow);\n expect(row.getCell(1).style).toStrictEqual(cellResult);\n });\n it(\"SmeupDataNode - Style calculations\", async () => {\n const workbook = new Workbook();\n const worksheet = workbook.addWorksheet(\"Sheet 1\");\n const row: Row = worksheet.addRow([\"Mario Rossi\"]);\n addStyleToExceljsRow(row, [{ name: \"A\", title: \"A\" }], {\n cells: {\n A: {\n value: \"\",\n obj: {\n t: \"\",\n p: \"\",\n k: \"\",\n },\n style: {},\n },\n },\n style: cellStyle,\n } as unknown as SmeupDataNode);\n expect(row.getCell(1).style).toStrictEqual(cellResult);\n });\n});\n\n// #endregion\n\n// #region Assets\n\nconst getColumns = (numberColumns: number): SmeupDataColumn[] => {\n const columns: SmeupDataColumn[] = [];\n\n for (let num = 1; num <= numberColumns; num++) {\n columns.push({\n name: `N${num}`,\n title: \"\",\n });\n }\n\n return columns;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"excel-generator.test.js","sourceRoot":"","sources":["../../tests/excel-generator.test.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n addStyleToExceljsRow,\n dataTableToExcelWorkbook,\n getExcelNumFormat,\n} from \"../src/index.js\";\nimport {\n GenericObject,\n SupportedExportFormats,\n WebupManagerData,\n} from \"../src/types/index.js\";\nimport ExcelJS from \"exceljs\";\nimport {\n data_table_totals_result_sample_1,\n table_footer_actions,\n table_sample_1,\n table_sample_2,\n totals_sample_1,\n tree_grid_sample_1,\n} from \"../assets/sample-data.js\";\nimport { smeupFormulaToExcelFormula } from \"../src/excel/commons.js\";\nimport { dataTreeToExcelWorkbook } from \"../src/excel/tree-generator.js\";\nimport { ColumnGroup } from \"../index.js\";\nimport {\n SmeupDataCell,\n SmeupDataTable,\n SmeupDataRow,\n SmeupDataColumn,\n} from \"../src/types/data-structures/smeupDataTable.js\";\nimport { SmeupDataNode } from \"../src/types/data-structures/smeupDataTree.js\";\n\ntype Workbook = ExcelJS.Workbook;\ntype Cell = ExcelJS.Cell;\ntype Row = ExcelJS.Row;\ntype Style = ExcelJS.Style;\nconst Workbook = ExcelJS.Workbook;\n\n// #region Tests\ndescribe(\"Export Manager Test\", () => {\n it(\"Formula conversion\", () => {\n const formulaExamples = {\n [\"[N1]+[N2]\"]: \"A1+B1\", // Row 1\n [\"1+1\"]: \"1+1\", // Row 2\n [\"[N1]+[N2]+[N3]+[N4]\"]: \"A3+B3+C3+D3\", // Row 3\n [\"1,234+1,0001\"]: \"1.234+1.0001\", // Row 4\n [\"[N1]+[N2]-[N1]-[N2]\"]: \"A5+B5-A5-B5\", // Row 5\n [\"([N1]+[N2]/[N3]+[N4])/10\"]: \"(A6+B6/C6+D6)/10\", // Row 6\n [\"[N1]*[N2]\"]: \"A7*B7\", // Row 7\n [\"[N1]/0\"]: \"A8/0\", // Row 8\n [\"([N1]+[N2])-[N1]\"]: \"(A9+B9)-A9\", // Row 9\n [\"([N1]+[N120])\"]: \"(A10+DP10)\", // Row 10\n } as Record<string, string>;\n\n Object.keys(formulaExamples).forEach((smeupFormula, i) => {\n expect(smeupFormulaToExcelFormula(smeupFormula, i, getColumns(120))).toBe(\n formulaExamples[smeupFormula],\n );\n });\n });\n\n it(\"Number format creation\", () => {\n const cellsFormatNumbers: Partial<SmeupDataCell>[] = [\n {\n data: {\n decimals: 0,\n },\n },\n {\n data: {\n decimals: 1,\n },\n },\n {\n data: {\n decimals: 2,\n },\n },\n {\n data: {\n decimals: 3,\n },\n },\n {\n data: {\n decimals: 4,\n },\n },\n ];\n\n cellsFormatNumbers.forEach((cell, index) => {\n const format = \"0.\" + `${index > 0 ? \"0\".repeat(index) : \"00\"}`;\n expect(\n getExcelNumFormat(\n (cell.data?.decimals as number) ?? 0,\n (cell.data as unknown as number) ?? 0,\n ),\n ).toBe(format + \";[Red]-\" + format);\n });\n });\n\n describe(\"SmeupDataTable export\", () => {\n it(\"xlsx format\", async () => {\n const workbook: Workbook = dataTableToExcelWorkbook(\n table_sample_1,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n // Test number of columns\n expect(worksheet?.columnCount).toBe(8);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(3);\n });\n\n it(\"xlsx with frozen data to ensure immutability does not affect the export\", async () => {\n const workbook: Workbook = dataTableToExcelWorkbook(\n Object.freeze(table_sample_1),\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n // Test number of columns\n expect(worksheet?.columnCount).toBe(8);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(3);\n });\n\n it(\"csv format\", async () => {\n const workbook: Workbook = dataTableToExcelWorkbook(\n table_sample_1,\n SupportedExportFormats.CSV,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n // Test number of columns\n expect(worksheet?.columnCount).toBe(8);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(3);\n });\n\n it(\"txt format\", async () => {\n const workbook: Workbook = dataTableToExcelWorkbook(\n table_sample_1,\n SupportedExportFormats.TXT,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n // Test number of columns\n expect(worksheet?.columnCount).toBe(8);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(3);\n });\n\n it(\"With groups and outline 2 levels\", async () => {\n const workbook: Workbook = dataTableToExcelWorkbook(\n table_sample_2,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet?.getRow(2).outlineLevel).toBe(0);\n expect(worksheet?.getRow(3).outlineLevel).toBe(1);\n expect(worksheet?.getRow(4).outlineLevel).toBe(2);\n expect(worksheet?.getRow(5).outlineLevel).toBe(0);\n expect(worksheet?.getRow(6).outlineLevel).toBe(1);\n expect(worksheet?.getRow(7).outlineLevel).toBe(2);\n });\n\n it(\"With the first group visibility set to false\", async () => {\n const first_grp_vis_false = JSON.parse(\n JSON.stringify(table_sample_2),\n ) as { smeupDataTable: SmeupDataTable; props: GenericObject };\n\n (first_grp_vis_false.props.groups as ColumnGroup[])[0].visible = false;\n\n const workbook: Workbook = dataTableToExcelWorkbook(\n first_grp_vis_false,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n // The visibility of the first group does not affect the number of columns\n expect(worksheet?.columnCount).toBe(3);\n });\n\n it(\"With the visibleColumns set\", async () => {\n const withVisibleColumns = JSON.parse(JSON.stringify(table_sample_2)) as {\n smeupDataTable: SmeupDataTable;\n props: GenericObject;\n };\n\n (withVisibleColumns.props.visibleColumns as string[]) = [\"DSC\", \"1\"];\n\n const workbook: Workbook = dataTableToExcelWorkbook(\n withVisibleColumns,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeDefined();\n expect(worksheet?.columnCount).toBe(2);\n expect(worksheet?.getColumn(1).key).toBe(\"DSC\");\n expect(worksheet?.getColumn(2).key).toBe(\"1\");\n });\n\n it(\"With totals\", async () => {\n const table_totals = JSON.parse(JSON.stringify(table_sample_1));\n table_totals.props = {\n ...table_totals.props,\n totals: totals_sample_1,\n };\n\n const workbook: Workbook = dataTableToExcelWorkbook(\n table_totals,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n\n // Test number of columns\n expect(worksheet?.columnCount).toBe(8);\n // Test number of rows\n expect(worksheet?.rowCount).toBe(4);\n // Check totals row\n worksheet?.getRow(4).eachCell((cell: Cell) => {\n const columnName = worksheet?.getColumn(cell.col).key;\n if (columnName !== undefined) {\n expect(cell.formula).toBe(\n data_table_totals_result_sample_1[columnName],\n );\n }\n });\n });\n\n it(\"With groups subtotals correct range and action\", () => {\n const totalsExpectedFormula = {\n Count: \"SUBTOTAL(3,C2:C2)\",\n Sum: \"SUBTOTAL(9,C2:C2)\",\n Max: \"SUBTOTAL(4,C2:C2)\",\n Min: \"SUBTOTAL(5,C2:C2)\",\n Average: \"SUBTOTAL(1,C2:C2)\",\n };\n const totalsExpectedSubAction = {\n Count: \"3\",\n Sum: \"9\",\n Max: \"4\",\n Min: \"5\",\n Average: \"1\",\n };\n\n Object.keys(totalsExpectedFormula).forEach(async total => {\n const workbook: ExcelJS.Workbook = dataTableToExcelWorkbook(\n table_footer_actions(\n total,\n [\n { column: \"1\", visible: true },\n { column: \"2\", visible: true },\n ],\n 2,\n 2,\n ),\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n );\n const worksheet = workbook.getWorksheet(1);\n\n const totalKey = total as keyof typeof totalsExpectedSubAction;\n\n expect(worksheet?.getRow(2).getCell(3).formula).toBe(\n `SUBTOTAL(${totalsExpectedSubAction[totalKey]},C3:C5)`,\n );\n expect(worksheet?.getRow(3).getCell(3).formula).toBe(\n `SUBTOTAL(${totalsExpectedSubAction[totalKey]},C4:C5)`,\n );\n expect(worksheet?.getRow(6).getCell(3).formula).toBe(\n `SUBTOTAL(${totalsExpectedSubAction[totalKey]},C7:C9)`,\n );\n expect(worksheet?.getRow(7).getCell(3).formula).toBe(\n `SUBTOTAL(${totalsExpectedSubAction[totalKey]},C8:C9)`,\n );\n });\n });\n });\n\n describe(\"SmeupDataTree export - with levels split\", () => {\n it(\"xlsx format - with levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n true,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns -> all tree nodes are under the same column with indentation\n expect(worksheet?.columnCount).toBe(11);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"xlsx format with split nodes to columns - with levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n true,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns -> new column for each tree node\n expect(worksheet?.columnCount).toBe(11);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"csv format - with levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.CSV,\n {} as WebupManagerData,\n true,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeDefined();\n expect(worksheet).not.toBeNull();\n\n // Test number of columns -> all tree nodes are under the same column with indentation\n expect(worksheet?.columnCount).toBe(11);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"txt format - with levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.TXT,\n {} as WebupManagerData,\n true,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns -> all tree nodes are under the same column with indentation\n expect(worksheet?.columnCount).toBe(11);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"With totals - with levels split\", async () => {\n const tree_grid_totals = JSON.parse(JSON.stringify(tree_grid_sample_1));\n tree_grid_totals.props = {\n ...tree_grid_totals.props,\n totals: totals_sample_1,\n };\n const tree_grid_totals_result_sample_1: { [key: string]: string } = {\n COL1: \"SUBTOTAL(3,D2:D6)\",\n HIDDEN_COL: \"SUBTOTAL(9,F2:F6)\",\n SUM_COL: \"SUBTOTAL(9,G2:G6)\",\n AVG_COL: \"SUBTOTAL(1,H2:H6)\",\n MIN_COL: \"SUBTOTAL(5,I2:I6)\",\n MAX_COL: \"SUBTOTAL(4,J2:J6)\",\n DIFF_COL: `(F7-G7)`,\n };\n\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_totals,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n true,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns\n expect(worksheet?.columnCount).toBe(11);\n // Test number of rows\n expect(worksheet?.rowCount).toBe(7);\n // Check totals row\n worksheet?.getRow(7).eachCell((cell: ExcelJS.Cell) => {\n const columnName = worksheet?.getColumn(cell.col).key;\n if (columnName) {\n expect(cell.formula).toBe(\n tree_grid_totals_result_sample_1[columnName],\n );\n }\n });\n });\n it(\"With split nodes to columns and totals\", async () => {\n const tree_grid_totals = JSON.parse(JSON.stringify(tree_grid_sample_1));\n tree_grid_totals.props = {\n ...tree_grid_totals.props,\n totals: totals_sample_1,\n };\n const tree_grid_totals_result_sample_1: { [key: string]: string } = {\n COL1: \"SUBTOTAL(3,D2:D6)\",\n HIDDEN_COL: \"SUBTOTAL(9,F2:F6)\",\n SUM_COL: \"SUBTOTAL(9,G2:G6)\",\n AVG_COL: \"SUBTOTAL(1,H2:H6)\",\n MIN_COL: \"SUBTOTAL(5,I2:I6)\",\n MAX_COL: \"SUBTOTAL(4,J2:J6)\",\n DIFF_COL: `(F7-G7)`,\n };\n\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_totals,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n true,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns\n expect(worksheet?.columnCount).toBe(11);\n // Test number of rows\n expect(worksheet?.rowCount).toBe(7);\n // Check totals row\n worksheet?.getRow(7).eachCell((cell: ExcelJS.Cell) => {\n const columnName = worksheet.getColumn(cell.col).key;\n expect(columnName).toBeTruthy();\n if (columnName) {\n expect(cell.formula).toBe(\n tree_grid_totals_result_sample_1[columnName],\n );\n }\n });\n });\n });\n\n describe(\"SmeupDataTree export - no levels split\", () => {\n it(\"xlsx format - no levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n false,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns -> all tree nodes are under the same column with indentation\n expect(worksheet?.columnCount).toBe(9);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"xlsx format with split nodes to columns - no levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n false,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns -> new column for each tree node\n expect(worksheet?.columnCount).toBe(9);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"csv format - no levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.CSV,\n {} as WebupManagerData,\n false,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns -> all tree nodes are under the same column with indentation\n expect(worksheet?.columnCount).toBe(9);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"txt format - no levels split\", async () => {\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_sample_1,\n SupportedExportFormats.TXT,\n {} as WebupManagerData,\n false,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns -> all tree nodes are under the same column with indentation\n expect(worksheet?.columnCount).toBe(9);\n // Test number of rows\n expect(worksheet?.actualRowCount).toBe(6);\n });\n\n it(\"With totals - no levels split\", async () => {\n const tree_grid_totals = JSON.parse(JSON.stringify(tree_grid_sample_1));\n tree_grid_totals.props = {\n ...tree_grid_totals.props,\n totals: totals_sample_1,\n };\n const tree_grid_totals_result_sample_1: Record<string, string> = {\n COL1: \"SUBTOTAL(3,B2:B6)\",\n HIDDEN_COL: \"SUBTOTAL(9,D2:D6)\",\n SUM_COL: \"SUBTOTAL(9,E2:E6)\",\n AVG_COL: \"SUBTOTAL(1,F2:F6)\",\n MIN_COL: \"SUBTOTAL(5,G2:G6)\",\n MAX_COL: \"SUBTOTAL(4,H2:H6)\",\n DIFF_COL: `(D7-E7)`,\n };\n\n const workbook: ExcelJS.Workbook = await dataTreeToExcelWorkbook(\n tree_grid_totals,\n SupportedExportFormats.XLSX,\n {} as WebupManagerData,\n false,\n );\n const worksheet = workbook.getWorksheet(1);\n expect(worksheet).toBeTruthy();\n\n // Test number of columns\n expect(worksheet?.columnCount).toBe(9);\n // Test number of rows\n expect(worksheet?.rowCount).toBe(7);\n // Check totals row\n worksheet?.getRow(7).eachCell((cell: ExcelJS.Cell) => {\n const columnName = worksheet.getColumn(cell.col).key;\n expect(columnName).toBeTruthy();\n if (columnName) {\n expect(cell.formula).toBe(\n tree_grid_totals_result_sample_1[columnName],\n );\n }\n });\n });\n });\n});\n\ndescribe(\"Cell to XLSX Style converter\", () => {\n const cellStyle = {\n fontWeight: \"bold\",\n backgroundColor: \"#74c0f2\",\n color: \"#000000\",\n };\n const cellResult = {\n fill: {\n type: \"pattern\",\n pattern: \"solid\",\n fgColor: { argb: \"FF74c0f2\" },\n },\n font: { bold: true, color: { argb: \"FF000000\" } },\n } as Style;\n\n it(\"SmeupDataCell - Style calculations\", async () => {\n const workbook = new Workbook();\n const worksheet = workbook.addWorksheet(\"Sheet 1\");\n\n const row: Row = worksheet.addRow([\"Mario Rossi\"]);\n addStyleToExceljsRow(row, [{ name: \"A\", title: \"A\" }], {\n cells: {\n A: {\n value: \"\",\n obj: {\n t: \"\",\n p: \"\",\n k: \"\",\n },\n style: cellStyle,\n },\n },\n } as SmeupDataRow);\n expect(row.getCell(1).style).toStrictEqual(cellResult);\n });\n it(\"SmeupDataNode - Style calculations\", async () => {\n const workbook = new Workbook();\n const worksheet = workbook.addWorksheet(\"Sheet 1\");\n const row: Row = worksheet.addRow([\"Mario Rossi\"]);\n addStyleToExceljsRow(row, [{ name: \"A\", title: \"A\" }], {\n cells: {\n A: {\n value: \"\",\n obj: {\n t: \"\",\n p: \"\",\n k: \"\",\n },\n style: {},\n },\n },\n style: cellStyle,\n } as unknown as SmeupDataNode);\n expect(row.getCell(1).style).toStrictEqual(cellResult);\n });\n});\n\n// #endregion\n\n// #region Assets\n\nconst getColumns = (numberColumns: number): SmeupDataColumn[] => {\n const columns: SmeupDataColumn[] = [];\n\n for (let num = 1; num <= numberColumns; num++) {\n columns.push({\n name: `N${num}`,\n title: \"\",\n });\n }\n\n return columns;\n};\n"]}
|