wuic-framework-lib 1.1.0 → 1.2.0
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/fesm2022/{wuic-framework-lib-chart-list.component-C9_EDkGu.mjs → wuic-framework-lib-chart-list.component-B1V8Q-Qq.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-code-editor.component-D_p7LGSQ.mjs → wuic-framework-lib-code-editor.component-4N95qt3D.mjs} +24 -3
- package/fesm2022/{wuic-framework-lib-designer.component-Dx6RraAn.mjs → wuic-framework-lib-designer.component-pW1YK-oY.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-first-run-wizard.component-Cp8IKDb9.mjs → wuic-framework-lib-first-run-wizard.component-CaGePYLi.mjs} +12 -2
- package/fesm2022/{wuic-framework-lib-framework-docs.component-CxckBsIX.mjs → wuic-framework-lib-framework-docs.component-m0IlS0Sl.mjs} +3 -3
- package/fesm2022/{wuic-framework-lib-pivot-builder.component-C-ceJi48.mjs → wuic-framework-lib-pivot-builder.component-VIs0CIH_.mjs} +11 -8
- package/fesm2022/{wuic-framework-lib-prompt-dialog-fallback-host.component-DPZCgxOB.mjs → wuic-framework-lib-prompt-dialog-fallback-host.component-Dm9GTZ07.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-report-designer.component-3-hUYft8.mjs → wuic-framework-lib-report-designer.component-FiAwNkPM.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-report-viewer.component-D4QD_wPl.mjs → wuic-framework-lib-report-viewer.component-DY0dGMrt.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-scheduler-list.component-C0nY8Wd6.mjs → wuic-framework-lib-scheduler-list.component-3E5m-9Qd.mjs} +31 -5
- package/fesm2022/{wuic-framework-lib-spreadsheet-list-sf.component-C9sWgq61.mjs → wuic-framework-lib-spreadsheet-list-sf.component-D9P9WbDl.mjs} +42 -22
- package/fesm2022/{wuic-framework-lib-workflow-designer.component-8mv_Rbz9.mjs → wuic-framework-lib-workflow-designer.component-4RC2EkGA.mjs} +23 -3
- package/fesm2022/{wuic-framework-lib-wuic-framework-lib-DJZAYFw8.mjs → wuic-framework-lib-wuic-framework-lib-BSyGhpM1.mjs} +251 -39
- package/fesm2022/wuic-framework-lib.mjs +1 -1
- package/package.json +1 -1
- package/types/wuic-framework-lib.d.ts +56 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { s as AUTH_REDIRECT_REASON_KEY, t as AppSettingsEditorComponent, n as AuthSessionService, B as BooleanEditorComponent, u as BoundedRepeaterComponent, v as ButtonEditorComponent, C as CallbackPipe, w as CallbackPipe2, x as CarouselListComponent, y as CodeAreaEditorComponent, z as ColorEditorComponent, E as CrashReporterService, H as CustomAttributesService, J as CustomException, K as DataActionButtonComponent, N as DataProviderOdataService, c as DataRepeaterComponent, b as DataSourceComponent, O as DateEditorComponent, Q as DesignerRouteComponent, R as DictionaryEditorComponent, a as DynamicCompilerService, S as DynamicRowTemplateComponent, i as FieldEditorComponent, F as FilterBarComponent, o as FilterInfo, V as FormatGridViewValuePipe, X as GetSrcUploadPreviewPipe, G as GlobalHandler, Y as HtmlEditorComponent, Z as ImageWrapperComponent, I as ImportExportButtonComponent, _ as IsSelectedRowPipe, $ as KanbanListComponent, a0 as KanbanOptions, a1 as KanbanStatusColumnItem, a2 as LazyChartListComponent, a3 as LazyCodeEditorComponent, a4 as LazyDataActionButtonComponent, a5 as LazyDataSourceComponent, a6 as LazyFieldEditorComponent, a7 as LazyFirstRunWizardComponent, a8 as LazyImageWrapperComponent, a9 as LazyKanbanListComponent, aa as LazyMetaMenuComponent, ab as LazyPivotBuilderComponent, ac as LazyReportDesignerComponent, ad as LazyReportViewerComponent, ae as LazySchedulerListComponent, af as LazySpreadsheetListSfComponent, p as LicenseFeatureService, ag as ListGridComponent, ah as LookupEditorComponent, ai as MapListComponent, m as MetaInfo, aj as MetaMenuComponent, g as MetadataEditorService, M as MetadataProviderService, e as MetadatiColonna, ak as MetadatiTabella, al as NotificationBellComponent, am as NotificationRealtimeService, an as NumberEditorComponent, ao as PRIMARY_PALETTES, P as PagerComponent, d as ParametricDialogComponent, ap as PropertyArrayEditorComponent, aq as PropertyObjectEditorComponent, ar as THEME_OPTIONS, as as TextAreaEditorComponent, at as TextEditorComponent, T as TranslationManagerService, au as TreeListComponent, av as TreeViewSelectorComponent, aw as UploadDialogComponent, ax as UploadEditorComponent, U as UserInfoService, ay as ValidationRule, az as ValueChangedPayload, aA as VisibleFieldListPipe, aB as WidgetDefinition, aC as WorkflowDesignerRouteComponent, aD as WorkflowRunnerComponent, h as WorkflowRuntimeMetadataService, W as WtoolboxService, aE as WuicAziendaSwitcherComponent, aF as WuicErrorDialogComponent, aG as WuicErrorInterceptor, aH as WuicFeatureDirective, aI as WuicFrozenColumnDirective, aJ as WuicRagChatbotComponent, aK as WuicRagChatbotFabComponent, aL as WuicRagService, aM as WuicRowTogglerDirective, aN as _PRIMENG_TABLE_DIRECTIVES_NAMES, aO as authExpiredInterceptor, aP as boundedRepeaterPendingChangesGuard, aQ as featureRouteCanActivateGuard, aR as featureRouteCanMatchGuard, r as getThemeOptions, aS as getThemePrimaryHex, aT as inferTemplateFieldFromBaseClass, aU as loadBooleanEditorComponent, aV as loadButtonEditorComponent, aW as loadCodeAreaEditorComponent, aX as loadColorEditorComponent, aY as loadDateEditorComponent, aZ as loadDictionaryEditorComponent, a_ as loadHtmlEditorComponent, a$ as loadLookupEditorComponent, b0 as loadNumberEditorComponent, b1 as loadPropertyArrayEditorComponent, b2 as loadPropertyObjectEditorComponent, b3 as loadTextAreaEditorComponent, b4 as loadTextEditorComponent, b5 as loadTreeViewSelectorComponent, b6 as loadUploadEditorComponent, b7 as menuRouteAccessCanActivateGuard, b8 as menuRouteAccessCanMatchGuard, b9 as routes, ba as wuicErrorInterceptor } from './wuic-framework-lib-wuic-framework-lib-
|
|
1
|
+
export { s as AUTH_REDIRECT_REASON_KEY, t as AppSettingsEditorComponent, n as AuthSessionService, B as BooleanEditorComponent, u as BoundedRepeaterComponent, v as ButtonEditorComponent, C as CallbackPipe, w as CallbackPipe2, x as CarouselListComponent, y as CodeAreaEditorComponent, z as ColorEditorComponent, E as CrashReporterService, H as CustomAttributesService, J as CustomException, K as DataActionButtonComponent, N as DataProviderOdataService, c as DataRepeaterComponent, b as DataSourceComponent, O as DateEditorComponent, Q as DesignerRouteComponent, R as DictionaryEditorComponent, a as DynamicCompilerService, S as DynamicRowTemplateComponent, i as FieldEditorComponent, F as FilterBarComponent, o as FilterInfo, V as FormatGridViewValuePipe, X as GetSrcUploadPreviewPipe, G as GlobalHandler, Y as HtmlEditorComponent, Z as ImageWrapperComponent, I as ImportExportButtonComponent, _ as IsSelectedRowPipe, $ as KanbanListComponent, a0 as KanbanOptions, a1 as KanbanStatusColumnItem, a2 as LazyChartListComponent, a3 as LazyCodeEditorComponent, a4 as LazyDataActionButtonComponent, a5 as LazyDataSourceComponent, a6 as LazyFieldEditorComponent, a7 as LazyFirstRunWizardComponent, a8 as LazyImageWrapperComponent, a9 as LazyKanbanListComponent, aa as LazyMetaMenuComponent, ab as LazyPivotBuilderComponent, ac as LazyReportDesignerComponent, ad as LazyReportViewerComponent, ae as LazySchedulerListComponent, af as LazySpreadsheetListSfComponent, p as LicenseFeatureService, ag as ListGridComponent, ah as LookupEditorComponent, ai as MapListComponent, m as MetaInfo, aj as MetaMenuComponent, g as MetadataEditorService, M as MetadataProviderService, e as MetadatiColonna, ak as MetadatiTabella, al as NotificationBellComponent, am as NotificationRealtimeService, an as NumberEditorComponent, ao as PRIMARY_PALETTES, P as PagerComponent, d as ParametricDialogComponent, ap as PropertyArrayEditorComponent, aq as PropertyObjectEditorComponent, ar as THEME_OPTIONS, as as TextAreaEditorComponent, at as TextEditorComponent, T as TranslationManagerService, au as TreeListComponent, av as TreeViewSelectorComponent, aw as UploadDialogComponent, ax as UploadEditorComponent, U as UserInfoService, ay as ValidationRule, az as ValueChangedPayload, aA as VisibleFieldListPipe, aB as WidgetDefinition, aC as WorkflowDesignerRouteComponent, aD as WorkflowRunnerComponent, h as WorkflowRuntimeMetadataService, W as WtoolboxService, aE as WuicAziendaSwitcherComponent, aF as WuicErrorDialogComponent, aG as WuicErrorInterceptor, aH as WuicFeatureDirective, aI as WuicFrozenColumnDirective, aJ as WuicRagChatbotComponent, aK as WuicRagChatbotFabComponent, aL as WuicRagService, aM as WuicRowTogglerDirective, aN as _PRIMENG_TABLE_DIRECTIVES_NAMES, aO as authExpiredInterceptor, aP as boundedRepeaterPendingChangesGuard, aQ as featureRouteCanActivateGuard, aR as featureRouteCanMatchGuard, r as getThemeOptions, aS as getThemePrimaryHex, aT as inferTemplateFieldFromBaseClass, aU as loadBooleanEditorComponent, aV as loadButtonEditorComponent, aW as loadCodeAreaEditorComponent, aX as loadColorEditorComponent, aY as loadDateEditorComponent, aZ as loadDictionaryEditorComponent, a_ as loadHtmlEditorComponent, a$ as loadLookupEditorComponent, b0 as loadNumberEditorComponent, b1 as loadPropertyArrayEditorComponent, b2 as loadPropertyObjectEditorComponent, b3 as loadTextAreaEditorComponent, b4 as loadTextEditorComponent, b5 as loadTreeViewSelectorComponent, b6 as loadUploadEditorComponent, b7 as menuRouteAccessCanActivateGuard, b8 as menuRouteAccessCanMatchGuard, b9 as routes, ba as wuicErrorInterceptor } from './wuic-framework-lib-wuic-framework-lib-BSyGhpM1.mjs';
|
|
2
2
|
//# sourceMappingURL=wuic-framework-lib.mjs.map
|
package/package.json
CHANGED
|
@@ -560,6 +560,24 @@ declare class TranslationManagerService {
|
|
|
560
560
|
private backendRetryTimer?;
|
|
561
561
|
private firstRunStatusChecked;
|
|
562
562
|
private firstRunStatusValue;
|
|
563
|
+
/**
|
|
564
|
+
* Circuit breaker BE-offline: dopo {@link MAX_BACKEND_RETRIES} fallimenti
|
|
565
|
+
* consecutivi di `loadTranslations`, smettiamo di rischedulare il retry
|
|
566
|
+
* automatico. Con il vecchio loop a 1s, un BE offline generava ~60 chiamate
|
|
567
|
+
* fallite/min (vedi screenshot 2026-05-19: 318 errori console + ~190 XHR in
|
|
568
|
+
* pochi secondi). Ora dopo 5 fallimenti il timer si ferma e l'utente vede
|
|
569
|
+
* un banner globale "Backend offline" + bottone "Riprova" che chiama
|
|
570
|
+
* `retryBackendNow()` per resettare il circuito.
|
|
571
|
+
*
|
|
572
|
+
* Reset condizioni:
|
|
573
|
+
* - chiamata esplicita a `ensureTranslationsLoaded(true)` (forceReload);
|
|
574
|
+
* - chiamata esplicita a `retryBackendNow()` (bottone UI);
|
|
575
|
+
* - prima chiamata con successo (counter back to 0).
|
|
576
|
+
*/
|
|
577
|
+
private static readonly MAX_BACKEND_RETRIES;
|
|
578
|
+
private consecutiveBackendFailures;
|
|
579
|
+
/** True quando MAX_BACKEND_RETRIES e' stato raggiunto → niente piu' retry automatici. */
|
|
580
|
+
backendCircuitOpen$: BehaviorSubject<boolean>;
|
|
563
581
|
/**
|
|
564
582
|
* Dedup set per i warning "Missing translation resource". Senza questo
|
|
565
583
|
* Angular ChangeDetection invoca `instant(key)` ad ogni ciclo per ogni
|
|
@@ -663,6 +681,14 @@ declare class TranslationManagerService {
|
|
|
663
681
|
* Legge/scrive dati persistenti su storage browser.
|
|
664
682
|
*/
|
|
665
683
|
loadTranslations(): Promise<void>;
|
|
684
|
+
/**
|
|
685
|
+
* Reset esplicito del circuit breaker BE-offline + retry immediato.
|
|
686
|
+
* Da chiamare quando l'utente clicca "Riprova" sul banner offline, o
|
|
687
|
+
* quando un altro servizio rileva che il BE e' tornato online (es. ping
|
|
688
|
+
* health check, network 'online' event, ecc.). NON usare in retry loops
|
|
689
|
+
* automatici — il senso del breaker e' proprio fermarli.
|
|
690
|
+
*/
|
|
691
|
+
retryBackendNow(): void;
|
|
666
692
|
/**
|
|
667
693
|
* Revalidate background: rifetcha la tabella traduzioni dal backend SENZA
|
|
668
694
|
* bloccare l'UI. Confronta size + contenuto (hash leggero su `id,resource,
|
|
@@ -1129,6 +1155,18 @@ declare class DataSourceComponent implements OnInit, OnDestroy {
|
|
|
1129
1155
|
private aRoute;
|
|
1130
1156
|
private userInfo;
|
|
1131
1157
|
private static readonly liveInstances;
|
|
1158
|
+
/**
|
|
1159
|
+
* Riferimento al DOM host element. Iniettato via `inject()` (Angular 14+ functional
|
|
1160
|
+
* DI) invece che da costruttore per non rompere i call site manuali tipo
|
|
1161
|
+
* `new DataSourceComponent(metaSrv, dataSrv, ...)` in designer.component.ts
|
|
1162
|
+
* e metadata-editor.service.ts (che mantengono i 7 params posizionali storici).
|
|
1163
|
+
* `{ optional: true }` rende il field null fuori da un Angular DI context
|
|
1164
|
+
* (es. unit test che istanziano la classe a mano) — il consumo in ngOnInit
|
|
1165
|
+
* usa `?.nativeElement` per sopportare entrambi i path.
|
|
1166
|
+
* Scopo: esporre `this` su `host.__wuicCmp` per E2E introspection senza
|
|
1167
|
+
* dipendere da `window.ng.getComponent` (tree-shaken in prod build).
|
|
1168
|
+
*/
|
|
1169
|
+
private elementRef;
|
|
1132
1170
|
static getLiveInstances(): DataSourceComponent[];
|
|
1133
1171
|
/**
|
|
1134
1172
|
* Input dal componente padre per route; usata nella configurazione e nel rendering del componente.
|
|
@@ -10546,6 +10584,13 @@ declare class MetaMenuComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
10546
10584
|
* tradotti, che e' un'esperienza confusa.
|
|
10547
10585
|
*/
|
|
10548
10586
|
translationsLoaded$: Observable<boolean>;
|
|
10587
|
+
/**
|
|
10588
|
+
* Stato circuit breaker BE-offline esposto dal TranslationManagerService.
|
|
10589
|
+
* Quando true → mostriamo il banner "Backend offline" + bottone "Riprova"
|
|
10590
|
+
* al posto dello spinner "Loading…" altrimenti infinito. Il click sul
|
|
10591
|
+
* bottone chiama `retryBackend()` che riarma il circuito e ritenta.
|
|
10592
|
+
*/
|
|
10593
|
+
backendCircuitOpen$: Observable<boolean>;
|
|
10549
10594
|
/**
|
|
10550
10595
|
* Proprieta di stato del componente per auth return url, usata dalla logica interna e dal template.
|
|
10551
10596
|
*/
|
|
@@ -10627,6 +10672,14 @@ declare class MetaMenuComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
10627
10672
|
* @param workflowRuntimeMenu Stream dei menu runtime da fondere con il menu base.
|
|
10628
10673
|
*/
|
|
10629
10674
|
constructor(metaSrv: MetadataProviderService, authSession: AuthSessionService, trslSrv: TranslationManagerService, userInfo: UserInfoService, workflowRuntimeMenu: WorkflowRuntimeMenuService, http: HttpClient, ngZone: NgZone, router: Router, licenseFeature: LicenseFeatureService, elementRef: ElementRef);
|
|
10675
|
+
/**
|
|
10676
|
+
* Handler del bottone "Riprova" del banner BE-offline. Resetta il circuit
|
|
10677
|
+
* breaker nel TranslationManagerService e tenta immediatamente una nuova
|
|
10678
|
+
* fetch di `MetaService.GetTranslation`. Se il BE e' di nuovo online il
|
|
10679
|
+
* banner sparisce e parte lo spinner standard; se il BE e' ancora offline,
|
|
10680
|
+
* dopo altri 5 fallimenti consecutivi il banner riappare.
|
|
10681
|
+
*/
|
|
10682
|
+
retryBackend(): void;
|
|
10630
10683
|
/**
|
|
10631
10684
|
* Completa inizializzazione dopo il rendering della view e collega riferimenti UI.
|
|
10632
10685
|
*/
|
|
@@ -13337,6 +13390,8 @@ declare class KanbanListComponent implements OnInit, OnDestroy, IDataBoundHostCo
|
|
|
13337
13390
|
private trslSrv;
|
|
13338
13391
|
private dataProviderSrv;
|
|
13339
13392
|
private userInfo;
|
|
13393
|
+
private cdr;
|
|
13394
|
+
private ngZone;
|
|
13340
13395
|
hardcodedRoute: string;
|
|
13341
13396
|
parentRecord: any;
|
|
13342
13397
|
parentMetaInfo: MetaInfo;
|
|
@@ -13384,7 +13439,7 @@ declare class KanbanListComponent implements OnInit, OnDestroy, IDataBoundHostCo
|
|
|
13384
13439
|
private datasourceReadySubscription?;
|
|
13385
13440
|
private fetchInfoSubscription?;
|
|
13386
13441
|
private pendingChanges;
|
|
13387
|
-
constructor(router: Router, trslSrv: TranslationManagerService, dataProviderSrv: DataProviderService, userInfo: UserInfoService);
|
|
13442
|
+
constructor(router: Router, trslSrv: TranslationManagerService, dataProviderSrv: DataProviderService, userInfo: UserInfoService, cdr: ChangeDetectorRef, ngZone: NgZone);
|
|
13388
13443
|
private t;
|
|
13389
13444
|
ngOnInit(): void;
|
|
13390
13445
|
ngOnDestroy(): void;
|