@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.
- package/bin/index.d.ts +3 -3
- package/bin/index.js +10 -10
- package/bin/index.js.map +1 -1
- package/bin/models/json/paragraph/JSONRichTextParagraph.d.ts +1 -1
- package/bin/models/json/paragraph/JSONRichTextParagraph.js +6 -6
- package/bin/models/json/paragraph/JSONRichTextParagraph.js.map +1 -1
- package/bin/models/json/table/JSONTable.d.ts +2 -2
- package/bin/models/json/table/JSONTable.js +15 -5
- package/bin/models/json/table/JSONTable.js.map +1 -1
- package/bin/models/json/table/JSONTableCell.d.ts +3 -3
- package/bin/models/json/table/JSONTableCell.js +5 -3
- package/bin/models/json/table/JSONTableCell.js.map +1 -1
- package/bin/models/json/table/JSONTableRow.d.ts +3 -3
- package/bin/models/json/table/JSONTableRow.js +4 -4
- package/bin/models/json/table/JSONTableRow.js.map +1 -1
- package/bin/models/json/wordJsonModels.d.ts +6 -0
- package/bin/snippets/free-runs.js +14 -4
- package/bin/snippets/free-runs.js.map +1 -1
- package/bin/test/skins.test.js +61 -51
- package/bin/test/skins.test.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +41 -12
- package/src/models/json/paragraph/JSONRichTextParagraph.ts +14 -27
- package/src/models/json/table/JSONTable.ts +38 -6
- package/src/models/json/table/JSONTableCell.ts +11 -4
- package/src/models/json/table/JSONTableRow.ts +10 -5
- package/src/models/json/wordJsonModels.ts +10 -2
- package/src/snippets/free-runs.ts +17 -5
- package/src/test/skins.test.ts +74 -56
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skins.test.js","sourceRoot":"","sources":["../../src/test/skins.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"skins.test.js","sourceRoot":"","sources":["../../src/test/skins.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -27,6 +27,7 @@ export default class Skins {
|
|
|
27
27
|
contetnControlTitle: string,
|
|
28
28
|
skinType: string,
|
|
29
29
|
data: any,
|
|
30
|
+
headerStyles: StyleOptions,
|
|
30
31
|
styles: StyleOptions,
|
|
31
32
|
headingLvl: number = 0,
|
|
32
33
|
includeAttachments: boolean = true
|
|
@@ -36,7 +37,7 @@ export default class Skins {
|
|
|
36
37
|
|
|
37
38
|
switch (skinType) {
|
|
38
39
|
case this.SKIN_TYPE_TABLE:
|
|
39
|
-
populatedSkin = this.generateQueryBasedTable(data, styles, headingLvl);
|
|
40
|
+
populatedSkin = this.generateQueryBasedTable(data, headerStyles, styles, headingLvl);
|
|
40
41
|
if (populatedSkin === false) {
|
|
41
42
|
logger.error(`Could not generate table for content control :${contetnControlTitle}`);
|
|
42
43
|
return false;
|
|
@@ -50,7 +51,13 @@ export default class Skins {
|
|
|
50
51
|
}
|
|
51
52
|
break;
|
|
52
53
|
case this.SKIN_TYPE_TEST_PLAN:
|
|
53
|
-
populatedSkin = this.generateTestBasedSkin(
|
|
54
|
+
populatedSkin = this.generateTestBasedSkin(
|
|
55
|
+
data,
|
|
56
|
+
headerStyles,
|
|
57
|
+
styles,
|
|
58
|
+
headingLvl,
|
|
59
|
+
includeAttachments
|
|
60
|
+
);
|
|
54
61
|
if (populatedSkin === false) {
|
|
55
62
|
logger.error(`Could not generate test skin for content control :${contetnControlTitle}`);
|
|
56
63
|
return false;
|
|
@@ -114,12 +121,17 @@ export default class Skins {
|
|
|
114
121
|
|
|
115
122
|
//parses data to the class skin format and returns the parsed data
|
|
116
123
|
//returns false if supplied an invalid type or error occurd during parsing
|
|
117
|
-
generateQueryBasedTable(
|
|
124
|
+
generateQueryBasedTable(
|
|
125
|
+
data: WIQueryResults,
|
|
126
|
+
headerStyles: StyleOptions,
|
|
127
|
+
styles: StyleOptions,
|
|
128
|
+
headingLvl: number = 0
|
|
129
|
+
) {
|
|
118
130
|
logger.debug(`Generating table as ${this.skinFormat}`);
|
|
119
131
|
|
|
120
132
|
switch (this.skinFormat) {
|
|
121
133
|
case 'json':
|
|
122
|
-
let tableSkin = new JSONTable(data, styles, headingLvl);
|
|
134
|
+
let tableSkin = new JSONTable(data, headerStyles, styles, headingLvl);
|
|
123
135
|
return [tableSkin.getJSONTable()];
|
|
124
136
|
case 'html':
|
|
125
137
|
logger.info(`Generating html table!`);
|
|
@@ -162,6 +174,7 @@ export default class Skins {
|
|
|
162
174
|
|
|
163
175
|
generateTestBasedSkin(
|
|
164
176
|
data: any,
|
|
177
|
+
headerStyles: StyleOptions,
|
|
165
178
|
styles: StyleOptions,
|
|
166
179
|
headingLvl: number = 0,
|
|
167
180
|
includeAttachments: boolean = true
|
|
@@ -189,8 +202,8 @@ export default class Skins {
|
|
|
189
202
|
testSuite.suiteSkinData.level
|
|
190
203
|
? headingLvl + testSuite.suiteSkinData.level
|
|
191
204
|
: headingLvl
|
|
192
|
-
|
|
193
|
-
|
|
205
|
+
? headingLvl
|
|
206
|
+
: 1
|
|
194
207
|
);
|
|
195
208
|
testSkin.push(testSuiteParagraphSkin.getJSONParagraph());
|
|
196
209
|
|
|
@@ -217,8 +230,8 @@ export default class Skins {
|
|
|
217
230
|
testcase.testCaseHeaderSkinData.level
|
|
218
231
|
? headingLvl + testcase.testCaseHeaderSkinData.level
|
|
219
232
|
: headingLvl
|
|
220
|
-
|
|
221
|
-
|
|
233
|
+
? headingLvl
|
|
234
|
+
: 1
|
|
222
235
|
);
|
|
223
236
|
testSkin.push(testCaseParagraphSkin.getJSONParagraph());
|
|
224
237
|
|
|
@@ -248,7 +261,12 @@ export default class Skins {
|
|
|
248
261
|
);
|
|
249
262
|
testSkin.push(testDescriptionTitleParagraph.getJSONParagraph());
|
|
250
263
|
//create test steps table
|
|
251
|
-
let tableSkin = new JSONTable(
|
|
264
|
+
let tableSkin = new JSONTable(
|
|
265
|
+
testcase.testCaseRequirements,
|
|
266
|
+
headerStyles,
|
|
267
|
+
styles,
|
|
268
|
+
headingLvl
|
|
269
|
+
);
|
|
252
270
|
|
|
253
271
|
let populatedTableSkin = tableSkin.getJSONTable();
|
|
254
272
|
|
|
@@ -266,7 +284,7 @@ export default class Skins {
|
|
|
266
284
|
);
|
|
267
285
|
testSkin.push(testDescriptionTitleParagraph.getJSONParagraph());
|
|
268
286
|
//create test steps table
|
|
269
|
-
let tableSkin = new JSONTable(testcase.testCaseBugs, styles, headingLvl);
|
|
287
|
+
let tableSkin = new JSONTable(testcase.testCaseBugs, headerStyles, styles, headingLvl);
|
|
270
288
|
|
|
271
289
|
let populatedTableSkin = tableSkin.getJSONTable();
|
|
272
290
|
|
|
@@ -294,7 +312,12 @@ export default class Skins {
|
|
|
294
312
|
};
|
|
295
313
|
testSkin.push(testProcedureTitleParagraph.getJSONParagraph());
|
|
296
314
|
//create test steps table
|
|
297
|
-
let tableSkin = new JSONTable(
|
|
315
|
+
let tableSkin = new JSONTable(
|
|
316
|
+
testcase.testCaseStepsSkinData,
|
|
317
|
+
headerStyles,
|
|
318
|
+
TableContentStyles,
|
|
319
|
+
headingLvl
|
|
320
|
+
);
|
|
298
321
|
let populatedTableSkin = tableSkin.getJSONTable();
|
|
299
322
|
testSkin.push(populatedTableSkin);
|
|
300
323
|
}
|
|
@@ -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(
|
|
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
|
|
2
|
-
import JSONHtml from
|
|
3
|
-
import JSONParagraph from
|
|
4
|
-
import JSONTable from
|
|
5
|
-
import logger from
|
|
1
|
+
import { Run, WIProperty, StyleOptions } from '../wordJsonModels';
|
|
2
|
+
import JSONHtml from '../html/JSONHtml';
|
|
3
|
+
import JSONParagraph from './JSONParagraph';
|
|
4
|
+
import JSONTable from '../table/JSONTable';
|
|
5
|
+
import logger from '../../../services/logger';
|
|
6
6
|
|
|
7
7
|
export default class JSONRichTextParagraph {
|
|
8
8
|
paragraphStyles: StyleOptions;
|
|
9
9
|
paragraphTemplate: any;
|
|
10
10
|
wiId: number;
|
|
11
|
-
constructor(
|
|
12
|
-
field: WIProperty,
|
|
13
|
-
paragraphStyles: StyleOptions,
|
|
14
|
-
wiId: number,
|
|
15
|
-
headingLevel: number
|
|
16
|
-
) {
|
|
11
|
+
constructor(field: WIProperty, paragraphStyles: StyleOptions, wiId: number, headingLevel: number) {
|
|
17
12
|
this.paragraphStyles = paragraphStyles;
|
|
18
13
|
this.wiId = wiId;
|
|
19
|
-
this.paragraphTemplate = this.generateJsonRichTextParagraphs(
|
|
20
|
-
|
|
21
|
-
this.paragraphStyles
|
|
22
|
-
);
|
|
23
|
-
if (headingLevel && field.name === "Title: ") {
|
|
14
|
+
this.paragraphTemplate = this.generateJsonRichTextParagraphs(field, this.paragraphStyles);
|
|
15
|
+
if (headingLevel && field.name === 'Title: ') {
|
|
24
16
|
this.paragraphTemplate.headingLevel = headingLevel;
|
|
25
17
|
} else {
|
|
26
18
|
this.paragraphTemplate.headingLevel = 0;
|
|
@@ -40,32 +32,27 @@ export default class JSONRichTextParagraph {
|
|
|
40
32
|
try {
|
|
41
33
|
field.richText.forEach((content) => {
|
|
42
34
|
switch (content.type) {
|
|
43
|
-
case
|
|
35
|
+
case 'paragraph':
|
|
44
36
|
content.data.fields.forEach((richTextField: WIProperty) => {
|
|
45
37
|
if (/<\/?[a-z][\s\S]*>/.test(richTextField.value)) {
|
|
46
38
|
let html = new JSONHtml(richTextField.value);
|
|
47
39
|
richTextSkin.push(html.getJSONHtml());
|
|
48
40
|
} else {
|
|
49
41
|
//making sure ID is not printed
|
|
50
|
-
let paragraphSkin = new JSONParagraph(
|
|
51
|
-
richTextField,
|
|
52
|
-
paragraphStyles,
|
|
53
|
-
0,
|
|
54
|
-
0
|
|
55
|
-
);
|
|
42
|
+
let paragraphSkin = new JSONParagraph(richTextField, paragraphStyles, 0, 0);
|
|
56
43
|
richTextSkin.push(paragraphSkin.getJSONParagraph());
|
|
57
44
|
}
|
|
58
45
|
});
|
|
59
46
|
break;
|
|
60
|
-
case
|
|
47
|
+
case 'picture':
|
|
61
48
|
richTextSkin.push({
|
|
62
|
-
type:
|
|
49
|
+
type: 'picture',
|
|
63
50
|
Path: content.data,
|
|
64
51
|
});
|
|
65
52
|
break;
|
|
66
|
-
case
|
|
53
|
+
case 'table':
|
|
67
54
|
if (content.data) {
|
|
68
|
-
let tableSkin = new JSONTable(content.data, paragraphStyles, 0);
|
|
55
|
+
let tableSkin = new JSONTable(content.data, undefined, paragraphStyles, 0);
|
|
69
56
|
richTextSkin.push(tableSkin.getJSONTable());
|
|
70
57
|
}
|
|
71
58
|
break;
|
|
@@ -1,24 +1,43 @@
|
|
|
1
1
|
import logger from '../../../services/logger';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
Table,
|
|
4
|
+
TableRow,
|
|
5
|
+
WIQueryResults,
|
|
6
|
+
WIData,
|
|
7
|
+
WIProperty,
|
|
8
|
+
StyleOptions,
|
|
9
|
+
Shading,
|
|
10
|
+
} from '../wordJsonModels';
|
|
3
11
|
import JSONTableRow from './JSONTableRow';
|
|
4
12
|
export default class JSONTable {
|
|
5
13
|
tableTemplate: Table;
|
|
6
14
|
tableStyles: StyleOptions;
|
|
7
15
|
|
|
8
|
-
constructor(
|
|
16
|
+
constructor(
|
|
17
|
+
data: WIQueryResults,
|
|
18
|
+
headerRowStyle: StyleOptions,
|
|
19
|
+
tableStyles: StyleOptions,
|
|
20
|
+
headingLvl: number,
|
|
21
|
+
retrieveOriginal = false
|
|
22
|
+
) {
|
|
9
23
|
this.tableStyles = tableStyles;
|
|
10
24
|
this.tableTemplate = {
|
|
11
25
|
type: 'table',
|
|
12
26
|
headingLevel: headingLvl,
|
|
13
|
-
Rows: this.generateJsonRows(data, this.tableStyles, retrieveOriginal),
|
|
27
|
+
Rows: this.generateJsonRows(data, headerRowStyle, this.tableStyles, retrieveOriginal),
|
|
14
28
|
};
|
|
15
29
|
}
|
|
16
30
|
|
|
17
|
-
generateJsonRows(
|
|
31
|
+
generateJsonRows(
|
|
32
|
+
data: any,
|
|
33
|
+
headerRowStyle: StyleOptions,
|
|
34
|
+
tableStyles: StyleOptions,
|
|
35
|
+
retrieveOriginal: boolean
|
|
36
|
+
): TableRow[] {
|
|
18
37
|
let rows: TableRow[] = [];
|
|
19
38
|
let headersRowData: WIData = this.headersRowAdapter(data[0]);
|
|
20
39
|
|
|
21
|
-
|
|
40
|
+
const defaultHeaderRowStyle = {
|
|
22
41
|
isBold: true,
|
|
23
42
|
IsItalic: false,
|
|
24
43
|
IsUnderline: false,
|
|
@@ -28,8 +47,21 @@ export default class JSONTable {
|
|
|
28
47
|
InsertLineBreak: false,
|
|
29
48
|
InsertSpace: false,
|
|
30
49
|
};
|
|
31
|
-
let headersRow = new JSONTableRow(headersRowData, style2);
|
|
32
50
|
|
|
51
|
+
// Use the provided style or fall back to the default style
|
|
52
|
+
const finalHeaderRowStyle = headerRowStyle ?? defaultHeaderRowStyle;
|
|
53
|
+
|
|
54
|
+
// Determine if shading is needed
|
|
55
|
+
const headerShading =
|
|
56
|
+
headerRowStyle === undefined
|
|
57
|
+
? undefined
|
|
58
|
+
: {
|
|
59
|
+
color: 'auto',
|
|
60
|
+
fill: '17365D',
|
|
61
|
+
themeFillShade: 'BF',
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const headersRow = new JSONTableRow(headersRowData, finalHeaderRowStyle, undefined, headerShading);
|
|
33
65
|
rows.push(headersRow.getRow());
|
|
34
66
|
|
|
35
67
|
data.forEach((rowData: WIData) => {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { extname } from 'path';
|
|
2
2
|
import {
|
|
3
3
|
TableCell,
|
|
4
|
+
Shading,
|
|
4
5
|
Run,
|
|
5
6
|
Attachment,
|
|
6
7
|
WIProperty,
|
|
@@ -13,8 +14,8 @@ import logger from '../../../services/logger';
|
|
|
13
14
|
|
|
14
15
|
export default class JSONTableCell {
|
|
15
16
|
cell: TableCell;
|
|
16
|
-
constructor(data: WIProperty, tableStyles: StyleOptions, retrieveOriginal = false) {
|
|
17
|
-
this.cell = this.generateJsonCell(data, tableStyles, retrieveOriginal);
|
|
17
|
+
constructor(data: WIProperty, tableStyles: StyleOptions, retrieveOriginal = false, shading = undefined) {
|
|
18
|
+
this.cell = this.generateJsonCell(data, tableStyles, retrieveOriginal, shading);
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
private removeFileExtension(filePath) {
|
|
@@ -25,11 +26,15 @@ export default class JSONTableCell {
|
|
|
25
26
|
return filePath; // If there's no extension, return the original file path
|
|
26
27
|
}
|
|
27
28
|
|
|
28
|
-
generateJsonCell(
|
|
29
|
+
generateJsonCell(
|
|
30
|
+
data: WIProperty | MultipeValuesWIProperty,
|
|
31
|
+
styles,
|
|
32
|
+
retrieveOriginal,
|
|
33
|
+
shading: Shading
|
|
34
|
+
): TableCell {
|
|
29
35
|
let runs: Run[] = [];
|
|
30
36
|
let attachments: Attachment[] = [];
|
|
31
37
|
let HtmlData: string = '';
|
|
32
|
-
|
|
33
38
|
//multiple values
|
|
34
39
|
if (typeof data.value !== 'string' && typeof data.value !== 'number' && data.value) {
|
|
35
40
|
data.value.forEach((runData) => {
|
|
@@ -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(
|
|
8
|
-
|
|
7
|
+
constructor(
|
|
8
|
+
data: WIData,
|
|
9
|
+
tableStyles: StyleOptions,
|
|
10
|
+
retrieveOriginal = false,
|
|
11
|
+
shading: Shading = undefined
|
|
12
|
+
) {
|
|
13
|
+
this.row = this.generateJsonRow(data, tableStyles, retrieveOriginal, shading);
|
|
9
14
|
} //constructor
|
|
10
15
|
|
|
11
|
-
generateJsonRow(data: WIData, styles: StyleOptions, retrieveOriginal: boolean): TableRow {
|
|
16
|
+
generateJsonRow(data: WIData, styles: StyleOptions, retrieveOriginal: boolean, shading: Shading): TableRow {
|
|
12
17
|
let tableCells: TableCell[] = [];
|
|
13
18
|
|
|
14
19
|
data.fields.forEach((wiProperty: WIProperty) => {
|
|
15
20
|
if (wiProperty.name === 'id') {
|
|
16
21
|
styles.Uri = data.url;
|
|
17
22
|
}
|
|
18
|
-
let jsonTableCell = new JSONTableCell(wiProperty, styles, retrieveOriginal);
|
|
23
|
+
let jsonTableCell = new JSONTableCell(wiProperty, styles, retrieveOriginal, shading);
|
|
19
24
|
tableCells.push(JSON.parse(JSON.stringify(jsonTableCell.getJsonCell())));
|
|
20
25
|
});
|
|
21
26
|
|
|
@@ -28,10 +28,18 @@ export interface TableCell {
|
|
|
28
28
|
Paragraphs: [
|
|
29
29
|
{
|
|
30
30
|
Runs: Run[];
|
|
31
|
-
}
|
|
31
|
+
},
|
|
32
32
|
];
|
|
33
|
-
|
|
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
|
|
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:
|
|
21
|
+
Font: 'Arial',
|
|
11
22
|
InsertLineBreak: false,
|
|
12
23
|
InsertSpace: true,
|
|
13
24
|
};
|
|
14
25
|
|
|
15
|
-
let skins = new Skins(
|
|
16
|
-
const QueryData = require(
|
|
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
|
-
|
|
29
|
+
'test',
|
|
19
30
|
skins.SKIN_TYPE_PARAGRAPH,
|
|
20
31
|
QueryData,
|
|
32
|
+
headerStyles,
|
|
21
33
|
styles,
|
|
22
34
|
4
|
|
23
35
|
);
|