@contrail/document-generation 2.1.6 → 2.1.8
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.
|
@@ -8,6 +8,7 @@ const document_util_1 = require("../util/document-util");
|
|
|
8
8
|
const info_panel_generator_1 = require("../info-panel/info-panel-generator");
|
|
9
9
|
const frame_1 = require("./frame");
|
|
10
10
|
const document_dynamic_text_element_util_1 = require("../util/document-dynamic-text-element-util");
|
|
11
|
+
const document_table_1 = require("@contrail/document-table");
|
|
11
12
|
class FrameGenerator {
|
|
12
13
|
static generateBoardFrameForDataGroup(dataGroup, framePosition, template, frameTemplate, frameTitle) {
|
|
13
14
|
let style = { backgroundColor: '#fff', border: { width: 1, color: '#616161' } };
|
|
@@ -116,13 +117,16 @@ class FrameGenerator {
|
|
|
116
117
|
const elementMapping = {};
|
|
117
118
|
const createdElements = [];
|
|
118
119
|
for (let element of templateElements) {
|
|
120
|
+
if (['row', 'column', 'cell'].indexOf(element.type) !== -1)
|
|
121
|
+
continue;
|
|
119
122
|
const origElementId = element.id;
|
|
120
123
|
delete element.id;
|
|
121
124
|
delete element.updatedOn;
|
|
122
125
|
delete element.updatedById;
|
|
123
126
|
delete element.createdOn;
|
|
124
127
|
delete element.createdById;
|
|
125
|
-
|
|
128
|
+
let documentElement = documents_1.DocumentElementFactory.createElement(element.type, element);
|
|
129
|
+
let childDocumentElements = [];
|
|
126
130
|
elementMapping[origElementId] = documentElement.id;
|
|
127
131
|
if (documentElement.type === 'text') {
|
|
128
132
|
documentElement.text = documentElement.text.replace('{{dataGroup.name}}', dataGroup.name);
|
|
@@ -133,7 +137,22 @@ class FrameGenerator {
|
|
|
133
137
|
if (documentElement.elementIds) {
|
|
134
138
|
documentElement.elementIds = [elementMapping[documentElement.elementIds[0]]];
|
|
135
139
|
}
|
|
140
|
+
if (documentElement.type === 'table') {
|
|
141
|
+
const oldChildElements = templateElements.filter(e => e.tableId === origElementId && ['cell', 'column', 'row'].indexOf(e.type) !== -1);
|
|
142
|
+
let newTableElement, newChildElements = [];
|
|
143
|
+
try {
|
|
144
|
+
[newTableElement, ...newChildElements] = document_table_1.TableCopyService.copy(documentElement, oldChildElements);
|
|
145
|
+
}
|
|
146
|
+
catch (e) { }
|
|
147
|
+
if (oldChildElements.length !== newChildElements.length || oldChildElements.length === 0) {
|
|
148
|
+
console.log(`Invalid table element to copy`, documentElement, oldChildElements, newChildElements);
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
documentElement = newTableElement;
|
|
152
|
+
childDocumentElements = newChildElements;
|
|
153
|
+
}
|
|
136
154
|
createdElements.push(documentElement);
|
|
155
|
+
createdElements.push(...childDocumentElements);
|
|
137
156
|
}
|
|
138
157
|
return createdElements;
|
|
139
158
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contrail/document-generation",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.8",
|
|
4
4
|
"description": "Utilities for automatic generation of documents.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"author": "",
|
|
15
15
|
"license": "ISC",
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@contrail/aggregates": "^1.2.
|
|
17
|
+
"@contrail/aggregates": "^1.2.3",
|
|
18
18
|
"@contrail/sdk": "^1.4.3",
|
|
19
19
|
"@types/jest": "^29.5.2",
|
|
20
20
|
"@types/node": "^18.16.0",
|
|
@@ -43,8 +43,9 @@
|
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@contrail/data-grouping": "^1.0.24",
|
|
46
|
+
"@contrail/document-table": "^1.0.4",
|
|
46
47
|
"@contrail/documents": "^1.0.105",
|
|
47
|
-
"@contrail/types": "^3.0.
|
|
48
|
+
"@contrail/types": "^3.0.95",
|
|
48
49
|
"@contrail/util": "^1.1.0"
|
|
49
50
|
}
|
|
50
51
|
}
|