@esfaenza/extensions 15.2.16 → 15.2.18
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.
- package/esm2020/lib/models/ExportConsts.mjs +3 -1
- package/esm2020/lib/services/extensions.exports.service.mjs +9 -2
- package/fesm2015/esfaenza-extensions.mjs +9 -0
- package/fesm2015/esfaenza-extensions.mjs.map +1 -1
- package/fesm2020/esfaenza-extensions.mjs +9 -0
- package/fesm2020/esfaenza-extensions.mjs.map +1 -1
- package/lib/models/ExportConsts.d.ts +2 -0
- package/package.json +1 -1
|
@@ -317,6 +317,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
317
317
|
* utilizzato dal servizio di esportazione per prendere il valore delle proprietà di un oggetto
|
|
318
318
|
*/
|
|
319
319
|
const csvValueNavigator = "_csvnav";
|
|
320
|
+
/** Suffisso con le informazioni del tipo per le esportazioni di oggetti */
|
|
321
|
+
const csvValueType = "_csvtype";
|
|
320
322
|
/** Suffisso della proprietà da generare in cui salvare l'ordine di esportazione */
|
|
321
323
|
const csvOrdPrefix = "_csvord";
|
|
322
324
|
/** Suffisso della proprietà da generare in cui salvare la visibilità di questa proprietà */
|
|
@@ -700,6 +702,7 @@ const ExportAs = (order, type, prefix) => (target, propertyKey) => {
|
|
|
700
702
|
Object.defineProperty(target, propertyKey + prop + csvValueNavigator, { value: propertyKey + "." + prop, writable: false });
|
|
701
703
|
Object.defineProperty(target, propertyKey + prop + csvVisPrefix, { value: toEmit, writable: false });
|
|
702
704
|
Object.defineProperty(target, propertyKey + prop + csvHdrPrefix, { value: (prefix ? prefix + ' ' : '') + lbl, writable: false });
|
|
705
|
+
Object.defineProperty(target, propertyKey + prop + csvValueType, { value: propertyKey + "." + prop, writable: false });
|
|
703
706
|
if (target[exportList])
|
|
704
707
|
target[exportList].push(propertyKey + prop + csvVisPrefix);
|
|
705
708
|
else
|
|
@@ -973,6 +976,12 @@ class ExportService {
|
|
|
973
976
|
let valuenavigator = obj[prop + csvValueNavigator];
|
|
974
977
|
//Es. di valuenavigator obj.subobj.subsubobj.property
|
|
975
978
|
let jmps = valuenavigator.split(".");
|
|
979
|
+
// Localizzazione presa dalla classe base se c'è, altrimenti dalla classe interna (cioè dal primo saltino)
|
|
980
|
+
if (!loc) {
|
|
981
|
+
let type = obj[prop + csvValueType];
|
|
982
|
+
let proto = new type();
|
|
983
|
+
loc = proto[locProperty];
|
|
984
|
+
}
|
|
976
985
|
//Mi clono l'oggetto originale per non uccidergli i riferimenti
|
|
977
986
|
let clone = JSON.parse(JSON.stringify(obj));
|
|
978
987
|
//Salto ricorsivamente su me stesso per arrivare alla proprietà
|