@esfaenza/extensions 20.3.3 → 20.3.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.
package/index.d.ts CHANGED
@@ -1,5 +1,1080 @@
1
+ import * as i0 from '@angular/core';
2
+ import { PipeTransform, ModuleWithProviders, Injector, EventEmitter, Type, InjectionToken } from '@angular/core';
3
+ import * as i2 from '@esfaenza/localizations';
4
+ import { BaseLocalization, LocalizationService } from '@esfaenza/localizations';
5
+ import { ReplaySubject, Subject, Observable } from 'rxjs';
6
+ import { Location } from '@angular/common';
7
+ import { Router, ActivatedRoute } from '@angular/router';
8
+ import { NgForm } from '@angular/forms';
9
+
10
+ /** Classe di configurazione per il modulo di estensione */
11
+ declare class ExtensionsModuleConfig {
12
+ /** Indica se i metodi di estensione che utilizzano le date permettono l'uso di date in utc */
13
+ allow_utc?: boolean;
14
+ /** Prefisso delle searchView che serve per storicizzarle evitando di tirarsi in memoria anche tutti gli oggetti. Se vuoto viene supposto 'Hot' */
15
+ appsearch_prefix?: string;
16
+ /** Attiva la modalità di debug per l'esposizione di messaggi significativi */
17
+ debugMode?: boolean;
18
+ }
19
+
1
20
  /**
2
- * Generated bundle index. Do not edit.
21
+ * Service che fornisce dei metodi di estensione per la gestione/manipolazione delle date
22
+ */
23
+ declare class DateService {
24
+ private locProvider;
25
+ private allowUtc;
26
+ Initialized: ReplaySubject<void>;
27
+ /**
28
+ * Oggetto statico di localizzazione per i messaggi di questa Service
29
+ */
30
+ private loc;
31
+ /**
32
+ * Oggetto di configurazione per tenere da conto le informazioni sui formati
33
+ */
34
+ private cfg;
35
+ /**
36
+ * Costruttore
37
+ *
38
+ * @ignore
39
+ */
40
+ constructor(locProvider: BaseLocalization, allowUtc: boolean);
41
+ init(): Promise<void>;
42
+ /**
43
+ * Aggiusta una data in "istante finale" in base a qual è la parte di data significativa.
44
+ *
45
+ * Es. Istante finale delle ore: 05/10/1992 --> 04/10/1992 24:00(:00)
46
+ *
47
+ * @param {any} date Data qualsiasi (Date, stringa, dayjs...), verrà ricondotta ad un oggetto dayJs
48
+ * @param {'day' | 'hour' | 'minute'} timepart Parte significativa della data
49
+ * @param {boolean} printSeconds Indica se effettuare la stampa dei secondi o no
50
+ */
51
+ adjustDateToFinalInstant(date: any, timepart: 'day' | 'hour' | 'minute', printSeconds?: boolean): string;
52
+ /**
53
+ * Funzione che effettua l'ordinamento fra 2 date in base alla direzione specificata
54
+ *
55
+ * @param {any} a Prima data per il confronto
56
+ * @param {any} b Seconda data per il confronto
57
+ * @param {'asc' | 'desc'} direction Direzione rispetto a cui ordinare le due date
58
+ *
59
+ * @returns {number} 0 se le date sono uguali, 1 se la data A deve venire logicamente prima della data B, -1 altrimenti
60
+ */
61
+ dateSort(a: any, b: any, direction: 'asc' | 'desc'): number;
62
+ /**
63
+ * Effettua il trim dei secondi da una data espressa come stringa
64
+ *
65
+ * @param {string} value Data espressa come stringa
66
+ *
67
+ * @returns {string} Data senza i secondi
68
+ */
69
+ trimSeconds(value: string): string;
70
+ /**
71
+ * Data una lista di date Da e una lista di date A restituisce un oggetto rappresentante il range che include tutte le date passate
72
+ *
73
+ * @param {any[]} fromDates Lista dei Da
74
+ * @param {any[]} toDates Lista dei A
75
+ *
76
+ * @returns {{ from: any, to: any }} Range di date Da - A che include tutti i valori di **fromDates** e **toDates**
77
+ */
78
+ getMinMaxDatesRange(fromDates: any[], toDates: any[]): {
79
+ from: any;
80
+ to: any;
81
+ };
82
+ /**
83
+ * Ottiene la conversione di una data in qualsiasi formato al formato standard DayJs
84
+ *
85
+ * @param {any} date Oggetto rappresentante una data. Potrebbe essere una stringa, un Date o già un DayJs
86
+ * @param {boolean} useUtc Indica se usare l'estensione utc di Dayjs per parsare la data o no
87
+ * @param {string} format formato in cui emettere la conversione
88
+ *
89
+ * @returns {any} Data in modalità {format}
90
+ */
91
+ getDateConvertion(date: any, useUtc?: boolean, format?: 'date' | 'timestring' | 'dayjs', timestringSmall?: boolean): any;
92
+ private formattedDayjs;
93
+ /**
94
+ * Helper che restituisce **true** qualora l'oggetto passato fosse una data vera e propria, **false** altrimenti
95
+ *
96
+ * @param {any} check Oggetto da controllare
97
+ *
98
+ * @returns {boolean} Indicazione se l'oggetto è un vero Date di Javascript o no
99
+ */
100
+ private isJsDate;
101
+ /**
102
+ * Helper che restituisce **true** qualora l'oggetto passato fosse un DayJs vero e proprio, **false** altrimenti
103
+ *
104
+ * @param {any} check Oggetto da controllare
105
+ * @returns {boolean} Indicazione se l'oggetto è un vero DayJs o no
106
+ */
107
+ private isDayJs;
108
+ /**
109
+ * Ottiene la formattazione di una data in base alla versione richiesta "small" o "long" e a se stampare o meno i secondi
110
+ *
111
+ * @param {any} date Oggetto rappresentante una data. Potrebbe essere una stringa, un Date o già un DayJs
112
+ * @param {boolean} small Indica se formattarla con un formato breve (se **true**) o un formato più lungo (se **false**)
113
+ *
114
+ * @returns {string} Data formattata nel formato richiesto
115
+ */
116
+ getFormatted(date: any, small: boolean, seconds: boolean): string;
117
+ static ɵfac: i0.ɵɵFactoryDeclaration<DateService, [{ optional: true; }, { optional: true; }]>;
118
+ static ɵprov: i0.ɵɵInjectableDeclaration<DateService>;
119
+ }
120
+
121
+ /**
122
+ * Pipe che permette di formattare una data in base al formato specificato. Utilizza il **DateService** di **@esfaenza/extensions** per ricondurre l'input a una data valida
123
+ */
124
+ declare class LocDatePipe implements PipeTransform {
125
+ private dts;
126
+ /**
127
+ * @ignore
128
+ */
129
+ constructor(dts: DateService);
130
+ /**
131
+ * Trasformazione della data in input in base al formato richiesto
132
+ *
133
+ * @param {any} value Valore da ricondurre ad una data e formattare
134
+ * @param {string} format Formato in output della data da visualizzare
135
+ *
136
+ * @returns {string} Data formattata in base al formato
137
+ */
138
+ transform(value: any, format?: string): string;
139
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocDatePipe, never>;
140
+ static ɵpipe: i0.ɵɵPipeDeclaration<LocDatePipe, "loc_date", false>;
141
+ }
142
+
143
+ declare class ExtensionsModule {
144
+ static forRoot(config?: ExtensionsModuleConfig): ModuleWithProviders<ExtensionsModule>;
145
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExtensionsModule, never>;
146
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ExtensionsModule, [typeof LocDatePipe], [typeof i2.LocalizationModule], [typeof LocDatePipe]>;
147
+ static ɵinj: i0.ɵɵInjectorDeclaration<ExtensionsModule>;
148
+ }
149
+
150
+ /**
151
+ * Classe che rappresenta una risposta ricevuta da un Backend
152
+ */
153
+ declare class CallResult<T = never> {
154
+ /** Tempo impiegato perché la chiamata terminasse */
155
+ elapsedtime: string;
156
+ /** **true** se tutto è andato bene, **false** altrimenti */
157
+ success: boolean;
158
+ /** Indica se ci sono errori */
159
+ haserror: boolean;
160
+ /** Codice dell'eventuale errore restituito */
161
+ errorcode: string;
162
+ /** Log dell'eventuale errore restituito */
163
+ error: string;
164
+ /** ID dell'eventuale entità relativa a questa risposta */
165
+ entityid: any;
166
+ /** Indica se ci sono warning */
167
+ haswarning: boolean;
168
+ /** Log dell'eventuale warning restituito */
169
+ warning: string;
170
+ /** Entità collegata a questo CallResult */
171
+ entity: T;
172
+ }
173
+
174
+ /**
175
+ * Service che fornisce alcuni semplici funzioni di Hashing / GUID / ecc...
176
+ */
177
+ declare class HashingService {
178
+ /**
179
+ * Generazione di un GUID pseudo-univoco
180
+ *
181
+ * @returns {string} il GUID generato
182
+ */
183
+ getGUID(): string;
184
+ /**
185
+ * Calcolo dell'hash su un oggetto
186
+ *
187
+ * @param {any} o Oggetto di cui calcolare l'hash
188
+ * @param {number} level Livello di ricorsione nel caso venga effettuato l'hash di un oggetto che contiene altri oggetti
189
+ * @param {boolean} navigateFullDepth Indica se navigare l'oggetto per l'intera lunghezza. In caso contrario si ferma al secondo livello
190
+ *
191
+ * @returns {string} Hash generato per l'oggetto in questione
192
+ */
193
+ hashObject(o: any, level?: number, navigateFullDepth?: boolean, precise?: boolean): string;
194
+ /**
195
+ * Hash più semplice e più veloce dell'md5, ma meno sicuro
196
+ *
197
+ * Vedi https://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript
198
+ *
199
+ * @param {string} str Stringa di cui calcolare l'hash
200
+ */
201
+ private simpleHash;
202
+ /**
203
+ * Blacklist dei tipi da ignorare quando si effettua l'hashing degli oggetti
204
+ */
205
+ private objBlacklist;
206
+ /**
207
+ * Genera una stringa che identifica univocamente l'oggetto in questione
208
+ *
209
+ * @param {any} o Oggetto di cui calcolare la stringa univoca
210
+ * @param {number} level Livello di ricorsione nel caso venga effettuato l'hash di un oggetto che contiene altri oggetti
211
+ * @param {boolean} navigateFullDepth Indica se navigare l'oggetto per l'intera lunghezza. In caso contrario si ferma al secondo livello
212
+ */
213
+ private stringify;
214
+ /**
215
+ * Data una stringa restituisce l'md5
216
+ *
217
+ * @param {string} s Stringa di cui calcolare l'md5
218
+ * @returns {string} md5 della stringa **s**
219
+ */
220
+ md5(s: string): string;
221
+ /**
222
+ * @ignore
223
+ *
224
+ * Metodo di utilità per il calcolo dell'md5
225
+ */
226
+ private md5cycle;
227
+ /**
228
+ * @ignore
229
+ *
230
+ * Metodo di utilità per il calcolo dell'md5
231
+ */
232
+ private cmn;
233
+ /**
234
+ * @ignore
235
+ *
236
+ * Metodo di utilità per il calcolo dell'md5
237
+ */
238
+ private ff;
239
+ /**
240
+ * @ignore
241
+ *
242
+ * Metodo di utilità per il calcolo dell'md5
243
+ */
244
+ private gg;
245
+ /**
246
+ * @ignore
247
+ *
248
+ * Metodo di utilità per il calcolo dell'md5
249
+ */
250
+ private hh;
251
+ /**
252
+ * @ignore
253
+ *
254
+ * Metodo di utilità per il calcolo dell'md5
255
+ */
256
+ private ii;
257
+ /**
258
+ * @ignore
259
+ *
260
+ * Metodo di utilità per il calcolo dell'md5
261
+ */
262
+ private md51;
263
+ /**
264
+ * @ignore
265
+ *
266
+ * Metodo di utilità per il calcolo dell'md5
267
+ */
268
+ private md5blk;
269
+ /**
270
+ * Array dei possibili valori di un simbolo esadecimale
271
+ */
272
+ private hex_chr;
273
+ /**
274
+ * @ignore
275
+ *
276
+ * Metodo di utilità per il calcolo dell'md5
277
+ */
278
+ private rhex;
279
+ /**
280
+ * @ignore
281
+ *
282
+ * Metodo di utilità per il calcolo dell'md5
283
+ */
284
+ private hex;
285
+ /**
286
+ * @ignore
287
+ *
288
+ * Metodo di utilità per il calcolo dell'md5
289
+ */
290
+ private add32;
291
+ static ɵfac: i0.ɵɵFactoryDeclaration<HashingService, never>;
292
+ static ɵprov: i0.ɵɵInjectableDeclaration<HashingService>;
293
+ }
294
+
295
+ /**
296
+ * Service che fornisce funzionalità di alert nei tipi fondamentali: success, info, warning e danger
297
+ */
298
+ declare class MessageService {
299
+ private injector;
300
+ private locProvider;
301
+ private hash;
302
+ /** Oggetto statico in supporto alla localizzazione */
303
+ private loc;
304
+ /** Template di un warning con richiesta di conferma */
305
+ private warningSwalWithCancel;
306
+ /** Template di un warning con richiesta di conferma */
307
+ private successSwalWithCancel;
308
+ /** Template di un errore */
309
+ private errorSwal;
310
+ /** Template di un messaggio di successo */
311
+ private successSwal;
312
+ /** Template di un avviso */
313
+ private warningSwal;
314
+ /** Template di un messaggio informativo */
315
+ private infoSwal;
316
+ /** Template di un warning per la sessione scaduta */
317
+ private expiredSessionSwal;
318
+ /** Getter per il servizio dei toast. ngx-toastr è fatta talmente male che la service dev'essere recuperata in questo modo */
319
+ private get toastr();
320
+ /** Supporto all'Embedding */
321
+ Embedded: boolean;
322
+ MainWindow: Window;
323
+ MessageObserver: Subject<{
324
+ event: any;
325
+ data: any;
326
+ }>;
327
+ isBrowser: boolean;
328
+ /** Costruttore @ignore */
329
+ constructor(injector: Injector, locProvider: BaseLocalization, hash: HashingService, platformId: Object);
330
+ browserCheck(): boolean;
331
+ configureEmbeddability(mainWindow: Window, messageObserver: Subject<{
332
+ event: any;
333
+ data: any;
334
+ }>): void;
335
+ init(): Promise<void>;
336
+ /**
337
+ * Presentazione di un semplice messaggio di successo
338
+ *
339
+ * Se viene chiamato con le impostazioni di default e toastr è abilitato, viene mostrato al centro
340
+ * Se viene chiamato con override su toastr vuol dire che è una notifica secondaria e appare in alto a destra
341
+ *
342
+ * @param {string} text Testo da mostrare
343
+ * @param {"toastr" | "swal" | null} secondaryNotificationType Qualora sia una notifica secondaria, ne indica il tipo
344
+ */
345
+ simpleSuccess(text: string, secondaryNotificationType?: "toastr" | "swal" | null, secondaryNotificationTimeout?: number): void;
346
+ /**
347
+ * Presentazione di un semplice messaggio di informazione
348
+ *
349
+ * Se viene chiamato con le impostazioni di default e toastr è abilitato, viene mostrato al centro
350
+ * Se viene chiamato con override su toastr vuol dire che è una notifica secondaria e appare in alto a destra
351
+ *
352
+ * @param {string} text Testo da mostrare
353
+ * @param {"toastr" | "swal" | null} secondaryNotificationType Qualora sia una notifica secondaria, ne indica il tipo
354
+ */
355
+ simpleInfo(text: string, secondaryNotificationType?: "toastr" | "swal" | null, secondaryNotificationTimeout?: number): void;
356
+ /**
357
+ * Presentazione di un semplice messaggio di errore
358
+ *
359
+ * Se viene chiamato con le impostazioni di default e toastr è abilitato, viene mostrato al centro
360
+ * Se viene chiamato con override su toastr vuol dire che è una notifica secondaria e appare in alto a destra
361
+ *
362
+ * @param {string} text Testo da mostrare
363
+ * @param {"toastr" | "swal" | null} secondaryNotificationType Qualora sia una notifica secondaria, ne indica il tipo
364
+ */
365
+ simpleError(text: string, secondaryNotificationType?: "toastr" | "swal" | null, secondaryNotificationTimeout?: number): void;
366
+ /**
367
+ * Presentazione di un semplice messaggio di avviso
368
+ *
369
+ * Se viene chiamato con le impostazioni di default e toastr è abilitato, viene mostrato al centro
370
+ * Se viene chiamato con override su toastr vuol dire che è una notifica secondaria e appare in alto a destra
371
+ *
372
+ * @param {string} text Testo da mostrare
373
+ * @param {"toastr" | "swal" | null} secondaryNotificationType Qualora sia una notifica secondaria, ne indica il tipo
374
+ */
375
+ simpleWarning(text: string, secondaryNotificationType?: "toastr" | "swal" | null, secondaryNotificationTimeout?: number): void;
376
+ /**
377
+ * Ripulisce tutti i messaggi presenti in un dato momento sullo schermo
378
+ */
379
+ clearMessages(): void;
380
+ /**
381
+ * Mostra un messaggio di avviso con richiesta di conferma
382
+ *
383
+ * @param {string} title Titolo del messaggio
384
+ * @param {string} text Contenuto del messaggio
385
+ *
386
+ * @returns {Promise} Restituisce una Promise col risultato scelto dall'utente (conferma o no)
387
+ */
388
+ promiseWarningWithChoice(title: string, text: string): Promise<any>;
389
+ /**
390
+ * In base alla configurazione attuale e all'eventuale override per la chiamata del caso indica se bisogna utilizzare toastr o sweetalert
391
+ *
392
+ * @param {"toastr" | "swal" | null} providerOverride Override alla modalità configurata
393
+ *
394
+ * @returns {"toastr" | "swal"} Indicazione su che provider di messaggi di avviso debba essere utilizzato
395
+ */
396
+ private toastrOrSwal;
397
+ private GuidRepsonseFunctionsMap;
398
+ simpleWarningWithChoice(title: string, text: string, onsuccess?: Function, onerror?: Function, confirmtext?: string, aborttext?: string): void;
399
+ simpleSuccessWithChoice(title: string, text: string, onsuccess?: Function, onerror?: Function, confirmtext?: string, aborttext?: string): void;
400
+ private withChoiceBase;
401
+ /**
402
+ * Mostra un messaggio di avviso con richiesta di conferma e gestisce il risultato chiamato i callback **onsuccess** o **onerror**
403
+ *
404
+ * @param {string} title Titolo del messaggio
405
+ * @param {string} text Contenuto del messaggio
406
+ * @param {Function} onsuccess Callback da chimare su conferma
407
+ * @param {Function} onerror Callback da chimare su errori
408
+ */
409
+ private _simpleWarningWithChoice;
410
+ /**
411
+ * Mostra un messaggio di success con richiesta di conferma e gestisce il risultato chiamato i callback **onconfirm** o **onabort**
412
+ *
413
+ * @param {string} title Titolo del messaggio
414
+ * @param {string} text Contenuto del messaggio
415
+ * @param {Function} onconfirm Callback da chimare su conferma
416
+ * @param {Function} onabort Callback da chimare su annullamento
417
+ * @param {string} confirmtext Testo del pulsante di azione
418
+ * @param {string} aborttext Testo del pulsante di annullamento
419
+ */
420
+ private _simpleSuccessWithChoice;
421
+ /**
422
+ * Metodo base per richiedere una scelta all'utente
423
+ *
424
+ * @param {any} swal Swal mixin da utilizzare per visualizzare il messaggio di choice
425
+ * @param {string} title Titolo del messaggio
426
+ * @param {string} text Contenuto del messaggio
427
+ * @param {Function} onconfirm Callback da chimare su conferma
428
+ * @param {Function} onabort Callback da chimare su annullamento
429
+ * @param {string} confirmtext Testo del pulsante di azione
430
+ * @param {string} aborttext Testo del pulsante di annullamento
431
+ */
432
+ private _simpleWithChoice;
433
+ /**
434
+ * Mostra un messaggio di avviso con richiesta di conferma e gestisce il risultato chiamato i callback **onsuccess** o **onerror**
435
+ *
436
+ * @param {string} title Titolo del messaggio
437
+ * @param {string} text Contenuto del messaggio
438
+ */
439
+ observableSimpleWarningWithChoice(title: string, text: string): Observable<boolean>;
440
+ /**
441
+ * Mostra un messaggio di avviso che la sessione corrente è scaduta e propone all'utente di navigare al login. Qualora l'utente decidesse di farlo
442
+ * verrà chiamata la funzione di callback **onnavigate
443
+ *
444
+ * @param {string} title Titolo del messaggio
445
+ * @param {string} text Contenuto del messaggio
446
+ * @param {Function} onnavigate Callback da chimare su navigazione in corso
447
+ */
448
+ expiredSessionMessage(title: string, text: string, onnavigate?: Function): void;
449
+ /**
450
+ * Metodo helper per gestire in maniera standardizzata una risposta di tipo **CallResult**
451
+ *
452
+ * @param {CallResult} response Risposta ricevuta dal server
453
+ * @param {string} successMsg Messaggio da visualizzare in caso di successo
454
+ * @param {string} errorMsg Messaggio da visualizzare in caso di fallimento
455
+ * @param {Function} postSuccess Callback da chimare in caso di successo
456
+ * @param {Function} postFailure Callback da chimare in caso di fallimento
457
+ */
458
+ manageCallResultResponse(response: CallResult, successMsg: string, errorMsg: string, postSuccess?: Function, postFailure?: Function): void;
459
+ /**
460
+ * Metodo helper per gestire in maniera standardizzata una risposta di tipo **string**, considerando che:
461
+ *
462
+ * Stringa vuota --> Tutto bene
463
+ *
464
+ * Stringa piena --> Questo è il messaggio d'errore per cui la chiamata è fallita
465
+ *
466
+ * @param {string} response Risposta ricevuta dal server
467
+ * @param {string} successMsg Messaggio da visualizzare in caso di successo
468
+ * @param {string} errorMsg Messaggio da visualizzare in caso di fallimento
469
+ * @param {Function} postSuccess Callback da chimare in caso di successo
470
+ * @param {Function} postFailure Callback da chimare in caso di fallimento
471
+ */
472
+ manageStringResponse(response: string, successMsg: string, errorMsg: string, postSuccess?: Function, postFailure?: Function): void;
473
+ /**
474
+ * Metodo helper per gestire in maniera standardizzata una risposta di tipo **boolean**
475
+ *
476
+ * @param {string} response Risposta ricevuta dal server
477
+ * @param {string} successMsg Messaggio da visualizzare in caso di successo
478
+ * @param {string} errorMsg Messaggio da visualizzare in caso di fallimento
479
+ * @param {Function} postSuccess Callback da chimare in caso di successo
480
+ * @param {Function} postFailure Callback da chimare in caso di fallimento
481
+ */
482
+ manageStringResponseBool(response: boolean, successMsg: string, errorMsg: string, postSuccess?: Function, postFailure?: Function): void;
483
+ static ɵfac: i0.ɵɵFactoryDeclaration<MessageService, [null, { optional: true; }, null, null]>;
484
+ static ɵprov: i0.ɵɵInjectableDeclaration<MessageService>;
485
+ }
486
+
487
+ declare class AppEmbeddingExtensions {
488
+ private msgService;
489
+ private router;
490
+ private location;
491
+ sidebarWidth: number;
492
+ EmbeddingSource: ReplaySubject<string>;
493
+ Embedded: boolean;
494
+ EmbeddingLevel: number;
495
+ MainWindow: any;
496
+ MessageObserver: Subject<{
497
+ event: any;
498
+ data: any;
499
+ }>;
500
+ private _reloadAllowed;
501
+ EmbeddedModule: string;
502
+ private pushedHistories;
503
+ private isBrowser;
504
+ constructor(msgService: MessageService, router: Router, location: Location, platformId: Object);
505
+ private waitForMyConfigAndForceEmbeddedModule;
506
+ IsReloadAllowed(): boolean;
507
+ private MessageBarrierDebouncMs;
508
+ private OnMessageCallBarrier;
509
+ private messageHash;
510
+ configureEmbeddability(): void;
511
+ private onNavigateBack;
512
+ replaceState(basePath: string, url: string): void;
513
+ refreshBoundariesOnMenuCollapse(): void;
514
+ onEmbeddedDialogShow(dialog: {
515
+ onHidden: EventEmitter<any>;
516
+ _element: any;
517
+ _renderer: any;
518
+ _config: any;
519
+ backdrop: any;
520
+ }): void;
521
+ private doFixBody;
522
+ onEmbeddedDialogHide(dialog: {
523
+ onHidden: EventEmitter<any>;
524
+ _element: any;
525
+ _renderer: any;
526
+ _config: any;
527
+ backdrop: any;
528
+ }): void;
529
+ private doHide;
530
+ onComponentCreation(CompletePath: string, InternalNavigation: boolean, NavigationTitle: string): void;
531
+ handleBack(): void;
532
+ handleNavigation(command: any[], extras: any, EMBEDDED_ROUTE: string, ROUTE: string, basePath: string): void;
533
+ private LocalhostModuleMap;
534
+ private Reloading;
535
+ setupEmbedding(route: ActivatedRoute, ParametersRetrieveFunction: () => {
536
+ [name: string]: string;
537
+ }, QueryParametersRetrieveFunction: () => {
538
+ [name: string]: string;
539
+ }, completePathRetrieveFunction: () => string, currentModuleRetrieveFunction: () => string, currentPageRetrieveFunction: () => string, onEmbeddingSuccesful: (EmbeddingSuccesfull: boolean, Page: string, Pars: string, QueryPars: string, Module: string, Localhost: string) => void): void;
540
+ private performNewEmbeddingOperations;
541
+ private assignPageLoadParameters;
542
+ navigate(url: string): void;
543
+ loadExternalPage(Username: string, Password: string, Tenant: string, EmbeddingSource: string, _state: any, currentIdentity: any, aac: any): void;
544
+ private afterModulesRetrieve;
545
+ getPageRoute(): "pages_ext/" | "pages/";
546
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppEmbeddingExtensions, never>;
547
+ static ɵprov: i0.ɵɵInjectableDeclaration<AppEmbeddingExtensions>;
548
+ }
549
+
550
+ /**
551
+ * WIP: per razionalizzare il fill della routesmap (vedi CRM app.extensions.ts)
552
+ */
553
+ declare class BaseExtensionsService {
554
+ private emb;
555
+ RedirectMap: {
556
+ [index: string]: {
557
+ url: string;
558
+ params: string[];
559
+ };
560
+ };
561
+ RoutesMap: {
562
+ [index: string]: {
563
+ route: (param: string) => any;
564
+ };
565
+ };
566
+ constructor(emb: AppEmbeddingExtensions);
567
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseExtensionsService, never>;
568
+ static ɵprov: i0.ɵɵInjectableDeclaration<BaseExtensionsService>;
569
+ }
570
+
571
+ /**
572
+ * Mappatura del TypeCode del C#
573
+ */
574
+ declare enum TypeCode {
575
+ /** @ignore */ Empty = 0,
576
+ /** @ignore */ Obj = 1,
577
+ /** @ignore */ DBNull = 2,
578
+ /** @ignore */ Boolean = 3,
579
+ /** @ignore */ Char = 4,
580
+ /** @ignore */ SByte = 5,
581
+ /** @ignore */ Byte = 6,
582
+ /** @ignore */ Int16 = 7,
583
+ /** @ignore */ UInt16 = 8,
584
+ /** @ignore */ Int32 = 9,
585
+ /** @ignore */ UInt32 = 10,
586
+ /** @ignore */ Int64 = 11,
587
+ /** @ignore */ UInt64 = 12,
588
+ /** @ignore */ Single = 13,
589
+ /** @ignore */ Double = 14,
590
+ /** @ignore */ Decimal = 15,
591
+ /** @ignore */ DateTime = 16,
592
+ /** @ignore */ String = 18
593
+ }
594
+
595
+ /**
596
+ * Service che fornisce metodi di pubblica utilità
597
+ */
598
+ declare class UtilityService {
599
+ /**
600
+ * Deseleziona il testo eventualmente selezionato
601
+ */
602
+ clearTextSelection(): void;
603
+ /**
604
+ * Partendo da una lista, dato il nome della proprietà chiave e il valore della chiave selezionata,
605
+ * trova e restituisce l'oggetto desiderato
606
+ *
607
+ * @param {T[]} sourceList Lista di oggetti dentro cui cercare
608
+ * @param {string} sourceItemIdField Nome della proprietà che rappresenta la chiave di un oggetto di tipo T
609
+ * @param {string} selectedValue Valore di chiave selezionato
610
+ *
611
+ * @returns {T} Oggetto la cui proprietà **sourceItemIdField** assume il valore **selectedValue**
612
+ */
613
+ getSelectedItem<T>(sourceList: T[], sourceItemIdField: string, selectedValue: string): T;
614
+ /**
615
+ * Effettua il reset di un Form di Angular
616
+ *
617
+ * @param {NgForm} form Form da resettare
618
+ * @param {string} exception1 Campo da non resettare
619
+ * @param {string} exception2 Campo da non resettare
620
+ */
621
+ cleanForm(form: NgForm, exception1?: string, exception2?: string): void;
622
+ /**
623
+ * Helper che permette di scaricare un file dato un URL (Generato da una chiamata ad **window.URL.createObjectURL**)
624
+ *
625
+ * @param {string} url ObjectURL che rappresenta il file da scaricare
626
+ * @param {string} filename Nome del file suggerito in fase di salvataggio
627
+ */
628
+ fileDownload(url: string, fileName: string): void;
629
+ /**
630
+ * Helper per la formattazione di un numero di millisecondi in una stringa più comprensibile per un umano
631
+ *
632
+ * @param {number} duration Tempo espresso in millisecondi
633
+ *
634
+ * @returns {string} Durata formattata
635
+ */
636
+ msToTime(duration: number): string;
637
+ /**
638
+ * Helper che permette di scaricare un file in Base64
639
+ *
640
+ * @param {string} base64Data Base64 che rappresenta il file da scaricare
641
+ * @param {string} filename Nome del file suggerito in fase di salvataggio
642
+ */
643
+ saveFile(base64Data: string, filename: string): void;
644
+ /**
645
+ * Trasforma un Base64 in un ArrayBuffer
646
+ *
647
+ * @param {string} base64Data Base64 da trasformare
648
+ *
649
+ * @returns {Uint8Array} Array UTF8
650
+ */
651
+ private base64ToArrayBuffer;
652
+ /**
653
+ * Helper che permette di scaricare un file dato un array di Byte (**Uint8Array**)
654
+ *
655
+ * @param {Uint8Array} byte Rappresentazione del file da scaricare
656
+ * @param {string} filename Nome del file suggerito in fase di salvataggio
657
+ */
658
+ private saveByteArray;
659
+ /**
660
+ * Utility per lo swap di due elementi di un array
661
+ *
662
+ * @param {any[]} array Array di cui invertire due elementi
663
+ * @param {number} x Indice del primo elemento
664
+ * @param {number} y Indice del secondo elemento
665
+ */
666
+ swap(array: any[], x: number, y: number): void;
667
+ /**
668
+ * Helper di trascodifica da tipo c# a tipo Typescript
669
+ *
670
+ * @param {TypeCode} type Tipo da trascodificare
671
+ *
672
+ * @returns {"boolean" | "number" | "string" | "date"} Tipo Typescript corrispondente
673
+ */
674
+ getJsTypeFromTypeCode(type: TypeCode): "boolean" | "number" | "string" | "date";
675
+ /**
676
+ * Effettua la clonazione profonda di un oggetto in maniera molto più performante che JSON.parse(JSON.stringify()).
677
+ *
678
+ * Usare solo per oggetti puri e quantomeno semplici per evitare complicazioni derivanti dalle semplificazioni che questo metodo assume
679
+ *
680
+ * @param {any} source Oggetto da clonare
681
+ *
682
+ * @return {any} Clone dell'oggetto passato
683
+ */
684
+ deepClone(source: any, type?: Type<any>): any;
685
+ /**
686
+ * @ignore
687
+ * Step ricorsivo per la clonatura degli oggetti. Vedere **deepClone**
688
+ */
689
+ private recursiveStep;
690
+ cast(object: any, clss: Type<any>): any;
691
+ /** @ignore */
692
+ private executionTimers;
693
+ /** @ignore */
694
+ throttla(id: string, func: Function, throttleTime: number): void;
695
+ static ɵfac: i0.ɵɵFactoryDeclaration<UtilityService, never>;
696
+ static ɵprov: i0.ɵɵInjectableDeclaration<UtilityService>;
697
+ }
698
+
699
+ /**
700
+ * Header per il file CSV che sta venendo generato
701
+ */
702
+ declare class CsvHeaders {
703
+ /**
704
+ * Intestazione della colonna
705
+ */
706
+ label: string;
707
+ /**
708
+ * Nome della proprietà visualizzata in questa colonna
709
+ */
710
+ key: string;
711
+ /**
712
+ * Ordine della colonna
713
+ */
714
+ order: number;
715
+ /**
716
+ * Nome della chiave della proprietà lato es-table
717
+ */
718
+ propKey: string;
719
+ /**
720
+ * Tipo della colonna (per eventuali formattazioni se si scarica in Excel)
721
+ */
722
+ type: 'string' | 'number' | 'date';
723
+ }
724
+
725
+ /**
726
+ * Rappresentazione di un oggetto generico
727
+ */
728
+ declare class GenericItem {
729
+ /**
730
+ * Dizionario Chiave - Valore delle proprietà di questo oggetto generico
731
+ */
732
+ properties: Record<string, string>;
733
+ }
734
+
735
+ /**
736
+ * Decoratore che fornisce la classe di localizzazione per tutte le proprietà esportate con @Export e qualsiasi altro tag che richieda localizzazioni.
737
+ *
738
+ * Sostanzilamente aggiunge la proprietà **__loc__** all'oggetto creato dalla classe corrente assegnandogli come valore il tipo del LocalizationService da usare per la traduzione
739
+ *
740
+ * @param {Type<LocalizationService>} loc Tipo ereditato dal LocalizationService che può essere creato a runtime sotto contesto della DI di Angular
741
+ */
742
+ declare function ExportLocalization(loc: Type<LocalizationService>): <T extends {
743
+ new (...args: any[]): {};
744
+ }>(constructor: T) => {
745
+ new (...args: any[]): {
746
+ __loc__: Type<LocalizationService>;
747
+ };
748
+ } & T;
749
+ /**
750
+ * Decoratore di esportazione utilizzabile su una proprietà singola.
751
+ * Verranno generate 3 proprietà che gestiranno l'esportazione: (prop, prop_csvvis, prop_csvhdr).
752
+ *
753
+ * Ad esempio, da questa configurazione:
754
+ *
755
+ * @example
756
+ * ```
757
+ * @Export(true, "MyHeader")
758
+ * ciao: string;
759
+ * ```
760
+ *
761
+ * Nasceranno le seguenti proprietà nell'oggetto esportabile:
762
+ *
763
+ * @example
764
+ * ```
765
+ * ciao_csvvis: string; => true
766
+ * ciao: string;
767
+ * ciao_csvhdr: string => "MyHeader"
768
+ * ```
769
+ *
770
+ * @param {number} order Ordine di esportazione. Più piccolo è, prima appare il valore
771
+ * @param {string} header Titolo della colonna nel file CSV esportato
772
+ * @param {string} format Formato di esportazione. Può essere un formato data per i campi data o 'F' per i campi floating point
773
+ */
774
+ declare const Export: (order: number, header: string, format?: string, tableid?: string) => (target: Object, propertyKey: string) => void;
775
+ /**
776
+ * Decoratore di esportazione utilizzabile su un oggetto.
777
+ * Per ogni proprietà dell'oggetto verranno generate 3 proprietà che gestiranno l'esportazione: (prop, prop_csvvis, prop_csvhdr).
778
+ * Per essere esportate, le proprietà dell'oggetto devono essere marcate con i Decoratori di esportazione
779
+ *
780
+ * Ad esempio, da questa configurazione:
781
+ *
782
+ * @example
783
+ * ```
784
+ * MyObj {
785
+ * @Export(true, "MyHeader")
786
+ * ciao: string;
787
+ * }
788
+ *
789
+ * @ExportObject(true, "MyHeader")
790
+ * test: MyObj;
791
+ * ```
792
+ *
793
+ * Nasceranno le seguenti proprietà nell'oggetto esportabile:
794
+ *
795
+ * @example
796
+ * ```
797
+ * testciao: string; => Valore di MyObj.ciao
798
+ * testciao_csvvis: string; => true
799
+ * testciao_csvhdr: string => "MyHeader"
800
+ * ```
801
+ *
802
+ * @param {number} order Ordine di esportazione. Più piccolo è, prima appare il valore
803
+ * @param {any} type Tipo da esportare
804
+ */
805
+ declare const ExportAs: (order: number, type: any, prefix?: string) => (target: Object, propertyKey: string) => void;
806
+ /**
807
+ * Decoratore di esportazione utilizzabile su una lista,
808
+ * si utilizzano 2 navigator rispettivamente per la valorizzazione dell'Header e del Valore e
809
+ * per ogni elemento dell'array verranno generate 3 proprietà che gestiranno l'esportazione: (prop, prop_csvvis, prop_csvhdr)
810
+ *
811
+ * ATTENZIONE: Gli oggetti esportati in questa modalità non devono presentare altri tag di tipo @Export{...} all'interno. Fa tutto questo decoratore
812
+ *
813
+ * I navigator hanno questa convenzione:
814
+ *
815
+ * . --> divide due proprietà da richiamare consecutivamente: "a.b" richiamerà "obj.a.b";
816
+ *
817
+ * | --> divide più proprietà per le concatenazioni con uno spazio fra una e l'altra: "regdesc|slice.slicename" diventerà obj.regdesc + " " + obj.slice.slicename
818
+ *
819
+ * @param {number} order Ordine di esportazione. Più piccolo è, prima appare il valore
820
+ * @param {string} headernavigator Navigator col compito di selezionare il titolo per la colonna
821
+ * @param {string} valuenavigator Navigator col compito di selezionare il valore per la colonna
822
+ * @param {string} valueformat Formato di esportazione per i valori selezionati dal **valuenavigator**. Può essere un formato data per i campi data o 'F' per i campi floating point
823
+ */
824
+ declare const ExportList: (order: number, headernavigator: string, valuenavigator: string, valueformat?: string) => (target: Object, propertyKey: string) => void;
825
+ /**
826
+ * Decoratore di esportazione utilizzabile su un dizionario. Se ad esempio si vogliono generare le colonne
827
+ *
828
+ * Valore A = 1
829
+ *
830
+ * Valore B = 2
831
+ *
832
+ * Valore C = 3
833
+ *
834
+ * partendo da un oggetto iniziale { Valore { A: 1, B: 2, C: 3 } }
835
+ *
836
+ * @param {number} order Ordine di esportazione. Più piccolo è, prima appare il valore
837
+ * @param {string} headerprefix Prefisso per l'header
838
+ * @param {string} valueprefix Prefisso per il valore
839
+ */
840
+ declare const ExportDictionary: (order: number, headerprefix: string, valueprefix: string) => (target: Object, propertyKey: string) => void;
841
+ /**
842
+ * Service che si occupa dell'esportazione degli oggetti marcati dai Decoratori **ExportDictionary**, **ExportList**, **ExportAs** o **Export**
843
+ */
844
+ declare class ExportService {
845
+ private dates;
846
+ private utiExts;
847
+ private lc;
848
+ /**
849
+ * Costruttore
850
+ *
851
+ * @ignore
852
+ */
853
+ constructor(dates: DateService, utiExts: UtilityService, lc: LocalizationService);
854
+ /**
855
+ * Data una lista di oggetti genera gli header per l'esportazione e integra ogni oggetto con le proprietà esportabili dalla libreria **@ctrl/ngx-csv**
856
+ *
857
+ * @param {any[]} objs Oggetti da esportare
858
+ *
859
+ * @returns {CsvHeaders[]} Header di esportazione già ordinati correttamente
860
+ */
861
+ setupForExport(objs: any[], columns?: string[]): CsvHeaders[];
862
+ /**
863
+ * Data una lista di oggetti generici genera gli header per l'esportazione e integra ogni oggetto con le proprietà esportabili dalla libreria **@ctrl/ngx-csv**
864
+ *
865
+ * @param {GenericItem[]} objs Oggetti generici da esportare
866
+ * @param {CsvHeaders[]} columns Colonne richieste dall'esportazione
867
+ *
868
+ * @returns {CsvHeaders[]} Header di esportazione già ordinati correttamente
869
+ */
870
+ setupForGenericExport(objs: GenericItem[], columns: CsvHeaders[]): CsvHeaders[];
871
+ /**
872
+ * Dato un oggetto generico genera gli header per l'esportazione e lo integra con le proprietà esportabili dalla libreria **@ctrl/ngx-csv**
873
+ *
874
+ * Metodo interno richiamato da **setupForGenericExport**
875
+ *
876
+ * @param {GenericItem} obj Oggetto generico da esportare
877
+ * @param {CsvColumn[]} columns Colonne richieste dall'esportazione
878
+ *
879
+ * @returns {CsvHeaders[]} Header di esportazione già ordinati correttamente
880
+ */
881
+ private parseAndGetGenericHeaders;
882
+ /**
883
+ * Dato un oggetto genera gli header per l'esportazione e lo integra con le proprietà esportabili dalla libreria **@ctrl/ngx-csv**
884
+ *
885
+ * Metodo interno richiamato da **setupForExport**
886
+ *
887
+ * @param {any} obj Oggetto generico da esportare
888
+ *
889
+ * @returns {CsvHeaders[]} Header di esportazione già ordinati correttamente
890
+ */
891
+ private parseAndGetHeaders;
892
+ /**
893
+ * Setup per l'esportazione di una singola proprietà.
894
+ * Viene generato l'header e la proprietà relativa al valore formattato o no
895
+ *
896
+ * @param {any} obj Oggetto di cui esportare la proprietà **prop**
897
+ * @param {string} prop Proprietà da esportare
898
+ * @param {CsvHeaders} headers Contenitore degli header, verrà riempito da questa funzione
899
+ * @param {LocalizationService} loc Servizio di localizzazione che traduce tutti i nomi che può
900
+ */
901
+ private parseProperty;
902
+ /**
903
+ * Setup per l'esportazione di una singola proprietà da un oggetto.
904
+ * Viene generato l'header e la proprietà relativa al valore formattato o no.
905
+ *
906
+ * Per ottenere il valore e l'header della proprietà vengono utilizzati i navigatori auto-generati nel decoratore **ExportAs**
907
+ *
908
+ * @param {any} obj Oggetto di cui esportare la proprietà **prop**
909
+ * @param {string} prop Proprietà da esportare
910
+ * @param {CsvHeaders} headers Contenitore degli header, verrà riempito da questa funzione
911
+ * @param {LocalizationService} loc Servizio di localizzazione che traduce tutti i nomi che può
912
+ */
913
+ private parseObject;
914
+ /**
915
+ * Setup per l'esportazione di una lista di valori pivottati dinamicamente:
916
+ *
917
+ * => Recupero il valore utilizzando i navigatori
918
+ *
919
+ * => Recupero l'header utilizzando i navigatori
920
+ *
921
+ * => Con il valore ci creo la property
922
+ *
923
+ * => Con l'header e il riferimento alla property appena creata creo un record negli header da esportare
924
+ *
925
+ * @param {any} obj Oggetto di cui esportare la proprietà **prop**
926
+ * @param {string} prop Proprietà da esportare
927
+ * @param {CsvHeaders} headers Contenitore degli header, verrà riempito da questa funzione
928
+ * @param {LocalizationService} loc Servizio di localizzazione che traduce tutti i nomi che può
929
+ */
930
+ private parseList;
931
+ /**
932
+ * Setup per l'esportazione di una lista di valori pivottati dinamicamente:
933
+ *
934
+ * => Recupero il valore utilizzando i navigatori
935
+ *
936
+ * => Recupero l'header utilizzando i navigatori
937
+ *
938
+ * => Con il valore ci creo la property
939
+ *
940
+ * => Con l'header e il riferimento alla property appena creata creo un record negli header da esportare
941
+ *
942
+ * @param {any} obj Oggetto di cui esportare la proprietà **prop**
943
+ * @param {string} prop Proprietà da esportare
944
+ * @param {CsvHeaders} headers Contenitore degli header, verrà riempito da questa funzione
945
+ */
946
+ private parseDictionary;
947
+ /**
948
+ * Effettua l'esportazione in file CSV
949
+ */
950
+ private exportCSV;
951
+ private exportCSVBuffer;
952
+ /** Effettua l'esportazione del file Excel basandosi sul modulo **ExcelJS**, sugli header **headers** e sui dati **data** */
953
+ private exportExcel;
954
+ private exportExcelBuffer;
955
+ /**
956
+ * Metodo che effettivamente genera gli header e i dati per l'esportazione con **ngx-csv**
957
+ *
958
+ * @param {any[]} items Oggetti da esportare
959
+ */
960
+ export(items: any[], format: 'CSV' | 'XLSX', fileName: string, type: Type<any>, columnsFilter?: string[], genericHeaders?: CsvHeaders[]): CsvHeaders[];
961
+ /**
962
+ * Metodo che effettivamente genera gli header e i dati per l'esportazione con **ngx-csv**
963
+ *
964
+ * @param {any[]} items Oggetti da esportare
965
+ */
966
+ exportBuffer(items: any[], format: 'CSV' | 'XLSX', fileName: string, type: Type<any>, columnsFilter?: string[], genericHeaders?: CsvHeaders[]): Uint8Array;
967
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExportService, never>;
968
+ static ɵprov: i0.ɵɵInjectableDeclaration<ExportService>;
969
+ }
970
+
971
+ /**
972
+ * Service che fornisce un accesso base in lettura/scrittura sulla clipboard
973
+ */
974
+ declare class ClipboardService {
975
+ private msgService;
976
+ private locProvider;
977
+ /**
978
+ * Oggetto statico di localizzazione per i messaggi di questa Service
979
+ */
980
+ private loc;
981
+ private isBrowser;
982
+ /**
983
+ * Costruttore
984
+ *
985
+ * @ignore
986
+ */
987
+ constructor(msgService: MessageService, locProvider: BaseLocalization, platformId: Object);
988
+ /**
989
+ * Prende il valore della clipboard.
990
+ * Si può specificare se ci si aspetta una lista o una matrice di valori in modo da ricevere già un risultato utilizzabile
991
+ *
992
+ * @param {'array' | 'matrix'} style Stile dell'output desiderato, se array o matrice
993
+ * @param {Function} valueFoundCallback Callback che questa funzione chiamerà una volta ottenuto i valori richiesti dalla clipboard
994
+ */
995
+ getClipboard(style: 'array' | 'matrix', valueFoundCallback: (values: string[] | string[][]) => void): Promise<void>;
996
+ /** @ignore */
997
+ private doClipboardDataGet;
998
+ /**
999
+ * Ottiene il contenuto della clipboard diviso per righe (separate da newline)
1000
+ *
1001
+ * @param {string} data contenuto letto dalla clipboard
1002
+ *
1003
+ * @returns {string[]} Array contenente il testo preso dalla clipboard diviso per riga
1004
+ */
1005
+ private getClipboardLines;
1006
+ /**
1007
+ * Ottiene il contenuto della clipboard diviso per righe (separate da newline) e colonne (separate da tab)
1008
+ *
1009
+ * @param {string} data contenuto letto dalla clipboard
1010
+ *
1011
+ * @returns {string[][]} Matrice contenente il testo preso dalla clipboard diviso per riga e colonna
1012
+ */
1013
+ private getClipboardMatrix;
1014
+ /**
1015
+ * Metodo che copia un testo all'interno della clipboard
1016
+ *
1017
+ * @param {string} text Testo da inserire nella clipboard
1018
+ */
1019
+ copyTextToClipboard(text: string): Promise<void>;
1020
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClipboardService, [null, { optional: true; }, null]>;
1021
+ static ɵprov: i0.ɵɵInjectableDeclaration<ClipboardService>;
1022
+ }
1023
+
1024
+ /**
1025
+ * Token che indica il prefisso delle searchView che serve per storicizzarle evitando di tirarsi in memoria anche tutti gli oggetti. Se vuoto viene supposto 'Hot'
1026
+ */
1027
+ declare const APPSEARCH_PREFIX: InjectionToken<string>;
1028
+ /**
1029
+ * Token che indica se i metodi di estensione che utilizzano le date permettono l'uso di date in utc
3
1030
  */
4
- /// <amd-module name="@esfaenza/extensions" />
5
- export * from './public-api';
1031
+ declare const EXT_ALLOW_UTC: InjectionToken<boolean>;
1032
+ /** Modalità di Debug */
1033
+ declare const EXT_DEBUG_MODE: InjectionToken<boolean>;
1034
+
1035
+ /** Enumeratore dei tipi di messaggio che i moduli esterni possono contattare sull'applicazione principale */
1036
+ declare enum InboundMessageTypes {
1037
+ /** Evento di navigazione */
1038
+ Navigation = 0
1039
+ }
1040
+
1041
+ /** Classe che rappresenta un generico messaggio scambiato fra applicazione e moduli */
1042
+ declare class InterComMessage {
1043
+ type: any;
1044
+ message: any;
1045
+ /**
1046
+ * Costruttore
1047
+ *
1048
+ * @param type Tipo di messaggio
1049
+ * @param message Contenuto del messaggio
1050
+ */
1051
+ constructor(type: any, message: any);
1052
+ }
1053
+
1054
+ /** Service che si occupa di gestire la comunicazione fra i moduli interni ed esterni dell'applicativo */
1055
+ declare class InterComService {
1056
+ /** Messaggi in uscita, uno per ogni recipient registratosi dall'entrypoint **register** */
1057
+ outbounds: {
1058
+ [id: string]: Subject<InterComMessage>;
1059
+ };
1060
+ /** Messaggi in entrata, unico per applicazione principale */
1061
+ inbounds: Subject<InterComMessage>;
1062
+ /**
1063
+ * Metodo che permette di inviare un messaggio dall'applicazione ad un modulo esterno o viceversa
1064
+ *
1065
+ * @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)
1066
+ * @param {any} message Messaggio da inviare che può essere un dto in casi complessi ma dovrà essere gestito a dovere lato implementativo
1067
+ * @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
1068
+ */
1069
+ send(messageType: any, message: any, recipient?: string): void;
1070
+ /**
1071
+ * Permette di registrare un modulo esterno alla lista dei moduli in listening sulla coda di messaggi
1072
+ *
1073
+ * @param {string} key Chiave del modulo da registrare. Tutti i messaggi inbound saranno inviati dall'applicazione principale su questa chiave
1074
+ */
1075
+ register(key: string): void;
1076
+ static ɵfac: i0.ɵɵFactoryDeclaration<InterComService, never>;
1077
+ static ɵprov: i0.ɵɵInjectableDeclaration<InterComService>;
1078
+ }
1079
+
1080
+ export { APPSEARCH_PREFIX, AppEmbeddingExtensions, BaseExtensionsService, CallResult, ClipboardService, CsvHeaders, DateService, EXT_ALLOW_UTC, EXT_DEBUG_MODE, Export, ExportAs, ExportDictionary, ExportList, ExportLocalization, ExportService, ExtensionsModule, GenericItem, HashingService, InboundMessageTypes, InterComMessage, InterComService, LocDatePipe, MessageService, UtilityService };