@sme.up/doc-alchemist 1.1.0-SNAPSHOT-20250623155458 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +278 -30
- package/dist/assets/gfx-data.d.ts +1 -0
- package/dist/assets/gfx-data.js +2 -0
- package/dist/assets/gfx-data.js.map +1 -0
- package/dist/converters/excel/commons.d.ts +35 -0
- package/dist/converters/excel/commons.js +216 -0
- package/dist/converters/excel/commons.js.map +1 -0
- package/dist/{src/excel/excel-generator.types.d.ts → converters/excel/excel-converter.types.d.ts} +1 -0
- package/dist/{src/excel/excel-generator.types.js → converters/excel/excel-converter.types.js} +4 -2
- package/dist/converters/excel/excel-converter.types.js.map +1 -0
- package/dist/{src/excel/matrix-generator.d.ts → converters/excel/matrix-converter.d.ts} +4 -2
- package/dist/{src/excel/matrix-generator.js → converters/excel/matrix-converter.js} +32 -17
- package/dist/converters/excel/matrix-converter.js.map +1 -0
- package/dist/{src/excel/tree-generator.d.ts → converters/excel/tree-converter.d.ts} +2 -2
- package/dist/{src/excel/tree-generator.js → converters/excel/tree-converter.js} +5 -5
- package/dist/converters/excel/tree-converter.js.map +1 -0
- package/dist/{src/excel/excel-generator.d.ts → converters/excel-converter.d.ts} +2 -1
- package/dist/{src/excel/excel-generator.js → converters/excel-converter.js} +4 -4
- package/dist/converters/excel-converter.js.map +1 -0
- package/dist/converters/images/charts-generator.d.ts +9 -0
- package/dist/converters/images/charts-generator.js +250 -0
- package/dist/converters/images/charts-generator.js.map +1 -0
- package/dist/converters/pdf/autotable-renderer.d.ts +3 -0
- package/dist/converters/pdf/autotable-renderer.js +89 -0
- package/dist/converters/pdf/autotable-renderer.js.map +1 -0
- package/dist/converters/pdf/cover-renderer.d.ts +1 -0
- package/dist/converters/pdf/cover-renderer.js +26 -0
- package/dist/converters/pdf/cover-renderer.js.map +1 -0
- package/dist/converters/pdf/formulas-helper.d.ts +40 -0
- package/dist/converters/pdf/formulas-helper.js +227 -0
- package/dist/converters/pdf/formulas-helper.js.map +1 -0
- package/dist/converters/pdf/matrix-converter.d.ts +16 -0
- package/dist/converters/pdf/matrix-converter.js +198 -0
- package/dist/converters/pdf/matrix-converter.js.map +1 -0
- package/dist/converters/pdf/pdf-converter.types.d.ts +12 -0
- package/dist/converters/pdf/pdf-converter.types.js +2 -0
- package/dist/converters/pdf/pdf-converter.types.js.map +1 -0
- package/dist/converters/pdf/sch-converter.d.ts +3 -0
- package/dist/converters/pdf/sch-converter.js +99 -0
- package/dist/converters/pdf/sch-converter.js.map +1 -0
- package/dist/converters/pdf-converter.d.ts +8 -0
- package/dist/converters/pdf-converter.js +44 -0
- package/dist/converters/pdf-converter.js.map +1 -0
- package/dist/index.d.ts +7 -4
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/types/component.d.ts +53 -0
- package/dist/types/component.js +53 -0
- package/dist/types/component.js.map +1 -0
- package/dist/types/data-structures/smeupDataStructure.d.ts +215 -0
- package/dist/types/data-structures/smeupDataStructure.js +99 -0
- package/dist/types/data-structures/smeupDataStructure.js.map +1 -0
- package/dist/types/data-structures/smeupDataTable.d.ts +116 -0
- package/dist/types/data-structures/smeupDataTable.js +43 -0
- package/dist/types/data-structures/smeupDataTable.js.map +1 -0
- package/dist/types/data-structures/smeupDataTree.d.ts +13 -0
- package/dist/types/data-structures/smeupDataTree.js +2 -0
- package/dist/types/data-structures/smeupDataTree.js.map +1 -0
- package/dist/types/data-structures/smeupSch.d.ts +72 -0
- package/dist/types/data-structures/smeupSch.js +11 -0
- package/dist/types/data-structures/smeupSch.js.map +1 -0
- package/dist/types/dynamism.d.ts +45 -0
- package/dist/types/dynamism.js +30 -0
- package/dist/types/dynamism.js.map +1 -0
- package/dist/types/general.d.ts +22 -0
- package/dist/types/general.js +24 -0
- package/dist/types/general.js.map +1 -0
- package/dist/types/helpers.d.ts +4 -0
- package/dist/types/helpers.js +6 -0
- package/dist/types/helpers.js.map +1 -0
- package/dist/{src/types → types}/index.d.ts +8 -2
- package/dist/{src/types → types}/index.js +1 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/commons-utility.d.ts +59 -0
- package/dist/{src/utils/generator-utility.js → utils/commons-utility.js} +63 -10
- package/dist/utils/commons-utility.js.map +1 -0
- package/dist/utils/datastructure-utility.d.ts +2 -0
- package/dist/utils/datastructure-utility.js +5 -0
- package/dist/utils/datastructure-utility.js.map +1 -0
- package/dist/{src/utils → utils}/dates-utility.d.ts +9 -0
- package/dist/{src/utils → utils}/dates-utility.js +18 -0
- package/dist/utils/dates-utility.js.map +1 -0
- package/dist/utils/formatter-utility.d.ts +3 -0
- package/dist/utils/formatter-utility.js +36 -0
- package/dist/utils/formatter-utility.js.map +1 -0
- package/dist/{src/utils → utils}/math-utility.d.ts +1 -0
- package/dist/{src/utils → utils}/math-utility.js +10 -0
- package/dist/utils/math-utility.js.map +1 -0
- package/dist/utils/objects-utility.js.map +1 -0
- package/dist/utils/regex-utility.js.map +1 -0
- package/package.json +13 -11
- package/dist/assets/sample-data.d.ts +0 -48
- package/dist/assets/sample-data.js +0 -372
- package/dist/assets/sample-data.js.map +0 -1
- package/dist/debug.d.ts +0 -1
- package/dist/debug.js +0 -29
- package/dist/debug.js.map +0 -1
- package/dist/src/excel/commons.d.ts +0 -21
- package/dist/src/excel/commons.js +0 -120
- package/dist/src/excel/commons.js.map +0 -1
- package/dist/src/excel/excel-generator.js.map +0 -1
- package/dist/src/excel/excel-generator.types.js.map +0 -1
- package/dist/src/excel/matrix-generator.js.map +0 -1
- package/dist/src/excel/tree-generator.js.map +0 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.js +0 -2
- package/dist/src/index.js.map +0 -1
- package/dist/src/pdf/pdf-generator.d.ts +0 -7
- package/dist/src/pdf/pdf-generator.js +0 -28
- package/dist/src/pdf/pdf-generator.js.map +0 -1
- package/dist/src/types/index.js.map +0 -1
- package/dist/src/utils/datastructure-utility.d.ts +0 -2
- package/dist/src/utils/datastructure-utility.js +0 -5
- package/dist/src/utils/datastructure-utility.js.map +0 -1
- package/dist/src/utils/dates-utility.js.map +0 -1
- package/dist/src/utils/generator-utility.d.ts +0 -34
- package/dist/src/utils/generator-utility.js.map +0 -1
- package/dist/src/utils/math-utility.js.map +0 -1
- package/dist/src/utils/objects-utility.js.map +0 -1
- package/dist/src/utils/regex-utility.js.map +0 -1
- package/dist/tests/excel-generator.test.d.ts +0 -1
- package/dist/tests/excel-generator.test.js +0 -406
- package/dist/tests/excel-generator.test.js.map +0 -1
- /package/dist/{src/utils → utils}/objects-utility.d.ts +0 -0
- /package/dist/{src/utils → utils}/objects-utility.js +0 -0
- /package/dist/{src/utils → utils}/regex-utility.d.ts +0 -0
- /package/dist/{src/utils → utils}/regex-utility.js +0 -0
|
@@ -1,372 +0,0 @@
|
|
|
1
|
-
import { SmeupDataStructureType, } from "@sme.up/kokos-sdk-node";
|
|
2
|
-
const columns_sample_1 = [
|
|
3
|
-
{
|
|
4
|
-
name: "COL1",
|
|
5
|
-
title: "Column1",
|
|
6
|
-
visible: true,
|
|
7
|
-
obj: { t: "", p: "" },
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
name: "VO_COD_VER_COL",
|
|
11
|
-
title: "VO_COD_VER",
|
|
12
|
-
visible: true,
|
|
13
|
-
obj: { t: "VO", p: "COD_VER" },
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
name: "BTN_COL",
|
|
17
|
-
title: "Button",
|
|
18
|
-
visible: true,
|
|
19
|
-
obj: { t: "J4", p: "BTN" },
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
name: "COL2",
|
|
23
|
-
title: "Column2",
|
|
24
|
-
visible: true,
|
|
25
|
-
obj: { t: "", p: "" },
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
name: "HIDDEN_COL",
|
|
29
|
-
title: "Hidden column",
|
|
30
|
-
visible: false,
|
|
31
|
-
obj: { t: "NR", p: "" },
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
name: "SUM_COL",
|
|
35
|
-
title: "Sum",
|
|
36
|
-
visible: true,
|
|
37
|
-
obj: { t: "NR", p: "" },
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
name: "AVG_COL",
|
|
41
|
-
title: "Average",
|
|
42
|
-
visible: true,
|
|
43
|
-
obj: { t: "NR", p: "" },
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
name: "MIN_COL",
|
|
47
|
-
title: "Minimum",
|
|
48
|
-
visible: true,
|
|
49
|
-
obj: { t: "NR", p: "" },
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
name: "MAX_COL",
|
|
53
|
-
title: "Maximum",
|
|
54
|
-
visible: true,
|
|
55
|
-
obj: { t: "NR", p: "" },
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
name: "DIFF_COL",
|
|
59
|
-
title: "Difference",
|
|
60
|
-
visible: true,
|
|
61
|
-
formula: "([HIDDEN_COL]-[SUM_COL])",
|
|
62
|
-
obj: { t: "NR", p: "" },
|
|
63
|
-
},
|
|
64
|
-
];
|
|
65
|
-
const cells_1_sample_1 = {
|
|
66
|
-
COL1: {
|
|
67
|
-
obj: { t: "", p: "", k: "Value 1" },
|
|
68
|
-
value: "Value 1",
|
|
69
|
-
},
|
|
70
|
-
VO_COD_VER_COL: {
|
|
71
|
-
obj: { t: "VO", p: "COD_VER", k: "Op" },
|
|
72
|
-
value: "Op",
|
|
73
|
-
},
|
|
74
|
-
BTN_COL: {
|
|
75
|
-
obj: { t: "J4", p: "BTN", k: "Button" },
|
|
76
|
-
value: "Button",
|
|
77
|
-
},
|
|
78
|
-
COL2: {
|
|
79
|
-
obj: { t: "", p: "", k: "Value 2" },
|
|
80
|
-
value: "Value 2",
|
|
81
|
-
},
|
|
82
|
-
HIDDEN_COL: {
|
|
83
|
-
obj: { t: "NR", p: "", k: "33" },
|
|
84
|
-
value: "33",
|
|
85
|
-
},
|
|
86
|
-
SUM_COL: {
|
|
87
|
-
obj: { t: "NR", p: "", k: "15" },
|
|
88
|
-
value: "15",
|
|
89
|
-
},
|
|
90
|
-
AVG_COL: {
|
|
91
|
-
obj: { t: "NR", p: "", k: "-5" },
|
|
92
|
-
value: "-5",
|
|
93
|
-
},
|
|
94
|
-
MIN_COL: {
|
|
95
|
-
obj: { t: "NR", p: "", k: "1000" },
|
|
96
|
-
value: "1000",
|
|
97
|
-
},
|
|
98
|
-
MAX_COL: {
|
|
99
|
-
obj: { t: "NR", p: "", k: "12" },
|
|
100
|
-
value: "12",
|
|
101
|
-
},
|
|
102
|
-
DIFF_COL: {
|
|
103
|
-
obj: { t: "NR", p: "", k: "-18" },
|
|
104
|
-
value: "-18",
|
|
105
|
-
},
|
|
106
|
-
};
|
|
107
|
-
const cells_2_sample_1 = {
|
|
108
|
-
COL1: {
|
|
109
|
-
obj: { t: "", p: "", k: "Value 3" },
|
|
110
|
-
value: "Value 3",
|
|
111
|
-
},
|
|
112
|
-
VO_COD_VER_COL: {
|
|
113
|
-
obj: { t: "VO", p: "COD_VER", k: "Op" },
|
|
114
|
-
value: "Op",
|
|
115
|
-
},
|
|
116
|
-
BTN_COL: {
|
|
117
|
-
obj: { t: "J4", p: "BTN", k: "Button" },
|
|
118
|
-
value: "Button",
|
|
119
|
-
},
|
|
120
|
-
COL2: {
|
|
121
|
-
obj: { t: "", p: "", k: "Value 4" },
|
|
122
|
-
value: "Value 4",
|
|
123
|
-
},
|
|
124
|
-
HIDDEN_COL: {
|
|
125
|
-
obj: { t: "NR", p: "", k: "33" },
|
|
126
|
-
value: "33",
|
|
127
|
-
},
|
|
128
|
-
SUM_COL: {
|
|
129
|
-
obj: { t: "NR", p: "", k: "6" },
|
|
130
|
-
value: "6",
|
|
131
|
-
},
|
|
132
|
-
AVG_COL: {
|
|
133
|
-
obj: { t: "NR", p: "", k: "-80" },
|
|
134
|
-
value: "-80",
|
|
135
|
-
},
|
|
136
|
-
MIN_COL: {
|
|
137
|
-
obj: { t: "NR", p: "", k: "5.5" },
|
|
138
|
-
value: "5.5",
|
|
139
|
-
},
|
|
140
|
-
MAX_COL: {
|
|
141
|
-
obj: { t: "NR", p: "", k: "1200" },
|
|
142
|
-
value: "1200",
|
|
143
|
-
},
|
|
144
|
-
DIFF_COL: {
|
|
145
|
-
obj: { t: "NR", p: "", k: "-27" },
|
|
146
|
-
value: "-27",
|
|
147
|
-
},
|
|
148
|
-
};
|
|
149
|
-
/**
|
|
150
|
-
* Sample data for testing Excel generation functionality.
|
|
151
|
-
* Contains a table with multiple columns including visible/hidden columns,
|
|
152
|
-
* numeric data, and formula columns.
|
|
153
|
-
*/
|
|
154
|
-
export const table_sample_1 = {
|
|
155
|
-
smeupDataTable: {
|
|
156
|
-
type: SmeupDataStructureType.SmeupDataTable,
|
|
157
|
-
columns: columns_sample_1,
|
|
158
|
-
rows: [
|
|
159
|
-
{
|
|
160
|
-
cells: cells_1_sample_1,
|
|
161
|
-
},
|
|
162
|
-
{
|
|
163
|
-
cells: cells_2_sample_1,
|
|
164
|
-
},
|
|
165
|
-
],
|
|
166
|
-
},
|
|
167
|
-
props: {},
|
|
168
|
-
};
|
|
169
|
-
export const table_sample_2 = {
|
|
170
|
-
smeupDataTable: {
|
|
171
|
-
type: SmeupDataStructureType.SmeupDataTable,
|
|
172
|
-
columns: [
|
|
173
|
-
{
|
|
174
|
-
name: "1",
|
|
175
|
-
title: "1title",
|
|
176
|
-
visible: true,
|
|
177
|
-
obj: { t: "", p: "" },
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
name: "2",
|
|
181
|
-
title: "2title",
|
|
182
|
-
visible: true,
|
|
183
|
-
obj: { t: "", p: "" },
|
|
184
|
-
},
|
|
185
|
-
{
|
|
186
|
-
name: "DSC",
|
|
187
|
-
title: "DSCtitle",
|
|
188
|
-
visible: true,
|
|
189
|
-
obj: { t: "", p: "" },
|
|
190
|
-
},
|
|
191
|
-
],
|
|
192
|
-
rows: [
|
|
193
|
-
{
|
|
194
|
-
cells: {
|
|
195
|
-
1: {
|
|
196
|
-
obj: { t: "", p: "", k: "" },
|
|
197
|
-
value: "1-1",
|
|
198
|
-
},
|
|
199
|
-
2: {
|
|
200
|
-
obj: { t: "", p: "", k: "" },
|
|
201
|
-
value: "2-1",
|
|
202
|
-
},
|
|
203
|
-
DSC: {
|
|
204
|
-
obj: { t: "", p: "", k: "" },
|
|
205
|
-
value: "DSC-1",
|
|
206
|
-
},
|
|
207
|
-
},
|
|
208
|
-
},
|
|
209
|
-
{
|
|
210
|
-
cells: {
|
|
211
|
-
1: {
|
|
212
|
-
obj: { t: "", p: "" },
|
|
213
|
-
value: "1-2",
|
|
214
|
-
},
|
|
215
|
-
2: {
|
|
216
|
-
obj: { t: "", p: "" },
|
|
217
|
-
value: "2-2",
|
|
218
|
-
},
|
|
219
|
-
DSC: {
|
|
220
|
-
obj: { t: "", p: "" },
|
|
221
|
-
value: "DSC-2",
|
|
222
|
-
},
|
|
223
|
-
},
|
|
224
|
-
},
|
|
225
|
-
],
|
|
226
|
-
},
|
|
227
|
-
props: {
|
|
228
|
-
groups: [
|
|
229
|
-
{ column: "1", visible: true },
|
|
230
|
-
{ column: "2", visible: true },
|
|
231
|
-
],
|
|
232
|
-
totals: [],
|
|
233
|
-
},
|
|
234
|
-
};
|
|
235
|
-
export const tree_grid_sample_1 = {
|
|
236
|
-
smeupDataTree: {
|
|
237
|
-
type: SmeupDataStructureType.SmeupDataTree,
|
|
238
|
-
columns: columns_sample_1,
|
|
239
|
-
children: [
|
|
240
|
-
{
|
|
241
|
-
obj: {
|
|
242
|
-
t: "",
|
|
243
|
-
p: "",
|
|
244
|
-
k: "1LVL.",
|
|
245
|
-
},
|
|
246
|
-
value: "Node1",
|
|
247
|
-
cells: cells_1_sample_1,
|
|
248
|
-
children: [
|
|
249
|
-
{
|
|
250
|
-
obj: {
|
|
251
|
-
t: "",
|
|
252
|
-
p: "",
|
|
253
|
-
k: "2LVL.",
|
|
254
|
-
},
|
|
255
|
-
value: "Node1",
|
|
256
|
-
cells: cells_2_sample_1,
|
|
257
|
-
children: [
|
|
258
|
-
{
|
|
259
|
-
obj: {
|
|
260
|
-
t: "",
|
|
261
|
-
p: "",
|
|
262
|
-
k: "3LVL.",
|
|
263
|
-
},
|
|
264
|
-
value: "Node1",
|
|
265
|
-
cells: cells_1_sample_1,
|
|
266
|
-
children: [],
|
|
267
|
-
},
|
|
268
|
-
],
|
|
269
|
-
},
|
|
270
|
-
{
|
|
271
|
-
obj: {
|
|
272
|
-
t: "",
|
|
273
|
-
p: "",
|
|
274
|
-
k: "2LVL.",
|
|
275
|
-
},
|
|
276
|
-
value: "Node2",
|
|
277
|
-
cells: cells_2_sample_1,
|
|
278
|
-
children: [],
|
|
279
|
-
},
|
|
280
|
-
],
|
|
281
|
-
},
|
|
282
|
-
{
|
|
283
|
-
obj: {
|
|
284
|
-
t: "",
|
|
285
|
-
p: "",
|
|
286
|
-
k: "1LVL.",
|
|
287
|
-
},
|
|
288
|
-
value: "Node2",
|
|
289
|
-
cells: cells_1_sample_1,
|
|
290
|
-
children: [],
|
|
291
|
-
},
|
|
292
|
-
],
|
|
293
|
-
},
|
|
294
|
-
props: {},
|
|
295
|
-
};
|
|
296
|
-
// Define table_sample_1 for use in tests
|
|
297
|
-
export const totals_sample_1 = {
|
|
298
|
-
COL1: "Count",
|
|
299
|
-
COL2: "Distinct",
|
|
300
|
-
HIDDEN_COL: "Sum",
|
|
301
|
-
SUM_COL: "Sum",
|
|
302
|
-
AVG_COL: "Average",
|
|
303
|
-
MIN_COL: "Min",
|
|
304
|
-
MAX_COL: "Max",
|
|
305
|
-
DIFF_COL: `${"MATH"}([HIDDEN_COL]-[SUM_COL])`,
|
|
306
|
-
};
|
|
307
|
-
export const data_table_totals_result_sample_1 = {
|
|
308
|
-
COL1: "SUBTOTAL(3,A2:A3)",
|
|
309
|
-
HIDDEN_COL: "SUBTOTAL(9,C2:C3)",
|
|
310
|
-
SUM_COL: "SUBTOTAL(9,D2:D3)",
|
|
311
|
-
AVG_COL: "SUBTOTAL(1,E2:E3)",
|
|
312
|
-
MIN_COL: "SUBTOTAL(5,F2:F3)",
|
|
313
|
-
MAX_COL: "SUBTOTAL(4,G2:G3)",
|
|
314
|
-
DIFF_COL: `(C4-D4)`,
|
|
315
|
-
};
|
|
316
|
-
export const table_footer_actions = (action, groups, rowsNumber = 1, rowRepetitions = 1) => {
|
|
317
|
-
const rows = [];
|
|
318
|
-
for (let i = 0; i < rowsNumber; i++) {
|
|
319
|
-
const rowObj = {
|
|
320
|
-
cells: {
|
|
321
|
-
1: {
|
|
322
|
-
obj: { t: "", p: "", k: "" },
|
|
323
|
-
value: `1-${i}`,
|
|
324
|
-
},
|
|
325
|
-
2: {
|
|
326
|
-
obj: { t: "", p: "", k: "" },
|
|
327
|
-
value: `2-${i}`,
|
|
328
|
-
},
|
|
329
|
-
[`${action}`]: {
|
|
330
|
-
obj: { t: "NR", p: "", k: "10" },
|
|
331
|
-
value: `${i + 1}`,
|
|
332
|
-
},
|
|
333
|
-
},
|
|
334
|
-
id: `${i}`,
|
|
335
|
-
};
|
|
336
|
-
for (let i = 0; i < rowRepetitions; i++) {
|
|
337
|
-
rows.push(rowObj);
|
|
338
|
-
}
|
|
339
|
-
}
|
|
340
|
-
return {
|
|
341
|
-
smeupDataTable: {
|
|
342
|
-
type: SmeupDataStructureType.SmeupDataTable,
|
|
343
|
-
columns: [
|
|
344
|
-
{
|
|
345
|
-
name: "1",
|
|
346
|
-
title: "1title",
|
|
347
|
-
visible: true,
|
|
348
|
-
obj: { t: "", p: "" },
|
|
349
|
-
},
|
|
350
|
-
{
|
|
351
|
-
name: "2",
|
|
352
|
-
title: "2title",
|
|
353
|
-
visible: true,
|
|
354
|
-
obj: { t: "", p: "" },
|
|
355
|
-
},
|
|
356
|
-
{
|
|
357
|
-
name: `${action}`,
|
|
358
|
-
title: `${action}title`,
|
|
359
|
-
visible: true,
|
|
360
|
-
obj: { t: "NR", p: "" },
|
|
361
|
-
},
|
|
362
|
-
],
|
|
363
|
-
rows,
|
|
364
|
-
},
|
|
365
|
-
props: {
|
|
366
|
-
groups,
|
|
367
|
-
totals: action ? { [`${action}`]: `${action}` } : [],
|
|
368
|
-
filter: [],
|
|
369
|
-
},
|
|
370
|
-
};
|
|
371
|
-
};
|
|
372
|
-
//# sourceMappingURL=sample-data.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sample-data.js","sourceRoot":"","sources":["../../assets/sample-data.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n SmeupDataCell,\n SmeupDataColumn,\n SmeupDataStructureType,\n SmeupDataTable,\n SmeupDataTree,\n} from \"@sme.up/kokos-sdk-node\";\nimport { GenericObject } from \"../src/types/index.js\";\nimport { TotalMode } from \"../src/excel/excel-generator.types.js\";\n\nconst columns_sample_1: SmeupDataColumn[] = [\n {\n name: \"COL1\",\n title: \"Column1\",\n visible: true,\n obj: { t: \"\", p: \"\" },\n },\n {\n name: \"VO_COD_VER_COL\",\n title: \"VO_COD_VER\",\n visible: true,\n obj: { t: \"VO\", p: \"COD_VER\" },\n },\n {\n name: \"BTN_COL\",\n title: \"Button\",\n visible: true,\n obj: { t: \"J4\", p: \"BTN\" },\n },\n {\n name: \"COL2\",\n title: \"Column2\",\n visible: true,\n obj: { t: \"\", p: \"\" },\n },\n {\n name: \"HIDDEN_COL\",\n title: \"Hidden column\",\n visible: false,\n obj: { t: \"NR\", p: \"\" },\n },\n {\n name: \"SUM_COL\",\n title: \"Sum\",\n visible: true,\n obj: { t: \"NR\", p: \"\" },\n },\n {\n name: \"AVG_COL\",\n title: \"Average\",\n visible: true,\n obj: { t: \"NR\", p: \"\" },\n },\n {\n name: \"MIN_COL\",\n title: \"Minimum\",\n visible: true,\n obj: { t: \"NR\", p: \"\" },\n },\n {\n name: \"MAX_COL\",\n title: \"Maximum\",\n visible: true,\n obj: { t: \"NR\", p: \"\" },\n },\n {\n name: \"DIFF_COL\",\n title: \"Difference\",\n visible: true,\n formula: \"([HIDDEN_COL]-[SUM_COL])\",\n obj: { t: \"NR\", p: \"\" },\n },\n];\n\nconst cells_1_sample_1: {\n [key: string]: SmeupDataCell;\n} = {\n COL1: {\n obj: { t: \"\", p: \"\", k: \"Value 1\" },\n value: \"Value 1\",\n },\n VO_COD_VER_COL: {\n obj: { t: \"VO\", p: \"COD_VER\", k: \"Op\" },\n value: \"Op\",\n },\n BTN_COL: {\n obj: { t: \"J4\", p: \"BTN\", k: \"Button\" },\n value: \"Button\",\n },\n COL2: {\n obj: { t: \"\", p: \"\", k: \"Value 2\" },\n value: \"Value 2\",\n },\n HIDDEN_COL: {\n obj: { t: \"NR\", p: \"\", k: \"33\" },\n value: \"33\",\n },\n SUM_COL: {\n obj: { t: \"NR\", p: \"\", k: \"15\" },\n value: \"15\",\n },\n AVG_COL: {\n obj: { t: \"NR\", p: \"\", k: \"-5\" },\n value: \"-5\",\n },\n MIN_COL: {\n obj: { t: \"NR\", p: \"\", k: \"1000\" },\n value: \"1000\",\n },\n MAX_COL: {\n obj: { t: \"NR\", p: \"\", k: \"12\" },\n value: \"12\",\n },\n DIFF_COL: {\n obj: { t: \"NR\", p: \"\", k: \"-18\" },\n value: \"-18\",\n },\n};\n\nconst cells_2_sample_1: {\n [key: string]: SmeupDataCell;\n} = {\n COL1: {\n obj: { t: \"\", p: \"\", k: \"Value 3\" },\n value: \"Value 3\",\n },\n VO_COD_VER_COL: {\n obj: { t: \"VO\", p: \"COD_VER\", k: \"Op\" },\n value: \"Op\",\n },\n BTN_COL: {\n obj: { t: \"J4\", p: \"BTN\", k: \"Button\" },\n value: \"Button\",\n },\n COL2: {\n obj: { t: \"\", p: \"\", k: \"Value 4\" },\n value: \"Value 4\",\n },\n HIDDEN_COL: {\n obj: { t: \"NR\", p: \"\", k: \"33\" },\n value: \"33\",\n },\n SUM_COL: {\n obj: { t: \"NR\", p: \"\", k: \"6\" },\n value: \"6\",\n },\n AVG_COL: {\n obj: { t: \"NR\", p: \"\", k: \"-80\" },\n value: \"-80\",\n },\n MIN_COL: {\n obj: { t: \"NR\", p: \"\", k: \"5.5\" },\n value: \"5.5\",\n },\n MAX_COL: {\n obj: { t: \"NR\", p: \"\", k: \"1200\" },\n value: \"1200\",\n },\n DIFF_COL: {\n obj: { t: \"NR\", p: \"\", k: \"-27\" },\n value: \"-27\",\n },\n};\n\n/**\n * Sample data for testing Excel generation functionality.\n * Contains a table with multiple columns including visible/hidden columns,\n * numeric data, and formula columns.\n */\nexport const table_sample_1: {\n smeupDataTable: SmeupDataTable;\n props: GenericObject;\n} = {\n smeupDataTable: {\n type: SmeupDataStructureType.SmeupDataTable,\n columns: columns_sample_1,\n rows: [\n {\n cells: cells_1_sample_1,\n },\n {\n cells: cells_2_sample_1,\n },\n ],\n } as SmeupDataTable,\n props: {},\n};\n\nexport const table_sample_2 = {\n smeupDataTable: {\n type: SmeupDataStructureType.SmeupDataTable,\n columns: [\n {\n name: \"1\",\n title: \"1title\",\n visible: true,\n obj: { t: \"\", p: \"\" },\n },\n {\n name: \"2\",\n title: \"2title\",\n visible: true,\n obj: { t: \"\", p: \"\" },\n },\n {\n name: \"DSC\",\n title: \"DSCtitle\",\n visible: true,\n obj: { t: \"\", p: \"\" },\n },\n ],\n rows: [\n {\n cells: {\n 1: {\n obj: { t: \"\", p: \"\", k: \"\" },\n value: \"1-1\",\n },\n 2: {\n obj: { t: \"\", p: \"\", k: \"\" },\n value: \"2-1\",\n },\n DSC: {\n obj: { t: \"\", p: \"\", k: \"\" },\n value: \"DSC-1\",\n },\n },\n },\n {\n cells: {\n 1: {\n obj: { t: \"\", p: \"\" },\n value: \"1-2\",\n },\n 2: {\n obj: { t: \"\", p: \"\" },\n value: \"2-2\",\n },\n DSC: {\n obj: { t: \"\", p: \"\" },\n value: \"DSC-2\",\n },\n },\n },\n ],\n } as SmeupDataTable,\n props: {\n groups: [\n { column: \"1\", visible: true },\n { column: \"2\", visible: true },\n ],\n totals: [],\n },\n};\n\nexport const tree_grid_sample_1: {\n smeupDataTree: SmeupDataTree;\n props: GenericObject;\n} = {\n smeupDataTree: {\n type: SmeupDataStructureType.SmeupDataTree,\n columns: columns_sample_1,\n children: [\n {\n obj: {\n t: \"\",\n p: \"\",\n k: \"1LVL.\",\n },\n value: \"Node1\",\n cells: cells_1_sample_1,\n children: [\n {\n obj: {\n t: \"\",\n p: \"\",\n k: \"2LVL.\",\n },\n value: \"Node1\",\n cells: cells_2_sample_1,\n children: [\n {\n obj: {\n t: \"\",\n p: \"\",\n k: \"3LVL.\",\n },\n value: \"Node1\",\n cells: cells_1_sample_1,\n children: [],\n },\n ],\n },\n {\n obj: {\n t: \"\",\n p: \"\",\n k: \"2LVL.\",\n },\n value: \"Node2\",\n cells: cells_2_sample_1,\n children: [],\n },\n ],\n },\n {\n obj: {\n t: \"\",\n p: \"\",\n k: \"1LVL.\",\n },\n value: \"Node2\",\n cells: cells_1_sample_1,\n children: [],\n },\n ],\n },\n props: {},\n};\n\n// Define table_sample_1 for use in tests\nexport const totals_sample_1: { [columnName: string]: TotalMode | string } = {\n COL1: \"Count\" as TotalMode,\n COL2: \"Distinct\" as TotalMode,\n HIDDEN_COL: \"Sum\" as TotalMode,\n SUM_COL: \"Sum\" as TotalMode,\n AVG_COL: \"Average\" as TotalMode,\n MIN_COL: \"Min\" as TotalMode,\n MAX_COL: \"Max\" as TotalMode,\n DIFF_COL: `${\"MATH\" as TotalMode}([HIDDEN_COL]-[SUM_COL])`,\n};\n\nexport const data_table_totals_result_sample_1: { [key: string]: string } = {\n COL1: \"SUBTOTAL(3,A2:A3)\",\n HIDDEN_COL: \"SUBTOTAL(9,C2:C3)\",\n SUM_COL: \"SUBTOTAL(9,D2:D3)\",\n AVG_COL: \"SUBTOTAL(1,E2:E3)\",\n MIN_COL: \"SUBTOTAL(5,F2:F3)\",\n MAX_COL: \"SUBTOTAL(4,G2:G3)\",\n DIFF_COL: `(C4-D4)`,\n};\n\nexport const table_footer_actions = (\n action: string,\n groups: { column: string; visible: boolean }[],\n rowsNumber: number = 1,\n rowRepetitions: number = 1,\n) => {\n const rows: Array<{\n cells: {\n [key: string]: {\n obj: { t: string; p: string; k: string };\n value: string;\n };\n };\n id: string;\n }> = [];\n for (let i = 0; i < rowsNumber; i++) {\n const rowObj = {\n cells: {\n 1: {\n obj: { t: \"\", p: \"\", k: \"\" },\n value: `1-${i}`,\n },\n 2: {\n obj: { t: \"\", p: \"\", k: \"\" },\n value: `2-${i}`,\n },\n [`${action}`]: {\n obj: { t: \"NR\", p: \"\", k: \"10\" },\n value: `${i + 1}`,\n },\n },\n id: `${i}`,\n };\n for (let i = 0; i < rowRepetitions; i++) {\n rows.push(rowObj);\n }\n }\n return {\n smeupDataTable: {\n type: SmeupDataStructureType.SmeupDataTable,\n columns: [\n {\n name: \"1\",\n title: \"1title\",\n visible: true,\n obj: { t: \"\", p: \"\" },\n },\n {\n name: \"2\",\n title: \"2title\",\n visible: true,\n obj: { t: \"\", p: \"\" },\n },\n {\n name: `${action}`,\n title: `${action}title`,\n visible: true,\n obj: { t: \"NR\", p: \"\" },\n },\n ],\n rows,\n } as SmeupDataTable,\n props: {\n groups,\n totals: action ? { [`${action}`]: `${action}` } : [],\n filter: [],\n },\n };\n};\n"]}
|
package/dist/debug.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/debug.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { SupportedExportFormats } from "./src/types/index.js";
|
|
2
|
-
//import { table_sample_1 } from "./assets/sample-data.js";
|
|
3
|
-
import path from "path";
|
|
4
|
-
import fs from "fs/promises";
|
|
5
|
-
import { dataTableToExcelData } from "./src/excel/excel-generator.js";
|
|
6
|
-
async function main() {
|
|
7
|
-
const managerData = {
|
|
8
|
-
mathLocale: "it-IT",
|
|
9
|
-
datesLocale: "it-IT",
|
|
10
|
-
themeBackground: "",
|
|
11
|
-
};
|
|
12
|
-
const dataTableJSON = JSON.parse(await fs.readFile("F:/temp/data-table.json", "utf-8"));
|
|
13
|
-
const dataTableProps = {
|
|
14
|
-
...dataTableJSON,
|
|
15
|
-
};
|
|
16
|
-
delete dataTableProps.data;
|
|
17
|
-
const dataTable = {
|
|
18
|
-
smeupDataTable: dataTableJSON.data,
|
|
19
|
-
props: dataTableProps,
|
|
20
|
-
};
|
|
21
|
-
console.log("Generating Excel data...");
|
|
22
|
-
const excelData = await dataTableToExcelData(dataTable, SupportedExportFormats.XLSX, managerData);
|
|
23
|
-
const outputPath = path.resolve("./output/sample-export-debug.xlsx");
|
|
24
|
-
console.log("Saving Excel to:", outputPath);
|
|
25
|
-
await fs.writeFile(outputPath, excelData);
|
|
26
|
-
console.log("Excel file saved successfully at:", outputPath);
|
|
27
|
-
}
|
|
28
|
-
main().catch(console.error);
|
|
29
|
-
//# sourceMappingURL=debug.js.map
|
package/dist/debug.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../debug.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAoB,MAAM,sBAAsB,CAAC;AAChF,2DAA2D;AAC3D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAEtE,KAAK,UAAU,IAAI;IACjB,MAAM,WAAW,GAAqB;QACpC,UAAU,EAAE,OAAO;QACnB,WAAW,EAAE,OAAO;QACpB,eAAe,EAAE,EAAE;KACpB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAC9B,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC,CACtD,CAAC;IAEF,MAAM,cAAc,GAAG;QACrB,GAAG,aAAa;KACjB,CAAC;IAEF,OAAO,cAAc,CAAC,IAAI,CAAC;IAE3B,MAAM,SAAS,GAAG;QAChB,cAAc,EAAE,aAAa,CAAC,IAAI;QAClC,KAAK,EAAE,cAAc;KACtB,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAExC,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAC1C,SAAS,EACT,sBAAsB,CAAC,IAAI,EAC3B,WAAW,CACZ,CAAC;IAEF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;IAE5C,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,UAAU,CAAC,CAAC;AAC/D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC","sourcesContent":["import { SupportedExportFormats, WebupManagerData } from \"./src/types/index.js\";\n//import { table_sample_1 } from \"./assets/sample-data.js\";\nimport path from \"path\";\nimport fs from \"fs/promises\";\nimport { dataTableToExcelData } from \"./src/excel/excel-generator.js\";\n\nasync function main() {\n const managerData: WebupManagerData = {\n mathLocale: \"it-IT\",\n datesLocale: \"it-IT\",\n themeBackground: \"\",\n };\n\n const dataTableJSON = JSON.parse(\n await fs.readFile(\"F:/temp/data-table.json\", \"utf-8\"),\n );\n\n const dataTableProps = {\n ...dataTableJSON,\n };\n\n delete dataTableProps.data;\n\n const dataTable = {\n smeupDataTable: dataTableJSON.data,\n props: dataTableProps,\n };\n\n console.log(\"Generating Excel data...\");\n\n const excelData = await dataTableToExcelData(\n dataTable,\n SupportedExportFormats.XLSX,\n managerData,\n );\n\n const outputPath = path.resolve(\"./output/sample-export-debug.xlsx\");\n console.log(\"Saving Excel to:\", outputPath);\n\n await fs.writeFile(outputPath, excelData);\n console.log(\"Excel file saved successfully at:\", outputPath);\n}\n\nmain().catch(console.error);\n"]}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import ExcelJS, { Worksheet } from "exceljs";
|
|
2
|
-
import { SmeupDataColumn } from "@sme.up/kokos-sdk-node";
|
|
3
|
-
import { GenericObject, WebupManagerData } from "../types/index.js";
|
|
4
|
-
/**
|
|
5
|
-
* Adds creator, creation date to the workbook and creates a sheet
|
|
6
|
-
* @param workbook
|
|
7
|
-
* @returns void
|
|
8
|
-
*/
|
|
9
|
-
export declare const initializeWorksheet: (workbook: ExcelJS.Workbook) => ExcelJS.Worksheet;
|
|
10
|
-
export declare const setHeaderStyling: (worksheet: Worksheet, background?: boolean) => void;
|
|
11
|
-
export declare const addFooterTotalsRow: (worksheet: ExcelJS.Worksheet, columns: SmeupDataColumn[], props: GenericObject, webupManagerData: WebupManagerData) => void;
|
|
12
|
-
/**
|
|
13
|
-
* Returns the formula used in the footer to add Totals at the end of the table
|
|
14
|
-
* @param totalOperation string
|
|
15
|
-
* @param colIndex string
|
|
16
|
-
* @param rowNumber number
|
|
17
|
-
* @returns
|
|
18
|
-
*/
|
|
19
|
-
export declare const getTotalFormula: (totalOperation: string, colIndex: number, rowNumber: number, filteredColumns: SmeupDataColumn[], isSmeupFormula: boolean) => string;
|
|
20
|
-
export declare const getExcelColumnLetter: (index: number) => string;
|
|
21
|
-
export declare const smeupFormulaToExcelFormula: (formula: string, rowNumber: number, filteredColumns: SmeupDataColumn[]) => string;
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import ExcelJS from "exceljs";
|
|
2
|
-
import { allowedTotals, footerStyleFill, headerStyleFill, } from "./excel-generator.types.js";
|
|
3
|
-
import { objectsIsDate } from "../utils/objects-utility.js";
|
|
4
|
-
import { getExcelNumFormat } from "./matrix-generator.js";
|
|
5
|
-
const { ValueType } = ExcelJS;
|
|
6
|
-
/**
|
|
7
|
-
* Adds creator, creation date to the workbook and creates a sheet
|
|
8
|
-
* @param workbook
|
|
9
|
-
* @returns void
|
|
10
|
-
*/
|
|
11
|
-
export const initializeWorksheet = (workbook) => {
|
|
12
|
-
workbook.creator = "/doc-alchemist - dataTable excel generator";
|
|
13
|
-
workbook.created = new Date();
|
|
14
|
-
const worksheet = workbook.addWorksheet("Export");
|
|
15
|
-
// worksheet.pageSetup = {
|
|
16
|
-
// paperSize: 9, // A4 paper size
|
|
17
|
-
// orientation: "landscape",
|
|
18
|
-
// fitToPage: true,
|
|
19
|
-
// fitToHeight: 1,
|
|
20
|
-
// fitToWidth: 1,
|
|
21
|
-
// margins: {
|
|
22
|
-
// left: 0.5, // 0.5 inch left margin
|
|
23
|
-
// right: 0.5, // 0.5 inch right margin
|
|
24
|
-
// top: 0.5, // 0.5 inch top margin
|
|
25
|
-
// bottom: 0.5, // 0.5 inch bottom margin
|
|
26
|
-
// header: 0.3, // 0.3 inch header margin
|
|
27
|
-
// footer: 0.3, // 0.3 inch footer margin
|
|
28
|
-
// },
|
|
29
|
-
// printTitlesRow: "1:1", // Print the first row as title
|
|
30
|
-
// };
|
|
31
|
-
return worksheet;
|
|
32
|
-
};
|
|
33
|
-
export const setHeaderStyling = (worksheet, background = false) => {
|
|
34
|
-
const headerRow = worksheet.getRow(1);
|
|
35
|
-
headerRow.font = { bold: true };
|
|
36
|
-
headerRow.alignment = {
|
|
37
|
-
horizontal: "center",
|
|
38
|
-
vertical: "middle",
|
|
39
|
-
wrapText: true,
|
|
40
|
-
};
|
|
41
|
-
if (background) {
|
|
42
|
-
for (let col = 1; col <= worksheet.columns.length; col++) {
|
|
43
|
-
const cell = headerRow.getCell(col);
|
|
44
|
-
cell.fill = headerStyleFill;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
export const addFooterTotalsRow = (worksheet, columns, props, webupManagerData) => {
|
|
49
|
-
if (!props?.totals || typeof props.totals !== "object") {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
const totals = props.totals;
|
|
53
|
-
// Set footer total formulas
|
|
54
|
-
const footerRowData = columns.map((column, columnIndex) => {
|
|
55
|
-
const totalOperation = totals[column.name];
|
|
56
|
-
if (!totalOperation)
|
|
57
|
-
return;
|
|
58
|
-
const formula = getTotalFormula(totalOperation, columnIndex + 1, // from base 0 to base 1
|
|
59
|
-
worksheet.rowCount, columns, totalOperation.startsWith("MATH"));
|
|
60
|
-
return formula ? { formula: formula, type: ValueType.Formula } : " ";
|
|
61
|
-
});
|
|
62
|
-
const footerRow = worksheet.addRow(footerRowData);
|
|
63
|
-
// Format excel footer cells
|
|
64
|
-
footerRow.font = { bold: true };
|
|
65
|
-
footerRow.alignment = { horizontal: "right" };
|
|
66
|
-
columns.map((column, index) => {
|
|
67
|
-
const exceljsCell = footerRow.getCell(index + 1); // Convert base 0 index to base 1
|
|
68
|
-
exceljsCell.fill = footerStyleFill;
|
|
69
|
-
if (column.obj &&
|
|
70
|
-
objectsIsDate(column.obj) &&
|
|
71
|
-
(exceljsCell.formula?.startsWith(allowedTotals.Min) ||
|
|
72
|
-
exceljsCell.formula?.startsWith(allowedTotals.Max))) {
|
|
73
|
-
const dateFormat = webupManagerData.datesLocale === "it" ? "dd/mm/yyyy" : "mm/dd/yyyy";
|
|
74
|
-
exceljsCell.numFmt = dateFormat;
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
exceljsCell.numFmt = getExcelNumFormat(column.decimals ?? 0, column.integers ?? 0);
|
|
78
|
-
});
|
|
79
|
-
};
|
|
80
|
-
/**
|
|
81
|
-
* Returns the formula used in the footer to add Totals at the end of the table
|
|
82
|
-
* @param totalOperation string
|
|
83
|
-
* @param colIndex string
|
|
84
|
-
* @param rowNumber number
|
|
85
|
-
* @returns
|
|
86
|
-
*/
|
|
87
|
-
export const getTotalFormula = (totalOperation, colIndex, rowNumber, filteredColumns, isSmeupFormula) => {
|
|
88
|
-
const startRow = 2;
|
|
89
|
-
const columnExcelLetter = getExcelColumnLetter(colIndex);
|
|
90
|
-
if (isSmeupFormula) {
|
|
91
|
-
return smeupFormulaToExcelFormula(totalOperation, rowNumber, filteredColumns);
|
|
92
|
-
}
|
|
93
|
-
if (!allowedTotals[totalOperation]) {
|
|
94
|
-
console.warn(`Total operation [' ${totalOperation} '] is not supported`, "exportUtils.ts");
|
|
95
|
-
return "";
|
|
96
|
-
}
|
|
97
|
-
return `${allowedTotals[totalOperation]}${columnExcelLetter}${startRow}:${columnExcelLetter}${rowNumber})`;
|
|
98
|
-
};
|
|
99
|
-
export const getExcelColumnLetter = (index) => {
|
|
100
|
-
let columnLetter = "";
|
|
101
|
-
while (index > 0) {
|
|
102
|
-
index--; // Excel columns are 1-based, but calculations work better with 0-based
|
|
103
|
-
columnLetter = String.fromCharCode((index % 26) + 65) + columnLetter;
|
|
104
|
-
index = Math.floor(index / 26);
|
|
105
|
-
}
|
|
106
|
-
return columnLetter;
|
|
107
|
-
};
|
|
108
|
-
export const smeupFormulaToExcelFormula = (formula, rowNumber, filteredColumns) => {
|
|
109
|
-
return formula
|
|
110
|
-
.replace("MATH", "")
|
|
111
|
-
.replace(/\[(\w+)\]/g, (_, key) => {
|
|
112
|
-
const columnIndex = filteredColumns.findIndex(col => col.name === key) + 1; // Convert to base 1 index
|
|
113
|
-
const columnLetter = getExcelColumnLetter(columnIndex);
|
|
114
|
-
return columnLetter && columnIndex
|
|
115
|
-
? `${columnLetter}${rowNumber + 1}`
|
|
116
|
-
: key; // Return column letter with row number or original key if not found
|
|
117
|
-
})
|
|
118
|
-
.replaceAll(",", "."); // Replace eventual , to . => The excel accepted decimal separator
|
|
119
|
-
};
|
|
120
|
-
//# sourceMappingURL=commons.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commons.js","sourceRoot":"","sources":["../../../src/excel/commons.ts"],"names":[],"mappings":"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","sourcesContent":["import ExcelJS, { Worksheet } from \"exceljs\";\nimport {\n allowedTotals,\n footerStyleFill,\n headerStyleFill,\n} from \"./excel-generator.types.js\";\nimport { SmeupDataColumn } from \"@sme.up/kokos-sdk-node\";\nimport { GenericObject, WebupManagerData } from \"../types/index.js\";\nimport { objectsIsDate } from \"../utils/objects-utility.js\";\nimport { getExcelNumFormat } from \"./matrix-generator.js\";\nconst { ValueType } = ExcelJS;\n\n/**\n * Adds creator, creation date to the workbook and creates a sheet\n * @param workbook\n * @returns void\n */\nexport const initializeWorksheet = (workbook: ExcelJS.Workbook) => {\n workbook.creator = \"/doc-alchemist - dataTable excel generator\";\n workbook.created = new Date();\n\n const worksheet = workbook.addWorksheet(\"Export\");\n // worksheet.pageSetup = {\n // paperSize: 9, // A4 paper size\n // orientation: \"landscape\",\n // fitToPage: true,\n // fitToHeight: 1,\n // fitToWidth: 1,\n // margins: {\n // left: 0.5, // 0.5 inch left margin\n // right: 0.5, // 0.5 inch right margin\n // top: 0.5, // 0.5 inch top margin\n // bottom: 0.5, // 0.5 inch bottom margin\n // header: 0.3, // 0.3 inch header margin\n // footer: 0.3, // 0.3 inch footer margin\n // },\n // printTitlesRow: \"1:1\", // Print the first row as title\n // };\n\n return worksheet;\n};\n\nexport const setHeaderStyling = (\n worksheet: Worksheet,\n background = false,\n): void => {\n const headerRow = worksheet.getRow(1);\n headerRow.font = { bold: true };\n headerRow.alignment = {\n horizontal: \"center\",\n vertical: \"middle\",\n wrapText: true,\n };\n\n if (background) {\n for (let col = 1; col <= worksheet.columns.length; col++) {\n const cell = headerRow.getCell(col);\n cell.fill = headerStyleFill;\n }\n }\n};\n\nexport const addFooterTotalsRow = (\n worksheet: ExcelJS.Worksheet,\n columns: SmeupDataColumn[],\n props: GenericObject,\n webupManagerData: WebupManagerData,\n) => {\n if (!props?.totals || typeof props.totals !== \"object\") {\n return;\n }\n\n const totals = props.totals as Record<string, string>;\n\n // Set footer total formulas\n const footerRowData = columns.map((column, columnIndex) => {\n const totalOperation: string = totals[column.name];\n if (!totalOperation) return;\n\n const formula = getTotalFormula(\n totalOperation,\n columnIndex + 1, // from base 0 to base 1\n worksheet.rowCount,\n columns,\n totalOperation.startsWith(\"MATH\"),\n );\n\n return formula ? { formula: formula, type: ValueType.Formula } : \" \";\n });\n const footerRow = worksheet.addRow(footerRowData);\n\n // Format excel footer cells\n footerRow.font = { bold: true };\n footerRow.alignment = { horizontal: \"right\" };\n columns.map((column, index) => {\n const exceljsCell = footerRow.getCell(index + 1); // Convert base 0 index to base 1\n exceljsCell.fill = footerStyleFill;\n\n if (\n column.obj &&\n objectsIsDate(column.obj) &&\n (exceljsCell.formula?.startsWith(allowedTotals.Min) ||\n exceljsCell.formula?.startsWith(allowedTotals.Max))\n ) {\n const dateFormat =\n webupManagerData.datesLocale === \"it\" ? \"dd/mm/yyyy\" : \"mm/dd/yyyy\";\n exceljsCell.numFmt = dateFormat;\n return;\n }\n\n exceljsCell.numFmt = getExcelNumFormat(\n column.decimals ?? 0,\n column.integers ?? 0,\n );\n });\n};\n\n/**\n * Returns the formula used in the footer to add Totals at the end of the table\n * @param totalOperation string\n * @param colIndex string\n * @param rowNumber number\n * @returns\n */\nexport const getTotalFormula = (\n totalOperation: string,\n colIndex: number,\n rowNumber: number,\n filteredColumns: SmeupDataColumn[],\n isSmeupFormula: boolean,\n): string => {\n const startRow = 2;\n const columnExcelLetter = getExcelColumnLetter(colIndex);\n\n if (isSmeupFormula) {\n return smeupFormulaToExcelFormula(\n totalOperation,\n rowNumber,\n filteredColumns,\n );\n }\n\n if (!allowedTotals[totalOperation]) {\n console.warn(\n `Total operation [' ${totalOperation} '] is not supported`,\n \"exportUtils.ts\",\n );\n return \"\";\n }\n\n return `${allowedTotals[totalOperation]}${columnExcelLetter}${startRow}:${columnExcelLetter}${rowNumber})`;\n};\n\nexport const getExcelColumnLetter = (index: number): string => {\n let columnLetter = \"\";\n while (index > 0) {\n index--; // Excel columns are 1-based, but calculations work better with 0-based\n columnLetter = String.fromCharCode((index % 26) + 65) + columnLetter;\n index = Math.floor(index / 26);\n }\n return columnLetter;\n};\n\nexport const smeupFormulaToExcelFormula = (\n formula: string,\n rowNumber: number,\n filteredColumns: SmeupDataColumn[],\n): string => {\n return formula\n .replace(\"MATH\", \"\")\n .replace(/\\[(\\w+)\\]/g, (_, key) => {\n const columnIndex =\n filteredColumns.findIndex(col => col.name === key) + 1; // Convert to base 1 index\n const columnLetter = getExcelColumnLetter(columnIndex);\n return columnLetter && columnIndex\n ? `${columnLetter}${rowNumber + 1}`\n : key; // Return column letter with row number or original key if not found\n })\n .replaceAll(\",\", \".\"); // Replace eventual , to . => The excel accepted decimal separator\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"excel-generator.js","sourceRoot":"","sources":["../../../src/excel/excel-generator.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,sBAAsB,GAEvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,SAGC,EACD,UAAkC,EAClC,gBAAkC,EACJ,EAAE;IAChC,MAAM,QAAQ,GAAG,wBAAwB,CACvC,SAAS,EACT,UAAU,EACV,gBAAgB,CACjB,CAAC;IAEF,OAAO,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,SAGC,EACD,UAAkC,EAClC,gBAAkC,EACJ,EAAE;IAChC,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAC5C,SAAS,EACT,UAAU,EACV,gBAAgB,CACjB,CAAC;IAEF,OAAO,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,KAAK,EAC/B,QAAkB,EAClB,UAAkC,EACJ,EAAE;IAChC,kDAAkD;IAClD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;YACjC,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACrD,OAAO,eAAe,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;QACD,KAAK,sBAAsB,CAAC,GAAG,CAAC;QAChC,KAAK,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;gBAC/C,gBAAgB,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;aACrC,CAAC,CAAC;YACH,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QACD;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC,CAAC","sourcesContent":["import { SmeupDataTable, SmeupDataTree } from \"@sme.up/kokos-sdk-node\";\nimport {\n GenericObject,\n SupportedExportFormats,\n WebupManagerData,\n} from \"../types/index.js\";\nimport { convertToBuffer } from \"../utils/generator-utility.js\";\nimport { dataTableToExcelWorkbook } from \"./matrix-generator.js\";\nimport { Workbook } from \"exceljs\";\nimport { dataTreeToExcelWorkbook } from \"./tree-generator.js\";\n\nexport const dataTableToExcelData = async (\n component: {\n smeupDataTable: SmeupDataTable;\n props: GenericObject;\n },\n fileFormat: SupportedExportFormats,\n webupManagerData: WebupManagerData,\n): Promise<Buffer | Uint8Array> => {\n const workbook = dataTableToExcelWorkbook(\n component,\n fileFormat,\n webupManagerData,\n );\n\n return convertToStreamData(workbook, fileFormat);\n};\n\nexport const dataTreeToExcelData = async (\n component: {\n smeupDataTree: SmeupDataTree;\n props: GenericObject;\n },\n fileFormat: SupportedExportFormats,\n webupManagerData: WebupManagerData,\n): Promise<Buffer | Uint8Array> => {\n const workbook = await dataTreeToExcelWorkbook(\n component,\n fileFormat,\n webupManagerData,\n );\n\n return convertToStreamData(workbook, fileFormat);\n};\n\nconst convertToStreamData = async (\n workbook: Workbook,\n fileFormat: SupportedExportFormats,\n): Promise<Buffer | Uint8Array> => {\n // Convert workbook to buffer based on file format\n switch (fileFormat) {\n case SupportedExportFormats.XLSX: {\n const xlsxBuffer = await workbook.xlsx.writeBuffer();\n return convertToBuffer(xlsxBuffer);\n }\n case SupportedExportFormats.TXT:\n case SupportedExportFormats.CSV: {\n const csvBuffer = await workbook.csv.writeBuffer({\n formatterOptions: { delimiter: \";\" },\n });\n return convertToBuffer(csvBuffer);\n }\n default:\n throw new Error(`Unsupported export format: ${fileFormat}`);\n }\n};\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"excel-generator.types.js","sourceRoot":"","sources":["../../../src/excel/excel-generator.types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAY3D,MAAM,CAAC,MAAM,eAAe,GAAS;IACnC,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,IAAI;IACnC,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,KAAK;IACnC,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,KAAK;IACnC,CAAC,sBAAsB,CAAC,UAAU,CAAC,EAAE,KAAK;CAC3C,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,sEAAsE;IACtE,CAAC,OAAoB,CAAC,EAAE,aAAa,EAAE,SAAS;IAChD,CAAC,KAAkB,CAAC,EAAE,aAAa,EAAE,MAAM;IAC3C,CAAC,KAAkB,CAAC,EAAE,aAAa,EAAE,MAAM;IAC3C,CAAC,KAAkB,CAAC,EAAE,aAAa,EAAE,MAAM;IAC3C,CAAC,SAAsB,CAAC,EAAE,aAAa,EAAE,UAAU;CACpD,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAS;IACnC,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;CAC5B,CAAC","sourcesContent":["import { Fill } from \"exceljs\";\nimport { SupportedExportFormats } from \"../types/index.js\";\n\nexport declare enum TotalMode {\n COUNT = \"Count\",\n SUM = \"Sum\",\n MIN = \"Min\",\n MAX = \"Max\",\n DISTINCT = \"Distinct\",\n AVERAGE = \"Average\",\n MATH = \"MATH\",\n}\n\nexport const headerStyleFill: Fill = {\n type: \"pattern\",\n pattern: \"solid\",\n fgColor: { argb: \"E0E0E0\" },\n};\n\nexport const exportTypeSupportsFormatting = {\n [SupportedExportFormats.XLSX]: true,\n [SupportedExportFormats.CSV]: false,\n [SupportedExportFormats.TXT]: false,\n [SupportedExportFormats.PDF_SCHEDA]: false,\n};\n\nexport const allowedTotals = {\n // The different initial number indicates the specific subtotal action\n [\"Count\" as TotalMode]: \"SUBTOTAL(3,\", // COUNTA\n [\"Sum\" as TotalMode]: \"SUBTOTAL(9,\", // SUM\n [\"Max\" as TotalMode]: \"SUBTOTAL(4,\", // MAX\n [\"Min\" as TotalMode]: \"SUBTOTAL(5,\", // MIN\n [\"Average\" as TotalMode]: \"SUBTOTAL(1,\", // AVERAGE\n};\n\nexport const footerStyleFill: Fill = {\n type: \"pattern\",\n pattern: \"solid\",\n fgColor: { argb: \"EEEEEE\" },\n};\n"]}
|