@esfaenza/extensions 11.2.42 → 11.2.44

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.
@@ -1031,7 +1031,23 @@
1031
1031
  }
1032
1032
  }
1033
1033
  }
1034
- return headers.sort(function (a, b) { return a.order - b.order; });
1034
+ if (!columns)
1035
+ return headers.sort(function (a, b) { return a.order - b.order; });
1036
+ else {
1037
+ // Se mi arriva la lista di colonne non mi dà solo la visibilità, ma anche l'ordinamento
1038
+ // le esporto di conseguenza
1039
+ var orderedHeaders = [];
1040
+ for (var i = 0; i < columns.length; i++) {
1041
+ var thisId = columns[i];
1042
+ for (var i_1 = 0; i_1 < headers.length; i_1++) {
1043
+ if (headers[i_1].propKey == thisId) {
1044
+ orderedHeaders.push(headers[i_1]);
1045
+ break;
1046
+ }
1047
+ }
1048
+ }
1049
+ return orderedHeaders;
1050
+ }
1035
1051
  };
1036
1052
  /**
1037
1053
  * Data una lista di oggetti generici genera gli header per l'esportazione e integra ogni oggetto con le proprietà esportabili dalla libreria **@ctrl/ngx-csv**
@@ -1073,7 +1089,7 @@
1073
1089
  columns.forEach(function (t) {
1074
1090
  var propValue = obj.properties[t.key];
1075
1091
  Object.defineProperty(obj, t.key + "_exp", { value: propValue, writable: false, enumerable: true });
1076
- headers.push({ label: t.label, key: t.key + "_exp", order: t.order, type: t.type });
1092
+ headers.push({ label: t.label, key: t.key + "_exp", order: t.order, type: t.type, propKey: null });
1077
1093
  });
1078
1094
  //Tirati fuori tutti gli header faccio sort sull'ordinamento
1079
1095
  return headers.sort(function (a, b) { return a.order - b.order; });
@@ -1129,8 +1145,10 @@
1129
1145
  var toEmit = obj[prop + csvVisPrefix];
1130
1146
  var format = obj[prop + csvFormatPrefix];
1131
1147
  var propKey = obj[prop + csvPropKey];
1132
- if (propKey && !columnsSelection[propKey])
1148
+ if (propKey && !columnsSelection[propKey]) {
1149
+ console.log("[@esfaenza/extensions] Colonna da non esportare: " + propKey);
1133
1150
  return;
1151
+ }
1134
1152
  var lbl = obj[prop + csvHdrPrefix];
1135
1153
  var order = obj[prop + csvOrdPrefix];
1136
1154
  if (toEmit && lbl !== "undefined") {
@@ -1139,7 +1157,7 @@
1139
1157
  // Se è un formato data mi assicuro di non stampare mai una data 00:00:00 altrimenti in esportazione viene uno schifo
1140
1158
  var val = obj[prop] ? this.dates.trimSeconds(obj[prop].toString()) : "";
1141
1159
  Object.defineProperty(obj, prop + "_nofmt", { value: val, writable: false, enumerable: true });
1142
- headers.push({ label: lbl ? lbl : prop + "_nofmt", key: prop + "_nofmt", order: order, type: "string" });
1160
+ headers.push({ label: lbl ? lbl : prop + "_nofmt", key: prop + "_nofmt", order: order, type: "string", propKey: propKey });
1143
1161
  }
1144
1162
  else {
1145
1163
  // Caso formato numerico
@@ -1151,7 +1169,7 @@
1151
1169
  // Il singolo punto che c'è, se presente (separatore decimali) lo trasformo in virgola
1152
1170
  var valConverted = val_1.replace(".", ",");
1153
1171
  Object.defineProperty(obj, prop + "_fmt", { value: valConverted, writable: false, enumerable: true });
1154
- headers.push({ label: lbl ? lbl : prop + "_fmt", key: prop + "_fmt", order: order, type: "number" });
1172
+ headers.push({ label: lbl ? lbl : prop + "_fmt", key: prop + "_fmt", order: order, type: "number", propKey: propKey });
1155
1173
  }
1156
1174
  else {
1157
1175
  // Se ho un formato data trasformo in dayjs, formatto ed esporto
@@ -1159,7 +1177,7 @@
1159
1177
  // Se non funziona provo a definirgli la formattazione standard del metering per quel linguaggio
1160
1178
  var val_2 = this.dates.getFormatted(obj[prop], format.length <= 10, format.length > 16);
1161
1179
  Object.defineProperty(obj, prop + "_fmt", { value: val_2 !== null && val_2 !== void 0 ? val_2 : "", writable: false, enumerable: true });
1162
- headers.push({ label: lbl ? lbl : prop + "_fmt", key: prop + "_fmt", order: order, type: "date" });
1180
+ headers.push({ label: lbl ? lbl : prop + "_fmt", key: prop + "_fmt", order: order, type: "date", propKey: propKey });
1163
1181
  }
1164
1182
  }
1165
1183
  }
@@ -1204,7 +1222,7 @@
1204
1222
  type = "date";
1205
1223
  }
1206
1224
  Object.defineProperty(obj, prop, { value: value, writable: false, enumerable: true });
1207
- headers.push({ label: lbl ? lbl : prop, key: prop, order: order, type: type });
1225
+ headers.push({ label: lbl ? lbl : prop, key: prop, order: order, type: type, propKey: null });
1208
1226
  };
1209
1227
  /**
1210
1228
  * Setup per l'esportazione di una lista di valori pivottati dinamicamente:
@@ -1258,7 +1276,7 @@
1258
1276
  type = "date";
1259
1277
  }
1260
1278
  Object.defineProperty(obj, prop + idx, { value: value, writable: false });
1261
- headers.push({ label: header, key: prop + idx, order: order + idx, type: type });
1279
+ headers.push({ label: header, key: prop + idx, order: order + idx, type: type, propKey: null });
1262
1280
  };
1263
1281
  var this_1 = this, headersplit, header;
1264
1282
  for (var idx = 0; idx < objs.length; idx++) {
@@ -1309,7 +1327,7 @@
1309
1327
  var value = tmpRes;
1310
1328
  var propname = prop + idx.toString() + idxinternal.toString();
1311
1329
  Object.defineProperty(obj, propname, { value: value, writable: false });
1312
- headers.push({ label: header + " " + desc, key: propname, order: order + idx, type: 'string' });
1330
+ headers.push({ label: header + " " + desc, key: propname, order: order + idx, type: 'string', propKey: null });
1313
1331
  });
1314
1332
  };
1315
1333
  var headersplit, header, valuesplit;