wuic-framework-lib 1.7.13 → 1.7.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/{wuic-framework-lib-chart-list.component-BIpu6QY3.mjs → wuic-framework-lib-chart-list.component-KnBu-yVf.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-code-editor.component-P181nIU9.mjs → wuic-framework-lib-code-editor.component-DtI4RXbf.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-designer.component-DZ7C9ygB.mjs → wuic-framework-lib-designer.component-jWS88Z6N.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-first-run-wizard.component-CGCBKpdv.mjs → wuic-framework-lib-first-run-wizard.component-Bewa6pM8.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-framework-docs.component-CX4DuW-Q.mjs → wuic-framework-lib-framework-docs.component-fMNH_vI8.mjs} +226 -146
- package/fesm2022/{wuic-framework-lib-pivot-builder.component-CrJUJDxX.mjs → wuic-framework-lib-pivot-builder.component-Bie3oqY9.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-prompt-dialog-fallback-host.component-fk_u2CFB.mjs → wuic-framework-lib-prompt-dialog-fallback-host.component-ojBL8qTM.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-report-designer.component-urOz2Pq8.mjs → wuic-framework-lib-report-designer.component-CDIPEVkI.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-report-scaffold-dialog.component-okexsstE.mjs → wuic-framework-lib-report-scaffold-dialog.component-DNS7CPAW.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-report-viewer.component-CCpUOyb4.mjs → wuic-framework-lib-report-viewer.component-BFw7SVe3.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-scene3d-designer.component-DLcruDYB.mjs → wuic-framework-lib-scene3d-designer.component-Bc-_NNcX.mjs} +3 -3
- package/fesm2022/{wuic-framework-lib-scene3d-light-baker-gpu-Dj22rwPQ.mjs → wuic-framework-lib-scene3d-light-baker-gpu-CxpO9_pd.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-scene3d-viewer.component-DA47y9vo.mjs → wuic-framework-lib-scene3d-viewer.component-jbV7-Xy8.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-scheduler-list.component-BXx84Cc7.mjs → wuic-framework-lib-scheduler-list.component-am7oZQln.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-spreadsheet-list-sf.component-v7rE3WW_.mjs → wuic-framework-lib-spreadsheet-list-sf.component-Cl2xoB6n.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-timeline-list.component-CP9PpRQB.mjs → wuic-framework-lib-timeline-list.component-AXyPh6SA.mjs} +4 -4
- package/fesm2022/{wuic-framework-lib-workflow-designer.component-CETZSZzu.mjs → wuic-framework-lib-workflow-designer.component-euretE8u.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-wuic-framework-lib-CRUM1gc_.mjs → wuic-framework-lib-wuic-framework-lib-BXteb2PD.mjs} +78 -29
- package/fesm2022/wuic-framework-lib.mjs +1 -1
- package/package.json +1 -1
- package/types/wuic-framework-lib.d.ts +12 -1
|
@@ -204,6 +204,8 @@ const WuicErrorCodes = {
|
|
|
204
204
|
// Causa tipica lato client: chiavi con case diverso da `mc_nome_colonna`, che e'
|
|
205
205
|
// case-sensitive (es. `cityID` invece di `CityID`), o PK omessa dal payload.
|
|
206
206
|
CrudMissingKeyPredicate: 'errors.metaservice.crud.missing_key_predicate',
|
|
207
|
+
// Export rifiutato: tutti gli slot export occupati e la coda (maxQueuedExports) piena. HTTP 503.
|
|
208
|
+
ExportQueueFull: 'errors.metaservice.export.queue_full',
|
|
207
209
|
DbSqlException: 'errors.db.sql_exception', // passthrough — dialog dedicato
|
|
208
210
|
DbConnection: 'errors.db.connection',
|
|
209
211
|
DbTimeout: 'errors.db.timeout',
|
|
@@ -3420,7 +3422,7 @@ class WtoolboxService {
|
|
|
3420
3422
|
const appRef = resolvedInjector.get(ApplicationRef);
|
|
3421
3423
|
const environmentInjector = resolvedInjector.get(EnvironmentInjector);
|
|
3422
3424
|
const close$ = new Subject();
|
|
3423
|
-
const { PromptDialogFallbackHostComponent } = await import('./wuic-framework-lib-prompt-dialog-fallback-host.component-
|
|
3425
|
+
const { PromptDialogFallbackHostComponent } = await import('./wuic-framework-lib-prompt-dialog-fallback-host.component-ojBL8qTM.mjs');
|
|
3424
3426
|
const hostRef = createComponent(PromptDialogFallbackHostComponent, { environmentInjector });
|
|
3425
3427
|
hostRef.instance.datasource = dialogConfig?.data?.datasource;
|
|
3426
3428
|
hostRef.instance.header = String(dialogConfig?.header || '');
|
|
@@ -4745,6 +4747,8 @@ class WtoolboxService {
|
|
|
4745
4747
|
commit_level: "R",
|
|
4746
4748
|
use_column_captions: "C",
|
|
4747
4749
|
use_descriptive_fkey: true,
|
|
4750
|
+
// Colonne lookup di export e import: "key" | "description" | "both" (vince su use_descriptive_fkey).
|
|
4751
|
+
fkey_mode: "description",
|
|
4748
4752
|
separator: ";"
|
|
4749
4753
|
},
|
|
4750
4754
|
notifications: {
|
|
@@ -22131,7 +22135,7 @@ class LazySchedulerListComponent {
|
|
|
22131
22135
|
* Inizializza il componente preparando stato, sottoscrizioni e primi caricamenti richiesti.
|
|
22132
22136
|
*/
|
|
22133
22137
|
async ngOnInit() {
|
|
22134
|
-
schedulerListComponentPromise ??= import('./wuic-framework-lib-scheduler-list.component-
|
|
22138
|
+
schedulerListComponentPromise ??= import('./wuic-framework-lib-scheduler-list.component-am7oZQln.mjs').then((m) => m.SchedulerListComponent);
|
|
22135
22139
|
this.loadedComponent = await schedulerListComponentPromise;
|
|
22136
22140
|
this.cdr.markForCheck();
|
|
22137
22141
|
}
|
|
@@ -22339,7 +22343,7 @@ class LazySpreadsheetListSfComponent {
|
|
|
22339
22343
|
this.activatedRoute = activatedRoute;
|
|
22340
22344
|
}
|
|
22341
22345
|
async ngOnInit() {
|
|
22342
|
-
spreadsheetListSfComponentPromise ??= import('./wuic-framework-lib-spreadsheet-list-sf.component-
|
|
22346
|
+
spreadsheetListSfComponentPromise ??= import('./wuic-framework-lib-spreadsheet-list-sf.component-Cl2xoB6n.mjs').then((m) => m.SpreadsheetListSfComponent);
|
|
22343
22347
|
this.loadedComponent = await spreadsheetListSfComponentPromise;
|
|
22344
22348
|
// Quando la promise e' gia' risolta dal cache module-scope (secondo mount
|
|
22345
22349
|
// post-refresh), il microtask che risolve `await` non scatena sempre CD
|
|
@@ -22617,7 +22621,7 @@ class LazyChartListComponent {
|
|
|
22617
22621
|
* Inizializza il componente preparando stato, sottoscrizioni e primi caricamenti richiesti.
|
|
22618
22622
|
*/
|
|
22619
22623
|
async ngOnInit() {
|
|
22620
|
-
chartListComponentPromise ??= import('./wuic-framework-lib-chart-list.component-
|
|
22624
|
+
chartListComponentPromise ??= import('./wuic-framework-lib-chart-list.component-KnBu-yVf.mjs').then((m) => m.ChartListComponent);
|
|
22621
22625
|
this.loadedComponent = await chartListComponentPromise;
|
|
22622
22626
|
this.cdr.markForCheck();
|
|
22623
22627
|
}
|
|
@@ -22939,7 +22943,7 @@ class LazyTimelineListComponent {
|
|
|
22939
22943
|
this.cdr = cdr;
|
|
22940
22944
|
}
|
|
22941
22945
|
async ngOnInit() {
|
|
22942
|
-
timelineListComponentPromise ??= import('./wuic-framework-lib-timeline-list.component-
|
|
22946
|
+
timelineListComponentPromise ??= import('./wuic-framework-lib-timeline-list.component-AXyPh6SA.mjs').then((m) => m.TimelineListComponent);
|
|
22943
22947
|
this.loadedComponent = await timelineListComponentPromise;
|
|
22944
22948
|
this.cdr.markForCheck();
|
|
22945
22949
|
}
|
|
@@ -24208,7 +24212,7 @@ class MetadataEditorComponent {
|
|
|
24208
24212
|
}
|
|
24209
24213
|
let result;
|
|
24210
24214
|
try {
|
|
24211
|
-
const { ReportScaffoldDialogComponent } = await import('./wuic-framework-lib-report-scaffold-dialog.component-
|
|
24215
|
+
const { ReportScaffoldDialogComponent } = await import('./wuic-framework-lib-report-scaffold-dialog.component-DNS7CPAW.mjs');
|
|
24212
24216
|
WtoolboxService.resolveDialogServiceFromInjector();
|
|
24213
24217
|
const ref = WtoolboxService.dialogService?.open?.(ReportScaffoldDialogComponent, {
|
|
24214
24218
|
header: this.t('report.scaffold.dialog_title', 'Create report'),
|
|
@@ -34483,6 +34487,9 @@ class NotificationRealtimeService {
|
|
|
34483
34487
|
route: String(payload?.route || '').trim() || undefined,
|
|
34484
34488
|
totalRecords: Number.isFinite(Number(payload?.totalRecords))
|
|
34485
34489
|
? Number(payload?.totalRecords)
|
|
34490
|
+
: null,
|
|
34491
|
+
queuePosition: Number(payload?.queuePosition) > 0
|
|
34492
|
+
? Math.floor(Number(payload?.queuePosition))
|
|
34486
34493
|
: null
|
|
34487
34494
|
};
|
|
34488
34495
|
this.progressEvents$.next(event);
|
|
@@ -34716,7 +34723,7 @@ class ImportExportButtonComponent {
|
|
|
34716
34723
|
import_type: 'I',
|
|
34717
34724
|
commit_level: 'R',
|
|
34718
34725
|
use_column_captions: 'C',
|
|
34719
|
-
|
|
34726
|
+
fkey_mode: 'description',
|
|
34720
34727
|
separator: ';',
|
|
34721
34728
|
allowedExtensions: ['xls', 'xlsx']
|
|
34722
34729
|
};
|
|
@@ -35037,9 +35044,23 @@ class ImportExportButtonComponent {
|
|
|
35037
35044
|
if (this.exportProgressTotalRecords <= 0 && Number.isFinite(totalFromEvent) && totalFromEvent > 0) {
|
|
35038
35045
|
this.exportProgressTotalRecords = Math.floor(totalFromEvent);
|
|
35039
35046
|
}
|
|
35047
|
+
const queuePosition = Number(evt?.queuePosition);
|
|
35048
|
+
if (queuePosition > 0) {
|
|
35049
|
+
this.applyExportQueuePosition(queuePosition);
|
|
35050
|
+
return;
|
|
35051
|
+
}
|
|
35040
35052
|
this.applyExportProgressValue(progress);
|
|
35041
35053
|
});
|
|
35042
35054
|
}
|
|
35055
|
+
/** Il server ha gia' il massimo di export in corso: questo aspetta il suo turno. */
|
|
35056
|
+
applyExportQueuePosition(position) {
|
|
35057
|
+
this.exportProgressValue = 0;
|
|
35058
|
+
this.exportProgressDetail = this.trslSrv.format(this.t('import_export.export_queued_{0}', "In coda: posizione {0}. L'export parte appena si libera un posto."), String(Math.floor(position)));
|
|
35059
|
+
try {
|
|
35060
|
+
this.cdr.detectChanges();
|
|
35061
|
+
}
|
|
35062
|
+
catch { /* host destroyed mid-export */ }
|
|
35063
|
+
}
|
|
35043
35064
|
stopExportProgressPolling() {
|
|
35044
35065
|
this.exportProgressWsSubscription?.unsubscribe();
|
|
35045
35066
|
this.exportProgressWsSubscription = undefined;
|
|
@@ -35105,6 +35126,14 @@ class ImportExportButtonComponent {
|
|
|
35105
35126
|
this.exportProgressDialogVisible = true;
|
|
35106
35127
|
this.startExportProgressPolling(guid);
|
|
35107
35128
|
}
|
|
35129
|
+
/** extraProps.import.fkey_mode, altrimenti il booleano storico use_descriptive_fkey (default descrizione). */
|
|
35130
|
+
resolveFkeyMode(importCfg) {
|
|
35131
|
+
const mode = String(importCfg?.fkey_mode || '').trim().toLowerCase();
|
|
35132
|
+
if (mode === 'key' || mode === 'description' || mode === 'both') {
|
|
35133
|
+
return mode;
|
|
35134
|
+
}
|
|
35135
|
+
return importCfg?.use_descriptive_fkey === false ? 'key' : 'description';
|
|
35136
|
+
}
|
|
35108
35137
|
getImportConfigFromMetadata() {
|
|
35109
35138
|
return (this.tableMetadata?.extraProps)?.import || {};
|
|
35110
35139
|
}
|
|
@@ -35121,7 +35150,7 @@ class ImportExportButtonComponent {
|
|
|
35121
35150
|
import_type: String(importCfg?.import_type || 'I').trim() || 'I',
|
|
35122
35151
|
commit_level: String(importCfg?.commit_level || 'R').trim() || 'R',
|
|
35123
35152
|
use_column_captions: String(importCfg?.use_column_captions || 'C').trim() || 'C',
|
|
35124
|
-
|
|
35153
|
+
fkey_mode: this.resolveFkeyMode(importCfg),
|
|
35125
35154
|
separator: String(importCfg?.separator || ';') || ';',
|
|
35126
35155
|
allowedExtensions: allowedExtensions.length ? allowedExtensions : ['xls', 'xlsx']
|
|
35127
35156
|
};
|
|
@@ -35247,7 +35276,9 @@ class ImportExportButtonComponent {
|
|
|
35247
35276
|
appendOpt('import_type', this.importOptionsForm.import_type || 'I');
|
|
35248
35277
|
appendOpt('commit_level', this.importOptionsForm.commit_level || 'R');
|
|
35249
35278
|
appendOpt('use_column_captions', this.importOptionsForm.use_column_captions || 'C');
|
|
35250
|
-
appendOpt('
|
|
35279
|
+
appendOpt('fkey_mode', this.importOptionsForm.fkey_mode || 'description');
|
|
35280
|
+
// Per i backend che non conoscono fkey_mode: 'both' e 'description' sono descrittivi.
|
|
35281
|
+
appendOpt('use_descriptive_fkey', (this.importOptionsForm.fkey_mode || 'description') !== 'key');
|
|
35251
35282
|
appendOpt('separator', this.importOptionsForm.separator || ';');
|
|
35252
35283
|
appendOpt('route_context_json', JSON.stringify(WtoolboxService.buildCrudRouteContext(routeName, 'import', 'ImportExportButton.importFile')));
|
|
35253
35284
|
const response = await fetch(uploadEndpoint, {
|
|
@@ -35488,11 +35519,11 @@ class ImportExportButtonComponent {
|
|
|
35488
35519
|
this.importProgressWsSubscription = undefined;
|
|
35489
35520
|
}
|
|
35490
35521
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ImportExportButtonComponent, deps: [{ token: i1$2.ActivatedRoute }, { token: DataProviderService }, { token: DataProviderMetaService }, { token: NotificationRealtimeService }, { token: TranslationManagerService }, { token: UserInfoService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
35491
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ImportExportButtonComponent, isStandalone: true, selector: "wuic-import-export-button", inputs: { routeName: "routeName", tableMetadata: "tableMetadata", filterInfoProvider: "filterInfoProvider" }, host: { listeners: { "window:wuic-export-progress-resume": "onExportProgressResumeEvent($event)", "window:wuic-import-progress-resume": "onImportProgressResumeEvent($event)" } }, viewQueries: [{ propertyName: "importFileInputRef", first: true, predicate: ["importFileInput"], descendants: true }], ngImport: i0, template: "@if (hasAnyAction) {\r\n@if (hasBothActions) {\r\n<p-button [label]=\"label\" [icon]=\"icon\" (onClick)=\"toggleMenu($event, importExportMenu)\" />\r\n<p-menu #importExportMenu [popup]=\"true\" [model]=\"popupMenuItems\" appendTo=\"body\"></p-menu>\r\n} @else {\r\n<p-button [label]=\"label\" [icon]=\"icon\" (onClick)=\"onPrimaryClick()\" />\r\n}\r\n@if (canImportXls) {\r\n<input #importFileInput type=\"file\"\r\n accept=\".xls,.xlsx,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"\r\n style=\"display: none;\" (change)=\"onImportFileSelected($event)\" />\r\n}\r\n}\r\n\r\n<p-dialog [header]=\"'import_export.import_dialog_title' | translate\" [(visible)]=\"importDialogVisible\" [modal]=\"true\" [closable]=\"true\"\r\n [style]=\"{ width: '34rem', maxWidth: '95vw' }\">\r\n <div class=\"wuic-import-dialog\">\r\n <div class=\"wuic-import-grid\">\r\n <label for=\"wuic-import-type\">{{ 'import_export.import_type' | translate }}</label>\r\n <select id=\"wuic-import-type\" class=\"p-inputtext p-component\" [(ngModel)]=\"importOptionsForm.import_type\">\r\n <option value=\"I\">{{ 'import_export.import_type_i' | translate }}</option>\r\n <option value=\"U\">{{ 'import_export.import_type_u' | translate }}</option>\r\n <option value=\"IU\">{{ 'import_export.import_type_iu' | translate }}</option>\r\n </select>\r\n\r\n <label for=\"wuic-import-commit-level\">{{ 'import_export.commit_level' | translate }}</label>\r\n <select id=\"wuic-import-commit-level\" class=\"p-inputtext p-component\" [(ngModel)]=\"importOptionsForm.commit_level\">\r\n <option value=\"R\">{{ 'import_export.commit_level_r' | translate }}</option>\r\n <option value=\"I\">{{ 'import_export.commit_level_i' | translate }}</option>\r\n <option value=\"C\">{{ 'import_export.commit_level_c' | translate }}</option>\r\n <option value=\"T\">{{ 'import_export.commit_level_t' | translate }}</option>\r\n </select>\r\n\r\n <label for=\"wuic-import-use-column-captions\">{{ 'import_export.use_column_captions' | translate }}</label>\r\n <select id=\"wuic-import-use-column-captions\" class=\"p-inputtext p-component\" [(ngModel)]=\"importOptionsForm.use_column_captions\">\r\n <option value=\"N\">{{ 'import_export.use_column_captions_n' | translate }}</option>\r\n <option value=\"C\">{{ 'import_export.use_column_captions_c' | translate }}</option>\r\n </select>\r\n\r\n <label for=\"wuic-import-separator\">{{ 'import_export.separator' | translate }}</label>\r\n <input id=\"wuic-import-separator\" type=\"text\" pInputText [(ngModel)]=\"importOptionsForm.separator\" />\r\n </div>\r\n\r\n <label class=\"wuic-column-layout-check\">\r\n <input type=\"checkbox\" [(ngModel)]=\"importOptionsForm.use_descriptive_fkey\" />\r\n <span>{{ 'import_export.use_descriptive_fkey' | translate }}</span>\r\n </label>\r\n\r\n <div class=\"wuic-import-file-row\">\r\n <p-button icon=\"pi pi-paperclip\" [label]=\"'import_export.select_file' | translate\" [outlined]=\"true\" (onClick)=\"triggerImportFileSelection()\" />\r\n <span>{{ importSelectedFileName || ('import_export.no_file_selected' | translate) }}</span>\r\n </div>\r\n </div>\r\n\r\n <ng-template pTemplate=\"footer\">\r\n <p-button [label]=\"'cancel' | translate\" [outlined]=\"true\" [disabled]=\"importDialogBusy\"\r\n (onClick)=\"importDialogVisible = false\" />\r\n <p-button [label]=\"'import_export.confirm_import' | translate\" [disabled]=\"importDialogBusy || !importSelectedFileName\"\r\n (onClick)=\"confirmImportDialog()\" />\r\n </ng-template>\r\n</p-dialog>\r\n\r\n<p-dialog [header]=\"'import_export.import_progress_title' | translate\" [(visible)]=\"importProgressDialogVisible\" [modal]=\"true\" [closable]=\"false\"\r\n [draggable]=\"false\" [resizable]=\"false\" [style]=\"{ width: '30rem', maxWidth: '95vw' }\"\r\n styleClass=\"wuic-progress-dialog\">\r\n <div class=\"wuic-export-progress-dialog\">\r\n <p-progressbar [value]=\"importProgressValue\"></p-progressbar>\r\n <div class=\"wuic-export-progress-detail\">{{ importProgressDetail }}</div>\r\n </div>\r\n <ng-template pTemplate=\"footer\">\r\n <p-button [label]=\"'import_export.continue_in_background' | translate\" [outlined]=\"true\" [disabled]=\"importControlBusy\"\r\n (onClick)=\"continueImportInBackground()\" />\r\n <p-button [label]=\"'import_export.cancel_import_rollback' | translate\" severity=\"danger\" [outlined]=\"true\" [disabled]=\"importControlBusy\"\r\n (onClick)=\"cancelImportTaskFromDialog()\" />\r\n <p-button [label]=\"'import_export.stop_commit_partial' | translate\" [disabled]=\"importControlBusy\"\r\n (onClick)=\"stopImportAndCommitFromDialog()\" />\r\n </ng-template>\r\n</p-dialog>\r\n\r\n<p-dialog [header]=\"'import_export.export_progress_title' | translate\" [(visible)]=\"exportProgressDialogVisible\" [modal]=\"true\" [closable]=\"false\"\r\n [draggable]=\"false\" [resizable]=\"false\" [style]=\"{ width: '30rem', maxWidth: '95vw' }\"\r\n styleClass=\"wuic-progress-dialog\">\r\n <div class=\"wuic-export-progress-dialog\">\r\n <p-progressbar [value]=\"exportProgressValue\"></p-progressbar>\r\n <div class=\"wuic-export-progress-detail\">{{ exportProgressDetail }}</div>\r\n </div>\r\n <ng-template pTemplate=\"footer\">\r\n <p-button [label]=\"'import_export.continue_in_background' | translate\" [outlined]=\"true\" [disabled]=\"exportControlBusy\"\r\n (onClick)=\"continueExportInBackground()\" />\r\n <p-button [label]=\"'import_export.cancel_task' | translate\" severity=\"danger\" [outlined]=\"true\" [disabled]=\"exportControlBusy\"\r\n (onClick)=\"cancelExportTaskFromDialog()\" />\r\n <p-button [label]=\"'import_export.stop_download_partial' | translate\" [disabled]=\"exportControlBusy\"\r\n (onClick)=\"stopExportAndDownloadPartialFromDialog()\" />\r\n </ng-template>\r\n</p-dialog>\r\n", styles: [".wuic-export-progress-dialog{display:flex;flex-direction:column;gap:.65rem}::ng-deep .wuic-progress-dialog .p-progressbar{--p-progressbar-value-transition: none}::ng-deep .wuic-progress-dialog .p-progressbar .p-progressbar-value,::ng-deep .wuic-progress-dialog .p-progressbar-value,:host ::ng-deep .wuic-export-progress-dialog .p-progressbar .p-progressbar-value,:host ::ng-deep .wuic-export-progress-dialog .p-progressbar-value{transition:none!important;animation:none!important}.wuic-export-progress-detail{font-size:.9rem;font-weight:600;text-align:right}.wuic-import-dialog{display:flex;flex-direction:column;gap:.75rem}.wuic-import-grid{display:grid;grid-template-columns:1fr;gap:.35rem}.wuic-import-file-row{display:flex;align-items:center;gap:.65rem}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i4.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: MenuModule }, { kind: "component", type: i7$1.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex", "appendTo", "motionOptions"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { 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: "ngmodule", type: ProgressBarModule }, { kind: "component", type: i6$3.ProgressBar, selector: "p-progressBar, p-progressbar, p-progress-bar", inputs: ["value", "showValue", "styleClass", "valueStyleClass", "unit", "mode", "color"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3$2.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
|
|
35522
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ImportExportButtonComponent, isStandalone: true, selector: "wuic-import-export-button", inputs: { routeName: "routeName", tableMetadata: "tableMetadata", filterInfoProvider: "filterInfoProvider" }, host: { listeners: { "window:wuic-export-progress-resume": "onExportProgressResumeEvent($event)", "window:wuic-import-progress-resume": "onImportProgressResumeEvent($event)" } }, viewQueries: [{ propertyName: "importFileInputRef", first: true, predicate: ["importFileInput"], descendants: true }], ngImport: i0, template: "@if (hasAnyAction) {\r\n@if (hasBothActions) {\r\n<p-button [label]=\"label\" [icon]=\"icon\" (onClick)=\"toggleMenu($event, importExportMenu)\" />\r\n<p-menu #importExportMenu [popup]=\"true\" [model]=\"popupMenuItems\" appendTo=\"body\"></p-menu>\r\n} @else {\r\n<p-button [label]=\"label\" [icon]=\"icon\" (onClick)=\"onPrimaryClick()\" />\r\n}\r\n@if (canImportXls) {\r\n<input #importFileInput type=\"file\"\r\n accept=\".xls,.xlsx,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"\r\n style=\"display: none;\" (change)=\"onImportFileSelected($event)\" />\r\n}\r\n}\r\n\r\n<p-dialog [header]=\"'import_export.import_dialog_title' | translate\" [(visible)]=\"importDialogVisible\" [modal]=\"true\" [closable]=\"true\"\r\n [style]=\"{ width: '34rem', maxWidth: '95vw' }\">\r\n <div class=\"wuic-import-dialog\">\r\n <div class=\"wuic-import-grid\">\r\n <label for=\"wuic-import-type\">{{ 'import_export.import_type' | translate }}</label>\r\n <select id=\"wuic-import-type\" class=\"p-inputtext p-component\" [(ngModel)]=\"importOptionsForm.import_type\">\r\n <option value=\"I\">{{ 'import_export.import_type_i' | translate }}</option>\r\n <option value=\"U\">{{ 'import_export.import_type_u' | translate }}</option>\r\n <option value=\"IU\">{{ 'import_export.import_type_iu' | translate }}</option>\r\n </select>\r\n\r\n <label for=\"wuic-import-commit-level\">{{ 'import_export.commit_level' | translate }}</label>\r\n <select id=\"wuic-import-commit-level\" class=\"p-inputtext p-component\" [(ngModel)]=\"importOptionsForm.commit_level\">\r\n <option value=\"R\">{{ 'import_export.commit_level_r' | translate }}</option>\r\n <option value=\"I\">{{ 'import_export.commit_level_i' | translate }}</option>\r\n <option value=\"C\">{{ 'import_export.commit_level_c' | translate }}</option>\r\n <option value=\"T\">{{ 'import_export.commit_level_t' | translate }}</option>\r\n </select>\r\n\r\n <label for=\"wuic-import-use-column-captions\">{{ 'import_export.use_column_captions' | translate }}</label>\r\n <select id=\"wuic-import-use-column-captions\" class=\"p-inputtext p-component\" [(ngModel)]=\"importOptionsForm.use_column_captions\">\r\n <option value=\"N\">{{ 'import_export.use_column_captions_n' | translate }}</option>\r\n <option value=\"C\">{{ 'import_export.use_column_captions_c' | translate }}</option>\r\n </select>\r\n\r\n <label for=\"wuic-import-separator\">{{ 'import_export.separator' | translate }}</label>\r\n <input id=\"wuic-import-separator\" type=\"text\" pInputText [(ngModel)]=\"importOptionsForm.separator\" />\r\n\r\n <label for=\"wuic-import-fkey-mode\">{{ 'import_export.fkey_mode' | translate }}</label>\r\n <select id=\"wuic-import-fkey-mode\" class=\"p-inputtext p-component\" [(ngModel)]=\"importOptionsForm.fkey_mode\">\r\n <option value=\"description\">{{ 'import_export.fkey_mode_description' | translate }}</option>\r\n <option value=\"key\">{{ 'import_export.fkey_mode_key' | translate }}</option>\r\n <option value=\"both\">{{ 'import_export.fkey_mode_both' | translate }}</option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"wuic-import-file-row\">\r\n <p-button icon=\"pi pi-paperclip\" [label]=\"'import_export.select_file' | translate\" [outlined]=\"true\" (onClick)=\"triggerImportFileSelection()\" />\r\n <span>{{ importSelectedFileName || ('import_export.no_file_selected' | translate) }}</span>\r\n </div>\r\n </div>\r\n\r\n <ng-template pTemplate=\"footer\">\r\n <p-button [label]=\"'cancel' | translate\" [outlined]=\"true\" [disabled]=\"importDialogBusy\"\r\n (onClick)=\"importDialogVisible = false\" />\r\n <p-button [label]=\"'import_export.confirm_import' | translate\" [disabled]=\"importDialogBusy || !importSelectedFileName\"\r\n (onClick)=\"confirmImportDialog()\" />\r\n </ng-template>\r\n</p-dialog>\r\n\r\n<p-dialog [header]=\"'import_export.import_progress_title' | translate\" [(visible)]=\"importProgressDialogVisible\" [modal]=\"true\" [closable]=\"false\"\r\n [draggable]=\"false\" [resizable]=\"false\" [style]=\"{ width: '30rem', maxWidth: '95vw' }\"\r\n styleClass=\"wuic-progress-dialog\">\r\n <div class=\"wuic-export-progress-dialog\">\r\n <p-progressbar [value]=\"importProgressValue\"></p-progressbar>\r\n <div class=\"wuic-export-progress-detail\">{{ importProgressDetail }}</div>\r\n </div>\r\n <ng-template pTemplate=\"footer\">\r\n <p-button [label]=\"'import_export.continue_in_background' | translate\" [outlined]=\"true\" [disabled]=\"importControlBusy\"\r\n (onClick)=\"continueImportInBackground()\" />\r\n <p-button [label]=\"'import_export.cancel_import_rollback' | translate\" severity=\"danger\" [outlined]=\"true\" [disabled]=\"importControlBusy\"\r\n (onClick)=\"cancelImportTaskFromDialog()\" />\r\n <p-button [label]=\"'import_export.stop_commit_partial' | translate\" [disabled]=\"importControlBusy\"\r\n (onClick)=\"stopImportAndCommitFromDialog()\" />\r\n </ng-template>\r\n</p-dialog>\r\n\r\n<p-dialog [header]=\"'import_export.export_progress_title' | translate\" [(visible)]=\"exportProgressDialogVisible\" [modal]=\"true\" [closable]=\"false\"\r\n [draggable]=\"false\" [resizable]=\"false\" [style]=\"{ width: '30rem', maxWidth: '95vw' }\"\r\n styleClass=\"wuic-progress-dialog\">\r\n <div class=\"wuic-export-progress-dialog\">\r\n <p-progressbar [value]=\"exportProgressValue\"></p-progressbar>\r\n <div class=\"wuic-export-progress-detail\">{{ exportProgressDetail }}</div>\r\n </div>\r\n <ng-template pTemplate=\"footer\">\r\n <p-button [label]=\"'import_export.continue_in_background' | translate\" [outlined]=\"true\" [disabled]=\"exportControlBusy\"\r\n (onClick)=\"continueExportInBackground()\" />\r\n <p-button [label]=\"'import_export.cancel_task' | translate\" severity=\"danger\" [outlined]=\"true\" [disabled]=\"exportControlBusy\"\r\n (onClick)=\"cancelExportTaskFromDialog()\" />\r\n <p-button [label]=\"'import_export.stop_download_partial' | translate\" [disabled]=\"exportControlBusy\"\r\n (onClick)=\"stopExportAndDownloadPartialFromDialog()\" />\r\n </ng-template>\r\n</p-dialog>\r\n", styles: [".wuic-export-progress-dialog{display:flex;flex-direction:column;gap:.65rem}::ng-deep .wuic-progress-dialog .p-progressbar{--p-progressbar-value-transition: none}::ng-deep .wuic-progress-dialog .p-progressbar .p-progressbar-value,::ng-deep .wuic-progress-dialog .p-progressbar-value,:host ::ng-deep .wuic-export-progress-dialog .p-progressbar .p-progressbar-value,:host ::ng-deep .wuic-export-progress-dialog .p-progressbar-value{transition:none!important;animation:none!important}.wuic-export-progress-detail{font-size:.9rem;font-weight:600;text-align:right}.wuic-import-dialog{display:flex;flex-direction:column;gap:.75rem}.wuic-import-grid{display:grid;grid-template-columns:1fr;gap:.35rem}.wuic-import-file-row{display:flex;align-items:center;gap:.65rem}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i4.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: MenuModule }, { kind: "component", type: i7$1.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex", "appendTo", "motionOptions"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { 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: "ngmodule", type: ProgressBarModule }, { kind: "component", type: i6$3.ProgressBar, selector: "p-progressBar, p-progressbar, p-progress-bar", inputs: ["value", "showValue", "styleClass", "valueStyleClass", "unit", "mode", "color"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i3$2.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pInputTextPT", "pInputTextUnstyled", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
|
|
35492
35523
|
}
|
|
35493
35524
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ImportExportButtonComponent, decorators: [{
|
|
35494
35525
|
type: Component,
|
|
35495
|
-
args: [{ selector: 'wuic-import-export-button', imports: [ButtonModule, MenuModule, DialogModule, ProgressBarModule, FormsModule, InputTextModule, TranslateModule], template: "@if (hasAnyAction) {\r\n@if (hasBothActions) {\r\n<p-button [label]=\"label\" [icon]=\"icon\" (onClick)=\"toggleMenu($event, importExportMenu)\" />\r\n<p-menu #importExportMenu [popup]=\"true\" [model]=\"popupMenuItems\" appendTo=\"body\"></p-menu>\r\n} @else {\r\n<p-button [label]=\"label\" [icon]=\"icon\" (onClick)=\"onPrimaryClick()\" />\r\n}\r\n@if (canImportXls) {\r\n<input #importFileInput type=\"file\"\r\n accept=\".xls,.xlsx,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"\r\n style=\"display: none;\" (change)=\"onImportFileSelected($event)\" />\r\n}\r\n}\r\n\r\n<p-dialog [header]=\"'import_export.import_dialog_title' | translate\" [(visible)]=\"importDialogVisible\" [modal]=\"true\" [closable]=\"true\"\r\n [style]=\"{ width: '34rem', maxWidth: '95vw' }\">\r\n <div class=\"wuic-import-dialog\">\r\n <div class=\"wuic-import-grid\">\r\n <label for=\"wuic-import-type\">{{ 'import_export.import_type' | translate }}</label>\r\n <select id=\"wuic-import-type\" class=\"p-inputtext p-component\" [(ngModel)]=\"importOptionsForm.import_type\">\r\n <option value=\"I\">{{ 'import_export.import_type_i' | translate }}</option>\r\n <option value=\"U\">{{ 'import_export.import_type_u' | translate }}</option>\r\n <option value=\"IU\">{{ 'import_export.import_type_iu' | translate }}</option>\r\n </select>\r\n\r\n <label for=\"wuic-import-commit-level\">{{ 'import_export.commit_level' | translate }}</label>\r\n <select id=\"wuic-import-commit-level\" class=\"p-inputtext p-component\" [(ngModel)]=\"importOptionsForm.commit_level\">\r\n <option value=\"R\">{{ 'import_export.commit_level_r' | translate }}</option>\r\n <option value=\"I\">{{ 'import_export.commit_level_i' | translate }}</option>\r\n <option value=\"C\">{{ 'import_export.commit_level_c' | translate }}</option>\r\n <option value=\"T\">{{ 'import_export.commit_level_t' | translate }}</option>\r\n </select>\r\n\r\n <label for=\"wuic-import-use-column-captions\">{{ 'import_export.use_column_captions' | translate }}</label>\r\n <select id=\"wuic-import-use-column-captions\" class=\"p-inputtext p-component\" [(ngModel)]=\"importOptionsForm.use_column_captions\">\r\n <option value=\"N\">{{ 'import_export.use_column_captions_n' | translate }}</option>\r\n <option value=\"C\">{{ 'import_export.use_column_captions_c' | translate }}</option>\r\n </select>\r\n\r\n <label for=\"wuic-import-separator\">{{ 'import_export.separator' | translate }}</label>\r\n <input id=\"wuic-import-separator\" type=\"text\" pInputText [(ngModel)]=\"importOptionsForm.separator\" />\r\n
|
|
35526
|
+
args: [{ selector: 'wuic-import-export-button', imports: [ButtonModule, MenuModule, DialogModule, ProgressBarModule, FormsModule, InputTextModule, TranslateModule], template: "@if (hasAnyAction) {\r\n@if (hasBothActions) {\r\n<p-button [label]=\"label\" [icon]=\"icon\" (onClick)=\"toggleMenu($event, importExportMenu)\" />\r\n<p-menu #importExportMenu [popup]=\"true\" [model]=\"popupMenuItems\" appendTo=\"body\"></p-menu>\r\n} @else {\r\n<p-button [label]=\"label\" [icon]=\"icon\" (onClick)=\"onPrimaryClick()\" />\r\n}\r\n@if (canImportXls) {\r\n<input #importFileInput type=\"file\"\r\n accept=\".xls,.xlsx,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"\r\n style=\"display: none;\" (change)=\"onImportFileSelected($event)\" />\r\n}\r\n}\r\n\r\n<p-dialog [header]=\"'import_export.import_dialog_title' | translate\" [(visible)]=\"importDialogVisible\" [modal]=\"true\" [closable]=\"true\"\r\n [style]=\"{ width: '34rem', maxWidth: '95vw' }\">\r\n <div class=\"wuic-import-dialog\">\r\n <div class=\"wuic-import-grid\">\r\n <label for=\"wuic-import-type\">{{ 'import_export.import_type' | translate }}</label>\r\n <select id=\"wuic-import-type\" class=\"p-inputtext p-component\" [(ngModel)]=\"importOptionsForm.import_type\">\r\n <option value=\"I\">{{ 'import_export.import_type_i' | translate }}</option>\r\n <option value=\"U\">{{ 'import_export.import_type_u' | translate }}</option>\r\n <option value=\"IU\">{{ 'import_export.import_type_iu' | translate }}</option>\r\n </select>\r\n\r\n <label for=\"wuic-import-commit-level\">{{ 'import_export.commit_level' | translate }}</label>\r\n <select id=\"wuic-import-commit-level\" class=\"p-inputtext p-component\" [(ngModel)]=\"importOptionsForm.commit_level\">\r\n <option value=\"R\">{{ 'import_export.commit_level_r' | translate }}</option>\r\n <option value=\"I\">{{ 'import_export.commit_level_i' | translate }}</option>\r\n <option value=\"C\">{{ 'import_export.commit_level_c' | translate }}</option>\r\n <option value=\"T\">{{ 'import_export.commit_level_t' | translate }}</option>\r\n </select>\r\n\r\n <label for=\"wuic-import-use-column-captions\">{{ 'import_export.use_column_captions' | translate }}</label>\r\n <select id=\"wuic-import-use-column-captions\" class=\"p-inputtext p-component\" [(ngModel)]=\"importOptionsForm.use_column_captions\">\r\n <option value=\"N\">{{ 'import_export.use_column_captions_n' | translate }}</option>\r\n <option value=\"C\">{{ 'import_export.use_column_captions_c' | translate }}</option>\r\n </select>\r\n\r\n <label for=\"wuic-import-separator\">{{ 'import_export.separator' | translate }}</label>\r\n <input id=\"wuic-import-separator\" type=\"text\" pInputText [(ngModel)]=\"importOptionsForm.separator\" />\r\n\r\n <label for=\"wuic-import-fkey-mode\">{{ 'import_export.fkey_mode' | translate }}</label>\r\n <select id=\"wuic-import-fkey-mode\" class=\"p-inputtext p-component\" [(ngModel)]=\"importOptionsForm.fkey_mode\">\r\n <option value=\"description\">{{ 'import_export.fkey_mode_description' | translate }}</option>\r\n <option value=\"key\">{{ 'import_export.fkey_mode_key' | translate }}</option>\r\n <option value=\"both\">{{ 'import_export.fkey_mode_both' | translate }}</option>\r\n </select>\r\n </div>\r\n\r\n <div class=\"wuic-import-file-row\">\r\n <p-button icon=\"pi pi-paperclip\" [label]=\"'import_export.select_file' | translate\" [outlined]=\"true\" (onClick)=\"triggerImportFileSelection()\" />\r\n <span>{{ importSelectedFileName || ('import_export.no_file_selected' | translate) }}</span>\r\n </div>\r\n </div>\r\n\r\n <ng-template pTemplate=\"footer\">\r\n <p-button [label]=\"'cancel' | translate\" [outlined]=\"true\" [disabled]=\"importDialogBusy\"\r\n (onClick)=\"importDialogVisible = false\" />\r\n <p-button [label]=\"'import_export.confirm_import' | translate\" [disabled]=\"importDialogBusy || !importSelectedFileName\"\r\n (onClick)=\"confirmImportDialog()\" />\r\n </ng-template>\r\n</p-dialog>\r\n\r\n<p-dialog [header]=\"'import_export.import_progress_title' | translate\" [(visible)]=\"importProgressDialogVisible\" [modal]=\"true\" [closable]=\"false\"\r\n [draggable]=\"false\" [resizable]=\"false\" [style]=\"{ width: '30rem', maxWidth: '95vw' }\"\r\n styleClass=\"wuic-progress-dialog\">\r\n <div class=\"wuic-export-progress-dialog\">\r\n <p-progressbar [value]=\"importProgressValue\"></p-progressbar>\r\n <div class=\"wuic-export-progress-detail\">{{ importProgressDetail }}</div>\r\n </div>\r\n <ng-template pTemplate=\"footer\">\r\n <p-button [label]=\"'import_export.continue_in_background' | translate\" [outlined]=\"true\" [disabled]=\"importControlBusy\"\r\n (onClick)=\"continueImportInBackground()\" />\r\n <p-button [label]=\"'import_export.cancel_import_rollback' | translate\" severity=\"danger\" [outlined]=\"true\" [disabled]=\"importControlBusy\"\r\n (onClick)=\"cancelImportTaskFromDialog()\" />\r\n <p-button [label]=\"'import_export.stop_commit_partial' | translate\" [disabled]=\"importControlBusy\"\r\n (onClick)=\"stopImportAndCommitFromDialog()\" />\r\n </ng-template>\r\n</p-dialog>\r\n\r\n<p-dialog [header]=\"'import_export.export_progress_title' | translate\" [(visible)]=\"exportProgressDialogVisible\" [modal]=\"true\" [closable]=\"false\"\r\n [draggable]=\"false\" [resizable]=\"false\" [style]=\"{ width: '30rem', maxWidth: '95vw' }\"\r\n styleClass=\"wuic-progress-dialog\">\r\n <div class=\"wuic-export-progress-dialog\">\r\n <p-progressbar [value]=\"exportProgressValue\"></p-progressbar>\r\n <div class=\"wuic-export-progress-detail\">{{ exportProgressDetail }}</div>\r\n </div>\r\n <ng-template pTemplate=\"footer\">\r\n <p-button [label]=\"'import_export.continue_in_background' | translate\" [outlined]=\"true\" [disabled]=\"exportControlBusy\"\r\n (onClick)=\"continueExportInBackground()\" />\r\n <p-button [label]=\"'import_export.cancel_task' | translate\" severity=\"danger\" [outlined]=\"true\" [disabled]=\"exportControlBusy\"\r\n (onClick)=\"cancelExportTaskFromDialog()\" />\r\n <p-button [label]=\"'import_export.stop_download_partial' | translate\" [disabled]=\"exportControlBusy\"\r\n (onClick)=\"stopExportAndDownloadPartialFromDialog()\" />\r\n </ng-template>\r\n</p-dialog>\r\n", styles: [".wuic-export-progress-dialog{display:flex;flex-direction:column;gap:.65rem}::ng-deep .wuic-progress-dialog .p-progressbar{--p-progressbar-value-transition: none}::ng-deep .wuic-progress-dialog .p-progressbar .p-progressbar-value,::ng-deep .wuic-progress-dialog .p-progressbar-value,:host ::ng-deep .wuic-export-progress-dialog .p-progressbar .p-progressbar-value,:host ::ng-deep .wuic-export-progress-dialog .p-progressbar-value{transition:none!important;animation:none!important}.wuic-export-progress-detail{font-size:.9rem;font-weight:600;text-align:right}.wuic-import-dialog{display:flex;flex-direction:column;gap:.75rem}.wuic-import-grid{display:grid;grid-template-columns:1fr;gap:.35rem}.wuic-import-file-row{display:flex;align-items:center;gap:.65rem}\n"] }]
|
|
35496
35527
|
}], ctorParameters: () => [{ type: i1$2.ActivatedRoute }, { type: DataProviderService }, { type: DataProviderMetaService }, { type: NotificationRealtimeService }, { type: TranslationManagerService }, { type: UserInfoService }, { type: i0.ChangeDetectorRef }], propDecorators: { routeName: [{
|
|
35497
35528
|
type: Input
|
|
35498
35529
|
}], tableMetadata: [{
|
|
@@ -50568,7 +50599,7 @@ class LazyFirstRunWizardComponent {
|
|
|
50568
50599
|
this.cdr = cdr;
|
|
50569
50600
|
}
|
|
50570
50601
|
async ngOnInit() {
|
|
50571
|
-
firstRunWizardComponentPromise ??= import('./wuic-framework-lib-first-run-wizard.component-
|
|
50602
|
+
firstRunWizardComponentPromise ??= import('./wuic-framework-lib-first-run-wizard.component-Bewa6pM8.mjs').then((m) => m.WuicFirstRunWizardComponent);
|
|
50572
50603
|
const componentClass = await firstRunWizardComponentPromise;
|
|
50573
50604
|
this.componentRef = this.vcr.createComponent(componentClass);
|
|
50574
50605
|
// Forward output del componente reale al wrapper. Type assertion necessaria
|
|
@@ -62287,7 +62318,7 @@ class LazyCodeEditorComponent {
|
|
|
62287
62318
|
this.cdr = cdr;
|
|
62288
62319
|
}
|
|
62289
62320
|
async ngOnInit() {
|
|
62290
|
-
codeEditorComponentPromise ??= import('./wuic-framework-lib-code-editor.component-
|
|
62321
|
+
codeEditorComponentPromise ??= import('./wuic-framework-lib-code-editor.component-DtI4RXbf.mjs').then((m) => m.CodeEditorComponent);
|
|
62291
62322
|
this.loadedComponent = await codeEditorComponentPromise;
|
|
62292
62323
|
this.cdr.markForCheck();
|
|
62293
62324
|
}
|
|
@@ -64079,6 +64110,8 @@ class NotificationBellComponent {
|
|
|
64079
64110
|
notifications = [];
|
|
64080
64111
|
isVisible = true;
|
|
64081
64112
|
progressByGuid = {};
|
|
64113
|
+
/** Posizione nella coda export del server per le notifiche di progress in attesa. */
|
|
64114
|
+
queuePositionByGuid = {};
|
|
64082
64115
|
/** Title del bottone "elimina notifica letta" (X), localizzato. */
|
|
64083
64116
|
deleteNotificationTitle = '';
|
|
64084
64117
|
sub = new Subscription();
|
|
@@ -64150,6 +64183,13 @@ class NotificationBellComponent {
|
|
|
64150
64183
|
}
|
|
64151
64184
|
const normalized = Math.max(0, Math.min(100, progress));
|
|
64152
64185
|
this.progressByGuid[guid] = normalized;
|
|
64186
|
+
const queuePosition = Number(evt?.queuePosition);
|
|
64187
|
+
if (queuePosition > 0) {
|
|
64188
|
+
this.queuePositionByGuid[guid] = Math.floor(queuePosition);
|
|
64189
|
+
}
|
|
64190
|
+
else {
|
|
64191
|
+
delete this.queuePositionByGuid[guid];
|
|
64192
|
+
}
|
|
64153
64193
|
}));
|
|
64154
64194
|
// Riaggancio al LOGIN TARDIVO: `connect()` da solo non basta.
|
|
64155
64195
|
// La campanella vive nell'header, quindi si monta anche sulla pagina di
|
|
@@ -64346,6 +64386,15 @@ class NotificationBellComponent {
|
|
|
64346
64386
|
}));
|
|
64347
64387
|
return true;
|
|
64348
64388
|
}
|
|
64389
|
+
/** Testo "In coda: posizione N" per un export che aspetta il suo turno, altrimenti null. */
|
|
64390
|
+
getNotificationQueueText(item) {
|
|
64391
|
+
const guid = this.getNotificationProgressGuid(item);
|
|
64392
|
+
const position = guid ? this.queuePositionByGuid[guid] : undefined;
|
|
64393
|
+
if (!position) {
|
|
64394
|
+
return null;
|
|
64395
|
+
}
|
|
64396
|
+
return this.trslSrv.format(this.safeT('import_export.export_queued_short_{0}', 'In coda: posizione {0}'), String(position));
|
|
64397
|
+
}
|
|
64349
64398
|
getNotificationProgress(item) {
|
|
64350
64399
|
const guid = this.getNotificationProgressGuid(item);
|
|
64351
64400
|
if (!guid) {
|
|
@@ -64406,11 +64455,11 @@ class NotificationBellComponent {
|
|
|
64406
64455
|
}
|
|
64407
64456
|
}
|
|
64408
64457
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NotificationBellComponent, deps: [{ token: NotificationRealtimeService }, { token: i1$2.Router }, { token: TranslationManagerService }, { token: AuthSessionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
64409
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: NotificationBellComponent, isStandalone: true, selector: "wuic-notification-bell", inputs: { userId: "userId", title: "title", emptyMessage: "emptyMessage", clearReadLabel: "clearReadLabel", markAllReadLabel: "markAllReadLabel" }, viewQueries: [{ propertyName: "notificationPanel", first: true, predicate: ["notificationPanel"], descendants: true }], ngImport: i0, template: "@if (isVisible) {\r\n <button type=\"button\" class=\"notification-bell-btn\" (click)=\"notificationPanel.toggle($event)\"\r\n [attr.aria-label]=\"title || 'Notifiche'\" [attr.title]=\"title || 'Notifiche'\">\r\n <i class=\"pi pi-bell\"></i>\r\n @if (unreadCount > 0) {\r\n <span class=\"notification-bell-badge\">{{ unreadCount }}</span>\r\n }\r\n </button>\r\n\r\n <p-popover #notificationPanel appendTo=\"body\" [style]=\"{ width: '26rem', maxWidth: '92vw' }\">\r\n <div class=\"notification-panel\">\r\n <div class=\"notification-panel-header-row\">\r\n <div class=\"notification-panel-header\">{{ title }}</div>\r\n @if (notifications.length) {\r\n <div class=\"notification-panel-actions\">\r\n @if (unreadCount > 0) {\r\n <button type=\"button\" class=\"notification-mark-all-btn\" (click)=\"markAllRead()\" [title]=\"markAllReadLabel\">{{ markAllReadLabel }}</button>\r\n }\r\n <button type=\"button\" class=\"notification-clear-read-btn\" (click)=\"clearRead()\">{{ clearReadLabel }}</button>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (!notifications.length) {\r\n <div class=\"notification-empty\">{{ emptyMessage }}</div>\r\n }\r\n\r\n @for (n of notifications; track n.id) {\r\n <div class=\"notification-item\"\r\n [class.notification-item-unread]=\"!n.isRead\"\r\n [class.notification-item-clickable]=\"isClickable(n)\">\r\n <button type=\"button\" class=\"notification-item-open\" (click)=\"openNotification(n)\">\r\n <div class=\"notification-item-message\">\r\n {{ n.message }}\r\n @if (isClickable(n)) {\r\n <i class=\"pi pi-angle-right notification-item-chevron\" aria-hidden=\"true\"></i>\r\n }\r\n </div>\r\n @if (getNotificationProgress(n) !== null) {\r\n <div class=\"notification-item-progress\">\r\n <p-progressbar [value]=\"getNotificationProgress(n) || 0\"></p-progressbar>\r\n <div class=\"notification-item-progress-text\">{{ (getNotificationProgress(n) || 0).toFixed(2) }}
|
|
64458
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: NotificationBellComponent, isStandalone: true, selector: "wuic-notification-bell", inputs: { userId: "userId", title: "title", emptyMessage: "emptyMessage", clearReadLabel: "clearReadLabel", markAllReadLabel: "markAllReadLabel" }, viewQueries: [{ propertyName: "notificationPanel", first: true, predicate: ["notificationPanel"], descendants: true }], ngImport: i0, template: "@if (isVisible) {\r\n <button type=\"button\" class=\"notification-bell-btn\" (click)=\"notificationPanel.toggle($event)\"\r\n [attr.aria-label]=\"title || 'Notifiche'\" [attr.title]=\"title || 'Notifiche'\">\r\n <i class=\"pi pi-bell\"></i>\r\n @if (unreadCount > 0) {\r\n <span class=\"notification-bell-badge\">{{ unreadCount }}</span>\r\n }\r\n </button>\r\n\r\n <p-popover #notificationPanel appendTo=\"body\" [style]=\"{ width: '26rem', maxWidth: '92vw' }\">\r\n <div class=\"notification-panel\">\r\n <div class=\"notification-panel-header-row\">\r\n <div class=\"notification-panel-header\">{{ title }}</div>\r\n @if (notifications.length) {\r\n <div class=\"notification-panel-actions\">\r\n @if (unreadCount > 0) {\r\n <button type=\"button\" class=\"notification-mark-all-btn\" (click)=\"markAllRead()\" [title]=\"markAllReadLabel\">{{ markAllReadLabel }}</button>\r\n }\r\n <button type=\"button\" class=\"notification-clear-read-btn\" (click)=\"clearRead()\">{{ clearReadLabel }}</button>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (!notifications.length) {\r\n <div class=\"notification-empty\">{{ emptyMessage }}</div>\r\n }\r\n\r\n @for (n of notifications; track n.id) {\r\n <div class=\"notification-item\"\r\n [class.notification-item-unread]=\"!n.isRead\"\r\n [class.notification-item-clickable]=\"isClickable(n)\">\r\n <button type=\"button\" class=\"notification-item-open\" (click)=\"openNotification(n)\">\r\n <div class=\"notification-item-message\">\r\n {{ n.message }}\r\n @if (isClickable(n)) {\r\n <i class=\"pi pi-angle-right notification-item-chevron\" aria-hidden=\"true\"></i>\r\n }\r\n </div>\r\n @if (getNotificationProgress(n) !== null) {\r\n <div class=\"notification-item-progress\">\r\n <p-progressbar [value]=\"getNotificationProgress(n) || 0\"></p-progressbar>\r\n <div class=\"notification-item-progress-text\">{{ getNotificationQueueText(n) || ((getNotificationProgress(n) || 0).toFixed(2) + '%') }}</div>\r\n </div>\r\n }\r\n <div class=\"notification-item-meta\">{{ n.type }} \u00B7 {{ n.createdAt | date:'dd/MM/yyyy HH:mm' }}</div>\r\n </button>\r\n @if (n.isRead) {\r\n <button type=\"button\" class=\"notification-item-delete\" (click)=\"deleteReadNotification($event, n)\" [title]=\"deleteNotificationTitle\">\r\n <i class=\"pi pi-times\"></i>\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </p-popover>\r\n}\r\n", styles: [":host{display:inline-flex}.notification-bell-btn{position:relative;border:0;background:transparent;cursor:pointer;width:2.25rem;height:2.25rem;border-radius:999px;color:inherit}.notification-bell-btn:hover{background:color-mix(in srgb,var(--wuic-accent, #3b82f6) 12%,transparent)}.notification-bell-badge{position:absolute;top:-.2rem;right:-.2rem;min-width:1.1rem;height:1.1rem;padding:0 .2rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.68rem;line-height:1.1rem;text-align:center}.notification-panel{display:flex;flex-direction:column;gap:.35rem}.notification-panel-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.notification-panel-header{font-weight:700}.notification-panel-actions{display:flex;align-items:center;gap:.5rem}.notification-clear-read-btn,.notification-mark-all-btn{border:0;background:transparent;color:var(--wuic-accent, #3b82f6);cursor:pointer;font-size:.85rem;padding:.2rem .45rem;border-radius:.35rem}.notification-clear-read-btn:hover,.notification-mark-all-btn:hover{background:color-mix(in srgb,var(--wuic-accent, #3b82f6) 12%,transparent)}.notification-mark-all-btn{font-weight:600}.notification-empty{color:var(--wuic-text-muted, #64748b);padding:.5rem 0}.notification-item{display:flex;align-items:flex-start;gap:.4rem;border:1px solid var(--wuic-border, #dbe2ef);border-radius:.5rem;background:var(--wuic-surface, #fff);padding:.4rem}.notification-item:hover{border-color:color-mix(in srgb,var(--wuic-accent, #3b82f6) 40%,var(--wuic-border, #dbe2ef))}.notification-item-unread{border-left:4px solid var(--wuic-accent, #3b82f6)}.notification-item-message{font-size:.95rem;line-height:1.25rem}.notification-item-open{flex:1;border:0;background:transparent;text-align:left;cursor:pointer;padding:.15rem}.notification-item-delete{border:0;background:transparent;color:var(--wuic-text-muted, #64748b);cursor:pointer;width:1.8rem;height:1.8rem;border-radius:999px;margin-top:.05rem}.notification-item-delete:hover{background:#ef44441f;color:#b91c1c}.notification-item-meta{margin-top:.25rem;color:var(--wuic-text-muted, #64748b);font-size:.78rem}.notification-item-progress{margin-top:.35rem}:host ::ng-deep .notification-item-progress .p-progressbar .p-progressbar-value,:host ::ng-deep .notification-item-progress .p-progressbar-value{transition:none!important}.notification-item-progress-text{margin-top:.2rem;text-align:right;color:var(--wuic-text-muted, #64748b);font-size:.74rem;font-weight:600}.notification-item-clickable{background:linear-gradient(to right,color-mix(in srgb,var(--wuic-accent, #3b82f6) 6%,transparent),color-mix(in srgb,var(--wuic-accent, #3b82f6) 2%,transparent));border-color:color-mix(in srgb,var(--wuic-accent, #3b82f6) 35%,transparent)}.notification-item-clickable:hover{background:linear-gradient(to right,color-mix(in srgb,var(--wuic-accent, #3b82f6) 14%,transparent),color-mix(in srgb,var(--wuic-accent, #3b82f6) 6%,transparent));border-color:var(--wuic-accent, #3b82f6);box-shadow:0 1px 3px color-mix(in srgb,var(--wuic-accent, #3b82f6) 15%,transparent)}.notification-item-clickable .notification-item-message{color:var(--wuic-accent, #3b82f6);font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.notification-item-chevron{color:var(--wuic-accent, #3b82f6);font-size:.9rem;flex-shrink:0;opacity:.75;transition:transform .15s ease-out,opacity .15s ease-out}.notification-item-clickable:hover .notification-item-chevron{opacity:1;transform:translate(2px)}.notification-item:not(.notification-item-clickable) .notification-item-open{cursor:default}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i5$5.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions", "motionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ProgressBarModule }, { kind: "component", type: i6$3.ProgressBar, selector: "p-progressBar, p-progressbar, p-progress-bar", inputs: ["value", "showValue", "styleClass", "valueStyleClass", "unit", "mode", "color"] }, { kind: "pipe", type: DatePipe, name: "date" }] });
|
|
64410
64459
|
}
|
|
64411
64460
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: NotificationBellComponent, decorators: [{
|
|
64412
64461
|
type: Component,
|
|
64413
|
-
args: [{ selector: 'wuic-notification-bell', imports: [DatePipe, ButtonModule, PopoverModule, ProgressBarModule], template: "@if (isVisible) {\r\n <button type=\"button\" class=\"notification-bell-btn\" (click)=\"notificationPanel.toggle($event)\"\r\n [attr.aria-label]=\"title || 'Notifiche'\" [attr.title]=\"title || 'Notifiche'\">\r\n <i class=\"pi pi-bell\"></i>\r\n @if (unreadCount > 0) {\r\n <span class=\"notification-bell-badge\">{{ unreadCount }}</span>\r\n }\r\n </button>\r\n\r\n <p-popover #notificationPanel appendTo=\"body\" [style]=\"{ width: '26rem', maxWidth: '92vw' }\">\r\n <div class=\"notification-panel\">\r\n <div class=\"notification-panel-header-row\">\r\n <div class=\"notification-panel-header\">{{ title }}</div>\r\n @if (notifications.length) {\r\n <div class=\"notification-panel-actions\">\r\n @if (unreadCount > 0) {\r\n <button type=\"button\" class=\"notification-mark-all-btn\" (click)=\"markAllRead()\" [title]=\"markAllReadLabel\">{{ markAllReadLabel }}</button>\r\n }\r\n <button type=\"button\" class=\"notification-clear-read-btn\" (click)=\"clearRead()\">{{ clearReadLabel }}</button>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (!notifications.length) {\r\n <div class=\"notification-empty\">{{ emptyMessage }}</div>\r\n }\r\n\r\n @for (n of notifications; track n.id) {\r\n <div class=\"notification-item\"\r\n [class.notification-item-unread]=\"!n.isRead\"\r\n [class.notification-item-clickable]=\"isClickable(n)\">\r\n <button type=\"button\" class=\"notification-item-open\" (click)=\"openNotification(n)\">\r\n <div class=\"notification-item-message\">\r\n {{ n.message }}\r\n @if (isClickable(n)) {\r\n <i class=\"pi pi-angle-right notification-item-chevron\" aria-hidden=\"true\"></i>\r\n }\r\n </div>\r\n @if (getNotificationProgress(n) !== null) {\r\n <div class=\"notification-item-progress\">\r\n <p-progressbar [value]=\"getNotificationProgress(n) || 0\"></p-progressbar>\r\n <div class=\"notification-item-progress-text\">{{ (getNotificationProgress(n) || 0).toFixed(2) }}
|
|
64462
|
+
args: [{ selector: 'wuic-notification-bell', imports: [DatePipe, ButtonModule, PopoverModule, ProgressBarModule], template: "@if (isVisible) {\r\n <button type=\"button\" class=\"notification-bell-btn\" (click)=\"notificationPanel.toggle($event)\"\r\n [attr.aria-label]=\"title || 'Notifiche'\" [attr.title]=\"title || 'Notifiche'\">\r\n <i class=\"pi pi-bell\"></i>\r\n @if (unreadCount > 0) {\r\n <span class=\"notification-bell-badge\">{{ unreadCount }}</span>\r\n }\r\n </button>\r\n\r\n <p-popover #notificationPanel appendTo=\"body\" [style]=\"{ width: '26rem', maxWidth: '92vw' }\">\r\n <div class=\"notification-panel\">\r\n <div class=\"notification-panel-header-row\">\r\n <div class=\"notification-panel-header\">{{ title }}</div>\r\n @if (notifications.length) {\r\n <div class=\"notification-panel-actions\">\r\n @if (unreadCount > 0) {\r\n <button type=\"button\" class=\"notification-mark-all-btn\" (click)=\"markAllRead()\" [title]=\"markAllReadLabel\">{{ markAllReadLabel }}</button>\r\n }\r\n <button type=\"button\" class=\"notification-clear-read-btn\" (click)=\"clearRead()\">{{ clearReadLabel }}</button>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (!notifications.length) {\r\n <div class=\"notification-empty\">{{ emptyMessage }}</div>\r\n }\r\n\r\n @for (n of notifications; track n.id) {\r\n <div class=\"notification-item\"\r\n [class.notification-item-unread]=\"!n.isRead\"\r\n [class.notification-item-clickable]=\"isClickable(n)\">\r\n <button type=\"button\" class=\"notification-item-open\" (click)=\"openNotification(n)\">\r\n <div class=\"notification-item-message\">\r\n {{ n.message }}\r\n @if (isClickable(n)) {\r\n <i class=\"pi pi-angle-right notification-item-chevron\" aria-hidden=\"true\"></i>\r\n }\r\n </div>\r\n @if (getNotificationProgress(n) !== null) {\r\n <div class=\"notification-item-progress\">\r\n <p-progressbar [value]=\"getNotificationProgress(n) || 0\"></p-progressbar>\r\n <div class=\"notification-item-progress-text\">{{ getNotificationQueueText(n) || ((getNotificationProgress(n) || 0).toFixed(2) + '%') }}</div>\r\n </div>\r\n }\r\n <div class=\"notification-item-meta\">{{ n.type }} \u00B7 {{ n.createdAt | date:'dd/MM/yyyy HH:mm' }}</div>\r\n </button>\r\n @if (n.isRead) {\r\n <button type=\"button\" class=\"notification-item-delete\" (click)=\"deleteReadNotification($event, n)\" [title]=\"deleteNotificationTitle\">\r\n <i class=\"pi pi-times\"></i>\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </p-popover>\r\n}\r\n", styles: [":host{display:inline-flex}.notification-bell-btn{position:relative;border:0;background:transparent;cursor:pointer;width:2.25rem;height:2.25rem;border-radius:999px;color:inherit}.notification-bell-btn:hover{background:color-mix(in srgb,var(--wuic-accent, #3b82f6) 12%,transparent)}.notification-bell-badge{position:absolute;top:-.2rem;right:-.2rem;min-width:1.1rem;height:1.1rem;padding:0 .2rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.68rem;line-height:1.1rem;text-align:center}.notification-panel{display:flex;flex-direction:column;gap:.35rem}.notification-panel-header-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.notification-panel-header{font-weight:700}.notification-panel-actions{display:flex;align-items:center;gap:.5rem}.notification-clear-read-btn,.notification-mark-all-btn{border:0;background:transparent;color:var(--wuic-accent, #3b82f6);cursor:pointer;font-size:.85rem;padding:.2rem .45rem;border-radius:.35rem}.notification-clear-read-btn:hover,.notification-mark-all-btn:hover{background:color-mix(in srgb,var(--wuic-accent, #3b82f6) 12%,transparent)}.notification-mark-all-btn{font-weight:600}.notification-empty{color:var(--wuic-text-muted, #64748b);padding:.5rem 0}.notification-item{display:flex;align-items:flex-start;gap:.4rem;border:1px solid var(--wuic-border, #dbe2ef);border-radius:.5rem;background:var(--wuic-surface, #fff);padding:.4rem}.notification-item:hover{border-color:color-mix(in srgb,var(--wuic-accent, #3b82f6) 40%,var(--wuic-border, #dbe2ef))}.notification-item-unread{border-left:4px solid var(--wuic-accent, #3b82f6)}.notification-item-message{font-size:.95rem;line-height:1.25rem}.notification-item-open{flex:1;border:0;background:transparent;text-align:left;cursor:pointer;padding:.15rem}.notification-item-delete{border:0;background:transparent;color:var(--wuic-text-muted, #64748b);cursor:pointer;width:1.8rem;height:1.8rem;border-radius:999px;margin-top:.05rem}.notification-item-delete:hover{background:#ef44441f;color:#b91c1c}.notification-item-meta{margin-top:.25rem;color:var(--wuic-text-muted, #64748b);font-size:.78rem}.notification-item-progress{margin-top:.35rem}:host ::ng-deep .notification-item-progress .p-progressbar .p-progressbar-value,:host ::ng-deep .notification-item-progress .p-progressbar-value{transition:none!important}.notification-item-progress-text{margin-top:.2rem;text-align:right;color:var(--wuic-text-muted, #64748b);font-size:.74rem;font-weight:600}.notification-item-clickable{background:linear-gradient(to right,color-mix(in srgb,var(--wuic-accent, #3b82f6) 6%,transparent),color-mix(in srgb,var(--wuic-accent, #3b82f6) 2%,transparent));border-color:color-mix(in srgb,var(--wuic-accent, #3b82f6) 35%,transparent)}.notification-item-clickable:hover{background:linear-gradient(to right,color-mix(in srgb,var(--wuic-accent, #3b82f6) 14%,transparent),color-mix(in srgb,var(--wuic-accent, #3b82f6) 6%,transparent));border-color:var(--wuic-accent, #3b82f6);box-shadow:0 1px 3px color-mix(in srgb,var(--wuic-accent, #3b82f6) 15%,transparent)}.notification-item-clickable .notification-item-message{color:var(--wuic-accent, #3b82f6);font-weight:500;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.notification-item-chevron{color:var(--wuic-accent, #3b82f6);font-size:.9rem;flex-shrink:0;opacity:.75;transition:transform .15s ease-out,opacity .15s ease-out}.notification-item-clickable:hover .notification-item-chevron{opacity:1;transform:translate(2px)}.notification-item:not(.notification-item-clickable) .notification-item-open{cursor:default}\n"] }]
|
|
64414
64463
|
}], ctorParameters: () => [{ type: NotificationRealtimeService }, { type: i1$2.Router }, { type: TranslationManagerService }, { type: AuthSessionService }], propDecorators: { userId: [{
|
|
64415
64464
|
type: Input
|
|
64416
64465
|
}], title: [{
|
|
@@ -64472,7 +64521,7 @@ class DesignerRouteComponent {
|
|
|
64472
64521
|
* Inizializza il componente preparando stato, sottoscrizioni e primi caricamenti richiesti.
|
|
64473
64522
|
*/
|
|
64474
64523
|
async ngOnInit() {
|
|
64475
|
-
designerComponentPromise ??= import('./wuic-framework-lib-designer.component-
|
|
64524
|
+
designerComponentPromise ??= import('./wuic-framework-lib-designer.component-jWS88Z6N.mjs').then((m) => m.DesignerComponent);
|
|
64476
64525
|
this.loadedComponent = await designerComponentPromise;
|
|
64477
64526
|
}
|
|
64478
64527
|
/**
|
|
@@ -64553,7 +64602,7 @@ class LazyPivotBuilderComponent {
|
|
|
64553
64602
|
this.cdr = cdr;
|
|
64554
64603
|
}
|
|
64555
64604
|
async ngOnInit() {
|
|
64556
|
-
pivotBuilderComponentPromise ??= import('./wuic-framework-lib-pivot-builder.component-
|
|
64605
|
+
pivotBuilderComponentPromise ??= import('./wuic-framework-lib-pivot-builder.component-Bie3oqY9.mjs').then((m) => m.PivotBuilderComponent);
|
|
64557
64606
|
this.loadedComponent = await pivotBuilderComponentPromise;
|
|
64558
64607
|
this.cdr.markForCheck();
|
|
64559
64608
|
}
|
|
@@ -64592,7 +64641,7 @@ class WorkflowDesignerRouteComponent {
|
|
|
64592
64641
|
* Inizializza il componente preparando stato, sottoscrizioni e primi caricamenti richiesti.
|
|
64593
64642
|
*/
|
|
64594
64643
|
async ngOnInit() {
|
|
64595
|
-
workflowDesignerComponentPromise ??= import('./wuic-framework-lib-workflow-designer.component-
|
|
64644
|
+
workflowDesignerComponentPromise ??= import('./wuic-framework-lib-workflow-designer.component-euretE8u.mjs').then((m) => m.WorkflowDesignerComponent);
|
|
64596
64645
|
this.loadedComponent = await workflowDesignerComponentPromise;
|
|
64597
64646
|
}
|
|
64598
64647
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: WorkflowDesignerRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -64638,7 +64687,7 @@ class Scene3dDesignerRouteComponent {
|
|
|
64638
64687
|
/** Componente designer runtime caricato lazy, usato dal template. */
|
|
64639
64688
|
loadedComponent = null;
|
|
64640
64689
|
async ngOnInit() {
|
|
64641
|
-
scene3dDesignerComponentPromise ??= import('./wuic-framework-lib-scene3d-designer.component-
|
|
64690
|
+
scene3dDesignerComponentPromise ??= import('./wuic-framework-lib-scene3d-designer.component-Bc-_NNcX.mjs').then(function (n) { return n.s; }).then((m) => m.Scene3dDesignerComponent);
|
|
64642
64691
|
this.loadedComponent = await scene3dDesignerComponentPromise;
|
|
64643
64692
|
}
|
|
64644
64693
|
/** Delega al designer runtime la conferma navigazione con pending changes. */
|
|
@@ -64694,7 +64743,7 @@ class Scene3dViewerRouteComponent {
|
|
|
64694
64743
|
/** Componente viewer runtime caricato lazy, usato dal template. */
|
|
64695
64744
|
loadedComponent = null;
|
|
64696
64745
|
async ngOnInit() {
|
|
64697
|
-
scene3dViewerComponentPromise ??= import('./wuic-framework-lib-scene3d-viewer.component-
|
|
64746
|
+
scene3dViewerComponentPromise ??= import('./wuic-framework-lib-scene3d-viewer.component-jbV7-Xy8.mjs').then((m) => m.Scene3dViewerComponent);
|
|
64698
64747
|
this.loadedComponent = await scene3dViewerComponentPromise;
|
|
64699
64748
|
}
|
|
64700
64749
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: Scene3dViewerRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -64755,7 +64804,7 @@ class LazyReportDesignerComponent {
|
|
|
64755
64804
|
this.cdr = cdr;
|
|
64756
64805
|
}
|
|
64757
64806
|
async ngOnInit() {
|
|
64758
|
-
reportDesignerComponentPromise ??= import('./wuic-framework-lib-report-designer.component-
|
|
64807
|
+
reportDesignerComponentPromise ??= import('./wuic-framework-lib-report-designer.component-CDIPEVkI.mjs').then((m) => m.ReportDesignerComponent);
|
|
64759
64808
|
this.loadedComponent = await reportDesignerComponentPromise;
|
|
64760
64809
|
this.cdr.markForCheck();
|
|
64761
64810
|
}
|
|
@@ -64810,7 +64859,7 @@ class LazyReportViewerComponent {
|
|
|
64810
64859
|
this.cdr = cdr;
|
|
64811
64860
|
}
|
|
64812
64861
|
async ngOnInit() {
|
|
64813
|
-
reportViewerComponentPromise ??= import('./wuic-framework-lib-report-viewer.component-
|
|
64862
|
+
reportViewerComponentPromise ??= import('./wuic-framework-lib-report-viewer.component-BFw7SVe3.mjs').then((m) => m.ReportViewerComponent);
|
|
64814
64863
|
this.loadedComponent = await reportViewerComponentPromise;
|
|
64815
64864
|
this.cdr.markForCheck();
|
|
64816
64865
|
}
|
|
@@ -69136,7 +69185,7 @@ const themeBuilderPendingChangesGuard = (component) => {
|
|
|
69136
69185
|
const routes = [
|
|
69137
69186
|
{
|
|
69138
69187
|
path: 'framework-docs',
|
|
69139
|
-
loadComponent: () => import('./wuic-framework-lib-framework-docs.component-
|
|
69188
|
+
loadComponent: () => import('./wuic-framework-lib-framework-docs.component-fMNH_vI8.mjs').then((m) => m.FrameworkDocsComponent),
|
|
69140
69189
|
canMatch: [menuRouteAccessCanMatchGuard],
|
|
69141
69190
|
canActivate: [menuRouteAccessCanActivateGuard],
|
|
69142
69191
|
data: {
|
|
@@ -69145,7 +69194,7 @@ const routes = [
|
|
|
69145
69194
|
},
|
|
69146
69195
|
{
|
|
69147
69196
|
path: 'framework-docs/:slug',
|
|
69148
|
-
loadComponent: () => import('./wuic-framework-lib-framework-docs.component-
|
|
69197
|
+
loadComponent: () => import('./wuic-framework-lib-framework-docs.component-fMNH_vI8.mjs').then((m) => m.FrameworkDocsComponent),
|
|
69149
69198
|
canMatch: [menuRouteAccessCanMatchGuard],
|
|
69150
69199
|
canActivate: [menuRouteAccessCanActivateGuard],
|
|
69151
69200
|
data: {
|
|
@@ -69190,7 +69239,7 @@ const routes = [
|
|
|
69190
69239
|
},
|
|
69191
69240
|
{
|
|
69192
69241
|
path: ':route/report-designer',
|
|
69193
|
-
loadComponent: () => import('./wuic-framework-lib-report-designer.component-
|
|
69242
|
+
loadComponent: () => import('./wuic-framework-lib-report-designer.component-CDIPEVkI.mjs').then((m) => m.ReportDesignerComponent),
|
|
69194
69243
|
canMatch: [menuRouteAccessCanMatchGuard, featureRouteCanMatchGuard],
|
|
69195
69244
|
canActivate: [menuRouteAccessCanActivateGuard, featureRouteCanActivateGuard],
|
|
69196
69245
|
data: {
|
|
@@ -69200,7 +69249,7 @@ const routes = [
|
|
|
69200
69249
|
},
|
|
69201
69250
|
{
|
|
69202
69251
|
path: ':route/report-viewer',
|
|
69203
|
-
loadComponent: () => import('./wuic-framework-lib-report-viewer.component-
|
|
69252
|
+
loadComponent: () => import('./wuic-framework-lib-report-viewer.component-BFw7SVe3.mjs').then((m) => m.ReportViewerComponent),
|
|
69204
69253
|
canMatch: [menuRouteAccessCanMatchGuard],
|
|
69205
69254
|
canActivate: [menuRouteAccessCanActivateGuard],
|
|
69206
69255
|
data: {
|
|
@@ -69220,7 +69269,7 @@ const routes = [
|
|
|
69220
69269
|
},
|
|
69221
69270
|
{
|
|
69222
69271
|
path: ':route/pivot-builder',
|
|
69223
|
-
loadComponent: () => import('./wuic-framework-lib-pivot-builder.component-
|
|
69272
|
+
loadComponent: () => import('./wuic-framework-lib-pivot-builder.component-Bie3oqY9.mjs').then((m) => m.PivotBuilderComponent),
|
|
69224
69273
|
canMatch: [menuRouteAccessCanMatchGuard, featureRouteCanMatchGuard],
|
|
69225
69274
|
canActivate: [menuRouteAccessCanActivateGuard, featureRouteCanActivateGuard],
|
|
69226
69275
|
data: {
|
|
@@ -69230,7 +69279,7 @@ const routes = [
|
|
|
69230
69279
|
},
|
|
69231
69280
|
{
|
|
69232
69281
|
path: 'pivot-builder',
|
|
69233
|
-
loadComponent: () => import('./wuic-framework-lib-pivot-builder.component-
|
|
69282
|
+
loadComponent: () => import('./wuic-framework-lib-pivot-builder.component-Bie3oqY9.mjs').then((m) => m.PivotBuilderComponent),
|
|
69234
69283
|
canMatch: [menuRouteAccessCanMatchGuard, featureRouteCanMatchGuard],
|
|
69235
69284
|
canActivate: [menuRouteAccessCanActivateGuard, featureRouteCanActivateGuard],
|
|
69236
69285
|
data: {
|
|
@@ -71330,4 +71379,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
71330
71379
|
*/
|
|
71331
71380
|
|
|
71332
71381
|
export { DEFAULT_THEME_STORAGE_KEY as $, ArchetypeConfiguratorComponent as A, AppSettingsEditorComponent as B, ChatbotHostRegistryService as C, DynamicGenericTemplateComponent as D, AuthSessionService as E, FilterBarComponent as F, GlobalHandler as G, BooleanEditorComponent as H, ImportExportButtonComponent as I, BoundedRepeaterComponent as J, ButtonEditorComponent as K, LazyParametricDialogComponent as L, MetadataProviderService as M, CUSTOM_THEMES_STORAGE_KEY as N, CallbackPipe as O, PagerComponent as P, CallbackPipe2 as Q, CarouselListComponent as R, CodeAreaEditorComponent as S, TranslationManagerService as T, UserInfoService as U, ColorEditorComponent as V, WtoolboxService as W, CrashReporterService as X, CustomAttributesService as Y, CustomException as Z, DEFAULT_FONT_STACK as _, DynamicCompilerService as a, UserLanguageService as a$, DEFAULT_THEME_VALUE as a0, DataActionButtonComponent as a1, DataProviderOdataService as a2, DateEditorComponent as a3, DesignerRouteComponent as a4, DictionaryEditorComponent as a5, DynamicRowTemplateComponent as a6, FormatGridViewValuePipe as a7, GetSrcUploadPreviewPipe as a8, HtmlEditorComponent as a9, NotificationRealtimeService as aA, NumberEditorComponent as aB, PALETTE_STOPS as aC, PREVIEW_RESTORE_KEY as aD, PRIMARY_PALETTES as aE, PerformanceInspectorComponent as aF, PointFilterComponent as aG, PropertyArrayEditorComponent as aH, PropertyObjectEditorComponent as aI, RAG_DESTRUCTIVE_KINDS as aJ, RouteMetricsDashboardComponent as aK, Scene3dDesignerRouteComponent as aL, Scene3dViewerRouteComponent as aM, THEME_MODE_STORAGE_KEY as aN, THEME_OPTIONS as aO, THEME_STORAGE_KEY as aP, TextAreaEditorComponent as aQ, TextEditorComponent as aR, ThemeBuilderComponent as aS, ThemeCatalogService as aT, ThemePreviewPanelComponent as aU, ThemeRuntimeService as aV, ThemeSelectorComponent as aW, TreeListComponent as aX, TreeViewSelectorComponent as aY, UploadDialogComponent as aZ, UploadEditorComponent as a_, ImageWrapperComponent as aa, IsSelectedRowPipe as ab, KanbanListComponent as ac, KanbanOptions as ad, KanbanStatusColumnItem as ae, LazyChartListComponent as af, LazyCodeEditorComponent as ag, LazyDataActionButtonComponent as ah, LazyDataSourceComponent as ai, LazyFieldEditorComponent as aj, LazyFirstRunWizardComponent as ak, LazyImageWrapperComponent as al, LazyKanbanListComponent as am, LazyMetaMenuComponent as an, LazyPivotBuilderComponent as ao, LazyReportDesignerComponent as ap, LazyReportViewerComponent as aq, LazySchedulerListComponent as ar, LazySpreadsheetListSfComponent as as, LazyTimelineListComponent as at, ListGridComponent as au, LookupEditorComponent as av, MapListComponent as aw, MetaMenuComponent as ax, MetadatiTabella as ay, NotificationBellComponent as az, DataSourceComponent as b, resolveThemePreset as b$, UserMenuComponent as b0, ValidationRule as b1, ValueChangedPayload as b2, VisibleFieldListPipe as b3, WUIC_FONT_CATALOG as b4, WidgetDefinition as b5, WorkflowDesignerRouteComponent as b6, WorkflowRunnerComponent as b7, WuicAziendaSwitcherComponent as b8, WuicErrorDialogComponent as b9, isCustomThemeValue as bA, isDestructiveRagAction as bB, isRoutePersistenceEnabled as bC, loadBooleanEditorComponent as bD, loadButtonEditorComponent as bE, loadCodeAreaEditorComponent as bF, loadColorEditorComponent as bG, loadDateEditorComponent as bH, loadDictionaryEditorComponent as bI, loadHtmlEditorComponent as bJ, loadLookupEditorComponent as bK, loadNumberEditorComponent as bL, loadPropertyArrayEditorComponent as bM, loadPropertyObjectEditorComponent as bN, loadTextAreaEditorComponent as bO, loadTextEditorComponent as bP, loadTreeViewSelectorComponent as bQ, loadUploadEditorComponent as bR, menuRouteAccessCanActivateGuard as bS, menuRouteAccessCanMatchGuard as bT, nearestPrimaryName as bU, normalizeHex$1 as bV, oklchToHex as bW, oklchToRgb as bX, resolveBackgroundCss as bY, resolveFontStack as bZ, resolveGridStrengths as b_, WuicErrorInterceptor as ba, WuicFeatureDirective as bb, WuicFrozenColumnDirective as bc, WuicRagChatbotComponent as bd, WuicRagChatbotFabComponent as be, WuicRagService as bf, WuicRowTogglerDirective as bg, _PRIMENG_TABLE_DIRECTIVES_NAMES as bh, authExpiredInterceptor as bi, bestContrastColor as bj, boundedRepeaterPendingChangesGuard as bk, buildCustomPreset as bl, buildThemeValue as bm, computeDataQualitySummary as bn, contrastRatio as bo, createDraftTheme as bp, featureRouteCanActivateGuard as bq, featureRouteCanMatchGuard as br, generatePrimaryPalette as bs, generateSurfacePalette as bt, getQualityInspectorOptions as bu, getThemePrimaryHex as bv, hexToOklch as bw, hexToRgb as bx, hsbaToRgbaString as by, inferTemplateFieldFromBaseClass as bz, DataRepeaterComponent as c, resolveThemePresetForOption as c0, rgbToHex as c1, rgbToOklch as c2, rgbaToHsbaModel as c3, routeMetricsClient as c4, routes as c5, scene3dDesignerPendingChangesGuard as c6, themeBuilderPendingChangesGuard as c7, wcagLevel as c8, wuicErrorInterceptor as c9, parametricDialog_component as ca, clampAlpha as d, toPersistedColor as e, exposeWuicCmpOnHost as f, ParametricDialogComponent as g, MetadatiColonna as h, DataProviderService as i, MetadataEditorService as j, WorkflowRuntimeMetadataService as k, FieldEditorComponent as l, MetadataEditorComponent as m, WuicClientException as n, WuicErrorCodes as o, MetaInfo as p, WUIC_SUPPRESS_GLOBAL_ERROR as q, FilterInfo as r, LicenseFeatureService as s, toHsbaModel as t, FilterItem as u, TimelineOptions as v, getThemeOptions as w, AUTH_REDIRECT_REASON_KEY as x, AppHeaderComponent as y, AppHeaderConfigService as z };
|
|
71333
|
-
//# sourceMappingURL=wuic-framework-lib-wuic-framework-lib-
|
|
71382
|
+
//# sourceMappingURL=wuic-framework-lib-wuic-framework-lib-BXteb2PD.mjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { x as AUTH_REDIRECT_REASON_KEY, y as AppHeaderComponent, z as AppHeaderConfigService, B as AppSettingsEditorComponent, E as AuthSessionService, H as BooleanEditorComponent, J as BoundedRepeaterComponent, K as ButtonEditorComponent, N as CUSTOM_THEMES_STORAGE_KEY, O as CallbackPipe, Q as CallbackPipe2, R as CarouselListComponent, S as CodeAreaEditorComponent, V as ColorEditorComponent, X as CrashReporterService, Y as CustomAttributesService, Z as CustomException, _ as DEFAULT_FONT_STACK, $ as DEFAULT_THEME_STORAGE_KEY, a0 as DEFAULT_THEME_VALUE, a1 as DataActionButtonComponent, a2 as DataProviderOdataService, c as DataRepeaterComponent, b as DataSourceComponent, a3 as DateEditorComponent, a4 as DesignerRouteComponent, a5 as DictionaryEditorComponent, a as DynamicCompilerService, a6 as DynamicRowTemplateComponent, l as FieldEditorComponent, F as FilterBarComponent, r as FilterInfo, a7 as FormatGridViewValuePipe, a8 as GetSrcUploadPreviewPipe, G as GlobalHandler, a9 as HtmlEditorComponent, aa as ImageWrapperComponent, I as ImportExportButtonComponent, ab as IsSelectedRowPipe, ac as KanbanListComponent, ad as KanbanOptions, ae as KanbanStatusColumnItem, af as LazyChartListComponent, ag as LazyCodeEditorComponent, ah as LazyDataActionButtonComponent, ai as LazyDataSourceComponent, aj as LazyFieldEditorComponent, ak as LazyFirstRunWizardComponent, al as LazyImageWrapperComponent, am as LazyKanbanListComponent, an as LazyMetaMenuComponent, ao as LazyPivotBuilderComponent, ap as LazyReportDesignerComponent, aq as LazyReportViewerComponent, ar as LazySchedulerListComponent, as as LazySpreadsheetListSfComponent, at as LazyTimelineListComponent, s as LicenseFeatureService, au as ListGridComponent, av as LookupEditorComponent, aw as MapListComponent, p as MetaInfo, ax as MetaMenuComponent, j as MetadataEditorService, M as MetadataProviderService, h as MetadatiColonna, ay as MetadatiTabella, az as NotificationBellComponent, aA as NotificationRealtimeService, aB as NumberEditorComponent, aC as PALETTE_STOPS, aD as PREVIEW_RESTORE_KEY, aE as PRIMARY_PALETTES, P as PagerComponent, g as ParametricDialogComponent, aF as PerformanceInspectorComponent, aG as PointFilterComponent, aH as PropertyArrayEditorComponent, aI as PropertyObjectEditorComponent, aJ as RAG_DESTRUCTIVE_KINDS, aK as RouteMetricsDashboardComponent, aL as Scene3dDesignerRouteComponent, aM as Scene3dViewerRouteComponent, aN as THEME_MODE_STORAGE_KEY, aO as THEME_OPTIONS, aP as THEME_STORAGE_KEY, aQ as TextAreaEditorComponent, aR as TextEditorComponent, aS as ThemeBuilderComponent, aT as ThemeCatalogService, aU as ThemePreviewPanelComponent, aV as ThemeRuntimeService, aW as ThemeSelectorComponent, v as TimelineOptions, T as TranslationManagerService, aX as TreeListComponent, aY as TreeViewSelectorComponent, aZ as UploadDialogComponent, a_ as UploadEditorComponent, U as UserInfoService, a$ as UserLanguageService, b0 as UserMenuComponent, b1 as ValidationRule, b2 as ValueChangedPayload, b3 as VisibleFieldListPipe, b4 as WUIC_FONT_CATALOG, q as WUIC_SUPPRESS_GLOBAL_ERROR, b5 as WidgetDefinition, b6 as WorkflowDesignerRouteComponent, b7 as WorkflowRunnerComponent, k as WorkflowRuntimeMetadataService, W as WtoolboxService, b8 as WuicAziendaSwitcherComponent, b9 as WuicErrorDialogComponent, ba as WuicErrorInterceptor, bb as WuicFeatureDirective, bc as WuicFrozenColumnDirective, bd as WuicRagChatbotComponent, be as WuicRagChatbotFabComponent, bf as WuicRagService, bg as WuicRowTogglerDirective, bh as _PRIMENG_TABLE_DIRECTIVES_NAMES, bi as authExpiredInterceptor, bj as bestContrastColor, bk as boundedRepeaterPendingChangesGuard, bl as buildCustomPreset, bm as buildThemeValue, d as clampAlpha, bn as computeDataQualitySummary, bo as contrastRatio, bp as createDraftTheme, bq as featureRouteCanActivateGuard, br as featureRouteCanMatchGuard, bs as generatePrimaryPalette, bt as generateSurfacePalette, bu as getQualityInspectorOptions, w as getThemeOptions, bv as getThemePrimaryHex, bw as hexToOklch, bx as hexToRgb, by as hsbaToRgbaString, bz as inferTemplateFieldFromBaseClass, bA as isCustomThemeValue, bB as isDestructiveRagAction, bC as isRoutePersistenceEnabled, bD as loadBooleanEditorComponent, bE as loadButtonEditorComponent, bF as loadCodeAreaEditorComponent, bG as loadColorEditorComponent, bH as loadDateEditorComponent, bI as loadDictionaryEditorComponent, bJ as loadHtmlEditorComponent, bK as loadLookupEditorComponent, bL as loadNumberEditorComponent, bM as loadPropertyArrayEditorComponent, bN as loadPropertyObjectEditorComponent, bO as loadTextAreaEditorComponent, bP as loadTextEditorComponent, bQ as loadTreeViewSelectorComponent, bR as loadUploadEditorComponent, bS as menuRouteAccessCanActivateGuard, bT as menuRouteAccessCanMatchGuard, bU as nearestPrimaryName, bV as normalizeHex, bW as oklchToHex, bX as oklchToRgb, bY as resolveBackgroundCss, bZ as resolveFontStack, b_ as resolveGridStrengths, b$ as resolveThemePreset, c0 as resolveThemePresetForOption, c1 as rgbToHex, c2 as rgbToOklch, c3 as rgbaToHsbaModel, c4 as routeMetricsClient, c5 as routes, c6 as scene3dDesignerPendingChangesGuard, c7 as themeBuilderPendingChangesGuard, t as toHsbaModel, e as toPersistedColor, c8 as wcagLevel, c9 as wuicErrorInterceptor } from './wuic-framework-lib-wuic-framework-lib-
|
|
1
|
+
export { x as AUTH_REDIRECT_REASON_KEY, y as AppHeaderComponent, z as AppHeaderConfigService, B as AppSettingsEditorComponent, E as AuthSessionService, H as BooleanEditorComponent, J as BoundedRepeaterComponent, K as ButtonEditorComponent, N as CUSTOM_THEMES_STORAGE_KEY, O as CallbackPipe, Q as CallbackPipe2, R as CarouselListComponent, S as CodeAreaEditorComponent, V as ColorEditorComponent, X as CrashReporterService, Y as CustomAttributesService, Z as CustomException, _ as DEFAULT_FONT_STACK, $ as DEFAULT_THEME_STORAGE_KEY, a0 as DEFAULT_THEME_VALUE, a1 as DataActionButtonComponent, a2 as DataProviderOdataService, c as DataRepeaterComponent, b as DataSourceComponent, a3 as DateEditorComponent, a4 as DesignerRouteComponent, a5 as DictionaryEditorComponent, a as DynamicCompilerService, a6 as DynamicRowTemplateComponent, l as FieldEditorComponent, F as FilterBarComponent, r as FilterInfo, a7 as FormatGridViewValuePipe, a8 as GetSrcUploadPreviewPipe, G as GlobalHandler, a9 as HtmlEditorComponent, aa as ImageWrapperComponent, I as ImportExportButtonComponent, ab as IsSelectedRowPipe, ac as KanbanListComponent, ad as KanbanOptions, ae as KanbanStatusColumnItem, af as LazyChartListComponent, ag as LazyCodeEditorComponent, ah as LazyDataActionButtonComponent, ai as LazyDataSourceComponent, aj as LazyFieldEditorComponent, ak as LazyFirstRunWizardComponent, al as LazyImageWrapperComponent, am as LazyKanbanListComponent, an as LazyMetaMenuComponent, ao as LazyPivotBuilderComponent, ap as LazyReportDesignerComponent, aq as LazyReportViewerComponent, ar as LazySchedulerListComponent, as as LazySpreadsheetListSfComponent, at as LazyTimelineListComponent, s as LicenseFeatureService, au as ListGridComponent, av as LookupEditorComponent, aw as MapListComponent, p as MetaInfo, ax as MetaMenuComponent, j as MetadataEditorService, M as MetadataProviderService, h as MetadatiColonna, ay as MetadatiTabella, az as NotificationBellComponent, aA as NotificationRealtimeService, aB as NumberEditorComponent, aC as PALETTE_STOPS, aD as PREVIEW_RESTORE_KEY, aE as PRIMARY_PALETTES, P as PagerComponent, g as ParametricDialogComponent, aF as PerformanceInspectorComponent, aG as PointFilterComponent, aH as PropertyArrayEditorComponent, aI as PropertyObjectEditorComponent, aJ as RAG_DESTRUCTIVE_KINDS, aK as RouteMetricsDashboardComponent, aL as Scene3dDesignerRouteComponent, aM as Scene3dViewerRouteComponent, aN as THEME_MODE_STORAGE_KEY, aO as THEME_OPTIONS, aP as THEME_STORAGE_KEY, aQ as TextAreaEditorComponent, aR as TextEditorComponent, aS as ThemeBuilderComponent, aT as ThemeCatalogService, aU as ThemePreviewPanelComponent, aV as ThemeRuntimeService, aW as ThemeSelectorComponent, v as TimelineOptions, T as TranslationManagerService, aX as TreeListComponent, aY as TreeViewSelectorComponent, aZ as UploadDialogComponent, a_ as UploadEditorComponent, U as UserInfoService, a$ as UserLanguageService, b0 as UserMenuComponent, b1 as ValidationRule, b2 as ValueChangedPayload, b3 as VisibleFieldListPipe, b4 as WUIC_FONT_CATALOG, q as WUIC_SUPPRESS_GLOBAL_ERROR, b5 as WidgetDefinition, b6 as WorkflowDesignerRouteComponent, b7 as WorkflowRunnerComponent, k as WorkflowRuntimeMetadataService, W as WtoolboxService, b8 as WuicAziendaSwitcherComponent, b9 as WuicErrorDialogComponent, ba as WuicErrorInterceptor, bb as WuicFeatureDirective, bc as WuicFrozenColumnDirective, bd as WuicRagChatbotComponent, be as WuicRagChatbotFabComponent, bf as WuicRagService, bg as WuicRowTogglerDirective, bh as _PRIMENG_TABLE_DIRECTIVES_NAMES, bi as authExpiredInterceptor, bj as bestContrastColor, bk as boundedRepeaterPendingChangesGuard, bl as buildCustomPreset, bm as buildThemeValue, d as clampAlpha, bn as computeDataQualitySummary, bo as contrastRatio, bp as createDraftTheme, bq as featureRouteCanActivateGuard, br as featureRouteCanMatchGuard, bs as generatePrimaryPalette, bt as generateSurfacePalette, bu as getQualityInspectorOptions, w as getThemeOptions, bv as getThemePrimaryHex, bw as hexToOklch, bx as hexToRgb, by as hsbaToRgbaString, bz as inferTemplateFieldFromBaseClass, bA as isCustomThemeValue, bB as isDestructiveRagAction, bC as isRoutePersistenceEnabled, bD as loadBooleanEditorComponent, bE as loadButtonEditorComponent, bF as loadCodeAreaEditorComponent, bG as loadColorEditorComponent, bH as loadDateEditorComponent, bI as loadDictionaryEditorComponent, bJ as loadHtmlEditorComponent, bK as loadLookupEditorComponent, bL as loadNumberEditorComponent, bM as loadPropertyArrayEditorComponent, bN as loadPropertyObjectEditorComponent, bO as loadTextAreaEditorComponent, bP as loadTextEditorComponent, bQ as loadTreeViewSelectorComponent, bR as loadUploadEditorComponent, bS as menuRouteAccessCanActivateGuard, bT as menuRouteAccessCanMatchGuard, bU as nearestPrimaryName, bV as normalizeHex, bW as oklchToHex, bX as oklchToRgb, bY as resolveBackgroundCss, bZ as resolveFontStack, b_ as resolveGridStrengths, b$ as resolveThemePreset, c0 as resolveThemePresetForOption, c1 as rgbToHex, c2 as rgbToOklch, c3 as rgbaToHsbaModel, c4 as routeMetricsClient, c5 as routes, c6 as scene3dDesignerPendingChangesGuard, c7 as themeBuilderPendingChangesGuard, t as toHsbaModel, e as toPersistedColor, c8 as wcagLevel, c9 as wuicErrorInterceptor } from './wuic-framework-lib-wuic-framework-lib-BXteb2PD.mjs';
|
|
2
2
|
//# sourceMappingURL=wuic-framework-lib.mjs.map
|