wuic-framework-lib 1.0.19 → 1.0.20

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 (16) hide show
  1. package/fesm2022/{wuic-framework-lib-chart-list.component-C0OYuZoM.mjs → wuic-framework-lib-chart-list.component-B44k_wZe.mjs} +73 -13
  2. package/fesm2022/{wuic-framework-lib-code-editor.component-B8OQ3Z0k.mjs → wuic-framework-lib-code-editor.component-D1dy4Dl9.mjs} +5 -5
  3. package/fesm2022/{wuic-framework-lib-designer.component-DsWgWtFj.mjs → wuic-framework-lib-designer.component-CnOQbvEH.mjs} +82 -49
  4. package/fesm2022/{wuic-framework-lib-first-run-wizard.component-wR_LrvPK.mjs → wuic-framework-lib-first-run-wizard.component-C9lswoxG.mjs} +8 -8
  5. package/fesm2022/{wuic-framework-lib-framework-docs.component-eyzu9tdV.mjs → wuic-framework-lib-framework-docs.component-B6qNTs5H.mjs} +803 -110
  6. package/fesm2022/{wuic-framework-lib-pivot-builder.component-BFdZW5Ch.mjs → wuic-framework-lib-pivot-builder.component-DMk26H0M.mjs} +264 -16
  7. package/fesm2022/{wuic-framework-lib-prompt-dialog-fallback-host.component-B583WbYe.mjs → wuic-framework-lib-prompt-dialog-fallback-host.component-y3shST6g.mjs} +5 -5
  8. package/fesm2022/{wuic-framework-lib-report-designer.component-HJUpslLX.mjs → wuic-framework-lib-report-designer.component-BnngR2eL.mjs} +5 -5
  9. package/fesm2022/{wuic-framework-lib-report-viewer.component-El32zpzi.mjs → wuic-framework-lib-report-viewer.component-LGNRIQh2.mjs} +5 -5
  10. package/fesm2022/{wuic-framework-lib-scheduler-list.component-E8s_e533.mjs → wuic-framework-lib-scheduler-list.component-DbcFMwx5.mjs} +28 -5
  11. package/fesm2022/{wuic-framework-lib-spreadsheet-list-sf.component-CDn0qi_C.mjs → wuic-framework-lib-spreadsheet-list-sf.component-DXyRX0YK.mjs} +9 -9
  12. package/fesm2022/{wuic-framework-lib-workflow-designer.component-hL7oKqYO.mjs → wuic-framework-lib-workflow-designer.component-Bm719AWV.mjs} +9 -9
  13. package/fesm2022/{wuic-framework-lib-wuic-framework-lib-ABS_G7lO.mjs → wuic-framework-lib-wuic-framework-lib-CGCZvtKK.mjs} +1680 -411
  14. package/fesm2022/wuic-framework-lib.mjs +1 -1
  15. package/package.json +1 -1
  16. package/types/wuic-framework-lib.d.ts +340 -3
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { EventEmitter, Output, Input, Component } from '@angular/core';
3
3
  import * as i2 from 'primeng/dialog';
4
4
  import { DialogModule } from 'primeng/dialog';
5
- import { d as ParametricDialogComponent } from './wuic-framework-lib-wuic-framework-lib-ABS_G7lO.mjs';
5
+ import { d as ParametricDialogComponent } from './wuic-framework-lib-wuic-framework-lib-CGCZvtKK.mjs';
6
6
 
7
7
  class PromptDialogFallbackHostComponent {
8
8
  datasource;
@@ -40,8 +40,8 @@ class PromptDialogFallbackHostComponent {
40
40
  this.closed.emit(null);
41
41
  }
42
42
  }
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: PromptDialogFallbackHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: PromptDialogFallbackHostComponent, isStandalone: true, selector: "wuic-prompt-dialog-fallback-host", inputs: { datasource: "datasource", header: "header", width: "width", height: "height", styleClass: "styleClass", position: "position", closable: "closable" }, outputs: { closed: "closed" }, ngImport: i0, template: `
43
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: PromptDialogFallbackHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: PromptDialogFallbackHostComponent, isStandalone: true, selector: "wuic-prompt-dialog-fallback-host", inputs: { datasource: "datasource", header: "header", width: "width", height: "height", styleClass: "styleClass", position: "position", closable: "closable" }, outputs: { closed: "closed" }, ngImport: i0, template: `
45
45
  <p-dialog
46
46
  [header]="header"
47
47
  [visible]="visible"
@@ -56,7 +56,7 @@ class PromptDialogFallbackHostComponent {
56
56
  </p-dialog>
57
57
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: DialogModule }, { kind: "component", type: i2.Dialog, selector: "p-dialog", inputs: ["hostName", "header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "maskMotionOptions", "motionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: ParametricDialogComponent, selector: "wuic-parametric-dialog", inputs: ["datasource", "hardcodedDatasource", "hideToolbar", "isWizard", "isEditForm", "readOnly"], outputs: ["onDialogDataBound", "onDialogTabChange", "onWizardStepChange", "onDialogCustomAction", "onDialogSubmit", "onDialogRollback", "onDialogCloseRequested"] }] });
58
58
  }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: PromptDialogFallbackHostComponent, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: PromptDialogFallbackHostComponent, decorators: [{
60
60
  type: Component,
61
61
  args: [{
62
62
  selector: 'wuic-prompt-dialog-fallback-host',
@@ -96,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
96
96
  }] } });
97
97
 
98
98
  export { PromptDialogFallbackHostComponent };
99
- //# sourceMappingURL=wuic-framework-lib-prompt-dialog-fallback-host.component-B583WbYe.mjs.map
99
+ //# sourceMappingURL=wuic-framework-lib-prompt-dialog-fallback-host.component-y3shST6g.mjs.map
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { ViewChild, Component } from '@angular/core';
3
- import { W as WtoolboxService, M as MetadataProviderService } from './wuic-framework-lib-wuic-framework-lib-ABS_G7lO.mjs';
3
+ import { W as WtoolboxService, M as MetadataProviderService } from './wuic-framework-lib-wuic-framework-lib-CGCZvtKK.mjs';
4
4
  import * as i3 from 'stimulsoft-designer-angular';
5
5
  import { StimulsoftDesignerModule, StimulsoftDesignerComponent } from 'stimulsoft-designer-angular';
6
6
  import * as i1 from '@angular/router';
@@ -179,10 +179,10 @@ class ReportDesignerComponent {
179
179
  this.reportCacheInvalidationTimer = undefined;
180
180
  }
181
181
  }
182
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ReportDesignerComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: MetadataProviderService }], target: i0.ɵɵFactoryTarget.Component });
183
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: ReportDesignerComponent, isStandalone: true, selector: "wuic-report-designer", viewQueries: [{ propertyName: "designer", first: true, predicate: StimulsoftDesignerComponent, descendants: true }], ngImport: i0, template: "<!-- <button (click)=\"fix()\">Fix</button> -->\r\n@defer (on immediate) {\r\n <stimulsoft-designer-angular #designer [requestUrl]=\"requestUrl\" [width]=\"'100%'\"\r\n [height]=\"'100%'\"></stimulsoft-designer-angular>\r\n} @placeholder {\r\n <div class=\"stimulsoft-loading-placeholder\">\r\n <i class=\"pi pi-spin pi-spinner\"></i>\r\n <span>Caricamento Report Designer\u2026</span>\r\n <small>Il SDK Stimulsoft \u00E8 in download (~16 MB). Operazione una tantum.</small>\r\n </div>\r\n} @loading (minimum 300ms) {\r\n <div class=\"stimulsoft-loading-placeholder\">\r\n <i class=\"pi pi-spin pi-spinner\"></i>\r\n <span>Inizializzazione editor\u2026</span>\r\n </div>\r\n} @error {\r\n <div class=\"stimulsoft-error-placeholder\">\r\n <i class=\"pi pi-exclamation-triangle\"></i>\r\n <span>Errore nel caricamento del Report Designer. Verifica connessione e ricarica la pagina.</span>\r\n </div>\r\n}", styles: [":host{display:flex;width:100%;height:100%;min-height:0;flex:1 1 auto}:host ::ng-deep stimulsoft-designer-angular{display:block;width:100%;height:100%;min-height:0;flex:1 1 auto}:host ::ng-deep .stiDesignerMainPanel,:host ::ng-deep .stiDesignerMainPanel *{box-sizing:border-box}:host ::ng-deep .stiDesignerMainPanel{height:100%!important;min-height:0!important}.stimulsoft-loading-placeholder,.stimulsoft-error-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;min-height:400px;color:#64748b;font-size:1rem;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px}.stimulsoft-loading-placeholder .pi-spinner{font-size:2rem;color:#6366f1}.stimulsoft-loading-placeholder small{font-size:.8rem;color:#94a3b8;max-width:400px;text-align:center}.stimulsoft-error-placeholder{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.stimulsoft-error-placeholder .pi-exclamation-triangle{font-size:2rem}\n"], dependencies: [{ kind: "ngmodule", type: StimulsoftDesignerModule }], deferBlockDependencies: [() => [i3.StimulsoftDesignerComponent]] });
182
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ReportDesignerComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: MetadataProviderService }], target: i0.ɵɵFactoryTarget.Component });
183
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ReportDesignerComponent, isStandalone: true, selector: "wuic-report-designer", viewQueries: [{ propertyName: "designer", first: true, predicate: StimulsoftDesignerComponent, descendants: true }], ngImport: i0, template: "<!-- <button (click)=\"fix()\">Fix</button> -->\r\n@defer (on immediate) {\r\n <stimulsoft-designer-angular #designer [requestUrl]=\"requestUrl\" [width]=\"'100%'\"\r\n [height]=\"'100%'\"></stimulsoft-designer-angular>\r\n} @placeholder {\r\n <div class=\"stimulsoft-loading-placeholder\">\r\n <i class=\"pi pi-spin pi-spinner\"></i>\r\n <span>Caricamento Report Designer\u2026</span>\r\n <small>Il SDK Stimulsoft \u00E8 in download (~16 MB). Operazione una tantum.</small>\r\n </div>\r\n} @loading (minimum 300ms) {\r\n <div class=\"stimulsoft-loading-placeholder\">\r\n <i class=\"pi pi-spin pi-spinner\"></i>\r\n <span>Inizializzazione editor\u2026</span>\r\n </div>\r\n} @error {\r\n <div class=\"stimulsoft-error-placeholder\">\r\n <i class=\"pi pi-exclamation-triangle\"></i>\r\n <span>Errore nel caricamento del Report Designer. Verifica connessione e ricarica la pagina.</span>\r\n </div>\r\n}", styles: [":host{display:flex;width:100%;height:100%;min-height:0;flex:1 1 auto}:host ::ng-deep stimulsoft-designer-angular{display:block;width:100%;height:100%;min-height:0;flex:1 1 auto}:host ::ng-deep .stiDesignerMainPanel,:host ::ng-deep .stiDesignerMainPanel *{box-sizing:border-box}:host ::ng-deep .stiDesignerMainPanel{height:100%!important;min-height:0!important}.stimulsoft-loading-placeholder,.stimulsoft-error-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;min-height:400px;color:#64748b;font-size:1rem;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px}.stimulsoft-loading-placeholder .pi-spinner{font-size:2rem;color:#6366f1}.stimulsoft-loading-placeholder small{font-size:.8rem;color:#94a3b8;max-width:400px;text-align:center}.stimulsoft-error-placeholder{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.stimulsoft-error-placeholder .pi-exclamation-triangle{font-size:2rem}\n"], dependencies: [{ kind: "ngmodule", type: StimulsoftDesignerModule }], deferBlockDependencies: [() => [i3.StimulsoftDesignerComponent]] });
184
184
  }
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ReportDesignerComponent, decorators: [{
185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ReportDesignerComponent, decorators: [{
186
186
  type: Component,
187
187
  args: [{ selector: 'wuic-report-designer', imports: [StimulsoftDesignerModule], template: "<!-- <button (click)=\"fix()\">Fix</button> -->\r\n@defer (on immediate) {\r\n <stimulsoft-designer-angular #designer [requestUrl]=\"requestUrl\" [width]=\"'100%'\"\r\n [height]=\"'100%'\"></stimulsoft-designer-angular>\r\n} @placeholder {\r\n <div class=\"stimulsoft-loading-placeholder\">\r\n <i class=\"pi pi-spin pi-spinner\"></i>\r\n <span>Caricamento Report Designer\u2026</span>\r\n <small>Il SDK Stimulsoft \u00E8 in download (~16 MB). Operazione una tantum.</small>\r\n </div>\r\n} @loading (minimum 300ms) {\r\n <div class=\"stimulsoft-loading-placeholder\">\r\n <i class=\"pi pi-spin pi-spinner\"></i>\r\n <span>Inizializzazione editor\u2026</span>\r\n </div>\r\n} @error {\r\n <div class=\"stimulsoft-error-placeholder\">\r\n <i class=\"pi pi-exclamation-triangle\"></i>\r\n <span>Errore nel caricamento del Report Designer. Verifica connessione e ricarica la pagina.</span>\r\n </div>\r\n}", styles: [":host{display:flex;width:100%;height:100%;min-height:0;flex:1 1 auto}:host ::ng-deep stimulsoft-designer-angular{display:block;width:100%;height:100%;min-height:0;flex:1 1 auto}:host ::ng-deep .stiDesignerMainPanel,:host ::ng-deep .stiDesignerMainPanel *{box-sizing:border-box}:host ::ng-deep .stiDesignerMainPanel{height:100%!important;min-height:0!important}.stimulsoft-loading-placeholder,.stimulsoft-error-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;min-height:400px;color:#64748b;font-size:1rem;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px}.stimulsoft-loading-placeholder .pi-spinner{font-size:2rem;color:#6366f1}.stimulsoft-loading-placeholder small{font-size:.8rem;color:#94a3b8;max-width:400px;text-align:center}.stimulsoft-error-placeholder{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.stimulsoft-error-placeholder .pi-exclamation-triangle{font-size:2rem}\n"] }]
188
188
  }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: MetadataProviderService }], propDecorators: { designer: [{
@@ -191,4 +191,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
191
191
  }] } });
192
192
 
193
193
  export { ReportDesignerComponent };
194
- //# sourceMappingURL=wuic-framework-lib-report-designer.component-HJUpslLX.mjs.map
194
+ //# sourceMappingURL=wuic-framework-lib-report-designer.component-BnngR2eL.mjs.map
@@ -5,7 +5,7 @@ import { NavigationEnd } from '@angular/router';
5
5
  import { CommonModule } from '@angular/common';
6
6
  import * as i3 from 'stimulsoft-viewer-angular';
7
7
  import { StimulsoftViewerModule, StimulsoftViewerComponent } from 'stimulsoft-viewer-angular';
8
- import { W as WtoolboxService } from './wuic-framework-lib-wuic-framework-lib-ABS_G7lO.mjs';
8
+ import { W as WtoolboxService } from './wuic-framework-lib-wuic-framework-lib-CGCZvtKK.mjs';
9
9
  import { e as ensureWuicStimulsoftLicenseRegistered } from './wuic-framework-lib-stimulsoft-license.service-BIyxB4pO.mjs';
10
10
  import { firstValueFrom } from 'rxjs';
11
11
  import * as i1$1 from '@angular/common/http';
@@ -464,10 +464,10 @@ class ReportViewerComponent {
464
464
  ngOnDestroy() {
465
465
  this.routerEventsSubscription?.unsubscribe();
466
466
  }
467
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ReportViewerComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
468
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: ReportViewerComponent, isStandalone: true, selector: "wuic-report-viewer", viewQueries: [{ propertyName: "viewer", first: true, predicate: StimulsoftViewerComponent, descendants: true }], ngImport: i0, template: "@defer (on immediate) {\n @if (canRenderViewer) {\n <stimulsoft-viewer-angular [requestUrl]=\"requestUrl\" [action]=\"action\" [width]=\"'100%'\"\n [height]=\"'calc(100% - 10px)'\" [properties]=\"viewerProperties\" (loaded)=\"onViewerLoaded()\" (export)=\"onExportEvent($event)\"\n (print)=\"onPrintEvent($event)\" (error)=\"onViewerError($event)\"></stimulsoft-viewer-angular>\n } @else {\n <!-- Preflight in corso o fallito. Se fallito, la dialog localizzata e'\n gia' stata mostrata da WuicErrorInterceptor \u2192 GlobalHandler. -->\n <div class=\"stimulsoft-loading-placeholder\">\n <i class=\"pi pi-spin pi-spinner\"></i>\n <span>Verifica disponibilit\u00E0 report\u2026</span>\n </div>\n }\n} @placeholder {\n <div class=\"stimulsoft-loading-placeholder\">\n <i class=\"pi pi-spin pi-spinner\"></i>\n <span>Caricamento Report Viewer\u2026</span>\n <small>Il SDK Stimulsoft \u00E8 in download (~15 MB). Operazione una tantum.</small>\n </div>\n} @loading (minimum 300ms) {\n <div class=\"stimulsoft-loading-placeholder\">\n <i class=\"pi pi-spin pi-spinner\"></i>\n <span>Rendering report\u2026</span>\n </div>\n} @error {\n <div class=\"stimulsoft-error-placeholder\">\n <i class=\"pi pi-exclamation-triangle\"></i>\n <span>Errore nel caricamento del Report Viewer. Verifica connessione e ricarica la pagina.</span>\n </div>\n}\n", styles: [":host{display:block;width:100%;height:100%;flex:1 1 auto;min-height:0}:host ::ng-deep stimulsoft-viewer-angular{display:block;width:100%;height:100%}:host ::ng-deep .stiJsViewerForm,:host ::ng-deep .stiJsViewerDisabledPanel{display:none!important}.stimulsoft-loading-placeholder,.stimulsoft-error-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;min-height:400px;color:#64748b;font-size:1rem;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px}.stimulsoft-loading-placeholder .pi-spinner{font-size:2rem;color:#6366f1}.stimulsoft-loading-placeholder small{font-size:.8rem;color:#94a3b8;max-width:400px;text-align:center}.stimulsoft-error-placeholder{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.stimulsoft-error-placeholder .pi-exclamation-triangle{font-size:2rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: StimulsoftViewerModule }], deferBlockDependencies: [() => [i3.StimulsoftViewerComponent]] });
467
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ReportViewerComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
468
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ReportViewerComponent, isStandalone: true, selector: "wuic-report-viewer", viewQueries: [{ propertyName: "viewer", first: true, predicate: StimulsoftViewerComponent, descendants: true }], ngImport: i0, template: "@defer (on immediate) {\n @if (canRenderViewer) {\n <stimulsoft-viewer-angular [requestUrl]=\"requestUrl\" [action]=\"action\" [width]=\"'100%'\"\n [height]=\"'calc(100% - 10px)'\" [properties]=\"viewerProperties\" (loaded)=\"onViewerLoaded()\" (export)=\"onExportEvent($event)\"\n (print)=\"onPrintEvent($event)\" (error)=\"onViewerError($event)\"></stimulsoft-viewer-angular>\n } @else {\n <!-- Preflight in corso o fallito. Se fallito, la dialog localizzata e'\n gia' stata mostrata da WuicErrorInterceptor \u2192 GlobalHandler. -->\n <div class=\"stimulsoft-loading-placeholder\">\n <i class=\"pi pi-spin pi-spinner\"></i>\n <span>Verifica disponibilit\u00E0 report\u2026</span>\n </div>\n }\n} @placeholder {\n <div class=\"stimulsoft-loading-placeholder\">\n <i class=\"pi pi-spin pi-spinner\"></i>\n <span>Caricamento Report Viewer\u2026</span>\n <small>Il SDK Stimulsoft \u00E8 in download (~15 MB). Operazione una tantum.</small>\n </div>\n} @loading (minimum 300ms) {\n <div class=\"stimulsoft-loading-placeholder\">\n <i class=\"pi pi-spin pi-spinner\"></i>\n <span>Rendering report\u2026</span>\n </div>\n} @error {\n <div class=\"stimulsoft-error-placeholder\">\n <i class=\"pi pi-exclamation-triangle\"></i>\n <span>Errore nel caricamento del Report Viewer. Verifica connessione e ricarica la pagina.</span>\n </div>\n}\n", styles: [":host{display:block;width:100%;height:100%;flex:1 1 auto;min-height:0}:host ::ng-deep stimulsoft-viewer-angular{display:block;width:100%;height:100%}:host ::ng-deep .stiJsViewerForm,:host ::ng-deep .stiJsViewerDisabledPanel{display:none!important}.stimulsoft-loading-placeholder,.stimulsoft-error-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;min-height:400px;color:#64748b;font-size:1rem;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px}.stimulsoft-loading-placeholder .pi-spinner{font-size:2rem;color:#6366f1}.stimulsoft-loading-placeholder small{font-size:.8rem;color:#94a3b8;max-width:400px;text-align:center}.stimulsoft-error-placeholder{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.stimulsoft-error-placeholder .pi-exclamation-triangle{font-size:2rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: StimulsoftViewerModule }], deferBlockDependencies: [() => [i3.StimulsoftViewerComponent]] });
469
469
  }
470
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: ReportViewerComponent, decorators: [{
470
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ReportViewerComponent, decorators: [{
471
471
  type: Component,
472
472
  args: [{ selector: 'wuic-report-viewer', imports: [CommonModule, StimulsoftViewerModule], template: "@defer (on immediate) {\n @if (canRenderViewer) {\n <stimulsoft-viewer-angular [requestUrl]=\"requestUrl\" [action]=\"action\" [width]=\"'100%'\"\n [height]=\"'calc(100% - 10px)'\" [properties]=\"viewerProperties\" (loaded)=\"onViewerLoaded()\" (export)=\"onExportEvent($event)\"\n (print)=\"onPrintEvent($event)\" (error)=\"onViewerError($event)\"></stimulsoft-viewer-angular>\n } @else {\n <!-- Preflight in corso o fallito. Se fallito, la dialog localizzata e'\n gia' stata mostrata da WuicErrorInterceptor \u2192 GlobalHandler. -->\n <div class=\"stimulsoft-loading-placeholder\">\n <i class=\"pi pi-spin pi-spinner\"></i>\n <span>Verifica disponibilit\u00E0 report\u2026</span>\n </div>\n }\n} @placeholder {\n <div class=\"stimulsoft-loading-placeholder\">\n <i class=\"pi pi-spin pi-spinner\"></i>\n <span>Caricamento Report Viewer\u2026</span>\n <small>Il SDK Stimulsoft \u00E8 in download (~15 MB). Operazione una tantum.</small>\n </div>\n} @loading (minimum 300ms) {\n <div class=\"stimulsoft-loading-placeholder\">\n <i class=\"pi pi-spin pi-spinner\"></i>\n <span>Rendering report\u2026</span>\n </div>\n} @error {\n <div class=\"stimulsoft-error-placeholder\">\n <i class=\"pi pi-exclamation-triangle\"></i>\n <span>Errore nel caricamento del Report Viewer. Verifica connessione e ricarica la pagina.</span>\n </div>\n}\n", styles: [":host{display:block;width:100%;height:100%;flex:1 1 auto;min-height:0}:host ::ng-deep stimulsoft-viewer-angular{display:block;width:100%;height:100%}:host ::ng-deep .stiJsViewerForm,:host ::ng-deep .stiJsViewerDisabledPanel{display:none!important}.stimulsoft-loading-placeholder,.stimulsoft-error-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;min-height:400px;color:#64748b;font-size:1rem;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px}.stimulsoft-loading-placeholder .pi-spinner{font-size:2rem;color:#6366f1}.stimulsoft-loading-placeholder small{font-size:.8rem;color:#94a3b8;max-width:400px;text-align:center}.stimulsoft-error-placeholder{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.stimulsoft-error-placeholder .pi-exclamation-triangle{font-size:2rem}\n"] }]
473
473
  }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i1$1.HttpClient }], propDecorators: { viewer: [{
@@ -476,4 +476,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
476
476
  }] } });
477
477
 
478
478
  export { ReportViewerComponent };
479
- //# sourceMappingURL=wuic-framework-lib-report-viewer.component-El32zpzi.mjs.map
479
+ //# sourceMappingURL=wuic-framework-lib-report-viewer.component-LGNRIQh2.mjs.map
@@ -8,7 +8,7 @@ import interactionPlugin from '@fullcalendar/interaction';
8
8
  import timeGridPlugin from '@fullcalendar/timegrid';
9
9
  import * as i1 from '@angular/platform-browser';
10
10
  import { Title } from '@angular/platform-browser';
11
- import { o as FilterInfo, q as FilterItem, W as WtoolboxService, d as ParametricDialogComponent, M as MetadataProviderService, D as DynamicGenericTemplateComponent, T as TranslationManagerService } from './wuic-framework-lib-wuic-framework-lib-ABS_G7lO.mjs';
11
+ import { o as FilterInfo, q as FilterItem, W as WtoolboxService, d as ParametricDialogComponent, M as MetadataProviderService, D as DynamicGenericTemplateComponent, T as TranslationManagerService } from './wuic-framework-lib-wuic-framework-lib-CGCZvtKK.mjs';
12
12
  import { BehaviorSubject } from 'rxjs';
13
13
 
14
14
  // https://fullcalendar.io/docs/initialize-globals#premium-bundle -
@@ -506,6 +506,15 @@ class SchedulerListComponent {
506
506
  /**
507
507
  * Forza un re-render asincrono di FullCalendar dopo il refresh Angular,
508
508
  * utile quando il calendario viene inizializzato prima che il layout sia stabile.
509
+ *
510
+ * Verificato 2026-05-12: `[events]="data"` di FullCalendar Angular wrapper
511
+ * non sincronizza in modo affidabile eventi nuovi quando la prima
512
+ * inizializzazione avviene con `data=[]` (es. fetch asincrono che ritorna
513
+ * DOPO il primo mount). Sintomo: navigazione diretta a
514
+ * `#/<route>/scheduler` mostra calendario vuoto, refresh F5 lo popola
515
+ * perche' la sequenza fetch-then-mount funziona via cache di sessione.
516
+ * Fix: sincronizziamo gli eventi via API (removeAllEvents + addEvent)
517
+ * dopo che FullCalendar e' renderizzato — bypass dell'input binding.
509
518
  */
510
519
  refreshCalendarView() {
511
520
  // Some navigations initialize FullCalendar before layout settles; a queued
@@ -516,6 +525,20 @@ class SchedulerListComponent {
516
525
  const api = this.calendar?.getApi?.();
517
526
  if (api) {
518
527
  this.updateCalendarHeight();
528
+ // Force-sync events via API: rimuovi quelli vecchi + aggiungi i nuovi.
529
+ // Necessario perche' `[events]="data"` binding non e' affidabile per
530
+ // update post-mount (FullCalendar 6.x Angular wrapper).
531
+ try {
532
+ api.removeAllEvents();
533
+ const evts = Array.isArray(this.data) ? this.data : [];
534
+ for (const e of evts) {
535
+ api.addEvent(e);
536
+ }
537
+ }
538
+ catch (err) {
539
+ // best-effort: se la sync API fails, fallback al render normale
540
+ console.warn('[wuic-scheduler-list] event force-sync failed:', err);
541
+ }
519
542
  api.render();
520
543
  api.updateSize();
521
544
  }
@@ -547,10 +570,10 @@ class SchedulerListComponent {
547
570
  this.datasourceSub?.unsubscribe?.();
548
571
  this.datasourceSub = null;
549
572
  }
550
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SchedulerListComponent, deps: [{ token: i1.Title }, { token: i0.ChangeDetectorRef }, { token: TranslationManagerService }], target: i0.ɵɵFactoryTarget.Component });
551
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: SchedulerListComponent, isStandalone: true, selector: "wuic-scheduler-list", inputs: { hardcodedRoute: "hardcodedRoute", parentRecord: "parentRecord", parentMetaInfo: "parentMetaInfo", datasource: "datasource", hardcodedDatasource: "hardcodedDatasource", hideToolbar: "hideToolbar" }, outputs: { onSchedulerDateClick: "onSchedulerDateClick", onSchedulerEventClick: "onSchedulerEventClick", onSchedulerEventDrop: "onSchedulerEventDrop", onSchedulerEventResize: "onSchedulerEventResize", onSchedulerDatesSet: "onSchedulerDatesSet", onSchedulerDataBound: "onSchedulerDataBound", onSchedulerEventSync: "onSchedulerEventSync" }, host: { listeners: { "window:resize": "onWindowResize()" } }, providers: [Title], viewQueries: [{ propertyName: "eventContent", first: true, predicate: ["fcEventContent"], descendants: true }, { propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: "@if (calendarOptions) {\n<full-calendar #calendar [options]=\"calendarOptions\" [events]=\"data\">\n <ng-template #eventContent let-arg>\n <ng-container\n *ngComponentOutlet=\"itemTemplate; inputs: { record: arg.event, rowData: arg.event, metaInfo: metaInfo, datasource: datasource }\"></ng-container>\n </ng-template>\n</full-calendar>\n}", styles: [":host ::ng-deep .fc{--fc-event-bg-color: var(--primary-color, var(--p-primary-color, #3b82f6));--fc-event-border-color: var(--primary-color, var(--p-primary-color, #3b82f6));--fc-event-text-color: var(--primary-color-text, var(--p-primary-contrast-color, #ffffff))}:host ::ng-deep .fc .fc-h-event,:host ::ng-deep .fc .fc-v-event,:host ::ng-deep .fc .fc-daygrid-event,:host ::ng-deep .fc .fc-timegrid-event{border-color:var(--fc-event-border-color)!important;background-color:var(--fc-event-bg-color)!important;color:var(--fc-event-text-color)!important}\n"], dependencies: [{ kind: "ngmodule", type: FullCalendarModule }, { kind: "component", type: i3.FullCalendarComponent, selector: "full-calendar", inputs: ["options", "deepChangeDetection", "events", "eventSources", "resources"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }] });
573
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SchedulerListComponent, deps: [{ token: i1.Title }, { token: i0.ChangeDetectorRef }, { token: TranslationManagerService }], target: i0.ɵɵFactoryTarget.Component });
574
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SchedulerListComponent, isStandalone: true, selector: "wuic-scheduler-list", inputs: { hardcodedRoute: "hardcodedRoute", parentRecord: "parentRecord", parentMetaInfo: "parentMetaInfo", datasource: "datasource", hardcodedDatasource: "hardcodedDatasource", hideToolbar: "hideToolbar" }, outputs: { onSchedulerDateClick: "onSchedulerDateClick", onSchedulerEventClick: "onSchedulerEventClick", onSchedulerEventDrop: "onSchedulerEventDrop", onSchedulerEventResize: "onSchedulerEventResize", onSchedulerDatesSet: "onSchedulerDatesSet", onSchedulerDataBound: "onSchedulerDataBound", onSchedulerEventSync: "onSchedulerEventSync" }, host: { listeners: { "window:resize": "onWindowResize()" } }, providers: [Title], viewQueries: [{ propertyName: "eventContent", first: true, predicate: ["fcEventContent"], descendants: true }, { propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true }], ngImport: i0, template: "@if (calendarOptions) {\n<full-calendar #calendar [options]=\"calendarOptions\" [events]=\"data\">\n <ng-template #eventContent let-arg>\n <ng-container\n *ngComponentOutlet=\"itemTemplate; inputs: { record: arg.event, rowData: arg.event, metaInfo: metaInfo, datasource: datasource }\"></ng-container>\n </ng-template>\n</full-calendar>\n}", styles: [":host ::ng-deep .fc{--fc-event-bg-color: var(--primary-color, var(--p-primary-color, #3b82f6));--fc-event-border-color: var(--primary-color, var(--p-primary-color, #3b82f6));--fc-event-text-color: var(--primary-color-text, var(--p-primary-contrast-color, #ffffff))}:host ::ng-deep .fc .fc-h-event,:host ::ng-deep .fc .fc-v-event,:host ::ng-deep .fc .fc-daygrid-event,:host ::ng-deep .fc .fc-timegrid-event{border-color:var(--fc-event-border-color)!important;background-color:var(--fc-event-bg-color)!important;color:var(--fc-event-text-color)!important}\n"], dependencies: [{ kind: "ngmodule", type: FullCalendarModule }, { kind: "component", type: i3.FullCalendarComponent, selector: "full-calendar", inputs: ["options", "deepChangeDetection", "events", "eventSources", "resources"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }] });
552
575
  }
553
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: SchedulerListComponent, decorators: [{
576
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SchedulerListComponent, decorators: [{
554
577
  type: Component,
555
578
  args: [{ selector: 'wuic-scheduler-list', imports: [FullCalendarModule, NgComponentOutlet], providers: [Title], template: "@if (calendarOptions) {\n<full-calendar #calendar [options]=\"calendarOptions\" [events]=\"data\">\n <ng-template #eventContent let-arg>\n <ng-container\n *ngComponentOutlet=\"itemTemplate; inputs: { record: arg.event, rowData: arg.event, metaInfo: metaInfo, datasource: datasource }\"></ng-container>\n </ng-template>\n</full-calendar>\n}", styles: [":host ::ng-deep .fc{--fc-event-bg-color: var(--primary-color, var(--p-primary-color, #3b82f6));--fc-event-border-color: var(--primary-color, var(--p-primary-color, #3b82f6));--fc-event-text-color: var(--primary-color-text, var(--p-primary-contrast-color, #ffffff))}:host ::ng-deep .fc .fc-h-event,:host ::ng-deep .fc .fc-v-event,:host ::ng-deep .fc .fc-daygrid-event,:host ::ng-deep .fc .fc-timegrid-event{border-color:var(--fc-event-border-color)!important;background-color:var(--fc-event-bg-color)!important;color:var(--fc-event-text-color)!important}\n"] }]
556
579
  }], ctorParameters: () => [{ type: i1.Title }, { type: i0.ChangeDetectorRef }, { type: TranslationManagerService }], propDecorators: { eventContent: [{
@@ -591,4 +614,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImpor
591
614
  }] } });
592
615
 
593
616
  export { SchedulerListComponent };
594
- //# sourceMappingURL=wuic-framework-lib-scheduler-list.component-E8s_e533.mjs.map
617
+ //# sourceMappingURL=wuic-framework-lib-scheduler-list.component-DbcFMwx5.mjs.map