@esfaenza/extensions 15.2.43 → 15.2.45

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.
@@ -1172,7 +1172,7 @@ class AppEmbeddingExtensions {
1172
1172
  const wrapperPaddingLeft = parseInt(wrapperStyles.getPropertyValue("padding-left"));
1173
1173
  const wrapperPaddingRight = parseInt(wrapperStyles.getPropertyValue("padding-right"));
1174
1174
  console.log(`Window message - Modal Open -> Backdrop Height: ${event?.data?.backdropHeight}`);
1175
- var topHeight = 116; // valore fisso, distanza fra il top e l'inizio dell'iframe, non sarà mai diverso
1175
+ var topHeight = 80; // valore fisso, distanza fra il top e l'inizio dell'iframe, non sarà mai diverso
1176
1176
  var rightSpace = wrapperPaddingRight; // valore fisso, distanza fra la fine dell'iframe e il lato sinistro dello schermo, non sarà mai diverso
1177
1177
  var leftSpace = this.sidebarWidth + wrapperPaddingLeft;
1178
1178
  let commonStyles = "position: absolute; z-index: 9999; background-color: #000; opacity: 0.5; ";
@@ -1189,6 +1189,10 @@ class AppEmbeddingExtensions {
1189
1189
  right.className = "embedded-modal-right";
1190
1190
  right.style.cssText = commonStyles + `height: calc(100% - ${topHeight}px); top: ${topHeight}px; right: 0; width: ${rightSpace}px;`;
1191
1191
  right.id = "right";
1192
+ // const bottom = document.createElement("div");
1193
+ // bottom.className = "embedded-modal-bottom";
1194
+ // bottom.style.cssText = commonStyles + `height: ${topHeight}px; bottom: 0; width: calc(100% - ${leftSpace}px); left: ${leftSpace}px`;
1195
+ // bottom.id = "bottom";
1192
1196
  document.body.appendChild(top);
1193
1197
  document.body.appendChild(left);
1194
1198
  document.body.appendChild(right);
@@ -1517,7 +1521,7 @@ class UtilityService {
1517
1521
  *
1518
1522
  * @return {any} Clone dell'oggetto passato
1519
1523
  */
1520
- deepClone(source) {
1524
+ deepClone(source, type = null) {
1521
1525
  // Valori semplici
1522
1526
  if (source == null || typeof source !== 'object')
1523
1527
  return source;
@@ -1534,7 +1538,7 @@ class UtilityService {
1534
1538
  default: break;
1535
1539
  }
1536
1540
  // Oggetti Complessi
1537
- return this.recursiveStep(source, Array.isArray(source) || source instanceof Array ? [] : Object.create(Object.getPrototypeOf(source)));
1541
+ return this.recursiveStep(source, Array.isArray(source) || source instanceof Array ? [] : (type == null ? Object.create(Object.getPrototypeOf(source)) : new type()));
1538
1542
  }
1539
1543
  /**
1540
1544
  * @ignore
@@ -1660,10 +1664,13 @@ const Export = (order, header, format = null, tableid = null) => (target, proper
1660
1664
  * @param {any} type Tipo da esportare
1661
1665
  */
1662
1666
  const ExportAs = (order, type, prefix) => (target, propertyKey) => {
1667
+ var addedHere = {};
1663
1668
  var t = new type();
1664
1669
  var props = t[exportList];
1665
1670
  for (let i = 0; i < props.length; i++) {
1666
1671
  let prop = props[i].replace(csvVisPrefix, '');
1672
+ if (addedHere[prop])
1673
+ continue;
1667
1674
  if (typeof t[prop + csvVisPrefix] !== "undefined") {
1668
1675
  var toEmit = t[prop + csvVisPrefix];
1669
1676
  var lbl = t[prop + csvHdrPrefix];
@@ -1671,16 +1678,18 @@ const ExportAs = (order, type, prefix) => (target, propertyKey) => {
1671
1678
  var orderProp = t[prop + csvOrdPrefix];
1672
1679
  if (format)
1673
1680
  Object.defineProperty(target, propertyKey + prop + csvFormatPrefix, { value: format, writable: false });
1674
- Object.defineProperty(target, propertyKey + prop + csvOrdPrefix, { value: orderProp + order, writable: false });
1675
- Object.defineProperty(target, propertyKey + prop, { value: null, writable: true, enumerable: true });
1676
- Object.defineProperty(target, propertyKey + prop + csvValueNavigator, { value: propertyKey + "." + prop, writable: false });
1677
- Object.defineProperty(target, propertyKey + prop + csvVisPrefix, { value: toEmit, writable: false });
1678
- Object.defineProperty(target, propertyKey + prop + csvHdrPrefix, { value: (prefix ? prefix + ' ' : '') + lbl, writable: false });
1679
- Object.defineProperty(target, propertyKey + prop + csvValueType, { value: type, writable: false });
1681
+ let ppp = propertyKey + "$_$" + prop;
1682
+ Object.defineProperty(target, ppp + csvOrdPrefix, { value: orderProp + order, writable: false });
1683
+ Object.defineProperty(target, ppp, { value: null, writable: true, enumerable: true });
1684
+ Object.defineProperty(target, ppp + csvValueNavigator, { value: propertyKey + "." + prop.replace(/\$_\$/g, '.'), writable: false });
1685
+ Object.defineProperty(target, ppp + csvVisPrefix, { value: toEmit, writable: false });
1686
+ Object.defineProperty(target, ppp + csvHdrPrefix, { value: (prefix ? prefix + ' ' : '') + lbl, writable: false });
1687
+ Object.defineProperty(target, ppp + csvValueType, { value: type, writable: false });
1680
1688
  if (target[exportList])
1681
- target[exportList].push(propertyKey + prop + csvVisPrefix);
1689
+ target[exportList].push(ppp + csvVisPrefix);
1682
1690
  else
1683
- target[exportList] = [propertyKey + prop + csvVisPrefix];
1691
+ target[exportList] = [ppp + csvVisPrefix];
1692
+ addedHere[ppp] = true;
1684
1693
  }
1685
1694
  }
1686
1695
  };
@@ -2162,14 +2171,11 @@ class ExportService {
2162
2171
  * @param {any[]} items Oggetti da esportare
2163
2172
  */
2164
2173
  export(items, format, fileName, type, columnsFilter, genericHeaders) {
2165
- var createdItems = items.map(t => {
2166
- let tmp = new type();
2167
- for (let property in t)
2168
- tmp[property] = t[property];
2169
- return tmp;
2170
- });
2174
+ // Deepclone con assegnatura del tipo
2175
+ var createdItems = items.map(t => this.utiExts.deepClone(t, type));
2171
2176
  let headers = genericHeaders ? this.setupForGenericExport(createdItems, genericHeaders) : this.setupForExport(createdItems, columnsFilter);
2172
2177
  (format == "CSV" ? this.exportCSV : this.exportExcel).bind(this)(fileName, headers, createdItems);
2178
+ return headers;
2173
2179
  }
2174
2180
  }
2175
2181
  ExportService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExportService, deps: [{ token: DateService }, { token: UtilityService }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Injectable });