@esfaenza/extensions 13.1.2 → 13.1.6

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.
Files changed (27) hide show
  1. package/esm2020/lib/models/ExtensionsModuleConfig.mjs +1 -1
  2. package/esm2020/lib/models/InboundMessageTypes.mjs +7 -0
  3. package/esm2020/lib/models/InterComMessage.mjs +14 -0
  4. package/esm2020/lib/modules/extensions.full.module.mjs +6 -13
  5. package/esm2020/lib/services/extensions.intercom.service.mjs +53 -0
  6. package/esm2020/public-api.mjs +5 -4
  7. package/fesm2015/esfaenza-extensions.mjs +56 -219
  8. package/fesm2015/esfaenza-extensions.mjs.map +1 -1
  9. package/fesm2020/esfaenza-extensions.mjs +56 -217
  10. package/fesm2020/esfaenza-extensions.mjs.map +1 -1
  11. package/lib/models/ExtensionsModuleConfig.d.ts +0 -11
  12. package/lib/models/InboundMessageTypes.d.ts +5 -0
  13. package/lib/models/InterComMessage.d.ts +12 -0
  14. package/lib/modules/extensions.full.module.d.ts +2 -2
  15. package/lib/services/extensions.intercom.service.d.ts +28 -0
  16. package/package.json +1 -1
  17. package/public-api.d.ts +4 -3
  18. package/esm2020/lib/models/providers/base/BaseStorageProvider.mjs +0 -25
  19. package/esm2020/lib/models/providers/implementation/DefaultStorageProvider.mjs +0 -79
  20. package/esm2020/lib/models/session/base/BaseSessionRetriever.mjs +0 -6
  21. package/esm2020/lib/models/session/implementation/DefaultSessionRetriever.mjs +0 -28
  22. package/esm2020/lib/services/extensions.storage.service.mjs +0 -103
  23. package/lib/models/providers/base/BaseStorageProvider.d.ts +0 -65
  24. package/lib/models/providers/implementation/DefaultStorageProvider.d.ts +0 -23
  25. package/lib/models/session/base/BaseSessionRetriever.d.ts +0 -11
  26. package/lib/models/session/implementation/DefaultSessionRetriever.d.ts +0 -21
  27. package/lib/services/extensions.storage.service.d.ts +0 -59
@@ -3,4 +3,4 @@
3
3
  */
4
4
  export class ExtensionsModuleConfig {
5
5
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXh0ZW5zaW9uc01vZHVsZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL2xpYi9tb2RlbHMvRXh0ZW5zaW9uc01vZHVsZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7Q0ErQmxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJhc2VTdG9yYWdlUHJvdmlkZXIgfSBmcm9tIFwiLi9wcm92aWRlcnMvYmFzZS9CYXNlU3RvcmFnZVByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IEJhc2VTZXNzaW9uUmV0cmlldmVyIH0gZnJvbSBcIi4vc2Vzc2lvbi9iYXNlL0Jhc2VTZXNzaW9uUmV0cmlldmVyXCI7XHJcblxyXG4vKipcclxuICogQ2xhc3NlIGRpIGNvbmZpZ3VyYXppb25lIHBlciBpbCBtb2R1bG8gZGkgZXN0ZW5zaW9uZVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEV4dGVuc2lvbnNNb2R1bGVDb25maWcge1xyXG5cclxuICAvKipcclxuICAgKiBMb2NhbGUgZGEgdXRpbGl6emFyZSBwZXIgcXVlc3RhIGxpYnJlcmlhLCBzb25vIHN1cHBvcnRhdGkgaSBsb2NhbGkgJ2l0LUlUJyBlZCAnZW4tVVMnXHJcbiAgICovXHJcbiAgbG9jYWxlOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBzZSBsYSBsaWJyZXJpYSBkZXZlIHV0aWxpenphcmUgbGEgbGlicmVyaWEgJ3N3ZWV0YWxlcnRzMicgKHBpw7kgZ3JhZmljYW1lbnRlIHBpYWNldm9sbykgbyBzZSBsaW1pdGFyc2kgYWQgdXNhcmUgJ3RvYXN0cidcclxuICAgKi9cclxuICBmYW5jeV9hbGVydHM6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIEluZGljYSBzZSBpIG1ldG9kaSBkaSBlc3RlbnNpb25lIGNoZSB1dGlsaXp6YW5vIGxlIGRhdGUgcGVybWV0dG9ubyBsJ3VzbyBkaSBkYXRlIGluIHV0Y1xyXG4gICAqL1xyXG4gIGFsbG93X3V0YzogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgICogUHJlZmlzc28gZGVsbGUgc2VhcmNoVmlldyBjaGUgc2VydmUgcGVyIHN0b3JpY2l6emFybGUgZXZpdGFuZG8gZGkgdGlyYXJzaSBpbiBtZW1vcmlhIGFuY2hlIHR1dHRpIGdsaSBvZ2dldHRpLiBTZSB2dW90byB2aWVuZSBzdXBwb3N0byAnSG90J1xyXG4gICAqL1xyXG4gIGFwcHNlYXJjaF9wcmVmaXg6IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQ2xhc3NlIGNoZSBzaSBkZXZlIG9jY3VwYXJlIHBlciBnZW5lcmFyZSB1biBJRCB1bml2b2NvIGRpIHNlc3Npb25lIGluIGJhc2UgYWwgcXVhbGUgdmVycmFubm8gc2FsdmF0ZSBsZSBwcmVmZXJlbnplXHJcbiAgICovXHJcbiAgc2Vzc2lvblJldHJpZXZlcj86IFR5cGU8QmFzZVNlc3Npb25SZXRyaWV2ZXI+O1xyXG5cclxuICAvKipcclxuICAgKiBDbGFzc2UgY2hlIHNpIGRldmUgb2NjdXBhcmUgZGkgc2FsdmFyZSBmaXNpY2FtZW50ZSBsZSBwcmVmZXJlbnplIHN1IHVuIHN1cHBvcnRvIGZpc2ljbywgc2lhIGVzc28gdW4gREIsIHVuIGxvY2FsU3RvcmFnZSBvIHdoYXRldmVyXHJcbiAgICovXHJcbiAgc3RvcmFnZVByb3ZpZGVyPzogVHlwZTxCYXNlU3RvcmFnZVByb3ZpZGVyPjtcclxufSJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXh0ZW5zaW9uc01vZHVsZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL2xpYi9tb2RlbHMvRXh0ZW5zaW9uc01vZHVsZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7Q0FxQmxDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIENsYXNzZSBkaSBjb25maWd1cmF6aW9uZSBwZXIgaWwgbW9kdWxvIGRpIGVzdGVuc2lvbmVcclxuICovXHJcbmV4cG9ydCBjbGFzcyBFeHRlbnNpb25zTW9kdWxlQ29uZmlnIHtcclxuXHJcbiAgLyoqXHJcbiAgICogTG9jYWxlIGRhIHV0aWxpenphcmUgcGVyIHF1ZXN0YSBsaWJyZXJpYSwgc29ubyBzdXBwb3J0YXRpIGkgbG9jYWxpICdpdC1JVCcgZWQgJ2VuLVVTJ1xyXG4gICAqL1xyXG4gIGxvY2FsZTogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2Egc2UgbGEgbGlicmVyaWEgZGV2ZSB1dGlsaXp6YXJlIGxhIGxpYnJlcmlhICdzd2VldGFsZXJ0czInIChwacO5IGdyYWZpY2FtZW50ZSBwaWFjZXZvbG8pIG8gc2UgbGltaXRhcnNpIGFkIHVzYXJlICd0b2FzdHInXHJcbiAgICovXHJcbiAgZmFuY3lfYWxlcnRzOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICAgKiBJbmRpY2Egc2UgaSBtZXRvZGkgZGkgZXN0ZW5zaW9uZSBjaGUgdXRpbGl6emFubyBsZSBkYXRlIHBlcm1ldHRvbm8gbCd1c28gZGkgZGF0ZSBpbiB1dGNcclxuICAgKi9cclxuICBhbGxvd191dGM6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqIFByZWZpc3NvIGRlbGxlIHNlYXJjaFZpZXcgY2hlIHNlcnZlIHBlciBzdG9yaWNpenphcmxlIGV2aXRhbmRvIGRpIHRpcmFyc2kgaW4gbWVtb3JpYSBhbmNoZSB0dXR0aSBnbGkgb2dnZXR0aS4gU2UgdnVvdG8gdmllbmUgc3VwcG9zdG8gJ0hvdCdcclxuICAgKi9cclxuICBhcHBzZWFyY2hfcHJlZml4OiBzdHJpbmc7XHJcbn0iXX0=
@@ -0,0 +1,7 @@
1
+ /** Enumeratore dei tipi di messaggio che i moduli esterni possono contattare sull'applicazione principale */
2
+ export var InboundMessageTypes;
3
+ (function (InboundMessageTypes) {
4
+ /** Evento di navigazione */
5
+ InboundMessageTypes[InboundMessageTypes["Navigation"] = 0] = "Navigation";
6
+ })(InboundMessageTypes || (InboundMessageTypes = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5ib3VuZE1lc3NhZ2VUeXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL2xpYi9tb2RlbHMvSW5ib3VuZE1lc3NhZ2VUeXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2R0FBNkc7QUFFN0csTUFBTSxDQUFOLElBQVksbUJBR1g7QUFIRCxXQUFZLG1CQUFtQjtJQUMzQiw0QkFBNEI7SUFDNUIseUVBQVUsQ0FBQTtBQUNkLENBQUMsRUFIVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBRzlCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEVudW1lcmF0b3JlIGRlaSB0aXBpIGRpIG1lc3NhZ2dpbyBjaGUgaSBtb2R1bGkgZXN0ZXJuaSBwb3Nzb25vIGNvbnRhdHRhcmUgc3VsbCdhcHBsaWNhemlvbmUgcHJpbmNpcGFsZSAqL1xyXG5cclxuZXhwb3J0IGVudW0gSW5ib3VuZE1lc3NhZ2VUeXBlcyB7XHJcbiAgICAvKiogRXZlbnRvIGRpIG5hdmlnYXppb25lICovXHJcbiAgICBOYXZpZ2F0aW9uXHJcbn1cclxuIl19
@@ -0,0 +1,14 @@
1
+ /** Classe che rappresenta un generico messaggio scambiato fra applicazione e moduli */
2
+ export class InterComMessage {
3
+ /**
4
+ * Costruttore
5
+ *
6
+ * @param type Tipo di messaggio
7
+ * @param message Contenuto del messaggio
8
+ */
9
+ constructor(type, message) {
10
+ this.type = type;
11
+ this.message = message;
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJDb21NZXNzYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh0ZW5zaW9ucy9zcmMvbGliL21vZGVscy9JbnRlckNvbU1lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUZBQXVGO0FBRXZGLE1BQU0sT0FBTyxlQUFlO0lBQ3hCOzs7OztPQUtHO0lBQ0gsWUFBbUIsSUFBUyxFQUFTLE9BQVk7UUFBOUIsU0FBSSxHQUFKLElBQUksQ0FBSztRQUFTLFlBQU8sR0FBUCxPQUFPLENBQUs7SUFBSSxDQUFDO0NBQ3pEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIENsYXNzZSBjaGUgcmFwcHJlc2VudGEgdW4gZ2VuZXJpY28gbWVzc2FnZ2lvIHNjYW1iaWF0byBmcmEgYXBwbGljYXppb25lIGUgbW9kdWxpICovXHJcblxyXG5leHBvcnQgY2xhc3MgSW50ZXJDb21NZXNzYWdlIHtcclxuICAgIC8qKlxyXG4gICAgICogQ29zdHJ1dHRvcmVcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gdHlwZSBUaXBvIGRpIG1lc3NhZ2dpb1xyXG4gICAgICogQHBhcmFtIG1lc3NhZ2UgQ29udGVudXRvIGRlbCBtZXNzYWdnaW9cclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IocHVibGljIHR5cGU6IGFueSwgcHVibGljIG1lc3NhZ2U6IGFueSkgeyB9XHJcbn1cclxuIl19
@@ -8,12 +8,7 @@ import { ExportService } from "../services/extensions.exports.service";
8
8
  import { HashingService } from "../services/extensions.hashing.service";
9
9
  import { MessageService } from "../services/extensions.messages.service";
10
10
  import { UtilityService } from "../services/extensions.utilities.service";
11
- import { StorageService } from '../services/extensions.storage.service';
12
- // Providers
13
- import { BaseSessionRetriever } from '../models/session/base/BaseSessionRetriever';
14
- import { DefaultSessionRetriever } from '../models/session/implementation/DefaultSessionRetriever';
15
- import { BaseStorageProvider } from '../models/providers/base/BaseStorageProvider';
16
- import { DefaultStorageProvider } from '../models/providers/implementation/DefaultStorageProvider';
11
+ import { InterComService } from '../services/extensions.intercom.service';
17
12
  import * as i0 from "@angular/core";
18
13
  /**
19
14
  * Modulo di estensione che registra autonomamente **TUTTI** i servizi di estensione:
@@ -22,8 +17,8 @@ import * as i0 from "@angular/core";
22
17
  * ExportService,
23
18
  * HashingService,
24
19
  * MessageService,
25
- * UtilityService,
26
- * StorageService,
20
+ * UtilityService
21
+ * InterComService
27
22
  *
28
23
  * con eventuali provider che utilizzano
29
24
  */
@@ -38,13 +33,11 @@ export class FullExtensionsModule {
38
33
  HashingService,
39
34
  MessageService,
40
35
  UtilityService,
41
- StorageService,
36
+ InterComService,
42
37
  { provide: EXT_LOCALE, useValue: config?.locale || 'it-IT' },
43
38
  { provide: EXT_FANCY_ALERTS, useValue: config?.fancy_alerts || true },
44
39
  { provide: APPSEARCH_PREFIX, useValue: config?.appsearch_prefix || 'Hot' },
45
- { provide: EXT_ALLOW_UTC, useValue: config?.allow_utc == null ? false : config?.allow_utc },
46
- { provide: BaseSessionRetriever, useClass: config?.sessionRetriever || DefaultSessionRetriever },
47
- { provide: BaseStorageProvider, useClass: config?.storageProvider || DefaultStorageProvider },
40
+ { provide: EXT_ALLOW_UTC, useValue: config?.allow_utc == null ? false : config?.allow_utc }
48
41
  ]
49
42
  };
50
43
  }
@@ -55,4 +48,4 @@ FullExtensionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
55
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FullExtensionsModule, decorators: [{
56
49
  type: NgModule
57
50
  }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5mdWxsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL2xpYi9tb2R1bGVzL2V4dGVuc2lvbnMuZnVsbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBSTlELE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTFGLFVBQVU7QUFDVixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV4RSxZQUFZO0FBQ1osT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDbkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkRBQTJELENBQUM7O0FBRW5HOzs7Ozs7Ozs7OztHQVdHO0FBRUgsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQStCO1FBQzVDLE9BQU87WUFDTCxRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLFNBQVMsRUFBRTtnQkFDVCxnQkFBZ0I7Z0JBQ2hCLFdBQVc7Z0JBQ1gsYUFBYTtnQkFDYixjQUFjO2dCQUNkLGNBQWM7Z0JBQ2QsY0FBYztnQkFDZCxjQUFjO2dCQUNkLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUU7Z0JBQzVELEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsWUFBWSxJQUFJLElBQUksRUFBRTtnQkFDckUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsSUFBSSxLQUFLLEVBQUM7Z0JBQ3pFLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBQztnQkFDMUYsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsSUFBSSx1QkFBdUIsRUFBRTtnQkFDaEcsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxlQUFlLElBQUksc0JBQXNCLEVBQUU7YUFDOUY7U0FDRixDQUFDO0lBQ0osQ0FBQzs7aUhBcEJVLG9CQUFvQjtrSEFBcEIsb0JBQW9CO2tIQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFEaEMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8vIE1vZGVsbGlcclxuaW1wb3J0IHsgRXh0ZW5zaW9uc01vZHVsZUNvbmZpZyB9IGZyb20gJy4uL21vZGVscy9FeHRlbnNpb25zTW9kdWxlQ29uZmlnJztcclxuaW1wb3J0IHsgRVhUX0xPQ0FMRSwgRVhUX0ZBTkNZX0FMRVJUUywgQVBQU0VBUkNIX1BSRUZJWCwgRVhUX0FMTE9XX1VUQyB9IGZyb20gJy4uL3Rva2Vucyc7XHJcblxyXG4vLyBTZXJ2aXppXHJcbmltcG9ydCB7IENsaXBib2FyZFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvZXh0ZW5zaW9ucy5jbGlwYm9hcmQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEYXRlU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9leHRlbnNpb25zLmRhdGVzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRXhwb3J0U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9leHRlbnNpb25zLmV4cG9ydHMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBIYXNoaW5nU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9leHRlbnNpb25zLmhhc2hpbmcuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9leHRlbnNpb25zLm1lc3NhZ2VzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvZXh0ZW5zaW9ucy51dGlsaXRpZXMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2V4dGVuc2lvbnMuc3RvcmFnZS5zZXJ2aWNlJztcclxuXHJcbi8vIFByb3ZpZGVyc1xyXG5pbXBvcnQgeyBCYXNlU2Vzc2lvblJldHJpZXZlciB9IGZyb20gJy4uL21vZGVscy9zZXNzaW9uL2Jhc2UvQmFzZVNlc3Npb25SZXRyaWV2ZXInO1xyXG5pbXBvcnQgeyBEZWZhdWx0U2Vzc2lvblJldHJpZXZlciB9IGZyb20gJy4uL21vZGVscy9zZXNzaW9uL2ltcGxlbWVudGF0aW9uL0RlZmF1bHRTZXNzaW9uUmV0cmlldmVyJztcclxuaW1wb3J0IHsgQmFzZVN0b3JhZ2VQcm92aWRlciB9IGZyb20gJy4uL21vZGVscy9wcm92aWRlcnMvYmFzZS9CYXNlU3RvcmFnZVByb3ZpZGVyJztcclxuaW1wb3J0IHsgRGVmYXVsdFN0b3JhZ2VQcm92aWRlciB9IGZyb20gJy4uL21vZGVscy9wcm92aWRlcnMvaW1wbGVtZW50YXRpb24vRGVmYXVsdFN0b3JhZ2VQcm92aWRlcic7XHJcblxyXG4vKipcclxuICogTW9kdWxvIGRpIGVzdGVuc2lvbmUgY2hlIHJlZ2lzdHJhIGF1dG9ub21hbWVudGUgKipUVVRUSSoqIGkgc2Vydml6aSBkaSBlc3RlbnNpb25lOiBcclxuICogQ2xpcGJvYXJkU2VydmljZSwgXHJcbiAqIERhdGVTZXJ2aWNlLCBcclxuICogRXhwb3J0U2VydmljZSwgXHJcbiAqIEhhc2hpbmdTZXJ2aWNlLCBcclxuICogTWVzc2FnZVNlcnZpY2UsIFxyXG4gKiBVdGlsaXR5U2VydmljZSwgXHJcbiAqIFN0b3JhZ2VTZXJ2aWNlLCBcclxuICogXHJcbiAqIGNvbiBldmVudHVhbGkgcHJvdmlkZXIgY2hlIHV0aWxpenphbm9cclxuICovXHJcbkBOZ01vZHVsZSgpXHJcbmV4cG9ydCBjbGFzcyBGdWxsRXh0ZW5zaW9uc01vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogRXh0ZW5zaW9uc01vZHVsZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RnVsbEV4dGVuc2lvbnNNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBGdWxsRXh0ZW5zaW9uc01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgQ2xpcGJvYXJkU2VydmljZSxcclxuICAgICAgICBEYXRlU2VydmljZSxcclxuICAgICAgICBFeHBvcnRTZXJ2aWNlLFxyXG4gICAgICAgIEhhc2hpbmdTZXJ2aWNlLFxyXG4gICAgICAgIE1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIFV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgICAgIFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgICAgIHsgcHJvdmlkZTogRVhUX0xPQ0FMRSwgdXNlVmFsdWU6IGNvbmZpZz8ubG9jYWxlIHx8ICdpdC1JVCcgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEVYVF9GQU5DWV9BTEVSVFMsIHVzZVZhbHVlOiBjb25maWc/LmZhbmN5X2FsZXJ0cyB8fCB0cnVlIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBBUFBTRUFSQ0hfUFJFRklYLCB1c2VWYWx1ZTogY29uZmlnPy5hcHBzZWFyY2hfcHJlZml4IHx8ICdIb3QnfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEVYVF9BTExPV19VVEMsIHVzZVZhbHVlOiBjb25maWc/LmFsbG93X3V0YyA9PSBudWxsID8gZmFsc2UgOiBjb25maWc/LmFsbG93X3V0Y30sXHJcbiAgICAgICAgeyBwcm92aWRlOiBCYXNlU2Vzc2lvblJldHJpZXZlciwgdXNlQ2xhc3M6IGNvbmZpZz8uc2Vzc2lvblJldHJpZXZlciB8fCBEZWZhdWx0U2Vzc2lvblJldHJpZXZlciB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogQmFzZVN0b3JhZ2VQcm92aWRlciwgdXNlQ2xhc3M6IGNvbmZpZz8uc3RvcmFnZVByb3ZpZGVyIHx8IERlZmF1bHRTdG9yYWdlUHJvdmlkZXIgfSxcclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcbn0iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5mdWxsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL2xpYi9tb2R1bGVzL2V4dGVuc2lvbnMuZnVsbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBSTlELE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTFGLFVBQVU7QUFDVixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFFMUU7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBK0I7UUFDNUMsT0FBTztZQUNMLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsU0FBUyxFQUFFO2dCQUNULGdCQUFnQjtnQkFDaEIsV0FBVztnQkFDWCxhQUFhO2dCQUNiLGNBQWM7Z0JBQ2QsY0FBYztnQkFDZCxjQUFjO2dCQUNkLGVBQWU7Z0JBQ2YsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDNUQsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxZQUFZLElBQUksSUFBSSxFQUFFO2dCQUNyRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixJQUFJLEtBQUssRUFBQztnQkFDekUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFDO2FBQzNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O2lIQWxCVSxvQkFBb0I7a0hBQXBCLG9CQUFvQjtrSEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vLyBNb2RlbGxpXHJcbmltcG9ydCB7IEV4dGVuc2lvbnNNb2R1bGVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvRXh0ZW5zaW9uc01vZHVsZUNvbmZpZyc7XHJcbmltcG9ydCB7IEVYVF9MT0NBTEUsIEVYVF9GQU5DWV9BTEVSVFMsIEFQUFNFQVJDSF9QUkVGSVgsIEVYVF9BTExPV19VVEMgfSBmcm9tICcuLi90b2tlbnMnO1xyXG5cclxuLy8gU2Vydml6aVxyXG5pbXBvcnQgeyBDbGlwYm9hcmRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2V4dGVuc2lvbnMuY2xpcGJvYXJkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvZXh0ZW5zaW9ucy5kYXRlcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEV4cG9ydFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvZXh0ZW5zaW9ucy5leHBvcnRzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSGFzaGluZ1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvZXh0ZW5zaW9ucy5oYXNoaW5nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvZXh0ZW5zaW9ucy5tZXNzYWdlcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL2V4dGVuc2lvbnMudXRpbGl0aWVzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSW50ZXJDb21TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZXh0ZW5zaW9ucy5pbnRlcmNvbS5zZXJ2aWNlJztcclxuXHJcbi8qKlxyXG4gKiBNb2R1bG8gZGkgZXN0ZW5zaW9uZSBjaGUgcmVnaXN0cmEgYXV0b25vbWFtZW50ZSAqKlRVVFRJKiogaSBzZXJ2aXppIGRpIGVzdGVuc2lvbmU6IFxyXG4gKiBDbGlwYm9hcmRTZXJ2aWNlLCBcclxuICogRGF0ZVNlcnZpY2UsIFxyXG4gKiBFeHBvcnRTZXJ2aWNlLCBcclxuICogSGFzaGluZ1NlcnZpY2UsIFxyXG4gKiBNZXNzYWdlU2VydmljZSwgXHJcbiAqIFV0aWxpdHlTZXJ2aWNlXHJcbiAqIEludGVyQ29tU2VydmljZVxyXG4gKiBcclxuICogY29uIGV2ZW50dWFsaSBwcm92aWRlciBjaGUgdXRpbGl6emFub1xyXG4gKi9cclxuQE5nTW9kdWxlKClcclxuZXhwb3J0IGNsYXNzIEZ1bGxFeHRlbnNpb25zTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBFeHRlbnNpb25zTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxGdWxsRXh0ZW5zaW9uc01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IEZ1bGxFeHRlbnNpb25zTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBDbGlwYm9hcmRTZXJ2aWNlLFxyXG4gICAgICAgIERhdGVTZXJ2aWNlLFxyXG4gICAgICAgIEV4cG9ydFNlcnZpY2UsXHJcbiAgICAgICAgSGFzaGluZ1NlcnZpY2UsXHJcbiAgICAgICAgTWVzc2FnZVNlcnZpY2UsXHJcbiAgICAgICAgVXRpbGl0eVNlcnZpY2UsXHJcbiAgICAgICAgSW50ZXJDb21TZXJ2aWNlLFxyXG4gICAgICAgIHsgcHJvdmlkZTogRVhUX0xPQ0FMRSwgdXNlVmFsdWU6IGNvbmZpZz8ubG9jYWxlIHx8ICdpdC1JVCcgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEVYVF9GQU5DWV9BTEVSVFMsIHVzZVZhbHVlOiBjb25maWc/LmZhbmN5X2FsZXJ0cyB8fCB0cnVlIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBBUFBTRUFSQ0hfUFJFRklYLCB1c2VWYWx1ZTogY29uZmlnPy5hcHBzZWFyY2hfcHJlZml4IHx8ICdIb3QnfSxcclxuICAgICAgICB7IHByb3ZpZGU6IEVYVF9BTExPV19VVEMsIHVzZVZhbHVlOiBjb25maWc/LmFsbG93X3V0YyA9PSBudWxsID8gZmFsc2UgOiBjb25maWc/LmFsbG93X3V0Y31cclxuICAgICAgXVxyXG4gICAgfTtcclxuICB9XHJcbn0iXX0=
@@ -0,0 +1,53 @@
1
+ // Angular
2
+ import { Injectable } from "@angular/core";
3
+ // Librerie
4
+ import { Subject } from "rxjs";
5
+ // Modelli
6
+ import { InterComMessage } from "../models/InterComMessage";
7
+ import * as i0 from "@angular/core";
8
+ /** Service che si occupa di gestire la comunicazione fra i moduli interni ed esterni dell'applicativo */
9
+ export class InterComService {
10
+ constructor() {
11
+ /** Messaggi in uscita, uno per ogni recipient registratosi dall'entrypoint **register** */
12
+ this.outbounds = {};
13
+ /** Messaggi in entrata, unico per applicazione principale */
14
+ this.inbounds = new Subject();
15
+ }
16
+ /**
17
+ * Metodo che permette di inviare un messaggio dall'applicazione ad un modulo esterno o viceversa
18
+ *
19
+ * @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)
20
+ * @param {any} message Messaggio da inviare che può essere un dto in casi complessi ma dovrà essere gestito a dovere lato implementativo
21
+ * @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
22
+ */
23
+ send(messageType, message, recipient) {
24
+ let msg = new InterComMessage(messageType, message);
25
+ // Se non c'è un recipient significa che è un modulo esterno che invia messaggi al modulo main (quindi messaggio in entrata - inbound)
26
+ // Altrimenti significa che è il modulo main ad inviare messaggi ai moduli esterni (messaggio in uscita - outbound)
27
+ if (!recipient) {
28
+ this.inbounds.next(msg);
29
+ }
30
+ else {
31
+ if (!this.outbounds[recipient])
32
+ 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'");
33
+ else
34
+ this.outbounds[recipient].next(msg);
35
+ }
36
+ }
37
+ /**
38
+ * Permette di registrare un modulo esterno alla lista dei moduli in listening sulla coda di messaggi
39
+ *
40
+ * @param {string} key Chiave del modulo da registrare. Tutti i messaggi inbound saranno inviati dall'applicazione principale su questa chiave
41
+ */
42
+ register(key) {
43
+ if (this.outbounds[key])
44
+ throw "@esfaenza/extensions - InterComService: Impossibile registrare più volte lo stesso modulo";
45
+ this.outbounds[key] = new Subject();
46
+ }
47
+ }
48
+ InterComService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InterComService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
49
+ InterComService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InterComService });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InterComService, decorators: [{
51
+ type: Injectable
52
+ }] });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5pbnRlcmNvbS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh0ZW5zaW9ucy9zcmMvbGliL3NlcnZpY2VzL2V4dGVuc2lvbnMuaW50ZXJjb20uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxXQUFXO0FBQ1gsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixVQUFVO0FBQ1YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUU1RCx5R0FBeUc7QUFFekcsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFHSSwyRkFBMkY7UUFDcEYsY0FBUyxHQUErQyxFQUFFLENBQUM7UUFDbEUsNkRBQTZEO1FBQ3RELGFBQVEsR0FBNkIsSUFBSSxPQUFPLEVBQW1CLENBQUM7S0FtQzlFO0lBakNHOzs7Ozs7T0FNRztJQUNJLElBQUksQ0FBQyxXQUFnQixFQUFFLE9BQVksRUFBRSxTQUFrQjtRQUMxRCxJQUFJLEdBQUcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFcEQsc0lBQXNJO1FBQ3RJLG1IQUFtSDtRQUNuSCxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDM0I7YUFDSTtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztnQkFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyx3RkFBd0YsR0FBRyxTQUFTLEdBQUcsMEZBQTBGLENBQUMsQ0FBQzs7Z0JBRWhOLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1NBQzFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQUMsR0FBVztRQUN2QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1lBQ25CLE1BQU0sMkZBQTJGLENBQUM7UUFDdEcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztJQUN6RCxDQUFDOzs0R0F2Q1EsZUFBZTtnSEFBZixlQUFlOzJGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gTGlicmVyaWVcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG4vLyBNb2RlbGxpXHJcbmltcG9ydCB7IEludGVyQ29tTWVzc2FnZSB9IGZyb20gXCIuLi9tb2RlbHMvSW50ZXJDb21NZXNzYWdlXCI7XHJcblxyXG4vKiogU2VydmljZSBjaGUgc2kgb2NjdXBhIGRpIGdlc3RpcmUgbGEgY29tdW5pY2F6aW9uZSBmcmEgaSBtb2R1bGkgaW50ZXJuaSBlZCBlc3Rlcm5pIGRlbGwnYXBwbGljYXRpdm8gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSW50ZXJDb21TZXJ2aWNlIHtcclxuXHJcbiAgICAvKiogTWVzc2FnZ2kgaW4gdXNjaXRhLCB1bm8gcGVyIG9nbmkgcmVjaXBpZW50IHJlZ2lzdHJhdG9zaSBkYWxsJ2VudHJ5cG9pbnQgKipyZWdpc3RlcioqICovXHJcbiAgICBwdWJsaWMgb3V0Ym91bmRzOiB7IFtpZDogc3RyaW5nXTogU3ViamVjdDxJbnRlckNvbU1lc3NhZ2U+IH0gPSB7fTtcclxuICAgIC8qKiBNZXNzYWdnaSBpbiBlbnRyYXRhLCB1bmljbyBwZXIgYXBwbGljYXppb25lIHByaW5jaXBhbGUgKi9cclxuICAgIHB1YmxpYyBpbmJvdW5kczogU3ViamVjdDxJbnRlckNvbU1lc3NhZ2U+ID0gbmV3IFN1YmplY3Q8SW50ZXJDb21NZXNzYWdlPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWV0b2RvIGNoZSBwZXJtZXR0ZSBkaSBpbnZpYXJlIHVuIG1lc3NhZ2dpbyBkYWxsJ2FwcGxpY2F6aW9uZSBhZCB1biBtb2R1bG8gZXN0ZXJubyBvIHZpY2V2ZXJzYVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2FueX0gbWVzc2FnZVR5cGUgVGlwb2xvZ2lhIGRpIG1lc3NhZ2dpby4gU2Fyw6AgZGkgdGlwbyAqKkluYm91bmRNZXNzYWdlVHlwZXMqKiBwZXIgdHV0dGkgaSBtZXNzYWdnaSBpbmJvdW5kLCBkaW5hbWljbyBwZXIgdHV0dGkgaSBtZXNhZ2dpIG91dGJvdW5kIChpbCB0aXBvIGRpcGVuZGVyw6AgZGFnbGkgZW51bSBkZWkgbWVzc2FnZ2kgZGVpIG1vZHVsaSBlc3Rlcm5pKVxyXG4gICAgICogQHBhcmFtIHthbnl9IG1lc3NhZ2UgTWVzc2FnZ2lvIGRhIGludmlhcmUgY2hlIHB1w7IgZXNzZXJlIHVuIGR0byBpbiBjYXNpIGNvbXBsZXNzaSBtYSBkb3Zyw6AgZXNzZXJlIGdlc3RpdG8gYSBkb3ZlcmUgbGF0byBpbXBsZW1lbnRhdGl2b1xyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHJlY2lwaWVudCBEZXN0aW5hdGFyaW8gZGVsIG1lc3NhZ2dpby4gUGVyIGkgbWVzc2FnZ2kgaW5ib3VuZCBkZXYnZXNzZXJlIGxhc2NpYXRvIHZ1b3RvLCBwZXIgaSBtZXNzYWdnaSBvdXRib3VuZCBzYXLDoCB2YWxvcml6emF0byBhbGxhIGNoaWF2ZSBkZWwgbW9kdWxvIGEgY3VpIHNpIHZ1b2xlIGludmlhcmUgaWwgbWVzc2FnZ2lvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZW5kKG1lc3NhZ2VUeXBlOiBhbnksIG1lc3NhZ2U6IGFueSwgcmVjaXBpZW50Pzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgbGV0IG1zZyA9IG5ldyBJbnRlckNvbU1lc3NhZ2UobWVzc2FnZVR5cGUsIG1lc3NhZ2UpO1xyXG5cclxuICAgICAgICAvLyBTZSBub24gYyfDqCB1biByZWNpcGllbnQgc2lnbmlmaWNhIGNoZSDDqCB1biBtb2R1bG8gZXN0ZXJubyBjaGUgaW52aWEgbWVzc2FnZ2kgYWwgbW9kdWxvIG1haW4gKHF1aW5kaSBtZXNzYWdnaW8gaW4gZW50cmF0YSAtIGluYm91bmQpXHJcbiAgICAgICAgLy8gQWx0cmltZW50aSBzaWduaWZpY2EgY2hlIMOoIGlsIG1vZHVsbyBtYWluIGFkIGludmlhcmUgbWVzc2FnZ2kgYWkgbW9kdWxpIGVzdGVybmkgKG1lc3NhZ2dpbyBpbiB1c2NpdGEgLSBvdXRib3VuZClcclxuICAgICAgICBpZiAoIXJlY2lwaWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmluYm91bmRzLm5leHQobXNnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5vdXRib3VuZHNbcmVjaXBpZW50XSlcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkBlc2ZhZW56YS9leHRlbnNpb25zIC0gSW50ZXJDb21TZXJ2aWNlOiBJbXBvc3NpYmlsZSBpbnZpYXJlIGlsIG1lc3NhZ2dpbyBhbCByZWNpcGllbnQgXCIgKyByZWNpcGllbnQgKyBcIiBhc3NpY3VyYXJzaSBjaGUgaWwgbW9kdWxvIHNpYSBjYXJpY2F0byBlIGNoZSBlZmZldHR1aSBsYSBjaGlhbWF0YSBhbCBtZXRvZG8gJ3JlZ2lzc3RlcidcIik7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHRoaXMub3V0Ym91bmRzW3JlY2lwaWVudF0ubmV4dChtc2cpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGVybWV0dGUgZGkgcmVnaXN0cmFyZSB1biBtb2R1bG8gZXN0ZXJubyBhbGxhIGxpc3RhIGRlaSBtb2R1bGkgaW4gbGlzdGVuaW5nIHN1bGxhIGNvZGEgZGkgbWVzc2FnZ2lcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBDaGlhdmUgZGVsIG1vZHVsbyBkYSByZWdpc3RyYXJlLiBUdXR0aSBpIG1lc3NhZ2dpIGluYm91bmQgc2FyYW5ubyBpbnZpYXRpIGRhbGwnYXBwbGljYXppb25lIHByaW5jaXBhbGUgc3UgcXVlc3RhIGNoaWF2ZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVnaXN0ZXIoa2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5vdXRib3VuZHNba2V5XSlcclxuICAgICAgICAgICAgdGhyb3cgXCJAZXNmYWVuemEvZXh0ZW5zaW9ucyAtIEludGVyQ29tU2VydmljZTogSW1wb3NzaWJpbGUgcmVnaXN0cmFyZSBwacO5IHZvbHRlIGxvIHN0ZXNzbyBtb2R1bG9cIjtcclxuICAgICAgICB0aGlzLm91dGJvdW5kc1trZXldID0gbmV3IFN1YmplY3Q8SW50ZXJDb21NZXNzYWdlPigpO1xyXG4gICAgfVxyXG59Il19
@@ -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
- export * from './lib/models/providers/base/BaseStorageProvider';
18
- export * from './lib/models/session/base/BaseSessionRetriever';
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsZ0RBQWdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZXh0ZW5zaW9uc1xyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9leHRlbnNpb25zLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZXh0ZW5zaW9ucy5mdWxsLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2V4dGVuc2lvbnMuZGF0ZXMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2V4dGVuc2lvbnMuZXhwb3J0cy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZXh0ZW5zaW9ucy5jbGlwYm9hcmQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2V4dGVuc2lvbnMuaGFzaGluZy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZXh0ZW5zaW9ucy5tZXNzYWdlcy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZXh0ZW5zaW9ucy51dGlsaXRpZXMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2V4dGVuc2lvbnMuc3RvcmFnZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdG9rZW5zJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL0NhbGxSZXN1bHQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvQ3N2SGVhZGVycyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9HZW5lcmljSXRlbSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9wcm92aWRlcnMvYmFzZS9CYXNlU3RvcmFnZVByb3ZpZGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3Nlc3Npb24vYmFzZS9CYXNlU2Vzc2lvblJldHJpZXZlcic7Il19
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==
@@ -3,8 +3,7 @@ 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';
6
+ import { Subject } from 'rxjs';
8
7
 
9
8
  /**
10
9
  * Token che identifica il locale da utilizzare per questa libreria, sono supportati i locali 'it-IT' ed 'en-US'
@@ -1768,233 +1767,66 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
1768
1767
  type: Injectable
1769
1768
  }] });
1770
1769
 
1771
- /**
1772
- * Classe astratta che si occupa di recuperare l'Id sessione univoco per applicazione ed utente collegato
1773
- */
1774
- class BaseSessionRetriever {
1775
- }
1776
-
1777
- /**
1778
- * Classe che gestisce la scrittura delle informazioni nello store locale.
1779
- * Questo store locale potrebbe essere il localStorage (implementazione di default data dal **DefaultStorageProvider**),
1780
- * oppure un'implementazione custom facente capo a un DB esterno.
1781
- *
1782
- * In questo ultimo caso però sarà necessario implementarsi un proprio **BaseSessionRetriever**
1783
- * che generi una chiave univoca di sessione su cui tutte le operazioni di questa classe saranno eseguite
1784
- */
1785
- class BaseStorageProvider {
1786
- /** @ignore Costruttore */
1787
- constructor(session) {
1788
- this.session = session;
1789
- }
1770
+ /** Classe che rappresenta un generico messaggio scambiato fra applicazione e moduli */
1771
+ class InterComMessage {
1790
1772
  /**
1791
- * Ottiene la chiave "Reale" da utilizzare per la persistenza di una chiave generica
1792
- *
1793
- * @param {string} key Chiave da storicizzare
1794
- *
1795
- * @returns {string} Unione fra l'identificativo della sessione e la chiave specificata
1796
- */
1797
- getKey(key) {
1798
- return this.session.getSessionKey() + "§" + key + "§";
1773
+ * Costruttore
1774
+ *
1775
+ * @param type Tipo di messaggio
1776
+ * @param message Contenuto del messaggio
1777
+ */
1778
+ constructor(type, message) {
1779
+ this.type = type;
1780
+ this.message = message;
1799
1781
  }
1800
1782
  }
1801
1783
 
1802
1784
  // Angular
1803
- /**
1804
- * Service che fornisce funzionalità di base per storicizzazione e recupero oggetti dallo Storage Locale
1805
- *
1806
- * N.B: In ogni chiamata è presente l'operatore rxjs **first()** per far che a prescindere dall'implementazione utente/default gli
1807
- * observable effettuino l'unsubscribe automaticamente terminata la prima operazine
1808
- */
1809
- class StorageService {
1810
- /**
1811
- * Costruttore
1812
- *
1813
- * @ignore
1814
- */
1815
- constructor(APPSEARCH_PREFIX, _session, _storage) {
1816
- this.APPSEARCH_PREFIX = APPSEARCH_PREFIX;
1817
- this._session = _session;
1818
- this._storage = _storage;
1785
+ /** Service che si occupa di gestire la comunicazione fra i moduli interni ed esterni dell'applicativo */
1786
+ class InterComService {
1787
+ constructor() {
1788
+ /** Messaggi in uscita, uno per ogni recipient registratosi dall'entrypoint **register** */
1789
+ this.outbounds = {};
1790
+ /** Messaggi in entrata, unico per applicazione principale */
1791
+ this.inbounds = new Subject();
1819
1792
  }
1820
1793
  /**
1821
- * 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
1822
- * 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
1794
+ * Metodo che permette di inviare un messaggio dall'applicazione ad un modulo esterno o viceversa
1823
1795
  *
1824
- * @param {string} storeName Chiave del localStorage in cui storicizzare l'oggetto **itemsContainer**
1825
- * @param {{ items: any[] }} itemsContainer Oggetto da storicizzare
1796
+ * @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)
1797
+ * @param {any} message Messaggio da inviare che può essere un dto in casi complessi ma dovrà essere gestito a dovere lato implementativo
1798
+ * @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
1826
1799
  */
1827
- setItem(storeName, item) {
1828
- var finalItem;
1829
- //Se sto salvando un oggetto con "items" e "page" vuol dire che è un appsearch, la ripulisco
1830
- if (item.items && item.page) {
1831
- finalItem = JSON.parse(JSON.stringify(item));
1832
- finalItem.items = [];
1833
- finalItem.savedstate = true;
1834
- finalItem.savedprefix = this.APPSEARCH_PREFIX || 'Hot';
1800
+ send(messageType, message, recipient) {
1801
+ let msg = new InterComMessage(messageType, message);
1802
+ // Se non c'è un recipient significa che è un modulo esterno che invia messaggi al modulo main (quindi messaggio in entrata - inbound)
1803
+ // Altrimenti significa che è il modulo main ad inviare messaggi ai moduli esterni (messaggio in uscita - outbound)
1804
+ if (!recipient) {
1805
+ this.inbounds.next(msg);
1806
+ }
1807
+ else {
1808
+ if (!this.outbounds[recipient])
1809
+ 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'");
1810
+ else
1811
+ this.outbounds[recipient].next(msg);
1835
1812
  }
1836
- else
1837
- finalItem = item;
1838
- return this._storage.setItem(storeName, finalItem).pipe(first(), tap(res => {
1839
- if (res == false)
1840
- console.error("Impossibile effettuare il salvataggio dell'oggetto all'interno dello Storage Locale per la chiave " + storeName);
1841
- }));
1842
- }
1843
- /**
1844
- * Recupera un oggetto dallo Storage Locale
1845
- *
1846
- * @param {string} storeName Chiave del localStorage da cui recuperare l'oggetto
1847
- *
1848
- * @returns {any} Oggetto recuperato e deserializzato
1849
- */
1850
- getItem(storeName) {
1851
- return this._storage.getItem(storeName).pipe(first(), tap(res => {
1852
- if (res == null)
1853
- console.warn("Impossibile ottenere l'oggetto salvato con chiave " + storeName);
1854
- }));
1855
- }
1856
- /**
1857
- * Ripulisce lo Storage Locale
1858
- *
1859
- * @param {string} storeName Chiave del localStorage da ripulire
1860
- */
1861
- removeItem(storeName) {
1862
- return this._storage.removeItem(storeName).pipe(first(), tap(res => {
1863
- if (res == false)
1864
- console.warn("Impossibile rimuovere l'oggetto salvato con chiave " + storeName);
1865
- }));
1866
- }
1867
- /**
1868
- * Ripulisce lo Storage Locale di ogni cosa salvata
1869
- *
1870
- * @param {string} storeName Chiave del localStorage da ripulire
1871
- */
1872
- clear() {
1873
- return this._storage.clear().pipe(first(), tap(res => {
1874
- if (res == false)
1875
- console.warn("Impossibile ripulire lo Storage Locale");
1876
- }));
1877
1813
  }
1878
1814
  /**
1879
- * Restituisce tutte le chiavi-valore associate alla sessione corrente
1815
+ * Permette di registrare un modulo esterno alla lista dei moduli in listening sulla coda di messaggi
1880
1816
  *
1881
- * @returns {Observable<{ [index: string]: string; }>} Risultato della query
1817
+ * @param {string} key Chiave del modulo da registrare. Tutti i messaggi inbound saranno inviati dall'applicazione principale su questa chiave
1882
1818
  */
1883
- getAll() {
1884
- return this._storage.getAll().pipe(first());
1819
+ register(key) {
1820
+ if (this.outbounds[key])
1821
+ throw "@esfaenza/extensions - InterComService: Impossibile registrare più volte lo stesso modulo";
1822
+ this.outbounds[key] = new Subject();
1885
1823
  }
1886
1824
  }
1887
- 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 });
1888
- StorageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: StorageService });
1889
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: StorageService, decorators: [{
1825
+ InterComService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InterComService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1826
+ InterComService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InterComService });
1827
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: InterComService, decorators: [{
1890
1828
  type: Injectable
1891
- }], ctorParameters: function () {
1892
- return [{ type: undefined, decorators: [{
1893
- type: Optional
1894
- }, {
1895
- type: Inject,
1896
- args: [APPSEARCH_PREFIX]
1897
- }] }, { type: BaseSessionRetriever }, { type: BaseStorageProvider }];
1898
- } });
1899
-
1900
- /**
1901
- * Implementazione di default per la classe **BaseSessionRetriever**
1902
- */
1903
- class DefaultSessionRetriever extends BaseSessionRetriever {
1904
- /**
1905
- * Costruttore
1906
- *
1907
- * @ignore
1908
- */
1909
- constructor() { super(); }
1910
- /**
1911
- * Ottiene un ID sessione
1912
- *
1913
- * @returns {string} ID sessione
1914
- */
1915
- getSessionKey() {
1916
- return "DUMMY_SESSION";
1917
- }
1918
- }
1919
- DefaultSessionRetriever.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DefaultSessionRetriever, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1920
- DefaultSessionRetriever.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DefaultSessionRetriever });
1921
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DefaultSessionRetriever, decorators: [{
1922
- type: Injectable
1923
- }], ctorParameters: function () { return []; } });
1924
-
1925
- /** Implementazione di default per la classe **BaseStorageProvider** */
1926
- class DefaultStorageProvider extends BaseStorageProvider {
1927
- /** @ignore Costruttore */
1928
- constructor(session) { super(session); }
1929
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
1930
- setItem(key, value) {
1931
- try {
1932
- localStorage.setItem(key, JSON.stringify(value));
1933
- return of(true);
1934
- }
1935
- catch (_a) {
1936
- // 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
1937
- if (value.savedprefix) {
1938
- console.warn("Spazio del local Storage insufficiente, prova a ripulirlo e risalvare");
1939
- //Pulisco tutte le view con nome che parta per "Hot"
1940
- for (let key in localStorage) {
1941
- if (localStorage.hasOwnProperty(key) && key.startsWith(value.savedprefix))
1942
- delete localStorage[key];
1943
- }
1944
- try {
1945
- localStorage.setItem(key, JSON.stringify(value));
1946
- }
1947
- catch (e) {
1948
- console.error("Spazio del local Storage insufficiente per salvare i risultati di ricerca con solo filtri. Non salvo nulla");
1949
- }
1950
- }
1951
- return of(false);
1952
- }
1953
- }
1954
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
1955
- getItem(key) {
1956
- try {
1957
- var ret = JSON.parse(localStorage.getItem(key));
1958
- return of(ret);
1959
- }
1960
- catch (_a) {
1961
- return of(null);
1962
- }
1963
- }
1964
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
1965
- removeItem(key) {
1966
- try {
1967
- localStorage.removeItem(key);
1968
- return of(true);
1969
- }
1970
- catch (_a) {
1971
- return of(false);
1972
- }
1973
- }
1974
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
1975
- clear() {
1976
- try {
1977
- localStorage.clear();
1978
- return of(true);
1979
- }
1980
- catch (_a) {
1981
- return of(false);
1982
- }
1983
- }
1984
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
1985
- getAll() {
1986
- var ret = {};
1987
- for (let key in localStorage) {
1988
- ret[key] = localStorage[key];
1989
- }
1990
- return of(ret);
1991
- }
1992
- }
1993
- DefaultStorageProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DefaultStorageProvider, deps: [{ token: BaseSessionRetriever }], target: i0.ɵɵFactoryTarget.Injectable });
1994
- DefaultStorageProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DefaultStorageProvider });
1995
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: DefaultStorageProvider, decorators: [{
1996
- type: Injectable
1997
- }], ctorParameters: function () { return [{ type: BaseSessionRetriever }]; } });
1829
+ }] });
1998
1830
 
1999
1831
  // Angular
2000
1832
  /**
@@ -2004,8 +1836,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
2004
1836
  * ExportService,
2005
1837
  * HashingService,
2006
1838
  * MessageService,
2007
- * UtilityService,
2008
- * StorageService,
1839
+ * UtilityService
1840
+ * InterComService
2009
1841
  *
2010
1842
  * con eventuali provider che utilizzano
2011
1843
  */
@@ -2020,13 +1852,11 @@ class FullExtensionsModule {
2020
1852
  HashingService,
2021
1853
  MessageService,
2022
1854
  UtilityService,
2023
- StorageService,
1855
+ InterComService,
2024
1856
  { provide: EXT_LOCALE, useValue: (config === null || config === void 0 ? void 0 : config.locale) || 'it-IT' },
2025
1857
  { provide: EXT_FANCY_ALERTS, useValue: (config === null || config === void 0 ? void 0 : config.fancy_alerts) || true },
2026
1858
  { provide: APPSEARCH_PREFIX, useValue: (config === null || config === void 0 ? void 0 : config.appsearch_prefix) || 'Hot' },
2027
- { 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 },
2028
- { provide: BaseSessionRetriever, useClass: (config === null || config === void 0 ? void 0 : config.sessionRetriever) || DefaultSessionRetriever },
2029
- { provide: BaseStorageProvider, useClass: (config === null || config === void 0 ? void 0 : config.storageProvider) || DefaultStorageProvider },
1859
+ { 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 }
2030
1860
  ]
2031
1861
  };
2032
1862
  }
@@ -2056,6 +1886,13 @@ class CsvHeaders {
2056
1886
  class GenericItem {
2057
1887
  }
2058
1888
 
1889
+ /** Enumeratore dei tipi di messaggio che i moduli esterni possono contattare sull'applicazione principale */
1890
+ var InboundMessageTypes;
1891
+ (function (InboundMessageTypes) {
1892
+ /** Evento di navigazione */
1893
+ InboundMessageTypes[InboundMessageTypes["Navigation"] = 0] = "Navigation";
1894
+ })(InboundMessageTypes || (InboundMessageTypes = {}));
1895
+
2059
1896
  /*
2060
1897
  * Public API Surface of extensions
2061
1898
  */
@@ -2064,5 +1901,5 @@ class GenericItem {
2064
1901
  * Generated bundle index. Do not edit.
2065
1902
  */
2066
1903
 
2067
- 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 };
1904
+ 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 };
2068
1905
  //# sourceMappingURL=esfaenza-extensions.mjs.map