@elisra-devops/docgen-skins 0.4.1 → 0.6.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/bin/index.d.ts +3 -3
- package/bin/index.js +23 -17
- package/bin/index.js.map +1 -1
- package/bin/models/json/paragraph/JSONRichTextParagraph.d.ts +1 -1
- package/bin/models/json/paragraph/JSONRichTextParagraph.js +6 -6
- package/bin/models/json/paragraph/JSONRichTextParagraph.js.map +1 -1
- package/bin/models/json/table/JSONTable.d.ts +2 -2
- package/bin/models/json/table/JSONTable.js +16 -6
- package/bin/models/json/table/JSONTable.js.map +1 -1
- package/bin/models/json/table/JSONTableCell.d.ts +3 -3
- package/bin/models/json/table/JSONTableCell.js +8 -3
- package/bin/models/json/table/JSONTableCell.js.map +1 -1
- package/bin/models/json/table/JSONTableRow.d.ts +3 -3
- package/bin/models/json/table/JSONTableRow.js +4 -4
- package/bin/models/json/table/JSONTableRow.js.map +1 -1
- package/bin/models/json/wordJsonModels.d.ts +13 -0
- package/bin/snippets/free-runs.js +14 -4
- package/bin/snippets/free-runs.js.map +1 -1
- package/bin/test/skins.test.js +61 -51
- package/bin/test/skins.test.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +59 -24
- package/src/models/json/paragraph/JSONRichTextParagraph.ts +14 -27
- package/src/models/json/table/JSONTable.ts +39 -7
- package/src/models/json/table/JSONTableCell.ts +14 -4
- package/src/models/json/table/JSONTableRow.ts +10 -5
- package/src/models/json/wordJsonModels.ts +17 -2
- package/src/snippets/free-runs.ts +17 -5
- package/src/test/skins.test.ts +74 -56
package/bin/test/skins.test.js
CHANGED
|
@@ -20,96 +20,106 @@ const styles = {
|
|
|
20
20
|
IsUnderline: false,
|
|
21
21
|
Size: 10,
|
|
22
22
|
Uri: null,
|
|
23
|
-
Font:
|
|
23
|
+
Font: 'New Times Roman',
|
|
24
24
|
InsertLineBreak: true,
|
|
25
25
|
InsertSpace: true,
|
|
26
26
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
const headerStyles = {
|
|
28
|
+
isBold: true,
|
|
29
|
+
IsItalic: false,
|
|
30
|
+
IsUnderline: false,
|
|
31
|
+
Size: 12,
|
|
32
|
+
Uri: null,
|
|
33
|
+
Font: 'Arial',
|
|
34
|
+
InsertLineBreak: false,
|
|
35
|
+
InsertSpace: true,
|
|
36
|
+
};
|
|
37
|
+
describe('Generate json skins from queries - tests', () => {
|
|
38
|
+
test('generate table skin - flat query', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
+
let skins = new index_1.default('json', 'c:\test.dotx');
|
|
40
|
+
const QueryData = require('../../samples/mock-data/queries/flat-query-data.json');
|
|
41
|
+
yield skins.addNewContentToDocumentSkin('test', skins.SKIN_TYPE_TABLE, QueryData, headerStyles, styles, 4);
|
|
32
42
|
const documentSkin = skins.getDocumentSkin();
|
|
33
|
-
const SnapShot = require(
|
|
43
|
+
const SnapShot = require('../../samples/snapshots/queries/flat-query-table-snapshot.json');
|
|
34
44
|
expect(documentSkin).toMatchObject(SnapShot);
|
|
35
45
|
}));
|
|
36
|
-
test(
|
|
37
|
-
let skins = new index_1.default(
|
|
38
|
-
const QueryData = require(
|
|
39
|
-
yield skins.addNewContentToDocumentSkin(
|
|
46
|
+
test('generate table skin - tree query', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
47
|
+
let skins = new index_1.default('json', 'c:\test.dotx');
|
|
48
|
+
const QueryData = require('../../samples/mock-data/queries/tree-query-data.json');
|
|
49
|
+
yield skins.addNewContentToDocumentSkin('test', skins.SKIN_TYPE_TABLE, QueryData, headerStyles, styles, 4);
|
|
40
50
|
const documentSkin = skins.getDocumentSkin();
|
|
41
|
-
const SnapShot = require(
|
|
51
|
+
const SnapShot = require('../../samples/snapshots/queries/tree-query-table-snapshot.json');
|
|
42
52
|
expect(documentSkin).toMatchObject(SnapShot);
|
|
43
53
|
}));
|
|
44
|
-
test(
|
|
45
|
-
let skins = new index_1.default(
|
|
46
|
-
const QueryData = require(
|
|
47
|
-
yield skins.addNewContentToDocumentSkin(
|
|
54
|
+
test('generate paragraph skin - flat query', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
55
|
+
let skins = new index_1.default('json', 'c:\test.dotx');
|
|
56
|
+
const QueryData = require('../../samples/mock-data/queries/flat-query-data.json');
|
|
57
|
+
yield skins.addNewContentToDocumentSkin('test', skins.SKIN_TYPE_PARAGRAPH, QueryData, headerStyles, styles, 4);
|
|
48
58
|
const documentSkin = skins.getDocumentSkin();
|
|
49
59
|
// writeFileSync(
|
|
50
60
|
// "flat-query-paragraph-snapshot.json",
|
|
51
61
|
// JSON.stringify(documentSkin)
|
|
52
62
|
// );
|
|
53
|
-
const SnapShot = require(
|
|
63
|
+
const SnapShot = require('../../samples/snapshots/queries/flat-query-paragraph-snapshot.json');
|
|
54
64
|
expect(documentSkin).toMatchObject(SnapShot);
|
|
55
65
|
}));
|
|
56
|
-
test(
|
|
57
|
-
let skins = new index_1.default(
|
|
58
|
-
const QueryData = require(
|
|
59
|
-
yield skins.addNewContentToDocumentSkin(
|
|
66
|
+
test('generate paragraph skin - tree query', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
67
|
+
let skins = new index_1.default('json', 'c:\test.dotx');
|
|
68
|
+
const QueryData = require('../../samples/mock-data/queries/tree-query-data.json');
|
|
69
|
+
yield skins.addNewContentToDocumentSkin('test', skins.SKIN_TYPE_PARAGRAPH, QueryData, headerStyles, styles, 4);
|
|
60
70
|
const documentSkin = skins.getDocumentSkin();
|
|
61
71
|
// writeFileSync("tree-query-data.json", JSON.stringify(documentSkin));
|
|
62
|
-
const SnapShot = require(
|
|
72
|
+
const SnapShot = require('../../samples/snapshots/queries/tree-query-paragraph-snapshot.json');
|
|
63
73
|
expect(documentSkin).toMatchObject(SnapShot);
|
|
64
74
|
}));
|
|
65
75
|
});
|
|
66
|
-
describe(
|
|
67
|
-
test(
|
|
68
|
-
let skins = new index_1.default(
|
|
69
|
-
const QueryData = require(
|
|
70
|
-
yield skins.addNewContentToDocumentSkin(
|
|
76
|
+
describe('Generate json skins from testData - tests', () => {
|
|
77
|
+
test('generate std skin - testData', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
|
+
let skins = new index_1.default('json', 'c:\\\\test\\\\test.dotx');
|
|
79
|
+
const QueryData = require('../../samples/mock-data/test-data/testContentData.json');
|
|
80
|
+
yield skins.addNewContentToDocumentSkin('system-capabilities', skins.SKIN_TYPE_TEST_PLAN, QueryData, headerStyles, styles, 4);
|
|
71
81
|
const documentSkin = skins.getDocumentSkin();
|
|
72
|
-
const SnapShot = require(
|
|
82
|
+
const SnapShot = require('../../samples/snapshots/tests/flat-test-std-snapshot.json');
|
|
73
83
|
expect(documentSkin).toMatchObject(SnapShot);
|
|
74
84
|
}));
|
|
75
|
-
test(
|
|
76
|
-
let skins = new index_1.default(
|
|
77
|
-
const QueryData = require(
|
|
78
|
-
yield skins.addNewContentToDocumentSkin(
|
|
85
|
+
test('generate std skin - complex testData', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
86
|
+
let skins = new index_1.default('json', 'C:\\\\docgen\\\\documents\\\\181020205911\\\\test.dotx');
|
|
87
|
+
const QueryData = require('../../samples/mock-data/test-data/complex-test-data-with-attachments.json');
|
|
88
|
+
yield skins.addNewContentToDocumentSkin('system-capabilities', skins.SKIN_TYPE_TEST_PLAN, QueryData, headerStyles, styles, 4);
|
|
79
89
|
const documentSkin = skins.getDocumentSkin();
|
|
80
|
-
const SnapShot = require(
|
|
90
|
+
const SnapShot = require('../../samples/snapshots/tests/complex-test-std-snapshot.json');
|
|
81
91
|
expect(documentSkin).toMatchObject(SnapShot);
|
|
82
92
|
}));
|
|
83
|
-
test(
|
|
84
|
-
let skins = new index_1.default(
|
|
85
|
-
const QueryData = require(
|
|
86
|
-
yield skins.addNewContentToDocumentSkin(
|
|
93
|
+
test('generate trace table skin', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
94
|
+
let skins = new index_1.default('json', 'c:\\test\\test.dotx');
|
|
95
|
+
const QueryData = require('../../samples/mock-data/test-data/test-trace-table-data.json');
|
|
96
|
+
yield skins.addNewContentToDocumentSkin('system-capabilities', skins.SKIN_TYPE_TABLE, QueryData, headerStyles, styles, 4);
|
|
87
97
|
const documentSkin = skins.getDocumentSkin();
|
|
88
|
-
const SnapShot = require(
|
|
98
|
+
const SnapShot = require('../../samples/snapshots/tests/test-trace-table-snapshot.json');
|
|
89
99
|
expect(documentSkin).toMatchObject(SnapShot);
|
|
90
100
|
}));
|
|
91
101
|
});
|
|
92
|
-
describe(
|
|
93
|
-
test(
|
|
94
|
-
let skins = new index_1.default(
|
|
95
|
-
const adoptedChangesData = require(
|
|
102
|
+
describe('Generate json skins svd - tests', () => {
|
|
103
|
+
test('generate changes between releases skin', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
104
|
+
let skins = new index_1.default('json', 'c:\\test\\test.dotx');
|
|
105
|
+
const adoptedChangesData = require('../../samples/mock-data/changes/adoptedChanges.json');
|
|
96
106
|
for (let i = 0; i < adoptedChangesData.length; i++) {
|
|
97
107
|
let artifactChangesData = adoptedChangesData[i];
|
|
98
|
-
yield skins.addNewContentToDocumentSkin(
|
|
99
|
-
yield skins.addNewContentToDocumentSkin(
|
|
108
|
+
yield skins.addNewContentToDocumentSkin('change-description-content-control', skins.SKIN_TYPE_PARAGRAPH, artifactChangesData.artifact, headerStyles, styles, 4);
|
|
109
|
+
yield skins.addNewContentToDocumentSkin('change-description-content-control', skins.SKIN_TYPE_TABLE, artifactChangesData.artifactChanges, headerStyles, styles, 4);
|
|
100
110
|
}
|
|
101
111
|
const documentSkin = skins.getDocumentSkin();
|
|
102
|
-
const SnapShot = require(
|
|
112
|
+
const SnapShot = require('../../samples/snapshots/changes/changes-table-release-snapshot.json');
|
|
103
113
|
expect(documentSkin).toMatchObject(SnapShot);
|
|
104
114
|
}));
|
|
105
115
|
});
|
|
106
|
-
describe(
|
|
107
|
-
test(
|
|
108
|
-
let skins = new index_1.default(
|
|
109
|
-
const QueryData = require(
|
|
110
|
-
yield skins.addNewContentToDocumentSkin(
|
|
116
|
+
describe('Common functions - tests', () => {
|
|
117
|
+
test('generate richText skin', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
118
|
+
let skins = new index_1.default('json', 'c:\\\\test\\\\test.dotx');
|
|
119
|
+
const QueryData = require('../../samples/mock-data/test-data/testContentDataWithRichText.json');
|
|
120
|
+
yield skins.addNewContentToDocumentSkin('system-capabilities', skins.SKIN_TYPE_TEST_PLAN, QueryData, headerStyles, styles, 4);
|
|
111
121
|
const documentSkin = skins.getDocumentSkin();
|
|
112
|
-
const SnapShot = require(
|
|
122
|
+
const SnapShot = require('../../samples/snapshots/common/rich-text-test-std.json');
|
|
113
123
|
expect(documentSkin).toMatchObject(SnapShot);
|
|
114
124
|
}));
|
|
115
125
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skins.test.js","sourceRoot":"","sources":["../../src/test/skins.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"skins.test.js","sourceRoot":"","sources":["../../src/test/skins.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -27,6 +27,7 @@ export default class Skins {
|
|
|
27
27
|
contetnControlTitle: string,
|
|
28
28
|
skinType: string,
|
|
29
29
|
data: any,
|
|
30
|
+
headerStyles: StyleOptions,
|
|
30
31
|
styles: StyleOptions,
|
|
31
32
|
headingLvl: number = 0,
|
|
32
33
|
includeAttachments: boolean = true
|
|
@@ -36,7 +37,7 @@ export default class Skins {
|
|
|
36
37
|
|
|
37
38
|
switch (skinType) {
|
|
38
39
|
case this.SKIN_TYPE_TABLE:
|
|
39
|
-
populatedSkin = this.generateQueryBasedTable(data, styles, headingLvl);
|
|
40
|
+
populatedSkin = this.generateQueryBasedTable(data, headerStyles, styles, headingLvl);
|
|
40
41
|
if (populatedSkin === false) {
|
|
41
42
|
logger.error(`Could not generate table for content control :${contetnControlTitle}`);
|
|
42
43
|
return false;
|
|
@@ -50,7 +51,13 @@ export default class Skins {
|
|
|
50
51
|
}
|
|
51
52
|
break;
|
|
52
53
|
case this.SKIN_TYPE_TEST_PLAN:
|
|
53
|
-
populatedSkin = this.generateTestBasedSkin(
|
|
54
|
+
populatedSkin = this.generateTestBasedSkin(
|
|
55
|
+
data,
|
|
56
|
+
headerStyles,
|
|
57
|
+
styles,
|
|
58
|
+
headingLvl,
|
|
59
|
+
includeAttachments
|
|
60
|
+
);
|
|
54
61
|
if (populatedSkin === false) {
|
|
55
62
|
logger.error(`Could not generate test skin for content control :${contetnControlTitle}`);
|
|
56
63
|
return false;
|
|
@@ -114,12 +121,17 @@ export default class Skins {
|
|
|
114
121
|
|
|
115
122
|
//parses data to the class skin format and returns the parsed data
|
|
116
123
|
//returns false if supplied an invalid type or error occurd during parsing
|
|
117
|
-
generateQueryBasedTable(
|
|
124
|
+
generateQueryBasedTable(
|
|
125
|
+
data: WIQueryResults,
|
|
126
|
+
headerStyles: StyleOptions,
|
|
127
|
+
styles: StyleOptions,
|
|
128
|
+
headingLvl: number = 0
|
|
129
|
+
) {
|
|
118
130
|
logger.debug(`Generating table as ${this.skinFormat}`);
|
|
119
131
|
|
|
120
132
|
switch (this.skinFormat) {
|
|
121
133
|
case 'json':
|
|
122
|
-
let tableSkin = new JSONTable(data, styles, headingLvl);
|
|
134
|
+
let tableSkin = new JSONTable(data, headerStyles, styles, headingLvl);
|
|
123
135
|
return [tableSkin.getJSONTable()];
|
|
124
136
|
case 'html':
|
|
125
137
|
logger.info(`Generating html table!`);
|
|
@@ -162,6 +174,7 @@ export default class Skins {
|
|
|
162
174
|
|
|
163
175
|
generateTestBasedSkin(
|
|
164
176
|
data: any,
|
|
177
|
+
headerStyles: StyleOptions,
|
|
165
178
|
styles: StyleOptions,
|
|
166
179
|
headingLvl: number = 0,
|
|
167
180
|
includeAttachments: boolean = true
|
|
@@ -189,8 +202,8 @@ export default class Skins {
|
|
|
189
202
|
testSuite.suiteSkinData.level
|
|
190
203
|
? headingLvl + testSuite.suiteSkinData.level
|
|
191
204
|
: headingLvl
|
|
192
|
-
|
|
193
|
-
|
|
205
|
+
? headingLvl
|
|
206
|
+
: 1
|
|
194
207
|
);
|
|
195
208
|
testSkin.push(testSuiteParagraphSkin.getJSONParagraph());
|
|
196
209
|
|
|
@@ -217,8 +230,8 @@ export default class Skins {
|
|
|
217
230
|
testcase.testCaseHeaderSkinData.level
|
|
218
231
|
? headingLvl + testcase.testCaseHeaderSkinData.level
|
|
219
232
|
: headingLvl
|
|
220
|
-
|
|
221
|
-
|
|
233
|
+
? headingLvl
|
|
234
|
+
: 1
|
|
222
235
|
);
|
|
223
236
|
testSkin.push(testCaseParagraphSkin.getJSONParagraph());
|
|
224
237
|
|
|
@@ -248,7 +261,12 @@ export default class Skins {
|
|
|
248
261
|
);
|
|
249
262
|
testSkin.push(testDescriptionTitleParagraph.getJSONParagraph());
|
|
250
263
|
//create test steps table
|
|
251
|
-
let tableSkin = new JSONTable(
|
|
264
|
+
let tableSkin = new JSONTable(
|
|
265
|
+
testcase.testCaseRequirements,
|
|
266
|
+
headerStyles,
|
|
267
|
+
styles,
|
|
268
|
+
headingLvl
|
|
269
|
+
);
|
|
252
270
|
|
|
253
271
|
let populatedTableSkin = tableSkin.getJSONTable();
|
|
254
272
|
|
|
@@ -266,7 +284,7 @@ export default class Skins {
|
|
|
266
284
|
);
|
|
267
285
|
testSkin.push(testDescriptionTitleParagraph.getJSONParagraph());
|
|
268
286
|
//create test steps table
|
|
269
|
-
let tableSkin = new JSONTable(testcase.testCaseBugs, styles, headingLvl);
|
|
287
|
+
let tableSkin = new JSONTable(testcase.testCaseBugs, headerStyles, styles, headingLvl);
|
|
270
288
|
|
|
271
289
|
let populatedTableSkin = tableSkin.getJSONTable();
|
|
272
290
|
|
|
@@ -294,7 +312,12 @@ export default class Skins {
|
|
|
294
312
|
};
|
|
295
313
|
testSkin.push(testProcedureTitleParagraph.getJSONParagraph());
|
|
296
314
|
//create test steps table
|
|
297
|
-
let tableSkin = new JSONTable(
|
|
315
|
+
let tableSkin = new JSONTable(
|
|
316
|
+
testcase.testCaseStepsSkinData,
|
|
317
|
+
headerStyles,
|
|
318
|
+
TableContentStyles,
|
|
319
|
+
headingLvl
|
|
320
|
+
);
|
|
298
321
|
let populatedTableSkin = tableSkin.getJSONTable();
|
|
299
322
|
testSkin.push(populatedTableSkin);
|
|
300
323
|
}
|
|
@@ -305,20 +328,32 @@ export default class Skins {
|
|
|
305
328
|
}
|
|
306
329
|
|
|
307
330
|
//attachments table
|
|
308
|
-
|
|
309
|
-
if (testcase.testCaseAttachments
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
331
|
+
try {
|
|
332
|
+
if (testcase.testCaseAttachments) {
|
|
333
|
+
if (testcase.testCaseAttachments.length > 0 && includeAttachments) {
|
|
334
|
+
let testDescriptionTitleParagraph = new JSONParagraph(
|
|
335
|
+
{ name: 'Title', value: 'Test Case Attachments:' },
|
|
336
|
+
styles,
|
|
337
|
+
testcase.id || 0,
|
|
338
|
+
0
|
|
339
|
+
);
|
|
340
|
+
testSkin.push(testDescriptionTitleParagraph.getJSONParagraph());
|
|
341
|
+
//create test steps table
|
|
342
|
+
|
|
343
|
+
let tableSkin = new JSONTable(
|
|
344
|
+
testcase.testCaseAttachments,
|
|
345
|
+
headerStyles,
|
|
346
|
+
styles,
|
|
347
|
+
headingLvl,
|
|
348
|
+
true
|
|
349
|
+
);
|
|
350
|
+
let populatedTableSkin = tableSkin.getJSONTable();
|
|
351
|
+
testSkin.push(populatedTableSkin);
|
|
352
|
+
}
|
|
321
353
|
}
|
|
354
|
+
} catch (error: any) {
|
|
355
|
+
logger.error(`Error occurred when building attachments ${error.message}}`);
|
|
356
|
+
logger.error(`Stack: ${error.stack}}`);
|
|
322
357
|
}
|
|
323
358
|
});
|
|
324
359
|
});
|
|
@@ -1,26 +1,18 @@
|
|
|
1
|
-
import { Run, WIProperty, StyleOptions } from
|
|
2
|
-
import JSONHtml from
|
|
3
|
-
import JSONParagraph from
|
|
4
|
-
import JSONTable from
|
|
5
|
-
import logger from
|
|
1
|
+
import { Run, WIProperty, StyleOptions } from '../wordJsonModels';
|
|
2
|
+
import JSONHtml from '../html/JSONHtml';
|
|
3
|
+
import JSONParagraph from './JSONParagraph';
|
|
4
|
+
import JSONTable from '../table/JSONTable';
|
|
5
|
+
import logger from '../../../services/logger';
|
|
6
6
|
|
|
7
7
|
export default class JSONRichTextParagraph {
|
|
8
8
|
paragraphStyles: StyleOptions;
|
|
9
9
|
paragraphTemplate: any;
|
|
10
10
|
wiId: number;
|
|
11
|
-
constructor(
|
|
12
|
-
field: WIProperty,
|
|
13
|
-
paragraphStyles: StyleOptions,
|
|
14
|
-
wiId: number,
|
|
15
|
-
headingLevel: number
|
|
16
|
-
) {
|
|
11
|
+
constructor(field: WIProperty, paragraphStyles: StyleOptions, wiId: number, headingLevel: number) {
|
|
17
12
|
this.paragraphStyles = paragraphStyles;
|
|
18
13
|
this.wiId = wiId;
|
|
19
|
-
this.paragraphTemplate = this.generateJsonRichTextParagraphs(
|
|
20
|
-
|
|
21
|
-
this.paragraphStyles
|
|
22
|
-
);
|
|
23
|
-
if (headingLevel && field.name === "Title: ") {
|
|
14
|
+
this.paragraphTemplate = this.generateJsonRichTextParagraphs(field, this.paragraphStyles);
|
|
15
|
+
if (headingLevel && field.name === 'Title: ') {
|
|
24
16
|
this.paragraphTemplate.headingLevel = headingLevel;
|
|
25
17
|
} else {
|
|
26
18
|
this.paragraphTemplate.headingLevel = 0;
|
|
@@ -40,32 +32,27 @@ export default class JSONRichTextParagraph {
|
|
|
40
32
|
try {
|
|
41
33
|
field.richText.forEach((content) => {
|
|
42
34
|
switch (content.type) {
|
|
43
|
-
case
|
|
35
|
+
case 'paragraph':
|
|
44
36
|
content.data.fields.forEach((richTextField: WIProperty) => {
|
|
45
37
|
if (/<\/?[a-z][\s\S]*>/.test(richTextField.value)) {
|
|
46
38
|
let html = new JSONHtml(richTextField.value);
|
|
47
39
|
richTextSkin.push(html.getJSONHtml());
|
|
48
40
|
} else {
|
|
49
41
|
//making sure ID is not printed
|
|
50
|
-
let paragraphSkin = new JSONParagraph(
|
|
51
|
-
richTextField,
|
|
52
|
-
paragraphStyles,
|
|
53
|
-
0,
|
|
54
|
-
0
|
|
55
|
-
);
|
|
42
|
+
let paragraphSkin = new JSONParagraph(richTextField, paragraphStyles, 0, 0);
|
|
56
43
|
richTextSkin.push(paragraphSkin.getJSONParagraph());
|
|
57
44
|
}
|
|
58
45
|
});
|
|
59
46
|
break;
|
|
60
|
-
case
|
|
47
|
+
case 'picture':
|
|
61
48
|
richTextSkin.push({
|
|
62
|
-
type:
|
|
49
|
+
type: 'picture',
|
|
63
50
|
Path: content.data,
|
|
64
51
|
});
|
|
65
52
|
break;
|
|
66
|
-
case
|
|
53
|
+
case 'table':
|
|
67
54
|
if (content.data) {
|
|
68
|
-
let tableSkin = new JSONTable(content.data, paragraphStyles, 0);
|
|
55
|
+
let tableSkin = new JSONTable(content.data, undefined, paragraphStyles, 0);
|
|
69
56
|
richTextSkin.push(tableSkin.getJSONTable());
|
|
70
57
|
}
|
|
71
58
|
break;
|
|
@@ -1,24 +1,43 @@
|
|
|
1
1
|
import logger from '../../../services/logger';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
Table,
|
|
4
|
+
TableRow,
|
|
5
|
+
WIQueryResults,
|
|
6
|
+
WIData,
|
|
7
|
+
WIProperty,
|
|
8
|
+
StyleOptions,
|
|
9
|
+
Shading,
|
|
10
|
+
} from '../wordJsonModels';
|
|
3
11
|
import JSONTableRow from './JSONTableRow';
|
|
4
12
|
export default class JSONTable {
|
|
5
13
|
tableTemplate: Table;
|
|
6
14
|
tableStyles: StyleOptions;
|
|
7
15
|
|
|
8
|
-
constructor(
|
|
16
|
+
constructor(
|
|
17
|
+
data: WIQueryResults,
|
|
18
|
+
headerRowStyle: StyleOptions,
|
|
19
|
+
tableStyles: StyleOptions,
|
|
20
|
+
headingLvl: number,
|
|
21
|
+
retrieveOriginal = false
|
|
22
|
+
) {
|
|
9
23
|
this.tableStyles = tableStyles;
|
|
10
24
|
this.tableTemplate = {
|
|
11
25
|
type: 'table',
|
|
12
26
|
headingLevel: headingLvl,
|
|
13
|
-
Rows: this.generateJsonRows(data, this.tableStyles, retrieveOriginal),
|
|
27
|
+
Rows: this.generateJsonRows(data, headerRowStyle, this.tableStyles, retrieveOriginal),
|
|
14
28
|
};
|
|
15
29
|
}
|
|
16
30
|
|
|
17
|
-
generateJsonRows(
|
|
31
|
+
generateJsonRows(
|
|
32
|
+
data: any,
|
|
33
|
+
headerRowStyle: StyleOptions,
|
|
34
|
+
tableStyles: StyleOptions,
|
|
35
|
+
retrieveOriginal: boolean
|
|
36
|
+
): TableRow[] {
|
|
18
37
|
let rows: TableRow[] = [];
|
|
19
38
|
let headersRowData: WIData = this.headersRowAdapter(data[0]);
|
|
20
39
|
|
|
21
|
-
|
|
40
|
+
const defaultHeaderRowStyle = {
|
|
22
41
|
isBold: true,
|
|
23
42
|
IsItalic: false,
|
|
24
43
|
IsUnderline: false,
|
|
@@ -28,8 +47,21 @@ export default class JSONTable {
|
|
|
28
47
|
InsertLineBreak: false,
|
|
29
48
|
InsertSpace: false,
|
|
30
49
|
};
|
|
31
|
-
let headersRow = new JSONTableRow(headersRowData, style2);
|
|
32
50
|
|
|
51
|
+
// Use the provided style or fall back to the default style
|
|
52
|
+
const finalHeaderRowStyle = headerRowStyle ?? defaultHeaderRowStyle;
|
|
53
|
+
|
|
54
|
+
// Determine if shading is needed
|
|
55
|
+
const headerShading =
|
|
56
|
+
headerRowStyle === undefined
|
|
57
|
+
? undefined
|
|
58
|
+
: {
|
|
59
|
+
color: 'auto',
|
|
60
|
+
fill: '17365D',
|
|
61
|
+
themeFillShade: 'BF',
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const headersRow = new JSONTableRow(headersRowData, finalHeaderRowStyle, undefined, headerShading);
|
|
33
65
|
rows.push(headersRow.getRow());
|
|
34
66
|
|
|
35
67
|
data.forEach((rowData: WIData) => {
|
|
@@ -44,7 +76,7 @@ export default class JSONTable {
|
|
|
44
76
|
let headerValuesWi;
|
|
45
77
|
try {
|
|
46
78
|
headerValuesWi = data.fields.map((field: WIProperty) => {
|
|
47
|
-
return { name: 'header', value: field.name };
|
|
79
|
+
return { name: 'header', value: field.name, width: field.width || '' };
|
|
48
80
|
});
|
|
49
81
|
} catch (error) {
|
|
50
82
|
logger.error(`no fields to append`);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { extname } from 'path';
|
|
2
2
|
import {
|
|
3
3
|
TableCell,
|
|
4
|
+
Shading,
|
|
4
5
|
Run,
|
|
5
6
|
Attachment,
|
|
6
7
|
WIProperty,
|
|
@@ -13,8 +14,8 @@ import logger from '../../../services/logger';
|
|
|
13
14
|
|
|
14
15
|
export default class JSONTableCell {
|
|
15
16
|
cell: TableCell;
|
|
16
|
-
constructor(data: WIProperty, tableStyles: StyleOptions, retrieveOriginal = false) {
|
|
17
|
-
this.cell = this.generateJsonCell(data, tableStyles, retrieveOriginal);
|
|
17
|
+
constructor(data: WIProperty, tableStyles: StyleOptions, retrieveOriginal = false, shading = undefined) {
|
|
18
|
+
this.cell = this.generateJsonCell(data, tableStyles, retrieveOriginal, shading);
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
private removeFileExtension(filePath) {
|
|
@@ -25,11 +26,15 @@ export default class JSONTableCell {
|
|
|
25
26
|
return filePath; // If there's no extension, return the original file path
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
generateJsonCell(
|
|
29
|
+
generateJsonCell(
|
|
30
|
+
data: WIProperty | MultipeValuesWIProperty,
|
|
31
|
+
styles,
|
|
32
|
+
retrieveOriginal,
|
|
33
|
+
shading: Shading
|
|
34
|
+
): TableCell {
|
|
29
35
|
let runs: Run[] = [];
|
|
30
36
|
let attachments: Attachment[] = [];
|
|
31
37
|
let HtmlData: string = '';
|
|
32
|
-
|
|
33
38
|
//multiple values
|
|
34
39
|
if (typeof data.value !== 'string' && typeof data.value !== 'number' && data.value) {
|
|
35
40
|
data.value.forEach((runData) => {
|
|
@@ -48,6 +53,7 @@ export default class JSONTableCell {
|
|
|
48
53
|
type: 'File',
|
|
49
54
|
path: runData.attachmentLink,
|
|
50
55
|
name: this.removeFileExtension(runData.attachmentFileName),
|
|
56
|
+
isLinkedFile: data.attachmentType === 'asLink',
|
|
51
57
|
};
|
|
52
58
|
attachments.push(attachment);
|
|
53
59
|
}
|
|
@@ -81,6 +87,8 @@ export default class JSONTableCell {
|
|
|
81
87
|
},
|
|
82
88
|
],
|
|
83
89
|
Html,
|
|
90
|
+
width: data.width || '',
|
|
91
|
+
shading: shading,
|
|
84
92
|
};
|
|
85
93
|
} else {
|
|
86
94
|
return {
|
|
@@ -90,6 +98,8 @@ export default class JSONTableCell {
|
|
|
90
98
|
Runs: runs,
|
|
91
99
|
},
|
|
92
100
|
],
|
|
101
|
+
width: data.width || '',
|
|
102
|
+
shading: shading,
|
|
93
103
|
};
|
|
94
104
|
}
|
|
95
105
|
} //generateJsonCells
|
|
@@ -1,21 +1,26 @@
|
|
|
1
|
-
import { TableRow, TableCell, WIData, WIProperty, StyleOptions } from '../wordJsonModels';
|
|
1
|
+
import { TableRow, TableCell, WIData, WIProperty, StyleOptions, Shading } from '../wordJsonModels';
|
|
2
2
|
import JSONTableCell from './JSONTableCell';
|
|
3
3
|
|
|
4
4
|
export default class JSONTableRow {
|
|
5
5
|
row: TableRow;
|
|
6
6
|
|
|
7
|
-
constructor(
|
|
8
|
-
|
|
7
|
+
constructor(
|
|
8
|
+
data: WIData,
|
|
9
|
+
tableStyles: StyleOptions,
|
|
10
|
+
retrieveOriginal = false,
|
|
11
|
+
shading: Shading = undefined
|
|
12
|
+
) {
|
|
13
|
+
this.row = this.generateJsonRow(data, tableStyles, retrieveOriginal, shading);
|
|
9
14
|
} //constructor
|
|
10
15
|
|
|
11
|
-
generateJsonRow(data: WIData, styles: StyleOptions, retrieveOriginal: boolean): TableRow {
|
|
16
|
+
generateJsonRow(data: WIData, styles: StyleOptions, retrieveOriginal: boolean, shading: Shading): TableRow {
|
|
12
17
|
let tableCells: TableCell[] = [];
|
|
13
18
|
|
|
14
19
|
data.fields.forEach((wiProperty: WIProperty) => {
|
|
15
20
|
if (wiProperty.name === 'id') {
|
|
16
21
|
styles.Uri = data.url;
|
|
17
22
|
}
|
|
18
|
-
let jsonTableCell = new JSONTableCell(wiProperty, styles, retrieveOriginal);
|
|
23
|
+
let jsonTableCell = new JSONTableCell(wiProperty, styles, retrieveOriginal, shading);
|
|
19
24
|
tableCells.push(JSON.parse(JSON.stringify(jsonTableCell.getJsonCell())));
|
|
20
25
|
});
|
|
21
26
|
|