@esfaenza/extensions 11.2.39 → 11.2.41
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 +21 -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 +17 -8
- package/fesm2015/esfaenza-extensions.js +19 -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,14 +864,17 @@
|
|
|
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; }
|
|
869
|
+
if (tableid === void 0) { tableid = null; }
|
|
865
870
|
return function (target, propertyKey) {
|
|
866
871
|
if (format)
|
|
867
872
|
Object.defineProperty(target, propertyKey + csvFormatPrefix, { value: format, writable: false });
|
|
868
873
|
Object.defineProperty(target, propertyKey + csvOrdPrefix, { value: order, writable: false });
|
|
869
874
|
Object.defineProperty(target, propertyKey + csvVisPrefix, { value: !!header, writable: false });
|
|
870
875
|
Object.defineProperty(target, propertyKey + csvHdrPrefix, { value: header, writable: false });
|
|
876
|
+
if (tableid)
|
|
877
|
+
Object.defineProperty(target, propertyKey + csvPropKey, { value: tableid, writable: false });
|
|
871
878
|
if (target[exportList])
|
|
872
879
|
target[exportList].push(propertyKey + csvVisPrefix);
|
|
873
880
|
else
|
|
@@ -1001,15 +1008,20 @@
|
|
|
1001
1008
|
*
|
|
1002
1009
|
* @returns {CsvHeaders[]} Header di esportazione già ordinati correttamente
|
|
1003
1010
|
*/
|
|
1004
|
-
ExportService.prototype.setupForExport = function (objs) {
|
|
1011
|
+
ExportService.prototype.setupForExport = function (objs, columns) {
|
|
1012
|
+
if (columns === void 0) { columns = []; }
|
|
1005
1013
|
var headers = [];
|
|
1006
1014
|
var headersCache = {};
|
|
1007
1015
|
if (!objs || objs.length == 0)
|
|
1008
1016
|
return headers;
|
|
1009
1017
|
// Devo per forza farlo per tutti gli oggetti dato che devo esporre le proprietà che mi servono da esportare
|
|
1010
1018
|
// Gli header li raccolgo tutti poi faccio uan distinct in modo da esportare tutte le proprietà per bene
|
|
1019
|
+
var columnSelectionDictionary = {};
|
|
1020
|
+
if ((columns === null || columns === void 0 ? void 0 : columns.length) > 0)
|
|
1021
|
+
for (var i = 0; i < (columns === null || columns === void 0 ? void 0 : columns.length); i++)
|
|
1022
|
+
columnSelectionDictionary[columns[i]] = true;
|
|
1011
1023
|
for (var i = 0; i < objs.length; i++) {
|
|
1012
|
-
var hds = this.parseAndGetHeaders(objs[i]);
|
|
1024
|
+
var hds = this.parseAndGetHeaders(objs[i], columnSelectionDictionary);
|
|
1013
1025
|
// Aggiungo gli header facendo in modo di non aggiungerne mai due uguali per non dover fare una distinct dopo
|
|
1014
1026
|
// che costerebbe comunque risorse. Utilizzo un dizionario d'appoggio per lookup istantanei
|
|
1015
1027
|
for (var k = 0; k < hds.length; k++) {
|
|
@@ -1075,7 +1087,7 @@
|
|
|
1075
1087
|
*
|
|
1076
1088
|
* @returns {CsvHeaders[]} Header di esportazione già ordinati correttamente
|
|
1077
1089
|
*/
|
|
1078
|
-
ExportService.prototype.parseAndGetHeaders = function (obj) {
|
|
1090
|
+
ExportService.prototype.parseAndGetHeaders = function (obj, columnsSelection) {
|
|
1079
1091
|
var headers = [];
|
|
1080
1092
|
// Miracle incoming
|
|
1081
1093
|
var exportProps = obj[exportList];
|
|
@@ -1099,7 +1111,7 @@
|
|
|
1099
1111
|
toCall = this.parseProperty.bind(this);
|
|
1100
1112
|
}
|
|
1101
1113
|
if (toCall)
|
|
1102
|
-
toCall(obj, propBase, headers);
|
|
1114
|
+
toCall(obj, propBase, headers, columnsSelection);
|
|
1103
1115
|
}
|
|
1104
1116
|
return headers;
|
|
1105
1117
|
};
|
|
@@ -1111,9 +1123,12 @@
|
|
|
1111
1123
|
* @param {string} prop Proprietà da esportare
|
|
1112
1124
|
* @param {CsvHeaders} headers Contenitore degli header, verrà riempito da questa funzione
|
|
1113
1125
|
*/
|
|
1114
|
-
ExportService.prototype.parseProperty = function (obj, prop, headers) {
|
|
1126
|
+
ExportService.prototype.parseProperty = function (obj, prop, headers, columnsSelection) {
|
|
1115
1127
|
var toEmit = obj[prop + csvVisPrefix];
|
|
1116
1128
|
var format = obj[prop + csvFormatPrefix];
|
|
1129
|
+
var propKey = obj[prop + csvPropKey];
|
|
1130
|
+
if (propKey && !columnsSelection[propKey])
|
|
1131
|
+
return;
|
|
1117
1132
|
var lbl = obj[prop + csvHdrPrefix];
|
|
1118
1133
|
var order = obj[prop + csvOrdPrefix];
|
|
1119
1134
|
if (toEmit && lbl !== "undefined") {
|