@elisra-devops/docgen-skins 0.5.0 → 0.7.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,14 +1,16 @@
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): 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
15
  generateTestBasedSkin(data: any, headerStyles: StyleOptions, styles: StyleOptions, headingLvl?: number, includeAttachments?: boolean): false | any[];
14
16
  getDocumentSkin(): DocumentSkin;
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) {
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
64
  populatedSkin = this.generateTestBasedSkin(data, headerStyles, styles, headingLvl, includeAttachments);
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,83 @@ 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
+ if (data.length > 0) {
155
+ let tableSkin = new JSONTable_1.default(data, headerStyles, styles, headingLvl, undefined, insertPageBreak);
156
+ return [tableSkin.getJSONTable()];
157
+ }
158
+ else {
159
+ let emptyData = { name: 'Description', value: 'No relevant data' };
160
+ let paragraphSkin = new JSONParagraph_1.default(emptyData, styles, 0, headingLvl);
161
+ return [paragraphSkin.getJSONParagraph()];
162
+ }
163
+ }
164
+ else {
165
+ const strSkins = [];
166
+ data.flat().forEach((skin) => {
167
+ if (skin.type !== undefined && skin.type.includes('Header')) {
168
+ // Title element, create a header paragraph
169
+ const titleSkin = new JSONTestSuiteHeaderParagraph_1.default([skin.field], {
170
+ isBold: true,
171
+ IsItalic: false,
172
+ IsUnderline: true,
173
+ Size: skin.type.includes('SubHeader') ? 12 : 14,
174
+ Uri: null,
175
+ Font: 'Arial',
176
+ InsertLineBreak: false,
177
+ InsertSpace: true,
178
+ }, 0, skin.level ? headingLvl + skin.level : headingLvl ? headingLvl : 1 // Assuming headingLvl is defined elsewhere
179
+ );
180
+ strSkins.push(titleSkin.getJSONParagraph());
181
+ }
182
+ else if (skin.type === 'File') {
183
+ const fileSkin = new JSONFile_1.default(skin);
184
+ strSkins.push(fileSkin.getFileAttachment);
185
+ }
186
+ else {
187
+ // Regular paragraph element
188
+ const paragraph = new JSONParagraph_1.default(skin.field, styles, // Assuming it's defined elsewhere
189
+ 0, 0);
190
+ strSkins.push(paragraph.getJSONParagraph());
191
+ }
192
+ });
193
+ return strSkins;
194
+ }
195
+ case 'html':
196
+ logger_1.default.info(`Generating html table!`);
197
+ break;
198
+ default:
199
+ return false;
200
+ } //switch
201
+ }
202
+ catch (error) {
203
+ logger_1.default.error(`Error occurred in generateStrBasedTable: ${error.message}`);
204
+ logger_1.default.error(`Error Stack: ${error.stack}`);
205
+ return false;
206
+ }
128
207
  } //generateTable
129
208
  generateQueryBasedParagraphs(data, styles, headingLvl = 0) {
130
209
  logger_1.default.debug(`Generating paragraph as ${this.skinFormat}`);
@@ -227,19 +306,9 @@ class Skins {
227
306
  try {
228
307
  if (testcase.testCaseStepsSkinData.length > 0) {
229
308
  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
309
  testSkin.push(testProcedureTitleParagraph.getJSONParagraph());
241
310
  //create test steps table
242
- let tableSkin = new JSONTable_1.default(testcase.testCaseStepsSkinData, headerStyles, TableContentStyles, headingLvl);
311
+ let tableSkin = new JSONTable_1.default(testcase.testCaseStepsSkinData, headerStyles, styles, headingLvl);
243
312
  let populatedTableSkin = tableSkin.getJSONTable();
244
313
  testSkin.push(populatedTableSkin);
245
314
  }
@@ -248,16 +317,22 @@ class Skins {
248
317
  logger_1.default.warn(`For suite id : ${testSuite.suiteSkinData.fields[0].value} , the testCaseStepsSkinData is not defined for ${testcase.testCaseHeaderSkinData.fields[0].value} `);
249
318
  }
250
319
  //attachments table
251
- if (testcase.testCaseAttachments) {
252
- if (testcase.testCaseAttachments.length > 0 && includeAttachments == true) {
253
- let testDescriptionTitleParagraph = new JSONParagraph_1.default({ name: 'Title', value: 'Test Case Attachments:' }, styles, testcase.id || 0, 0);
254
- testSkin.push(testDescriptionTitleParagraph.getJSONParagraph());
255
- //create test steps table
256
- let tableSkin = new JSONTable_1.default(testcase.testCaseAttachments, styles, headerStyles, headingLvl, true);
257
- let populatedTableSkin = tableSkin.getJSONTable();
258
- testSkin.push(populatedTableSkin);
320
+ try {
321
+ if (testcase.testCaseAttachments) {
322
+ if (testcase.testCaseAttachments.length > 0 && includeAttachments) {
323
+ let testDescriptionTitleParagraph = new JSONParagraph_1.default({ name: 'Title', value: 'Test Case Attachments:' }, styles, testcase.id || 0, 0);
324
+ testSkin.push(testDescriptionTitleParagraph.getJSONParagraph());
325
+ //create test steps table
326
+ let tableSkin = new JSONTable_1.default(testcase.testCaseAttachments, headerStyles, styles, headingLvl, true);
327
+ let populatedTableSkin = tableSkin.getJSONTable();
328
+ testSkin.push(populatedTableSkin);
329
+ }
259
330
  }
260
331
  }
332
+ catch (error) {
333
+ logger_1.default.error(`Error occurred when building attachments ${error.message}}`);
334
+ logger_1.default.error(`Stack: ${error.stack}}`);
335
+ }
261
336
  });
262
337
  });
263
338
  return testSkin;
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,7 +2,7 @@ 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);
5
+ constructor(data: WIQueryResults, headerRowStyle: StyleOptions, tableStyles: StyleOptions, headingLvl: number, retrieveOriginal?: boolean, insertPageBreak?: boolean);
6
6
  generateJsonRows(data: any, headerRowStyle: StyleOptions, tableStyles: StyleOptions, retrieveOriginal: boolean): TableRow[];
7
7
  headersRowAdapter(data: WIData): WIData;
8
8
  getJSONTable(): Table;
@@ -6,12 +6,13 @@ 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) {
10
10
  this.tableStyles = tableStyles;
11
11
  this.tableTemplate = {
12
12
  type: 'table',
13
13
  headingLevel: headingLvl,
14
14
  Rows: this.generateJsonRows(data, headerRowStyle, this.tableStyles, retrieveOriginal),
15
+ insertPageBreak: insertPageBreak,
15
16
  };
16
17
  }
17
18
  generateJsonRows(data, headerRowStyle, tableStyles, retrieveOriginal) {
@@ -49,7 +50,7 @@ class JSONTable {
49
50
  let headerValuesWi;
50
51
  try {
51
52
  headerValuesWi = data.fields.map((field) => {
52
- return { name: 'header', value: field.name };
53
+ return { name: 'header', value: field.name, width: field.width || '' };
53
54
  });
54
55
  }
55
56
  catch (error) {
@@ -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,CAAC;YAC/C,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;QAEhC,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;YACrF,eAAe,EAAE,eAAe;SACjC,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;AArFT,4BAqFC"}
@@ -40,6 +40,7 @@ class JSONTableCell {
40
40
  type: 'File',
41
41
  path: runData.attachmentLink,
42
42
  name: this.removeFileExtension(runData.attachmentFileName),
43
+ isLinkedFile: data.attachmentType === 'asLink',
43
44
  };
44
45
  attachments.push(attachment);
45
46
  }
@@ -68,6 +69,8 @@ class JSONTableCell {
68
69
  let Html = {
69
70
  type: 'html',
70
71
  Html: HtmlData,
72
+ font: 'Arial',
73
+ fontSize: 10,
71
74
  };
72
75
  return {
73
76
  attachments: attachments,
@@ -77,6 +80,7 @@ class JSONTableCell {
77
80
  },
78
81
  ],
79
82
  Html,
83
+ width: data.width || '',
80
84
  shading: shading,
81
85
  };
82
86
  }
@@ -88,6 +92,7 @@ class JSONTableCell {
88
92
  Runs: runs,
89
93
  },
90
94
  ],
95
+ width: data.width || '',
91
96
  shading: shading,
92
97
  };
93
98
  }
@@ -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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"}
@@ -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[];
@@ -31,6 +33,7 @@ export interface TableCell {
31
33
  }
32
34
  ];
33
35
  shading?: Shading;
36
+ width?: string;
34
37
  Html?: JsonHtml;
35
38
  }
36
39
  export interface Shading {
@@ -46,6 +49,8 @@ export interface Paragraph {
46
49
  export interface Attachment {
47
50
  type: string;
48
51
  path: string;
52
+ name: string;
53
+ isLinkedFile?: boolean;
49
54
  }
50
55
  export interface Run {
51
56
  text: string;
@@ -64,6 +69,7 @@ export interface Table {
64
69
  type: string;
65
70
  headingLevel: number;
66
71
  Rows: TableRow[];
72
+ insertPageBreak: boolean;
67
73
  }
68
74
  export interface WIQueryResults {
69
75
  columns: WIColumns[];
@@ -81,18 +87,22 @@ export interface WIData {
81
87
  export interface WIProperty {
82
88
  name: string;
83
89
  value: any;
90
+ width?: string;
84
91
  url?: string;
85
92
  relativeUrl?: string;
86
93
  attachmentLink?: string;
94
+ attachmentType?: string;
87
95
  relativeAttachmentLink?: string;
88
96
  richText?: any[];
89
97
  }
90
98
  export interface MultipeValuesWIProperty {
91
99
  name: string;
92
100
  value: any[];
101
+ width?: string;
93
102
  url?: string;
94
103
  relativeUrl?: string;
95
104
  attachmentLink?: string;
105
+ attachmentType?: string;
96
106
  relativeAttachmentLink?: string;
97
107
  richText?: any[];
98
108
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elisra-devops/docgen-skins",
3
- "version": "0.5.0",
3
+ "version": "0.7.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,14 @@ 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
34
37
  ): Promise<any> {
35
38
  try {
36
39
  let populatedSkin;
@@ -39,14 +42,29 @@ export default class Skins {
39
42
  case this.SKIN_TYPE_TABLE:
40
43
  populatedSkin = this.generateQueryBasedTable(data, headerStyles, styles, headingLvl);
41
44
  if (populatedSkin === false) {
42
- logger.error(`Could not generate table for content control :${contetnControlTitle}`);
45
+ logger.error(`Could not generate table for content control :${contentControlTitle}`);
46
+ return false;
47
+ }
48
+ break;
49
+ case this.SKIN_TYPE_TABLE_STR:
50
+ const insertPageBreakEnabled: boolean = insertPageBreak ?? false;
51
+ populatedSkin = this.generateStrSkin(
52
+ data,
53
+ headerStyles,
54
+ styles,
55
+ headingLvl,
56
+ insertPageBreakEnabled,
57
+ contentControlTitle
58
+ );
59
+ if (populatedSkin === false) {
60
+ logger.error(`Could not generate STR table for content control :${contentControlTitle}`);
43
61
  return false;
44
62
  }
45
63
  break;
46
64
  case this.SKIN_TYPE_PARAGRAPH:
47
65
  populatedSkin = this.generateQueryBasedParagraphs(data, styles, headingLvl);
48
66
  if (populatedSkin === false) {
49
- logger.error(`Could not generate paragraph for content control :${contetnControlTitle}`);
67
+ logger.error(`Could not generate paragraph for content control :${contentControlTitle}`);
50
68
  return false;
51
69
  }
52
70
  break;
@@ -59,7 +77,7 @@ export default class Skins {
59
77
  includeAttachments
60
78
  );
61
79
  if (populatedSkin === false) {
62
- logger.error(`Could not generate test skin for content control :${contetnControlTitle}`);
80
+ logger.error(`Could not generate test skin for content control :${contentControlTitle}`);
63
81
  return false;
64
82
  }
65
83
  break;
@@ -75,7 +93,9 @@ export default class Skins {
75
93
  // populatedSkin
76
94
  // );
77
95
  } catch (error) {
78
- logger.error(`Fatal error happened when generate skin for : ${contetnControlTitle}`);
96
+ logger.error(`Fatal error happened when generate skin for : ${contentControlTitle}`);
97
+ logger.error(`Error Message: ${error.message}`);
98
+ logger.error(`Error Stack: ${error.stack}`);
79
99
  return false;
80
100
  }
81
101
  } //addNewContentToDocumentSkin
@@ -128,17 +148,101 @@ export default class Skins {
128
148
  headingLvl: number = 0
129
149
  ) {
130
150
  logger.debug(`Generating table as ${this.skinFormat}`);
151
+ try {
152
+ switch (this.skinFormat) {
153
+ case 'json':
154
+ let tableSkin = new JSONTable(data, headerStyles, styles, headingLvl);
155
+ return [tableSkin.getJSONTable()];
156
+ case 'html':
157
+ logger.info(`Generating html table!`);
158
+ break;
159
+ default:
160
+ return false;
161
+ } //switch
162
+ } catch (error: any) {
163
+ logger.error(`Error occurred in generateQueryBasedTable: ${error.message}`);
164
+ logger.error(`Error Stack: ${error.stack}`);
165
+ return false;
166
+ }
167
+ } //generateTable
131
168
 
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
169
+ generateStrSkin(
170
+ data: any,
171
+ headerStyles: StyleOptions,
172
+ styles: StyleOptions,
173
+ headingLvl: number = 0,
174
+ insertPageBreak: boolean,
175
+ contentControlTitle: string
176
+ ) {
177
+ logger.debug(`Generating table as ${this.skinFormat}`);
178
+ try {
179
+ switch (this.skinFormat) {
180
+ case 'json':
181
+ if (contentControlTitle !== 'appendix-a-content-control') {
182
+ if (data.length > 0) {
183
+ let tableSkin = new JSONTable(
184
+ data,
185
+ headerStyles,
186
+ styles,
187
+ headingLvl,
188
+ undefined,
189
+ insertPageBreak
190
+ );
191
+ return [tableSkin.getJSONTable()];
192
+ } else {
193
+ let emptyData = { name: 'Description', value: 'No relevant data' };
194
+ let paragraphSkin = new JSONParagraph(emptyData, styles, 0, headingLvl);
195
+ return [paragraphSkin.getJSONParagraph()];
196
+ }
197
+ } else {
198
+ const strSkins = [];
199
+
200
+ data.flat().forEach((skin) => {
201
+ if (skin.type !== undefined && skin.type.includes('Header')) {
202
+ // Title element, create a header paragraph
203
+ const titleSkin = new JSONHeaderParagraph(
204
+ [skin.field],
205
+ {
206
+ isBold: true,
207
+ IsItalic: false,
208
+ IsUnderline: true,
209
+ Size: skin.type.includes('SubHeader') ? 12 : 14,
210
+ Uri: null,
211
+ Font: 'Arial',
212
+ InsertLineBreak: false,
213
+ InsertSpace: true,
214
+ },
215
+ 0,
216
+ skin.level ? headingLvl + skin.level : headingLvl ? headingLvl : 1 // Assuming headingLvl is defined elsewhere
217
+ );
218
+ strSkins.push(titleSkin.getJSONParagraph());
219
+ } else if (skin.type === 'File') {
220
+ const fileSkin = new JSONFile(skin);
221
+ strSkins.push(fileSkin.getFileAttachment);
222
+ } else {
223
+ // Regular paragraph element
224
+ const paragraph = new JSONParagraph(
225
+ skin.field,
226
+ styles, // Assuming it's defined elsewhere
227
+ 0,
228
+ 0
229
+ );
230
+ strSkins.push(paragraph.getJSONParagraph());
231
+ }
232
+ });
233
+ return strSkins;
234
+ }
235
+ case 'html':
236
+ logger.info(`Generating html table!`);
237
+ break;
238
+ default:
239
+ return false;
240
+ } //switch
241
+ } catch (error: any) {
242
+ logger.error(`Error occurred in generateStrBasedTable: ${error.message}`);
243
+ logger.error(`Error Stack: ${error.stack}`);
244
+ return false;
245
+ }
142
246
  } //generateTable
143
247
 
144
248
  generateQueryBasedParagraphs(data: any, styles: StyleOptions, headingLvl: number = 0) {
@@ -300,22 +404,12 @@ export default class Skins {
300
404
  testcase.id || 0,
301
405
  0
302
406
  );
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
407
  testSkin.push(testProcedureTitleParagraph.getJSONParagraph());
314
408
  //create test steps table
315
409
  let tableSkin = new JSONTable(
316
410
  testcase.testCaseStepsSkinData,
317
411
  headerStyles,
318
- TableContentStyles,
412
+ styles,
319
413
  headingLvl
320
414
  );
321
415
  let populatedTableSkin = tableSkin.getJSONTable();
@@ -328,26 +422,32 @@ export default class Skins {
328
422
  }
329
423
 
330
424
  //attachments table
331
- if (testcase.testCaseAttachments) {
332
- if (testcase.testCaseAttachments.length > 0 && includeAttachments == true) {
333
- let testDescriptionTitleParagraph = new JSONParagraph(
334
- { name: 'Title', value: 'Test Case Attachments:' },
335
- styles,
336
- testcase.id || 0,
337
- 0
338
- );
339
- testSkin.push(testDescriptionTitleParagraph.getJSONParagraph());
340
- //create test steps table
341
- let tableSkin = new JSONTable(
342
- testcase.testCaseAttachments,
343
- styles,
344
- headerStyles,
345
- headingLvl,
346
- true
347
- );
348
- let populatedTableSkin = tableSkin.getJSONTable();
349
- testSkin.push(populatedTableSkin);
425
+ try {
426
+ if (testcase.testCaseAttachments) {
427
+ if (testcase.testCaseAttachments.length > 0 && includeAttachments) {
428
+ let testDescriptionTitleParagraph = new JSONParagraph(
429
+ { name: 'Title', value: 'Test Case Attachments:' },
430
+ styles,
431
+ testcase.id || 0,
432
+ 0
433
+ );
434
+ testSkin.push(testDescriptionTitleParagraph.getJSONParagraph());
435
+ //create test steps table
436
+
437
+ let tableSkin = new JSONTable(
438
+ testcase.testCaseAttachments,
439
+ headerStyles,
440
+ styles,
441
+ headingLvl,
442
+ true
443
+ );
444
+ let populatedTableSkin = tableSkin.getJSONTable();
445
+ testSkin.push(populatedTableSkin);
446
+ }
350
447
  }
448
+ } catch (error: any) {
449
+ logger.error(`Error occurred when building attachments ${error.message}}`);
450
+ logger.error(`Stack: ${error.stack}}`);
351
451
  }
352
452
  });
353
453
  });
@@ -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,15 @@ 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
22
23
  ) {
23
24
  this.tableStyles = tableStyles;
24
25
  this.tableTemplate = {
25
26
  type: 'table',
26
27
  headingLevel: headingLvl,
27
28
  Rows: this.generateJsonRows(data, headerRowStyle, this.tableStyles, retrieveOriginal),
29
+ insertPageBreak: insertPageBreak,
28
30
  };
29
31
  }
30
32
 
@@ -76,7 +78,7 @@ export default class JSONTable {
76
78
  let headerValuesWi;
77
79
  try {
78
80
  headerValuesWi = data.fields.map((field: WIProperty) => {
79
- return { name: 'header', value: field.name };
81
+ return { name: 'header', value: field.name, width: field.width || '' };
80
82
  });
81
83
  } catch (error) {
82
84
  logger.error(`no fields to append`);
@@ -53,6 +53,7 @@ export default class JSONTableCell {
53
53
  type: 'File',
54
54
  path: runData.attachmentLink,
55
55
  name: this.removeFileExtension(runData.attachmentFileName),
56
+ isLinkedFile: data.attachmentType === 'asLink',
56
57
  };
57
58
  attachments.push(attachment);
58
59
  }
@@ -77,6 +78,8 @@ export default class JSONTableCell {
77
78
  let Html: JsonHtml = {
78
79
  type: 'html',
79
80
  Html: HtmlData,
81
+ font: 'Arial',
82
+ fontSize: 10,
80
83
  };
81
84
  return {
82
85
  attachments: attachments,
@@ -86,6 +89,7 @@ export default class JSONTableCell {
86
89
  },
87
90
  ],
88
91
  Html,
92
+ width: data.width || '',
89
93
  shading: shading,
90
94
  };
91
95
  } else {
@@ -96,6 +100,7 @@ export default class JSONTableCell {
96
100
  Runs: runs,
97
101
  },
98
102
  ],
103
+ width: data.width || '',
99
104
  shading: shading,
100
105
  };
101
106
  }
@@ -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[];
@@ -31,6 +33,7 @@ export interface TableCell {
31
33
  },
32
34
  ];
33
35
  shading?: Shading;
36
+ width?: string;
34
37
  Html?: JsonHtml;
35
38
  }
36
39
 
@@ -48,6 +51,8 @@ export interface Paragraph {
48
51
  export interface Attachment {
49
52
  type: string;
50
53
  path: string;
54
+ name: string;
55
+ isLinkedFile?: boolean;
51
56
  }
52
57
  export interface Run {
53
58
  text: string;
@@ -66,6 +71,7 @@ export interface Table {
66
71
  type: string;
67
72
  headingLevel: number;
68
73
  Rows: TableRow[];
74
+ insertPageBreak: boolean;
69
75
  }
70
76
  export interface WIQueryResults {
71
77
  columns: WIColumns[];
@@ -83,18 +89,22 @@ export interface WIData {
83
89
  export interface WIProperty {
84
90
  name: string;
85
91
  value: any;
92
+ width?: string;
86
93
  url?: string;
87
94
  relativeUrl?: string;
88
95
  attachmentLink?: string;
96
+ attachmentType?: string;
89
97
  relativeAttachmentLink?: string;
90
98
  richText?: any[];
91
99
  }
92
100
  export interface MultipeValuesWIProperty {
93
101
  name: string;
94
102
  value: any[];
103
+ width?: string;
95
104
  url?: string;
96
105
  relativeUrl?: string;
97
106
  attachmentLink?: string;
107
+ attachmentType?: string;
98
108
  relativeAttachmentLink?: string;
99
109
  richText?: any[];
100
110
  }