@esfaenza/extensions 11.2.39 → 11.2.40
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/bundles/esfaenza-extensions.umd.js +19 -6
- package/bundles/esfaenza-extensions.umd.js.map +1 -1
- package/bundles/esfaenza-extensions.umd.min.js +1 -1
- package/bundles/esfaenza-extensions.umd.min.js.map +1 -1
- package/esfaenza-extensions.metadata.json +1 -1
- package/esm2015/lib/models/ExportConsts.js +5 -1
- package/esm2015/lib/services/extensions.exports.service.js +16 -8
- package/fesm2015/esfaenza-extensions.js +18 -6
- package/fesm2015/esfaenza-extensions.js.map +1 -1
- package/lib/models/ExportConsts.d.ts +4 -0
- package/lib/services/extensions.exports.service.d.ts +2 -2
- package/package.json +1 -1
|
@@ -805,6 +805,10 @@
|
|
|
805
805
|
* Suffisso della proprietà da generare in cui salvare il nome della colonna in cui salvare questa proprietà
|
|
806
806
|
*/
|
|
807
807
|
var csvHdrPrefix = "_csvhdr";
|
|
808
|
+
/**
|
|
809
|
+
* Suffisso della proprietà da generare in cui salvare il codice del th a cui si riferisce questo campo
|
|
810
|
+
*/
|
|
811
|
+
var csvPropKey = "_csvkey";
|
|
808
812
|
/**
|
|
809
813
|
* Suffisso della proprietà da generare in cui salvare il valore da prendere per una proprietà di tipo Lista
|
|
810
814
|
*/
|
|
@@ -860,7 +864,7 @@
|
|
|
860
864
|
* @param {string} header Titolo della colonna nel file CSV esportato
|
|
861
865
|
* @param {string} format Formato di esportazione. Può essere un formato data per i campi data o 'F' per i campi floating point
|
|
862
866
|
*/
|
|
863
|
-
var Export = function (order, header, format) {
|
|
867
|
+
var Export = function (order, header, format, tableid) {
|
|
864
868
|
if (format === void 0) { format = null; }
|
|
865
869
|
return function (target, propertyKey) {
|
|
866
870
|
if (format)
|
|
@@ -868,6 +872,7 @@
|
|
|
868
872
|
Object.defineProperty(target, propertyKey + csvOrdPrefix, { value: order, writable: false });
|
|
869
873
|
Object.defineProperty(target, propertyKey + csvVisPrefix, { value: !!header, writable: false });
|
|
870
874
|
Object.defineProperty(target, propertyKey + csvHdrPrefix, { value: header, writable: false });
|
|
875
|
+
Object.defineProperty(target, propertyKey + csvPropKey, { value: tableid, writable: false });
|
|
871
876
|
if (target[exportList])
|
|
872
877
|
target[exportList].push(propertyKey + csvVisPrefix);
|
|
873
878
|
else
|
|
@@ -1001,15 +1006,20 @@
|
|
|
1001
1006
|
*
|
|
1002
1007
|
* @returns {CsvHeaders[]} Header di esportazione già ordinati correttamente
|
|
1003
1008
|
*/
|
|
1004
|
-
ExportService.prototype.setupForExport = function (objs) {
|
|
1009
|
+
ExportService.prototype.setupForExport = function (objs, columns) {
|
|
1010
|
+
if (columns === void 0) { columns = []; }
|
|
1005
1011
|
var headers = [];
|
|
1006
1012
|
var headersCache = {};
|
|
1007
1013
|
if (!objs || objs.length == 0)
|
|
1008
1014
|
return headers;
|
|
1009
1015
|
// Devo per forza farlo per tutti gli oggetti dato che devo esporre le proprietà che mi servono da esportare
|
|
1010
1016
|
// Gli header li raccolgo tutti poi faccio uan distinct in modo da esportare tutte le proprietà per bene
|
|
1017
|
+
var columnSelectionDictionary = {};
|
|
1018
|
+
if ((columns === null || columns === void 0 ? void 0 : columns.length) > 0)
|
|
1019
|
+
for (var i = 0; i < (columns === null || columns === void 0 ? void 0 : columns.length); i++)
|
|
1020
|
+
columnSelectionDictionary[columns[i]] = true;
|
|
1011
1021
|
for (var i = 0; i < objs.length; i++) {
|
|
1012
|
-
var hds = this.parseAndGetHeaders(objs[i]);
|
|
1022
|
+
var hds = this.parseAndGetHeaders(objs[i], columnSelectionDictionary);
|
|
1013
1023
|
// Aggiungo gli header facendo in modo di non aggiungerne mai due uguali per non dover fare una distinct dopo
|
|
1014
1024
|
// che costerebbe comunque risorse. Utilizzo un dizionario d'appoggio per lookup istantanei
|
|
1015
1025
|
for (var k = 0; k < hds.length; k++) {
|
|
@@ -1075,7 +1085,7 @@
|
|
|
1075
1085
|
*
|
|
1076
1086
|
* @returns {CsvHeaders[]} Header di esportazione già ordinati correttamente
|
|
1077
1087
|
*/
|
|
1078
|
-
ExportService.prototype.parseAndGetHeaders = function (obj) {
|
|
1088
|
+
ExportService.prototype.parseAndGetHeaders = function (obj, columnsSelection) {
|
|
1079
1089
|
var headers = [];
|
|
1080
1090
|
// Miracle incoming
|
|
1081
1091
|
var exportProps = obj[exportList];
|
|
@@ -1099,7 +1109,7 @@
|
|
|
1099
1109
|
toCall = this.parseProperty.bind(this);
|
|
1100
1110
|
}
|
|
1101
1111
|
if (toCall)
|
|
1102
|
-
toCall(obj, propBase, headers);
|
|
1112
|
+
toCall(obj, propBase, headers, columnsSelection);
|
|
1103
1113
|
}
|
|
1104
1114
|
return headers;
|
|
1105
1115
|
};
|
|
@@ -1111,9 +1121,12 @@
|
|
|
1111
1121
|
* @param {string} prop Proprietà da esportare
|
|
1112
1122
|
* @param {CsvHeaders} headers Contenitore degli header, verrà riempito da questa funzione
|
|
1113
1123
|
*/
|
|
1114
|
-
ExportService.prototype.parseProperty = function (obj, prop, headers) {
|
|
1124
|
+
ExportService.prototype.parseProperty = function (obj, prop, headers, columnsSelection) {
|
|
1115
1125
|
var toEmit = obj[prop + csvVisPrefix];
|
|
1116
1126
|
var format = obj[prop + csvFormatPrefix];
|
|
1127
|
+
var propKey = obj[prop + csvPropKey];
|
|
1128
|
+
if (propKey && !columnsSelection[propKey])
|
|
1129
|
+
return;
|
|
1117
1130
|
var lbl = obj[prop + csvHdrPrefix];
|
|
1118
1131
|
var order = obj[prop + csvOrdPrefix];
|
|
1119
1132
|
if (toEmit && lbl !== "undefined") {
|