@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.
@@ -20,96 +20,106 @@ const styles = {
20
20
  IsUnderline: false,
21
21
  Size: 10,
22
22
  Uri: null,
23
- Font: "New Times Roman",
23
+ Font: 'New Times Roman',
24
24
  InsertLineBreak: true,
25
25
  InsertSpace: true,
26
26
  };
27
- describe("Generate json skins from queries - tests", () => {
28
- test("generate table skin - flat query", () => __awaiter(void 0, void 0, void 0, function* () {
29
- let skins = new index_1.default("json", "c:\test.dotx");
30
- const QueryData = require("../../samples/mock-data/queries/flat-query-data.json");
31
- yield skins.addNewContentToDocumentSkin("test", skins.SKIN_TYPE_TABLE, QueryData, styles, 4);
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("../../samples/snapshots/queries/flat-query-table-snapshot.json");
43
+ const SnapShot = require('../../samples/snapshots/queries/flat-query-table-snapshot.json');
34
44
  expect(documentSkin).toMatchObject(SnapShot);
35
45
  }));
36
- test("generate table skin - tree query", () => __awaiter(void 0, void 0, void 0, function* () {
37
- let skins = new index_1.default("json", "c:\test.dotx");
38
- const QueryData = require("../../samples/mock-data/queries/tree-query-data.json");
39
- yield skins.addNewContentToDocumentSkin("test", skins.SKIN_TYPE_TABLE, QueryData, styles, 4);
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("../../samples/snapshots/queries/tree-query-table-snapshot.json");
51
+ const SnapShot = require('../../samples/snapshots/queries/tree-query-table-snapshot.json');
42
52
  expect(documentSkin).toMatchObject(SnapShot);
43
53
  }));
44
- test("generate paragraph skin - flat query", () => __awaiter(void 0, void 0, void 0, function* () {
45
- let skins = new index_1.default("json", "c:\test.dotx");
46
- const QueryData = require("../../samples/mock-data/queries/flat-query-data.json");
47
- yield skins.addNewContentToDocumentSkin("test", skins.SKIN_TYPE_PARAGRAPH, QueryData, styles, 4);
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("../../samples/snapshots/queries/flat-query-paragraph-snapshot.json");
63
+ const SnapShot = require('../../samples/snapshots/queries/flat-query-paragraph-snapshot.json');
54
64
  expect(documentSkin).toMatchObject(SnapShot);
55
65
  }));
56
- test("generate paragraph skin - tree query", () => __awaiter(void 0, void 0, void 0, function* () {
57
- let skins = new index_1.default("json", "c:\test.dotx");
58
- const QueryData = require("../../samples/mock-data/queries/tree-query-data.json");
59
- yield skins.addNewContentToDocumentSkin("test", skins.SKIN_TYPE_PARAGRAPH, QueryData, styles, 4);
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("../../samples/snapshots/queries/tree-query-paragraph-snapshot.json");
72
+ const SnapShot = require('../../samples/snapshots/queries/tree-query-paragraph-snapshot.json');
63
73
  expect(documentSkin).toMatchObject(SnapShot);
64
74
  }));
65
75
  });
66
- describe("Generate json skins from testData - tests", () => {
67
- test("generate std skin - testData", () => __awaiter(void 0, void 0, void 0, function* () {
68
- let skins = new index_1.default("json", "c:\\\\test\\\\test.dotx");
69
- const QueryData = require("../../samples/mock-data/test-data/testContentData.json");
70
- yield skins.addNewContentToDocumentSkin("system-capabilities", skins.SKIN_TYPE_TEST_PLAN, QueryData, styles, 4);
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("../../samples/snapshots/tests/flat-test-std-snapshot.json");
82
+ const SnapShot = require('../../samples/snapshots/tests/flat-test-std-snapshot.json');
73
83
  expect(documentSkin).toMatchObject(SnapShot);
74
84
  }));
75
- test("generate std skin - complex testData", () => __awaiter(void 0, void 0, void 0, function* () {
76
- let skins = new index_1.default("json", "C:\\\\docgen\\\\documents\\\\181020205911\\\\test.dotx");
77
- const QueryData = require("../../samples/mock-data/test-data/complex-test-data-with-attachments.json");
78
- yield skins.addNewContentToDocumentSkin("system-capabilities", skins.SKIN_TYPE_TEST_PLAN, QueryData, styles, 4);
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("../../samples/snapshots/tests/complex-test-std-snapshot.json");
90
+ const SnapShot = require('../../samples/snapshots/tests/complex-test-std-snapshot.json');
81
91
  expect(documentSkin).toMatchObject(SnapShot);
82
92
  }));
83
- test("generate trace table skin", () => __awaiter(void 0, void 0, void 0, function* () {
84
- let skins = new index_1.default("json", "c:\\test\\test.dotx");
85
- const QueryData = require("../../samples/mock-data/test-data/test-trace-table-data.json");
86
- yield skins.addNewContentToDocumentSkin("system-capabilities", skins.SKIN_TYPE_TABLE, QueryData, styles, 4);
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("../../samples/snapshots/tests/test-trace-table-snapshot.json");
98
+ const SnapShot = require('../../samples/snapshots/tests/test-trace-table-snapshot.json');
89
99
  expect(documentSkin).toMatchObject(SnapShot);
90
100
  }));
91
101
  });
92
- describe("Generate json skins svd - tests", () => {
93
- test("generate changes between releases skin", () => __awaiter(void 0, void 0, void 0, function* () {
94
- let skins = new index_1.default("json", "c:\\test\\test.dotx");
95
- const adoptedChangesData = require("../../samples/mock-data/changes/adoptedChanges.json");
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("change-description-content-control", skins.SKIN_TYPE_PARAGRAPH, artifactChangesData.artifact, styles, 4);
99
- yield skins.addNewContentToDocumentSkin("change-description-content-control", skins.SKIN_TYPE_TABLE, artifactChangesData.artifactChanges, styles, 4);
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("../../samples/snapshots/changes/changes-table-release-snapshot.json");
112
+ const SnapShot = require('../../samples/snapshots/changes/changes-table-release-snapshot.json');
103
113
  expect(documentSkin).toMatchObject(SnapShot);
104
114
  }));
105
115
  });
106
- describe("Common functions - tests", () => {
107
- test("generate richText skin", () => __awaiter(void 0, void 0, void 0, function* () {
108
- let skins = new index_1.default("json", "c:\\\\test\\\\test.dotx");
109
- const QueryData = require("../../samples/mock-data/test-data/testContentDataWithRichText.json");
110
- yield skins.addNewContentToDocumentSkin("system-capabilities", skins.SKIN_TYPE_TEST_PLAN, QueryData, styles, 4);
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("../../samples/snapshots/common/rich-text-test-std.json");
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elisra-devops/docgen-skins",
3
- "version": "0.4.1",
3
+ "version": "0.6.0",
4
4
  "description": "Can be outputed in various types:",
5
5
  "main": "./bin/index.js",
6
6
  "types": "./bin/index.d.ts",
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(data, styles, headingLvl, includeAttachments);
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(data: WIQueryResults, styles: StyleOptions, headingLvl: number = 0) {
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
- ? headingLvl
193
- : 1
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
- ? headingLvl
221
- : 1
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(testcase.testCaseRequirements, styles, headingLvl);
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(testcase.testCaseStepsSkinData, TableContentStyles, headingLvl);
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
- if (testcase.testCaseAttachments) {
309
- if (testcase.testCaseAttachments.length > 0 && includeAttachments == true) {
310
- let testDescriptionTitleParagraph = new JSONParagraph(
311
- { name: 'Title', value: 'Test Case Attachments:' },
312
- styles,
313
- testcase.id || 0,
314
- 0
315
- );
316
- testSkin.push(testDescriptionTitleParagraph.getJSONParagraph());
317
- //create test steps table
318
- let tableSkin = new JSONTable(testcase.testCaseAttachments, styles, headingLvl, true);
319
- let populatedTableSkin = tableSkin.getJSONTable();
320
- testSkin.push(populatedTableSkin);
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 "../wordJsonModels";
2
- import JSONHtml from "../html/JSONHtml";
3
- import JSONParagraph from "./JSONParagraph";
4
- import JSONTable from "../table/JSONTable";
5
- import logger from "../../../services/logger";
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
- field,
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 "paragraph":
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 "picture":
47
+ case 'picture':
61
48
  richTextSkin.push({
62
- type: "picture",
49
+ type: 'picture',
63
50
  Path: content.data,
64
51
  });
65
52
  break;
66
- case "table":
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 { Table, TableRow, WIQueryResults, WIData, WIProperty, StyleOptions } from '../wordJsonModels';
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(data: WIQueryResults, tableStyles: StyleOptions, headingLvl: number, retrieveOriginal = false) {
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(data: any, tableStyles: StyleOptions, retrieveOriginal: boolean): TableRow[] {
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
- let style2 = {
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(data: WIProperty | MultipeValuesWIProperty, styles, retrieveOriginal): TableCell {
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(data: WIData, tableStyles: StyleOptions, retrieveOriginal = false) {
8
- this.row = this.generateJsonRow(data, tableStyles, retrieveOriginal);
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