@elisra-devops/docgen-skins 0.6.0 → 0.8.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 CHANGED
@@ -1,15 +1,17 @@
1
1
  import { DocumentSkin, WIQueryResults, StyleOptions } from './models/json/wordJsonModels';
2
2
  export default class Skins {
3
3
  SKIN_TYPE_TABLE: string;
4
+ SKIN_TYPE_TABLE_STR: string;
4
5
  SKIN_TYPE_PARAGRAPH: string;
5
6
  SKIN_TYPE_TEST_PLAN: string;
6
7
  documentSkin: DocumentSkin;
7
8
  skinFormat: string;
8
9
  constructor(skinFormat: string, templatePath: string);
9
- addNewContentToDocumentSkin(contetnControlTitle: string, skinType: string, data: any, headerStyles: StyleOptions, styles: StyleOptions, headingLvl?: number, includeAttachments?: boolean): Promise<any>;
10
+ addNewContentToDocumentSkin(contentControlTitle: string, skinType: string, data: any, headerStyles: StyleOptions, styles: StyleOptions, headingLvl?: number, includeAttachments?: boolean, insertPageBreak?: boolean, isFlattened?: boolean): Promise<any>;
10
11
  validateAndAppendContentControl(contetnControlTitle: string, populatedSkin: any): Promise<boolean>;
11
12
  generateQueryBasedTable(data: WIQueryResults, headerStyles: StyleOptions, styles: StyleOptions, headingLvl?: number): false | import("./models/json/wordJsonModels").Table[];
13
+ generateStrSkin(data: any, headerStyles: StyleOptions, styles: StyleOptions, headingLvl: number, insertPageBreak: boolean, contentControlTitle: string): false | any[];
12
14
  generateQueryBasedParagraphs(data: any, styles: StyleOptions, headingLvl?: number): false | any[];
13
- generateTestBasedSkin(data: any, headerStyles: StyleOptions, styles: StyleOptions, headingLvl?: number, includeAttachments?: boolean): false | any[];
15
+ generateTestBasedSkin(data: any, headerStyles: StyleOptions, styles: StyleOptions, headingLvl?: number, includeAttachments?: boolean, isFlattened?: boolean): false | any[];
14
16
  getDocumentSkin(): DocumentSkin;
15
17
  }
package/bin/index.js CHANGED
@@ -18,9 +18,11 @@ const JSONParagraph_1 = __importDefault(require("./models/json/paragraph/JSONPar
18
18
  const JSONTestSuiteHeaderParagraph_1 = __importDefault(require("./models/json/paragraph/JSONTestSuiteHeaderParagraph"));
19
19
  const JSONRichTextParagraph_1 = __importDefault(require("./models/json/paragraph/JSONRichTextParagraph"));
20
20
  const default_1 = require("./models/json/default");
21
+ const JSONFile_1 = __importDefault(require("./models/json/file/JSONFile"));
21
22
  class Skins {
22
23
  constructor(skinFormat = 'json', templatePath) {
23
24
  this.SKIN_TYPE_TABLE = 'table';
25
+ this.SKIN_TYPE_TABLE_STR = 'str-table';
24
26
  this.SKIN_TYPE_PARAGRAPH = 'paragraph';
25
27
  this.SKIN_TYPE_TEST_PLAN = 'test-plan';
26
28
  this.documentSkin = {
@@ -31,7 +33,7 @@ class Skins {
31
33
  this.documentSkin.templatePath = templatePath;
32
34
  this.skinFormat = skinFormat;
33
35
  }
34
- addNewContentToDocumentSkin(contetnControlTitle, skinType, data, headerStyles, styles, headingLvl = 0, includeAttachments = true) {
36
+ addNewContentToDocumentSkin(contentControlTitle, skinType, data, headerStyles, styles, headingLvl = 0, includeAttachments = true, insertPageBreak, isFlattened = false) {
35
37
  return __awaiter(this, void 0, void 0, function* () {
36
38
  try {
37
39
  let populatedSkin;
@@ -39,21 +41,29 @@ class Skins {
39
41
  case this.SKIN_TYPE_TABLE:
40
42
  populatedSkin = this.generateQueryBasedTable(data, headerStyles, styles, headingLvl);
41
43
  if (populatedSkin === false) {
42
- logger_1.default.error(`Could not generate table for content control :${contetnControlTitle}`);
44
+ logger_1.default.error(`Could not generate table for content control :${contentControlTitle}`);
45
+ return false;
46
+ }
47
+ break;
48
+ case this.SKIN_TYPE_TABLE_STR:
49
+ const insertPageBreakEnabled = insertPageBreak !== null && insertPageBreak !== void 0 ? insertPageBreak : false;
50
+ populatedSkin = this.generateStrSkin(data, headerStyles, styles, headingLvl, insertPageBreakEnabled, contentControlTitle);
51
+ if (populatedSkin === false) {
52
+ logger_1.default.error(`Could not generate STR table for content control :${contentControlTitle}`);
43
53
  return false;
44
54
  }
45
55
  break;
46
56
  case this.SKIN_TYPE_PARAGRAPH:
47
57
  populatedSkin = this.generateQueryBasedParagraphs(data, styles, headingLvl);
48
58
  if (populatedSkin === false) {
49
- logger_1.default.error(`Could not generate paragraph for content control :${contetnControlTitle}`);
59
+ logger_1.default.error(`Could not generate paragraph for content control :${contentControlTitle}`);
50
60
  return false;
51
61
  }
52
62
  break;
53
63
  case this.SKIN_TYPE_TEST_PLAN:
54
- populatedSkin = this.generateTestBasedSkin(data, headerStyles, styles, headingLvl, includeAttachments);
64
+ populatedSkin = this.generateTestBasedSkin(data, headerStyles, styles, headingLvl, includeAttachments, isFlattened);
55
65
  if (populatedSkin === false) {
56
- logger_1.default.error(`Could not generate test skin for content control :${contetnControlTitle}`);
66
+ logger_1.default.error(`Could not generate test skin for content control :${contentControlTitle}`);
57
67
  return false;
58
68
  }
59
69
  break;
@@ -68,7 +78,9 @@ class Skins {
68
78
  // );
69
79
  }
70
80
  catch (error) {
71
- logger_1.default.error(`Fatal error happened when generate skin for : ${contetnControlTitle}`);
81
+ logger_1.default.error(`Fatal error happened when generate skin for : ${contentControlTitle}`);
82
+ logger_1.default.error(`Error Message: ${error.message}`);
83
+ logger_1.default.error(`Error Stack: ${error.stack}`);
72
84
  return false;
73
85
  }
74
86
  });
@@ -115,16 +127,84 @@ class Skins {
115
127
  //returns false if supplied an invalid type or error occurd during parsing
116
128
  generateQueryBasedTable(data, headerStyles, styles, headingLvl = 0) {
117
129
  logger_1.default.debug(`Generating table as ${this.skinFormat}`);
118
- switch (this.skinFormat) {
119
- case 'json':
120
- let tableSkin = new JSONTable_1.default(data, headerStyles, styles, headingLvl);
121
- return [tableSkin.getJSONTable()];
122
- case 'html':
123
- logger_1.default.info(`Generating html table!`);
124
- break;
125
- default:
126
- return false;
127
- } //switch
130
+ try {
131
+ switch (this.skinFormat) {
132
+ case 'json':
133
+ let tableSkin = new JSONTable_1.default(data, headerStyles, styles, headingLvl);
134
+ return [tableSkin.getJSONTable()];
135
+ case 'html':
136
+ logger_1.default.info(`Generating html table!`);
137
+ break;
138
+ default:
139
+ return false;
140
+ } //switch
141
+ }
142
+ catch (error) {
143
+ logger_1.default.error(`Error occurred in generateQueryBasedTable: ${error.message}`);
144
+ logger_1.default.error(`Error Stack: ${error.stack}`);
145
+ return false;
146
+ }
147
+ } //generateTable
148
+ generateStrSkin(data, headerStyles, styles, headingLvl = 0, insertPageBreak, contentControlTitle) {
149
+ logger_1.default.debug(`Generating table as ${this.skinFormat}`);
150
+ try {
151
+ switch (this.skinFormat) {
152
+ case 'json':
153
+ if (contentControlTitle !== 'appendix-a-content-control' &&
154
+ contentControlTitle !== 'appendix-b-content-control') {
155
+ if (data.length > 0) {
156
+ let tableSkin = new JSONTable_1.default(data, headerStyles, styles, headingLvl, undefined, insertPageBreak);
157
+ return [tableSkin.getJSONTable()];
158
+ }
159
+ else {
160
+ let emptyData = { name: 'Description', value: 'No relevant data' };
161
+ let paragraphSkin = new JSONParagraph_1.default(emptyData, styles, 0, headingLvl);
162
+ return [paragraphSkin.getJSONParagraph()];
163
+ }
164
+ }
165
+ else {
166
+ const strSkins = [];
167
+ data.flat().forEach((skin) => {
168
+ if (skin.type !== undefined && skin.type.includes('Header')) {
169
+ // Title element, create a header paragraph
170
+ const titleSkin = new JSONTestSuiteHeaderParagraph_1.default([skin.field], {
171
+ isBold: true,
172
+ IsItalic: false,
173
+ IsUnderline: true,
174
+ Size: skin.type.includes('SubHeader') ? 12 : 14,
175
+ Uri: null,
176
+ Font: 'Arial',
177
+ InsertLineBreak: false,
178
+ InsertSpace: true,
179
+ }, 0, skin.level ? headingLvl + skin.level : headingLvl ? headingLvl : 1 // Assuming headingLvl is defined elsewhere
180
+ );
181
+ strSkins.push(titleSkin.getJSONParagraph());
182
+ }
183
+ else if (skin.type === 'File') {
184
+ const fileSkin = new JSONFile_1.default(skin);
185
+ strSkins.push(fileSkin.getFileAttachment);
186
+ }
187
+ else {
188
+ // Regular paragraph element
189
+ const paragraph = new JSONParagraph_1.default(skin.field, styles, // Assuming it's defined elsewhere
190
+ 0, 0);
191
+ strSkins.push(paragraph.getJSONParagraph());
192
+ }
193
+ });
194
+ return strSkins;
195
+ }
196
+ case 'html':
197
+ logger_1.default.info(`Generating html table!`);
198
+ break;
199
+ default:
200
+ return false;
201
+ } //switch
202
+ }
203
+ catch (error) {
204
+ logger_1.default.error(`Error occurred in generateStrBasedTable: ${error.message}`);
205
+ logger_1.default.error(`Error Stack: ${error.stack}`);
206
+ return false;
207
+ }
128
208
  } //generateTable
129
209
  generateQueryBasedParagraphs(data, styles, headingLvl = 0) {
130
210
  logger_1.default.debug(`Generating paragraph as ${this.skinFormat}`);
@@ -154,7 +234,7 @@ class Skins {
154
234
  return false;
155
235
  } //switch
156
236
  } //generateParagraph
157
- generateTestBasedSkin(data, headerStyles, styles, headingLvl = 0, includeAttachments = true) {
237
+ generateTestBasedSkin(data, headerStyles, styles, headingLvl = 0, includeAttachments = true, isFlattened = false) {
158
238
  logger_1.default.debug(`Generating testSkin as ${this.skinFormat}`);
159
239
  switch (this.skinFormat) {
160
240
  case 'json':
@@ -227,19 +307,9 @@ class Skins {
227
307
  try {
228
308
  if (testcase.testCaseStepsSkinData.length > 0) {
229
309
  let testProcedureTitleParagraph = new JSONParagraph_1.default({ name: 'Title', value: 'Test Procedure:' }, default_1.DescriptionandProcedureStyle, testcase.id || 0, 0);
230
- let TableContentStyles = {
231
- isBold: false,
232
- IsItalic: false,
233
- IsUnderline: false,
234
- Size: 12,
235
- Uri: null,
236
- Font: 'Arial',
237
- InsertLineBreak: false,
238
- InsertSpace: true,
239
- };
240
310
  testSkin.push(testProcedureTitleParagraph.getJSONParagraph());
241
311
  //create test steps table
242
- let tableSkin = new JSONTable_1.default(testcase.testCaseStepsSkinData, headerStyles, TableContentStyles, headingLvl);
312
+ let tableSkin = new JSONTable_1.default(testcase.testCaseStepsSkinData, headerStyles, styles, headingLvl, undefined, undefined, isFlattened);
243
313
  let populatedTableSkin = tableSkin.getJSONTable();
244
314
  testSkin.push(populatedTableSkin);
245
315
  }
package/bin/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Attachment } from '../wordJsonModels';
2
+ export default class JSONFile {
3
+ private _fileAttachment;
4
+ constructor(fileAttachmentData: any);
5
+ get getFileAttachment(): Attachment;
6
+ private generateFileAttachment;
7
+ private removeFileExtension;
8
+ private isPictureUri;
9
+ }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const path_1 = require("path");
7
+ const logger_1 = __importDefault(require("../../../services/logger"));
8
+ class JSONFile {
9
+ constructor(fileAttachmentData) {
10
+ this._fileAttachment = this.generateFileAttachment(fileAttachmentData);
11
+ }
12
+ get getFileAttachment() {
13
+ return this._fileAttachment;
14
+ }
15
+ generateFileAttachment(fileAttachmentData) {
16
+ if (this.isPictureUri(fileAttachmentData.attachmentLink)) {
17
+ return {
18
+ type: 'Picture',
19
+ path: fileAttachmentData.attachmentLink,
20
+ name: this.removeFileExtension(fileAttachmentData.attachmentFileName),
21
+ };
22
+ }
23
+ else {
24
+ return {
25
+ type: 'File',
26
+ path: fileAttachmentData.attachmentLink,
27
+ name: this.removeFileExtension(fileAttachmentData.attachmentFileName),
28
+ isLinkedFile: fileAttachmentData.attachmentType === 'asLink',
29
+ };
30
+ }
31
+ }
32
+ removeFileExtension(filePath) {
33
+ const lastDotIndex = filePath.lastIndexOf('.');
34
+ if (lastDotIndex > 0) {
35
+ return filePath.slice(0, lastDotIndex);
36
+ }
37
+ return filePath; // If there's no extension, return the original file path
38
+ }
39
+ isPictureUri(uri) {
40
+ try {
41
+ let fileExt = (0, path_1.extname)(uri);
42
+ logger_1.default.debug(`attachment extension: ${fileExt}`);
43
+ if (fileExt.toUpperCase() == '.PNG' ||
44
+ fileExt.toUpperCase() == '.JPG' ||
45
+ fileExt.toUpperCase() == '.JPEG' ||
46
+ fileExt.toUpperCase() == '.GIF') {
47
+ return true;
48
+ }
49
+ else {
50
+ return false;
51
+ }
52
+ }
53
+ catch (e) {
54
+ logger_1.default.error(`error parsing file extension for : ${uri}`);
55
+ return false;
56
+ }
57
+ }
58
+ }
59
+ exports.default = JSONFile;
60
+ //# sourceMappingURL=JSONFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSONFile.js","sourceRoot":"","sources":["../../../../src/models/json/file/JSONFile.ts"],"names":[],"mappings":";;;;;AAAA,+BAA+B;AAE/B,sEAA8C;AAE9C,MAAqB,QAAQ;IAG3B,YAAY,kBAAuB;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;IACzE,CAAC;IAED,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEO,sBAAsB,CAAC,kBAAuB;QACpD,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE;YACxD,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,kBAAkB,CAAC,cAAc;gBACvC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;aACtE,CAAC;SACH;aAAM;YACL,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,kBAAkB,CAAC,cAAc;gBACvC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;gBACrE,YAAY,EAAE,kBAAkB,CAAC,cAAc,KAAK,QAAQ;aAC7D,CAAC;SACH;IACH,CAAC;IAEO,mBAAmB,CAAC,QAAQ;QAClC,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,YAAY,GAAG,CAAC,EAAE;YACpB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;SACxC;QACD,OAAO,QAAQ,CAAC,CAAC,yDAAyD;IAC5E,CAAC;IAEO,YAAY,CAAC,GAAW;QAC9B,IAAI;YACF,IAAI,OAAO,GAAG,IAAA,cAAO,EAAC,GAAG,CAAC,CAAC;YAC3B,gBAAM,CAAC,KAAK,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAC;YACjD,IACE,OAAO,CAAC,WAAW,EAAE,IAAI,MAAM;gBAC/B,OAAO,CAAC,WAAW,EAAE,IAAI,MAAM;gBAC/B,OAAO,CAAC,WAAW,EAAE,IAAI,OAAO;gBAChC,OAAO,CAAC,WAAW,EAAE,IAAI,MAAM,EAC/B;gBACA,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,OAAO,KAAK,CAAC;aACd;SACF;QAAC,OAAO,CAAC,EAAE;YACV,gBAAM,CAAC,KAAK,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC;SACd;IACH,CAAC;CACF;AAvDD,2BAuDC"}
@@ -1,6 +1,8 @@
1
- import { JsonHtml } from "../wordJsonModels";
1
+ import { JsonHtml } from '../wordJsonModels';
2
2
  export default class JSONHtml {
3
3
  htmlString: string;
4
- constructor(htmlString: string);
4
+ font: string;
5
+ fontSize: number;
6
+ constructor(htmlString: string, font?: string, fontSize?: number);
5
7
  getJSONHtml(): JsonHtml;
6
8
  }
@@ -1,12 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  class JSONHtml {
4
- constructor(htmlString) {
5
- this.htmlString = "";
4
+ constructor(htmlString, font = 'Arial', fontSize = 12) {
5
+ this.htmlString = '';
6
+ this.font = '';
7
+ this.fontSize = 0;
6
8
  this.htmlString = htmlString;
9
+ this.font = font;
10
+ this.fontSize = fontSize;
7
11
  } //constructor
8
12
  getJSONHtml() {
9
- return { type: "html", Html: this.htmlString };
13
+ return { type: 'html', Html: this.htmlString, font: this.font, fontSize: this.fontSize };
10
14
  } //getJSONTable
11
15
  } //class
12
16
  exports.default = JSONHtml;
@@ -1 +1 @@
1
- {"version":3,"file":"JSONHtml.js","sourceRoot":"","sources":["../../../../src/models/json/html/JSONHtml.ts"],"names":[],"mappings":";;AAGA,MAAqB,QAAQ;IAE3B,YAAY,UAAkB;QAD9B,eAAU,GAAW,EAAE,CAAC;QAEtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC,CAAC,aAAa;IAEf,WAAW;QACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;IACjD,CAAC,CAAC,cAAc;CACjB,CAAC,OAAO;AATT,2BASC"}
1
+ {"version":3,"file":"JSONHtml.js","sourceRoot":"","sources":["../../../../src/models/json/html/JSONHtml.ts"],"names":[],"mappings":";;AAGA,MAAqB,QAAQ;IAI3B,YAAY,UAAkB,EAAE,IAAI,GAAG,OAAO,EAAE,QAAQ,GAAG,EAAE;QAH7D,eAAU,GAAW,EAAE,CAAC;QACxB,SAAI,GAAW,EAAE,CAAC;QAClB,aAAQ,GAAW,CAAC,CAAC;QAEnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC,CAAC,aAAa;IAEf,WAAW;QACT,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3F,CAAC,CAAC,cAAc;CACjB,CAAC,OAAO;AAbT,2BAaC"}
@@ -2,8 +2,8 @@ import { Table, TableRow, WIQueryResults, WIData, StyleOptions } from '../wordJs
2
2
  export default class JSONTable {
3
3
  tableTemplate: Table;
4
4
  tableStyles: StyleOptions;
5
- constructor(data: WIQueryResults, headerRowStyle: StyleOptions, tableStyles: StyleOptions, headingLvl: number, retrieveOriginal?: boolean);
6
- generateJsonRows(data: any, headerRowStyle: StyleOptions, tableStyles: StyleOptions, retrieveOriginal: boolean): TableRow[];
5
+ constructor(data: WIQueryResults, headerRowStyle: StyleOptions, tableStyles: StyleOptions, headingLvl: number, retrieveOriginal?: boolean, insertPageBreak?: boolean, isFlattened?: boolean);
6
+ generateJsonRows(data: any, headerRowStyle: StyleOptions, tableStyles: StyleOptions, retrieveOriginal: boolean, isFlattened: boolean): TableRow[];
7
7
  headersRowAdapter(data: WIData): WIData;
8
8
  getJSONTable(): Table;
9
9
  }
@@ -6,15 +6,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const logger_1 = __importDefault(require("../../../services/logger"));
7
7
  const JSONTableRow_1 = __importDefault(require("./JSONTableRow"));
8
8
  class JSONTable {
9
- constructor(data, headerRowStyle, tableStyles, headingLvl, retrieveOriginal = false) {
9
+ constructor(data, headerRowStyle, tableStyles, headingLvl, retrieveOriginal = false, insertPageBreak = false, isFlattened = false) {
10
10
  this.tableStyles = tableStyles;
11
11
  this.tableTemplate = {
12
12
  type: 'table',
13
13
  headingLevel: headingLvl,
14
- Rows: this.generateJsonRows(data, headerRowStyle, this.tableStyles, retrieveOriginal),
14
+ Rows: this.generateJsonRows(data, headerRowStyle, this.tableStyles, retrieveOriginal, isFlattened),
15
+ insertPageBreak: insertPageBreak,
15
16
  };
16
17
  }
17
- generateJsonRows(data, headerRowStyle, tableStyles, retrieveOriginal) {
18
+ generateJsonRows(data, headerRowStyle, tableStyles, retrieveOriginal, isFlattened) {
18
19
  let rows = [];
19
20
  let headersRowData = this.headersRowAdapter(data[0]);
20
21
  const defaultHeaderRowStyle = {
@@ -40,7 +41,7 @@ class JSONTable {
40
41
  const headersRow = new JSONTableRow_1.default(headersRowData, finalHeaderRowStyle, undefined, headerShading);
41
42
  rows.push(headersRow.getRow());
42
43
  data.forEach((rowData) => {
43
- let row = new JSONTableRow_1.default(rowData, tableStyles, retrieveOriginal);
44
+ let row = new JSONTableRow_1.default(rowData, tableStyles, retrieveOriginal, undefined, isFlattened);
44
45
  rows.push(row.getRow());
45
46
  });
46
47
  return rows;
@@ -1 +1 @@
1
- {"version":3,"file":"JSONTable.js","sourceRoot":"","sources":["../../../../src/models/json/table/JSONTable.ts"],"names":[],"mappings":";;;;;AAAA,sEAA8C;AAU9C,kEAA0C;AAC1C,MAAqB,SAAS;IAI5B,YACE,IAAoB,EACpB,cAA4B,EAC5B,WAAyB,EACzB,UAAkB,EAClB,gBAAgB,GAAG,KAAK;QAExB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG;YACnB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC;SACtF,CAAC;IACJ,CAAC;IAED,gBAAgB,CACd,IAAS,EACT,cAA4B,EAC5B,WAAyB,EACzB,gBAAyB;QAEzB,IAAI,IAAI,GAAe,EAAE,CAAC;QAC1B,IAAI,cAAc,GAAW,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7D,MAAM,qBAAqB,GAAG;YAC5B,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,OAAO;YACb,eAAe,EAAE,KAAK;YACtB,WAAW,EAAE,KAAK;SACnB,CAAC;QAEF,2DAA2D;QAC3D,MAAM,mBAAmB,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,qBAAqB,CAAC;QAEpE,iCAAiC;QACjC,MAAM,aAAa,GACjB,cAAc,KAAK,SAAS;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,QAAQ;gBACd,cAAc,EAAE,IAAI;aACrB,CAAC;QAER,MAAM,UAAU,GAAG,IAAI,sBAAY,CAAC,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACnG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAE/B,IAAI,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,EAAE;YAC/B,IAAI,GAAG,GAAG,IAAI,sBAAY,CAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,kBAAkB;IAEpB,iBAAiB,CAAC,IAAY;QAC5B,IAAI,cAAc,CAAC;QACnB,IAAI;YACF,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAiB,EAAE,EAAE;gBACrD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACzE,CAAC,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,gBAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACrC;QACD,OAAO;YACL,GAAG,EAAE,EAAE;YACP,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC,CAAC,mBAAmB;IAErB,YAAY;QACV,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC,CAAC,cAAc;CACjB,CAAC,OAAO;AAnFT,4BAmFC"}
1
+ {"version":3,"file":"JSONTable.js","sourceRoot":"","sources":["../../../../src/models/json/table/JSONTable.ts"],"names":[],"mappings":";;;;;AAAA,sEAA8C;AAU9C,kEAA0C;AAC1C,MAAqB,SAAS;IAI5B,YACE,IAAoB,EACpB,cAA4B,EAC5B,WAAyB,EACzB,UAAkB,EAClB,gBAAgB,GAAG,KAAK,EACxB,kBAA2B,KAAK,EAChC,WAAW,GAAG,KAAK;QAEnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG;YACnB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,WAAW,EAAE,gBAAgB,EAAE,WAAW,CAAC;YAClG,eAAe,EAAE,eAAe;SACjC,CAAC;IACJ,CAAC;IAED,gBAAgB,CACd,IAAS,EACT,cAA4B,EAC5B,WAAyB,EACzB,gBAAyB,EACzB,WAAoB;QAEpB,IAAI,IAAI,GAAe,EAAE,CAAC;QAC1B,IAAI,cAAc,GAAW,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7D,MAAM,qBAAqB,GAAG;YAC5B,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,EAAE;YACR,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,OAAO;YACb,eAAe,EAAE,KAAK;YACtB,WAAW,EAAE,KAAK;SACnB,CAAC;QAEF,2DAA2D;QAC3D,MAAM,mBAAmB,GAAG,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,qBAAqB,CAAC;QAEpE,iCAAiC;QACjC,MAAM,aAAa,GACjB,cAAc,KAAK,SAAS;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,QAAQ;gBACd,cAAc,EAAE,IAAI;aACrB,CAAC;QAER,MAAM,UAAU,GAAG,IAAI,sBAAY,CAAC,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QACnG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAE/B,IAAI,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,EAAE;YAC/B,IAAI,GAAG,GAAG,IAAI,sBAAY,CAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YAC3F,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,kBAAkB;IAEpB,iBAAiB,CAAC,IAAY;QAC5B,IAAI,cAAc,CAAC;QACnB,IAAI;YACF,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAiB,EAAE,EAAE;gBACrD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACzE,CAAC,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,gBAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACrC;QACD,OAAO;YACL,GAAG,EAAE,EAAE;YACP,MAAM,EAAE,cAAc;YACtB,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC,CAAC,mBAAmB;IAErB,YAAY;QACV,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC,CAAC,cAAc;CACjB,CAAC,OAAO;AAvFT,4BAuFC"}
@@ -1,9 +1,9 @@
1
1
  import { TableCell, Shading, WIProperty, MultipeValuesWIProperty, StyleOptions } from '../wordJsonModels';
2
2
  export default class JSONTableCell {
3
3
  cell: TableCell;
4
- constructor(data: WIProperty, tableStyles: StyleOptions, retrieveOriginal?: boolean, shading?: any);
4
+ constructor(data: WIProperty, tableStyles: StyleOptions, retrieveOriginal?: boolean, shading?: any, isFlattened?: boolean);
5
5
  private removeFileExtension;
6
- generateJsonCell(data: WIProperty | MultipeValuesWIProperty, styles: any, retrieveOriginal: any, shading: Shading): TableCell;
6
+ generateJsonCell(data: WIProperty | MultipeValuesWIProperty, styles: any, retrieveOriginal: any, shading: Shading, isFlattened: any): TableCell;
7
7
  isPictureUri(uri: string): boolean;
8
8
  getJsonCell(): TableCell;
9
9
  }
@@ -7,8 +7,8 @@ const path_1 = require("path");
7
7
  const JSONRun_1 = __importDefault(require("../JSONRun"));
8
8
  const logger_1 = __importDefault(require("../../../services/logger"));
9
9
  class JSONTableCell {
10
- constructor(data, tableStyles, retrieveOriginal = false, shading = undefined) {
11
- this.cell = this.generateJsonCell(data, tableStyles, retrieveOriginal, shading);
10
+ constructor(data, tableStyles, retrieveOriginal = false, shading = undefined, isFlattened = false) {
11
+ this.cell = this.generateJsonCell(data, tableStyles, retrieveOriginal, shading, isFlattened);
12
12
  }
13
13
  removeFileExtension(filePath) {
14
14
  const lastDotIndex = filePath.lastIndexOf('.');
@@ -17,7 +17,7 @@ class JSONTableCell {
17
17
  }
18
18
  return filePath; // If there's no extension, return the original file path
19
19
  }
20
- generateJsonCell(data, styles, retrieveOriginal, shading) {
20
+ generateJsonCell(data, styles, retrieveOriginal, shading, isFlattened) {
21
21
  let runs = [];
22
22
  let attachments = [];
23
23
  let HtmlData = '';
@@ -32,6 +32,7 @@ class JSONTableCell {
32
32
  type: 'Picture',
33
33
  path: attachmentLink,
34
34
  name: this.removeFileExtension(runData.attachmentFileName),
35
+ isFlattened,
35
36
  };
36
37
  attachments.push(attachment);
37
38
  }
@@ -41,6 +42,7 @@ class JSONTableCell {
41
42
  path: runData.attachmentLink,
42
43
  name: this.removeFileExtension(runData.attachmentFileName),
43
44
  isLinkedFile: data.attachmentType === 'asLink',
45
+ isFlattened,
44
46
  };
45
47
  attachments.push(attachment);
46
48
  }
@@ -69,6 +71,8 @@ class JSONTableCell {
69
71
  let Html = {
70
72
  type: 'html',
71
73
  Html: HtmlData,
74
+ font: 'Arial',
75
+ fontSize: 10,
72
76
  };
73
77
  return {
74
78
  attachments: attachments,
@@ -1 +1 @@
1
- {"version":3,"file":"JSONTableCell.js","sourceRoot":"","sources":["../../../../src/models/json/table/JSONTableCell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JSONTableCell.js","sourceRoot":"","sources":["../../../../src/models/json/table/JSONTableCell.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { TableRow, WIData, StyleOptions, Shading } from '../wordJsonModels';
2
2
  export default class JSONTableRow {
3
3
  row: TableRow;
4
- constructor(data: WIData, tableStyles: StyleOptions, retrieveOriginal?: boolean, shading?: Shading);
5
- generateJsonRow(data: WIData, styles: StyleOptions, retrieveOriginal: boolean, shading: Shading): TableRow;
4
+ constructor(data: WIData, tableStyles: StyleOptions, retrieveOriginal?: boolean, shading?: Shading, isFlattened?: boolean);
5
+ generateJsonRow(data: WIData, styles: StyleOptions, retrieveOriginal: boolean, shading: Shading, isFlattened: any): TableRow;
6
6
  getRow(): TableRow;
7
7
  }
@@ -5,16 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const JSONTableCell_1 = __importDefault(require("./JSONTableCell"));
7
7
  class JSONTableRow {
8
- constructor(data, tableStyles, retrieveOriginal = false, shading = undefined) {
9
- this.row = this.generateJsonRow(data, tableStyles, retrieveOriginal, shading);
8
+ constructor(data, tableStyles, retrieveOriginal = false, shading = undefined, isFlattened = false) {
9
+ this.row = this.generateJsonRow(data, tableStyles, retrieveOriginal, shading, isFlattened);
10
10
  } //constructor
11
- generateJsonRow(data, styles, retrieveOriginal, shading) {
11
+ generateJsonRow(data, styles, retrieveOriginal, shading, isFlattened) {
12
12
  let tableCells = [];
13
13
  data.fields.forEach((wiProperty) => {
14
14
  if (wiProperty.name === 'id') {
15
15
  styles.Uri = data.url;
16
16
  }
17
- let jsonTableCell = new JSONTableCell_1.default(wiProperty, styles, retrieveOriginal, shading);
17
+ let jsonTableCell = new JSONTableCell_1.default(wiProperty, styles, retrieveOriginal, shading, isFlattened);
18
18
  tableCells.push(JSON.parse(JSON.stringify(jsonTableCell.getJsonCell())));
19
19
  });
20
20
  return { Cells: tableCells };
@@ -1 +1 @@
1
- {"version":3,"file":"JSONTableRow.js","sourceRoot":"","sources":["../../../../src/models/json/table/JSONTableRow.ts"],"names":[],"mappings":";;;;;AACA,oEAA4C;AAE5C,MAAqB,YAAY;IAG/B,YACE,IAAY,EACZ,WAAyB,EACzB,gBAAgB,GAAG,KAAK,EACxB,UAAmB,SAAS;QAE5B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC,CAAC,aAAa;IAEf,eAAe,CAAC,IAAY,EAAE,MAAoB,EAAE,gBAAyB,EAAE,OAAgB;QAC7F,IAAI,UAAU,GAAgB,EAAE,CAAC;QAEjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAsB,EAAE,EAAE;YAC7C,IAAI,UAAU,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC5B,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;aACvB;YACD,IAAI,aAAa,GAAG,IAAI,uBAAa,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;YACrF,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC/B,CAAC,CAAC,iBAAiB;IAEnB,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC,CAAC,QAAQ;CACX,CAAC,OAAO;AA7BT,+BA6BC"}
1
+ {"version":3,"file":"JSONTableRow.js","sourceRoot":"","sources":["../../../../src/models/json/table/JSONTableRow.ts"],"names":[],"mappings":";;;;;AACA,oEAA4C;AAE5C,MAAqB,YAAY;IAG/B,YACE,IAAY,EACZ,WAAyB,EACzB,gBAAgB,GAAG,KAAK,EACxB,UAAmB,SAAS,EAC5B,WAAW,GAAG,KAAK;QAEnB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC7F,CAAC,CAAC,aAAa;IAEf,eAAe,CACb,IAAY,EACZ,MAAoB,EACpB,gBAAyB,EACzB,OAAgB,EAChB,WAAW;QAEX,IAAI,UAAU,GAAgB,EAAE,CAAC;QAEjC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAsB,EAAE,EAAE;YAC7C,IAAI,UAAU,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC5B,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;aACvB;YACD,IAAI,aAAa,GAAG,IAAI,uBAAa,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;YAClG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;IAC/B,CAAC,CAAC,iBAAiB;IAEnB,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC,CAAC,QAAQ;CACX,CAAC,OAAO;AApCT,+BAoCC"}
@@ -19,6 +19,8 @@ export interface ContetControlSkin {
19
19
  export interface JsonHtml {
20
20
  type: string;
21
21
  Html: string;
22
+ font: string;
23
+ fontSize: number;
22
24
  }
23
25
  export interface TableRow {
24
26
  Cells: TableCell[];
@@ -49,6 +51,7 @@ export interface Attachment {
49
51
  path: string;
50
52
  name: string;
51
53
  isLinkedFile?: boolean;
54
+ IsFlattened?: boolean;
52
55
  }
53
56
  export interface Run {
54
57
  text: string;
@@ -67,6 +70,7 @@ export interface Table {
67
70
  type: string;
68
71
  headingLevel: number;
69
72
  Rows: TableRow[];
73
+ insertPageBreak: boolean;
70
74
  }
71
75
  export interface WIQueryResults {
72
76
  columns: WIColumns[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elisra-devops/docgen-skins",
3
- "version": "0.6.0",
3
+ "version": "0.8.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
@@ -5,9 +5,11 @@ import JSONParagraph from './models/json/paragraph/JSONParagraph';
5
5
  import JSONHeaderParagraph from './models/json/paragraph/JSONTestSuiteHeaderParagraph';
6
6
  import JSONRichTextParagraph from './models/json/paragraph/JSONRichTextParagraph';
7
7
  import { DescriptionandProcedureStyle } from './models/json/default';
8
+ import JSONFile from './models/json/file/JSONFile';
8
9
 
9
10
  export default class Skins {
10
11
  SKIN_TYPE_TABLE = 'table';
12
+ SKIN_TYPE_TABLE_STR = 'str-table';
11
13
  SKIN_TYPE_PARAGRAPH = 'paragraph';
12
14
  SKIN_TYPE_TEST_PLAN = 'test-plan';
13
15
 
@@ -24,13 +26,15 @@ export default class Skins {
24
26
  }
25
27
 
26
28
  async addNewContentToDocumentSkin(
27
- contetnControlTitle: string,
29
+ contentControlTitle: string,
28
30
  skinType: string,
29
31
  data: any,
30
32
  headerStyles: StyleOptions,
31
33
  styles: StyleOptions,
32
34
  headingLvl: number = 0,
33
- includeAttachments: boolean = true
35
+ includeAttachments: boolean = true,
36
+ insertPageBreak?: boolean,
37
+ isFlattened: boolean = false
34
38
  ): Promise<any> {
35
39
  try {
36
40
  let populatedSkin;
@@ -39,14 +43,29 @@ export default class Skins {
39
43
  case this.SKIN_TYPE_TABLE:
40
44
  populatedSkin = this.generateQueryBasedTable(data, headerStyles, styles, headingLvl);
41
45
  if (populatedSkin === false) {
42
- logger.error(`Could not generate table for content control :${contetnControlTitle}`);
46
+ logger.error(`Could not generate table for content control :${contentControlTitle}`);
47
+ return false;
48
+ }
49
+ break;
50
+ case this.SKIN_TYPE_TABLE_STR:
51
+ const insertPageBreakEnabled: boolean = insertPageBreak ?? false;
52
+ populatedSkin = this.generateStrSkin(
53
+ data,
54
+ headerStyles,
55
+ styles,
56
+ headingLvl,
57
+ insertPageBreakEnabled,
58
+ contentControlTitle
59
+ );
60
+ if (populatedSkin === false) {
61
+ logger.error(`Could not generate STR table for content control :${contentControlTitle}`);
43
62
  return false;
44
63
  }
45
64
  break;
46
65
  case this.SKIN_TYPE_PARAGRAPH:
47
66
  populatedSkin = this.generateQueryBasedParagraphs(data, styles, headingLvl);
48
67
  if (populatedSkin === false) {
49
- logger.error(`Could not generate paragraph for content control :${contetnControlTitle}`);
68
+ logger.error(`Could not generate paragraph for content control :${contentControlTitle}`);
50
69
  return false;
51
70
  }
52
71
  break;
@@ -56,10 +75,11 @@ export default class Skins {
56
75
  headerStyles,
57
76
  styles,
58
77
  headingLvl,
59
- includeAttachments
78
+ includeAttachments,
79
+ isFlattened
60
80
  );
61
81
  if (populatedSkin === false) {
62
- logger.error(`Could not generate test skin for content control :${contetnControlTitle}`);
82
+ logger.error(`Could not generate test skin for content control :${contentControlTitle}`);
63
83
  return false;
64
84
  }
65
85
  break;
@@ -75,7 +95,9 @@ export default class Skins {
75
95
  // populatedSkin
76
96
  // );
77
97
  } catch (error) {
78
- logger.error(`Fatal error happened when generate skin for : ${contetnControlTitle}`);
98
+ logger.error(`Fatal error happened when generate skin for : ${contentControlTitle}`);
99
+ logger.error(`Error Message: ${error.message}`);
100
+ logger.error(`Error Stack: ${error.stack}`);
79
101
  return false;
80
102
  }
81
103
  } //addNewContentToDocumentSkin
@@ -128,17 +150,104 @@ export default class Skins {
128
150
  headingLvl: number = 0
129
151
  ) {
130
152
  logger.debug(`Generating table as ${this.skinFormat}`);
153
+ try {
154
+ switch (this.skinFormat) {
155
+ case 'json':
156
+ let tableSkin = new JSONTable(data, headerStyles, styles, headingLvl);
157
+ return [tableSkin.getJSONTable()];
158
+ case 'html':
159
+ logger.info(`Generating html table!`);
160
+ break;
161
+ default:
162
+ return false;
163
+ } //switch
164
+ } catch (error: any) {
165
+ logger.error(`Error occurred in generateQueryBasedTable: ${error.message}`);
166
+ logger.error(`Error Stack: ${error.stack}`);
167
+ return false;
168
+ }
169
+ } //generateTable
131
170
 
132
- switch (this.skinFormat) {
133
- case 'json':
134
- let tableSkin = new JSONTable(data, headerStyles, styles, headingLvl);
135
- return [tableSkin.getJSONTable()];
136
- case 'html':
137
- logger.info(`Generating html table!`);
138
- break;
139
- default:
140
- return false;
141
- } //switch
171
+ generateStrSkin(
172
+ data: any,
173
+ headerStyles: StyleOptions,
174
+ styles: StyleOptions,
175
+ headingLvl: number = 0,
176
+ insertPageBreak: boolean,
177
+ contentControlTitle: string
178
+ ) {
179
+ logger.debug(`Generating table as ${this.skinFormat}`);
180
+ try {
181
+ switch (this.skinFormat) {
182
+ case 'json':
183
+ if (
184
+ contentControlTitle !== 'appendix-a-content-control' &&
185
+ contentControlTitle !== 'appendix-b-content-control'
186
+ ) {
187
+ if (data.length > 0) {
188
+ let tableSkin = new JSONTable(
189
+ data,
190
+ headerStyles,
191
+ styles,
192
+ headingLvl,
193
+ undefined,
194
+ insertPageBreak
195
+ );
196
+ return [tableSkin.getJSONTable()];
197
+ } else {
198
+ let emptyData = { name: 'Description', value: 'No relevant data' };
199
+ let paragraphSkin = new JSONParagraph(emptyData, styles, 0, headingLvl);
200
+ return [paragraphSkin.getJSONParagraph()];
201
+ }
202
+ } else {
203
+ const strSkins = [];
204
+
205
+ data.flat().forEach((skin) => {
206
+ if (skin.type !== undefined && skin.type.includes('Header')) {
207
+ // Title element, create a header paragraph
208
+ const titleSkin = new JSONHeaderParagraph(
209
+ [skin.field],
210
+ {
211
+ isBold: true,
212
+ IsItalic: false,
213
+ IsUnderline: true,
214
+ Size: skin.type.includes('SubHeader') ? 12 : 14,
215
+ Uri: null,
216
+ Font: 'Arial',
217
+ InsertLineBreak: false,
218
+ InsertSpace: true,
219
+ },
220
+ 0,
221
+ skin.level ? headingLvl + skin.level : headingLvl ? headingLvl : 1 // Assuming headingLvl is defined elsewhere
222
+ );
223
+ strSkins.push(titleSkin.getJSONParagraph());
224
+ } else if (skin.type === 'File') {
225
+ const fileSkin = new JSONFile(skin);
226
+ strSkins.push(fileSkin.getFileAttachment);
227
+ } else {
228
+ // Regular paragraph element
229
+ const paragraph = new JSONParagraph(
230
+ skin.field,
231
+ styles, // Assuming it's defined elsewhere
232
+ 0,
233
+ 0
234
+ );
235
+ strSkins.push(paragraph.getJSONParagraph());
236
+ }
237
+ });
238
+ return strSkins;
239
+ }
240
+ case 'html':
241
+ logger.info(`Generating html table!`);
242
+ break;
243
+ default:
244
+ return false;
245
+ } //switch
246
+ } catch (error: any) {
247
+ logger.error(`Error occurred in generateStrBasedTable: ${error.message}`);
248
+ logger.error(`Error Stack: ${error.stack}`);
249
+ return false;
250
+ }
142
251
  } //generateTable
143
252
 
144
253
  generateQueryBasedParagraphs(data: any, styles: StyleOptions, headingLvl: number = 0) {
@@ -177,7 +286,8 @@ export default class Skins {
177
286
  headerStyles: StyleOptions,
178
287
  styles: StyleOptions,
179
288
  headingLvl: number = 0,
180
- includeAttachments: boolean = true
289
+ includeAttachments: boolean = true,
290
+ isFlattened = false
181
291
  ) {
182
292
  logger.debug(`Generating testSkin as ${this.skinFormat}`);
183
293
  switch (this.skinFormat) {
@@ -300,23 +410,16 @@ export default class Skins {
300
410
  testcase.id || 0,
301
411
  0
302
412
  );
303
- let TableContentStyles = {
304
- isBold: false,
305
- IsItalic: false,
306
- IsUnderline: false,
307
- Size: 12,
308
- Uri: null,
309
- Font: 'Arial',
310
- InsertLineBreak: false,
311
- InsertSpace: true,
312
- };
313
413
  testSkin.push(testProcedureTitleParagraph.getJSONParagraph());
314
414
  //create test steps table
315
415
  let tableSkin = new JSONTable(
316
416
  testcase.testCaseStepsSkinData,
317
417
  headerStyles,
318
- TableContentStyles,
319
- headingLvl
418
+ styles,
419
+ headingLvl,
420
+ undefined,
421
+ undefined,
422
+ isFlattened
320
423
  );
321
424
  let populatedTableSkin = tableSkin.getJSONTable();
322
425
  testSkin.push(populatedTableSkin);
@@ -0,0 +1,60 @@
1
+ import { extname } from 'path';
2
+ import { Attachment } from '../wordJsonModels';
3
+ import logger from '../../../services/logger';
4
+
5
+ export default class JSONFile {
6
+ private _fileAttachment: Attachment;
7
+
8
+ constructor(fileAttachmentData: any) {
9
+ this._fileAttachment = this.generateFileAttachment(fileAttachmentData);
10
+ }
11
+
12
+ public get getFileAttachment(): Attachment {
13
+ return this._fileAttachment;
14
+ }
15
+
16
+ private generateFileAttachment(fileAttachmentData: any): Attachment {
17
+ if (this.isPictureUri(fileAttachmentData.attachmentLink)) {
18
+ return {
19
+ type: 'Picture',
20
+ path: fileAttachmentData.attachmentLink,
21
+ name: this.removeFileExtension(fileAttachmentData.attachmentFileName),
22
+ };
23
+ } else {
24
+ return {
25
+ type: 'File',
26
+ path: fileAttachmentData.attachmentLink,
27
+ name: this.removeFileExtension(fileAttachmentData.attachmentFileName),
28
+ isLinkedFile: fileAttachmentData.attachmentType === 'asLink',
29
+ };
30
+ }
31
+ }
32
+
33
+ private removeFileExtension(filePath) {
34
+ const lastDotIndex = filePath.lastIndexOf('.');
35
+ if (lastDotIndex > 0) {
36
+ return filePath.slice(0, lastDotIndex);
37
+ }
38
+ return filePath; // If there's no extension, return the original file path
39
+ }
40
+
41
+ private isPictureUri(uri: string) {
42
+ try {
43
+ let fileExt = extname(uri);
44
+ logger.debug(`attachment extension: ${fileExt}`);
45
+ if (
46
+ fileExt.toUpperCase() == '.PNG' ||
47
+ fileExt.toUpperCase() == '.JPG' ||
48
+ fileExt.toUpperCase() == '.JPEG' ||
49
+ fileExt.toUpperCase() == '.GIF'
50
+ ) {
51
+ return true;
52
+ } else {
53
+ return false;
54
+ }
55
+ } catch (e) {
56
+ logger.error(`error parsing file extension for : ${uri}`);
57
+ return false;
58
+ }
59
+ }
60
+ }
@@ -1,13 +1,17 @@
1
- import { JsonHtml } from "../wordJsonModels";
2
- import JSONRun from "../JSONRun";
1
+ import { JsonHtml } from '../wordJsonModels';
2
+ import JSONRun from '../JSONRun';
3
3
 
4
4
  export default class JSONHtml {
5
- htmlString: string = "";
6
- constructor(htmlString: string) {
5
+ htmlString: string = '';
6
+ font: string = '';
7
+ fontSize: number = 0;
8
+ constructor(htmlString: string, font = 'Arial', fontSize = 12) {
7
9
  this.htmlString = htmlString;
10
+ this.font = font;
11
+ this.fontSize = fontSize;
8
12
  } //constructor
9
13
 
10
14
  getJSONHtml(): JsonHtml {
11
- return { type: "html", Html: this.htmlString };
15
+ return { type: 'html', Html: this.htmlString, font: this.font, fontSize: this.fontSize };
12
16
  } //getJSONTable
13
17
  } //class
@@ -18,13 +18,16 @@ export default class JSONTable {
18
18
  headerRowStyle: StyleOptions,
19
19
  tableStyles: StyleOptions,
20
20
  headingLvl: number,
21
- retrieveOriginal = false
21
+ retrieveOriginal = false,
22
+ insertPageBreak: boolean = false,
23
+ isFlattened = false
22
24
  ) {
23
25
  this.tableStyles = tableStyles;
24
26
  this.tableTemplate = {
25
27
  type: 'table',
26
28
  headingLevel: headingLvl,
27
- Rows: this.generateJsonRows(data, headerRowStyle, this.tableStyles, retrieveOriginal),
29
+ Rows: this.generateJsonRows(data, headerRowStyle, this.tableStyles, retrieveOriginal, isFlattened),
30
+ insertPageBreak: insertPageBreak,
28
31
  };
29
32
  }
30
33
 
@@ -32,7 +35,8 @@ export default class JSONTable {
32
35
  data: any,
33
36
  headerRowStyle: StyleOptions,
34
37
  tableStyles: StyleOptions,
35
- retrieveOriginal: boolean
38
+ retrieveOriginal: boolean,
39
+ isFlattened: boolean
36
40
  ): TableRow[] {
37
41
  let rows: TableRow[] = [];
38
42
  let headersRowData: WIData = this.headersRowAdapter(data[0]);
@@ -65,7 +69,7 @@ export default class JSONTable {
65
69
  rows.push(headersRow.getRow());
66
70
 
67
71
  data.forEach((rowData: WIData) => {
68
- let row = new JSONTableRow(rowData, tableStyles, retrieveOriginal);
72
+ let row = new JSONTableRow(rowData, tableStyles, retrieveOriginal, undefined, isFlattened);
69
73
  rows.push(row.getRow());
70
74
  });
71
75
 
@@ -14,8 +14,14 @@ import logger from '../../../services/logger';
14
14
 
15
15
  export default class JSONTableCell {
16
16
  cell: TableCell;
17
- constructor(data: WIProperty, tableStyles: StyleOptions, retrieveOriginal = false, shading = undefined) {
18
- this.cell = this.generateJsonCell(data, tableStyles, retrieveOriginal, shading);
17
+ constructor(
18
+ data: WIProperty,
19
+ tableStyles: StyleOptions,
20
+ retrieveOriginal = false,
21
+ shading = undefined,
22
+ isFlattened = false
23
+ ) {
24
+ this.cell = this.generateJsonCell(data, tableStyles, retrieveOriginal, shading, isFlattened);
19
25
  }
20
26
 
21
27
  private removeFileExtension(filePath) {
@@ -30,7 +36,8 @@ export default class JSONTableCell {
30
36
  data: WIProperty | MultipeValuesWIProperty,
31
37
  styles,
32
38
  retrieveOriginal,
33
- shading: Shading
39
+ shading: Shading,
40
+ isFlattened
34
41
  ): TableCell {
35
42
  let runs: Run[] = [];
36
43
  let attachments: Attachment[] = [];
@@ -46,6 +53,7 @@ export default class JSONTableCell {
46
53
  type: 'Picture',
47
54
  path: attachmentLink,
48
55
  name: this.removeFileExtension(runData.attachmentFileName),
56
+ isFlattened,
49
57
  };
50
58
  attachments.push(attachment);
51
59
  } else {
@@ -54,6 +62,7 @@ export default class JSONTableCell {
54
62
  path: runData.attachmentLink,
55
63
  name: this.removeFileExtension(runData.attachmentFileName),
56
64
  isLinkedFile: data.attachmentType === 'asLink',
65
+ isFlattened,
57
66
  };
58
67
  attachments.push(attachment);
59
68
  }
@@ -78,6 +87,8 @@ export default class JSONTableCell {
78
87
  let Html: JsonHtml = {
79
88
  type: 'html',
80
89
  Html: HtmlData,
90
+ font: 'Arial',
91
+ fontSize: 10,
81
92
  };
82
93
  return {
83
94
  attachments: attachments,
@@ -8,19 +8,26 @@ export default class JSONTableRow {
8
8
  data: WIData,
9
9
  tableStyles: StyleOptions,
10
10
  retrieveOriginal = false,
11
- shading: Shading = undefined
11
+ shading: Shading = undefined,
12
+ isFlattened = false
12
13
  ) {
13
- this.row = this.generateJsonRow(data, tableStyles, retrieveOriginal, shading);
14
+ this.row = this.generateJsonRow(data, tableStyles, retrieveOriginal, shading, isFlattened);
14
15
  } //constructor
15
16
 
16
- generateJsonRow(data: WIData, styles: StyleOptions, retrieveOriginal: boolean, shading: Shading): TableRow {
17
+ generateJsonRow(
18
+ data: WIData,
19
+ styles: StyleOptions,
20
+ retrieveOriginal: boolean,
21
+ shading: Shading,
22
+ isFlattened
23
+ ): TableRow {
17
24
  let tableCells: TableCell[] = [];
18
25
 
19
26
  data.fields.forEach((wiProperty: WIProperty) => {
20
27
  if (wiProperty.name === 'id') {
21
28
  styles.Uri = data.url;
22
29
  }
23
- let jsonTableCell = new JSONTableCell(wiProperty, styles, retrieveOriginal, shading);
30
+ let jsonTableCell = new JSONTableCell(wiProperty, styles, retrieveOriginal, shading, isFlattened);
24
31
  tableCells.push(JSON.parse(JSON.stringify(jsonTableCell.getJsonCell())));
25
32
  });
26
33
 
@@ -19,6 +19,8 @@ export interface ContetControlSkin {
19
19
  export interface JsonHtml {
20
20
  type: string;
21
21
  Html: string;
22
+ font: string;
23
+ fontSize: number;
22
24
  }
23
25
  export interface TableRow {
24
26
  Cells: TableCell[];
@@ -51,6 +53,7 @@ export interface Attachment {
51
53
  path: string;
52
54
  name: string;
53
55
  isLinkedFile?: boolean;
56
+ IsFlattened?: boolean;
54
57
  }
55
58
  export interface Run {
56
59
  text: string;
@@ -69,6 +72,7 @@ export interface Table {
69
72
  type: string;
70
73
  headingLevel: number;
71
74
  Rows: TableRow[];
75
+ insertPageBreak: boolean;
72
76
  }
73
77
  export interface WIQueryResults {
74
78
  columns: WIColumns[];