@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
- const documentElement = documents_1.DocumentElementFactory.createElement(element.type, element);
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.6",
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.0",
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.27",
48
+ "@contrail/types": "^3.0.95",
48
49
  "@contrail/util": "^1.1.0"
49
50
  }
50
51
  }