@esfaenza/extensions 15.2.28 → 15.2.30

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.
@@ -1660,13 +1660,13 @@ const ExportList = (order, headernavigator, valuenavigator, valueformat = null)
1660
1660
  * partendo da un oggetto iniziale { Valore { A: 1, B: 2, C: 3 } }
1661
1661
  *
1662
1662
  * @param {number} order Ordine di esportazione. Più piccolo è, prima appare il valore
1663
- * @param {string} headernavigator Navigator col compito di selezionare il titolo per la colonna
1664
- * @param {string} valuenavigator Navigator col compito di selezionare il valore per la colonna
1663
+ * @param {string} headerprefix Prefisso per l'header
1664
+ * @param {string} valueprefix Prefisso per il valore
1665
1665
  */
1666
- const ExportDictionary = (order, headernavigator, valuenavigator) => (target, propertyKey) => {
1666
+ const ExportDictionary = (order, headerprefix, valueprefix) => (target, propertyKey) => {
1667
1667
  Object.defineProperty(target, propertyKey + csvOrdPrefix, { value: order, writable: false });
1668
- Object.defineProperty(target, propertyKey + dictionaryCsvValPrefix, { value: valuenavigator, writable: false });
1669
- Object.defineProperty(target, propertyKey + dictionaryCsvHdrPrefix, { value: headernavigator, writable: false });
1668
+ Object.defineProperty(target, propertyKey + dictionaryCsvValPrefix, { value: valueprefix, writable: false });
1669
+ Object.defineProperty(target, propertyKey + dictionaryCsvHdrPrefix, { value: headerprefix, writable: false });
1670
1670
  if (target[exportList])
1671
1671
  target[exportList].push(propertyKey + dictionaryCsvHdrPrefix);
1672
1672
  else
@@ -1898,7 +1898,7 @@ class ExportService {
1898
1898
  //Salto 1 > diventa obj
1899
1899
  //Salto 2 > diventa obj.subobj
1900
1900
  //ecc...
1901
- jmps.forEach(pp => { clone = clone[pp]; });
1901
+ jmps.forEach(pp => { clone = clone?.[pp]; });
1902
1902
  //Valore finale :D
1903
1903
  let value = clone;
1904
1904
  let text = obj[prop + csvHdrPrefix];
@@ -1991,39 +1991,22 @@ class ExportService {
1991
1991
  * @param {any} obj Oggetto di cui esportare la proprietà **prop**
1992
1992
  * @param {string} prop Proprietà da esportare
1993
1993
  * @param {CsvHeaders} headers Contenitore degli header, verrà riempito da questa funzione
1994
- * @param {LocalizationService} loc Servizio di localizzazione che traduce tutti i nomi che può
1995
1994
  */
1996
- parseDictionary(obj, prop, headers, columnsSelection, loc) {
1997
- let headernavigator = obj[prop + dictionaryCsvHdrPrefix];
1998
- let valuenavigator = obj[prop + dictionaryCsvValPrefix];
1995
+ parseDictionary(obj, prop, headers, columnsSelection) {
1996
+ let headerprefix = obj[prop + dictionaryCsvHdrPrefix];
1997
+ let valueprefix = obj[prop + dictionaryCsvValPrefix];
1999
1998
  let order = obj[prop + csvOrdPrefix];
2000
- var jumps, tmpRes;
2001
- var objs = obj[prop];
2002
- for (let idx = 0; idx < objs.length; idx++) {
2003
- let listitem = objs[idx];
2004
- var headersplit = headernavigator.split(" ");
2005
- var label = "";
2006
- headersplit.forEach(pr => {
2007
- jumps = pr.split(".");
2008
- tmpRes = JSON.parse(JSON.stringify(listitem));
2009
- jumps.forEach(pp => { tmpRes = tmpRes[pp]; });
2010
- if (!label)
2011
- label = !!loc ? loc.loc(tmpRes) : tmpRes;
2012
- else
2013
- label += " " + !!loc ? loc.loc(tmpRes) : tmpRes;
2014
- });
2015
- var valuesplit = valuenavigator.split(",");
2016
- valuesplit.forEach((t, idxinternal) => {
2017
- var navig = t.split("-")[1];
2018
- var desc = t.split("-")[0];
2019
- jumps = navig.split(".");
2020
- tmpRes = JSON.parse(JSON.stringify(listitem));
2021
- jumps.forEach(pp => { tmpRes = tmpRes[pp]; });
2022
- let value = tmpRes;
2023
- let propname = prop + idx.toString() + idxinternal.toString();
2024
- Object.defineProperty(obj, propname, { value: value ?? "", writable: false });
2025
- headers.push({ label: label + " " + !!loc ? loc.loc(desc) : desc, key: propname, order: order + idx, type: 'string', propKey: null });
2026
- });
1999
+ var object = obj[prop];
2000
+ let idx = 0;
2001
+ for (const [key, val] of Object.entries(object)) {
2002
+ // Ignoro tutti i cmapi che non fanno parte della selezione delle colonne
2003
+ if (columnsSelection && !columnsSelection[key])
2004
+ continue;
2005
+ let propname = prop + "_" + key;
2006
+ let value = valueprefix ? valueprefix + " " + val : val;
2007
+ let label = headerprefix ? headerprefix + " " + key : key;
2008
+ Object.defineProperty(obj, propname, { value: value ?? "", writable: false });
2009
+ headers.push({ label: label, key: propname, order: order + idx++, type: 'string', propKey: null });
2027
2010
  }
2028
2011
  }
2029
2012
  /**