@contrail/document-generation 1.0.32 → 1.0.34

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.
@@ -2,10 +2,5 @@ import { DocumentElement } from "@contrail/documents";
2
2
  import { ComponentPropertyTemplate, ComponentTemplate } from "../interfaces";
3
3
  export declare class ComponentGenerator {
4
4
  static generateComponent(data: any, options: DocumentElement, template: ComponentTemplate): any;
5
- static generatedModelBindings(data: any): {
6
- item: string;
7
- projectItem: string;
8
- viewable: string;
9
- };
10
5
  static generateComponentFromPropertyTemplate(data: any, options: DocumentElement, template: ComponentPropertyTemplate): DocumentElement;
11
6
  }
@@ -5,6 +5,7 @@ const documents_1 = require("@contrail/documents");
5
5
  const nanoid_1 = require("nanoid");
6
6
  const util_1 = require("@contrail/util");
7
7
  const document_property_util_1 = require("../util/document-property-util");
8
+ const component_util_1 = require("./component-util");
8
9
  class ComponentGenerator {
9
10
  static generateComponent(data, options, template) {
10
11
  let component;
@@ -16,13 +17,6 @@ class ComponentGenerator {
16
17
  }
17
18
  return component;
18
19
  }
19
- static generatedModelBindings(data) {
20
- return {
21
- item: `item:${data.item.id}`,
22
- projectItem: `project-item:${data.projectItem.id}`,
23
- viewable: `item:${data.item.id}`,
24
- };
25
- }
26
20
  static generateComponentFromPropertyTemplate(data, options, template) {
27
21
  var _a;
28
22
  let componentElement = documents_1.DocumentElementFactory.initNewElement('component');
@@ -52,7 +46,7 @@ class ComponentGenerator {
52
46
  }
53
47
  };
54
48
  elements.push(...document_property_util_1.DocumentPropertyUtil.generatePropertyTextElements(data, template.properties, textOptions, { y: yPosition }, true));
55
- const modelBindings = this.generatedModelBindings(data);
49
+ const modelBindings = component_util_1.ComponentUtil.generatedModelBindings(data);
56
50
  componentElement.elements = elements;
57
51
  componentElement.modelBindings = modelBindings;
58
52
  if (((_a = componentElement === null || componentElement === void 0 ? void 0 : componentElement.elements) === null || _a === void 0 ? void 0 : _a.length) > 0) {
@@ -1,4 +1,5 @@
1
1
  import { DocumentElement, SizeDefinition } from "@contrail/documents";
2
2
  export declare class ComponentUtil {
3
+ static generatedModelBindings(data: any): any;
3
4
  static getComponentSize(element: DocumentElement): SizeDefinition;
4
5
  }
@@ -2,6 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ComponentUtil = void 0;
4
4
  class ComponentUtil {
5
+ static generatedModelBindings(data) {
6
+ const model = {};
7
+ if (data.item) {
8
+ model.item = `item:${data.item.id}`;
9
+ model.viewable = `item:${data.item.id}`;
10
+ }
11
+ if (data.projectItem) {
12
+ model.projectItem = `project-item:${data.projectItem.id}`;
13
+ }
14
+ return model;
15
+ }
5
16
  static getComponentSize(element) {
6
17
  var _a, _b, _c, _d, _e;
7
18
  const sizeDefinition = {
@@ -1,5 +1,6 @@
1
1
  import { DocumentElement, PositionDefinition, SizeDefinition } from "@contrail/documents";
2
2
  import { FrameInfoPanelTemplate } from "../interfaces";
3
3
  export declare class InfoPanelGenerator {
4
+ static generatedModelBindings(data: any): any;
4
5
  static generatePanelFromTemplate(data: any, template: FrameInfoPanelTemplate, position: PositionDefinition, panelSize: SizeDefinition): Array<DocumentElement>;
5
6
  }
@@ -5,6 +5,16 @@ const documents_1 = require("@contrail/documents");
5
5
  const util_1 = require("@contrail/util");
6
6
  const document_property_util_1 = require("../util/document-property-util");
7
7
  class InfoPanelGenerator {
8
+ static generatedModelBindings(data) {
9
+ const model = {};
10
+ if (data.item) {
11
+ model.item = `item:${data.item.id}`;
12
+ }
13
+ if (data.projectItem) {
14
+ model.projectItem = `project-item:${data.projectItem.id}`;
15
+ }
16
+ return model;
17
+ }
8
18
  static generatePanelFromTemplate(data, template, position, panelSize) {
9
19
  var _a;
10
20
  if (!template.propertyTemplate) {
@@ -16,6 +26,7 @@ class InfoPanelGenerator {
16
26
  panel.size = util_1.ObjectUtil.cloneDeep(panelSize) || {};
17
27
  panel.position = util_1.ObjectUtil.cloneDeep(position);
18
28
  elements.push(panel);
29
+ const modelBindings = this.generatedModelBindings(data);
19
30
  const textOptions = {
20
31
  style: {
21
32
  text: {
@@ -24,7 +35,8 @@ class InfoPanelGenerator {
24
35
  },
25
36
  size: {
26
37
  width: panelSize.width - 10
27
- }
38
+ },
39
+ modelBindings,
28
40
  };
29
41
  const textElements = document_property_util_1.DocumentPropertyUtil.generatePropertyTextElements(data, template.propertyTemplate.properties, textOptions, { x: panel.position.x, y: panel.position.y }, false);
30
42
  elements.push(...textElements);
@@ -13,11 +13,12 @@ class DocumentUtil {
13
13
  if (text === undefined || text === null) {
14
14
  return '';
15
15
  }
16
+ if (typeof text !== 'string') {
17
+ return text;
18
+ }
16
19
  return text.replace(/&/g, "&amp;")
17
20
  .replace(/</g, "&lt;")
18
- .replace(/>/g, "&gt;")
19
- .replace(/"/g, "&quot;")
20
- .replace(/'/g, "&#39;");
21
+ .replace(/>/g, "&gt;");
21
22
  }
22
23
  }
23
24
  exports.DocumentUtil = DocumentUtil;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contrail/document-generation",
3
- "version": "1.0.32",
3
+ "version": "1.0.34",
4
4
  "description": "Utilities for automatic generation of documents.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",