@esfaenza/extensions 13.1.4 → 13.1.5
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/ExtensionsModuleConfig.mjs +1 -1
- package/esm2020/lib/modules/extensions.full.module.mjs +3 -13
- package/esm2020/public-api.mjs +1 -4
- package/fesm2015/esfaenza-extensions.mjs +3 -239
- package/fesm2015/esfaenza-extensions.mjs.map +1 -1
- package/fesm2020/esfaenza-extensions.mjs +3 -237
- package/fesm2020/esfaenza-extensions.mjs.map +1 -1
- package/lib/models/ExtensionsModuleConfig.d.ts +0 -11
- package/lib/modules/extensions.full.module.d.ts +1 -2
- package/package.json +1 -1
- package/public-api.d.ts +0 -3
- package/esm2020/lib/models/providers/base/BaseStorageProvider.mjs +0 -25
- package/esm2020/lib/models/providers/implementation/DefaultStorageProvider.mjs +0 -79
- package/esm2020/lib/models/session/base/BaseSessionRetriever.mjs +0 -6
- package/esm2020/lib/models/session/implementation/DefaultSessionRetriever.mjs +0 -28
- package/esm2020/lib/services/extensions.storage.service.mjs +0 -105
- package/lib/models/providers/base/BaseStorageProvider.d.ts +0 -65
- package/lib/models/providers/implementation/DefaultStorageProvider.d.ts +0 -23
- package/lib/models/session/base/BaseSessionRetriever.d.ts +0 -11
- package/lib/models/session/implementation/DefaultSessionRetriever.d.ts +0 -21
- package/lib/services/extensions.storage.service.d.ts +0 -61
|
@@ -3,8 +3,6 @@ import { InjectionToken, NgModule, Injectable, Optional, Inject } from '@angular
|
|
|
3
3
|
import swal from 'sweetalert2';
|
|
4
4
|
import * as i1 from 'ngx-toastr';
|
|
5
5
|
import { Deserialize } from 'cerialize';
|
|
6
|
-
import { first, tap } from 'rxjs/operators';
|
|
7
|
-
import { of } from 'rxjs';
|
|
8
6
|
|
|
9
7
|
/**
|
|
10
8
|
* Token che identifica il locale da utilizzare per questa libreria, sono supportati i locali 'it-IT' ed 'en-US'
|
|
@@ -1757,234 +1755,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
1757
1755
|
type: Injectable
|
|
1758
1756
|
}] });
|
|
1759
1757
|
|
|
1760
|
-
/**
|
|
1761
|
-
* Classe astratta che si occupa di recuperare l'Id sessione univoco per applicazione ed utente collegato
|
|
1762
|
-
*/
|
|
1763
|
-
class BaseSessionRetriever {
|
|
1764
|
-
}
|
|
1765
|
-
|
|
1766
|
-
/**
|
|
1767
|
-
* Classe che gestisce la scrittura delle informazioni nello store locale.
|
|
1768
|
-
* Questo store locale potrebbe essere il localStorage (implementazione di default data dal **DefaultStorageProvider**),
|
|
1769
|
-
* oppure un'implementazione custom facente capo a un DB esterno.
|
|
1770
|
-
*
|
|
1771
|
-
* In questo ultimo caso però sarà necessario implementarsi un proprio **BaseSessionRetriever**
|
|
1772
|
-
* che generi una chiave univoca di sessione su cui tutte le operazioni di questa classe saranno eseguite
|
|
1773
|
-
*/
|
|
1774
|
-
class BaseStorageProvider {
|
|
1775
|
-
/** @ignore Costruttore */
|
|
1776
|
-
constructor(session) {
|
|
1777
|
-
this.session = session;
|
|
1778
|
-
}
|
|
1779
|
-
/**
|
|
1780
|
-
* Ottiene la chiave "Reale" da utilizzare per la persistenza di una chiave generica
|
|
1781
|
-
*
|
|
1782
|
-
* @param {string} key Chiave da storicizzare
|
|
1783
|
-
*
|
|
1784
|
-
* @returns {string} Unione fra l'identificativo della sessione e la chiave specificata
|
|
1785
|
-
*/
|
|
1786
|
-
getKey(key) {
|
|
1787
|
-
return this.session.getSessionKey() + "§" + key + "§";
|
|
1788
|
-
}
|
|
1789
|
-
}
|
|
1790
|
-
|
|
1791
|
-
// Angular
|
|
1792
|
-
/**
|
|
1793
|
-
* @deprecated Utilizzare "PreferencesService" dalla libreria "@esfaenza/preferences"
|
|
1794
|
-
*
|
|
1795
|
-
* Service che fornisce funzionalità di base per storicizzazione e recupero oggetti dallo Storage Locale
|
|
1796
|
-
*
|
|
1797
|
-
* N.B: In ogni chiamata è presente l'operatore rxjs **first()** per far sì che a prescindere dall'implementazione utente/default gli
|
|
1798
|
-
* observable effettuino l'unsubscribe automaticamente terminata la prima operazine
|
|
1799
|
-
*/
|
|
1800
|
-
class StorageService {
|
|
1801
|
-
/**
|
|
1802
|
-
* Costruttore
|
|
1803
|
-
*
|
|
1804
|
-
* @ignore
|
|
1805
|
-
*/
|
|
1806
|
-
constructor(APPSEARCH_PREFIX, _session, _storage) {
|
|
1807
|
-
this.APPSEARCH_PREFIX = APPSEARCH_PREFIX;
|
|
1808
|
-
this._session = _session;
|
|
1809
|
-
this._storage = _storage;
|
|
1810
|
-
}
|
|
1811
|
-
/**
|
|
1812
|
-
* Inserisce un oggetto che funga da contenitore di oggetti nel local storage, ripulendone gli oggetti (supponendo che sia una view di ricerca) e marcandolo come
|
|
1813
|
-
* salvato, in modo che quando viene recuperato il sistema non pensi che sia un oggetto vuoto ma che sappia che gli oggetti son stati ripuliti per risparmiare spazio
|
|
1814
|
-
*
|
|
1815
|
-
* @param {string} storeName Chiave del localStorage in cui storicizzare l'oggetto **itemsContainer**
|
|
1816
|
-
* @param {{ items: any[] }} itemsContainer Oggetto da storicizzare
|
|
1817
|
-
*/
|
|
1818
|
-
setItem(storeName, item) {
|
|
1819
|
-
var finalItem;
|
|
1820
|
-
//Se sto salvando un oggetto con "items" e "page" vuol dire che è un appsearch, la ripulisco
|
|
1821
|
-
if (item.items && item.page) {
|
|
1822
|
-
finalItem = JSON.parse(JSON.stringify(item));
|
|
1823
|
-
finalItem.items = [];
|
|
1824
|
-
finalItem.savedstate = true;
|
|
1825
|
-
finalItem.savedprefix = this.APPSEARCH_PREFIX || 'Hot';
|
|
1826
|
-
}
|
|
1827
|
-
else
|
|
1828
|
-
finalItem = item;
|
|
1829
|
-
return this._storage.setItem(storeName, finalItem).pipe(first(), tap(res => {
|
|
1830
|
-
if (res == false)
|
|
1831
|
-
console.error("Impossibile effettuare il salvataggio dell'oggetto all'interno dello Storage Locale per la chiave " + storeName);
|
|
1832
|
-
}));
|
|
1833
|
-
}
|
|
1834
|
-
/**
|
|
1835
|
-
* Recupera un oggetto dallo Storage Locale
|
|
1836
|
-
*
|
|
1837
|
-
* @param {string} storeName Chiave del localStorage da cui recuperare l'oggetto
|
|
1838
|
-
*
|
|
1839
|
-
* @returns {any} Oggetto recuperato e deserializzato
|
|
1840
|
-
*/
|
|
1841
|
-
getItem(storeName) {
|
|
1842
|
-
return this._storage.getItem(storeName).pipe(first(), tap(res => {
|
|
1843
|
-
if (res == null)
|
|
1844
|
-
console.warn("Impossibile ottenere l'oggetto salvato con chiave " + storeName);
|
|
1845
|
-
}));
|
|
1846
|
-
}
|
|
1847
|
-
/**
|
|
1848
|
-
* Ripulisce lo Storage Locale
|
|
1849
|
-
*
|
|
1850
|
-
* @param {string} storeName Chiave del localStorage da ripulire
|
|
1851
|
-
*/
|
|
1852
|
-
removeItem(storeName) {
|
|
1853
|
-
return this._storage.removeItem(storeName).pipe(first(), tap(res => {
|
|
1854
|
-
if (res == false)
|
|
1855
|
-
console.warn("Impossibile rimuovere l'oggetto salvato con chiave " + storeName);
|
|
1856
|
-
}));
|
|
1857
|
-
}
|
|
1858
|
-
/**
|
|
1859
|
-
* Ripulisce lo Storage Locale di ogni cosa salvata
|
|
1860
|
-
*
|
|
1861
|
-
* @param {string} storeName Chiave del localStorage da ripulire
|
|
1862
|
-
*/
|
|
1863
|
-
clear() {
|
|
1864
|
-
return this._storage.clear().pipe(first(), tap(res => {
|
|
1865
|
-
if (res == false)
|
|
1866
|
-
console.warn("Impossibile ripulire lo Storage Locale");
|
|
1867
|
-
}));
|
|
1868
|
-
}
|
|
1869
|
-
/**
|
|
1870
|
-
* Restituisce tutte le chiavi-valore associate alla sessione corrente
|
|
1871
|
-
*
|
|
1872
|
-
* @returns {Observable<{ [index: string]: string; }>} Risultato della query
|
|
1873
|
-
*/
|
|
1874
|
-
getAll() {
|
|
1875
|
-
return this._storage.getAll().pipe(first());
|
|
1876
|
-
}
|
|
1877
|
-
}
|
|
1878
|
-
StorageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: StorageService, deps: [{ token: APPSEARCH_PREFIX, optional: true }, { token: BaseSessionRetriever }, { token: BaseStorageProvider }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1879
|
-
StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: StorageService });
|
|
1880
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: StorageService, decorators: [{
|
|
1881
|
-
type: Injectable
|
|
1882
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
1883
|
-
type: Optional
|
|
1884
|
-
}, {
|
|
1885
|
-
type: Inject,
|
|
1886
|
-
args: [APPSEARCH_PREFIX]
|
|
1887
|
-
}] }, { type: BaseSessionRetriever }, { type: BaseStorageProvider }]; } });
|
|
1888
|
-
|
|
1889
|
-
/**
|
|
1890
|
-
* Implementazione di default per la classe **BaseSessionRetriever**
|
|
1891
|
-
*/
|
|
1892
|
-
class DefaultSessionRetriever extends BaseSessionRetriever {
|
|
1893
|
-
/**
|
|
1894
|
-
* Costruttore
|
|
1895
|
-
*
|
|
1896
|
-
* @ignore
|
|
1897
|
-
*/
|
|
1898
|
-
constructor() { super(); }
|
|
1899
|
-
/**
|
|
1900
|
-
* Ottiene un ID sessione
|
|
1901
|
-
*
|
|
1902
|
-
* @returns {string} ID sessione
|
|
1903
|
-
*/
|
|
1904
|
-
getSessionKey() {
|
|
1905
|
-
return "DUMMY_SESSION";
|
|
1906
|
-
}
|
|
1907
|
-
}
|
|
1908
|
-
DefaultSessionRetriever.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DefaultSessionRetriever, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1909
|
-
DefaultSessionRetriever.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DefaultSessionRetriever });
|
|
1910
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DefaultSessionRetriever, decorators: [{
|
|
1911
|
-
type: Injectable
|
|
1912
|
-
}], ctorParameters: function () { return []; } });
|
|
1913
|
-
|
|
1914
|
-
/** Implementazione di default per la classe **BaseStorageProvider** */
|
|
1915
|
-
class DefaultStorageProvider extends BaseStorageProvider {
|
|
1916
|
-
/** @ignore Costruttore */
|
|
1917
|
-
constructor(session) { super(session); }
|
|
1918
|
-
/** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
|
|
1919
|
-
setItem(key, value) {
|
|
1920
|
-
try {
|
|
1921
|
-
localStorage.setItem(key, JSON.stringify(value));
|
|
1922
|
-
return of(true);
|
|
1923
|
-
}
|
|
1924
|
-
catch {
|
|
1925
|
-
// Potrebbe arrivarmi un prefisso di salvataggio nella modalità di default. Questo serve per ripulire le stesse cose con quel prefisso e sperare di liberare spazio
|
|
1926
|
-
if (value.savedprefix) {
|
|
1927
|
-
console.warn("Spazio del local Storage insufficiente, prova a ripulirlo e risalvare");
|
|
1928
|
-
//Pulisco tutte le view con nome che parta per "Hot"
|
|
1929
|
-
for (let key in localStorage) {
|
|
1930
|
-
if (localStorage.hasOwnProperty(key) && key.startsWith(value.savedprefix))
|
|
1931
|
-
delete localStorage[key];
|
|
1932
|
-
}
|
|
1933
|
-
try {
|
|
1934
|
-
localStorage.setItem(key, JSON.stringify(value));
|
|
1935
|
-
}
|
|
1936
|
-
catch (e) {
|
|
1937
|
-
console.error("Spazio del local Storage insufficiente per salvare i risultati di ricerca con solo filtri. Non salvo nulla");
|
|
1938
|
-
}
|
|
1939
|
-
}
|
|
1940
|
-
return of(false);
|
|
1941
|
-
}
|
|
1942
|
-
}
|
|
1943
|
-
/** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
|
|
1944
|
-
getItem(key) {
|
|
1945
|
-
try {
|
|
1946
|
-
var ret = JSON.parse(localStorage.getItem(key));
|
|
1947
|
-
return of(ret);
|
|
1948
|
-
}
|
|
1949
|
-
catch {
|
|
1950
|
-
return of(null);
|
|
1951
|
-
}
|
|
1952
|
-
}
|
|
1953
|
-
/** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
|
|
1954
|
-
removeItem(key) {
|
|
1955
|
-
try {
|
|
1956
|
-
localStorage.removeItem(key);
|
|
1957
|
-
return of(true);
|
|
1958
|
-
}
|
|
1959
|
-
catch {
|
|
1960
|
-
return of(false);
|
|
1961
|
-
}
|
|
1962
|
-
}
|
|
1963
|
-
/** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
|
|
1964
|
-
clear() {
|
|
1965
|
-
try {
|
|
1966
|
-
localStorage.clear();
|
|
1967
|
-
return of(true);
|
|
1968
|
-
}
|
|
1969
|
-
catch {
|
|
1970
|
-
return of(false);
|
|
1971
|
-
}
|
|
1972
|
-
}
|
|
1973
|
-
/** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
|
|
1974
|
-
getAll() {
|
|
1975
|
-
var ret = {};
|
|
1976
|
-
for (let key in localStorage) {
|
|
1977
|
-
ret[key] = localStorage[key];
|
|
1978
|
-
}
|
|
1979
|
-
return of(ret);
|
|
1980
|
-
}
|
|
1981
|
-
}
|
|
1982
|
-
DefaultStorageProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DefaultStorageProvider, deps: [{ token: BaseSessionRetriever }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1983
|
-
DefaultStorageProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DefaultStorageProvider });
|
|
1984
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DefaultStorageProvider, decorators: [{
|
|
1985
|
-
type: Injectable
|
|
1986
|
-
}], ctorParameters: function () { return [{ type: BaseSessionRetriever }]; } });
|
|
1987
|
-
|
|
1988
1758
|
// Angular
|
|
1989
1759
|
/**
|
|
1990
1760
|
* Modulo di estensione che registra autonomamente **TUTTI** i servizi di estensione:
|
|
@@ -1993,8 +1763,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
1993
1763
|
* ExportService,
|
|
1994
1764
|
* HashingService,
|
|
1995
1765
|
* MessageService,
|
|
1996
|
-
* UtilityService
|
|
1997
|
-
* StorageService,
|
|
1766
|
+
* UtilityService
|
|
1998
1767
|
*
|
|
1999
1768
|
* con eventuali provider che utilizzano
|
|
2000
1769
|
*/
|
|
@@ -2009,13 +1778,10 @@ class FullExtensionsModule {
|
|
|
2009
1778
|
HashingService,
|
|
2010
1779
|
MessageService,
|
|
2011
1780
|
UtilityService,
|
|
2012
|
-
StorageService,
|
|
2013
1781
|
{ provide: EXT_LOCALE, useValue: config?.locale || 'it-IT' },
|
|
2014
1782
|
{ provide: EXT_FANCY_ALERTS, useValue: config?.fancy_alerts || true },
|
|
2015
1783
|
{ provide: APPSEARCH_PREFIX, useValue: config?.appsearch_prefix || 'Hot' },
|
|
2016
|
-
{ provide: EXT_ALLOW_UTC, useValue: config?.allow_utc == null ? false : config?.allow_utc }
|
|
2017
|
-
{ provide: BaseSessionRetriever, useClass: config?.sessionRetriever || DefaultSessionRetriever },
|
|
2018
|
-
{ provide: BaseStorageProvider, useClass: config?.storageProvider || DefaultStorageProvider },
|
|
1784
|
+
{ provide: EXT_ALLOW_UTC, useValue: config?.allow_utc == null ? false : config?.allow_utc }
|
|
2019
1785
|
]
|
|
2020
1786
|
};
|
|
2021
1787
|
}
|
|
@@ -2053,5 +1819,5 @@ class GenericItem {
|
|
|
2053
1819
|
* Generated bundle index. Do not edit.
|
|
2054
1820
|
*/
|
|
2055
1821
|
|
|
2056
|
-
export { APPSEARCH_PREFIX,
|
|
1822
|
+
export { APPSEARCH_PREFIX, CallResult, ClipboardService, CsvHeaders, DateService, EXT_ALLOW_UTC, EXT_FANCY_ALERTS, EXT_LOCALE, Export, ExportAs, ExportDictionary, ExportList, ExportService, ExtensionsModule, FullExtensionsModule, GenericItem, HashingService, MessageService, UtilityService };
|
|
2057
1823
|
//# sourceMappingURL=esfaenza-extensions.mjs.map
|