@esfaenza/extensions 11.2.19 → 11.2.23
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 +75 -551
- package/bundles/esfaenza-extensions.umd.js.map +1 -1
- package/bundles/esfaenza-extensions.umd.min.js +1 -16
- package/bundles/esfaenza-extensions.umd.min.js.map +1 -1
- package/esfaenza-extensions.d.ts +0 -2
- package/esfaenza-extensions.metadata.json +1 -1
- package/esm2015/esfaenza-extensions.js +1 -3
- package/esm2015/lib/models/CsvHeaders.js +1 -1
- package/esm2015/lib/models/ExtensionsModuleConfig.js +1 -1
- package/esm2015/lib/models/InboundMessageTypes.js +7 -0
- package/esm2015/lib/models/InterComMessage.js +14 -0
- package/esm2015/lib/modules/extensions.full.module.js +6 -13
- package/esm2015/lib/services/extensions.exports.service.js +16 -9
- package/esm2015/lib/services/extensions.intercom.service.js +50 -0
- package/esm2015/public-api.js +5 -4
- package/fesm2015/esfaenza-extensions.js +68 -222
- package/fesm2015/esfaenza-extensions.js.map +1 -1
- package/lib/models/CsvHeaders.d.ts +4 -0
- package/lib/models/ExtensionsModuleConfig.d.ts +0 -11
- package/lib/models/InboundMessageTypes.d.ts +5 -0
- package/lib/models/InterComMessage.d.ts +12 -0
- package/lib/modules/extensions.full.module.d.ts +2 -2
- package/lib/services/extensions.intercom.service.d.ts +25 -0
- package/package.json +1 -1
- package/public-api.d.ts +4 -3
- package/esm2015/lib/models/providers/base/BaseStorageProvider.js +0 -25
- package/esm2015/lib/models/providers/implementation/DefaultStorageProvider.js +0 -79
- package/esm2015/lib/models/session/base/BaseSessionRetriever.js +0 -6
- package/esm2015/lib/models/session/implementation/DefaultSessionRetriever.js +0 -26
- package/esm2015/lib/services/extensions.storage.service.js +0 -100
- package/lib/models/providers/base/BaseStorageProvider.d.ts +0 -65
- package/lib/models/providers/implementation/DefaultStorageProvider.d.ts +0 -20
- package/lib/models/session/base/BaseSessionRetriever.d.ts +0 -11
- package/lib/models/session/implementation/DefaultSessionRetriever.d.ts +0 -18
- package/lib/services/extensions.storage.service.d.ts +0 -56
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// Angular
|
|
2
|
+
import { Injectable } from "@angular/core";
|
|
3
|
+
// Librerie
|
|
4
|
+
import { Subject } from "rxjs";
|
|
5
|
+
// Modelli
|
|
6
|
+
import { InterComMessage } from "../models/InterComMessage";
|
|
7
|
+
/** Service che si occupa di gestire la comunicazione fra i moduli interni ed esterni dell'applicativo */
|
|
8
|
+
export class InterComService {
|
|
9
|
+
constructor() {
|
|
10
|
+
/** Messaggi in uscita, uno per ogni recipient registratosi dall'entrypoint **register** */
|
|
11
|
+
this.outbounds = {};
|
|
12
|
+
/** Messaggi in entrata, unico per applicazione principale */
|
|
13
|
+
this.inbounds = new Subject();
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Metodo che permette di inviare un messaggio dall'applicazione ad un modulo esterno o viceversa
|
|
17
|
+
*
|
|
18
|
+
* @param {any} messageType Tipologia di messaggio. Sarà di tipo **InboundMessageTypes** per tutti i messaggi inbound, dinamico per tutti i mesaggi outbound (il tipo dipenderà dagli enum dei messaggi dei moduli esterni)
|
|
19
|
+
* @param {any} message Messaggio da inviare che può essere un dto in casi complessi ma dovrà essere gestito a dovere lato implementativo
|
|
20
|
+
* @param {string} recipient Destinatario del messaggio. Per i messaggi inbound dev'essere lasciato vuoto, per i messaggi outbound sarà valorizzato alla chiave del modulo a cui si vuole inviare il messaggio
|
|
21
|
+
*/
|
|
22
|
+
send(messageType, message, recipient) {
|
|
23
|
+
let msg = new InterComMessage(messageType, message);
|
|
24
|
+
// Se non c'è un recipient significa che è un modulo esterno che invia messaggi al modulo main (quindi messaggio in entrata - inbound)
|
|
25
|
+
// Altrimenti significa che è il modulo main ad inviare messaggi ai moduli esterni (messaggio in uscita - outbound)
|
|
26
|
+
if (!recipient) {
|
|
27
|
+
this.inbounds.next(msg);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
if (!this.outbounds[recipient])
|
|
31
|
+
console.warn("@esfaenza/extensions - InterComService: Impossibile inviare il messaggio al recipient " + recipient + " assicurarsi che il modulo sia caricato e che effettui la chiamata al metodo 'regisster'");
|
|
32
|
+
else
|
|
33
|
+
this.outbounds[recipient].next(msg);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Permette di registrare un modulo esterno alla lista dei moduli in listening sulla coda di messaggi
|
|
38
|
+
*
|
|
39
|
+
* @param {string} key Chiave del modulo da registrare. Tutti i messaggi inbound saranno inviati dall'applicazione principale su questa chiave
|
|
40
|
+
*/
|
|
41
|
+
register(key) {
|
|
42
|
+
if (this.outbounds[key])
|
|
43
|
+
throw "@esfaenza/extensions - InterComService: Impossibile registrare più volte lo stesso modulo";
|
|
44
|
+
this.outbounds[key] = new Subject();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
InterComService.decorators = [
|
|
48
|
+
{ type: Injectable }
|
|
49
|
+
];
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5pbnRlcmNvbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh0ZW5zaW9ucy9zcmMvbGliL3NlcnZpY2VzL2V4dGVuc2lvbnMuaW50ZXJjb20uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxXQUFXO0FBQ1gsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixVQUFVO0FBQ1YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELHlHQUF5RztBQUV6RyxNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUdJLDJGQUEyRjtRQUNwRixjQUFTLEdBQStDLEVBQUUsQ0FBQztRQUNsRSw2REFBNkQ7UUFDdEQsYUFBUSxHQUE2QixJQUFJLE9BQU8sRUFBbUIsQ0FBQztJQW1DL0UsQ0FBQztJQWpDRzs7Ozs7O09BTUc7SUFDSSxJQUFJLENBQUMsV0FBZ0IsRUFBRSxPQUFZLEVBQUUsU0FBa0I7UUFDMUQsSUFBSSxHQUFHLEdBQUcsSUFBSSxlQUFlLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXBELHNJQUFzSTtRQUN0SSxtSEFBbUg7UUFDbkgsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzNCO2FBQ0k7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7Z0JBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0ZBQXdGLEdBQUcsU0FBUyxHQUFHLDBGQUEwRixDQUFDLENBQUM7O2dCQUVoTixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtTQUMxQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksUUFBUSxDQUFDLEdBQVc7UUFDdkIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztZQUNuQixNQUFNLDJGQUEyRixDQUFDO1FBQ3RHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxPQUFPLEVBQW1CLENBQUM7SUFDekQsQ0FBQzs7O1lBeENKLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gTGlicmVyaWVcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG4vLyBNb2RlbGxpXHJcbmltcG9ydCB7IEludGVyQ29tTWVzc2FnZSB9IGZyb20gXCIuLi9tb2RlbHMvSW50ZXJDb21NZXNzYWdlXCI7XHJcblxyXG4vKiogU2VydmljZSBjaGUgc2kgb2NjdXBhIGRpIGdlc3RpcmUgbGEgY29tdW5pY2F6aW9uZSBmcmEgaSBtb2R1bGkgaW50ZXJuaSBlZCBlc3Rlcm5pIGRlbGwnYXBwbGljYXRpdm8gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSW50ZXJDb21TZXJ2aWNlIHtcclxuXHJcbiAgICAvKiogTWVzc2FnZ2kgaW4gdXNjaXRhLCB1bm8gcGVyIG9nbmkgcmVjaXBpZW50IHJlZ2lzdHJhdG9zaSBkYWxsJ2VudHJ5cG9pbnQgKipyZWdpc3RlcioqICovXHJcbiAgICBwdWJsaWMgb3V0Ym91bmRzOiB7IFtpZDogc3RyaW5nXTogU3ViamVjdDxJbnRlckNvbU1lc3NhZ2U+IH0gPSB7fTtcclxuICAgIC8qKiBNZXNzYWdnaSBpbiBlbnRyYXRhLCB1bmljbyBwZXIgYXBwbGljYXppb25lIHByaW5jaXBhbGUgKi9cclxuICAgIHB1YmxpYyBpbmJvdW5kczogU3ViamVjdDxJbnRlckNvbU1lc3NhZ2U+ID0gbmV3IFN1YmplY3Q8SW50ZXJDb21NZXNzYWdlPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWV0b2RvIGNoZSBwZXJtZXR0ZSBkaSBpbnZpYXJlIHVuIG1lc3NhZ2dpbyBkYWxsJ2FwcGxpY2F6aW9uZSBhZCB1biBtb2R1bG8gZXN0ZXJubyBvIHZpY2V2ZXJzYVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2FueX0gbWVzc2FnZVR5cGUgVGlwb2xvZ2lhIGRpIG1lc3NhZ2dpby4gU2Fyw6AgZGkgdGlwbyAqKkluYm91bmRNZXNzYWdlVHlwZXMqKiBwZXIgdHV0dGkgaSBtZXNzYWdnaSBpbmJvdW5kLCBkaW5hbWljbyBwZXIgdHV0dGkgaSBtZXNhZ2dpIG91dGJvdW5kIChpbCB0aXBvIGRpcGVuZGVyw6AgZGFnbGkgZW51bSBkZWkgbWVzc2FnZ2kgZGVpIG1vZHVsaSBlc3Rlcm5pKVxyXG4gICAgICogQHBhcmFtIHthbnl9IG1lc3NhZ2UgTWVzc2FnZ2lvIGRhIGludmlhcmUgY2hlIHB1w7IgZXNzZXJlIHVuIGR0byBpbiBjYXNpIGNvbXBsZXNzaSBtYSBkb3Zyw6AgZXNzZXJlIGdlc3RpdG8gYSBkb3ZlcmUgbGF0byBpbXBsZW1lbnRhdGl2b1xyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHJlY2lwaWVudCBEZXN0aW5hdGFyaW8gZGVsIG1lc3NhZ2dpby4gUGVyIGkgbWVzc2FnZ2kgaW5ib3VuZCBkZXYnZXNzZXJlIGxhc2NpYXRvIHZ1b3RvLCBwZXIgaSBtZXNzYWdnaSBvdXRib3VuZCBzYXLDoCB2YWxvcml6emF0byBhbGxhIGNoaWF2ZSBkZWwgbW9kdWxvIGEgY3VpIHNpIHZ1b2xlIGludmlhcmUgaWwgbWVzc2FnZ2lvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZW5kKG1lc3NhZ2VUeXBlOiBhbnksIG1lc3NhZ2U6IGFueSwgcmVjaXBpZW50Pzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgbGV0IG1zZyA9IG5ldyBJbnRlckNvbU1lc3NhZ2UobWVzc2FnZVR5cGUsIG1lc3NhZ2UpO1xyXG5cclxuICAgICAgICAvLyBTZSBub24gYyfDqCB1biByZWNpcGllbnQgc2lnbmlmaWNhIGNoZSDDqCB1biBtb2R1bG8gZXN0ZXJubyBjaGUgaW52aWEgbWVzc2FnZ2kgYWwgbW9kdWxvIG1haW4gKHF1aW5kaSBtZXNzYWdnaW8gaW4gZW50cmF0YSAtIGluYm91bmQpXHJcbiAgICAgICAgLy8gQWx0cmltZW50aSBzaWduaWZpY2EgY2hlIMOoIGlsIG1vZHVsbyBtYWluIGFkIGludmlhcmUgbWVzc2FnZ2kgYWkgbW9kdWxpIGVzdGVybmkgKG1lc3NhZ2dpbyBpbiB1c2NpdGEgLSBvdXRib3VuZClcclxuICAgICAgICBpZiAoIXJlY2lwaWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmluYm91bmRzLm5leHQobXNnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5vdXRib3VuZHNbcmVjaXBpZW50XSlcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkBlc2ZhZW56YS9leHRlbnNpb25zIC0gSW50ZXJDb21TZXJ2aWNlOiBJbXBvc3NpYmlsZSBpbnZpYXJlIGlsIG1lc3NhZ2dpbyBhbCByZWNpcGllbnQgXCIgKyByZWNpcGllbnQgKyBcIiBhc3NpY3VyYXJzaSBjaGUgaWwgbW9kdWxvIHNpYSBjYXJpY2F0byBlIGNoZSBlZmZldHR1aSBsYSBjaGlhbWF0YSBhbCBtZXRvZG8gJ3JlZ2lzc3RlcidcIik7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHRoaXMub3V0Ym91bmRzW3JlY2lwaWVudF0ubmV4dChtc2cpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGVybWV0dGUgZGkgcmVnaXN0cmFyZSB1biBtb2R1bG8gZXN0ZXJubyBhbGxhIGxpc3RhIGRlaSBtb2R1bGkgaW4gbGlzdGVuaW5nIHN1bGxhIGNvZGEgZGkgbWVzc2FnZ2lcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBDaGlhdmUgZGVsIG1vZHVsbyBkYSByZWdpc3RyYXJlLiBUdXR0aSBpIG1lc3NhZ2dpIGluYm91bmQgc2FyYW5ubyBpbnZpYXRpIGRhbGwnYXBwbGljYXppb25lIHByaW5jaXBhbGUgc3UgcXVlc3RhIGNoaWF2ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXIoa2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5vdXRib3VuZHNba2V5XSlcclxuICAgICAgICAgICAgdGhyb3cgXCJAZXNmYWVuemEvZXh0ZW5zaW9ucyAtIEludGVyQ29tU2VydmljZTogSW1wb3NzaWJpbGUgcmVnaXN0cmFyZSBwacO5IHZvbHRlIGxvIHN0ZXNzbyBtb2R1bG9cIjtcclxuICAgICAgICB0aGlzLm91dGJvdW5kc1trZXldID0gbmV3IFN1YmplY3Q8SW50ZXJDb21NZXNzYWdlPigpO1xyXG4gICAgfVxyXG59Il19
|
package/esm2015/public-api.js
CHANGED
|
@@ -9,11 +9,12 @@ export * from './lib/services/extensions.clipboard.service';
|
|
|
9
9
|
export * from './lib/services/extensions.hashing.service';
|
|
10
10
|
export * from './lib/services/extensions.messages.service';
|
|
11
11
|
export * from './lib/services/extensions.utilities.service';
|
|
12
|
-
export * from './lib/services/extensions.storage.service';
|
|
13
12
|
export * from './lib/tokens';
|
|
14
13
|
export * from './lib/models/CallResult';
|
|
15
14
|
export * from './lib/models/CsvHeaders';
|
|
16
15
|
export * from './lib/models/GenericItem';
|
|
17
|
-
|
|
18
|
-
export * from './lib/models/
|
|
19
|
-
|
|
16
|
+
/** Intercom */
|
|
17
|
+
export * from './lib/models/InboundMessageTypes';
|
|
18
|
+
export * from './lib/models/InterComMessage';
|
|
19
|
+
export * from './lib/services/extensions.intercom.service';
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsZUFBZTtBQUNmLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDRDQUE0QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGV4dGVuc2lvbnNcclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZXh0ZW5zaW9ucy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2V4dGVuc2lvbnMuZnVsbC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9leHRlbnNpb25zLmRhdGVzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9leHRlbnNpb25zLmV4cG9ydHMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2V4dGVuc2lvbnMuY2xpcGJvYXJkLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9leHRlbnNpb25zLmhhc2hpbmcuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2V4dGVuc2lvbnMubWVzc2FnZXMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2V4dGVuc2lvbnMudXRpbGl0aWVzLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbnMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvQ2FsbFJlc3VsdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9Dc3ZIZWFkZXJzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL0dlbmVyaWNJdGVtJztcclxuXHJcbi8qKiBJbnRlcmNvbSAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvSW5ib3VuZE1lc3NhZ2VUeXBlcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9JbnRlckNvbU1lc3NhZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9leHRlbnNpb25zLmludGVyY29tLnNlcnZpY2UnOyJdfQ==
|
|
@@ -2,8 +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 {
|
|
6
|
-
import { of } from 'rxjs';
|
|
5
|
+
import { Subject } from 'rxjs';
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* Token che identifica il locale da utilizzare per questa libreria, sono supportati i locali 'it-IT' ed 'en-US'
|
|
@@ -982,7 +981,7 @@ class ExportService {
|
|
|
982
981
|
columns.forEach(t => {
|
|
983
982
|
var propValue = obj.properties[t.key];
|
|
984
983
|
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 });
|
|
984
|
+
headers.push({ label: t.label, key: t.key + "_exp", order: t.order, type: t.type });
|
|
986
985
|
});
|
|
987
986
|
//Tirati fuori tutti gli header faccio sort sull'ordinamento
|
|
988
987
|
return headers.sort((a, b) => { return a.order - b.order; });
|
|
@@ -1035,7 +1034,7 @@ class ExportService {
|
|
|
1035
1034
|
// Se è un formato data mi assicuro di non stampare mai una data 00:00:00 altrimenti in esportazione viene uno schifo
|
|
1036
1035
|
var val = obj[prop] ? this.dates.trimSeconds(obj[prop].toString()) : "";
|
|
1037
1036
|
Object.defineProperty(obj, prop + "_nofmt", { value: val, writable: false, enumerable: true });
|
|
1038
|
-
headers.push({ label: lbl ? lbl : prop + "_nofmt", key: prop + "_nofmt", order: order });
|
|
1037
|
+
headers.push({ label: lbl ? lbl : prop + "_nofmt", key: prop + "_nofmt", order: order, type: "string" });
|
|
1039
1038
|
}
|
|
1040
1039
|
else {
|
|
1041
1040
|
// Caso formato numerico
|
|
@@ -1047,7 +1046,7 @@ class ExportService {
|
|
|
1047
1046
|
// Il singolo punto che c'è, se presente (separatore decimali) lo trasformo in virgola
|
|
1048
1047
|
let valConverted = val.replace(".", ",");
|
|
1049
1048
|
Object.defineProperty(obj, prop + "_fmt", { value: valConverted, writable: false, enumerable: true });
|
|
1050
|
-
headers.push({ label: lbl ? lbl : prop + "_fmt", key: prop + "_fmt", order: order });
|
|
1049
|
+
headers.push({ label: lbl ? lbl : prop + "_fmt", key: prop + "_fmt", order: order, type: "number" });
|
|
1051
1050
|
}
|
|
1052
1051
|
else {
|
|
1053
1052
|
// Se ho un formato data trasformo in dayjs, formatto ed esporto
|
|
@@ -1055,7 +1054,7 @@ class ExportService {
|
|
|
1055
1054
|
// Se non funziona provo a definirgli la formattazione standard del metering per quel linguaggio
|
|
1056
1055
|
let val = this.dates.getFormatted(obj[prop], format.length <= 10, false);
|
|
1057
1056
|
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 });
|
|
1057
|
+
headers.push({ label: lbl ? lbl : prop + "_fmt", key: prop + "_fmt", order: order, type: "date" });
|
|
1059
1058
|
}
|
|
1060
1059
|
}
|
|
1061
1060
|
}
|
|
@@ -1088,16 +1087,19 @@ class ExportService {
|
|
|
1088
1087
|
let order = obj[prop + csvOrdPrefix];
|
|
1089
1088
|
//Se per questa proprietà ho un formato lo applico
|
|
1090
1089
|
let format = obj[prop + csvFormatPrefix];
|
|
1090
|
+
let type = "string";
|
|
1091
1091
|
if (format == "F") {
|
|
1092
1092
|
let val = value.toString();
|
|
1093
1093
|
val = val.replace(/,/, "");
|
|
1094
1094
|
value = val.replace(".", ",");
|
|
1095
|
+
type = "number";
|
|
1095
1096
|
}
|
|
1096
1097
|
else if (format) {
|
|
1097
1098
|
value = this.dates.getFormatted(value, format.length <= 10, false);
|
|
1099
|
+
type = "date";
|
|
1098
1100
|
}
|
|
1099
1101
|
Object.defineProperty(obj, prop, { value: value, writable: false, enumerable: true });
|
|
1100
|
-
headers.push({ label: lbl ? lbl : prop, key: prop, order: order });
|
|
1102
|
+
headers.push({ label: lbl ? lbl : prop, key: prop, order: order, type: type });
|
|
1101
1103
|
}
|
|
1102
1104
|
/**
|
|
1103
1105
|
* Setup per l'esportazione di una lista di valori pivottati dinamicamente:
|
|
@@ -1139,15 +1141,19 @@ class ExportService {
|
|
|
1139
1141
|
tmpRes = JSON.parse(JSON.stringify(listitem));
|
|
1140
1142
|
jumps.forEach(pp => { tmpRes = tmpRes[pp]; });
|
|
1141
1143
|
let value = tmpRes;
|
|
1144
|
+
let type = "string";
|
|
1142
1145
|
if (valueformat == "F") {
|
|
1143
1146
|
let val = value != null ? value.toString() : "";
|
|
1144
1147
|
val = val.replace(/,/, "");
|
|
1145
1148
|
value = val.replace(".", ",");
|
|
1149
|
+
type = "number";
|
|
1146
1150
|
}
|
|
1147
|
-
else if (valueformat)
|
|
1151
|
+
else if (valueformat) {
|
|
1148
1152
|
value = this.dates.getFormatted(obj[prop], valueformat.length <= 10, false);
|
|
1153
|
+
type = "date";
|
|
1154
|
+
}
|
|
1149
1155
|
Object.defineProperty(obj, prop + idx, { value: value, writable: false });
|
|
1150
|
-
headers.push({ label: header, key: prop + idx, order: order + idx });
|
|
1156
|
+
headers.push({ label: header, key: prop + idx, order: order + idx, type: type });
|
|
1151
1157
|
}
|
|
1152
1158
|
}
|
|
1153
1159
|
/**
|
|
@@ -1194,7 +1200,7 @@ class ExportService {
|
|
|
1194
1200
|
let value = tmpRes;
|
|
1195
1201
|
let propname = prop + idx.toString() + idxinternal.toString();
|
|
1196
1202
|
Object.defineProperty(obj, propname, { value: value, writable: false });
|
|
1197
|
-
headers.push({ label: header + " " + desc, key: propname, order: order + idx });
|
|
1203
|
+
headers.push({ label: header + " " + desc, key: propname, order: order + idx, type: 'string' });
|
|
1198
1204
|
});
|
|
1199
1205
|
}
|
|
1200
1206
|
}
|
|
@@ -1730,228 +1736,63 @@ UtilityService.decorators = [
|
|
|
1730
1736
|
{ type: Injectable }
|
|
1731
1737
|
];
|
|
1732
1738
|
|
|
1733
|
-
/**
|
|
1734
|
-
|
|
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
|
-
/** @ignore Costruttore */
|
|
1743
|
-
constructor(session) {
|
|
1744
|
-
this.session = session;
|
|
1745
|
-
}
|
|
1739
|
+
/** Classe che rappresenta un generico messaggio scambiato fra applicazione e moduli */
|
|
1740
|
+
class InterComMessage {
|
|
1746
1741
|
/**
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1742
|
+
* Costruttore
|
|
1743
|
+
*
|
|
1744
|
+
* @param type Tipo di messaggio
|
|
1745
|
+
* @param message Contenuto del messaggio
|
|
1746
|
+
*/
|
|
1747
|
+
constructor(type, message) {
|
|
1748
|
+
this.type = type;
|
|
1749
|
+
this.message = message;
|
|
1755
1750
|
}
|
|
1756
1751
|
}
|
|
1757
1752
|
|
|
1758
|
-
/**
|
|
1759
|
-
* Classe astratta che si occupa di recuperare l'Id sessione univoco per applicazione ed utente collegato
|
|
1760
|
-
*/
|
|
1761
|
-
class BaseSessionRetriever {
|
|
1762
|
-
}
|
|
1763
|
-
|
|
1764
1753
|
// Angular
|
|
1765
|
-
/**
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
*/
|
|
1771
|
-
|
|
1772
|
-
/**
|
|
1773
|
-
* Costruttore
|
|
1774
|
-
*
|
|
1775
|
-
* @ignore
|
|
1776
|
-
*/
|
|
1777
|
-
constructor(APPSEARCH_PREFIX, _session, _storage) {
|
|
1778
|
-
this.APPSEARCH_PREFIX = APPSEARCH_PREFIX;
|
|
1779
|
-
this._session = _session;
|
|
1780
|
-
this._storage = _storage;
|
|
1754
|
+
/** Service che si occupa di gestire la comunicazione fra i moduli interni ed esterni dell'applicativo */
|
|
1755
|
+
class InterComService {
|
|
1756
|
+
constructor() {
|
|
1757
|
+
/** Messaggi in uscita, uno per ogni recipient registratosi dall'entrypoint **register** */
|
|
1758
|
+
this.outbounds = {};
|
|
1759
|
+
/** Messaggi in entrata, unico per applicazione principale */
|
|
1760
|
+
this.inbounds = new Subject();
|
|
1781
1761
|
}
|
|
1782
1762
|
/**
|
|
1783
|
-
*
|
|
1784
|
-
* 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
|
|
1763
|
+
* Metodo che permette di inviare un messaggio dall'applicazione ad un modulo esterno o viceversa
|
|
1785
1764
|
*
|
|
1786
|
-
* @param {
|
|
1787
|
-
* @param {
|
|
1765
|
+
* @param {any} messageType Tipologia di messaggio. Sarà di tipo **InboundMessageTypes** per tutti i messaggi inbound, dinamico per tutti i mesaggi outbound (il tipo dipenderà dagli enum dei messaggi dei moduli esterni)
|
|
1766
|
+
* @param {any} message Messaggio da inviare che può essere un dto in casi complessi ma dovrà essere gestito a dovere lato implementativo
|
|
1767
|
+
* @param {string} recipient Destinatario del messaggio. Per i messaggi inbound dev'essere lasciato vuoto, per i messaggi outbound sarà valorizzato alla chiave del modulo a cui si vuole inviare il messaggio
|
|
1788
1768
|
*/
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
//Se
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1769
|
+
send(messageType, message, recipient) {
|
|
1770
|
+
let msg = new InterComMessage(messageType, message);
|
|
1771
|
+
// Se non c'è un recipient significa che è un modulo esterno che invia messaggi al modulo main (quindi messaggio in entrata - inbound)
|
|
1772
|
+
// Altrimenti significa che è il modulo main ad inviare messaggi ai moduli esterni (messaggio in uscita - outbound)
|
|
1773
|
+
if (!recipient) {
|
|
1774
|
+
this.inbounds.next(msg);
|
|
1775
|
+
}
|
|
1776
|
+
else {
|
|
1777
|
+
if (!this.outbounds[recipient])
|
|
1778
|
+
console.warn("@esfaenza/extensions - InterComService: Impossibile inviare il messaggio al recipient " + recipient + " assicurarsi che il modulo sia caricato e che effettui la chiamata al metodo 'regisster'");
|
|
1779
|
+
else
|
|
1780
|
+
this.outbounds[recipient].next(msg);
|
|
1797
1781
|
}
|
|
1798
|
-
else
|
|
1799
|
-
finalItem = item;
|
|
1800
|
-
return this._storage.setItem(storeName, finalItem).pipe(first(), tap(res => {
|
|
1801
|
-
if (res == false)
|
|
1802
|
-
console.error("Impossibile effettuare il salvataggio dell'oggetto all'interno dello Storage Locale per la chiave " + storeName);
|
|
1803
|
-
}));
|
|
1804
|
-
}
|
|
1805
|
-
/**
|
|
1806
|
-
* Recupera un oggetto dallo Storage Locale
|
|
1807
|
-
*
|
|
1808
|
-
* @param {string} storeName Chiave del localStorage da cui recuperare l'oggetto
|
|
1809
|
-
*
|
|
1810
|
-
* @returns {any} Oggetto recuperato e deserializzato
|
|
1811
|
-
*/
|
|
1812
|
-
getItem(storeName) {
|
|
1813
|
-
return this._storage.getItem(storeName).pipe(first(), tap(res => {
|
|
1814
|
-
if (res == null)
|
|
1815
|
-
console.warn("Impossibile ottenere l'oggetto salvato con chiave " + storeName);
|
|
1816
|
-
}));
|
|
1817
|
-
}
|
|
1818
|
-
/**
|
|
1819
|
-
* Ripulisce lo Storage Locale
|
|
1820
|
-
*
|
|
1821
|
-
* @param {string} storeName Chiave del localStorage da ripulire
|
|
1822
|
-
*/
|
|
1823
|
-
removeItem(storeName) {
|
|
1824
|
-
return this._storage.removeItem(storeName).pipe(first(), tap(res => {
|
|
1825
|
-
if (res == false)
|
|
1826
|
-
console.warn("Impossibile rimuovere l'oggetto salvato con chiave " + storeName);
|
|
1827
|
-
}));
|
|
1828
|
-
}
|
|
1829
|
-
/**
|
|
1830
|
-
* Ripulisce lo Storage Locale di ogni cosa salvata
|
|
1831
|
-
*
|
|
1832
|
-
* @param {string} storeName Chiave del localStorage da ripulire
|
|
1833
|
-
*/
|
|
1834
|
-
clear() {
|
|
1835
|
-
return this._storage.clear().pipe(first(), tap(res => {
|
|
1836
|
-
if (res == false)
|
|
1837
|
-
console.warn("Impossibile ripulire lo Storage Locale");
|
|
1838
|
-
}));
|
|
1839
1782
|
}
|
|
1840
1783
|
/**
|
|
1841
|
-
*
|
|
1784
|
+
* Permette di registrare un modulo esterno alla lista dei moduli in listening sulla coda di messaggi
|
|
1842
1785
|
*
|
|
1843
|
-
* @
|
|
1786
|
+
* @param {string} key Chiave del modulo da registrare. Tutti i messaggi inbound saranno inviati dall'applicazione principale su questa chiave
|
|
1844
1787
|
*/
|
|
1845
|
-
|
|
1846
|
-
|
|
1788
|
+
register(key) {
|
|
1789
|
+
if (this.outbounds[key])
|
|
1790
|
+
throw "@esfaenza/extensions - InterComService: Impossibile registrare più volte lo stesso modulo";
|
|
1791
|
+
this.outbounds[key] = new Subject();
|
|
1847
1792
|
}
|
|
1848
1793
|
}
|
|
1849
|
-
|
|
1794
|
+
InterComService.decorators = [
|
|
1850
1795
|
{ type: Injectable }
|
|
1851
|
-
];
|
|
1852
|
-
StorageService.ctorParameters = () => [
|
|
1853
|
-
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [APPSEARCH_PREFIX,] }] },
|
|
1854
|
-
{ type: BaseSessionRetriever },
|
|
1855
|
-
{ type: BaseStorageProvider }
|
|
1856
|
-
];
|
|
1857
|
-
|
|
1858
|
-
/**
|
|
1859
|
-
* Implementazione di default per la classe **BaseSessionRetriever**
|
|
1860
|
-
*/
|
|
1861
|
-
class DefaultSessionRetriever extends BaseSessionRetriever {
|
|
1862
|
-
/**
|
|
1863
|
-
* Costruttore
|
|
1864
|
-
*
|
|
1865
|
-
* @ignore
|
|
1866
|
-
*/
|
|
1867
|
-
constructor() { super(); }
|
|
1868
|
-
/**
|
|
1869
|
-
* Ottiene un ID sessione
|
|
1870
|
-
*
|
|
1871
|
-
* @returns {string} ID sessione
|
|
1872
|
-
*/
|
|
1873
|
-
getSessionKey() {
|
|
1874
|
-
return "DUMMY_SESSION";
|
|
1875
|
-
}
|
|
1876
|
-
}
|
|
1877
|
-
DefaultSessionRetriever.decorators = [
|
|
1878
|
-
{ type: Injectable }
|
|
1879
|
-
];
|
|
1880
|
-
DefaultSessionRetriever.ctorParameters = () => [];
|
|
1881
|
-
|
|
1882
|
-
/** Implementazione di default per la classe **BaseStorageProvider** */
|
|
1883
|
-
class DefaultStorageProvider extends BaseStorageProvider {
|
|
1884
|
-
/** @ignore Costruttore */
|
|
1885
|
-
constructor(session) { super(session); }
|
|
1886
|
-
/** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
|
|
1887
|
-
setItem(key, value) {
|
|
1888
|
-
try {
|
|
1889
|
-
localStorage.setItem(key, JSON.stringify(value));
|
|
1890
|
-
return of(true);
|
|
1891
|
-
}
|
|
1892
|
-
catch (_a) {
|
|
1893
|
-
// 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
|
|
1894
|
-
if (value.savedprefix) {
|
|
1895
|
-
console.warn("Spazio del local Storage insufficiente, prova a ripulirlo e risalvare");
|
|
1896
|
-
//Pulisco tutte le view con nome che parta per "Hot"
|
|
1897
|
-
for (let key in localStorage) {
|
|
1898
|
-
if (localStorage.hasOwnProperty(key) && key.startsWith(value.savedprefix))
|
|
1899
|
-
delete localStorage[key];
|
|
1900
|
-
}
|
|
1901
|
-
try {
|
|
1902
|
-
localStorage.setItem(key, JSON.stringify(value));
|
|
1903
|
-
}
|
|
1904
|
-
catch (e) {
|
|
1905
|
-
console.error("Spazio del local Storage insufficiente per salvare i risultati di ricerca con solo filtri. Non salvo nulla");
|
|
1906
|
-
}
|
|
1907
|
-
}
|
|
1908
|
-
return of(false);
|
|
1909
|
-
}
|
|
1910
|
-
}
|
|
1911
|
-
/** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
|
|
1912
|
-
getItem(key) {
|
|
1913
|
-
try {
|
|
1914
|
-
var ret = JSON.parse(localStorage.getItem(key));
|
|
1915
|
-
return of(ret);
|
|
1916
|
-
}
|
|
1917
|
-
catch (_a) {
|
|
1918
|
-
return of(null);
|
|
1919
|
-
}
|
|
1920
|
-
}
|
|
1921
|
-
/** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
|
|
1922
|
-
removeItem(key) {
|
|
1923
|
-
try {
|
|
1924
|
-
localStorage.removeItem(key);
|
|
1925
|
-
return of(true);
|
|
1926
|
-
}
|
|
1927
|
-
catch (_a) {
|
|
1928
|
-
return of(false);
|
|
1929
|
-
}
|
|
1930
|
-
}
|
|
1931
|
-
/** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
|
|
1932
|
-
clear() {
|
|
1933
|
-
try {
|
|
1934
|
-
localStorage.clear();
|
|
1935
|
-
return of(true);
|
|
1936
|
-
}
|
|
1937
|
-
catch (_a) {
|
|
1938
|
-
return of(false);
|
|
1939
|
-
}
|
|
1940
|
-
}
|
|
1941
|
-
/** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
|
|
1942
|
-
getAll() {
|
|
1943
|
-
var ret = {};
|
|
1944
|
-
for (let key in localStorage) {
|
|
1945
|
-
ret[key] = localStorage[key];
|
|
1946
|
-
}
|
|
1947
|
-
return of(ret);
|
|
1948
|
-
}
|
|
1949
|
-
}
|
|
1950
|
-
DefaultStorageProvider.decorators = [
|
|
1951
|
-
{ type: Injectable }
|
|
1952
|
-
];
|
|
1953
|
-
DefaultStorageProvider.ctorParameters = () => [
|
|
1954
|
-
{ type: BaseSessionRetriever }
|
|
1955
1796
|
];
|
|
1956
1797
|
|
|
1957
1798
|
// Angular
|
|
@@ -1962,8 +1803,8 @@ DefaultStorageProvider.ctorParameters = () => [
|
|
|
1962
1803
|
* ExportService,
|
|
1963
1804
|
* HashingService,
|
|
1964
1805
|
* MessageService,
|
|
1965
|
-
* UtilityService
|
|
1966
|
-
*
|
|
1806
|
+
* UtilityService
|
|
1807
|
+
* InterComService
|
|
1967
1808
|
*
|
|
1968
1809
|
* con eventuali provider che utilizzano
|
|
1969
1810
|
*/
|
|
@@ -1978,13 +1819,11 @@ class FullExtensionsModule {
|
|
|
1978
1819
|
HashingService,
|
|
1979
1820
|
MessageService,
|
|
1980
1821
|
UtilityService,
|
|
1981
|
-
|
|
1822
|
+
InterComService,
|
|
1982
1823
|
{ provide: EXT_LOCALE, useValue: (config === null || config === void 0 ? void 0 : config.locale) || 'it-IT' },
|
|
1983
1824
|
{ provide: EXT_FANCY_ALERTS, useValue: (config === null || config === void 0 ? void 0 : config.fancy_alerts) || true },
|
|
1984
1825
|
{ provide: APPSEARCH_PREFIX, useValue: (config === null || config === void 0 ? void 0 : config.appsearch_prefix) || 'Hot' },
|
|
1985
|
-
{ 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 }
|
|
1986
|
-
{ provide: BaseSessionRetriever, useClass: (config === null || config === void 0 ? void 0 : config.sessionRetriever) || DefaultSessionRetriever },
|
|
1987
|
-
{ provide: BaseStorageProvider, useClass: (config === null || config === void 0 ? void 0 : config.storageProvider) || DefaultStorageProvider },
|
|
1826
|
+
{ 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 }
|
|
1988
1827
|
]
|
|
1989
1828
|
};
|
|
1990
1829
|
}
|
|
@@ -2011,6 +1850,13 @@ class CsvHeaders {
|
|
|
2011
1850
|
class GenericItem {
|
|
2012
1851
|
}
|
|
2013
1852
|
|
|
1853
|
+
/** Enumeratore dei tipi di messaggio che i moduli esterni possono contattare sull'applicazione principale */
|
|
1854
|
+
var InboundMessageTypes;
|
|
1855
|
+
(function (InboundMessageTypes) {
|
|
1856
|
+
/** Evento di navigazione */
|
|
1857
|
+
InboundMessageTypes[InboundMessageTypes["Navigation"] = 0] = "Navigation";
|
|
1858
|
+
})(InboundMessageTypes || (InboundMessageTypes = {}));
|
|
1859
|
+
|
|
2014
1860
|
/*
|
|
2015
1861
|
* Public API Surface of extensions
|
|
2016
1862
|
*/
|
|
@@ -2019,5 +1865,5 @@ class GenericItem {
|
|
|
2019
1865
|
* Generated bundle index. Do not edit.
|
|
2020
1866
|
*/
|
|
2021
1867
|
|
|
2022
|
-
export { APPSEARCH_PREFIX,
|
|
1868
|
+
export { APPSEARCH_PREFIX, CallResult, ClipboardService, CsvHeaders, DateService, EXT_ALLOW_UTC, EXT_FANCY_ALERTS, EXT_LOCALE, Export, ExportAs, ExportDictionary, ExportList, ExportService, ExtensionsModule, FullExtensionsModule, GenericItem, HashingService, InboundMessageTypes, InterComMessage, InterComService, MessageService, UtilityService };
|
|
2023
1869
|
//# sourceMappingURL=esfaenza-extensions.js.map
|