@veloceapps/sdk 5.0.8 → 5.0.10

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.
Files changed (38) hide show
  1. package/bundles/veloce-sdk-cms.umd.js +97 -45
  2. package/bundles/veloce-sdk-cms.umd.js.map +1 -1
  3. package/bundles/veloce-sdk.umd.js +457 -195
  4. package/bundles/veloce-sdk.umd.js.map +1 -1
  5. package/cms/cms.actions.d.ts +4 -2
  6. package/cms/services/launcher.service.d.ts +3 -3
  7. package/cms/types/common.types.d.ts +5 -0
  8. package/cms/types/compilation.types.d.ts +6 -0
  9. package/cms/types/index.d.ts +2 -0
  10. package/cms/types/metrics.types.d.ts +5 -0
  11. package/cms/utils/elements-resolver.d.ts +4 -1
  12. package/cms/vendor-map.d.ts +1 -0
  13. package/esm2015/cms/cms.actions.js +6 -1
  14. package/esm2015/cms/components/preview/preview.component.js +7 -4
  15. package/esm2015/cms/services/launcher.service.js +10 -10
  16. package/esm2015/cms/types/common.types.js +1 -1
  17. package/esm2015/cms/types/compilation.types.js +2 -0
  18. package/esm2015/cms/types/index.js +3 -1
  19. package/esm2015/cms/types/metrics.types.js +2 -0
  20. package/esm2015/cms/utils/element.utils.js +6 -1
  21. package/esm2015/cms/utils/elements-resolver.js +55 -24
  22. package/esm2015/src/components/header/header.component.js +12 -19
  23. package/esm2015/src/components/header/header.module.js +6 -2
  24. package/esm2015/src/components/header/metrics/index.js +2 -0
  25. package/esm2015/src/components/header/metrics/metrics.component.js +216 -0
  26. package/esm2015/src/components/header/metrics/metrics.definitions.js +9 -0
  27. package/esm2015/src/components/header/metrics/metrics.module.js +64 -0
  28. package/fesm2015/veloce-sdk-cms.js +80 -35
  29. package/fesm2015/veloce-sdk-cms.js.map +1 -1
  30. package/fesm2015/veloce-sdk.js +341 -85
  31. package/fesm2015/veloce-sdk.js.map +1 -1
  32. package/package.json +1 -1
  33. package/src/components/header/header.component.d.ts +0 -8
  34. package/src/components/header/header.module.d.ts +2 -1
  35. package/src/components/header/metrics/index.d.ts +1 -0
  36. package/src/components/header/metrics/metrics.component.d.ts +49 -0
  37. package/src/components/header/metrics/metrics.definitions.d.ts +4 -0
  38. package/src/components/header/metrics/metrics.module.d.ts +17 -0
@@ -43,6 +43,7 @@
43
43
  FlowAction["FLOW_SWITCH_OBJECT"] = "FLOW_SWITCH_OBJECT";
44
44
  FlowAction["REMOTE_APPLY"] = "REMOTE_APPLY";
45
45
  FlowAction["REMOTE_CANCEL"] = "REMOTE_CANCEL";
46
+ FlowAction["SET_DEFAULT_METRICS"] = "SET_DEFAULT_METRICS";
46
47
  })(exports.FlowAction || (exports.FlowAction = {}));
47
48
  var ConfigureProductAction = function (_a) {
48
49
  var lineItemId = _a.lineItemId, productId = _a.productId;
@@ -76,6 +77,10 @@
76
77
  type: exports.FlowAction.FLOW_SWITCH_OBJECT,
77
78
  payload: payload,
78
79
  }); };
80
+ var SetDefaultMetrics = function (metrics) { return ({
81
+ type: exports.FlowAction.SET_DEFAULT_METRICS,
82
+ payload: { metrics: metrics },
83
+ }); };
79
84
 
80
85
  var cmsActions = /*#__PURE__*/Object.freeze({
81
86
  __proto__: null,
@@ -88,7 +93,8 @@
88
93
  CloseDocGenAction: CloseDocGenAction,
89
94
  RemoteApplyAction: RemoteApplyAction,
90
95
  RemoteCancelAction: RemoteCancelAction,
91
- SwitchObjectAction: SwitchObjectAction
96
+ SwitchObjectAction: SwitchObjectAction,
97
+ SetDefaultMetrics: SetDefaultMetrics
92
98
  });
93
99
 
94
100
  /*! *****************************************************************************
@@ -843,6 +849,7 @@
843
849
  var name = _e.name;
844
850
  return name;
845
851
  }),
852
+ configuredStyles: metadata.configuredStyles,
846
853
  };
847
854
  var normalizedElMetadata = normalizeElementMetadata(elMetadata);
848
855
  if (!metadata.script || !EXPORTED_CLASS_REGEX.test(metadata.script)) {
@@ -911,6 +918,10 @@
911
918
  if (!metadata.isShared) {
912
919
  delete metadata.isShared;
913
920
  }
921
+ // configuredStyles
922
+ if (!metadata.configuredStyles) {
923
+ delete metadata.configuredStyles;
924
+ }
914
925
  return metadata;
915
926
  };
916
927
  var extractElementMetadata = function (script) {
@@ -1508,31 +1519,19 @@
1508
1519
 
1509
1520
  var ElementsResolver = /** @class */ (function () {
1510
1521
  function ElementsResolver(uiDef, elements) {
1511
- var e_1, _c;
1522
+ var _this = this;
1512
1523
  this.uiDef = uiDef;
1513
1524
  this.renderableElements = [];
1514
1525
  this.sharedElements = [];
1515
- this.elements = this.transpileScripts(elements);
1516
- var flatElements = this.flattenElements(this.elements);
1517
- try {
1518
- for (var flatElements_1 = __values(flatElements), flatElements_1_1 = flatElements_1.next(); !flatElements_1_1.done; flatElements_1_1 = flatElements_1.next()) {
1519
- var el = flatElements_1_1.value;
1520
- if (this.isSharedElement(el)) {
1521
- this.sharedElements.push(el);
1522
- }
1523
- else {
1524
- this.renderableElements.push(el);
1525
- }
1526
- }
1527
- }
1528
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
1529
- finally {
1530
- try {
1531
- if (flatElements_1_1 && !flatElements_1_1.done && (_c = flatElements_1.return)) _c.call(flatElements_1);
1532
- }
1533
- finally { if (e_1) throw e_1.error; }
1534
- }
1526
+ var transpiledElements = this.transpileScripts(elements);
1527
+ this.sharedElements = this.flattenElements(transpiledElements).filter(function (el) { return _this.isSharedElement(el); });
1528
+ this.elements = transpiledElements.map(function (el) { return _this.processElementMetadata(el); }).filter(Boolean);
1529
+ this.renderableElements = this.getRenderableElements(this.elements);
1535
1530
  }
1531
+ ElementsResolver.prototype.getNgComponents = function () {
1532
+ var _this = this;
1533
+ return this.renderableElements.map(function (el) { return _this.resolveElement(el); }).filter(Boolean);
1534
+ };
1536
1535
  ElementsResolver.prototype.transpile = function (el) {
1537
1536
  var _a;
1538
1537
  if (!el.script) {
@@ -1556,8 +1555,31 @@
1556
1555
  ElementsResolver.prototype.isSharedElement = function (el) {
1557
1556
  return Boolean(el.isShared) && el.type !== 'REFERENCE';
1558
1557
  };
1558
+ ElementsResolver.prototype.getRenderableElements = function (elements) {
1559
+ var e_1, _c;
1560
+ var _this = this;
1561
+ var renderable = [];
1562
+ try {
1563
+ for (var elements_1 = __values(elements), elements_1_1 = elements_1.next(); !elements_1_1.done; elements_1_1 = elements_1.next()) {
1564
+ var el = elements_1_1.value;
1565
+ if (!this.isSharedElement(el)) {
1566
+ var children = el.children.filter(function (child) { return !_this.isSharedElement(child); });
1567
+ var renderableChildren = this.getRenderableElements(children);
1568
+ renderable.push.apply(renderable, __spreadArray([Object.assign(Object.assign({}, el), { children: children })], __read(renderableChildren)));
1569
+ }
1570
+ }
1571
+ }
1572
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1573
+ finally {
1574
+ try {
1575
+ if (elements_1_1 && !elements_1_1.done && (_c = elements_1.return)) _c.call(elements_1);
1576
+ }
1577
+ finally { if (e_1) throw e_1.error; }
1578
+ }
1579
+ return renderable;
1580
+ };
1559
1581
  ElementsResolver.prototype.getSharedElement = function (element) {
1560
- if (element.type !== 'REFERENCE') {
1582
+ if (!element.reference) {
1561
1583
  return;
1562
1584
  }
1563
1585
  return this.sharedElements.find(function (el) { return element.reference === el.name; });
@@ -1573,40 +1595,56 @@
1573
1595
  return !config.suppressStyles ? (_a = element.styles) !== null && _a !== void 0 ? _a : '' : '';
1574
1596
  };
1575
1597
  ElementsResolver.prototype.processElementMetadata = function (sourceElement) {
1598
+ var _this = this;
1576
1599
  var _a, _b;
1577
- var sharedElement = this.getSharedElement(sourceElement);
1578
1600
  var finalElement;
1579
1601
  if (sourceElement.type === 'REFERENCE') {
1602
+ var sharedElement = this.getSharedElement(sourceElement);
1580
1603
  if (!sharedElement) {
1581
1604
  console.warn("Shared element \"" + sourceElement.reference + "\" not found");
1582
1605
  return;
1583
1606
  }
1584
- finalElement = Object.assign(Object.assign({}, sourceElement), { type: sharedElement.type, template: sharedElement.template, styles: ((_a = sharedElement.styles) !== null && _a !== void 0 ? _a : '') + '\n' + ((_b = sourceElement.styles) !== null && _b !== void 0 ? _b : ''), inputs: Object.assign(Object.assign({}, sharedElement.inputs), sourceElement.inputs), outputs: Object.assign(Object.assign({}, sharedElement.outputs), sourceElement.outputs) });
1607
+ finalElement = Object.assign(Object.assign({}, sourceElement), { children: this.getSharedChildren(sharedElement.children, sourceElement.path), type: sharedElement.type, template: sharedElement.template, styles: ((_a = sharedElement.styles) !== null && _a !== void 0 ? _a : '') + '\n' + ((_b = sourceElement.styles) !== null && _b !== void 0 ? _b : ''), inputs: Object.assign(Object.assign({}, sharedElement.inputs), sourceElement.inputs), outputs: Object.assign(Object.assign({}, sharedElement.outputs), sourceElement.outputs) });
1585
1608
  }
1586
1609
  else {
1587
1610
  finalElement = sourceElement;
1611
+ delete sourceElement.reference;
1588
1612
  }
1589
1613
  finalElement.template = this.resolveElementTemplate(finalElement);
1590
1614
  finalElement.styles = this.resolveElementStyles(finalElement);
1591
- return finalElement;
1615
+ return Object.assign(Object.assign({}, finalElement), { children: finalElement.children
1616
+ .map(function (child) { return _this.processElementMetadata(child); })
1617
+ .filter(Boolean) });
1618
+ };
1619
+ ElementsResolver.prototype.getSharedChildren = function (children, parentPath) {
1620
+ var _this = this;
1621
+ return children.map(function (c) {
1622
+ if (!c.path) {
1623
+ return c;
1624
+ }
1625
+ var _c = __read(c.path.split('/').reverse(), 1), elName = _c[0];
1626
+ var path = parentPath + '/' + elName;
1627
+ return Object.assign(Object.assign({}, c), { path: path, children: _this.getSharedChildren(c.children, path) });
1628
+ });
1592
1629
  };
1593
- ElementsResolver.prototype.resolveElement = function (sourceElement) {
1630
+ ElementsResolver.prototype.resolveElement = function (element) {
1594
1631
  var _a;
1595
- var element = this.processElementMetadata(sourceElement);
1596
- if (!element) {
1597
- return;
1598
- }
1599
1632
  var config = CONFIG[element.type];
1600
1633
  var defaultPlugins = (_a = DEFAULT_PLUGINS[this.uiDef.type]) !== null && _a !== void 0 ? _a : [];
1601
1634
  if (!config) {
1602
1635
  console.warn("Unknown element type \"" + element.type + "\"");
1603
1636
  return;
1604
1637
  }
1638
+ var configuredStyles = this.convertInlineStylesToCSS(element.configuredStyles);
1639
+ if (configuredStyles) {
1640
+ // order is important: styles written by user in CSS code should has higher priority
1641
+ element.styles = configuredStyles + element.styles;
1642
+ }
1605
1643
  var component = Object.assign(Object.assign({ selector: 'vl-element', template: element.template }, (element.styles ? { styles: [element.styles] } : {})), { providers: [
1606
1644
  { provide: DEFAULT_PLUGINS_TOKEN, useValue: defaultPlugins },
1607
1645
  { provide: UI_DEFINITION_METADATA, useValue: this.uiDef },
1608
1646
  { provide: ELEMENT_METADATA, useValue: element },
1609
- { provide: SHARED_ELEMENT_METADATA, useValue: this.getSharedElement(sourceElement) },
1647
+ { provide: SHARED_ELEMENT_METADATA, useValue: this.getSharedElement(element) },
1610
1648
  { provide: ELEMENT_CONFIG, useValue: config },
1611
1649
  { provide: VENDOR_MAP, useValue: vendorMap },
1612
1650
  ] });
@@ -1620,9 +1658,18 @@
1620
1658
  lodash.set(cmp, 'path', element.path);
1621
1659
  return cmp;
1622
1660
  };
1623
- ElementsResolver.prototype.getNgComponents = function () {
1624
- var _this = this;
1625
- return this.renderableElements.map(function (el) { return _this.resolveElement(el); }).filter(Boolean);
1661
+ ElementsResolver.prototype.convertInlineStylesToCSS = function (styles) {
1662
+ if (!styles) {
1663
+ return '';
1664
+ }
1665
+ var entries = Object.entries(styles);
1666
+ var result = ':host {';
1667
+ entries.forEach(function (_c) {
1668
+ var _d = __read(_c, 2), style = _d[0], value = _d[1];
1669
+ result += lodash.kebabCase(style) + ":" + value + ";";
1670
+ });
1671
+ result += '}';
1672
+ return result;
1626
1673
  };
1627
1674
  return ElementsResolver;
1628
1675
  }());
@@ -1632,13 +1679,15 @@
1632
1679
  this.compiler = compiler;
1633
1680
  this.dynamicModuleService = dynamicModuleService;
1634
1681
  }
1635
- LauncherService.prototype.compileModule = function (elements, uiDefs) {
1682
+ LauncherService.prototype.compileModule = function (uiDef, elements) {
1636
1683
  var _this = this;
1637
- this.module = this.getModule(elements, uiDefs);
1684
+ var elementsResolver = new ElementsResolver(uiDef, elements);
1685
+ this.dynamicModuleService.elementsTree = elementsResolver.elements;
1686
+ this.module = this.getModule(elementsResolver.getNgComponents());
1638
1687
  return rxjs.from(this.compiler.compileModuleAndAllComponentsAsync(this.module)).pipe(rxjs.tap(function (m) {
1639
1688
  _this.dynamicModuleService.componentFactories = m.componentFactories;
1640
1689
  _this.moduleInstance = m;
1641
- }));
1690
+ }), rxjs.map(function (m) { return ({ module: m, elements: elementsResolver.elements }); }));
1642
1691
  };
1643
1692
  LauncherService.prototype.destroy = function () {
1644
1693
  if (this.moduleInstance) {
@@ -1650,10 +1699,8 @@
1650
1699
  this.module = undefined;
1651
1700
  }
1652
1701
  };
1653
- LauncherService.prototype.getModule = function (elements, uiDef) {
1702
+ LauncherService.prototype.getModule = function (components) {
1654
1703
  var staticComponents = [ElementChildrenComponent, ElementRendererComponent, CustomTemplateDirective];
1655
- var elementsResolver = new ElementsResolver(uiDef, elements);
1656
- this.dynamicModuleService.elementsTree = elementsResolver.elements;
1657
1704
  var DynamicModule = /** @class */ (function () {
1658
1705
  function DynamicModule() {
1659
1706
  }
@@ -1662,7 +1709,7 @@
1662
1709
  DynamicModule = __decorate([
1663
1710
  i0.NgModule({
1664
1711
  imports: [i7.CommonModule, angularForms.FormsModule, angularForms.ReactiveFormsModule, FederatedModule, dragDrop.DragDropModule],
1665
- declarations: __spreadArray(__spreadArray([], __read(staticComponents)), __read(elementsResolver.getNgComponents())),
1712
+ declarations: __spreadArray(__spreadArray([], __read(staticComponents)), __read(components)),
1666
1713
  jit: true,
1667
1714
  })
1668
1715
  ], DynamicModule);
@@ -1733,10 +1780,14 @@
1733
1780
  return;
1734
1781
  }
1735
1782
  var _a = this.uiDefinition, children = _a.children, uiDefinitionMeta = __rest(_a, ["children"]);
1736
- this.elements = this.elementToMetadataSafe(children);
1737
- var compilation$ = this.launcherService.compileModule(this.elements, uiDefinitionMeta);
1783
+ var elements = this.elementToMetadataSafe(children);
1784
+ var compilation$ = this.launcherService.compileModule(uiDefinitionMeta, elements);
1738
1785
  rxjs.forkJoin([compilation$, this.initializeConfiguration$()])
1739
- .pipe(rxjs.tap(function () { return _this.state$.next({ loading: false, failure: false }); }), rxjs.catchError(function (error) {
1786
+ .pipe(rxjs.tap(function (_c) {
1787
+ var _d = __read(_c, 1), result = _d[0];
1788
+ _this.elements = result.elements;
1789
+ _this.state$.next({ loading: false, failure: false });
1790
+ }), rxjs.catchError(function (error) {
1740
1791
  var _a, _b;
1741
1792
  console.error(error);
1742
1793
  if (!((_b = (_a = _this.uiDefinition) === null || _a === void 0 ? void 0 : _a.properties) === null || _b === void 0 ? void 0 : _b.suppressToastMessages)) {
@@ -1866,6 +1917,7 @@
1866
1917
  exports.RemoteApplyAction = RemoteApplyAction;
1867
1918
  exports.RemoteCancelAction = RemoteCancelAction;
1868
1919
  exports.SHARED_ELEMENT_METADATA = SHARED_ELEMENT_METADATA;
1920
+ exports.SetDefaultMetrics = SetDefaultMetrics;
1869
1921
  exports.SwitchObjectAction = SwitchObjectAction;
1870
1922
  exports.TemplatesService = TemplatesService;
1871
1923
  exports.UI_DEFINITION_METADATA = UI_DEFINITION_METADATA;