@elisra-devops/docgen-skins 0.4.1 → 0.5.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.
@@ -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.5.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
  }
@@ -315,7 +338,13 @@ export default class Skins {
315
338
  );
316
339
  testSkin.push(testDescriptionTitleParagraph.getJSONParagraph());
317
340
  //create test steps table
318
- let tableSkin = new JSONTable(testcase.testCaseAttachments, styles, headingLvl, true);
341
+ let tableSkin = new JSONTable(
342
+ testcase.testCaseAttachments,
343
+ styles,
344
+ headerStyles,
345
+ headingLvl,
346
+ true
347
+ );
319
348
  let populatedTableSkin = tableSkin.getJSONTable();
320
349
  testSkin.push(populatedTableSkin);
321
350
  }
@@ -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) => {
@@ -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) => {
@@ -81,6 +86,7 @@ export default class JSONTableCell {
81
86
  },
82
87
  ],
83
88
  Html,
89
+ shading: shading,
84
90
  };
85
91
  } else {
86
92
  return {
@@ -90,6 +96,7 @@ export default class JSONTableCell {
90
96
  Runs: runs,
91
97
  },
92
98
  ],
99
+ shading: shading,
93
100
  };
94
101
  }
95
102
  } //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
 
@@ -28,10 +28,18 @@ export interface TableCell {
28
28
  Paragraphs: [
29
29
  {
30
30
  Runs: Run[];
31
- }
31
+ },
32
32
  ];
33
- Html?:JsonHtml
33
+ shading?: Shading;
34
+ Html?: JsonHtml;
34
35
  }
36
+
37
+ export interface Shading {
38
+ color: string;
39
+ fill: string;
40
+ themeFillShade: string;
41
+ }
42
+
35
43
  export interface Paragraph {
36
44
  type: string;
37
45
  headingLevel?: number;
@@ -1,23 +1,35 @@
1
- import Skins from "../index";
1
+ import Skins from '../index';
2
2
 
3
3
  let main = async () => {
4
+ let headerStyles = {
5
+ isBold: true,
6
+ IsItalic: false,
7
+ IsUnderline: false,
8
+ Size: 12,
9
+ Uri: null,
10
+ Font: 'Arial',
11
+ InsertLineBreak: false,
12
+ InsertSpace: true,
13
+ };
14
+
4
15
  let styles = {
5
16
  isBold: false,
6
17
  IsItalic: false,
7
18
  IsUnderline: false,
8
19
  Size: 12,
9
20
  Uri: null,
10
- Font: "Arial",
21
+ Font: 'Arial',
11
22
  InsertLineBreak: false,
12
23
  InsertSpace: true,
13
24
  };
14
25
 
15
- let skins = new Skins("json", "c:\test.dotx");
16
- const QueryData = require("../../samples/mock-data/queries/flat-query-data.json");
26
+ let skins = new Skins('json', 'c:\test.dotx');
27
+ const QueryData = require('../../samples/mock-data/queries/flat-query-data.json');
17
28
  await skins.addNewContentToDocumentSkin(
18
- "test",
29
+ 'test',
19
30
  skins.SKIN_TYPE_PARAGRAPH,
20
31
  QueryData,
32
+ headerStyles,
21
33
  styles,
22
34
  4
23
35
  );