@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.
Files changed (35) hide show
  1. package/bundles/esfaenza-extensions.umd.js +75 -551
  2. package/bundles/esfaenza-extensions.umd.js.map +1 -1
  3. package/bundles/esfaenza-extensions.umd.min.js +1 -16
  4. package/bundles/esfaenza-extensions.umd.min.js.map +1 -1
  5. package/esfaenza-extensions.d.ts +0 -2
  6. package/esfaenza-extensions.metadata.json +1 -1
  7. package/esm2015/esfaenza-extensions.js +1 -3
  8. package/esm2015/lib/models/CsvHeaders.js +1 -1
  9. package/esm2015/lib/models/ExtensionsModuleConfig.js +1 -1
  10. package/esm2015/lib/models/InboundMessageTypes.js +7 -0
  11. package/esm2015/lib/models/InterComMessage.js +14 -0
  12. package/esm2015/lib/modules/extensions.full.module.js +6 -13
  13. package/esm2015/lib/services/extensions.exports.service.js +16 -9
  14. package/esm2015/lib/services/extensions.intercom.service.js +50 -0
  15. package/esm2015/public-api.js +5 -4
  16. package/fesm2015/esfaenza-extensions.js +68 -222
  17. package/fesm2015/esfaenza-extensions.js.map +1 -1
  18. package/lib/models/CsvHeaders.d.ts +4 -0
  19. package/lib/models/ExtensionsModuleConfig.d.ts +0 -11
  20. package/lib/models/InboundMessageTypes.d.ts +5 -0
  21. package/lib/models/InterComMessage.d.ts +12 -0
  22. package/lib/modules/extensions.full.module.d.ts +2 -2
  23. package/lib/services/extensions.intercom.service.d.ts +25 -0
  24. package/package.json +1 -1
  25. package/public-api.d.ts +4 -3
  26. package/esm2015/lib/models/providers/base/BaseStorageProvider.js +0 -25
  27. package/esm2015/lib/models/providers/implementation/DefaultStorageProvider.js +0 -79
  28. package/esm2015/lib/models/session/base/BaseSessionRetriever.js +0 -6
  29. package/esm2015/lib/models/session/implementation/DefaultSessionRetriever.js +0 -26
  30. package/esm2015/lib/services/extensions.storage.service.js +0 -100
  31. package/lib/models/providers/base/BaseStorageProvider.d.ts +0 -65
  32. package/lib/models/providers/implementation/DefaultStorageProvider.d.ts +0 -20
  33. package/lib/models/session/base/BaseSessionRetriever.d.ts +0 -11
  34. package/lib/models/session/implementation/DefaultSessionRetriever.d.ts +0 -18
  35. package/lib/services/extensions.storage.service.d.ts +0 -56
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('ngx-toastr'), require('sweetalert2'), require('cerialize'), require('rxjs/operators'), require('rxjs')) :
3
- typeof define === 'function' && define.amd ? define('@esfaenza/extensions', ['exports', '@angular/core', 'ngx-toastr', 'sweetalert2', 'cerialize', 'rxjs/operators', 'rxjs'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.esfaenza = global.esfaenza || {}, global.esfaenza.extensions = {}), global.ng.core, global.ngxToastr, global.swal, global.cerialize, global.rxjs.operators, global.rxjs));
5
- }(this, (function (exports, core, ngxToastr, swal, cerialize, operators, rxjs) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('ngx-toastr'), require('sweetalert2'), require('cerialize'), require('rxjs')) :
3
+ typeof define === 'function' && define.amd ? define('@esfaenza/extensions', ['exports', '@angular/core', 'ngx-toastr', 'sweetalert2', 'cerialize', 'rxjs'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.esfaenza = global.esfaenza || {}, global.esfaenza.extensions = {}), global.ng.core, global.ngxToastr, global.swal, global.cerialize, global.rxjs));
5
+ }(this, (function (exports, core, ngxToastr, swal, cerialize, rxjs) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -1014,7 +1014,7 @@
1014
1014
  columns.forEach(function (t) {
1015
1015
  var propValue = obj.properties[t.key];
1016
1016
  Object.defineProperty(obj, t.key + "_exp", { value: propValue, writable: false, enumerable: true });
1017
- headers.push({ label: t.label, key: t.key + "_exp", order: t.order });
1017
+ headers.push({ label: t.label, key: t.key + "_exp", order: t.order, type: t.type });
1018
1018
  });
1019
1019
  //Tirati fuori tutti gli header faccio sort sull'ordinamento
1020
1020
  return headers.sort(function (a, b) { return a.order - b.order; });
@@ -1067,7 +1067,7 @@
1067
1067
  // Se è un formato data mi assicuro di non stampare mai una data 00:00:00 altrimenti in esportazione viene uno schifo
1068
1068
  var val = obj[prop] ? this.dates.trimSeconds(obj[prop].toString()) : "";
1069
1069
  Object.defineProperty(obj, prop + "_nofmt", { value: val, writable: false, enumerable: true });
1070
- headers.push({ label: lbl ? lbl : prop + "_nofmt", key: prop + "_nofmt", order: order });
1070
+ headers.push({ label: lbl ? lbl : prop + "_nofmt", key: prop + "_nofmt", order: order, type: "string" });
1071
1071
  }
1072
1072
  else {
1073
1073
  // Caso formato numerico
@@ -1079,7 +1079,7 @@
1079
1079
  // Il singolo punto che c'è, se presente (separatore decimali) lo trasformo in virgola
1080
1080
  var valConverted = val_1.replace(".", ",");
1081
1081
  Object.defineProperty(obj, prop + "_fmt", { value: valConverted, writable: false, enumerable: true });
1082
- headers.push({ label: lbl ? lbl : prop + "_fmt", key: prop + "_fmt", order: order });
1082
+ headers.push({ label: lbl ? lbl : prop + "_fmt", key: prop + "_fmt", order: order, type: "number" });
1083
1083
  }
1084
1084
  else {
1085
1085
  // Se ho un formato data trasformo in dayjs, formatto ed esporto
@@ -1087,7 +1087,7 @@
1087
1087
  // Se non funziona provo a definirgli la formattazione standard del metering per quel linguaggio
1088
1088
  var val_2 = this.dates.getFormatted(obj[prop], format.length <= 10, false);
1089
1089
  Object.defineProperty(obj, prop + "_fmt", { value: val_2 !== null && val_2 !== void 0 ? val_2 : "", writable: false, enumerable: true });
1090
- headers.push({ label: lbl ? lbl : prop + "_fmt", key: prop + "_fmt", order: order });
1090
+ headers.push({ label: lbl ? lbl : prop + "_fmt", key: prop + "_fmt", order: order, type: "date" });
1091
1091
  }
1092
1092
  }
1093
1093
  }
@@ -1120,16 +1120,19 @@
1120
1120
  var order = obj[prop + csvOrdPrefix];
1121
1121
  //Se per questa proprietà ho un formato lo applico
1122
1122
  var format = obj[prop + csvFormatPrefix];
1123
+ var type = "string";
1123
1124
  if (format == "F") {
1124
1125
  var val = value.toString();
1125
1126
  val = val.replace(/,/, "");
1126
1127
  value = val.replace(".", ",");
1128
+ type = "number";
1127
1129
  }
1128
1130
  else if (format) {
1129
1131
  value = this.dates.getFormatted(value, format.length <= 10, false);
1132
+ type = "date";
1130
1133
  }
1131
1134
  Object.defineProperty(obj, prop, { value: value, writable: false, enumerable: true });
1132
- headers.push({ label: lbl ? lbl : prop, key: prop, order: order });
1135
+ headers.push({ label: lbl ? lbl : prop, key: prop, order: order, type: type });
1133
1136
  };
1134
1137
  /**
1135
1138
  * Setup per l'esportazione di una lista di valori pivottati dinamicamente:
@@ -1171,15 +1174,19 @@
1171
1174
  tmpRes = JSON.parse(JSON.stringify(listitem));
1172
1175
  jumps.forEach(function (pp) { tmpRes = tmpRes[pp]; });
1173
1176
  var value = tmpRes;
1177
+ var type = "string";
1174
1178
  if (valueformat == "F") {
1175
1179
  var val = value != null ? value.toString() : "";
1176
1180
  val = val.replace(/,/, "");
1177
1181
  value = val.replace(".", ",");
1182
+ type = "number";
1178
1183
  }
1179
- else if (valueformat)
1184
+ else if (valueformat) {
1180
1185
  value = this_1.dates.getFormatted(obj[prop], valueformat.length <= 10, false);
1186
+ type = "date";
1187
+ }
1181
1188
  Object.defineProperty(obj, prop + idx, { value: value, writable: false });
1182
- headers.push({ label: header, key: prop + idx, order: order + idx });
1189
+ headers.push({ label: header, key: prop + idx, order: order + idx, type: type });
1183
1190
  };
1184
1191
  var this_1 = this, headersplit, header;
1185
1192
  for (var idx = 0; idx < objs.length; idx++) {
@@ -1230,7 +1237,7 @@
1230
1237
  var value = tmpRes;
1231
1238
  var propname = prop + idx.toString() + idxinternal.toString();
1232
1239
  Object.defineProperty(obj, propname, { value: value, writable: false });
1233
- headers.push({ label: header + " " + desc, key: propname, order: order + idx });
1240
+ headers.push({ label: header + " " + desc, key: propname, order: order + idx, type: 'string' });
1234
1241
  });
1235
1242
  };
1236
1243
  var headersplit, header, valuesplit;
@@ -1781,551 +1788,66 @@
1781
1788
  { type: core.Injectable }
1782
1789
  ];
1783
1790
 
1784
- /**
1785
- * Classe che gestisce la scrittura delle informazioni nello store locale.
1786
- * Questo store locale potrebbe essere il localStorage (implementazione di default data dal **DefaultStorageProvider**),
1787
- * oppure un'implementazione custom facente capo a un DB esterno.
1788
- *
1789
- * In questo ultimo caso però sarà necessario implementarsi un proprio **BaseSessionRetriever**
1790
- * che generi una chiave univoca di sessione su cui tutte le operazioni di questa classe saranno eseguite
1791
- */
1792
- var BaseStorageProvider = /** @class */ (function () {
1793
- /** @ignore Costruttore */
1794
- function BaseStorageProvider(session) {
1795
- this.session = session;
1796
- }
1791
+ /** Classe che rappresenta un generico messaggio scambiato fra applicazione e moduli */
1792
+ var InterComMessage = /** @class */ (function () {
1797
1793
  /**
1798
- * Ottiene la chiave "Reale" da utilizzare per la persistenza di una chiave generica
1799
- *
1800
- * @param {string} key Chiave da storicizzare
1801
- *
1802
- * @returns {string} Unione fra l'identificativo della sessione e la chiave specificata
1803
- */
1804
- BaseStorageProvider.prototype.getKey = function (key) {
1805
- return this.session.getSessionKey() + "§" + key + "§";
1806
- };
1807
- return BaseStorageProvider;
1808
- }());
1809
-
1810
- /**
1811
- * Classe astratta che si occupa di recuperare l'Id sessione univoco per applicazione ed utente collegato
1812
- */
1813
- var BaseSessionRetriever = /** @class */ (function () {
1814
- function BaseSessionRetriever() {
1794
+ * Costruttore
1795
+ *
1796
+ * @param type Tipo di messaggio
1797
+ * @param message Contenuto del messaggio
1798
+ */
1799
+ function InterComMessage(type, message) {
1800
+ this.type = type;
1801
+ this.message = message;
1815
1802
  }
1816
- return BaseSessionRetriever;
1803
+ return InterComMessage;
1817
1804
  }());
1818
1805
 
1819
1806
  // Angular
1820
- /**
1821
- * Service che fornisce funzionalità di base per storicizzazione e recupero oggetti dallo Storage Locale
1822
- *
1823
- * N.B: In ogni chiamata è presente l'operatore rxjs **first()** per far che a prescindere dall'implementazione utente/default gli
1824
- * observable effettuino l'unsubscribe automaticamente terminata la prima operazine
1825
- */
1826
- var StorageService = /** @class */ (function () {
1827
- /**
1828
- * Costruttore
1829
- *
1830
- * @ignore
1831
- */
1832
- function StorageService(APPSEARCH_PREFIX, _session, _storage) {
1833
- this.APPSEARCH_PREFIX = APPSEARCH_PREFIX;
1834
- this._session = _session;
1835
- this._storage = _storage;
1807
+ /** Service che si occupa di gestire la comunicazione fra i moduli interni ed esterni dell'applicativo */
1808
+ var InterComService = /** @class */ (function () {
1809
+ function InterComService() {
1810
+ /** Messaggi in uscita, uno per ogni recipient registratosi dall'entrypoint **register** */
1811
+ this.outbounds = {};
1812
+ /** Messaggi in entrata, unico per applicazione principale */
1813
+ this.inbounds = new rxjs.Subject();
1836
1814
  }
1837
1815
  /**
1838
- * 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
1839
- * 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
1816
+ * Metodo che permette di inviare un messaggio dall'applicazione ad un modulo esterno o viceversa
1840
1817
  *
1841
- * @param {string} storeName Chiave del localStorage in cui storicizzare l'oggetto **itemsContainer**
1842
- * @param {{ items: any[] }} itemsContainer Oggetto da storicizzare
1818
+ * @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)
1819
+ * @param {any} message Messaggio da inviare che può essere un dto in casi complessi ma dovrà essere gestito a dovere lato implementativo
1820
+ * @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
1843
1821
  */
1844
- StorageService.prototype.setItem = function (storeName, item) {
1845
- var finalItem;
1846
- //Se sto salvando un oggetto con "items" e "page" vuol dire che è un appsearch, la ripulisco
1847
- if (item.items && item.page) {
1848
- finalItem = JSON.parse(JSON.stringify(item));
1849
- finalItem.items = [];
1850
- finalItem.savedstate = true;
1851
- finalItem.savedprefix = this.APPSEARCH_PREFIX || 'Hot';
1822
+ InterComService.prototype.send = function (messageType, message, recipient) {
1823
+ var msg = new InterComMessage(messageType, message);
1824
+ // Se non c'è un recipient significa che è un modulo esterno che invia messaggi al modulo main (quindi messaggio in entrata - inbound)
1825
+ // Altrimenti significa che è il modulo main ad inviare messaggi ai moduli esterni (messaggio in uscita - outbound)
1826
+ if (!recipient) {
1827
+ this.inbounds.next(msg);
1852
1828
  }
1853
- else
1854
- finalItem = item;
1855
- return this._storage.setItem(storeName, finalItem).pipe(operators.first(), operators.tap(function (res) {
1856
- if (res == false)
1857
- console.error("Impossibile effettuare il salvataggio dell'oggetto all'interno dello Storage Locale per la chiave " + storeName);
1858
- }));
1859
- };
1860
- /**
1861
- * Recupera un oggetto dallo Storage Locale
1862
- *
1863
- * @param {string} storeName Chiave del localStorage da cui recuperare l'oggetto
1864
- *
1865
- * @returns {any} Oggetto recuperato e deserializzato
1866
- */
1867
- StorageService.prototype.getItem = function (storeName) {
1868
- return this._storage.getItem(storeName).pipe(operators.first(), operators.tap(function (res) {
1869
- if (res == null)
1870
- console.warn("Impossibile ottenere l'oggetto salvato con chiave " + storeName);
1871
- }));
1872
- };
1873
- /**
1874
- * Ripulisce lo Storage Locale
1875
- *
1876
- * @param {string} storeName Chiave del localStorage da ripulire
1877
- */
1878
- StorageService.prototype.removeItem = function (storeName) {
1879
- return this._storage.removeItem(storeName).pipe(operators.first(), operators.tap(function (res) {
1880
- if (res == false)
1881
- console.warn("Impossibile rimuovere l'oggetto salvato con chiave " + storeName);
1882
- }));
1883
- };
1884
- /**
1885
- * Ripulisce lo Storage Locale di ogni cosa salvata
1886
- *
1887
- * @param {string} storeName Chiave del localStorage da ripulire
1888
- */
1889
- StorageService.prototype.clear = function () {
1890
- return this._storage.clear().pipe(operators.first(), operators.tap(function (res) {
1891
- if (res == false)
1892
- console.warn("Impossibile ripulire lo Storage Locale");
1893
- }));
1894
- };
1895
- /**
1896
- * Restituisce tutte le chiavi-valore associate alla sessione corrente
1897
- *
1898
- * @returns {Observable<{ [index: string]: string; }>} Risultato della query
1899
- */
1900
- StorageService.prototype.getAll = function () {
1901
- return this._storage.getAll().pipe(operators.first());
1902
- };
1903
- return StorageService;
1904
- }());
1905
- StorageService.decorators = [
1906
- { type: core.Injectable }
1907
- ];
1908
- StorageService.ctorParameters = function () { return [
1909
- { type: String, decorators: [{ type: core.Optional }, { type: core.Inject, args: [APPSEARCH_PREFIX,] }] },
1910
- { type: BaseSessionRetriever },
1911
- { type: BaseStorageProvider }
1912
- ]; };
1913
-
1914
- /*! *****************************************************************************
1915
- Copyright (c) Microsoft Corporation.
1916
-
1917
- Permission to use, copy, modify, and/or distribute this software for any
1918
- purpose with or without fee is hereby granted.
1919
-
1920
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
1921
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
1922
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
1923
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
1924
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
1925
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
1926
- PERFORMANCE OF THIS SOFTWARE.
1927
- ***************************************************************************** */
1928
- /* global Reflect, Promise */
1929
- var extendStatics = function (d, b) {
1930
- extendStatics = Object.setPrototypeOf ||
1931
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1932
- function (d, b) { for (var p in b)
1933
- if (Object.prototype.hasOwnProperty.call(b, p))
1934
- d[p] = b[p]; };
1935
- return extendStatics(d, b);
1936
- };
1937
- function __extends(d, b) {
1938
- if (typeof b !== "function" && b !== null)
1939
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1940
- extendStatics(d, b);
1941
- function __() { this.constructor = d; }
1942
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1943
- }
1944
- var __assign = function () {
1945
- __assign = Object.assign || function __assign(t) {
1946
- for (var s, i = 1, n = arguments.length; i < n; i++) {
1947
- s = arguments[i];
1948
- for (var p in s)
1949
- if (Object.prototype.hasOwnProperty.call(s, p))
1950
- t[p] = s[p];
1829
+ else {
1830
+ if (!this.outbounds[recipient])
1831
+ 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'");
1832
+ else
1833
+ this.outbounds[recipient].next(msg);
1951
1834
  }
1952
- return t;
1953
1835
  };
1954
- return __assign.apply(this, arguments);
1955
- };
1956
- function __rest(s, e) {
1957
- var t = {};
1958
- for (var p in s)
1959
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1960
- t[p] = s[p];
1961
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
1962
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
1963
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
1964
- t[p[i]] = s[p[i]];
1965
- }
1966
- return t;
1967
- }
1968
- function __decorate(decorators, target, key, desc) {
1969
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1970
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1971
- r = Reflect.decorate(decorators, target, key, desc);
1972
- else
1973
- for (var i = decorators.length - 1; i >= 0; i--)
1974
- if (d = decorators[i])
1975
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1976
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1977
- }
1978
- function __param(paramIndex, decorator) {
1979
- return function (target, key) { decorator(target, key, paramIndex); };
1980
- }
1981
- function __metadata(metadataKey, metadataValue) {
1982
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
1983
- return Reflect.metadata(metadataKey, metadataValue);
1984
- }
1985
- function __awaiter(thisArg, _arguments, P, generator) {
1986
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1987
- return new (P || (P = Promise))(function (resolve, reject) {
1988
- function fulfilled(value) { try {
1989
- step(generator.next(value));
1990
- }
1991
- catch (e) {
1992
- reject(e);
1993
- } }
1994
- function rejected(value) { try {
1995
- step(generator["throw"](value));
1996
- }
1997
- catch (e) {
1998
- reject(e);
1999
- } }
2000
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
2001
- step((generator = generator.apply(thisArg, _arguments || [])).next());
2002
- });
2003
- }
2004
- function __generator(thisArg, body) {
2005
- var _ = { label: 0, sent: function () { if (t[0] & 1)
2006
- throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
2007
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
2008
- function verb(n) { return function (v) { return step([n, v]); }; }
2009
- function step(op) {
2010
- if (f)
2011
- throw new TypeError("Generator is already executing.");
2012
- while (_)
2013
- try {
2014
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
2015
- return t;
2016
- if (y = 0, t)
2017
- op = [op[0] & 2, t.value];
2018
- switch (op[0]) {
2019
- case 0:
2020
- case 1:
2021
- t = op;
2022
- break;
2023
- case 4:
2024
- _.label++;
2025
- return { value: op[1], done: false };
2026
- case 5:
2027
- _.label++;
2028
- y = op[1];
2029
- op = [0];
2030
- continue;
2031
- case 7:
2032
- op = _.ops.pop();
2033
- _.trys.pop();
2034
- continue;
2035
- default:
2036
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
2037
- _ = 0;
2038
- continue;
2039
- }
2040
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
2041
- _.label = op[1];
2042
- break;
2043
- }
2044
- if (op[0] === 6 && _.label < t[1]) {
2045
- _.label = t[1];
2046
- t = op;
2047
- break;
2048
- }
2049
- if (t && _.label < t[2]) {
2050
- _.label = t[2];
2051
- _.ops.push(op);
2052
- break;
2053
- }
2054
- if (t[2])
2055
- _.ops.pop();
2056
- _.trys.pop();
2057
- continue;
2058
- }
2059
- op = body.call(thisArg, _);
2060
- }
2061
- catch (e) {
2062
- op = [6, e];
2063
- y = 0;
2064
- }
2065
- finally {
2066
- f = t = 0;
2067
- }
2068
- if (op[0] & 5)
2069
- throw op[1];
2070
- return { value: op[0] ? op[1] : void 0, done: true };
2071
- }
2072
- }
2073
- var __createBinding = Object.create ? (function (o, m, k, k2) {
2074
- if (k2 === undefined)
2075
- k2 = k;
2076
- Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
2077
- }) : (function (o, m, k, k2) {
2078
- if (k2 === undefined)
2079
- k2 = k;
2080
- o[k2] = m[k];
2081
- });
2082
- function __exportStar(m, o) {
2083
- for (var p in m)
2084
- if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
2085
- __createBinding(o, m, p);
2086
- }
2087
- function __values(o) {
2088
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
2089
- if (m)
2090
- return m.call(o);
2091
- if (o && typeof o.length === "number")
2092
- return {
2093
- next: function () {
2094
- if (o && i >= o.length)
2095
- o = void 0;
2096
- return { value: o && o[i++], done: !o };
2097
- }
2098
- };
2099
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
2100
- }
2101
- function __read(o, n) {
2102
- var m = typeof Symbol === "function" && o[Symbol.iterator];
2103
- if (!m)
2104
- return o;
2105
- var i = m.call(o), r, ar = [], e;
2106
- try {
2107
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
2108
- ar.push(r.value);
2109
- }
2110
- catch (error) {
2111
- e = { error: error };
2112
- }
2113
- finally {
2114
- try {
2115
- if (r && !r.done && (m = i["return"]))
2116
- m.call(i);
2117
- }
2118
- finally {
2119
- if (e)
2120
- throw e.error;
2121
- }
2122
- }
2123
- return ar;
2124
- }
2125
- /** @deprecated */
2126
- function __spread() {
2127
- for (var ar = [], i = 0; i < arguments.length; i++)
2128
- ar = ar.concat(__read(arguments[i]));
2129
- return ar;
2130
- }
2131
- /** @deprecated */
2132
- function __spreadArrays() {
2133
- for (var s = 0, i = 0, il = arguments.length; i < il; i++)
2134
- s += arguments[i].length;
2135
- for (var r = Array(s), k = 0, i = 0; i < il; i++)
2136
- for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
2137
- r[k] = a[j];
2138
- return r;
2139
- }
2140
- function __spreadArray(to, from) {
2141
- for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
2142
- to[j] = from[i];
2143
- return to;
2144
- }
2145
- function __await(v) {
2146
- return this instanceof __await ? (this.v = v, this) : new __await(v);
2147
- }
2148
- function __asyncGenerator(thisArg, _arguments, generator) {
2149
- if (!Symbol.asyncIterator)
2150
- throw new TypeError("Symbol.asyncIterator is not defined.");
2151
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
2152
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
2153
- function verb(n) { if (g[n])
2154
- i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
2155
- function resume(n, v) { try {
2156
- step(g[n](v));
2157
- }
2158
- catch (e) {
2159
- settle(q[0][3], e);
2160
- } }
2161
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
2162
- function fulfill(value) { resume("next", value); }
2163
- function reject(value) { resume("throw", value); }
2164
- function settle(f, v) { if (f(v), q.shift(), q.length)
2165
- resume(q[0][0], q[0][1]); }
2166
- }
2167
- function __asyncDelegator(o) {
2168
- var i, p;
2169
- return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
2170
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
2171
- }
2172
- function __asyncValues(o) {
2173
- if (!Symbol.asyncIterator)
2174
- throw new TypeError("Symbol.asyncIterator is not defined.");
2175
- var m = o[Symbol.asyncIterator], i;
2176
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
2177
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
2178
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
2179
- }
2180
- function __makeTemplateObject(cooked, raw) {
2181
- if (Object.defineProperty) {
2182
- Object.defineProperty(cooked, "raw", { value: raw });
2183
- }
2184
- else {
2185
- cooked.raw = raw;
2186
- }
2187
- return cooked;
2188
- }
2189
- ;
2190
- var __setModuleDefault = Object.create ? (function (o, v) {
2191
- Object.defineProperty(o, "default", { enumerable: true, value: v });
2192
- }) : function (o, v) {
2193
- o["default"] = v;
2194
- };
2195
- function __importStar(mod) {
2196
- if (mod && mod.__esModule)
2197
- return mod;
2198
- var result = {};
2199
- if (mod != null)
2200
- for (var k in mod)
2201
- if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
2202
- __createBinding(result, mod, k);
2203
- __setModuleDefault(result, mod);
2204
- return result;
2205
- }
2206
- function __importDefault(mod) {
2207
- return (mod && mod.__esModule) ? mod : { default: mod };
2208
- }
2209
- function __classPrivateFieldGet(receiver, privateMap) {
2210
- if (!privateMap.has(receiver)) {
2211
- throw new TypeError("attempted to get private field on non-instance");
2212
- }
2213
- return privateMap.get(receiver);
2214
- }
2215
- function __classPrivateFieldSet(receiver, privateMap, value) {
2216
- if (!privateMap.has(receiver)) {
2217
- throw new TypeError("attempted to set private field on non-instance");
2218
- }
2219
- privateMap.set(receiver, value);
2220
- return value;
2221
- }
2222
-
2223
- /**
2224
- * Implementazione di default per la classe **BaseSessionRetriever**
2225
- */
2226
- var DefaultSessionRetriever = /** @class */ (function (_super) {
2227
- __extends(DefaultSessionRetriever, _super);
2228
- /**
2229
- * Costruttore
2230
- *
2231
- * @ignore
2232
- */
2233
- function DefaultSessionRetriever() {
2234
- return _super.call(this) || this;
2235
- }
2236
1836
  /**
2237
- * Ottiene un ID sessione
1837
+ * Permette di registrare un modulo esterno alla lista dei moduli in listening sulla coda di messaggi
2238
1838
  *
2239
- * @returns {string} ID sessione
1839
+ * @param {string} key Chiave del modulo da registrare. Tutti i messaggi inbound saranno inviati dall'applicazione principale su questa chiave
2240
1840
  */
2241
- DefaultSessionRetriever.prototype.getSessionKey = function () {
2242
- return "DUMMY_SESSION";
2243
- };
2244
- return DefaultSessionRetriever;
2245
- }(BaseSessionRetriever));
2246
- DefaultSessionRetriever.decorators = [
2247
- { type: core.Injectable }
2248
- ];
2249
- DefaultSessionRetriever.ctorParameters = function () { return []; };
2250
-
2251
- /** Implementazione di default per la classe **BaseStorageProvider** */
2252
- var DefaultStorageProvider = /** @class */ (function (_super) {
2253
- __extends(DefaultStorageProvider, _super);
2254
- /** @ignore Costruttore */
2255
- function DefaultStorageProvider(session) {
2256
- return _super.call(this, session) || this;
2257
- }
2258
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
2259
- DefaultStorageProvider.prototype.setItem = function (key, value) {
2260
- try {
2261
- localStorage.setItem(key, JSON.stringify(value));
2262
- return rxjs.of(true);
2263
- }
2264
- catch (_a) {
2265
- // 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
2266
- if (value.savedprefix) {
2267
- console.warn("Spazio del local Storage insufficiente, prova a ripulirlo e risalvare");
2268
- //Pulisco tutte le view con nome che parta per "Hot"
2269
- for (var key_1 in localStorage) {
2270
- if (localStorage.hasOwnProperty(key_1) && key_1.startsWith(value.savedprefix))
2271
- delete localStorage[key_1];
2272
- }
2273
- try {
2274
- localStorage.setItem(key, JSON.stringify(value));
2275
- }
2276
- catch (e) {
2277
- console.error("Spazio del local Storage insufficiente per salvare i risultati di ricerca con solo filtri. Non salvo nulla");
2278
- }
2279
- }
2280
- return rxjs.of(false);
2281
- }
2282
- };
2283
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
2284
- DefaultStorageProvider.prototype.getItem = function (key) {
2285
- try {
2286
- var ret = JSON.parse(localStorage.getItem(key));
2287
- return rxjs.of(ret);
2288
- }
2289
- catch (_a) {
2290
- return rxjs.of(null);
2291
- }
2292
- };
2293
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
2294
- DefaultStorageProvider.prototype.removeItem = function (key) {
2295
- try {
2296
- localStorage.removeItem(key);
2297
- return rxjs.of(true);
2298
- }
2299
- catch (_a) {
2300
- return rxjs.of(false);
2301
- }
2302
- };
2303
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
2304
- DefaultStorageProvider.prototype.clear = function () {
2305
- try {
2306
- localStorage.clear();
2307
- return rxjs.of(true);
2308
- }
2309
- catch (_a) {
2310
- return rxjs.of(false);
2311
- }
2312
- };
2313
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
2314
- DefaultStorageProvider.prototype.getAll = function () {
2315
- var ret = {};
2316
- for (var key in localStorage) {
2317
- ret[key] = localStorage[key];
2318
- }
2319
- return rxjs.of(ret);
1841
+ InterComService.prototype.register = function (key) {
1842
+ if (this.outbounds[key])
1843
+ throw "@esfaenza/extensions - InterComService: Impossibile registrare più volte lo stesso modulo";
1844
+ this.outbounds[key] = new rxjs.Subject();
2320
1845
  };
2321
- return DefaultStorageProvider;
2322
- }(BaseStorageProvider));
2323
- DefaultStorageProvider.decorators = [
1846
+ return InterComService;
1847
+ }());
1848
+ InterComService.decorators = [
2324
1849
  { type: core.Injectable }
2325
- ];
2326
- DefaultStorageProvider.ctorParameters = function () { return [
2327
- { type: BaseSessionRetriever }
2328
- ]; };
1850
+ ];
2329
1851
 
2330
1852
  // Angular
2331
1853
  /**
@@ -2335,8 +1857,8 @@
2335
1857
  * ExportService,
2336
1858
  * HashingService,
2337
1859
  * MessageService,
2338
- * UtilityService,
2339
- * StorageService,
1860
+ * UtilityService
1861
+ * InterComService
2340
1862
  *
2341
1863
  * con eventuali provider che utilizzano
2342
1864
  */
@@ -2353,13 +1875,11 @@
2353
1875
  HashingService,
2354
1876
  MessageService,
2355
1877
  UtilityService,
2356
- StorageService,
1878
+ InterComService,
2357
1879
  { provide: EXT_LOCALE, useValue: (config === null || config === void 0 ? void 0 : config.locale) || 'it-IT' },
2358
1880
  { provide: EXT_FANCY_ALERTS, useValue: (config === null || config === void 0 ? void 0 : config.fancy_alerts) || true },
2359
1881
  { provide: APPSEARCH_PREFIX, useValue: (config === null || config === void 0 ? void 0 : config.appsearch_prefix) || 'Hot' },
2360
- { 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 },
2361
- { provide: BaseSessionRetriever, useClass: (config === null || config === void 0 ? void 0 : config.sessionRetriever) || DefaultSessionRetriever },
2362
- { provide: BaseStorageProvider, useClass: (config === null || config === void 0 ? void 0 : config.storageProvider) || DefaultStorageProvider },
1882
+ { 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 }
2363
1883
  ]
2364
1884
  };
2365
1885
  };
@@ -2396,6 +1916,13 @@
2396
1916
  return GenericItem;
2397
1917
  }());
2398
1918
 
1919
+ /** Enumeratore dei tipi di messaggio che i moduli esterni possono contattare sull'applicazione principale */
1920
+ exports.InboundMessageTypes = void 0;
1921
+ (function (InboundMessageTypes) {
1922
+ /** Evento di navigazione */
1923
+ InboundMessageTypes[InboundMessageTypes["Navigation"] = 0] = "Navigation";
1924
+ })(exports.InboundMessageTypes || (exports.InboundMessageTypes = {}));
1925
+
2399
1926
  /*
2400
1927
  * Public API Surface of extensions
2401
1928
  */
@@ -2405,8 +1932,6 @@
2405
1932
  */
2406
1933
 
2407
1934
  exports.APPSEARCH_PREFIX = APPSEARCH_PREFIX;
2408
- exports.BaseSessionRetriever = BaseSessionRetriever;
2409
- exports.BaseStorageProvider = BaseStorageProvider;
2410
1935
  exports.CallResult = CallResult;
2411
1936
  exports.ClipboardService = ClipboardService;
2412
1937
  exports.CsvHeaders = CsvHeaders;
@@ -2423,11 +1948,10 @@
2423
1948
  exports.FullExtensionsModule = FullExtensionsModule;
2424
1949
  exports.GenericItem = GenericItem;
2425
1950
  exports.HashingService = HashingService;
1951
+ exports.InterComMessage = InterComMessage;
1952
+ exports.InterComService = InterComService;
2426
1953
  exports.MessageService = MessageService;
2427
- exports.StorageService = StorageService;
2428
1954
  exports.UtilityService = UtilityService;
2429
- exports.ɵa = DefaultSessionRetriever;
2430
- exports.ɵb = DefaultStorageProvider;
2431
1955
 
2432
1956
  Object.defineProperty(exports, '__esModule', { value: true });
2433
1957