wuic-framework-lib 1.0.10 → 1.0.19
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-vuzmQW9F.mjs → wuic-framework-lib-chart-list.component-C0OYuZoM.mjs} +8 -8
- package/fesm2022/{wuic-framework-lib-code-editor.component-BjbIkm4g.mjs → wuic-framework-lib-code-editor.component-B8OQ3Z0k.mjs} +258 -258
- package/fesm2022/{wuic-framework-lib-designer.component-BM3elB-a.mjs → wuic-framework-lib-designer.component-DsWgWtFj.mjs} +99 -105
- package/fesm2022/{wuic-framework-lib-first-run-wizard.component-5tcl67dK.mjs → wuic-framework-lib-first-run-wizard.component-wR_LrvPK.mjs} +244 -38
- package/fesm2022/{wuic-framework-lib-framework-docs.component-BGcJ7k1X.mjs → wuic-framework-lib-framework-docs.component-eyzu9tdV.mjs} +31 -15
- package/fesm2022/{wuic-framework-lib-pivot-builder.component-ChNyMAfi.mjs → wuic-framework-lib-pivot-builder.component-BFdZW5Ch.mjs} +215 -88
- package/fesm2022/{wuic-framework-lib-prompt-dialog-fallback-host.component-DFLR_EmK.mjs → wuic-framework-lib-prompt-dialog-fallback-host.component-B583WbYe.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-report-designer.component-B_SC7VkW.mjs → wuic-framework-lib-report-designer.component-HJUpslLX.mjs} +12 -12
- package/fesm2022/{wuic-framework-lib-report-viewer.component-BTK-p8xF.mjs → wuic-framework-lib-report-viewer.component-El32zpzi.mjs} +81 -11
- package/fesm2022/{wuic-framework-lib-scheduler-list.component-CIoGVf4O.mjs → wuic-framework-lib-scheduler-list.component-E8s_e533.mjs} +16 -16
- package/fesm2022/{wuic-framework-lib-spreadsheet-list-sf.component-DQ5OxO4j.mjs → wuic-framework-lib-spreadsheet-list-sf.component-CDn0qi_C.mjs} +19 -5
- package/fesm2022/{wuic-framework-lib-workflow-designer.component-BHLT4MER.mjs → wuic-framework-lib-workflow-designer.component-hL7oKqYO.mjs} +2 -2
- package/fesm2022/{wuic-framework-lib-wuic-framework-lib-DDokY6wY.mjs → wuic-framework-lib-wuic-framework-lib-ABS_G7lO.mjs} +2149 -1089
- package/fesm2022/wuic-framework-lib.mjs +1 -1
- package/package.json +1 -1
- package/types/wuic-framework-lib.d.ts +308 -24
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { s as AUTH_REDIRECT_REASON_KEY, t as AppSettingsEditorComponent, n as AuthSessionService, B as BooleanEditorComponent, u as BoundedRepeaterComponent, v as ButtonEditorComponent, C as CallbackPipe, w as CallbackPipe2, x as CarouselListComponent, y as CodeAreaEditorComponent, z as ColorEditorComponent, E as CrashReporterService, H as CustomException, J as DataActionButtonComponent, K as DataProviderOdataService, c as DataRepeaterComponent, b as DataSourceComponent, N as DateEditorComponent, O as DesignerRouteComponent, Q as DictionaryEditorComponent, a as DynamicCompilerService, R as DynamicRowTemplateComponent, i as FieldEditorComponent, F as FilterBarComponent, o as FilterInfo, S as FormatGridViewValuePipe, V as GetSrcUploadPreviewPipe, G as GlobalHandler, X as HtmlEditorComponent, Y as ImageWrapperComponent, I as ImportExportButtonComponent, Z as IsSelectedRowPipe, _ as KanbanListComponent, $ as KanbanOptions, a0 as KanbanStatusColumnItem, a1 as LazyChartListComponent, a2 as LazyCodeEditorComponent, a3 as LazyDataActionButtonComponent, a4 as LazyDataSourceComponent, a5 as LazyFieldEditorComponent, a6 as LazyFirstRunWizardComponent, a7 as LazyImageWrapperComponent, a8 as LazyKanbanListComponent, a9 as LazyMetaMenuComponent, aa as LazyPivotBuilderComponent, ab as LazyReportDesignerComponent, ac as LazyReportViewerComponent, ad as LazySchedulerListComponent, ae as LazySpreadsheetListSfComponent, p as LicenseFeatureService, af as ListGridComponent, ag as LookupEditorComponent, ah as MapListComponent, m as MetaInfo, ai as MetaMenuComponent, g as MetadataEditorService, M as MetadataProviderService, e as MetadatiColonna, aj as MetadatiTabella, ak as NotificationBellComponent, al as NotificationRealtimeService, am as NumberEditorComponent, an as PRIMARY_PALETTES, P as PagerComponent, d as ParametricDialogComponent, ao as PropertyArrayEditorComponent, ap as PropertyObjectEditorComponent, aq as THEME_OPTIONS, ar as TextAreaEditorComponent, as as TextEditorComponent, T as TranslationManagerService, at as TreeListComponent, au as TreeViewSelectorComponent, av as UploadDialogComponent, aw as UploadEditorComponent, U as UserInfoService, ax as ValidationRule, ay as ValueChangedPayload, az as VisibleFieldListPipe, aA as WidgetDefinition, aB as WorkflowDesignerRouteComponent, aC as WorkflowRunnerComponent, h as WorkflowRuntimeMetadataService, W as WtoolboxService, aD as WuicErrorDialogComponent, aE as WuicErrorInterceptor, aF as WuicFeatureDirective, aG as WuicFrozenColumnDirective, aH as WuicRagChatbotComponent, aI as WuicRagChatbotFabComponent, aJ as WuicRagService, aK as WuicRowTogglerDirective, aL as _PRIMENG_TABLE_DIRECTIVES_NAMES, aM as authExpiredInterceptor, aN as boundedRepeaterPendingChangesGuard, aO as featureRouteCanActivateGuard, aP as featureRouteCanMatchGuard, r as getThemeOptions, aQ as getThemePrimaryHex, aR as inferTemplateFieldFromBaseClass, aS as loadBooleanEditorComponent, aT as loadButtonEditorComponent, aU as loadCodeAreaEditorComponent, aV as loadColorEditorComponent, aW as loadDateEditorComponent, aX as loadDictionaryEditorComponent, aY as loadHtmlEditorComponent, aZ as loadLookupEditorComponent, a_ as loadNumberEditorComponent, a$ as loadPropertyArrayEditorComponent, b0 as loadPropertyObjectEditorComponent, b1 as loadTextAreaEditorComponent, b2 as loadTextEditorComponent, b3 as loadTreeViewSelectorComponent, b4 as loadUploadEditorComponent, b5 as menuRouteAccessCanActivateGuard, b6 as menuRouteAccessCanMatchGuard, b7 as routes, b8 as wuicErrorInterceptor } from './wuic-framework-lib-wuic-framework-lib-ABS_G7lO.mjs';
|
|
2
2
|
//# sourceMappingURL=wuic-framework-lib.mjs.map
|
package/package.json
CHANGED
|
@@ -94,11 +94,106 @@ declare class WuicClientException extends Error {
|
|
|
94
94
|
});
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
/**
|
|
98
|
+
* Normalized context passed to error delegates registered via
|
|
99
|
+
* {@link GlobalHandler.registerDelegate}.
|
|
100
|
+
*
|
|
101
|
+
* Built from any raw error (HttpErrorResponse, Error, WuicClientException,
|
|
102
|
+
* or arbitrary thrown object) so component delegates can do lookups
|
|
103
|
+
* (e.g. `ctx.message.includes('METADATA_DB_EXISTS_CONFIRM_REQUIRED')`)
|
|
104
|
+
* without caring about the envelope shape.
|
|
105
|
+
*/
|
|
106
|
+
interface ErrorDelegateContext {
|
|
107
|
+
/** Raw error as received by the GlobalHandler. */
|
|
108
|
+
error: any;
|
|
109
|
+
/** `errorCode` from the typed-exception envelope (e.g. `errors.server.unhandled`). */
|
|
110
|
+
errorCode?: string;
|
|
111
|
+
/** `args` map from the typed-exception envelope. */
|
|
112
|
+
args?: Record<string, unknown>;
|
|
113
|
+
/** Server's `fallbackMessage` (raw, untranslated). */
|
|
114
|
+
fallbackMessage?: string;
|
|
115
|
+
/** Best-effort merged message — concatenates every plausible source
|
|
116
|
+
* (body.message, body.rootMessage, args.message, fallbackMessage,
|
|
117
|
+
* err.message) so substring matches work regardless of envelope shape. */
|
|
118
|
+
message: string;
|
|
119
|
+
/** HTTP status code, if the error is an HttpErrorResponse. */
|
|
120
|
+
status?: number;
|
|
121
|
+
/** Request URL, if the error is an HttpErrorResponse. */
|
|
122
|
+
url?: string;
|
|
123
|
+
/** True if the raw error looks like an HttpErrorResponse. */
|
|
124
|
+
isHttpError: boolean;
|
|
125
|
+
/** True if the raw error is a typed `WuicClientException`. */
|
|
126
|
+
isClientException: boolean;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Delegate function: returns true (sync or via Promise) to suppress the
|
|
130
|
+
* default error dialog. See {@link GlobalHandler.registerDelegate} for the
|
|
131
|
+
* full contract and async semantics.
|
|
132
|
+
*/
|
|
133
|
+
type ErrorDelegate = (ctx: ErrorDelegateContext) => boolean | void | Promise<boolean | void>;
|
|
134
|
+
/**
|
|
135
|
+
* Options for {@link GlobalHandler.notify}: controls how the error is
|
|
136
|
+
* surfaced to the user (toast vs dialog) and what header/severity to use.
|
|
137
|
+
*/
|
|
138
|
+
interface NotifyOptions {
|
|
139
|
+
/** True → render as PrimeNG toast (via WtoolboxService.messageNotificationService).
|
|
140
|
+
* False/undefined → full dialog flow (handleError path). Default: false. */
|
|
141
|
+
isToast?: boolean;
|
|
142
|
+
/** Toast header text. Default: 'Errore'. (Toast-only.) */
|
|
143
|
+
summary?: string;
|
|
144
|
+
/** Toast severity (PrimeNG). Default: 'error'. (Toast-only.) */
|
|
145
|
+
severity?: 'success' | 'info' | 'warn' | 'error';
|
|
146
|
+
/** Toast lifetime ms. Default: 6000. (Toast-only.) */
|
|
147
|
+
life?: number;
|
|
148
|
+
/** True → bypass registered delegates (rare; default false). */
|
|
149
|
+
skipDelegates?: boolean;
|
|
150
|
+
}
|
|
97
151
|
declare class GlobalHandler implements ErrorHandler {
|
|
98
152
|
static messageNotification: BehaviorSubject<{
|
|
99
153
|
show: boolean;
|
|
100
154
|
exception: CustomException;
|
|
101
155
|
}>;
|
|
156
|
+
/**
|
|
157
|
+
* Flag globale "backend in restart" — quando true, `handleError` non
|
|
158
|
+
* mostra dialog/toast di errore e non inoltra al CrashReporter. Acceso
|
|
159
|
+
* da `app-settings-editor.component.ts:saveAndApply` mentre l'overlay
|
|
160
|
+
* "Riavvio in corso" e' visibile (poll-fail → bump → poll-up). Spento
|
|
161
|
+
* appena il nuovo worker risponde.
|
|
162
|
+
*
|
|
163
|
+
* Razionale: durante il restart il worker e' down per ~5-30s. Tutte le
|
|
164
|
+
* chiamate HTTP correnti (notification polling, crashForward, lazy
|
|
165
|
+
* fetches) falliscono con `ERR_CONNECTION_REFUSED`. Ogni fallimento
|
|
166
|
+
* fa partire `handleError` → dialog "Errore HTTP 0" sotto il dialog
|
|
167
|
+
* "Riavvio in corso". Brutto e fuorviante per l'utente che sta
|
|
168
|
+
* legittimamente aspettando il restart. Soppresso fino a fine restart.
|
|
169
|
+
*/
|
|
170
|
+
private static _restartInProgress;
|
|
171
|
+
static setRestartInProgress(value: boolean): void;
|
|
172
|
+
static isRestartInProgress(): boolean;
|
|
173
|
+
/**
|
|
174
|
+
* Auto-bootstrap del CrashReporterService al primo istanziamento del
|
|
175
|
+
* GlobalHandler (registrato dal consumer come `{ provide: ErrorHandler,
|
|
176
|
+
* useClass: GlobalHandler }` → eager-instantiated dal DI Angular al boot).
|
|
177
|
+
*
|
|
178
|
+
* Bug fix 2026-04-28: prima nessun consumer (WuicTest, WuicDemo, CrmApp)
|
|
179
|
+
* chiamava `CrashReporterService.init()` esplicitamente → l'`enabled`
|
|
180
|
+
* restava false → `(globalThis as any).__wuicCrashReporter` mai assegnato
|
|
181
|
+
* → `handleError` saltava silenziosamente il forward → tutti i crash JS
|
|
182
|
+
* (incluse le `TypeError` da librerie 3p come Stimulsoft viewer)
|
|
183
|
+
* non arrivavano mai a `MetaService.crashForward` → e di conseguenza
|
|
184
|
+
* mai al receiver `errors.wuic-framework.com`. Visibile anche dal
|
|
185
|
+
* Network panel browser: nessuna POST a `crashForward` dopo un errore.
|
|
186
|
+
*
|
|
187
|
+
* Centralizzare il bootstrap qui ha questi vantaggi:
|
|
188
|
+
* 1. Niente codice consumer-side richiesto — la lib si auto-attiva.
|
|
189
|
+
* 2. Garantisce che `__wuicCrashReporter` sia popolato PRIMA che
|
|
190
|
+
* `handleError` lo legga (stesso ciclo di costruzione DI).
|
|
191
|
+
* 3. Guard `_bootstrapAttempted`: niente double-init se per qualche
|
|
192
|
+
* ragione GlobalHandler venisse istanziato N volte (es.
|
|
193
|
+
* `handleErrorStatic` ne crea uno transient per request).
|
|
194
|
+
*/
|
|
195
|
+
private static _bootstrapAttempted;
|
|
196
|
+
constructor();
|
|
102
197
|
/**
|
|
103
198
|
* Static dispatcher — lets framework code that doesn't have access to
|
|
104
199
|
* the Angular ErrorHandler instance (e.g. the HTTP interceptor)
|
|
@@ -112,6 +207,24 @@ declare class GlobalHandler implements ErrorHandler {
|
|
|
112
207
|
* Angular zone (e.g. swallowed lifecycle errors).
|
|
113
208
|
*/
|
|
114
209
|
static emitClientException(exc: WuicClientException): void;
|
|
210
|
+
/**
|
|
211
|
+
* Component-friendly entry point: take an error and surface it to the
|
|
212
|
+
* user as a TOAST (default) or DIALOG, choosing the right message
|
|
213
|
+
* automatically from the typed-exception envelope.
|
|
214
|
+
*
|
|
215
|
+
* Use case: components doing their own try/catch on HTTP calls (e.g.
|
|
216
|
+
* pivot-builder, view-builder) want to show a contextual error in a
|
|
217
|
+
* PrimeNG toast — they used to do
|
|
218
|
+
* `messageService.add({ severity:'error', detail: err.message })`
|
|
219
|
+
* which prints the useless "Http failure response for X: 500 OK".
|
|
220
|
+
* With `notify(err, { isToast:true })` the toast shows the SERVER's
|
|
221
|
+
* `fallbackMessage` / `args.message` from the JsonExceptionFilter envelope.
|
|
222
|
+
*
|
|
223
|
+
* Also runs the registered delegates first, so a marker-intercepting
|
|
224
|
+
* delegate (e.g. wizard's METADATA_DB_EXISTS) can take over and
|
|
225
|
+
* suppress the toast/dialog if it handles the error itself.
|
|
226
|
+
*/
|
|
227
|
+
static notify(error: any, opts?: NotifyOptions): void;
|
|
115
228
|
/**
|
|
116
229
|
* Optional bootstrap: install window/promise handlers that wrap any
|
|
117
230
|
* native unhandled error into a typed WuicClientException. Call once
|
|
@@ -123,6 +236,25 @@ declare class GlobalHandler implements ErrorHandler {
|
|
|
123
236
|
static installWindowHandlers(opts?: {
|
|
124
237
|
exposeForTests?: boolean;
|
|
125
238
|
}): void;
|
|
239
|
+
private static delegates;
|
|
240
|
+
private static nextDelegateId;
|
|
241
|
+
/**
|
|
242
|
+
* Register a delegate that intercepts errors before the default dialog.
|
|
243
|
+
* Higher priority delegates are called first; first one returning true
|
|
244
|
+
* suppresses the default dialog and stops further delegate calls.
|
|
245
|
+
* @returns disposer function — call it to unregister (e.g. ngOnDestroy).
|
|
246
|
+
*/
|
|
247
|
+
static registerDelegate(fn: ErrorDelegate, opts?: {
|
|
248
|
+
priority?: number;
|
|
249
|
+
}): () => void;
|
|
250
|
+
/** Build a normalized context from a raw error (HttpErrorResponse, Error,
|
|
251
|
+
* WuicClientException, or anything else with .error). */
|
|
252
|
+
private static extractErrorContext;
|
|
253
|
+
/** Iterate delegates; first one returning true suppresses default flow.
|
|
254
|
+
* Async delegates: their Promise is dispatched fire-and-forget; the
|
|
255
|
+
* return value seen here is `Promise` (truthy), which we treat as
|
|
256
|
+
* "delegate took over" → suppress default dialog. */
|
|
257
|
+
private static dispatchToDelegates;
|
|
126
258
|
handleError(e: any): void;
|
|
127
259
|
/**
|
|
128
260
|
* @deprecated Pre-typed-envelope branches. Remove once server migration
|
|
@@ -3012,6 +3144,16 @@ declare class MetadataProviderService {
|
|
|
3012
3144
|
value: string;
|
|
3013
3145
|
type: string;
|
|
3014
3146
|
}>>;
|
|
3147
|
+
/**
|
|
3148
|
+
* Elimina un report (file `.mrt`) e relativo cleanup metadata via `MetaService.removeReport`.
|
|
3149
|
+
* Solo gli utenti admin possono effettivamente cancellare; il backend ritorna `false` per non-admin.
|
|
3150
|
+
* Dopo successo invalida la cache report-list locale per la route, cosi' il prossimo
|
|
3151
|
+
* `getReportList` ricarica dal backend.
|
|
3152
|
+
* @param route Route applicativa che ospita il report.
|
|
3153
|
+
* @param name Nome file `.mrt` da rimuovere.
|
|
3154
|
+
* @returns `true` se la cancellazione e' andata a buon fine.
|
|
3155
|
+
*/
|
|
3156
|
+
removeReport(route: string, name: string): Promise<boolean>;
|
|
3015
3157
|
static ɵfac: i0.ɵɵFactoryDeclaration<MetadataProviderService, never>;
|
|
3016
3158
|
static ɵprov: i0.ɵɵInjectableDeclaration<MetadataProviderService>;
|
|
3017
3159
|
}
|
|
@@ -5078,6 +5220,14 @@ declare class ListGridComponent implements AfterViewInit, OnInit, OnDestroy, IDa
|
|
|
5078
5220
|
hardcodedDatasource: DataSourceComponent;
|
|
5079
5221
|
rowCustomSelect: (rowData: any, $event: any, dt: Table) => void;
|
|
5080
5222
|
hideToolbar: boolean;
|
|
5223
|
+
/**
|
|
5224
|
+
* Provider letto da `<wuic-import-export-button>` al click su Export XLS.
|
|
5225
|
+
* Arrow function (NON metodo) per preservare il binding di `this` quando
|
|
5226
|
+
* passata come Input — un metodo verrebbe richiamato col `this` del child.
|
|
5227
|
+
* Ritorna lo stato filtri LIVE del datasource: include i filtri applicati
|
|
5228
|
+
* via header/filter-bar che NON vengono propagati nella URL query string.
|
|
5229
|
+
*/
|
|
5230
|
+
getCurrentFilterInfoForExport: () => any;
|
|
5081
5231
|
/**
|
|
5082
5232
|
* Evento emesso subito prima del rendering logico della singola riga.
|
|
5083
5233
|
* Il consumer puo annullare la riga chiamando `cancelRender()`.
|
|
@@ -5127,6 +5277,15 @@ declare class ListGridComponent implements AfterViewInit, OnInit, OnDestroy, IDa
|
|
|
5127
5277
|
private outerTheadObserveRetryTimer?;
|
|
5128
5278
|
records: any[];
|
|
5129
5279
|
cols: any[];
|
|
5280
|
+
/**
|
|
5281
|
+
* Constant CSS value for `<col>`/`<th>` min-width binding. Pulled into a
|
|
5282
|
+
* field (instead of `getColumnMinWidthCss()` method) so the template binding
|
|
5283
|
+
* `[style.min-width]="columnMinWidthCss"` resolves to a property read
|
|
5284
|
+
* (no function call) and Angular's change-detection short-circuits when
|
|
5285
|
+
* the value didn't change. Saves ~3 function calls per column per CD cycle
|
|
5286
|
+
* (template uses it on `<col>`, header `<th>`, and filter row `<th>`).
|
|
5287
|
+
*/
|
|
5288
|
+
readonly columnMinWidthCss = "10px";
|
|
5130
5289
|
metas: MetadatiColonna[];
|
|
5131
5290
|
metaInfo: MetaInfo;
|
|
5132
5291
|
routeName: string;
|
|
@@ -6141,6 +6300,11 @@ declare class ListGridComponent implements AfterViewInit, OnInit, OnDestroy, IDa
|
|
|
6141
6300
|
/**
|
|
6142
6301
|
* Restituisce il valore CSS per `min-width` sulle colonne della tabella.
|
|
6143
6302
|
* @returns Valore CSS da applicare.
|
|
6303
|
+
*
|
|
6304
|
+
* NOTE: per i template binding usare direttamente il field
|
|
6305
|
+
* `columnMinWidthCss`. Questa funzione resta solo per i call-site interni
|
|
6306
|
+
* (TS) che la consumano via `getColumnMinWidthForCol` o
|
|
6307
|
+
* `Number.parseFloat(getColumnMinWidthCss())`.
|
|
6144
6308
|
*/
|
|
6145
6309
|
getColumnMinWidthCss(): string;
|
|
6146
6310
|
/**
|
|
@@ -6480,8 +6644,25 @@ declare class ImportExportButtonComponent {
|
|
|
6480
6644
|
private notificationRealtime;
|
|
6481
6645
|
private trslSrv;
|
|
6482
6646
|
private userInfo;
|
|
6647
|
+
private cdr;
|
|
6483
6648
|
routeName: string;
|
|
6484
6649
|
tableMetadata: any;
|
|
6650
|
+
/**
|
|
6651
|
+
* Callback opzionale fornito dal componente host (list-grid, spreadsheet-list-sf, ...)
|
|
6652
|
+
* per leggere il `filterInfo` corrente del datasource al momento del click su Export.
|
|
6653
|
+
*
|
|
6654
|
+
* Razionale: prima del fix, l'export leggeva il filtro SOLO dalla query string
|
|
6655
|
+
* (`?filterInfo=...`), che NON viene aggiornata quando l'utente filtra in-grid via
|
|
6656
|
+
* intestazioni di colonna o filter-bar — la URL resta `/cities/list` mentre lo stato
|
|
6657
|
+
* filtri vive in `datasource.value.filterInfo`. Risultato: l'XLS scaricato conteneva
|
|
6658
|
+
* SEMPRE l'intero dataset ignorando il filtro applicato.
|
|
6659
|
+
*
|
|
6660
|
+
* Il provider e' una funzione (non un binding `@Input() filterInfo: any`) per garantire
|
|
6661
|
+
* che venga letto il valore CORRENTE al click, non quello catturato all'ultima CD.
|
|
6662
|
+
* Fallback (provider non bindato): `parseFilterInfoFromQueryString()` per back-compat
|
|
6663
|
+
* con eventuali host esterni che non passano il provider.
|
|
6664
|
+
*/
|
|
6665
|
+
filterInfoProvider?: () => any;
|
|
6485
6666
|
importFileInputRef?: ElementRef<HTMLInputElement>;
|
|
6486
6667
|
private popupMenuItemsCache;
|
|
6487
6668
|
private popupMenuItemsCacheKey;
|
|
@@ -6526,7 +6707,7 @@ declare class ImportExportButtonComponent {
|
|
|
6526
6707
|
private exportMonitoringOnly;
|
|
6527
6708
|
private lastHandledExportResumeGuid;
|
|
6528
6709
|
private exportBackgroundNotifiedGuids;
|
|
6529
|
-
constructor(route: ActivatedRoute, dataSrv: DataProviderService, dataMetaSrv: DataProviderMetaService, notificationRealtime: NotificationRealtimeService, trslSrv: TranslationManagerService, userInfo: UserInfoService);
|
|
6710
|
+
constructor(route: ActivatedRoute, dataSrv: DataProviderService, dataMetaSrv: DataProviderMetaService, notificationRealtime: NotificationRealtimeService, trslSrv: TranslationManagerService, userInfo: UserInfoService, cdr: ChangeDetectorRef);
|
|
6530
6711
|
private t;
|
|
6531
6712
|
get canExportXls(): boolean;
|
|
6532
6713
|
get canImportXls(): boolean;
|
|
@@ -6562,7 +6743,7 @@ declare class ImportExportButtonComponent {
|
|
|
6562
6743
|
private applyImportProgressValue;
|
|
6563
6744
|
private stopImportProgressPolling;
|
|
6564
6745
|
static ɵfac: i0.ɵɵFactoryDeclaration<ImportExportButtonComponent, never>;
|
|
6565
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ImportExportButtonComponent, "wuic-import-export-button", never, { "routeName": { "alias": "routeName"; "required": false; }; "tableMetadata": { "alias": "tableMetadata"; "required": false; }; }, {}, never, never, true, never>;
|
|
6746
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ImportExportButtonComponent, "wuic-import-export-button", never, { "routeName": { "alias": "routeName"; "required": false; }; "tableMetadata": { "alias": "tableMetadata"; "required": false; }; "filterInfoProvider": { "alias": "filterInfoProvider"; "required": false; }; }, {}, never, never, true, never>;
|
|
6566
6747
|
}
|
|
6567
6748
|
|
|
6568
6749
|
declare class PagerComponent implements OnInit, OnChanges, OnDestroy {
|
|
@@ -6797,6 +6978,14 @@ declare class FilterBarComponent implements OnInit, OnChanges, OnDestroy {
|
|
|
6797
6978
|
* a bloated, unreadable URL with duplicated filter serializations.
|
|
6798
6979
|
*/
|
|
6799
6980
|
skipUrlSync: boolean;
|
|
6981
|
+
/**
|
|
6982
|
+
* Quando true, il filter-bar non lancia `datasource.value.fetchData()` (e
|
|
6983
|
+
* quindi nessuna `MetaService.getFlatRecordData`) sugli apply* — emette solo
|
|
6984
|
+
* gli output. Usato dal pivot-builder dove il `nestedSource` non rappresenta
|
|
6985
|
+
* una grid visibile: la SQL preview viene rigenerata via
|
|
6986
|
+
* `previewViewDefinition` come reazione agli output, niente fetch sul route.
|
|
6987
|
+
*/
|
|
6988
|
+
skipFetch: boolean;
|
|
6800
6989
|
filterApplied: EventEmitter<void>;
|
|
6801
6990
|
onFilterApplied: EventEmitter<{
|
|
6802
6991
|
mode: "basic" | "advanced" | "clear";
|
|
@@ -6939,7 +7128,7 @@ declare class FilterBarComponent implements OnInit, OnChanges, OnDestroy {
|
|
|
6939
7128
|
private syncGridStateQueryString;
|
|
6940
7129
|
private resetCursorPagingState;
|
|
6941
7130
|
static ɵfac: i0.ɵɵFactoryDeclaration<FilterBarComponent, never>;
|
|
6942
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<FilterBarComponent, "wuic-filter-bar", never, { "datasource": { "alias": "datasource"; "required": false; }; "hardcodedDatasource": { "alias": "hardcodedDatasource"; "required": false; }; "multiDatasourceMetas": { "alias": "multiDatasourceMetas"; "required": false; }; "skipUrlSync": { "alias": "skipUrlSync"; "required": false; }; }, { "filterApplied": "filterApplied"; "onFilterApplied": "onFilterApplied"; "onSortingApplied": "onSortingApplied"; "onPageSizeApplied": "onPageSizeApplied"; "onGroupingChanged": "onGroupingChanged"; "onFilterBarCollapseChanged": "onFilterBarCollapseChanged"; }, never, never, true, never>;
|
|
7131
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FilterBarComponent, "wuic-filter-bar", never, { "datasource": { "alias": "datasource"; "required": false; }; "hardcodedDatasource": { "alias": "hardcodedDatasource"; "required": false; }; "multiDatasourceMetas": { "alias": "multiDatasourceMetas"; "required": false; }; "skipUrlSync": { "alias": "skipUrlSync"; "required": false; }; "skipFetch": { "alias": "skipFetch"; "required": false; }; }, { "filterApplied": "filterApplied"; "onFilterApplied": "onFilterApplied"; "onSortingApplied": "onSortingApplied"; "onPageSizeApplied": "onPageSizeApplied"; "onGroupingChanged": "onGroupingChanged"; "onFilterBarCollapseChanged": "onFilterBarCollapseChanged"; }, never, never, true, never>;
|
|
6943
7132
|
}
|
|
6944
7133
|
|
|
6945
7134
|
declare class LazySchedulerListComponent implements OnInit {
|
|
@@ -7088,7 +7277,7 @@ interface IDesigner<T extends IDesignerProperties> {
|
|
|
7088
7277
|
archetypeOptions: T;
|
|
7089
7278
|
}
|
|
7090
7279
|
|
|
7091
|
-
declare class MapListComponent implements OnInit, IBindable, IDesigner<MapOptions>, IDataBoundHostComponent {
|
|
7280
|
+
declare class MapListComponent implements OnInit, AfterViewInit, OnDestroy, IBindable, IDesigner<MapOptions>, IDataBoundHostComponent {
|
|
7092
7281
|
private titleService;
|
|
7093
7282
|
private cd;
|
|
7094
7283
|
private route;
|
|
@@ -7122,10 +7311,6 @@ declare class MapListComponent implements OnInit, IBindable, IDesigner<MapOption
|
|
|
7122
7311
|
* Proprieta di stato del componente per place lib, usata dalla logica interna e dal template.
|
|
7123
7312
|
*/
|
|
7124
7313
|
PLACE_LIB: google.maps.PlacesLibrary;
|
|
7125
|
-
/**
|
|
7126
|
-
* Proprieta di stato del componente per drawing lib, usata dalla logica interna e dal template.
|
|
7127
|
-
*/
|
|
7128
|
-
DRAWING_LIB: google.maps.DrawingLibrary;
|
|
7129
7314
|
/**
|
|
7130
7315
|
* Input dal componente padre per hardcoded route; usata nella configurazione e nel rendering del componente.
|
|
7131
7316
|
*/
|
|
@@ -7436,6 +7621,21 @@ declare class MapListComponent implements OnInit, IBindable, IDesigner<MapOption
|
|
|
7436
7621
|
* Rilascia risorse e sottoscrizioni per evitare leak e stati pendenti.
|
|
7437
7622
|
*/
|
|
7438
7623
|
ngOnDestroy(): void;
|
|
7624
|
+
/** Cleanup function per ogni listener gmp-click attivo. */
|
|
7625
|
+
private markerGmpClickCleanups;
|
|
7626
|
+
/** Subscription a `markerElements.changes`. */
|
|
7627
|
+
private markerElementsChangesSub?;
|
|
7628
|
+
ngAfterViewInit(): void;
|
|
7629
|
+
/**
|
|
7630
|
+
* Iterazione `markerElements` ↔ `data.filter(__marker)` in parallelo
|
|
7631
|
+
* (stesso ordine di rendering). Per ogni AdvancedMarkerElement:
|
|
7632
|
+
* - removeEventListener su quello vecchio (cleanup);
|
|
7633
|
+
* - addEventListener('gmp-click', ...) sul nuovo, capturando record/marker
|
|
7634
|
+
* nello scope per chiamare `openInfo` esattamente come faceva
|
|
7635
|
+
* `(mapClick)="openInfo(markerElem, record.__marker)"`.
|
|
7636
|
+
*/
|
|
7637
|
+
private wireMarkerGmpClick;
|
|
7638
|
+
private detachAllMarkerGmpClick;
|
|
7439
7639
|
/**
|
|
7440
7640
|
* Si sottoscrive a `fetchInfo$` del datasource, aggiorna metadati/viewport e inizializza Google Maps al primo caricamento.
|
|
7441
7641
|
* Nei caricamenti successivi ripopola marker/poligoni e aggiorna clusterer e resize pass.
|
|
@@ -7745,7 +7945,7 @@ declare class MapListComponent implements OnInit, IBindable, IDesigner<MapOption
|
|
|
7745
7945
|
static ɵcmp: i0.ɵɵComponentDeclaration<MapListComponent, "wuic-map-list", never, { "hardcodedRoute": { "alias": "hardcodedRoute"; "required": false; }; "parentRecord": { "alias": "parentRecord"; "required": false; }; "parentMetaInfo": { "alias": "parentMetaInfo"; "required": false; }; "datasource": { "alias": "datasource"; "required": false; }; "hardcodedDatasource": { "alias": "hardcodedDatasource"; "required": false; }; "hideToolbar": { "alias": "hideToolbar"; "required": false; }; }, { "onMapClick": "onMapClick"; "onMarkerDragStart": "onMarkerDragStart"; "onMarkerDragEnd": "onMarkerDragEnd"; "onMarkerClick": "onMarkerClick"; "onPolygonClick": "onPolygonClick"; "onPolygonShapeChangedEvent": "onPolygonShapeChangedEvent"; "onMapDataBound": "onMapDataBound"; "onMapBoundsChanged": "onMapBoundsChanged"; "onMapCenterChanged": "onMapCenterChanged"; "onMapContextMenu": "onMapContextMenu"; "onMapDrag": "onMapDrag"; "onMapDragEnd": "onMapDragEnd"; "onMapDragStart": "onMapDragStart"; "onMapMouseMove": "onMapMouseMove"; "onMapMouseOut": "onMapMouseOut"; "onMapMouseOver": "onMapMouseOver"; "onMapResize": "onMapResize"; "onMapZoomChanged": "onMapZoomChanged"; }, never, never, true, never>;
|
|
7746
7946
|
}
|
|
7747
7947
|
|
|
7748
|
-
declare class CarouselListComponent implements IBindable, IDesigner<CarouselOptions>, AfterViewInit, OnDestroy, IDataBoundHostComponent {
|
|
7948
|
+
declare class CarouselListComponent implements IBindable, IDesigner<CarouselOptions>, OnInit, AfterViewInit, OnDestroy, IDataBoundHostComponent {
|
|
7749
7949
|
private titleService;
|
|
7750
7950
|
private cd;
|
|
7751
7951
|
private route;
|
|
@@ -8002,7 +8202,7 @@ declare class LazySpreadsheetListSfComponent implements OnInit {
|
|
|
8002
8202
|
static ɵcmp: i0.ɵɵComponentDeclaration<LazySpreadsheetListSfComponent, "wuic-spreadsheet-list-sf-lazy", never, { "hardcodedRoute": { "alias": "hardcodedRoute"; "required": false; }; "parentRecord": { "alias": "parentRecord"; "required": false; }; "parentMetaInfo": { "alias": "parentMetaInfo"; "required": false; }; "datasource": { "alias": "datasource"; "required": false; }; "hardcodedDatasource": { "alias": "hardcodedDatasource"; "required": false; }; "hideToolbar": { "alias": "hideToolbar"; "required": false; }; }, {}, never, never, true, never>;
|
|
8003
8203
|
}
|
|
8004
8204
|
|
|
8005
|
-
declare class TreeListComponent implements OnDestroy, IDataBoundHostComponent {
|
|
8205
|
+
declare class TreeListComponent implements OnInit, OnDestroy, IDataBoundHostComponent {
|
|
8006
8206
|
private titleService;
|
|
8007
8207
|
private dataSrv;
|
|
8008
8208
|
private cd;
|
|
@@ -8146,8 +8346,12 @@ declare class TreeListComponent implements OnDestroy, IDataBoundHostComponent {
|
|
|
8146
8346
|
constructor(titleService: Title, dataSrv: DataProviderService, cd: ChangeDetectorRef, trslSrv: TranslationManagerService);
|
|
8147
8347
|
/**
|
|
8148
8348
|
* Inizializza il componente preparando stato, sottoscrizioni e primi caricamenti richiesti.
|
|
8349
|
+
*
|
|
8350
|
+
* Fire-and-forget: Angular `OnInit.ngOnInit` deve ritornare void; deleghiamo
|
|
8351
|
+
* la logica async a `initAsync()` per evitare Promise floating tipizzata void.
|
|
8149
8352
|
*/
|
|
8150
|
-
ngOnInit():
|
|
8353
|
+
ngOnInit(): void;
|
|
8354
|
+
private initAsync;
|
|
8151
8355
|
/**
|
|
8152
8356
|
* Gestisce la logica di `subscribeToDS` con regole guidate dai metadati server `_Metadati_*` (tabella/colonna), gestendo esplicitamente il ciclo di vita delle subscription RxJS, preparando/aggiornando il dataset visualizzato.
|
|
8153
8357
|
*/
|
|
@@ -8209,7 +8413,7 @@ declare class TreeListComponent implements OnDestroy, IDataBoundHostComponent {
|
|
|
8209
8413
|
static ɵcmp: i0.ɵɵComponentDeclaration<TreeListComponent, "wuic-tree-list", never, { "hardcodedRoute": { "alias": "hardcodedRoute"; "required": false; }; "parentRecord": { "alias": "parentRecord"; "required": false; }; "parentMetaInfo": { "alias": "parentMetaInfo"; "required": false; }; "datasource": { "alias": "datasource"; "required": false; }; "hardcodedDatasource": { "alias": "hardcodedDatasource"; "required": false; }; "hideToolbar": { "alias": "hideToolbar"; "required": false; }; }, { "onTreeDataBound": "onTreeDataBound"; "onTreeNodeExpand": "onTreeNodeExpand"; "onTreeNodeExpanded": "onTreeNodeExpanded"; "onTreeNodeSelect": "onTreeNodeSelect"; "onTreeNodeUnselect": "onTreeNodeUnselect"; "onTreeNodeCollapse": "onTreeNodeCollapse"; }, never, never, true, never>;
|
|
8210
8414
|
}
|
|
8211
8415
|
|
|
8212
|
-
declare class ParametricDialogComponent implements OnDestroy, IDataBoundHostComponent {
|
|
8416
|
+
declare class ParametricDialogComponent implements OnInit, AfterViewInit, OnDestroy, IDataBoundHostComponent {
|
|
8213
8417
|
ref: DynamicDialogRef | null;
|
|
8214
8418
|
config: DynamicDialogConfig | null;
|
|
8215
8419
|
private route;
|
|
@@ -8709,6 +8913,18 @@ declare class AppSettingsEditorComponent implements OnInit {
|
|
|
8709
8913
|
private pristine;
|
|
8710
8914
|
current: Map<string, any>;
|
|
8711
8915
|
readonly activeTabValue: i0.WritableSignal<number>;
|
|
8916
|
+
/**
|
|
8917
|
+
* Chiave localStorage per persistere il tab corrente. Salvato per `name`
|
|
8918
|
+
* (stable identifier della sezione, non per index che puo' cambiare se
|
|
8919
|
+
* vengono aggiunte/rimosse sezioni). Letto in `loadSchema` per ripristinare
|
|
8920
|
+
* il tab dopo refresh / restart-driven reload.
|
|
8921
|
+
*/
|
|
8922
|
+
private static readonly ACTIVE_TAB_LS_KEY;
|
|
8923
|
+
/**
|
|
8924
|
+
* Wire-up dal template: persiste il tab corrente su localStorage ad
|
|
8925
|
+
* ogni cambio. Salva il `name` della sezione (stabile cross-reload).
|
|
8926
|
+
*/
|
|
8927
|
+
onTabChange(newIndex: number): void;
|
|
8712
8928
|
readonly pendingChanges: i0.Signal<SaveChange[]>;
|
|
8713
8929
|
readonly hasPendingChanges: i0.Signal<boolean>;
|
|
8714
8930
|
readonly pendingChangesCount: i0.Signal<number>;
|
|
@@ -8777,6 +8993,52 @@ declare class AppSettingsEditorComponent implements OnInit {
|
|
|
8777
8993
|
onReload(): Promise<void>;
|
|
8778
8994
|
private confirmDiscardChanges;
|
|
8779
8995
|
private sleep;
|
|
8996
|
+
/**
|
|
8997
|
+
* Restart-completion poll con flow a 4 fasi (algoritmo concordato):
|
|
8998
|
+
*
|
|
8999
|
+
* 1) Phase A — poll Health finche' fallisce. Quando il save di un setting
|
|
9000
|
+
* con impact `restart` ritorna, il vecchio worker e' ancora vivo per
|
|
9001
|
+
* ~800ms-5s prima dello StopApplication. Se non aspettiamo che muoia
|
|
9002
|
+
* davvero, qualunque "200 OK" iniziale e' un FALSE POSITIVE — il vecchio
|
|
9003
|
+
* worker risponde, dismissa il dialog, l'utente naviga e si schianta.
|
|
9004
|
+
*
|
|
9005
|
+
* 2) Phase B — wait `postDownGraceMs` (default 10s) DOPO la prima failure.
|
|
9006
|
+
* Margine per dotnet-watch di completare lo shutdown e arrivare in
|
|
9007
|
+
* "Waiting for changes" idle state.
|
|
9008
|
+
*
|
|
9009
|
+
* 3) Phase C — chiama `/api/__dev__/bump-watch-trigger` (Angular dev-server
|
|
9010
|
+
* proxy bypass middleware in `proxy.conf.js`). Il middleware riscrive
|
|
9011
|
+
* `HotReloadTrigger.cs` con un nome metodo unico → rude edit → dotnet-watch
|
|
9012
|
+
* fa rebuild + restart del worker. In IIS/ANCM o dotnet run puro l'endpoint
|
|
9013
|
+
* non esiste, la chiamata fallisce silente, ANCM/NSSM ricicla per conto suo.
|
|
9014
|
+
*
|
|
9015
|
+
* 4) Phase D — poll Health finche' un nuovo response 200 arriva: nuovo worker up.
|
|
9016
|
+
*
|
|
9017
|
+
* @param maxWaitMs budget totale in ms (default 90s).
|
|
9018
|
+
* @param postDownGraceMs grace post-down (default 10s).
|
|
9019
|
+
* @returns true se il restart e' stato completato, false su timeout.
|
|
9020
|
+
*/
|
|
9021
|
+
private waitForRestart;
|
|
9022
|
+
/**
|
|
9023
|
+
* [PROD path] Polling semplice usato sotto IIS/ANCM/NSSM dove il
|
|
9024
|
+
* supervisor ricicla il worker autonomamente in pochi secondi.
|
|
9025
|
+
* Comportamento identico alla versione legacy: polla finche' Health
|
|
9026
|
+
* risponde 200, senza fasi di pre-attesa o trigger esterni.
|
|
9027
|
+
*
|
|
9028
|
+
* Nota: c'e' un piccolo rischio di falso positivo nel primo ping se il
|
|
9029
|
+
* vecchio worker non e' ancora morto (~1-2s di sovrapposizione), ma sotto
|
|
9030
|
+
* ANCM/NSSM la finestra e' molto stretta e il caller (`saveAndApply`)
|
|
9031
|
+
* gia' fa un `sleep(Math.max(800, restartDelayMs+200))` prima di chiamare
|
|
9032
|
+
* questo metodo, coprendo il caso normale.
|
|
9033
|
+
*/
|
|
9034
|
+
private waitForHealthSimple;
|
|
9035
|
+
/**
|
|
9036
|
+
* Wrapper legacy mantenuto per back-compat: alias di
|
|
9037
|
+
* `waitForHealthSimple`. Eventuali consumer storici che chiamavano
|
|
9038
|
+
* `waitForHealth(ms)` continuano a vedere il polling semplice (non il
|
|
9039
|
+
* 4-phase) — coerente con ambienti prod dove il supervisor gestisce
|
|
9040
|
+
* il restart.
|
|
9041
|
+
*/
|
|
8780
9042
|
private waitForHealth;
|
|
8781
9043
|
private forceLogout;
|
|
8782
9044
|
static ɵfac: i0.ɵɵFactoryDeclaration<AppSettingsEditorComponent, never>;
|
|
@@ -8987,6 +9249,19 @@ interface LicenseStatusResponse {
|
|
|
8987
9249
|
maintenanceExpiryUtc?: string | null;
|
|
8988
9250
|
tier?: string;
|
|
8989
9251
|
features?: string[];
|
|
9252
|
+
/**
|
|
9253
|
+
* DBMS utilizzato dal backend per il **DB DATI** (`AppSettings.dbms`):
|
|
9254
|
+
* `'mssql'` o `'mysql'`. Aggiunto 2026-04-28 per il tooltip license del
|
|
9255
|
+
* meta-menu — sysadmin vede a colpo d'occhio su quale provider gira il
|
|
9256
|
+
* deploy.
|
|
9257
|
+
*/
|
|
9258
|
+
dataDbms?: string;
|
|
9259
|
+
/**
|
|
9260
|
+
* DBMS utilizzato dal backend per il **DB METADATI** (`AppSettings.meta-dbms`).
|
|
9261
|
+
* Tipicamente uguale a `dataDbms` ma puo' divergere quando
|
|
9262
|
+
* `allowMultipleDBMS=true` (es. data MySQL + metadata MSSQL).
|
|
9263
|
+
*/
|
|
9264
|
+
metaDbms?: string;
|
|
8990
9265
|
}
|
|
8991
9266
|
/**
|
|
8992
9267
|
* Client-side view of the current license. Exposes synchronous `has(feature)`
|
|
@@ -9235,6 +9510,11 @@ declare class AuthSessionService {
|
|
|
9235
9510
|
*/
|
|
9236
9511
|
setSessionTimeout(minutes: number, warningMinutes?: number): void;
|
|
9237
9512
|
private activityListenersAttached;
|
|
9513
|
+
/** Timestamp dell'ultimo reset throttled, in ms epoch. */
|
|
9514
|
+
private lastActivityResetAt;
|
|
9515
|
+
/** Min intervallo tra reset throttled (mousemove/scroll). 1s e' un buon compromesso
|
|
9516
|
+
* tra responsiveness al "vero" idle e overhead da event flood. */
|
|
9517
|
+
private static readonly ACTIVITY_RESET_THROTTLE_MS;
|
|
9238
9518
|
private setupActivityListeners;
|
|
9239
9519
|
/**
|
|
9240
9520
|
* Avvia/riavvia i timer di sessione. Chiamato dopo login e ad ogni attività HTTP.
|
|
@@ -9410,6 +9690,7 @@ declare class MetaMenuComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
9410
9690
|
*/
|
|
9411
9691
|
private runtimeMenuSub?;
|
|
9412
9692
|
private authStateSub?;
|
|
9693
|
+
private authConfigRefreshHandler;
|
|
9413
9694
|
/**
|
|
9414
9695
|
* Proprieta di stato del componente per menu updated sub, usata dalla logica interna e dal template.
|
|
9415
9696
|
*/
|
|
@@ -9639,7 +9920,18 @@ declare class MetaMenuComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
9639
9920
|
* sincronizza permessi/menu e applica l'eventuale redirect richiesto via query/hash.
|
|
9640
9921
|
*/
|
|
9641
9922
|
loginLegacy(): Promise<void>;
|
|
9642
|
-
|
|
9923
|
+
/**
|
|
9924
|
+
* Re-carica la AuthConfig dal backend. Chiamato in `ngOnInit` al boot e
|
|
9925
|
+
* (via global event `wuic:auth-config-refresh`) dopo il restart del
|
|
9926
|
+
* backend per applicare immediatamente nuovi `sessionTimeoutMinutes`,
|
|
9927
|
+
* `notifySessionExpirationBefore`, `enableUserLanguageSwitch` e altri
|
|
9928
|
+
* setting hot-reload-relevant senza richiedere page reload.
|
|
9929
|
+
*
|
|
9930
|
+
* Esposto come `public` cosi' altri componenti (es. app-settings-editor
|
|
9931
|
+
* post-save) possono triggerarlo direttamente quando hanno il riferimento
|
|
9932
|
+
* al meta-menu, oppure dispatcciare l'evento globale.
|
|
9933
|
+
*/
|
|
9934
|
+
loadAuthConfig(): Promise<void>;
|
|
9643
9935
|
onDocumentClick(): void;
|
|
9644
9936
|
toggleUserLanguageMenu(event?: Event): void;
|
|
9645
9937
|
isCurrentUserLanguage(langId: string): boolean;
|
|
@@ -10120,7 +10412,7 @@ declare class NumberEditorComponent implements IFieldEditor, AfterViewInit {
|
|
|
10120
10412
|
static ɵcmp: i0.ɵɵComponentDeclaration<NumberEditorComponent, "wuic-number-editor", never, { "record": { "alias": "record"; "required": false; }; "field": { "alias": "field"; "required": false; }; "metaInfo": { "alias": "metaInfo"; "required": false; }; "isFilter": { "alias": "isFilter"; "required": false; }; "nestedIndex": { "alias": "nestedIndex"; "required": false; }; "triggerProp": { "alias": "triggerProp"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; }, {}, never, never, true, never>;
|
|
10121
10413
|
}
|
|
10122
10414
|
|
|
10123
|
-
declare class LookupEditorComponent implements IFieldEditor, AfterViewInit, AfterViewChecked,
|
|
10415
|
+
declare class LookupEditorComponent implements IFieldEditor, AfterViewInit, AfterViewChecked, OnChanges {
|
|
10124
10416
|
private trslSrv;
|
|
10125
10417
|
private cd;
|
|
10126
10418
|
private hostElementRef;
|
|
@@ -10194,10 +10486,6 @@ declare class LookupEditorComponent implements IFieldEditor, AfterViewInit, Afte
|
|
|
10194
10486
|
* @param hostElementRef Parametro in ingresso utilizzato per determinare il flusso operativo del metodo.
|
|
10195
10487
|
*/
|
|
10196
10488
|
constructor(trslSrv: TranslationManagerService, cd: ChangeDetectorRef, hostElementRef: ElementRef<HTMLElement>);
|
|
10197
|
-
/**
|
|
10198
|
-
* Inizializza il componente preparando stato, sottoscrizioni e primi caricamenti richiesti.
|
|
10199
|
-
*/
|
|
10200
|
-
ngOnInit(): void;
|
|
10201
10489
|
ngOnChanges(_changes: SimpleChanges): void;
|
|
10202
10490
|
/**
|
|
10203
10491
|
* Legge `mc_props_bag.lookup.virtualize` e determina se abilitare il virtual scroll del p-autocomplete.
|
|
@@ -10247,7 +10535,7 @@ declare class LookupEditorComponent implements IFieldEditor, AfterViewInit, Afte
|
|
|
10247
10535
|
static ɵcmp: i0.ɵɵComponentDeclaration<LookupEditorComponent, "wuic-lookup-editor", never, { "record": { "alias": "record"; "required": false; }; "field": { "alias": "field"; "required": false; }; "metaInfo": { "alias": "metaInfo"; "required": false; }; "isFilter": { "alias": "isFilter"; "required": false; }; "nestedIndex": { "alias": "nestedIndex"; "required": false; }; "triggerProp": { "alias": "triggerProp"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; }, {}, never, never, true, never>;
|
|
10248
10536
|
}
|
|
10249
10537
|
|
|
10250
|
-
declare class DictionaryEditorComponent implements OnInit, OnChanges, AfterViewChecked, OnDestroy {
|
|
10538
|
+
declare class DictionaryEditorComponent implements OnInit, OnChanges, AfterViewChecked, AfterViewInit, OnDestroy {
|
|
10251
10539
|
private trnSrv;
|
|
10252
10540
|
private hostElementRef;
|
|
10253
10541
|
/**
|
|
@@ -10688,10 +10976,6 @@ declare class ButtonEditorComponent {
|
|
|
10688
10976
|
*/
|
|
10689
10977
|
constructor(confirmationService: ConfirmationService, trn: TranslateService, wtoolbox: WtoolboxService);
|
|
10690
10978
|
/**
|
|
10691
|
-
* Completa inizializzazione dopo il rendering della view e collega riferimenti UI.
|
|
10692
|
-
*/
|
|
10693
|
-
ngAfterViewInit(): void;
|
|
10694
|
-
/**
|
|
10695
10979
|
* Valuta una condizione tramite `isButtonVisible` con il flusso specifico definito dalla sua implementazione.
|
|
10696
10980
|
* @returns Esito booleano calcolato dal metodo.
|
|
10697
10981
|
*/
|
|
@@ -13790,4 +14074,4 @@ declare function getThemeOptions(): ThemeOption[];
|
|
|
13790
14074
|
declare function getThemePrimaryHex(value: string): string;
|
|
13791
14075
|
|
|
13792
14076
|
export { AUTH_REDIRECT_REASON_KEY, AppSettingsEditorComponent, AuthSessionService, BooleanEditorComponent, BoundedRepeaterComponent, ButtonEditorComponent, CallbackPipe, CallbackPipe2, CarouselListComponent, CodeAreaEditorComponent, ColorEditorComponent, CrashReporterService, CustomException, DataActionButtonComponent, DataProviderOdataService, DataRepeaterComponent, DataSourceComponent, DateEditorComponent, DesignerRouteComponent, DictionaryEditorComponent, DynamicCompilerService, DynamicRowTemplateComponent, FieldEditorComponent, FilterBarComponent, FilterInfo, FormatGridViewValuePipe, GetSrcUploadPreviewPipe, GlobalHandler, HtmlEditorComponent, ImageWrapperComponent, ImportExportButtonComponent, IsSelectedRowPipe, KanbanListComponent, KanbanOptions, KanbanStatusColumnItem, LazyChartListComponent, LazyCodeEditorComponent, LazyDataActionButtonComponent, LazyDataSourceComponent, LazyFieldEditorComponent, LazyFirstRunWizardComponent, LazyImageWrapperComponent, LazyKanbanListComponent, LazyMetaMenuComponent, LazyPivotBuilderComponent, LazyReportDesignerComponent, LazyReportViewerComponent, LazySchedulerListComponent, LazySpreadsheetListSfComponent, LicenseFeatureService, ListGridComponent, LookupEditorComponent, MapListComponent, MetaInfo, MetaMenuComponent, MetadataEditorService, MetadataProviderService, MetadatiColonna, MetadatiTabella, NotificationBellComponent, NotificationRealtimeService, NumberEditorComponent, PRIMARY_PALETTES, PagerComponent, ParametricDialogComponent, PropertyArrayEditorComponent, PropertyObjectEditorComponent, THEME_OPTIONS, TextAreaEditorComponent, TextEditorComponent, TranslationManagerService, TreeListComponent, TreeViewSelectorComponent, UploadDialogComponent, UploadEditorComponent, UserInfoService, ValidationRule, ValueChangedPayload, VisibleFieldListPipe, WidgetDefinition, WorkflowDesignerRouteComponent, WorkflowRunnerComponent, WorkflowRuntimeMetadataService, WtoolboxService, WuicErrorDialogComponent, WuicErrorInterceptor, WuicFeatureDirective, WuicFrozenColumnDirective, WuicRagChatbotComponent, WuicRagChatbotFabComponent, WuicRagService, WuicRowTogglerDirective, _PRIMENG_TABLE_DIRECTIVES_NAMES, authExpiredInterceptor, boundedRepeaterPendingChangesGuard, featureRouteCanActivateGuard, featureRouteCanMatchGuard, getThemeOptions, getThemePrimaryHex, inferTemplateFieldFromBaseClass, loadBooleanEditorComponent, loadButtonEditorComponent, loadCodeAreaEditorComponent, loadColorEditorComponent, loadDateEditorComponent, loadDictionaryEditorComponent, loadHtmlEditorComponent, loadLookupEditorComponent, loadNumberEditorComponent, loadPropertyArrayEditorComponent, loadPropertyObjectEditorComponent, loadTextAreaEditorComponent, loadTextEditorComponent, loadTreeViewSelectorComponent, loadUploadEditorComponent, menuRouteAccessCanActivateGuard, menuRouteAccessCanMatchGuard, routes, wuicErrorInterceptor };
|
|
13793
|
-
export type { AuthSessionState, Breadcrumb, CompileDynamicComponentOptions, CrashReportPayload, CrashReportingConfig, DataSourceAfterSyncEvent, DataSourceBeforeSyncEvent, DataSourceSyncOperation, IDataBoundHostComponent, IFieldEditor, KanbanStatusColumn, LicenseStatusResponse, ListGridAfterRenderEvent, ListGridAfterRowRenderEvent, ListGridBeforeRowRenderEvent, MultiDatasourceMeta, NotificationItem, RagAskAcceptedResponse, RagAskRequest, RagChatHistorySnapshot, RagChatMessageDto, RagChatMessageStatus, RagChatRequest, RagChatResponse, RagChatSessionDto, RagChatTurn, RagChatbotTurn, RagHealthResponse, RagQueryRequest, RagQueryResponse, RagSource, RealtimeProgressEvent, ThemeOption, ThemePresetName, ThemePrimaryName, WorkflowRuntimeLinkedActionRouteMetadataEntry, WorkflowRuntimePreviousRouteNodeEntry, WorkflowRuntimeRouteMetadataEntry, WorkflowRuntimeRouteNodePayloadEntry };
|
|
14077
|
+
export type { AuthSessionState, Breadcrumb, CompileDynamicComponentOptions, CrashReportPayload, CrashReportingConfig, DataSourceAfterSyncEvent, DataSourceBeforeSyncEvent, DataSourceSyncOperation, ErrorDelegate, ErrorDelegateContext, IDataBoundHostComponent, IFieldEditor, KanbanStatusColumn, LicenseStatusResponse, ListGridAfterRenderEvent, ListGridAfterRowRenderEvent, ListGridBeforeRowRenderEvent, MultiDatasourceMeta, NotificationItem, NotifyOptions, RagAskAcceptedResponse, RagAskRequest, RagChatHistorySnapshot, RagChatMessageDto, RagChatMessageStatus, RagChatRequest, RagChatResponse, RagChatSessionDto, RagChatTurn, RagChatbotTurn, RagHealthResponse, RagQueryRequest, RagQueryResponse, RagSource, RealtimeProgressEvent, ThemeOption, ThemePresetName, ThemePrimaryName, WorkflowRuntimeLinkedActionRouteMetadataEntry, WorkflowRuntimePreviousRouteNodeEntry, WorkflowRuntimeRouteMetadataEntry, WorkflowRuntimeRouteNodePayloadEntry };
|