@esfaenza/extensions 11.2.17 → 11.2.21
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 +26 -15
- package/bundles/esfaenza-extensions.umd.js.map +1 -1
- package/bundles/esfaenza-extensions.umd.min.js +2 -2
- package/bundles/esfaenza-extensions.umd.min.js.map +1 -1
- package/esfaenza-extensions.metadata.json +1 -1
- package/esm2015/lib/models/CsvHeaders.js +1 -1
- package/esm2015/lib/services/extensions.exports.service.js +16 -9
- package/esm2015/lib/services/extensions.storage.service.js +13 -9
- package/fesm2015/esfaenza-extensions.js +27 -16
- package/fesm2015/esfaenza-extensions.js.map +1 -1
- package/lib/models/CsvHeaders.d.ts +4 -0
- package/lib/services/extensions.storage.service.d.ts +5 -0
- package/package.json +2 -2
|
@@ -2,7 +2,7 @@ import { InjectionToken, NgModule, Injectable, Optional, Inject } from '@angular
|
|
|
2
2
|
import { ToastrService } from 'ngx-toastr';
|
|
3
3
|
import swal from 'sweetalert2';
|
|
4
4
|
import { Deserialize } from 'cerialize';
|
|
5
|
-
import { tap } from 'rxjs/operators';
|
|
5
|
+
import { first, tap } from 'rxjs/operators';
|
|
6
6
|
import { of } from 'rxjs';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -982,7 +982,7 @@ class ExportService {
|
|
|
982
982
|
columns.forEach(t => {
|
|
983
983
|
var propValue = obj.properties[t.key];
|
|
984
984
|
Object.defineProperty(obj, t.key + "_exp", { value: propValue, writable: false, enumerable: true });
|
|
985
|
-
headers.push({ label: t.label, key: t.key + "_exp", order: t.order });
|
|
985
|
+
headers.push({ label: t.label, key: t.key + "_exp", order: t.order, type: t.type });
|
|
986
986
|
});
|
|
987
987
|
//Tirati fuori tutti gli header faccio sort sull'ordinamento
|
|
988
988
|
return headers.sort((a, b) => { return a.order - b.order; });
|
|
@@ -1035,7 +1035,7 @@ class ExportService {
|
|
|
1035
1035
|
// Se è un formato data mi assicuro di non stampare mai una data 00:00:00 altrimenti in esportazione viene uno schifo
|
|
1036
1036
|
var val = obj[prop] ? this.dates.trimSeconds(obj[prop].toString()) : "";
|
|
1037
1037
|
Object.defineProperty(obj, prop + "_nofmt", { value: val, writable: false, enumerable: true });
|
|
1038
|
-
headers.push({ label: lbl ? lbl : prop + "_nofmt", key: prop + "_nofmt", order: order });
|
|
1038
|
+
headers.push({ label: lbl ? lbl : prop + "_nofmt", key: prop + "_nofmt", order: order, type: "string" });
|
|
1039
1039
|
}
|
|
1040
1040
|
else {
|
|
1041
1041
|
// Caso formato numerico
|
|
@@ -1047,7 +1047,7 @@ class ExportService {
|
|
|
1047
1047
|
// Il singolo punto che c'è, se presente (separatore decimali) lo trasformo in virgola
|
|
1048
1048
|
let valConverted = val.replace(".", ",");
|
|
1049
1049
|
Object.defineProperty(obj, prop + "_fmt", { value: valConverted, writable: false, enumerable: true });
|
|
1050
|
-
headers.push({ label: lbl ? lbl : prop + "_fmt", key: prop + "_fmt", order: order });
|
|
1050
|
+
headers.push({ label: lbl ? lbl : prop + "_fmt", key: prop + "_fmt", order: order, type: "number" });
|
|
1051
1051
|
}
|
|
1052
1052
|
else {
|
|
1053
1053
|
// Se ho un formato data trasformo in dayjs, formatto ed esporto
|
|
@@ -1055,7 +1055,7 @@ class ExportService {
|
|
|
1055
1055
|
// Se non funziona provo a definirgli la formattazione standard del metering per quel linguaggio
|
|
1056
1056
|
let val = this.dates.getFormatted(obj[prop], format.length <= 10, false);
|
|
1057
1057
|
Object.defineProperty(obj, prop + "_fmt", { value: val !== null && val !== void 0 ? val : "", writable: false, enumerable: true });
|
|
1058
|
-
headers.push({ label: lbl ? lbl : prop + "_fmt", key: prop + "_fmt", order: order });
|
|
1058
|
+
headers.push({ label: lbl ? lbl : prop + "_fmt", key: prop + "_fmt", order: order, type: "date" });
|
|
1059
1059
|
}
|
|
1060
1060
|
}
|
|
1061
1061
|
}
|
|
@@ -1088,16 +1088,19 @@ class ExportService {
|
|
|
1088
1088
|
let order = obj[prop + csvOrdPrefix];
|
|
1089
1089
|
//Se per questa proprietà ho un formato lo applico
|
|
1090
1090
|
let format = obj[prop + csvFormatPrefix];
|
|
1091
|
+
let type = "string";
|
|
1091
1092
|
if (format == "F") {
|
|
1092
1093
|
let val = value.toString();
|
|
1093
1094
|
val = val.replace(/,/, "");
|
|
1094
1095
|
value = val.replace(".", ",");
|
|
1096
|
+
type = "number";
|
|
1095
1097
|
}
|
|
1096
1098
|
else if (format) {
|
|
1097
1099
|
value = this.dates.getFormatted(value, format.length <= 10, false);
|
|
1100
|
+
type = "date";
|
|
1098
1101
|
}
|
|
1099
1102
|
Object.defineProperty(obj, prop, { value: value, writable: false, enumerable: true });
|
|
1100
|
-
headers.push({ label: lbl ? lbl : prop, key: prop, order: order });
|
|
1103
|
+
headers.push({ label: lbl ? lbl : prop, key: prop, order: order, type: type });
|
|
1101
1104
|
}
|
|
1102
1105
|
/**
|
|
1103
1106
|
* Setup per l'esportazione di una lista di valori pivottati dinamicamente:
|
|
@@ -1139,15 +1142,19 @@ class ExportService {
|
|
|
1139
1142
|
tmpRes = JSON.parse(JSON.stringify(listitem));
|
|
1140
1143
|
jumps.forEach(pp => { tmpRes = tmpRes[pp]; });
|
|
1141
1144
|
let value = tmpRes;
|
|
1145
|
+
let type = "string";
|
|
1142
1146
|
if (valueformat == "F") {
|
|
1143
1147
|
let val = value != null ? value.toString() : "";
|
|
1144
1148
|
val = val.replace(/,/, "");
|
|
1145
1149
|
value = val.replace(".", ",");
|
|
1150
|
+
type = "number";
|
|
1146
1151
|
}
|
|
1147
|
-
else if (valueformat)
|
|
1152
|
+
else if (valueformat) {
|
|
1148
1153
|
value = this.dates.getFormatted(obj[prop], valueformat.length <= 10, false);
|
|
1154
|
+
type = "date";
|
|
1155
|
+
}
|
|
1149
1156
|
Object.defineProperty(obj, prop + idx, { value: value, writable: false });
|
|
1150
|
-
headers.push({ label: header, key: prop + idx, order: order + idx });
|
|
1157
|
+
headers.push({ label: header, key: prop + idx, order: order + idx, type: type });
|
|
1151
1158
|
}
|
|
1152
1159
|
}
|
|
1153
1160
|
/**
|
|
@@ -1194,7 +1201,7 @@ class ExportService {
|
|
|
1194
1201
|
let value = tmpRes;
|
|
1195
1202
|
let propname = prop + idx.toString() + idxinternal.toString();
|
|
1196
1203
|
Object.defineProperty(obj, propname, { value: value, writable: false });
|
|
1197
|
-
headers.push({ label: header + " " + desc, key: propname, order: order + idx });
|
|
1204
|
+
headers.push({ label: header + " " + desc, key: propname, order: order + idx, type: 'string' });
|
|
1198
1205
|
});
|
|
1199
1206
|
}
|
|
1200
1207
|
}
|
|
@@ -1763,7 +1770,12 @@ class BaseSessionRetriever {
|
|
|
1763
1770
|
|
|
1764
1771
|
// Angular
|
|
1765
1772
|
/**
|
|
1773
|
+
* @deprecated Utilizzare "PreferencesService" dalla libreria "@esfaenza/preferences"
|
|
1774
|
+
*
|
|
1766
1775
|
* Service che fornisce funzionalità di base per storicizzazione e recupero oggetti dallo Storage Locale
|
|
1776
|
+
*
|
|
1777
|
+
* N.B: In ogni chiamata è presente l'operatore rxjs **first()** per far sì che a prescindere dall'implementazione utente/default gli
|
|
1778
|
+
* observable effettuino l'unsubscribe automaticamente terminata la prima operazine
|
|
1767
1779
|
*/
|
|
1768
1780
|
class StorageService {
|
|
1769
1781
|
/**
|
|
@@ -1794,10 +1806,9 @@ class StorageService {
|
|
|
1794
1806
|
}
|
|
1795
1807
|
else
|
|
1796
1808
|
finalItem = item;
|
|
1797
|
-
return this._storage.setItem(storeName, finalItem).pipe(tap(res => {
|
|
1798
|
-
if (res == false)
|
|
1809
|
+
return this._storage.setItem(storeName, finalItem).pipe(first(), tap(res => {
|
|
1810
|
+
if (res == false)
|
|
1799
1811
|
console.error("Impossibile effettuare il salvataggio dell'oggetto all'interno dello Storage Locale per la chiave " + storeName);
|
|
1800
|
-
}
|
|
1801
1812
|
}));
|
|
1802
1813
|
}
|
|
1803
1814
|
/**
|
|
@@ -1808,7 +1819,7 @@ class StorageService {
|
|
|
1808
1819
|
* @returns {any} Oggetto recuperato e deserializzato
|
|
1809
1820
|
*/
|
|
1810
1821
|
getItem(storeName) {
|
|
1811
|
-
return this._storage.getItem(storeName).pipe(tap(res => {
|
|
1822
|
+
return this._storage.getItem(storeName).pipe(first(), tap(res => {
|
|
1812
1823
|
if (res == null)
|
|
1813
1824
|
console.warn("Impossibile ottenere l'oggetto salvato con chiave " + storeName);
|
|
1814
1825
|
}));
|
|
@@ -1819,7 +1830,7 @@ class StorageService {
|
|
|
1819
1830
|
* @param {string} storeName Chiave del localStorage da ripulire
|
|
1820
1831
|
*/
|
|
1821
1832
|
removeItem(storeName) {
|
|
1822
|
-
return this._storage.removeItem(storeName).pipe(tap(res => {
|
|
1833
|
+
return this._storage.removeItem(storeName).pipe(first(), tap(res => {
|
|
1823
1834
|
if (res == false)
|
|
1824
1835
|
console.warn("Impossibile rimuovere l'oggetto salvato con chiave " + storeName);
|
|
1825
1836
|
}));
|
|
@@ -1830,7 +1841,7 @@ class StorageService {
|
|
|
1830
1841
|
* @param {string} storeName Chiave del localStorage da ripulire
|
|
1831
1842
|
*/
|
|
1832
1843
|
clear() {
|
|
1833
|
-
return this._storage.clear().pipe(tap(res => {
|
|
1844
|
+
return this._storage.clear().pipe(first(), tap(res => {
|
|
1834
1845
|
if (res == false)
|
|
1835
1846
|
console.warn("Impossibile ripulire lo Storage Locale");
|
|
1836
1847
|
}));
|
|
@@ -1841,7 +1852,7 @@ class StorageService {
|
|
|
1841
1852
|
* @returns {Observable<{ [index: string]: string; }>} Risultato della query
|
|
1842
1853
|
*/
|
|
1843
1854
|
getAll() {
|
|
1844
|
-
return this._storage.getAll();
|
|
1855
|
+
return this._storage.getAll().pipe(first());
|
|
1845
1856
|
}
|
|
1846
1857
|
}
|
|
1847
1858
|
StorageService.decorators = [
|