@esfaenza/extensions 11.2.11 → 11.2.15
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 +499 -63
- package/bundles/esfaenza-extensions.umd.js.map +1 -1
- package/bundles/esfaenza-extensions.umd.min.js +16 -1
- package/bundles/esfaenza-extensions.umd.min.js.map +1 -1
- package/esfaenza-extensions.d.ts +2 -0
- package/esfaenza-extensions.metadata.json +1 -1
- package/esm2015/esfaenza-extensions.js +3 -1
- package/esm2015/lib/models/ExtensionsModuleConfig.js +1 -1
- package/esm2015/lib/models/providers/base/BaseStorageProvider.js +11 -0
- package/esm2015/lib/models/providers/implementation/DefaultStorageProvider.js +68 -0
- package/esm2015/lib/models/session/base/BaseSessionRetriever.js +6 -0
- package/esm2015/lib/models/session/implementation/DefaultSessionRetriever.js +26 -0
- package/esm2015/lib/modules/extensions.full.module.js +11 -2
- package/esm2015/lib/services/extensions.hashing.service.js +14 -21
- package/esm2015/lib/services/extensions.storage.service.js +47 -39
- package/esm2015/public-api.js +3 -1
- package/fesm2015/esfaenza-extensions.js +170 -60
- package/fesm2015/esfaenza-extensions.js.map +1 -1
- package/lib/models/ExtensionsModuleConfig.d.ts +11 -0
- package/lib/models/providers/base/BaseStorageProvider.d.ts +51 -0
- package/lib/models/providers/implementation/DefaultStorageProvider.d.ts +15 -0
- package/lib/models/session/base/BaseSessionRetriever.d.ts +11 -0
- package/lib/models/session/implementation/DefaultSessionRetriever.d.ts +18 -0
- package/lib/modules/extensions.full.module.d.ts +2 -0
- package/lib/services/extensions.hashing.service.d.ts +3 -7
- package/lib/services/extensions.storage.service.d.ts +18 -16
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
// Angular
|
|
2
2
|
import { Injectable, Inject, Optional } from "@angular/core";
|
|
3
|
+
import { BaseStorageProvider } from "../models/providers/base/BaseStorageProvider";
|
|
4
|
+
import { BaseSessionRetriever } from "../models/session/base/BaseSessionRetriever";
|
|
3
5
|
// Modelli
|
|
4
6
|
import { APPSEARCH_PREFIX } from '../tokens';
|
|
7
|
+
import { tap } from "rxjs/operators";
|
|
5
8
|
/**
|
|
6
|
-
* Service che fornisce funzionalità di base per storicizzazione e recupero oggetti
|
|
9
|
+
* Service che fornisce funzionalità di base per storicizzazione e recupero oggetti dallo Storage Locale
|
|
7
10
|
*/
|
|
8
11
|
export class StorageService {
|
|
9
12
|
/**
|
|
@@ -11,8 +14,10 @@ export class StorageService {
|
|
|
11
14
|
*
|
|
12
15
|
* @ignore
|
|
13
16
|
*/
|
|
14
|
-
constructor(APPSEARCH_PREFIX) {
|
|
17
|
+
constructor(APPSEARCH_PREFIX, _session, _storage) {
|
|
15
18
|
this.APPSEARCH_PREFIX = APPSEARCH_PREFIX;
|
|
19
|
+
this._session = _session;
|
|
20
|
+
this._storage = _storage;
|
|
16
21
|
}
|
|
17
22
|
/**
|
|
18
23
|
* 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
|
|
@@ -21,62 +26,65 @@ export class StorageService {
|
|
|
21
26
|
* @param {string} storeName Chiave del localStorage in cui storicizzare l'oggetto **itemsContainer**
|
|
22
27
|
* @param {{ items: any[] }} itemsContainer Oggetto da storicizzare
|
|
23
28
|
*/
|
|
24
|
-
setItem(storeName,
|
|
25
|
-
var
|
|
26
|
-
//
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
setItem(storeName, item) {
|
|
30
|
+
var finalItem;
|
|
31
|
+
//Se sto salvando un oggetto con "items" e "page" vuol dire che è un appsearch, la ripulisco
|
|
32
|
+
if (item.items && item.page) {
|
|
33
|
+
finalItem = JSON.parse(JSON.stringify(item));
|
|
34
|
+
finalItem.items = [];
|
|
35
|
+
finalItem.savedstate = true;
|
|
36
|
+
finalItem.savedprefix = this.APPSEARCH_PREFIX || 'Hot';
|
|
32
37
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
delete localStorage[key];
|
|
38
|
+
else
|
|
39
|
+
finalItem = item;
|
|
40
|
+
return this._storage.setItem(this._session.getSessionKey(), storeName, finalItem).pipe(tap(res => {
|
|
41
|
+
if (res == false) {
|
|
42
|
+
console.error("Impossibile effettuare il salvataggio dell'oggetto all'interno dello Storage Locale per la chiave " + storeName);
|
|
39
43
|
}
|
|
40
|
-
|
|
41
|
-
localStorage.setItem(storeName, JSON.stringify(item));
|
|
42
|
-
}
|
|
43
|
-
catch (e) {
|
|
44
|
-
console.error("Spazio del local Storage insufficiente per salvare i risultati di ricerca con solo filtri. Non salvo nulla");
|
|
45
|
-
}
|
|
46
|
-
}
|
|
44
|
+
}));
|
|
47
45
|
}
|
|
48
46
|
/**
|
|
49
|
-
*
|
|
47
|
+
* Recupera un oggetto dallo Storage Locale
|
|
48
|
+
*
|
|
49
|
+
* @param {string} storeName Chiave del localStorage da cui recuperare l'oggetto
|
|
50
50
|
*
|
|
51
|
-
* @
|
|
52
|
-
* @param {any} item Oggetto da storicizzare
|
|
51
|
+
* @returns {any} Oggetto recuperato e deserializzato
|
|
53
52
|
*/
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
getItem(storeName) {
|
|
54
|
+
return this._storage.getItem(this._session.getSessionKey(), storeName).pipe(tap(res => {
|
|
55
|
+
if (res == null)
|
|
56
|
+
console.warn("Impossibile ottenere l'oggetto salvato con chiave " + storeName);
|
|
57
|
+
}));
|
|
56
58
|
}
|
|
57
59
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* @param {string} storeName Chiave del localStorage da cui recuperare l'oggetto
|
|
60
|
+
* Ripulisce lo Storage Locale
|
|
61
61
|
*
|
|
62
|
-
* @
|
|
62
|
+
* @param {string} storeName Chiave del localStorage da ripulire
|
|
63
63
|
*/
|
|
64
|
-
|
|
65
|
-
return
|
|
64
|
+
removeItem(storeName) {
|
|
65
|
+
return this._storage.removeItem(this._session.getSessionKey(), storeName).pipe(tap(res => {
|
|
66
|
+
if (res == false)
|
|
67
|
+
console.warn("Impossibile rimuovere l'oggetto salvato con chiave " + storeName);
|
|
68
|
+
}));
|
|
66
69
|
}
|
|
67
70
|
/**
|
|
68
|
-
* Ripulisce
|
|
71
|
+
* Ripulisce lo Storage Locale di ogni cosa salvata
|
|
69
72
|
*
|
|
70
73
|
* @param {string} storeName Chiave del localStorage da ripulire
|
|
71
74
|
*/
|
|
72
|
-
clear(
|
|
73
|
-
|
|
75
|
+
clear() {
|
|
76
|
+
return this._storage.clear(this._session.getSessionKey()).pipe(tap(res => {
|
|
77
|
+
if (res == false)
|
|
78
|
+
console.warn("Impossibile ripulire lo Storage Locale");
|
|
79
|
+
}));
|
|
74
80
|
}
|
|
75
81
|
}
|
|
76
82
|
StorageService.decorators = [
|
|
77
83
|
{ type: Injectable }
|
|
78
84
|
];
|
|
79
85
|
StorageService.ctorParameters = () => [
|
|
80
|
-
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [APPSEARCH_PREFIX,] }] }
|
|
86
|
+
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [APPSEARCH_PREFIX,] }] },
|
|
87
|
+
{ type: BaseSessionRetriever },
|
|
88
|
+
{ type: BaseStorageProvider }
|
|
81
89
|
];
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL3NyYy9saWIvc2VydmljZXMvZXh0ZW5zaW9ucy5zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUVuRixVQUFVO0FBQ1YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBSTdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQzs7R0FFRztBQUVILE1BQU0sT0FBTyxjQUFjO0lBRXZCOzs7O09BSUc7SUFDSCxZQUEwRCxnQkFBd0IsRUFBVSxRQUE4QixFQUFVLFFBQTZCO1FBQXZHLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBUTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQXNCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7SUFBSSxDQUFDO0lBRXRLOzs7Ozs7T0FNRztJQUNJLE9BQU8sQ0FBSSxTQUFpQixFQUFFLElBQU87UUFDeEMsSUFBSSxTQUFjLENBQUM7UUFDbkIsNEZBQTRGO1FBQzVGLElBQVUsSUFBSyxDQUFDLEtBQUssSUFBVSxJQUFLLENBQUMsSUFBSSxFQUFFO1lBQ3ZDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM3QyxTQUFTLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNyQixTQUFTLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN0QixTQUFVLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxLQUFLLENBQUM7U0FDakU7O1lBRUcsU0FBUyxHQUFHLElBQUksQ0FBQztRQUVyQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDN0YsSUFBSSxHQUFHLElBQUksS0FBSyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0dBQW9HLEdBQUcsU0FBUyxDQUFDLENBQUM7YUFDbkk7UUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE9BQU8sQ0FBSSxTQUFpQjtRQUMvQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNyRixJQUFJLEdBQUcsSUFBSSxJQUFJO2dCQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0RBQW9ELEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDdkYsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksVUFBVSxDQUFDLFNBQWlCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3JGLElBQUksR0FBRyxJQUFJLEtBQUs7Z0JBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxxREFBcUQsR0FBRyxTQUFTLENBQUMsQ0FBQztRQUN4RixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNyRSxJQUFJLEdBQUcsSUFBSSxLQUFLO2dCQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0NBQXdDLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs7O1lBeEVKLFVBQVU7Ozt5Q0FRTSxRQUFRLFlBQUksTUFBTSxTQUFDLGdCQUFnQjtZQXBCM0Msb0JBQW9CO1lBRHBCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJhc2VTdG9yYWdlUHJvdmlkZXIgfSBmcm9tIFwiLi4vbW9kZWxzL3Byb3ZpZGVycy9iYXNlL0Jhc2VTdG9yYWdlUHJvdmlkZXJcIjtcclxuaW1wb3J0IHsgQmFzZVNlc3Npb25SZXRyaWV2ZXIgfSBmcm9tIFwiLi4vbW9kZWxzL3Nlc3Npb24vYmFzZS9CYXNlU2Vzc2lvblJldHJpZXZlclwiO1xyXG5cclxuLy8gTW9kZWxsaVxyXG5pbXBvcnQgeyBBUFBTRUFSQ0hfUFJFRklYIH0gZnJvbSAnLi4vdG9rZW5zJztcclxuXHJcbi8vIFJYSlNcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgY2hlIGZvcm5pc2NlIGZ1bnppb25hbGl0w6AgZGkgYmFzZSBwZXIgc3RvcmljaXp6YXppb25lIGUgcmVjdXBlcm8gb2dnZXR0aSBkYWxsbyBTdG9yYWdlIExvY2FsZVxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3RvcmFnZVNlcnZpY2Uge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29zdHJ1dHRvcmVcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KEFQUFNFQVJDSF9QUkVGSVgpIHByaXZhdGUgQVBQU0VBUkNIX1BSRUZJWDogc3RyaW5nLCBwcml2YXRlIF9zZXNzaW9uOiBCYXNlU2Vzc2lvblJldHJpZXZlciwgcHJpdmF0ZSBfc3RvcmFnZTogQmFzZVN0b3JhZ2VQcm92aWRlcikgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbnNlcmlzY2UgdW4gb2dnZXR0byBjaGUgZnVuZ2EgZGEgY29udGVuaXRvcmUgZGkgb2dnZXR0aSBuZWwgbG9jYWwgc3RvcmFnZSwgcmlwdWxlbmRvbmUgZ2xpIG9nZ2V0dGkgKHN1cHBvbmVuZG8gY2hlIHNpYSB1bmEgdmlldyBkaSByaWNlcmNhKSBlIG1hcmNhbmRvbG8gY29tZSBcclxuICAgICAqIHNhbHZhdG8sIGluIG1vZG8gY2hlIHF1YW5kbyB2aWVuZSByZWN1cGVyYXRvIGlsIHNpc3RlbWEgbm9uIHBlbnNpIGNoZSBzaWEgdW4gb2dnZXR0byB2dW90byBtYSBjaGUgc2FwcGlhIGNoZSBnbGkgb2dnZXR0aSBzb24gc3RhdGkgcmlwdWxpdGkgcGVyIHJpc3Bhcm1pYXJlIHNwYXppb1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RvcmVOYW1lIENoaWF2ZSBkZWwgbG9jYWxTdG9yYWdlIGluIGN1aSBzdG9yaWNpenphcmUgbCdvZ2dldHRvICoqaXRlbXNDb250YWluZXIqKlxyXG4gICAgICogQHBhcmFtIHt7IGl0ZW1zOiBhbnlbXSB9fSBpdGVtc0NvbnRhaW5lciBPZ2dldHRvIGRhIHN0b3JpY2l6emFyZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0SXRlbTxUPihzdG9yZU5hbWU6IHN0cmluZywgaXRlbTogVCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHZhciBmaW5hbEl0ZW06IGFueTtcclxuICAgICAgICAvL1NlIHN0byBzYWx2YW5kbyB1biBvZ2dldHRvIGNvbiBcIml0ZW1zXCIgZSBcInBhZ2VcIiB2dW9sIGRpcmUgY2hlIMOoIHVuIGFwcHNlYXJjaCwgbGEgcmlwdWxpc2NvXHJcbiAgICAgICAgaWYgKCg8YW55Pml0ZW0pLml0ZW1zICYmICg8YW55Pml0ZW0pLnBhZ2UpIHtcclxuICAgICAgICAgICAgZmluYWxJdGVtID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpdGVtKSk7XHJcbiAgICAgICAgICAgIGZpbmFsSXRlbS5pdGVtcyA9IFtdO1xyXG4gICAgICAgICAgICBmaW5hbEl0ZW0uc2F2ZWRzdGF0ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICg8YW55PmZpbmFsSXRlbSkuc2F2ZWRwcmVmaXggPSB0aGlzLkFQUFNFQVJDSF9QUkVGSVggfHwgJ0hvdCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgZmluYWxJdGVtID0gaXRlbTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0b3JhZ2Uuc2V0SXRlbSh0aGlzLl9zZXNzaW9uLmdldFNlc3Npb25LZXkoKSwgc3RvcmVOYW1lLCBmaW5hbEl0ZW0pLnBpcGUodGFwKHJlcyA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgPT0gZmFsc2UpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJJbXBvc3NpYmlsZSBlZmZldHR1YXJlIGlsIHNhbHZhdGFnZ2lvIGRlbGwnb2dnZXR0byBhbGwnaW50ZXJubyBkZWxsbyBTdG9yYWdlIExvY2FsZSBwZXIgbGEgY2hpYXZlIFwiICsgc3RvcmVOYW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlY3VwZXJhIHVuIG9nZ2V0dG8gZGFsbG8gU3RvcmFnZSBMb2NhbGVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHN0b3JlTmFtZSBDaGlhdmUgZGVsIGxvY2FsU3RvcmFnZSBkYSBjdWkgcmVjdXBlcmFyZSBsJ29nZ2V0dG9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge2FueX0gT2dnZXR0byByZWN1cGVyYXRvIGUgZGVzZXJpYWxpenphdG9cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEl0ZW08VD4oc3RvcmVOYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc3RvcmFnZS5nZXRJdGVtPFQ+KHRoaXMuX3Nlc3Npb24uZ2V0U2Vzc2lvbktleSgpLCBzdG9yZU5hbWUpLnBpcGUodGFwKHJlcyA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgPT0gbnVsbClcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkltcG9zc2liaWxlIG90dGVuZXJlIGwnb2dnZXR0byBzYWx2YXRvIGNvbiBjaGlhdmUgXCIgKyBzdG9yZU5hbWUpO1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJpcHVsaXNjZSBsbyBTdG9yYWdlIExvY2FsZSBcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHN0b3JlTmFtZSBDaGlhdmUgZGVsIGxvY2FsU3RvcmFnZSBkYSByaXB1bGlyZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVtb3ZlSXRlbShzdG9yZU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5fc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCksIHN0b3JlTmFtZSkucGlwZSh0YXAocmVzID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyA9PSBmYWxzZSlcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkltcG9zc2liaWxlIHJpbXVvdmVyZSBsJ29nZ2V0dG8gc2FsdmF0byBjb24gY2hpYXZlIFwiICsgc3RvcmVOYW1lKTtcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSaXB1bGlzY2UgbG8gU3RvcmFnZSBMb2NhbGUgZGkgb2duaSBjb3NhIHNhbHZhdGFcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHN0b3JlTmFtZSBDaGlhdmUgZGVsIGxvY2FsU3RvcmFnZSBkYSByaXB1bGlyZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgY2xlYXIoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0b3JhZ2UuY2xlYXIodGhpcy5fc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCkpLnBpcGUodGFwKHJlcyA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgPT0gZmFsc2UpXHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJJbXBvc3NpYmlsZSByaXB1bGlyZSBsbyBTdG9yYWdlIExvY2FsZVwiKTtcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcbn0iXX0=
|
package/esm2015/public-api.js
CHANGED
|
@@ -14,4 +14,6 @@ export * from './lib/tokens';
|
|
|
14
14
|
export * from './lib/models/CallResult';
|
|
15
15
|
export * from './lib/models/CsvHeaders';
|
|
16
16
|
export * from './lib/models/GenericItem';
|
|
17
|
-
|
|
17
|
+
export * from './lib/models/providers/base/BaseStorageProvider';
|
|
18
|
+
export * from './lib/models/session/base/BaseSessionRetriever';
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsZ0RBQWdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZXh0ZW5zaW9uc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9leHRlbnNpb25zLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZXh0ZW5zaW9ucy5mdWxsLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2V4dGVuc2lvbnMuZGF0ZXMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2V4dGVuc2lvbnMuZXhwb3J0cy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZXh0ZW5zaW9ucy5jbGlwYm9hcmQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2V4dGVuc2lvbnMuaGFzaGluZy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZXh0ZW5zaW9ucy5tZXNzYWdlcy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZXh0ZW5zaW9ucy51dGlsaXRpZXMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2V4dGVuc2lvbnMuc3RvcmFnZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9rZW5zJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL0NhbGxSZXN1bHQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvQ3N2SGVhZGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9HZW5lcmljSXRlbSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm92aWRlcnMvYmFzZS9CYXNlU3RvcmFnZVByb3ZpZGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Nlc3Npb24vYmFzZS9CYXNlU2Vzc2lvblJldHJpZXZlcic7Il19
|
|
@@ -2,6 +2,8 @@ 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';
|
|
6
|
+
import { of } from 'rxjs';
|
|
5
7
|
|
|
6
8
|
/**
|
|
7
9
|
* Token che identifica il locale da utilizzare per questa libreria, sono supportati i locali 'it-IT' ed 'en-US'
|
|
@@ -1257,33 +1259,26 @@ class HashingService {
|
|
|
1257
1259
|
*/
|
|
1258
1260
|
hashObject(o, level = 0, navigateFullDepth = false, precise = false) {
|
|
1259
1261
|
var strDef = this.stringify(o, level, navigateFullDepth);
|
|
1260
|
-
var hash = precise ? this.md5(strDef) : this.
|
|
1262
|
+
var hash = precise ? this.md5(strDef) : this.simpleHash(strDef);
|
|
1261
1263
|
return hash;
|
|
1262
1264
|
}
|
|
1263
1265
|
/**
|
|
1264
|
-
* Hash più semplice e più veloce dell'md5, ma meno sicuro
|
|
1266
|
+
* Hash più semplice e più veloce dell'md5, ma meno sicuro
|
|
1265
1267
|
*
|
|
1266
|
-
*
|
|
1267
|
-
*/
|
|
1268
|
-
simpleHash(str) {
|
|
1269
|
-
let hash = 0;
|
|
1270
|
-
for (let i = 0; i < str.length; i++) {
|
|
1271
|
-
const char = str.charCodeAt(i);
|
|
1272
|
-
hash = (hash << 5) - hash + char;
|
|
1273
|
-
hash &= hash; // Convert to 32bit integer
|
|
1274
|
-
}
|
|
1275
|
-
return new Uint32Array([hash])[0].toString(36);
|
|
1276
|
-
}
|
|
1277
|
-
/**
|
|
1278
|
-
* Hash più semplice e più veloce dell'md5, ma meno sicuro... vediamo come va
|
|
1268
|
+
* Vedi https://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript
|
|
1279
1269
|
*
|
|
1280
1270
|
* @param {string} str Stringa di cui calcolare l'hash
|
|
1281
1271
|
*/
|
|
1282
|
-
|
|
1283
|
-
let
|
|
1284
|
-
for (i = 0,
|
|
1285
|
-
|
|
1286
|
-
|
|
1272
|
+
simpleHash(str, seed = 0) {
|
|
1273
|
+
let h1 = 0xdeadbeef ^ seed, h2 = 0x41c6ce57 ^ seed;
|
|
1274
|
+
for (let i = 0, ch; i < str.length; i++) {
|
|
1275
|
+
ch = str.charCodeAt(i);
|
|
1276
|
+
h1 = Math.imul(h1 ^ ch, 2654435761);
|
|
1277
|
+
h2 = Math.imul(h2 ^ ch, 1597334677);
|
|
1278
|
+
}
|
|
1279
|
+
h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909);
|
|
1280
|
+
h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909);
|
|
1281
|
+
return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString();
|
|
1287
1282
|
}
|
|
1288
1283
|
/**
|
|
1289
1284
|
* Genera una stringa che identifica univocamente l'oggetto in questione
|
|
@@ -1735,9 +1730,26 @@ UtilityService.decorators = [
|
|
|
1735
1730
|
{ type: Injectable }
|
|
1736
1731
|
];
|
|
1737
1732
|
|
|
1733
|
+
/**
|
|
1734
|
+
* Classe che gestisce la scrittura delle informazioni nello store locale.
|
|
1735
|
+
* Questo store locale potrebbe essere il localStorage (implementazione di default data dal **DefaultStorageProvider**),
|
|
1736
|
+
* oppure un'implementazione custom facente capo a un DB esterno.
|
|
1737
|
+
*
|
|
1738
|
+
* In questo ultimo caso però sarà necessario implementarsi un proprio **BaseSessionRetriever**
|
|
1739
|
+
* che generi una chiave univoca di sessione su cui tutte le operazioni di questa classe saranno eseguite
|
|
1740
|
+
*/
|
|
1741
|
+
class BaseStorageProvider {
|
|
1742
|
+
}
|
|
1743
|
+
|
|
1744
|
+
/**
|
|
1745
|
+
* Classe astratta che si occupa di recuperare l'Id sessione univoco per applicazione ed utente collegato
|
|
1746
|
+
*/
|
|
1747
|
+
class BaseSessionRetriever {
|
|
1748
|
+
}
|
|
1749
|
+
|
|
1738
1750
|
// Angular
|
|
1739
1751
|
/**
|
|
1740
|
-
* Service che fornisce funzionalità di base per storicizzazione e recupero oggetti
|
|
1752
|
+
* Service che fornisce funzionalità di base per storicizzazione e recupero oggetti dallo Storage Locale
|
|
1741
1753
|
*/
|
|
1742
1754
|
class StorageService {
|
|
1743
1755
|
/**
|
|
@@ -1745,8 +1757,10 @@ class StorageService {
|
|
|
1745
1757
|
*
|
|
1746
1758
|
* @ignore
|
|
1747
1759
|
*/
|
|
1748
|
-
constructor(APPSEARCH_PREFIX) {
|
|
1760
|
+
constructor(APPSEARCH_PREFIX, _session, _storage) {
|
|
1749
1761
|
this.APPSEARCH_PREFIX = APPSEARCH_PREFIX;
|
|
1762
|
+
this._session = _session;
|
|
1763
|
+
this._storage = _storage;
|
|
1750
1764
|
}
|
|
1751
1765
|
/**
|
|
1752
1766
|
* 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
|
|
@@ -1755,65 +1769,157 @@ class StorageService {
|
|
|
1755
1769
|
* @param {string} storeName Chiave del localStorage in cui storicizzare l'oggetto **itemsContainer**
|
|
1756
1770
|
* @param {{ items: any[] }} itemsContainer Oggetto da storicizzare
|
|
1757
1771
|
*/
|
|
1758
|
-
setItem(storeName,
|
|
1759
|
-
var
|
|
1760
|
-
//
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1772
|
+
setItem(storeName, item) {
|
|
1773
|
+
var finalItem;
|
|
1774
|
+
//Se sto salvando un oggetto con "items" e "page" vuol dire che è un appsearch, la ripulisco
|
|
1775
|
+
if (item.items && item.page) {
|
|
1776
|
+
finalItem = JSON.parse(JSON.stringify(item));
|
|
1777
|
+
finalItem.items = [];
|
|
1778
|
+
finalItem.savedstate = true;
|
|
1779
|
+
finalItem.savedprefix = this.APPSEARCH_PREFIX || 'Hot';
|
|
1766
1780
|
}
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
delete localStorage[key];
|
|
1773
|
-
}
|
|
1774
|
-
try {
|
|
1775
|
-
localStorage.setItem(storeName, JSON.stringify(item));
|
|
1776
|
-
}
|
|
1777
|
-
catch (e) {
|
|
1778
|
-
console.error("Spazio del local Storage insufficiente per salvare i risultati di ricerca con solo filtri. Non salvo nulla");
|
|
1781
|
+
else
|
|
1782
|
+
finalItem = item;
|
|
1783
|
+
return this._storage.setItem(this._session.getSessionKey(), storeName, finalItem).pipe(tap(res => {
|
|
1784
|
+
if (res == false) {
|
|
1785
|
+
console.error("Impossibile effettuare il salvataggio dell'oggetto all'interno dello Storage Locale per la chiave " + storeName);
|
|
1779
1786
|
}
|
|
1780
|
-
}
|
|
1787
|
+
}));
|
|
1781
1788
|
}
|
|
1782
1789
|
/**
|
|
1783
|
-
*
|
|
1790
|
+
* Recupera un oggetto dallo Storage Locale
|
|
1791
|
+
*
|
|
1792
|
+
* @param {string} storeName Chiave del localStorage da cui recuperare l'oggetto
|
|
1784
1793
|
*
|
|
1785
|
-
* @
|
|
1786
|
-
* @param {any} item Oggetto da storicizzare
|
|
1794
|
+
* @returns {any} Oggetto recuperato e deserializzato
|
|
1787
1795
|
*/
|
|
1788
|
-
|
|
1789
|
-
|
|
1796
|
+
getItem(storeName) {
|
|
1797
|
+
return this._storage.getItem(this._session.getSessionKey(), storeName).pipe(tap(res => {
|
|
1798
|
+
if (res == null)
|
|
1799
|
+
console.warn("Impossibile ottenere l'oggetto salvato con chiave " + storeName);
|
|
1800
|
+
}));
|
|
1790
1801
|
}
|
|
1791
1802
|
/**
|
|
1792
|
-
*
|
|
1793
|
-
*
|
|
1794
|
-
* @param {string} storeName Chiave del localStorage da cui recuperare l'oggetto
|
|
1803
|
+
* Ripulisce lo Storage Locale
|
|
1795
1804
|
*
|
|
1796
|
-
* @
|
|
1805
|
+
* @param {string} storeName Chiave del localStorage da ripulire
|
|
1797
1806
|
*/
|
|
1798
|
-
|
|
1799
|
-
return
|
|
1807
|
+
removeItem(storeName) {
|
|
1808
|
+
return this._storage.removeItem(this._session.getSessionKey(), storeName).pipe(tap(res => {
|
|
1809
|
+
if (res == false)
|
|
1810
|
+
console.warn("Impossibile rimuovere l'oggetto salvato con chiave " + storeName);
|
|
1811
|
+
}));
|
|
1800
1812
|
}
|
|
1801
1813
|
/**
|
|
1802
|
-
* Ripulisce
|
|
1814
|
+
* Ripulisce lo Storage Locale di ogni cosa salvata
|
|
1803
1815
|
*
|
|
1804
1816
|
* @param {string} storeName Chiave del localStorage da ripulire
|
|
1805
1817
|
*/
|
|
1806
|
-
clear(
|
|
1807
|
-
|
|
1818
|
+
clear() {
|
|
1819
|
+
return this._storage.clear(this._session.getSessionKey()).pipe(tap(res => {
|
|
1820
|
+
if (res == false)
|
|
1821
|
+
console.warn("Impossibile ripulire lo Storage Locale");
|
|
1822
|
+
}));
|
|
1808
1823
|
}
|
|
1809
1824
|
}
|
|
1810
1825
|
StorageService.decorators = [
|
|
1811
1826
|
{ type: Injectable }
|
|
1812
1827
|
];
|
|
1813
1828
|
StorageService.ctorParameters = () => [
|
|
1814
|
-
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [APPSEARCH_PREFIX,] }] }
|
|
1829
|
+
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [APPSEARCH_PREFIX,] }] },
|
|
1830
|
+
{ type: BaseSessionRetriever },
|
|
1831
|
+
{ type: BaseStorageProvider }
|
|
1815
1832
|
];
|
|
1816
1833
|
|
|
1834
|
+
/**
|
|
1835
|
+
* Implementazione di default per la classe **BaseSessionRetriever**
|
|
1836
|
+
*/
|
|
1837
|
+
class DefaultSessionRetriever extends BaseSessionRetriever {
|
|
1838
|
+
/**
|
|
1839
|
+
* Costruttore
|
|
1840
|
+
*
|
|
1841
|
+
* @ignore
|
|
1842
|
+
*/
|
|
1843
|
+
constructor() { super(); }
|
|
1844
|
+
/**
|
|
1845
|
+
* Ottiene un ID sessione
|
|
1846
|
+
*
|
|
1847
|
+
* @returns {string} ID sessione
|
|
1848
|
+
*/
|
|
1849
|
+
getSessionKey() {
|
|
1850
|
+
return "DUMMY_SESSION";
|
|
1851
|
+
}
|
|
1852
|
+
}
|
|
1853
|
+
DefaultSessionRetriever.decorators = [
|
|
1854
|
+
{ type: Injectable }
|
|
1855
|
+
];
|
|
1856
|
+
DefaultSessionRetriever.ctorParameters = () => [];
|
|
1857
|
+
|
|
1858
|
+
/** Implementazione di default per la classe **BaseStorageProvider** */
|
|
1859
|
+
class DefaultStorageProvider extends BaseStorageProvider {
|
|
1860
|
+
/** @ignore Costruttore */
|
|
1861
|
+
constructor() { super(); }
|
|
1862
|
+
/** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
|
|
1863
|
+
setItem(identity, key, value) {
|
|
1864
|
+
try {
|
|
1865
|
+
localStorage.setItem(key, JSON.stringify(value));
|
|
1866
|
+
return of(true);
|
|
1867
|
+
}
|
|
1868
|
+
catch (_a) {
|
|
1869
|
+
// 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
|
|
1870
|
+
if (value.savedprefix) {
|
|
1871
|
+
console.warn("Spazio del local Storage insufficiente, prova a ripulirlo e risalvare");
|
|
1872
|
+
//Pulisco tutte le view con nome che parta per "Hot"
|
|
1873
|
+
for (let key in localStorage) {
|
|
1874
|
+
if (localStorage.hasOwnProperty(key) && key.startsWith(value.savedprefix))
|
|
1875
|
+
delete localStorage[key];
|
|
1876
|
+
}
|
|
1877
|
+
try {
|
|
1878
|
+
localStorage.setItem(key, JSON.stringify(value));
|
|
1879
|
+
}
|
|
1880
|
+
catch (e) {
|
|
1881
|
+
console.error("Spazio del local Storage insufficiente per salvare i risultati di ricerca con solo filtri. Non salvo nulla");
|
|
1882
|
+
}
|
|
1883
|
+
}
|
|
1884
|
+
return of(false);
|
|
1885
|
+
}
|
|
1886
|
+
}
|
|
1887
|
+
/** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
|
|
1888
|
+
getItem(identity, key) {
|
|
1889
|
+
try {
|
|
1890
|
+
var ret = JSON.parse(localStorage.getItem(key));
|
|
1891
|
+
return of(ret);
|
|
1892
|
+
}
|
|
1893
|
+
catch (_a) {
|
|
1894
|
+
return of(null);
|
|
1895
|
+
}
|
|
1896
|
+
}
|
|
1897
|
+
/** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
|
|
1898
|
+
removeItem(identity, key) {
|
|
1899
|
+
try {
|
|
1900
|
+
localStorage.removeItem(key);
|
|
1901
|
+
return of(true);
|
|
1902
|
+
}
|
|
1903
|
+
catch (_a) {
|
|
1904
|
+
return of(false);
|
|
1905
|
+
}
|
|
1906
|
+
}
|
|
1907
|
+
/** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
|
|
1908
|
+
clear(identity) {
|
|
1909
|
+
try {
|
|
1910
|
+
localStorage.clear();
|
|
1911
|
+
return of(true);
|
|
1912
|
+
}
|
|
1913
|
+
catch (_a) {
|
|
1914
|
+
return of(false);
|
|
1915
|
+
}
|
|
1916
|
+
}
|
|
1917
|
+
}
|
|
1918
|
+
DefaultStorageProvider.decorators = [
|
|
1919
|
+
{ type: Injectable }
|
|
1920
|
+
];
|
|
1921
|
+
DefaultStorageProvider.ctorParameters = () => [];
|
|
1922
|
+
|
|
1817
1923
|
// Angular
|
|
1818
1924
|
/**
|
|
1819
1925
|
* Modulo di estensione che registra autonomamente **TUTTI** i servizi di estensione:
|
|
@@ -1824,6 +1930,8 @@ StorageService.ctorParameters = () => [
|
|
|
1824
1930
|
* MessageService,
|
|
1825
1931
|
* UtilityService,
|
|
1826
1932
|
* StorageService,
|
|
1933
|
+
*
|
|
1934
|
+
* con eventuali provider che utilizzano
|
|
1827
1935
|
*/
|
|
1828
1936
|
class FullExtensionsModule {
|
|
1829
1937
|
static forRoot(config) {
|
|
@@ -1840,7 +1948,9 @@ class FullExtensionsModule {
|
|
|
1840
1948
|
{ provide: EXT_LOCALE, useValue: (config === null || config === void 0 ? void 0 : config.locale) || 'it-IT' },
|
|
1841
1949
|
{ provide: EXT_FANCY_ALERTS, useValue: (config === null || config === void 0 ? void 0 : config.fancy_alerts) || true },
|
|
1842
1950
|
{ provide: APPSEARCH_PREFIX, useValue: (config === null || config === void 0 ? void 0 : config.appsearch_prefix) || 'Hot' },
|
|
1843
|
-
{ provide: EXT_ALLOW_UTC, useValue: (config === null || config === void 0 ? void 0 : config.allow_utc) == null ? false : config === null || config === void 0 ? void 0 : config.allow_utc }
|
|
1951
|
+
{ provide: EXT_ALLOW_UTC, useValue: (config === null || config === void 0 ? void 0 : config.allow_utc) == null ? false : config === null || config === void 0 ? void 0 : config.allow_utc },
|
|
1952
|
+
{ provide: BaseSessionRetriever, useClass: (config === null || config === void 0 ? void 0 : config.sessionRetriever) || DefaultSessionRetriever },
|
|
1953
|
+
{ provide: BaseStorageProvider, useClass: (config === null || config === void 0 ? void 0 : config.storageProvider) || DefaultStorageProvider },
|
|
1844
1954
|
]
|
|
1845
1955
|
};
|
|
1846
1956
|
}
|
|
@@ -1875,5 +1985,5 @@ class GenericItem {
|
|
|
1875
1985
|
* Generated bundle index. Do not edit.
|
|
1876
1986
|
*/
|
|
1877
1987
|
|
|
1878
|
-
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, StorageService, UtilityService };
|
|
1988
|
+
export { APPSEARCH_PREFIX, BaseSessionRetriever, BaseStorageProvider, CallResult, ClipboardService, CsvHeaders, DateService, EXT_ALLOW_UTC, EXT_FANCY_ALERTS, EXT_LOCALE, Export, ExportAs, ExportDictionary, ExportList, ExportService, ExtensionsModule, FullExtensionsModule, GenericItem, HashingService, MessageService, StorageService, UtilityService, DefaultSessionRetriever as ɵa, DefaultStorageProvider as ɵb };
|
|
1879
1989
|
//# sourceMappingURL=esfaenza-extensions.js.map
|