wuic-framework-lib 1.7.10 → 1.7.12

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 (21) hide show
  1. package/fesm2022/{wuic-framework-lib-chart-list.component-BM4iMVEF.mjs → wuic-framework-lib-chart-list.component-C9rj-6-8.mjs} +2 -2
  2. package/fesm2022/{wuic-framework-lib-code-editor.component-BhLnfWq3.mjs → wuic-framework-lib-code-editor.component-CTI_gqvB.mjs} +2 -2
  3. package/fesm2022/{wuic-framework-lib-designer.component-yPNbRYOE.mjs → wuic-framework-lib-designer.component-67PCnDYC.mjs} +2 -2
  4. package/fesm2022/{wuic-framework-lib-first-run-wizard.component-Cf1BHCvJ.mjs → wuic-framework-lib-first-run-wizard.component-Bg41Xfht.mjs} +12 -2
  5. package/fesm2022/{wuic-framework-lib-framework-docs.component-DQEh15Vz.mjs → wuic-framework-lib-framework-docs.component-BLxQmoDZ.mjs} +2 -2
  6. package/fesm2022/{wuic-framework-lib-pivot-builder.component-Df00Yaxo.mjs → wuic-framework-lib-pivot-builder.component-Dg-xWzxO.mjs} +2 -2
  7. package/fesm2022/{wuic-framework-lib-prompt-dialog-fallback-host.component-DExcTKa6.mjs → wuic-framework-lib-prompt-dialog-fallback-host.component-BB0AhnsE.mjs} +2 -2
  8. package/fesm2022/{wuic-framework-lib-report-designer.component-DTFAvjaD.mjs → wuic-framework-lib-report-designer.component-9_M4MA2p.mjs} +2 -2
  9. package/fesm2022/{wuic-framework-lib-report-scaffold-dialog.component-CigGqFfV.mjs → wuic-framework-lib-report-scaffold-dialog.component-BsKSP1Dk.mjs} +2 -2
  10. package/fesm2022/{wuic-framework-lib-report-viewer.component-DKgW13uF.mjs → wuic-framework-lib-report-viewer.component-C5EAoGOx.mjs} +2 -2
  11. package/fesm2022/{wuic-framework-lib-scene3d-designer.component-Bcih9wqu.mjs → wuic-framework-lib-scene3d-designer.component-CkoU_J5j.mjs} +3 -3
  12. package/fesm2022/{wuic-framework-lib-scene3d-light-baker-gpu-VH-R0E-j.mjs → wuic-framework-lib-scene3d-light-baker-gpu-CjTKHG3s.mjs} +2 -2
  13. package/fesm2022/{wuic-framework-lib-scene3d-viewer.component-CqitWdf-.mjs → wuic-framework-lib-scene3d-viewer.component-Dt0fvwFX.mjs} +2 -2
  14. package/fesm2022/{wuic-framework-lib-scheduler-list.component-Bhyln-cQ.mjs → wuic-framework-lib-scheduler-list.component-CEMQJrsN.mjs} +2 -2
  15. package/fesm2022/{wuic-framework-lib-spreadsheet-list-sf.component-BirgUqOO.mjs → wuic-framework-lib-spreadsheet-list-sf.component-Cgmf9tb1.mjs} +2 -2
  16. package/fesm2022/{wuic-framework-lib-timeline-list.component-x3HAhB4G.mjs → wuic-framework-lib-timeline-list.component-B_bRKY_H.mjs} +4 -4
  17. package/fesm2022/{wuic-framework-lib-workflow-designer.component-DLBbgX0s.mjs → wuic-framework-lib-workflow-designer.component-DVEL_aHg.mjs} +8 -8
  18. package/fesm2022/{wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs → wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs} +113 -113
  19. package/fesm2022/wuic-framework-lib.mjs +1 -1
  20. package/package.json +1 -1
  21. package/types/wuic-framework-lib.d.ts +1 -1
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, ViewChild, Output, Input, Component } from '@angular/core';
3
3
  import { BehaviorSubject } from 'rxjs';
4
- import { W as WtoolboxService, m as WuicClientException, n as WuicErrorCodes, G as GlobalHandler, M as MetadataProviderService, T as TranslationManagerService, U as UserInfoService, A as ArchetypeConfiguratorComponent } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
4
+ import { W as WtoolboxService, m as WuicClientException, n as WuicErrorCodes, G as GlobalHandler, M as MetadataProviderService, T as TranslationManagerService, U as UserInfoService, A as ArchetypeConfiguratorComponent } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
5
5
  import * as i4 from 'primeng/chart';
6
6
  import { ChartModule } from 'primeng/chart';
7
7
  import * as i8 from '@ngx-translate/core';
@@ -1389,4 +1389,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
1389
1389
  }] } });
1390
1390
 
1391
1391
  export { ChartListComponent };
1392
- //# sourceMappingURL=wuic-framework-lib-chart-list.component-BM4iMVEF.mjs.map
1392
+ //# sourceMappingURL=wuic-framework-lib-chart-list.component-C9rj-6-8.mjs.map
@@ -6,7 +6,7 @@ import * as i1$1 from '@materia-ui/ngx-monaco-editor';
6
6
  import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor';
7
7
  import { filter, take } from 'rxjs/operators';
8
8
  import { Emitter } from 'monaco-editor/esm/vs/base/common/event';
9
- import { W as WtoolboxService, M as MetadataProviderService, g as MetadatiColonna, o as MetaInfo, U as UserInfoService, h as DataProviderService } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
9
+ import { W as WtoolboxService, M as MetadataProviderService, g as MetadatiColonna, o as MetaInfo, U as UserInfoService, h as DataProviderService } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
10
10
  import { NgTemplateOutlet, NgClass, NgStyle } from '@angular/common';
11
11
  import * as i14 from 'primeng/contextmenu';
12
12
  import { ContextMenuModule } from 'primeng/contextmenu';
@@ -4160,4 +4160,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
4160
4160
  }] } });
4161
4161
 
4162
4162
  export { CodeEditorComponent };
4163
- //# sourceMappingURL=wuic-framework-lib-code-editor.component-BhLnfWq3.mjs.map
4163
+ //# sourceMappingURL=wuic-framework-lib-code-editor.component-CTI_gqvB.mjs.map
@@ -5,7 +5,7 @@ import { SplitterModule } from 'primeng/splitter';
5
5
  import * as i12 from 'primeng/dragdrop';
6
6
  import { DragDropModule } from 'primeng/dragdrop';
7
7
  import { NgClass, NgStyle, NgTemplateOutlet, AsyncPipe, JsonPipe, NgFor, NgIf, NgComponentOutlet } from '@angular/common';
8
- import { W as WtoolboxService, D as DynamicGenericTemplateComponent, a as DynamicCompilerService, b as DataSourceComponent, c as DataRepeaterComponent, F as FilterBarComponent, L as LazyParametricDialogComponent, P as PagerComponent, M as MetadataProviderService, t as toHsbaModel, d as clampAlpha, e as toPersistedColor, f as ParametricDialogComponent, g as MetadatiColonna, h as DataProviderService, U as UserInfoService, T as TranslationManagerService, i as MetadataEditorService, C as ChatbotHostRegistryService, j as WorkflowRuntimeMetadataService, k as FieldEditorComponent, l as MetadataEditorComponent, A as ArchetypeConfiguratorComponent } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
8
+ import { W as WtoolboxService, D as DynamicGenericTemplateComponent, a as DynamicCompilerService, b as DataSourceComponent, c as DataRepeaterComponent, F as FilterBarComponent, L as LazyParametricDialogComponent, P as PagerComponent, M as MetadataProviderService, t as toHsbaModel, d as clampAlpha, e as toPersistedColor, f as ParametricDialogComponent, g as MetadatiColonna, h as DataProviderService, U as UserInfoService, T as TranslationManagerService, i as MetadataEditorService, C as ChatbotHostRegistryService, j as WorkflowRuntimeMetadataService, k as FieldEditorComponent, l as MetadataEditorComponent, A as ArchetypeConfiguratorComponent } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
9
9
  import { fromEvent, BehaviorSubject, merge, filter, Observable, switchMap, take, map, takeUntil, tap, timeInterval, scan, mergeMap, of, delay, repeat, Subject, startWith, pairwise, skipWhile, combineLatest } from 'rxjs';
10
10
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
11
11
  import { CdkAccordionModule, CdkAccordion, CdkAccordionItem } from '@angular/cdk/accordion';
@@ -13240,4 +13240,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
13240
13240
  }] } });
13241
13241
 
13242
13242
  export { DesignerComponent };
13243
- //# sourceMappingURL=wuic-framework-lib-designer.component-yPNbRYOE.mjs.map
13243
+ //# sourceMappingURL=wuic-framework-lib-designer.component-67PCnDYC.mjs.map
@@ -6,7 +6,7 @@ import * as i1$1 from '@angular/forms';
6
6
  import { FormsModule } from '@angular/forms';
7
7
  import * as i1 from '@angular/common/http';
8
8
  import { HttpContext } from '@angular/common/http';
9
- import { G as GlobalHandler, W as WtoolboxService, p as WUIC_SUPPRESS_GLOBAL_ERROR } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
9
+ import { G as GlobalHandler, W as WtoolboxService, p as WUIC_SUPPRESS_GLOBAL_ERROR } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
10
10
  import { firstValueFrom } from 'rxjs';
11
11
  import * as i8 from '@ngx-translate/core';
12
12
  import { TranslateModule } from '@ngx-translate/core';
@@ -1291,6 +1291,16 @@ class WuicFirstRunWizardComponent {
1291
1291
  parts.push(`database=${databaseName}`);
1292
1292
  if (port)
1293
1293
  parts.push(`Port=${port}`);
1294
+ // MySQL soltanto: senza `Allow User Variables` il driver legge `@nome` come un
1295
+ // PARAMETRO invece che come variabile utente del server, e ogni script che ne usa
1296
+ // muore con "Fatal error encountered during command execution". Le migration dello
1297
+ // schema dei metadati sono scritte cosi' (`SET @needs := ...; PREPARE stmt FROM @sql`),
1298
+ // quindi su un'installazione creata da questo wizard gli indici degli hot-path non
1299
+ // nascevano: misurato il 20/09/2026 su una VM pulita, dove la stessa migration su
1300
+ // PostgreSQL passava. Su Npgsql la chiave non esiste e farebbe fallire la connessione,
1301
+ // quindi resta dentro il ramo mysql.
1302
+ if (dbms === 'mysql')
1303
+ parts.push('Allow User Variables=True');
1294
1304
  return parts.join(';');
1295
1305
  }
1296
1306
  if (dbms === 'oracle') {
@@ -1653,4 +1663,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
1653
1663
  }] } });
1654
1664
 
1655
1665
  export { WuicFirstRunWizardComponent };
1656
- //# sourceMappingURL=wuic-framework-lib-first-run-wizard.component-Cf1BHCvJ.mjs.map
1666
+ //# sourceMappingURL=wuic-framework-lib-first-run-wizard.component-Bg41Xfht.mjs.map
@@ -16,7 +16,7 @@ import * as i1$3 from 'primeng/image';
16
16
  import { ImageModule } from 'primeng/image';
17
17
  import * as i8$1 from '@ngx-translate/core';
18
18
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
19
- import { v as getThemeOptions, T as TranslationManagerService, U as UserInfoService } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
19
+ import { v as getThemeOptions, T as TranslationManagerService, U as UserInfoService } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
20
20
  import * as i1 from '@angular/router';
21
21
 
22
22
  const frameworkDocsContent = {
@@ -35288,4 +35288,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
35288
35288
  }] } });
35289
35289
 
35290
35290
  export { FrameworkDocsComponent };
35291
- //# sourceMappingURL=wuic-framework-lib-framework-docs.component-DQEh15Vz.mjs.map
35291
+ //# sourceMappingURL=wuic-framework-lib-framework-docs.component-BLxQmoDZ.mjs.map
@@ -25,7 +25,7 @@ import { TableModule } from 'primeng/table';
25
25
  import { Tabs, TabList, Tab, TabPanels, TabPanel } from 'primeng/tabs';
26
26
  import * as i1$3 from '@materia-ui/ngx-monaco-editor';
27
27
  import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor';
28
- import { W as WtoolboxService, U as UserInfoService, T as TranslationManagerService, M as MetadataProviderService, h as DataProviderService, o as MetaInfo, g as MetadatiColonna, q as FilterInfo, G as GlobalHandler, m as WuicClientException, n as WuicErrorCodes, r as LicenseFeatureService, C as ChatbotHostRegistryService, b as DataSourceComponent, F as FilterBarComponent } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
28
+ import { W as WtoolboxService, U as UserInfoService, T as TranslationManagerService, M as MetadataProviderService, h as DataProviderService, o as MetaInfo, g as MetadatiColonna, q as FilterInfo, G as GlobalHandler, m as WuicClientException, n as WuicErrorCodes, r as LicenseFeatureService, C as ChatbotHostRegistryService, b as DataSourceComponent, F as FilterBarComponent } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
29
29
  import * as i7 from 'primeng/tooltip';
30
30
  import { TooltipModule } from 'primeng/tooltip';
31
31
  import { ClassicPreset, NodeEditor } from 'rete';
@@ -4950,4 +4950,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
4950
4950
  }] } });
4951
4951
 
4952
4952
  export { PivotBuilderComponent };
4953
- //# sourceMappingURL=wuic-framework-lib-pivot-builder.component-Df00Yaxo.mjs.map
4953
+ //# sourceMappingURL=wuic-framework-lib-pivot-builder.component-Dg-xWzxO.mjs.map
@@ -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 { f as ParametricDialogComponent } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
5
+ import { f as ParametricDialogComponent } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
6
6
 
7
7
  class PromptDialogFallbackHostComponent {
8
8
  datasource;
@@ -96,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
96
96
  }] } });
97
97
 
98
98
  export { PromptDialogFallbackHostComponent };
99
- //# sourceMappingURL=wuic-framework-lib-prompt-dialog-fallback-host.component-DExcTKa6.mjs.map
99
+ //# sourceMappingURL=wuic-framework-lib-prompt-dialog-fallback-host.component-BB0AhnsE.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, C as ChatbotHostRegistryService } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
3
+ import { W as WtoolboxService, M as MetadataProviderService, C as ChatbotHostRegistryService } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
4
4
  import * as i4 from 'stimulsoft-designer-angular';
5
5
  import { StimulsoftDesignerModule, StimulsoftDesignerComponent } from 'stimulsoft-designer-angular';
6
6
  import * as i1 from '@angular/router';
@@ -377,4 +377,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
377
377
  }] } });
378
378
 
379
379
  export { ReportDesignerComponent };
380
- //# sourceMappingURL=wuic-framework-lib-report-designer.component-DTFAvjaD.mjs.map
380
+ //# sourceMappingURL=wuic-framework-lib-report-designer.component-9_M4MA2p.mjs.map
@@ -13,7 +13,7 @@ import * as i6 from 'primeng/radiobutton';
13
13
  import { RadioButtonModule } from 'primeng/radiobutton';
14
14
  import * as i5$1 from 'primeng/select';
15
15
  import { SelectModule } from 'primeng/select';
16
- import { W as WtoolboxService } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
16
+ import { W as WtoolboxService } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
17
17
  import * as i1 from 'primeng/dynamicdialog';
18
18
  import * as i1$1 from '@angular/common/http';
19
19
 
@@ -428,4 +428,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
428
428
  }], ctorParameters: () => [{ type: i1.DynamicDialogRef }, { type: i1.DynamicDialogConfig }, { type: i1$1.HttpClient }] });
429
429
 
430
430
  export { ReportScaffoldDialogComponent };
431
- //# sourceMappingURL=wuic-framework-lib-report-scaffold-dialog.component-CigGqFfV.mjs.map
431
+ //# sourceMappingURL=wuic-framework-lib-report-scaffold-dialog.component-BsKSP1Dk.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-HGQNVwv6.mjs';
8
+ import { W as WtoolboxService } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
9
9
  import { e as ensureWuicStimulsoftLicenseRegistered } from './wuic-framework-lib-stimulsoft-license.service-CsNNSFYs.mjs';
10
10
  import { firstValueFrom } from 'rxjs';
11
11
  import * as i1$1 from '@angular/common/http';
@@ -471,4 +471,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
471
471
  }] } });
472
472
 
473
473
  export { ReportViewerComponent };
474
- //# sourceMappingURL=wuic-framework-lib-report-viewer.component-DKgW13uF.mjs.map
474
+ //# sourceMappingURL=wuic-framework-lib-report-viewer.component-C5EAoGOx.mjs.map
@@ -18,7 +18,7 @@ import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
18
18
  import { OBJLoader } from 'three/examples/jsm/loaders/OBJLoader.js';
19
19
  import { STLLoader } from 'three/examples/jsm/loaders/STLLoader.js';
20
20
  import { i as isWebGpuSupported, d as defaultMeshRepeaterConfig, a as defaultRepeaterAxisDir, b as defaultCarouselConfig, c as defaultChartConfig, e as defaultSurfaceConfig, f as defaultGaugeConfig, g as defaultGraphConfig, h as defaultMapConfig, j as defaultWarehouseConfig, k as defaultKanbanConfig, l as defaultCalendarConfig, m as defaultStackedConfig, W as WUIC_TRANSIENT_FLAG, n as createScene3dRenderer, o as WUIC_SHADER_EFFECT_KEY, p as makeTextSpriteMesh, q as WUIC_MESH_REPEATER_KEY, r as addRepeaterPlaceholder, s as resolveAssetFormat, t as parseShaderEffect, S as SCENE3D_SHADER_EFFECT_DEFAULT, u as SCENE3D_SHADER_EFFECT_SCHEMA, v as buildEffectNodeMaterial, w as buildEffectShaderMaterial, x as getMeshRepeaterConfig, y as WUIC_REPEATER_CHILD, C as CarouselController, z as normalizeAssetToUnit, A as buildUploadTextureResolver, B as applyRepeaterTextureTo, D as defaultRepeaterTextureApply, E as regenerateRepeater, F as getPhysicsDef, G as createPhysicsWorld, H as WUIC_PHYSICS_KEY, I as WUIC_OBJECT_TYPE_KEY, J as carouselArrowDir, K as WUIC_REPEATER_RECORD, L as runRepeaterCallback, M as closeItemPopup, N as showItemPopup, O as WUIC_BINDING_KEY, P as swapNodeEffectMaterialsForSerialization, Q as serializeScene, R as deserializeScene } from './wuic-framework-lib-scene3d-shader-effect-gBEFKNvi.mjs';
21
- import { W as WtoolboxService, h as DataProviderService, M as MetadataProviderService, C as ChatbotHostRegistryService } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
21
+ import { W as WtoolboxService, h as DataProviderService, M as MetadataProviderService, C as ChatbotHostRegistryService } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
22
22
  import * as i1 from '@angular/router';
23
23
  import * as i3 from 'primeng/api';
24
24
 
@@ -2323,7 +2323,7 @@ class Scene3dDesignerComponent {
2323
2323
  // triangle soup): ordini di grandezza piu' veloce del raycaster CPU
2324
2324
  // sulle scene dense. Fallback CPU trasparente su qualsiasi errore.
2325
2325
  try {
2326
- const { bakeVertexLightingGpu } = await import('./wuic-framework-lib-scene3d-light-baker-gpu-VH-R0E-j.mjs');
2326
+ const { bakeVertexLightingGpu } = await import('./wuic-framework-lib-scene3d-light-baker-gpu-CjTKHG3s.mjs');
2327
2327
  result = await bakeVertexLightingGpu(this.renderer, this.contentGroup, lights, bakeOptions);
2328
2328
  engine = 'gpu';
2329
2329
  }
@@ -4810,4 +4810,4 @@ var scene3dDesigner_component = /*#__PURE__*/Object.freeze({
4810
4810
  });
4811
4811
 
4812
4812
  export { WUIC_BAKED_FLAG as W, isBakeableMesh as i, scene3dDesigner_component as s };
4813
- //# sourceMappingURL=wuic-framework-lib-scene3d-designer.component-Bcih9wqu.mjs.map
4813
+ //# sourceMappingURL=wuic-framework-lib-scene3d-designer.component-CkoU_J5j.mjs.map
@@ -1,5 +1,5 @@
1
1
  import * as THREE from 'three';
2
- import { i as isBakeableMesh, W as WUIC_BAKED_FLAG } from './wuic-framework-lib-scene3d-designer.component-Bcih9wqu.mjs';
2
+ import { i as isBakeableMesh, W as WUIC_BAKED_FLAG } from './wuic-framework-lib-scene3d-designer.component-CkoU_J5j.mjs';
3
3
 
4
4
  /**
5
5
  * Lightmap baking su COMPUTE SHADER (WebGPU) — stessa semantica del baker CPU
@@ -300,4 +300,4 @@ function applyBakeResults(ranges, packedColors) {
300
300
  }
301
301
 
302
302
  export { bakeVertexLightingGpu };
303
- //# sourceMappingURL=wuic-framework-lib-scene3d-light-baker-gpu-VH-R0E-j.mjs.map
303
+ //# sourceMappingURL=wuic-framework-lib-scene3d-light-baker-gpu-CjTKHG3s.mjs.map
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { Input, ViewChild, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import * as THREE from 'three';
4
4
  import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
5
- import { W as WtoolboxService, h as DataProviderService, M as MetadataProviderService } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
5
+ import { W as WtoolboxService, h as DataProviderService, M as MetadataProviderService } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
6
6
  import { R as deserializeScene, i as isWebGpuSupported, n as createScene3dRenderer, o as WUIC_SHADER_EFFECT_KEY, t as parseShaderEffect, v as buildEffectNodeMaterial, w as buildEffectShaderMaterial, x as getMeshRepeaterConfig, E as regenerateRepeater, y as WUIC_REPEATER_CHILD, C as CarouselController, b as defaultCarouselConfig, A as buildUploadTextureResolver, p as makeTextSpriteMesh, s as resolveAssetFormat, z as normalizeAssetToUnit, B as applyRepeaterTextureTo, G as createPhysicsWorld, F as getPhysicsDef, O as WUIC_BINDING_KEY, J as carouselArrowDir, K as WUIC_REPEATER_RECORD, M as closeItemPopup, N as showItemPopup, L as runRepeaterCallback } from './wuic-framework-lib-scene3d-shader-effect-gBEFKNvi.mjs';
7
7
  import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
8
8
  import { OBJLoader } from 'three/examples/jsm/loaders/OBJLoader.js';
@@ -1127,4 +1127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
1127
1127
  }] } });
1128
1128
 
1129
1129
  export { Scene3dViewerComponent };
1130
- //# sourceMappingURL=wuic-framework-lib-scene3d-viewer.component-CqitWdf-.mjs.map
1130
+ //# sourceMappingURL=wuic-framework-lib-scene3d-viewer.component-Dt0fvwFX.mjs.map
@@ -12,7 +12,7 @@ import interactionPlugin from '@fullcalendar/interaction';
12
12
  import timeGridPlugin from '@fullcalendar/timegrid';
13
13
  import * as i1 from '@angular/platform-browser';
14
14
  import { Title } from '@angular/platform-browser';
15
- import { W as WtoolboxService, f as ParametricDialogComponent, q as FilterInfo, s as FilterItem, M as MetadataProviderService, D as DynamicGenericTemplateComponent, T as TranslationManagerService } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
15
+ import { W as WtoolboxService, f as ParametricDialogComponent, q as FilterInfo, s as FilterItem, M as MetadataProviderService, D as DynamicGenericTemplateComponent, T as TranslationManagerService } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
16
16
  import { BehaviorSubject } from 'rxjs';
17
17
 
18
18
  // https://fullcalendar.io/docs/initialize-globals#premium-bundle -
@@ -756,4 +756,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
756
756
  }] } });
757
757
 
758
758
  export { SchedulerListComponent };
759
- //# sourceMappingURL=wuic-framework-lib-scheduler-list.component-Bhyln-cQ.mjs.map
759
+ //# sourceMappingURL=wuic-framework-lib-scheduler-list.component-CEMQJrsN.mjs.map
@@ -7,7 +7,7 @@ import * as i8 from '@ngx-translate/core';
7
7
  import { TranslateModule } from '@ngx-translate/core';
8
8
  import * as i7 from '@syncfusion/ej2-angular-spreadsheet';
9
9
  import { SpreadsheetModule } from '@syncfusion/ej2-angular-spreadsheet';
10
- import { W as WtoolboxService, M as MetadataProviderService, U as UserInfoService, b as DataSourceComponent, I as ImportExportButtonComponent } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
10
+ import { W as WtoolboxService, M as MetadataProviderService, U as UserInfoService, b as DataSourceComponent, I as ImportExportButtonComponent } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
11
11
  import { registerLicense } from '@syncfusion/ej2-base';
12
12
  import * as i1 from '@angular/platform-browser';
13
13
  import * as i1$1 from '@angular/router';
@@ -4394,4 +4394,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
4394
4394
  }] } });
4395
4395
 
4396
4396
  export { SpreadsheetListSfComponent };
4397
- //# sourceMappingURL=wuic-framework-lib-spreadsheet-list-sf.component-BirgUqOO.mjs.map
4397
+ //# sourceMappingURL=wuic-framework-lib-spreadsheet-list-sf.component-Cgmf9tb1.mjs.map
@@ -6,7 +6,7 @@ import { ButtonModule } from 'primeng/button';
6
6
  import * as i8 from '@ngx-translate/core';
7
7
  import { TranslateModule } from '@ngx-translate/core';
8
8
  import Gantt from 'frappe-gantt';
9
- import { u as TimelineOptions, g as MetadatiColonna, W as WtoolboxService, T as TranslationManagerService } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
9
+ import { u as TimelineOptions, g as MetadatiColonna, W as WtoolboxService, T as TranslationManagerService } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
10
10
  import * as i1 from '@angular/router';
11
11
 
12
12
  /**
@@ -424,7 +424,7 @@ class TimelineListComponent {
424
424
  }
425
425
  try {
426
426
  ds.setCurrent(task.record);
427
- const { ParametricDialogComponent } = await import('./wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs').then(function (n) { return n.c9; });
427
+ const { ParametricDialogComponent } = await import('./wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs').then(function (n) { return n.c9; });
428
428
  const header = `${this.t('timeline.popup.edit', 'Modifica')} ${this.metaInfo?.tableMetadata?.md_display_string || ''}`.trim();
429
429
  const ref = WtoolboxService.dialogService.open(ParametricDialogComponent, {
430
430
  data: {
@@ -477,7 +477,7 @@ class TimelineListComponent {
477
477
  // getModelFromObservable→setCurrent→getObservable e il valore torna null
478
478
  // al salvataggio (il chip resta visibile, ma il payload parte vuoto).
479
479
  const record = ds.addNewRecord(this.buildPredecessorPreset(task));
480
- const { ParametricDialogComponent } = await import('./wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs').then(function (n) { return n.c9; });
480
+ const { ParametricDialogComponent } = await import('./wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs').then(function (n) { return n.c9; });
481
481
  const header = `${this.t('timeline.popup.add', 'Nuovo')} ${this.metaInfo?.tableMetadata?.md_display_string || ''}`.trim();
482
482
  const ref = WtoolboxService.dialogService.open(ParametricDialogComponent, {
483
483
  data: {
@@ -802,4 +802,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
802
802
  }] } });
803
803
 
804
804
  export { TimelineListComponent };
805
- //# sourceMappingURL=wuic-framework-lib-timeline-list.component-x3HAhB4G.mjs.map
805
+ //# sourceMappingURL=wuic-framework-lib-timeline-list.component-B_bRKY_H.mjs.map
@@ -23,7 +23,7 @@ import { TooltipModule } from 'primeng/tooltip';
23
23
  import * as i8 from '@ngx-translate/core';
24
24
  import { TranslateModule } from '@ngx-translate/core';
25
25
  import { BehaviorSubject } from 'rxjs';
26
- import { W as WtoolboxService, M as MetadataProviderService, f as ParametricDialogComponent, m as WuicClientException, n as WuicErrorCodes, G as GlobalHandler, h as DataProviderService, C as ChatbotHostRegistryService, b as DataSourceComponent, l as MetadataEditorComponent } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
26
+ import { W as WtoolboxService, M as MetadataProviderService, f as ParametricDialogComponent, m as WuicClientException, n as WuicErrorCodes, G as GlobalHandler, h as DataProviderService, C as ChatbotHostRegistryService, b as DataSourceComponent, l as MetadataEditorComponent } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
27
27
 
28
28
  class WorkflowDesignerLayoutHelper {
29
29
  /**
@@ -4484,12 +4484,12 @@ class WorkflowDesignerComponent {
4484
4484
  }
4485
4485
  const style = document.createElement('style');
4486
4486
  style.id = 'wf-node-tooltip-style';
4487
- style.textContent = `
4488
- .p-tooltip.wf-node-tooltip { max-width: none; }
4489
- .p-tooltip.wf-node-tooltip .p-tooltip-text {
4490
- max-width: 460px; width: max-content; white-space: normal;
4491
- padding: 8px 10px; line-height: 1.35;
4492
- }
4487
+ style.textContent = `
4488
+ .p-tooltip.wf-node-tooltip { max-width: none; }
4489
+ .p-tooltip.wf-node-tooltip .p-tooltip-text {
4490
+ max-width: 460px; width: max-content; white-space: normal;
4491
+ padding: 8px 10px; line-height: 1.35;
4492
+ }
4493
4493
  `;
4494
4494
  document.head.appendChild(style);
4495
4495
  }
@@ -9501,4 +9501,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
9501
9501
  }] } });
9502
9502
 
9503
9503
  export { WorkflowDesignerComponent };
9504
- //# sourceMappingURL=wuic-framework-lib-workflow-designer.component-DLBbgX0s.mjs.map
9504
+ //# sourceMappingURL=wuic-framework-lib-workflow-designer.component-DVEL_aHg.mjs.map
@@ -3418,7 +3418,7 @@ class WtoolboxService {
3418
3418
  const appRef = resolvedInjector.get(ApplicationRef);
3419
3419
  const environmentInjector = resolvedInjector.get(EnvironmentInjector);
3420
3420
  const close$ = new Subject();
3421
- const { PromptDialogFallbackHostComponent } = await import('./wuic-framework-lib-prompt-dialog-fallback-host.component-DExcTKa6.mjs');
3421
+ const { PromptDialogFallbackHostComponent } = await import('./wuic-framework-lib-prompt-dialog-fallback-host.component-BB0AhnsE.mjs');
3422
3422
  const hostRef = createComponent(PromptDialogFallbackHostComponent, { environmentInjector });
3423
3423
  hostRef.instance.datasource = dialogConfig?.data?.datasource;
3424
3424
  hostRef.instance.header = String(dialogConfig?.header || '');
@@ -22001,7 +22001,7 @@ class LazySchedulerListComponent {
22001
22001
  * Inizializza il componente preparando stato, sottoscrizioni e primi caricamenti richiesti.
22002
22002
  */
22003
22003
  async ngOnInit() {
22004
- schedulerListComponentPromise ??= import('./wuic-framework-lib-scheduler-list.component-Bhyln-cQ.mjs').then((m) => m.SchedulerListComponent);
22004
+ schedulerListComponentPromise ??= import('./wuic-framework-lib-scheduler-list.component-CEMQJrsN.mjs').then((m) => m.SchedulerListComponent);
22005
22005
  this.loadedComponent = await schedulerListComponentPromise;
22006
22006
  this.cdr.markForCheck();
22007
22007
  }
@@ -22209,7 +22209,7 @@ class LazySpreadsheetListSfComponent {
22209
22209
  this.activatedRoute = activatedRoute;
22210
22210
  }
22211
22211
  async ngOnInit() {
22212
- spreadsheetListSfComponentPromise ??= import('./wuic-framework-lib-spreadsheet-list-sf.component-BirgUqOO.mjs').then((m) => m.SpreadsheetListSfComponent);
22212
+ spreadsheetListSfComponentPromise ??= import('./wuic-framework-lib-spreadsheet-list-sf.component-Cgmf9tb1.mjs').then((m) => m.SpreadsheetListSfComponent);
22213
22213
  this.loadedComponent = await spreadsheetListSfComponentPromise;
22214
22214
  // Quando la promise e' gia' risolta dal cache module-scope (secondo mount
22215
22215
  // post-refresh), il microtask che risolve `await` non scatena sempre CD
@@ -22487,7 +22487,7 @@ class LazyChartListComponent {
22487
22487
  * Inizializza il componente preparando stato, sottoscrizioni e primi caricamenti richiesti.
22488
22488
  */
22489
22489
  async ngOnInit() {
22490
- chartListComponentPromise ??= import('./wuic-framework-lib-chart-list.component-BM4iMVEF.mjs').then((m) => m.ChartListComponent);
22490
+ chartListComponentPromise ??= import('./wuic-framework-lib-chart-list.component-C9rj-6-8.mjs').then((m) => m.ChartListComponent);
22491
22491
  this.loadedComponent = await chartListComponentPromise;
22492
22492
  this.cdr.markForCheck();
22493
22493
  }
@@ -22809,7 +22809,7 @@ class LazyTimelineListComponent {
22809
22809
  this.cdr = cdr;
22810
22810
  }
22811
22811
  async ngOnInit() {
22812
- timelineListComponentPromise ??= import('./wuic-framework-lib-timeline-list.component-x3HAhB4G.mjs').then((m) => m.TimelineListComponent);
22812
+ timelineListComponentPromise ??= import('./wuic-framework-lib-timeline-list.component-B_bRKY_H.mjs').then((m) => m.TimelineListComponent);
22813
22813
  this.loadedComponent = await timelineListComponentPromise;
22814
22814
  this.cdr.markForCheck();
22815
22815
  }
@@ -24078,7 +24078,7 @@ class MetadataEditorComponent {
24078
24078
  }
24079
24079
  let result;
24080
24080
  try {
24081
- const { ReportScaffoldDialogComponent } = await import('./wuic-framework-lib-report-scaffold-dialog.component-CigGqFfV.mjs');
24081
+ const { ReportScaffoldDialogComponent } = await import('./wuic-framework-lib-report-scaffold-dialog.component-BsKSP1Dk.mjs');
24082
24082
  WtoolboxService.resolveDialogServiceFromInjector();
24083
24083
  const ref = WtoolboxService.dialogService?.open?.(ReportScaffoldDialogComponent, {
24084
24084
  header: this.t('report.scaffold.dialog_title', 'Create report'),
@@ -36331,10 +36331,10 @@ class ListGridComponent {
36331
36331
  // Colspan: somma tutte le colonne potenzialmente attive + frozen prefix
36332
36332
  // (chevron/checkbox/action). Sovra-stimiamo con 99 — l'<td> ha
36333
36333
  // `display: block` in mobile, non conta la table layout.
36334
- return `
36335
- <td colspan="99" class="wuic-mobile-card-cell">
36336
- ${cardBody}
36337
- </td>
36334
+ return `
36335
+ <td colspan="99" class="wuic-mobile-card-cell">
36336
+ ${cardBody}
36337
+ </td>
36338
36338
  `;
36339
36339
  }
36340
36340
  /**
@@ -36373,35 +36373,35 @@ class ListGridComponent {
36373
36373
  */
36374
36374
  buildDefaultMobileCardTemplate(columns) {
36375
36375
  const customCases = this.buildGridColumnTemplateSwitchCases(columns);
36376
- return `
36377
- <div class="wuic-mobile-card-actions" *ngIf="metaInfo.tableMetadata.md_editable || metaInfo.tableMetadata.md_deletable || metaInfo.tableMetadata.md_detail_action || metaInfo.tableMetadata.md_clonable">
36378
- <wuic-data-action-button-lazy *ngIf="(actionButtonRowIsVisible || actionButtonRowIsVisible(rowIndex)) || !isListVirtualizationEnabled()" [data]="rowData" [metaInfo]="metaInfo" [datasource]="datasource"></wuic-data-action-button-lazy>
36379
- </div>
36380
- <div class="wuic-mobile-card-body">
36381
- <ng-container *ngFor="let col of columns | visibleFieldList; trackBy: trackByColField">
36382
- <div class="wuic-mobile-card-row" [ngClass]="getCellClasses(col.metaColumn, rowData)" [attr.style]="getCellInlineStyle(col.metaColumn, rowData)" (click)="onRowSelect($event, rowData)">
36383
- <div class="wuic-mobile-card-label">{{ col.header }}</div>
36384
- <div class="wuic-mobile-card-value">
36385
- <ng-container [ngSwitch]="col.metaColumn.mc_nome_colonna">
36386
- ${customCases}
36387
- <ng-container *ngSwitchDefault>
36388
- <span *ngIf="col.metaColumn.mc_ui_column_type != 'upload' && col.metaColumn.mc_ui_column_type != 'color' && !col.metaColumn.mc_logic_allow_navigation" class='list-grid-cell-text-content'>
36389
- {{ rowData | formatGridViewValue: col.metaColumn }}
36390
- </span>
36391
-
36392
- <a *ngIf="col.metaColumn.mc_logic_allow_navigation" [href]="'#/' + col.metaColumn.mc_ui_lookup_entity_name + '/list/' + col.metaColumn.mc_ui_lookup_dataValueField + '||eq||' + rowData[col.metaColumn.mc_nome_colonna]" [attr.target]="col.metaColumn.mc_logic_navigate_new_window ? '_blank' : null">{{ rowData | formatGridViewValue: col.metaColumn }}</a>
36393
-
36394
- <wuic-image-wrapper-lazy *ngIf="col.metaColumn.mc_ui_column_type == 'upload' && rowData[col.field] && col.metaColumn.isImageUpload" [preview]="true" [src]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData : true" [alt]="rowData[col.field]" [previewImageSrc]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData" [alt]="rowData[col.field]" [width]="col.metaColumn.thumbWidth ? col.metaColumn.thumbWidth : 50" [height]="col.metaColumn.thumbHeight ? col.metaColumn.thumbHeight : 50"></wuic-image-wrapper-lazy>
36395
-
36396
- <a *ngIf="col.metaColumn.mc_ui_column_type == 'upload' && rowData[col.field] && !col.metaColumn.isImageUpload" [href]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData" target="_blank"><img [src]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData : true" height="50" width="50" /></a>
36397
-
36398
- <div *ngIf="col.metaColumn.mc_ui_column_type == 'color' && rowData[col.field]" class="grid-color-cell" [ngStyle]="{backgroundColor: rowData[col.field]}"></div>
36399
- </ng-container>
36400
- </ng-container>
36401
- </div>
36402
- </div>
36403
- </ng-container>
36404
- </div>
36376
+ return `
36377
+ <div class="wuic-mobile-card-actions" *ngIf="metaInfo.tableMetadata.md_editable || metaInfo.tableMetadata.md_deletable || metaInfo.tableMetadata.md_detail_action || metaInfo.tableMetadata.md_clonable">
36378
+ <wuic-data-action-button-lazy *ngIf="(actionButtonRowIsVisible || actionButtonRowIsVisible(rowIndex)) || !isListVirtualizationEnabled()" [data]="rowData" [metaInfo]="metaInfo" [datasource]="datasource"></wuic-data-action-button-lazy>
36379
+ </div>
36380
+ <div class="wuic-mobile-card-body">
36381
+ <ng-container *ngFor="let col of columns | visibleFieldList; trackBy: trackByColField">
36382
+ <div class="wuic-mobile-card-row" [ngClass]="getCellClasses(col.metaColumn, rowData)" [attr.style]="getCellInlineStyle(col.metaColumn, rowData)" (click)="onRowSelect($event, rowData)">
36383
+ <div class="wuic-mobile-card-label">{{ col.header }}</div>
36384
+ <div class="wuic-mobile-card-value">
36385
+ <ng-container [ngSwitch]="col.metaColumn.mc_nome_colonna">
36386
+ ${customCases}
36387
+ <ng-container *ngSwitchDefault>
36388
+ <span *ngIf="col.metaColumn.mc_ui_column_type != 'upload' && col.metaColumn.mc_ui_column_type != 'color' && !col.metaColumn.mc_logic_allow_navigation" class='list-grid-cell-text-content'>
36389
+ {{ rowData | formatGridViewValue: col.metaColumn }}
36390
+ </span>
36391
+
36392
+ <a *ngIf="col.metaColumn.mc_logic_allow_navigation" [href]="'#/' + col.metaColumn.mc_ui_lookup_entity_name + '/list/' + col.metaColumn.mc_ui_lookup_dataValueField + '||eq||' + rowData[col.metaColumn.mc_nome_colonna]" [attr.target]="col.metaColumn.mc_logic_navigate_new_window ? '_blank' : null">{{ rowData | formatGridViewValue: col.metaColumn }}</a>
36393
+
36394
+ <wuic-image-wrapper-lazy *ngIf="col.metaColumn.mc_ui_column_type == 'upload' && rowData[col.field] && col.metaColumn.isImageUpload" [preview]="true" [src]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData : true" [alt]="rowData[col.field]" [previewImageSrc]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData" [alt]="rowData[col.field]" [width]="col.metaColumn.thumbWidth ? col.metaColumn.thumbWidth : 50" [height]="col.metaColumn.thumbHeight ? col.metaColumn.thumbHeight : 50"></wuic-image-wrapper-lazy>
36395
+
36396
+ <a *ngIf="col.metaColumn.mc_ui_column_type == 'upload' && rowData[col.field] && !col.metaColumn.isImageUpload" [href]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData" target="_blank"><img [src]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData : true" height="50" width="50" /></a>
36397
+
36398
+ <div *ngIf="col.metaColumn.mc_ui_column_type == 'color' && rowData[col.field]" class="grid-color-cell" [ngStyle]="{backgroundColor: rowData[col.field]}"></div>
36399
+ </ng-container>
36400
+ </ng-container>
36401
+ </div>
36402
+ </div>
36403
+ </ng-container>
36404
+ </div>
36405
36405
  `;
36406
36406
  }
36407
36407
  /**
@@ -36419,64 +36419,64 @@ class ListGridComponent {
36419
36419
  // vedi commento esteso in `wuic-frozen-column.directive.ts`.
36420
36420
  //
36421
36421
  // wuic-data-action-button-lazy render when in viewport.
36422
- return `
36423
- <td *ngIf="metaInfo.tableMetadata.md_nested_grid_routes" [wuicFrozenColumn]="true" alignFrozen="left">
36424
- <button type="button" class="p-button p-button-text p-button-rounded p-button-sm p-0" [wuicRowToggler]="rowData" [wuicToggleFn]="toggleRow" [wuicTable]="dt" [attr.aria-label]="'${this.trslSrv.instant('list_grid.expand_row') || 'Espandi riga'}'">
36425
- <i class="pi" [ngClass]="{'pi-chevron-down': expanded, 'pi-chevron-right': !expanded }"></i>
36426
- </button>
36427
- </td>
36428
- <td *ngIf="metaInfo.tableMetadata.md_multiple_selection" class="wuic-selection-td" [wuicFrozenColumn]="true" alignFrozen="left">
36429
- <input class="p-checkbox-box" type="checkbox" (click)="rowSelect(rowData, $event, dt)" [checked]="dt.selection | isSelectedRow : rowData : metaInfo" [attr.aria-label]="'${this.trslSrv.instant('list_grid.select_row') || 'Seleziona riga'}'" />
36430
- </td>
36431
- <td *ngIf="metaInfo.tableMetadata.md_editable || metaInfo.tableMetadata.md_deletable || metaInfo.tableMetadata.md_detail_action || metaInfo.tableMetadata.md_clonable || metaInfo.tableMetadata.md_inline_edit" class="wuic-action-cell" [wuicFrozenColumn]="true" alignFrozen="left">
36432
- <ng-container >
36433
- <wuic-data-action-button-lazy *ngIf="(actionButtonRowIsVisible || actionButtonRowIsVisible(rowIndex)) || !isListVirtualizationEnabled()" [data]="rowData" [metaInfo]="metaInfo" [datasource]="datasource"></wuic-data-action-button-lazy>
36434
- </ng-container>
36435
- </td>
36436
- <ng-container *ngFor="let col of columns | visibleFieldList; trackBy: trackByColField">
36437
- <td *ngIf="!col?.frozen" [ngClass]="getCellClasses(col.metaColumn, rowData)" [attr.style]="getCellInlineStyle(col.metaColumn, rowData)" (click)="onRowSelect($event, rowData)" (focusout)="onCellFocusOut($event, rowData, col.metaColumn)">
36438
- <wuic-field-editor-lazy *ngIf="rowData.__is_editing && !col.metaColumn.mc_hide_in_edit" [record]="rowData.__observable" [field]="getRuntimeGridFieldMeta(col.metaColumn, rowData)" [metaInfo]="metaInfo" [datasource]="datasource" [hideLabel]="metaInfo.tableMetadata.md_inline_edit" [onInlineCellValueChange]="onInlineCellEditorValueChange"></wuic-field-editor-lazy>
36439
- <ng-container *ngIf="!rowData.__is_editing">
36440
- <ng-container [ngSwitch]="col.metaColumn.mc_nome_colonna">
36441
- ${customCases}
36442
- <ng-container *ngSwitchDefault>
36443
- <span *ngIf="col.metaColumn.mc_ui_column_type != 'upload' && col.metaColumn.mc_ui_column_type != 'color' && !col.metaColumn.mc_logic_allow_navigation" class='list-grid-cell-text-content'>
36444
- {{ rowData | formatGridViewValue: col.metaColumn }}
36445
- </span>
36446
-
36447
- <a *ngIf="col.metaColumn.mc_logic_allow_navigation" [href]="'#/' + col.metaColumn.mc_ui_lookup_entity_name + '/list/' + col.metaColumn.mc_ui_lookup_dataValueField + '||eq||' + rowData[col.metaColumn.mc_nome_colonna]" [attr.target]="col.metaColumn.mc_logic_navigate_new_window ? '_blank' : null">{{ rowData | formatGridViewValue: col.metaColumn }}</a>
36448
-
36449
- <wuic-image-wrapper-lazy *ngIf="col.metaColumn.mc_ui_column_type == 'upload' && rowData[col.field] && col.metaColumn.isImageUpload" [preview]="true" [src]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData : true" [alt]="rowData[col.field]" [previewImageSrc]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData" [alt]="rowData[col.field]" [width]="col.metaColumn.thumbWidth ? col.metaColumn.thumbWidth : 50" [height]="col.metaColumn.thumbHeight ? col.metaColumn.thumbHeight : 50"></wuic-image-wrapper-lazy>
36450
-
36451
- <a *ngIf="col.metaColumn.mc_ui_column_type == 'upload' && rowData[col.field] && !col.metaColumn.isImageUpload" [href]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData" target="_blank"><img [src]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData : true" height="50" width="50" /></a>
36452
-
36453
- <div *ngIf="col.metaColumn.mc_ui_column_type == 'color' && rowData[col.field]" class="grid-color-cell" [ngStyle]="{backgroundColor: rowData[col.field]}"></div>
36454
- </ng-container>
36455
- </ng-container>
36456
- </ng-container>
36457
- </td>
36458
- <td *ngIf="col?.frozen" [wuicFrozenColumn]="true" [alignFrozen]="col?.alignFrozen || 'left'" [ngClass]="getCellClasses(col.metaColumn, rowData)" [attr.style]="getCellInlineStyle(col.metaColumn, rowData)" (click)="onRowSelect($event, rowData)" (focusout)="onCellFocusOut($event, rowData, col.metaColumn)">
36459
- <wuic-field-editor-lazy *ngIf="rowData.__is_editing && !col.metaColumn.mc_hide_in_edit" [record]="rowData.__observable" [field]="getRuntimeGridFieldMeta(col.metaColumn, rowData)" [metaInfo]="metaInfo" [datasource]="datasource" [hideLabel]="metaInfo.tableMetadata.md_inline_edit" [onInlineCellValueChange]="onInlineCellEditorValueChange"></wuic-field-editor-lazy>
36460
- <ng-container *ngIf="!rowData.__is_editing">
36461
- <ng-container [ngSwitch]="col.metaColumn.mc_nome_colonna">
36462
- ${customCases}
36463
- <ng-container *ngSwitchDefault>
36464
- <span *ngIf="col.metaColumn.mc_ui_column_type != 'upload' && col.metaColumn.mc_ui_column_type != 'color' && !col.metaColumn.mc_logic_allow_navigation" class='list-grid-cell-text-content'>
36465
- {{ rowData | formatGridViewValue: col.metaColumn }}
36466
- </span>
36467
-
36468
- <a *ngIf="col.metaColumn.mc_logic_allow_navigation" [href]="'#/' + col.metaColumn.mc_ui_lookup_entity_name + '/list/' + col.metaColumn.mc_ui_lookup_dataValueField + '||eq||' + rowData[col.metaColumn.mc_nome_colonna]" [attr.target]="col.metaColumn.mc_logic_navigate_new_window ? '_blank' : null">{{ rowData | formatGridViewValue: col.metaColumn }}</a>
36469
-
36470
- <wuic-image-wrapper-lazy *ngIf="col.metaColumn.mc_ui_column_type == 'upload' && rowData[col.field] && col.metaColumn.isImageUpload" [preview]="true" [src]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData : true" [alt]="rowData[col.field]" [previewImageSrc]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData" [alt]="rowData[col.field]" [width]="col.metaColumn.thumbWidth ? col.metaColumn.thumbWidth : 50" [height]="col.metaColumn.thumbHeight ? col.metaColumn.thumbHeight : 50"></wuic-image-wrapper-lazy>
36471
-
36472
- <a *ngIf="col.metaColumn.mc_ui_column_type == 'upload' && rowData[col.field] && !col.metaColumn.isImageUpload" [href]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData" target="_blank"><img [src]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData : true" height="50" width="50" /></a>
36473
-
36474
- <div *ngIf="col.metaColumn.mc_ui_column_type == 'color' && rowData[col.field]" class="grid-color-cell" [ngStyle]="{backgroundColor: rowData[col.field]}"></div>
36475
- </ng-container>
36476
- </ng-container>
36477
- </ng-container>
36478
- </td>
36479
- </ng-container>
36422
+ return `
36423
+ <td *ngIf="metaInfo.tableMetadata.md_nested_grid_routes" [wuicFrozenColumn]="true" alignFrozen="left">
36424
+ <button type="button" class="p-button p-button-text p-button-rounded p-button-sm p-0" [wuicRowToggler]="rowData" [wuicToggleFn]="toggleRow" [wuicTable]="dt" [attr.aria-label]="'${this.trslSrv.instant('list_grid.expand_row') || 'Espandi riga'}'">
36425
+ <i class="pi" [ngClass]="{'pi-chevron-down': expanded, 'pi-chevron-right': !expanded }"></i>
36426
+ </button>
36427
+ </td>
36428
+ <td *ngIf="metaInfo.tableMetadata.md_multiple_selection" class="wuic-selection-td" [wuicFrozenColumn]="true" alignFrozen="left">
36429
+ <input class="p-checkbox-box" type="checkbox" (click)="rowSelect(rowData, $event, dt)" [checked]="dt.selection | isSelectedRow : rowData : metaInfo" [attr.aria-label]="'${this.trslSrv.instant('list_grid.select_row') || 'Seleziona riga'}'" />
36430
+ </td>
36431
+ <td *ngIf="metaInfo.tableMetadata.md_editable || metaInfo.tableMetadata.md_deletable || metaInfo.tableMetadata.md_detail_action || metaInfo.tableMetadata.md_clonable || metaInfo.tableMetadata.md_inline_edit" class="wuic-action-cell" [wuicFrozenColumn]="true" alignFrozen="left">
36432
+ <ng-container >
36433
+ <wuic-data-action-button-lazy *ngIf="(actionButtonRowIsVisible || actionButtonRowIsVisible(rowIndex)) || !isListVirtualizationEnabled()" [data]="rowData" [metaInfo]="metaInfo" [datasource]="datasource"></wuic-data-action-button-lazy>
36434
+ </ng-container>
36435
+ </td>
36436
+ <ng-container *ngFor="let col of columns | visibleFieldList; trackBy: trackByColField">
36437
+ <td *ngIf="!col?.frozen" [ngClass]="getCellClasses(col.metaColumn, rowData)" [attr.style]="getCellInlineStyle(col.metaColumn, rowData)" (click)="onRowSelect($event, rowData)" (focusout)="onCellFocusOut($event, rowData, col.metaColumn)">
36438
+ <wuic-field-editor-lazy *ngIf="rowData.__is_editing && !col.metaColumn.mc_hide_in_edit" [record]="rowData.__observable" [field]="getRuntimeGridFieldMeta(col.metaColumn, rowData)" [metaInfo]="metaInfo" [datasource]="datasource" [hideLabel]="metaInfo.tableMetadata.md_inline_edit" [onInlineCellValueChange]="onInlineCellEditorValueChange"></wuic-field-editor-lazy>
36439
+ <ng-container *ngIf="!rowData.__is_editing">
36440
+ <ng-container [ngSwitch]="col.metaColumn.mc_nome_colonna">
36441
+ ${customCases}
36442
+ <ng-container *ngSwitchDefault>
36443
+ <span *ngIf="col.metaColumn.mc_ui_column_type != 'upload' && col.metaColumn.mc_ui_column_type != 'color' && !col.metaColumn.mc_logic_allow_navigation" class='list-grid-cell-text-content'>
36444
+ {{ rowData | formatGridViewValue: col.metaColumn }}
36445
+ </span>
36446
+
36447
+ <a *ngIf="col.metaColumn.mc_logic_allow_navigation" [href]="'#/' + col.metaColumn.mc_ui_lookup_entity_name + '/list/' + col.metaColumn.mc_ui_lookup_dataValueField + '||eq||' + rowData[col.metaColumn.mc_nome_colonna]" [attr.target]="col.metaColumn.mc_logic_navigate_new_window ? '_blank' : null">{{ rowData | formatGridViewValue: col.metaColumn }}</a>
36448
+
36449
+ <wuic-image-wrapper-lazy *ngIf="col.metaColumn.mc_ui_column_type == 'upload' && rowData[col.field] && col.metaColumn.isImageUpload" [preview]="true" [src]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData : true" [alt]="rowData[col.field]" [previewImageSrc]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData" [alt]="rowData[col.field]" [width]="col.metaColumn.thumbWidth ? col.metaColumn.thumbWidth : 50" [height]="col.metaColumn.thumbHeight ? col.metaColumn.thumbHeight : 50"></wuic-image-wrapper-lazy>
36450
+
36451
+ <a *ngIf="col.metaColumn.mc_ui_column_type == 'upload' && rowData[col.field] && !col.metaColumn.isImageUpload" [href]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData" target="_blank"><img [src]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData : true" height="50" width="50" /></a>
36452
+
36453
+ <div *ngIf="col.metaColumn.mc_ui_column_type == 'color' && rowData[col.field]" class="grid-color-cell" [ngStyle]="{backgroundColor: rowData[col.field]}"></div>
36454
+ </ng-container>
36455
+ </ng-container>
36456
+ </ng-container>
36457
+ </td>
36458
+ <td *ngIf="col?.frozen" [wuicFrozenColumn]="true" [alignFrozen]="col?.alignFrozen || 'left'" [ngClass]="getCellClasses(col.metaColumn, rowData)" [attr.style]="getCellInlineStyle(col.metaColumn, rowData)" (click)="onRowSelect($event, rowData)" (focusout)="onCellFocusOut($event, rowData, col.metaColumn)">
36459
+ <wuic-field-editor-lazy *ngIf="rowData.__is_editing && !col.metaColumn.mc_hide_in_edit" [record]="rowData.__observable" [field]="getRuntimeGridFieldMeta(col.metaColumn, rowData)" [metaInfo]="metaInfo" [datasource]="datasource" [hideLabel]="metaInfo.tableMetadata.md_inline_edit" [onInlineCellValueChange]="onInlineCellEditorValueChange"></wuic-field-editor-lazy>
36460
+ <ng-container *ngIf="!rowData.__is_editing">
36461
+ <ng-container [ngSwitch]="col.metaColumn.mc_nome_colonna">
36462
+ ${customCases}
36463
+ <ng-container *ngSwitchDefault>
36464
+ <span *ngIf="col.metaColumn.mc_ui_column_type != 'upload' && col.metaColumn.mc_ui_column_type != 'color' && !col.metaColumn.mc_logic_allow_navigation" class='list-grid-cell-text-content'>
36465
+ {{ rowData | formatGridViewValue: col.metaColumn }}
36466
+ </span>
36467
+
36468
+ <a *ngIf="col.metaColumn.mc_logic_allow_navigation" [href]="'#/' + col.metaColumn.mc_ui_lookup_entity_name + '/list/' + col.metaColumn.mc_ui_lookup_dataValueField + '||eq||' + rowData[col.metaColumn.mc_nome_colonna]" [attr.target]="col.metaColumn.mc_logic_navigate_new_window ? '_blank' : null">{{ rowData | formatGridViewValue: col.metaColumn }}</a>
36469
+
36470
+ <wuic-image-wrapper-lazy *ngIf="col.metaColumn.mc_ui_column_type == 'upload' && rowData[col.field] && col.metaColumn.isImageUpload" [preview]="true" [src]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData : true" [alt]="rowData[col.field]" [previewImageSrc]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData" [alt]="rowData[col.field]" [width]="col.metaColumn.thumbWidth ? col.metaColumn.thumbWidth : 50" [height]="col.metaColumn.thumbHeight ? col.metaColumn.thumbHeight : 50"></wuic-image-wrapper-lazy>
36471
+
36472
+ <a *ngIf="col.metaColumn.mc_ui_column_type == 'upload' && rowData[col.field] && !col.metaColumn.isImageUpload" [href]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData" target="_blank"><img [src]="rowData[col.field] | getSrcUploadPreview : col.metaColumn : metaInfo : rowData : true" height="50" width="50" /></a>
36473
+
36474
+ <div *ngIf="col.metaColumn.mc_ui_column_type == 'color' && rowData[col.field]" class="grid-color-cell" [ngStyle]="{backgroundColor: rowData[col.field]}"></div>
36475
+ </ng-container>
36476
+ </ng-container>
36477
+ </ng-container>
36478
+ </td>
36479
+ </ng-container>
36480
36480
  `;
36481
36481
  }
36482
36482
  /**
@@ -50344,7 +50344,7 @@ class LazyFirstRunWizardComponent {
50344
50344
  this.cdr = cdr;
50345
50345
  }
50346
50346
  async ngOnInit() {
50347
- firstRunWizardComponentPromise ??= import('./wuic-framework-lib-first-run-wizard.component-Cf1BHCvJ.mjs').then((m) => m.WuicFirstRunWizardComponent);
50347
+ firstRunWizardComponentPromise ??= import('./wuic-framework-lib-first-run-wizard.component-Bg41Xfht.mjs').then((m) => m.WuicFirstRunWizardComponent);
50348
50348
  const componentClass = await firstRunWizardComponentPromise;
50349
50349
  this.componentRef = this.vcr.createComponent(componentClass);
50350
50350
  // Forward output del componente reale al wrapper. Type assertion necessaria
@@ -62045,7 +62045,7 @@ class LazyCodeEditorComponent {
62045
62045
  this.cdr = cdr;
62046
62046
  }
62047
62047
  async ngOnInit() {
62048
- codeEditorComponentPromise ??= import('./wuic-framework-lib-code-editor.component-BhLnfWq3.mjs').then((m) => m.CodeEditorComponent);
62048
+ codeEditorComponentPromise ??= import('./wuic-framework-lib-code-editor.component-CTI_gqvB.mjs').then((m) => m.CodeEditorComponent);
62049
62049
  this.loadedComponent = await codeEditorComponentPromise;
62050
62050
  this.cdr.markForCheck();
62051
62051
  }
@@ -64224,7 +64224,7 @@ class DesignerRouteComponent {
64224
64224
  * Inizializza il componente preparando stato, sottoscrizioni e primi caricamenti richiesti.
64225
64225
  */
64226
64226
  async ngOnInit() {
64227
- designerComponentPromise ??= import('./wuic-framework-lib-designer.component-yPNbRYOE.mjs').then((m) => m.DesignerComponent);
64227
+ designerComponentPromise ??= import('./wuic-framework-lib-designer.component-67PCnDYC.mjs').then((m) => m.DesignerComponent);
64228
64228
  this.loadedComponent = await designerComponentPromise;
64229
64229
  }
64230
64230
  /**
@@ -64305,7 +64305,7 @@ class LazyPivotBuilderComponent {
64305
64305
  this.cdr = cdr;
64306
64306
  }
64307
64307
  async ngOnInit() {
64308
- pivotBuilderComponentPromise ??= import('./wuic-framework-lib-pivot-builder.component-Df00Yaxo.mjs').then((m) => m.PivotBuilderComponent);
64308
+ pivotBuilderComponentPromise ??= import('./wuic-framework-lib-pivot-builder.component-Dg-xWzxO.mjs').then((m) => m.PivotBuilderComponent);
64309
64309
  this.loadedComponent = await pivotBuilderComponentPromise;
64310
64310
  this.cdr.markForCheck();
64311
64311
  }
@@ -64344,7 +64344,7 @@ class WorkflowDesignerRouteComponent {
64344
64344
  * Inizializza il componente preparando stato, sottoscrizioni e primi caricamenti richiesti.
64345
64345
  */
64346
64346
  async ngOnInit() {
64347
- workflowDesignerComponentPromise ??= import('./wuic-framework-lib-workflow-designer.component-DLBbgX0s.mjs').then((m) => m.WorkflowDesignerComponent);
64347
+ workflowDesignerComponentPromise ??= import('./wuic-framework-lib-workflow-designer.component-DVEL_aHg.mjs').then((m) => m.WorkflowDesignerComponent);
64348
64348
  this.loadedComponent = await workflowDesignerComponentPromise;
64349
64349
  }
64350
64350
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: WorkflowDesignerRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
@@ -64390,7 +64390,7 @@ class Scene3dDesignerRouteComponent {
64390
64390
  /** Componente designer runtime caricato lazy, usato dal template. */
64391
64391
  loadedComponent = null;
64392
64392
  async ngOnInit() {
64393
- scene3dDesignerComponentPromise ??= import('./wuic-framework-lib-scene3d-designer.component-Bcih9wqu.mjs').then(function (n) { return n.s; }).then((m) => m.Scene3dDesignerComponent);
64393
+ scene3dDesignerComponentPromise ??= import('./wuic-framework-lib-scene3d-designer.component-CkoU_J5j.mjs').then(function (n) { return n.s; }).then((m) => m.Scene3dDesignerComponent);
64394
64394
  this.loadedComponent = await scene3dDesignerComponentPromise;
64395
64395
  }
64396
64396
  /** Delega al designer runtime la conferma navigazione con pending changes. */
@@ -64446,7 +64446,7 @@ class Scene3dViewerRouteComponent {
64446
64446
  /** Componente viewer runtime caricato lazy, usato dal template. */
64447
64447
  loadedComponent = null;
64448
64448
  async ngOnInit() {
64449
- scene3dViewerComponentPromise ??= import('./wuic-framework-lib-scene3d-viewer.component-CqitWdf-.mjs').then((m) => m.Scene3dViewerComponent);
64449
+ scene3dViewerComponentPromise ??= import('./wuic-framework-lib-scene3d-viewer.component-Dt0fvwFX.mjs').then((m) => m.Scene3dViewerComponent);
64450
64450
  this.loadedComponent = await scene3dViewerComponentPromise;
64451
64451
  }
64452
64452
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: Scene3dViewerRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
@@ -64507,7 +64507,7 @@ class LazyReportDesignerComponent {
64507
64507
  this.cdr = cdr;
64508
64508
  }
64509
64509
  async ngOnInit() {
64510
- reportDesignerComponentPromise ??= import('./wuic-framework-lib-report-designer.component-DTFAvjaD.mjs').then((m) => m.ReportDesignerComponent);
64510
+ reportDesignerComponentPromise ??= import('./wuic-framework-lib-report-designer.component-9_M4MA2p.mjs').then((m) => m.ReportDesignerComponent);
64511
64511
  this.loadedComponent = await reportDesignerComponentPromise;
64512
64512
  this.cdr.markForCheck();
64513
64513
  }
@@ -64562,7 +64562,7 @@ class LazyReportViewerComponent {
64562
64562
  this.cdr = cdr;
64563
64563
  }
64564
64564
  async ngOnInit() {
64565
- reportViewerComponentPromise ??= import('./wuic-framework-lib-report-viewer.component-DKgW13uF.mjs').then((m) => m.ReportViewerComponent);
64565
+ reportViewerComponentPromise ??= import('./wuic-framework-lib-report-viewer.component-C5EAoGOx.mjs').then((m) => m.ReportViewerComponent);
64566
64566
  this.loadedComponent = await reportViewerComponentPromise;
64567
64567
  this.cdr.markForCheck();
64568
64568
  }
@@ -68886,7 +68886,7 @@ const themeBuilderPendingChangesGuard = (component) => {
68886
68886
  const routes = [
68887
68887
  {
68888
68888
  path: 'framework-docs',
68889
- loadComponent: () => import('./wuic-framework-lib-framework-docs.component-DQEh15Vz.mjs').then((m) => m.FrameworkDocsComponent),
68889
+ loadComponent: () => import('./wuic-framework-lib-framework-docs.component-BLxQmoDZ.mjs').then((m) => m.FrameworkDocsComponent),
68890
68890
  canMatch: [menuRouteAccessCanMatchGuard],
68891
68891
  canActivate: [menuRouteAccessCanActivateGuard],
68892
68892
  data: {
@@ -68895,7 +68895,7 @@ const routes = [
68895
68895
  },
68896
68896
  {
68897
68897
  path: 'framework-docs/:slug',
68898
- loadComponent: () => import('./wuic-framework-lib-framework-docs.component-DQEh15Vz.mjs').then((m) => m.FrameworkDocsComponent),
68898
+ loadComponent: () => import('./wuic-framework-lib-framework-docs.component-BLxQmoDZ.mjs').then((m) => m.FrameworkDocsComponent),
68899
68899
  canMatch: [menuRouteAccessCanMatchGuard],
68900
68900
  canActivate: [menuRouteAccessCanActivateGuard],
68901
68901
  data: {
@@ -68940,7 +68940,7 @@ const routes = [
68940
68940
  },
68941
68941
  {
68942
68942
  path: ':route/report-designer',
68943
- loadComponent: () => import('./wuic-framework-lib-report-designer.component-DTFAvjaD.mjs').then((m) => m.ReportDesignerComponent),
68943
+ loadComponent: () => import('./wuic-framework-lib-report-designer.component-9_M4MA2p.mjs').then((m) => m.ReportDesignerComponent),
68944
68944
  canMatch: [menuRouteAccessCanMatchGuard, featureRouteCanMatchGuard],
68945
68945
  canActivate: [menuRouteAccessCanActivateGuard, featureRouteCanActivateGuard],
68946
68946
  data: {
@@ -68950,7 +68950,7 @@ const routes = [
68950
68950
  },
68951
68951
  {
68952
68952
  path: ':route/report-viewer',
68953
- loadComponent: () => import('./wuic-framework-lib-report-viewer.component-DKgW13uF.mjs').then((m) => m.ReportViewerComponent),
68953
+ loadComponent: () => import('./wuic-framework-lib-report-viewer.component-C5EAoGOx.mjs').then((m) => m.ReportViewerComponent),
68954
68954
  canMatch: [menuRouteAccessCanMatchGuard],
68955
68955
  canActivate: [menuRouteAccessCanActivateGuard],
68956
68956
  data: {
@@ -68970,7 +68970,7 @@ const routes = [
68970
68970
  },
68971
68971
  {
68972
68972
  path: ':route/pivot-builder',
68973
- loadComponent: () => import('./wuic-framework-lib-pivot-builder.component-Df00Yaxo.mjs').then((m) => m.PivotBuilderComponent),
68973
+ loadComponent: () => import('./wuic-framework-lib-pivot-builder.component-Dg-xWzxO.mjs').then((m) => m.PivotBuilderComponent),
68974
68974
  canMatch: [menuRouteAccessCanMatchGuard, featureRouteCanMatchGuard],
68975
68975
  canActivate: [menuRouteAccessCanActivateGuard, featureRouteCanActivateGuard],
68976
68976
  data: {
@@ -68980,7 +68980,7 @@ const routes = [
68980
68980
  },
68981
68981
  {
68982
68982
  path: 'pivot-builder',
68983
- loadComponent: () => import('./wuic-framework-lib-pivot-builder.component-Df00Yaxo.mjs').then((m) => m.PivotBuilderComponent),
68983
+ loadComponent: () => import('./wuic-framework-lib-pivot-builder.component-Dg-xWzxO.mjs').then((m) => m.PivotBuilderComponent),
68984
68984
  canMatch: [menuRouteAccessCanMatchGuard, featureRouteCanMatchGuard],
68985
68985
  canActivate: [menuRouteAccessCanActivateGuard, featureRouteCanActivateGuard],
68986
68986
  data: {
@@ -71080,4 +71080,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
71080
71080
  */
71081
71081
 
71082
71082
  export { DEFAULT_THEME_VALUE as $, ArchetypeConfiguratorComponent as A, AuthSessionService as B, ChatbotHostRegistryService as C, DynamicGenericTemplateComponent as D, BooleanEditorComponent as E, FilterBarComponent as F, GlobalHandler as G, BoundedRepeaterComponent as H, ImportExportButtonComponent as I, ButtonEditorComponent as J, CUSTOM_THEMES_STORAGE_KEY as K, LazyParametricDialogComponent as L, MetadataProviderService as M, CallbackPipe as N, CallbackPipe2 as O, PagerComponent as P, CarouselListComponent as Q, CodeAreaEditorComponent as R, ColorEditorComponent as S, TranslationManagerService as T, UserInfoService as U, CrashReporterService as V, WtoolboxService as W, CustomAttributesService as X, CustomException as Y, DEFAULT_FONT_STACK as Z, DEFAULT_THEME_STORAGE_KEY as _, DynamicCompilerService as a, UserMenuComponent as a$, DataActionButtonComponent as a0, DataProviderOdataService as a1, DateEditorComponent as a2, DesignerRouteComponent as a3, DictionaryEditorComponent as a4, DynamicRowTemplateComponent as a5, FormatGridViewValuePipe as a6, GetSrcUploadPreviewPipe as a7, HtmlEditorComponent as a8, ImageWrapperComponent as a9, NumberEditorComponent as aA, PALETTE_STOPS as aB, PREVIEW_RESTORE_KEY as aC, PRIMARY_PALETTES as aD, PerformanceInspectorComponent as aE, PointFilterComponent as aF, PropertyArrayEditorComponent as aG, PropertyObjectEditorComponent as aH, RAG_DESTRUCTIVE_KINDS as aI, RouteMetricsDashboardComponent as aJ, Scene3dDesignerRouteComponent as aK, Scene3dViewerRouteComponent as aL, THEME_MODE_STORAGE_KEY as aM, THEME_OPTIONS as aN, THEME_STORAGE_KEY as aO, TextAreaEditorComponent as aP, TextEditorComponent as aQ, ThemeBuilderComponent as aR, ThemeCatalogService as aS, ThemePreviewPanelComponent as aT, ThemeRuntimeService as aU, ThemeSelectorComponent as aV, TreeListComponent as aW, TreeViewSelectorComponent as aX, UploadDialogComponent as aY, UploadEditorComponent as aZ, UserLanguageService as a_, IsSelectedRowPipe as aa, KanbanListComponent as ab, KanbanOptions as ac, KanbanStatusColumnItem as ad, LazyChartListComponent as ae, LazyCodeEditorComponent as af, LazyDataActionButtonComponent as ag, LazyDataSourceComponent as ah, LazyFieldEditorComponent as ai, LazyFirstRunWizardComponent as aj, LazyImageWrapperComponent as ak, LazyKanbanListComponent as al, LazyMetaMenuComponent as am, LazyPivotBuilderComponent as an, LazyReportDesignerComponent as ao, LazyReportViewerComponent as ap, LazySchedulerListComponent as aq, LazySpreadsheetListSfComponent as ar, LazyTimelineListComponent as as, ListGridComponent as at, LookupEditorComponent as au, MapListComponent as av, MetaMenuComponent as aw, MetadatiTabella as ax, NotificationBellComponent as ay, NotificationRealtimeService as az, DataSourceComponent as b, resolveThemePresetForOption as b$, ValidationRule as b0, ValueChangedPayload as b1, VisibleFieldListPipe as b2, WUIC_FONT_CATALOG as b3, WidgetDefinition as b4, WorkflowDesignerRouteComponent as b5, WorkflowRunnerComponent as b6, WuicAziendaSwitcherComponent as b7, WuicErrorDialogComponent as b8, WuicErrorInterceptor as b9, isDestructiveRagAction as bA, isRoutePersistenceEnabled as bB, loadBooleanEditorComponent as bC, loadButtonEditorComponent as bD, loadCodeAreaEditorComponent as bE, loadColorEditorComponent as bF, loadDateEditorComponent as bG, loadDictionaryEditorComponent as bH, loadHtmlEditorComponent as bI, loadLookupEditorComponent as bJ, loadNumberEditorComponent as bK, loadPropertyArrayEditorComponent as bL, loadPropertyObjectEditorComponent as bM, loadTextAreaEditorComponent as bN, loadTextEditorComponent as bO, loadTreeViewSelectorComponent as bP, loadUploadEditorComponent as bQ, menuRouteAccessCanActivateGuard as bR, menuRouteAccessCanMatchGuard as bS, nearestPrimaryName as bT, normalizeHex$1 as bU, oklchToHex as bV, oklchToRgb as bW, resolveBackgroundCss as bX, resolveFontStack as bY, resolveGridStrengths as bZ, resolveThemePreset as b_, WuicFeatureDirective as ba, WuicFrozenColumnDirective as bb, WuicRagChatbotComponent as bc, WuicRagChatbotFabComponent as bd, WuicRagService as be, WuicRowTogglerDirective as bf, _PRIMENG_TABLE_DIRECTIVES_NAMES as bg, authExpiredInterceptor as bh, bestContrastColor as bi, boundedRepeaterPendingChangesGuard as bj, buildCustomPreset as bk, buildThemeValue as bl, computeDataQualitySummary as bm, contrastRatio as bn, createDraftTheme as bo, featureRouteCanActivateGuard as bp, featureRouteCanMatchGuard as bq, generatePrimaryPalette as br, generateSurfacePalette as bs, getQualityInspectorOptions as bt, getThemePrimaryHex as bu, hexToOklch as bv, hexToRgb as bw, hsbaToRgbaString as bx, inferTemplateFieldFromBaseClass as by, isCustomThemeValue as bz, DataRepeaterComponent as c, rgbToHex as c0, rgbToOklch as c1, rgbaToHsbaModel as c2, routeMetricsClient as c3, routes as c4, scene3dDesignerPendingChangesGuard as c5, themeBuilderPendingChangesGuard as c6, wcagLevel as c7, wuicErrorInterceptor as c8, parametricDialog_component as c9, clampAlpha as d, toPersistedColor as e, ParametricDialogComponent as f, MetadatiColonna as g, DataProviderService as h, MetadataEditorService as i, WorkflowRuntimeMetadataService as j, FieldEditorComponent as k, MetadataEditorComponent as l, WuicClientException as m, WuicErrorCodes as n, MetaInfo as o, WUIC_SUPPRESS_GLOBAL_ERROR as p, FilterInfo as q, LicenseFeatureService as r, FilterItem as s, toHsbaModel as t, TimelineOptions as u, getThemeOptions as v, AUTH_REDIRECT_REASON_KEY as w, AppHeaderComponent as x, AppHeaderConfigService as y, AppSettingsEditorComponent as z };
71083
- //# sourceMappingURL=wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs.map
71083
+ //# sourceMappingURL=wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs.map
@@ -1,2 +1,2 @@
1
- export { w as AUTH_REDIRECT_REASON_KEY, x as AppHeaderComponent, y as AppHeaderConfigService, z as AppSettingsEditorComponent, B as AuthSessionService, E as BooleanEditorComponent, H as BoundedRepeaterComponent, J as ButtonEditorComponent, K as CUSTOM_THEMES_STORAGE_KEY, N as CallbackPipe, O as CallbackPipe2, Q as CarouselListComponent, R as CodeAreaEditorComponent, S as ColorEditorComponent, V as CrashReporterService, X as CustomAttributesService, Y as CustomException, Z as DEFAULT_FONT_STACK, _ as DEFAULT_THEME_STORAGE_KEY, $ as DEFAULT_THEME_VALUE, a0 as DataActionButtonComponent, a1 as DataProviderOdataService, c as DataRepeaterComponent, b as DataSourceComponent, a2 as DateEditorComponent, a3 as DesignerRouteComponent, a4 as DictionaryEditorComponent, a as DynamicCompilerService, a5 as DynamicRowTemplateComponent, k as FieldEditorComponent, F as FilterBarComponent, q as FilterInfo, a6 as FormatGridViewValuePipe, a7 as GetSrcUploadPreviewPipe, G as GlobalHandler, a8 as HtmlEditorComponent, a9 as ImageWrapperComponent, I as ImportExportButtonComponent, aa as IsSelectedRowPipe, ab as KanbanListComponent, ac as KanbanOptions, ad as KanbanStatusColumnItem, ae as LazyChartListComponent, af as LazyCodeEditorComponent, ag as LazyDataActionButtonComponent, ah as LazyDataSourceComponent, ai as LazyFieldEditorComponent, aj as LazyFirstRunWizardComponent, ak as LazyImageWrapperComponent, al as LazyKanbanListComponent, am as LazyMetaMenuComponent, an as LazyPivotBuilderComponent, ao as LazyReportDesignerComponent, ap as LazyReportViewerComponent, aq as LazySchedulerListComponent, ar as LazySpreadsheetListSfComponent, as as LazyTimelineListComponent, r as LicenseFeatureService, at as ListGridComponent, au as LookupEditorComponent, av as MapListComponent, o as MetaInfo, aw as MetaMenuComponent, i as MetadataEditorService, M as MetadataProviderService, g as MetadatiColonna, ax as MetadatiTabella, ay as NotificationBellComponent, az as NotificationRealtimeService, aA as NumberEditorComponent, aB as PALETTE_STOPS, aC as PREVIEW_RESTORE_KEY, aD as PRIMARY_PALETTES, P as PagerComponent, f as ParametricDialogComponent, aE as PerformanceInspectorComponent, aF as PointFilterComponent, aG as PropertyArrayEditorComponent, aH as PropertyObjectEditorComponent, aI as RAG_DESTRUCTIVE_KINDS, aJ as RouteMetricsDashboardComponent, aK as Scene3dDesignerRouteComponent, aL as Scene3dViewerRouteComponent, aM as THEME_MODE_STORAGE_KEY, aN as THEME_OPTIONS, aO as THEME_STORAGE_KEY, aP as TextAreaEditorComponent, aQ as TextEditorComponent, aR as ThemeBuilderComponent, aS as ThemeCatalogService, aT as ThemePreviewPanelComponent, aU as ThemeRuntimeService, aV as ThemeSelectorComponent, u as TimelineOptions, T as TranslationManagerService, aW as TreeListComponent, aX as TreeViewSelectorComponent, aY as UploadDialogComponent, aZ as UploadEditorComponent, U as UserInfoService, a_ as UserLanguageService, a$ as UserMenuComponent, b0 as ValidationRule, b1 as ValueChangedPayload, b2 as VisibleFieldListPipe, b3 as WUIC_FONT_CATALOG, p as WUIC_SUPPRESS_GLOBAL_ERROR, b4 as WidgetDefinition, b5 as WorkflowDesignerRouteComponent, b6 as WorkflowRunnerComponent, j as WorkflowRuntimeMetadataService, W as WtoolboxService, b7 as WuicAziendaSwitcherComponent, b8 as WuicErrorDialogComponent, b9 as WuicErrorInterceptor, ba as WuicFeatureDirective, bb as WuicFrozenColumnDirective, bc as WuicRagChatbotComponent, bd as WuicRagChatbotFabComponent, be as WuicRagService, bf as WuicRowTogglerDirective, bg as _PRIMENG_TABLE_DIRECTIVES_NAMES, bh as authExpiredInterceptor, bi as bestContrastColor, bj as boundedRepeaterPendingChangesGuard, bk as buildCustomPreset, bl as buildThemeValue, d as clampAlpha, bm as computeDataQualitySummary, bn as contrastRatio, bo as createDraftTheme, bp as featureRouteCanActivateGuard, bq as featureRouteCanMatchGuard, br as generatePrimaryPalette, bs as generateSurfacePalette, bt as getQualityInspectorOptions, v as getThemeOptions, bu as getThemePrimaryHex, bv as hexToOklch, bw as hexToRgb, bx as hsbaToRgbaString, by as inferTemplateFieldFromBaseClass, bz as isCustomThemeValue, bA as isDestructiveRagAction, bB as isRoutePersistenceEnabled, bC as loadBooleanEditorComponent, bD as loadButtonEditorComponent, bE as loadCodeAreaEditorComponent, bF as loadColorEditorComponent, bG as loadDateEditorComponent, bH as loadDictionaryEditorComponent, bI as loadHtmlEditorComponent, bJ as loadLookupEditorComponent, bK as loadNumberEditorComponent, bL as loadPropertyArrayEditorComponent, bM as loadPropertyObjectEditorComponent, bN as loadTextAreaEditorComponent, bO as loadTextEditorComponent, bP as loadTreeViewSelectorComponent, bQ as loadUploadEditorComponent, bR as menuRouteAccessCanActivateGuard, bS as menuRouteAccessCanMatchGuard, bT as nearestPrimaryName, bU as normalizeHex, bV as oklchToHex, bW as oklchToRgb, bX as resolveBackgroundCss, bY as resolveFontStack, bZ as resolveGridStrengths, b_ as resolveThemePreset, b$ as resolveThemePresetForOption, c0 as rgbToHex, c1 as rgbToOklch, c2 as rgbaToHsbaModel, c3 as routeMetricsClient, c4 as routes, c5 as scene3dDesignerPendingChangesGuard, c6 as themeBuilderPendingChangesGuard, t as toHsbaModel, e as toPersistedColor, c7 as wcagLevel, c8 as wuicErrorInterceptor } from './wuic-framework-lib-wuic-framework-lib-HGQNVwv6.mjs';
1
+ export { w as AUTH_REDIRECT_REASON_KEY, x as AppHeaderComponent, y as AppHeaderConfigService, z as AppSettingsEditorComponent, B as AuthSessionService, E as BooleanEditorComponent, H as BoundedRepeaterComponent, J as ButtonEditorComponent, K as CUSTOM_THEMES_STORAGE_KEY, N as CallbackPipe, O as CallbackPipe2, Q as CarouselListComponent, R as CodeAreaEditorComponent, S as ColorEditorComponent, V as CrashReporterService, X as CustomAttributesService, Y as CustomException, Z as DEFAULT_FONT_STACK, _ as DEFAULT_THEME_STORAGE_KEY, $ as DEFAULT_THEME_VALUE, a0 as DataActionButtonComponent, a1 as DataProviderOdataService, c as DataRepeaterComponent, b as DataSourceComponent, a2 as DateEditorComponent, a3 as DesignerRouteComponent, a4 as DictionaryEditorComponent, a as DynamicCompilerService, a5 as DynamicRowTemplateComponent, k as FieldEditorComponent, F as FilterBarComponent, q as FilterInfo, a6 as FormatGridViewValuePipe, a7 as GetSrcUploadPreviewPipe, G as GlobalHandler, a8 as HtmlEditorComponent, a9 as ImageWrapperComponent, I as ImportExportButtonComponent, aa as IsSelectedRowPipe, ab as KanbanListComponent, ac as KanbanOptions, ad as KanbanStatusColumnItem, ae as LazyChartListComponent, af as LazyCodeEditorComponent, ag as LazyDataActionButtonComponent, ah as LazyDataSourceComponent, ai as LazyFieldEditorComponent, aj as LazyFirstRunWizardComponent, ak as LazyImageWrapperComponent, al as LazyKanbanListComponent, am as LazyMetaMenuComponent, an as LazyPivotBuilderComponent, ao as LazyReportDesignerComponent, ap as LazyReportViewerComponent, aq as LazySchedulerListComponent, ar as LazySpreadsheetListSfComponent, as as LazyTimelineListComponent, r as LicenseFeatureService, at as ListGridComponent, au as LookupEditorComponent, av as MapListComponent, o as MetaInfo, aw as MetaMenuComponent, i as MetadataEditorService, M as MetadataProviderService, g as MetadatiColonna, ax as MetadatiTabella, ay as NotificationBellComponent, az as NotificationRealtimeService, aA as NumberEditorComponent, aB as PALETTE_STOPS, aC as PREVIEW_RESTORE_KEY, aD as PRIMARY_PALETTES, P as PagerComponent, f as ParametricDialogComponent, aE as PerformanceInspectorComponent, aF as PointFilterComponent, aG as PropertyArrayEditorComponent, aH as PropertyObjectEditorComponent, aI as RAG_DESTRUCTIVE_KINDS, aJ as RouteMetricsDashboardComponent, aK as Scene3dDesignerRouteComponent, aL as Scene3dViewerRouteComponent, aM as THEME_MODE_STORAGE_KEY, aN as THEME_OPTIONS, aO as THEME_STORAGE_KEY, aP as TextAreaEditorComponent, aQ as TextEditorComponent, aR as ThemeBuilderComponent, aS as ThemeCatalogService, aT as ThemePreviewPanelComponent, aU as ThemeRuntimeService, aV as ThemeSelectorComponent, u as TimelineOptions, T as TranslationManagerService, aW as TreeListComponent, aX as TreeViewSelectorComponent, aY as UploadDialogComponent, aZ as UploadEditorComponent, U as UserInfoService, a_ as UserLanguageService, a$ as UserMenuComponent, b0 as ValidationRule, b1 as ValueChangedPayload, b2 as VisibleFieldListPipe, b3 as WUIC_FONT_CATALOG, p as WUIC_SUPPRESS_GLOBAL_ERROR, b4 as WidgetDefinition, b5 as WorkflowDesignerRouteComponent, b6 as WorkflowRunnerComponent, j as WorkflowRuntimeMetadataService, W as WtoolboxService, b7 as WuicAziendaSwitcherComponent, b8 as WuicErrorDialogComponent, b9 as WuicErrorInterceptor, ba as WuicFeatureDirective, bb as WuicFrozenColumnDirective, bc as WuicRagChatbotComponent, bd as WuicRagChatbotFabComponent, be as WuicRagService, bf as WuicRowTogglerDirective, bg as _PRIMENG_TABLE_DIRECTIVES_NAMES, bh as authExpiredInterceptor, bi as bestContrastColor, bj as boundedRepeaterPendingChangesGuard, bk as buildCustomPreset, bl as buildThemeValue, d as clampAlpha, bm as computeDataQualitySummary, bn as contrastRatio, bo as createDraftTheme, bp as featureRouteCanActivateGuard, bq as featureRouteCanMatchGuard, br as generatePrimaryPalette, bs as generateSurfacePalette, bt as getQualityInspectorOptions, v as getThemeOptions, bu as getThemePrimaryHex, bv as hexToOklch, bw as hexToRgb, bx as hsbaToRgbaString, by as inferTemplateFieldFromBaseClass, bz as isCustomThemeValue, bA as isDestructiveRagAction, bB as isRoutePersistenceEnabled, bC as loadBooleanEditorComponent, bD as loadButtonEditorComponent, bE as loadCodeAreaEditorComponent, bF as loadColorEditorComponent, bG as loadDateEditorComponent, bH as loadDictionaryEditorComponent, bI as loadHtmlEditorComponent, bJ as loadLookupEditorComponent, bK as loadNumberEditorComponent, bL as loadPropertyArrayEditorComponent, bM as loadPropertyObjectEditorComponent, bN as loadTextAreaEditorComponent, bO as loadTextEditorComponent, bP as loadTreeViewSelectorComponent, bQ as loadUploadEditorComponent, bR as menuRouteAccessCanActivateGuard, bS as menuRouteAccessCanMatchGuard, bT as nearestPrimaryName, bU as normalizeHex, bV as oklchToHex, bW as oklchToRgb, bX as resolveBackgroundCss, bY as resolveFontStack, bZ as resolveGridStrengths, b_ as resolveThemePreset, b$ as resolveThemePresetForOption, c0 as rgbToHex, c1 as rgbToOklch, c2 as rgbaToHsbaModel, c3 as routeMetricsClient, c4 as routes, c5 as scene3dDesignerPendingChangesGuard, c6 as themeBuilderPendingChangesGuard, t as toHsbaModel, e as toPersistedColor, c7 as wcagLevel, c8 as wuicErrorInterceptor } from './wuic-framework-lib-wuic-framework-lib-Ds_oD2In.mjs';
2
2
  //# sourceMappingURL=wuic-framework-lib.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wuic-framework-lib",
3
- "version": "1.7.10",
3
+ "version": "1.7.12",
4
4
  "description": "Wuic Angular Framework Library",
5
5
  "author": "Wuic",
6
6
  "license": "MIT",
@@ -3514,7 +3514,7 @@ declare class MetadataProviderService {
3514
3514
  * @param col Metadato colonna da analizzare.
3515
3515
  * @returns Nome tipo TypeScript stimato (`string`, `number`, `boolean`, `Date`, `any`).
3516
3516
  */
3517
- static getTSTypeFromMetaColumn(col: MetadatiColonna): "boolean" | "number" | "string" | "any" | "Date";
3517
+ static getTSTypeFromMetaColumn(col: MetadatiColonna): "string" | "number" | "any" | "boolean" | "Date";
3518
3518
  /**
3519
3519
  * Normalizza e arricchisce i metadata colonna/tabella: ordina campi, inizializza callback dinamiche, parse di bag JSON
3520
3520
  * e garantisce fallback robusti per funzioni custom non compilabili.