structra-ui 0.2.75 → 0.2.77
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/structra-ui.mjs +8262 -6494
- package/fesm2022/structra-ui.mjs.map +1 -1
- package/package.json +2 -2
- package/structra-ui.css +1 -1
- package/types/structra-ui.d.ts +1998 -1435
package/types/structra-ui.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { AfterViewInit, OnChanges, ElementRef, SimpleChanges, ChangeDetectorRef, Injector, DestroyRef, EventEmitter,
|
|
2
|
+
import { AfterViewInit, OnChanges, ElementRef, SimpleChanges, InjectionToken, OnInit, OnDestroy, EnvironmentProviders, ChangeDetectorRef, Injector, DestroyRef, EventEmitter, DoCheck, TemplateRef, AfterContentInit, QueryList, AfterViewChecked, Renderer2, Signal, ViewContainerRef, Provider, WritableSignal, Type, EffectRef, isDevMode } from '@angular/core';
|
|
3
|
+
import { Router, ActivatedRouteSnapshot, ActivatedRoute } from '@angular/router';
|
|
4
|
+
import { Observable, Subscription } from 'rxjs';
|
|
5
|
+
import { CdkDragMove } from '@angular/cdk/drag-drop';
|
|
3
6
|
import * as _angular_forms from '@angular/forms';
|
|
4
7
|
import { ControlValueAccessor, AbstractControl, NgControl, ValidatorFn, NgForm, FormGroup, FormControl, FormBuilder, FormArray } from '@angular/forms';
|
|
5
8
|
import { MatDatepicker } from '@angular/material/datepicker';
|
|
@@ -10,8 +13,6 @@ import { ICellRendererParams, ColDef, GetRowIdParams, GridReadyEvent, ColumnMove
|
|
|
10
13
|
import { ICellRendererAngularComp } from 'ag-grid-angular';
|
|
11
14
|
import * as structra_ui from 'structra-ui';
|
|
12
15
|
import { DialogRef } from '@angular/cdk/dialog';
|
|
13
|
-
import { Observable, Subscription } from 'rxjs';
|
|
14
|
-
import { ActivatedRouteSnapshot, Router, ActivatedRoute } from '@angular/router';
|
|
15
16
|
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
16
17
|
|
|
17
18
|
/** Marcador de pacote publicado como `structra-ui`. */
|
|
@@ -55,6 +56,113 @@ declare function resolveStructraShellScrollContainer(host: HTMLElement, pageHost
|
|
|
55
56
|
/** Páginas com botão «voltar ao topo» próprio (consulta / cadastro). */
|
|
56
57
|
declare const STRUCTRA_DEDICATED_BACK_TO_TOP_SELECTOR = ".structra-consulta-page-host, .structra-cadastro-page-host, .cadastro-metadata-shell-page";
|
|
57
58
|
|
|
59
|
+
/** Posição de scroll persistida em memória (por tenant + rota + contentor). */
|
|
60
|
+
interface ScrollPositionState {
|
|
61
|
+
key: string;
|
|
62
|
+
route: string;
|
|
63
|
+
scrollTop: number;
|
|
64
|
+
scrollLeft: number;
|
|
65
|
+
timestamp: number;
|
|
66
|
+
}
|
|
67
|
+
interface ScrollPositionValues {
|
|
68
|
+
scrollTop: number;
|
|
69
|
+
scrollLeft: number;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** Resolve o tenant actual para compor a chave de scroll (`tenantId:route:containerKey`). */
|
|
73
|
+
type StructraScrollTenantResolverFn = () => string | null | undefined;
|
|
74
|
+
declare const STRUCTRA_SCROLL_TENANT_RESOLVER: InjectionToken<StructraScrollTenantResolverFn>;
|
|
75
|
+
|
|
76
|
+
declare function normalizeStructraScrollRoute(url: string): string;
|
|
77
|
+
declare class StructraScrollStateService {
|
|
78
|
+
private readonly router;
|
|
79
|
+
private readonly tenantResolver;
|
|
80
|
+
private readonly store;
|
|
81
|
+
buildKey(containerKey: string, route?: string): string;
|
|
82
|
+
save(key: string, values: ScrollPositionValues, route?: string): void;
|
|
83
|
+
saveForContainer(containerKey: string, values: ScrollPositionValues, route?: string): void;
|
|
84
|
+
get(key: string): ScrollPositionState | null;
|
|
85
|
+
getForContainer(containerKey: string, route?: string): ScrollPositionState | null;
|
|
86
|
+
restore(key: string, target: HTMLElement | Window): boolean;
|
|
87
|
+
restoreForContainer(containerKey: string, target: HTMLElement | Window, route?: string): boolean;
|
|
88
|
+
clear(key: string): void;
|
|
89
|
+
clearForContainer(containerKey: string, route?: string): void;
|
|
90
|
+
clearByRoute(route: string): void;
|
|
91
|
+
clearAll(): void;
|
|
92
|
+
readValues(target: HTMLElement | Window): ScrollPositionValues;
|
|
93
|
+
applyValues(target: HTMLElement | Window, values: ScrollPositionValues): void;
|
|
94
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraScrollStateService, never>;
|
|
95
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<StructraScrollStateService>;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
declare class StructraPreserveScrollDirective implements OnInit, OnDestroy {
|
|
99
|
+
private readonly el;
|
|
100
|
+
private readonly scrollState;
|
|
101
|
+
private readonly router;
|
|
102
|
+
/** Identificador do contentor (ex.: `page`, `ordens-recentes`, `kanban-board`). */
|
|
103
|
+
structraPreserveScroll: string;
|
|
104
|
+
/** Quando `true`, escuta/restaura scroll da janela em vez do host. */
|
|
105
|
+
structraPreserveScrollWindow: boolean;
|
|
106
|
+
private detach;
|
|
107
|
+
ngOnInit(): void;
|
|
108
|
+
ngOnDestroy(): void;
|
|
109
|
+
private containerKey;
|
|
110
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraPreserveScrollDirective, never>;
|
|
111
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StructraPreserveScrollDirective, "[structraPreserveScroll], .structra-consulta-page-host:not(.kanban-page-host)", never, { "structraPreserveScroll": { "alias": "structraPreserveScroll"; "required": false; }; "structraPreserveScrollWindow": { "alias": "structraPreserveScrollWindow"; "required": false; }; }, {}, never, never, true, never>;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
interface StructraScrollPreserveAttachOptions {
|
|
115
|
+
scrollState: StructraScrollStateService;
|
|
116
|
+
router: Router;
|
|
117
|
+
target: HTMLElement | Window;
|
|
118
|
+
containerKey: string;
|
|
119
|
+
route?: string;
|
|
120
|
+
}
|
|
121
|
+
interface StructraScrollPreserveDetach {
|
|
122
|
+
flush(): void;
|
|
123
|
+
destroy(): void;
|
|
124
|
+
}
|
|
125
|
+
declare function attachStructraScrollPreserve(options: StructraScrollPreserveAttachOptions): StructraScrollPreserveDetach;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Activa {@link StructraScrollStateService} e liga opcionalmente eventos de reset de sessão
|
|
129
|
+
* (logout / troca de tenant) via {@link STRUCTRA_SCROLL_SESSION_RESET}.
|
|
130
|
+
*/
|
|
131
|
+
declare function provideStructraScrollState(): EnvironmentProviders;
|
|
132
|
+
|
|
133
|
+
/** Emite quando a sessão deve limpar todo o scroll em memória (logout, troca de tenant). */
|
|
134
|
+
declare const STRUCTRA_SCROLL_SESSION_RESET: InjectionToken<Observable<void>>;
|
|
135
|
+
|
|
136
|
+
/** Breakpoint desktop do Kanban Structra (mobile = max-width 768px). */
|
|
137
|
+
declare const STRUCTRA_KANBAN_DESKTOP_MIN_WIDTH = 769;
|
|
138
|
+
interface StructraKanbanDragAutoScrollOptions {
|
|
139
|
+
edgeSize?: number;
|
|
140
|
+
baseSpeed?: number;
|
|
141
|
+
maxSpeed?: number;
|
|
142
|
+
desktopMinWidth?: number;
|
|
143
|
+
/** Permite reutilizar o breakpoint do host (ex.: signal `isMobile`). */
|
|
144
|
+
isDesktop?: () => boolean;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Auto-scroll horizontal do contentor Kanban durante drag (CDK), apenas desktop.
|
|
148
|
+
* Instanciar no componente do board e chamar nos eventos cdkDragMoved / cdkDragEnded / drop.
|
|
149
|
+
*/
|
|
150
|
+
declare class StructraKanbanDragAutoScrollController {
|
|
151
|
+
private readonly options;
|
|
152
|
+
private frame;
|
|
153
|
+
private direction;
|
|
154
|
+
private speed;
|
|
155
|
+
private container;
|
|
156
|
+
constructor(options?: StructraKanbanDragAutoScrollOptions);
|
|
157
|
+
onDragMoved(event: CdkDragMove<unknown>, container: HTMLElement | null | undefined): void;
|
|
158
|
+
/** Chamar em cdkDragEnded, após drop, rollback/cancel e ngOnDestroy. */
|
|
159
|
+
stop(): void;
|
|
160
|
+
destroy(): void;
|
|
161
|
+
private isDesktop;
|
|
162
|
+
private calculateSpeed;
|
|
163
|
+
private start;
|
|
164
|
+
}
|
|
165
|
+
|
|
58
166
|
type AlertType = 'error' | 'success' | 'warning' | 'info';
|
|
59
167
|
/** Botão opcional alinhado à direita dentro do banner. */
|
|
60
168
|
interface AlertAction {
|
|
@@ -546,6 +654,11 @@ declare class SkeletonTableComponent {
|
|
|
546
654
|
columnCount: number;
|
|
547
655
|
rowCount: number;
|
|
548
656
|
showPager: boolean;
|
|
657
|
+
/**
|
|
658
|
+
* Faixa inferior só com o chrome do cabeçalho (sem texto/botões de paginação).
|
|
659
|
+
* Usado no skeleton instantâneo de navegação antes da chamada ao backend.
|
|
660
|
+
*/
|
|
661
|
+
readonly pagerChromeOnly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
549
662
|
/** Só o corpo (linhas); omitir cabeçalho e paginação — ex.: overlay sobre o viewport do AG Grid. */
|
|
550
663
|
bodyOnly: boolean;
|
|
551
664
|
animate: boolean;
|
|
@@ -564,7 +677,7 @@ declare class SkeletonTableComponent {
|
|
|
564
677
|
isActionsHeaderCell(label: string, index: number): boolean;
|
|
565
678
|
isActionsBodyCell(index: number): boolean;
|
|
566
679
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkeletonTableComponent, never>;
|
|
567
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkeletonTableComponent, "app-skeleton-table", never, { "columnCount": { "alias": "columnCount"; "required": false; }; "rowCount": { "alias": "rowCount"; "required": false; }; "showPager": { "alias": "showPager"; "required": false; }; "bodyOnly": { "alias": "bodyOnly"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "headerLabels": { "alias": "headerLabels"; "required": false; "isSignal": true; }; "chrome": { "alias": "chrome"; "required": false; "isSignal": true; }; "showActionsColumn": { "alias": "showActionsColumn"; "required": false; "isSignal": true; }; "pagerRangeLabel": { "alias": "pagerRangeLabel"; "required": false; "isSignal": true; }; "pagerPageLabel": { "alias": "pagerPageLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
680
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkeletonTableComponent, "app-skeleton-table", never, { "columnCount": { "alias": "columnCount"; "required": false; }; "rowCount": { "alias": "rowCount"; "required": false; }; "showPager": { "alias": "showPager"; "required": false; }; "pagerChromeOnly": { "alias": "pagerChromeOnly"; "required": false; "isSignal": true; }; "bodyOnly": { "alias": "bodyOnly"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "headerLabels": { "alias": "headerLabels"; "required": false; "isSignal": true; }; "chrome": { "alias": "chrome"; "required": false; "isSignal": true; }; "showActionsColumn": { "alias": "showActionsColumn"; "required": false; "isSignal": true; }; "pagerRangeLabel": { "alias": "pagerRangeLabel"; "required": false; "isSignal": true; }; "pagerPageLabel": { "alias": "pagerPageLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
568
681
|
static ngAcceptInputType_columnCount: unknown;
|
|
569
682
|
static ngAcceptInputType_rowCount: unknown;
|
|
570
683
|
static ngAcceptInputType_showPager: unknown;
|
|
@@ -3150,836 +3263,1536 @@ declare function subtreeHasVisibleInvalid(control: AbstractControl, formSubmitte
|
|
|
3150
3263
|
*/
|
|
3151
3264
|
declare function sectionHasVisibleInvalid(root: AbstractControl, path: string, formSubmitted?: boolean): boolean;
|
|
3152
3265
|
|
|
3153
|
-
/** Opção enum para {@link DataGridColumn.enumOptions}. */
|
|
3154
|
-
type DataGridEnumOption = {
|
|
3155
|
-
value: string;
|
|
3156
|
-
label: string;
|
|
3157
|
-
};
|
|
3158
3266
|
/**
|
|
3159
|
-
*
|
|
3267
|
+
* Espelho estável dos valores {@code ComponentType} do backend (protobuf).
|
|
3268
|
+
* Mantido na lib para UI/metadata sem depender do código gerado por `ts_proto`.
|
|
3160
3269
|
*/
|
|
3161
|
-
|
|
3162
|
-
|
|
3163
|
-
|
|
3164
|
-
|
|
3165
|
-
|
|
3166
|
-
|
|
3167
|
-
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3174
|
-
|
|
3175
|
-
|
|
3176
|
-
/**
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
/**
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
|
|
3189
|
-
|
|
3190
|
-
/**
|
|
3191
|
-
|
|
3192
|
-
|
|
3193
|
-
*/
|
|
3194
|
-
onScalarCommit?: (ctx: {
|
|
3195
|
-
row: T;
|
|
3196
|
-
newValue: unknown;
|
|
3197
|
-
}) => void;
|
|
3198
|
-
/**
|
|
3199
|
-
* Opções enum (`value` numérico em texto + `label`); a grelha exibe o rótulo em vez do valor cru.
|
|
3200
|
-
* Ordenação/filtro continuam a usar o campo bruto da linha.
|
|
3201
|
-
*/
|
|
3202
|
-
enumOptions?: readonly DataGridEnumOption[];
|
|
3203
|
-
/**
|
|
3204
|
-
* Campo da linha com nome de classe CSS a aplicar na célula (ex.: cor por status).
|
|
3205
|
-
* Combinado com classes de alinhamento (`align`).
|
|
3206
|
-
*/
|
|
3207
|
-
cellClassField?: keyof T | string;
|
|
3270
|
+
declare enum ComponentType {
|
|
3271
|
+
UNSPECIFIED = 0,
|
|
3272
|
+
TEXT = 1,
|
|
3273
|
+
PASSWORD = 2,
|
|
3274
|
+
NUMBER = 3,
|
|
3275
|
+
CHECKBOX = 4,
|
|
3276
|
+
TEXTAREA = 5,
|
|
3277
|
+
SEARCH_SELECT = 6,
|
|
3278
|
+
MULTI_SELECT = 7,
|
|
3279
|
+
LIST_SELECT = 8,
|
|
3280
|
+
MULTI_SELECT_REQUIRED_DEFAULT = 9,
|
|
3281
|
+
LIST_SELECT_REQUIRED_DEFAULT = 10,
|
|
3282
|
+
DECIMAL = 11,
|
|
3283
|
+
DATE_TIME = 12,
|
|
3284
|
+
COLLECTION = 13,
|
|
3285
|
+
/** Cadastro: upload de imagem com URL persistida (linha de coleção / campo simples). */
|
|
3286
|
+
MIDIA_UPLOAD = 14,
|
|
3287
|
+
/** Cadastro: interruptor estilo «switch» (booleano). */
|
|
3288
|
+
SWITCH_BOX = 15,
|
|
3289
|
+
/** Cadastro: cor em hexadecimal com seletor nativo e campo texto. */
|
|
3290
|
+
COLOR_PICKER = 16,
|
|
3291
|
+
/** Cadastro: telefone com máscara BR. */
|
|
3292
|
+
PHONE = 17,
|
|
3293
|
+
/** Cadastro: e-mail. */
|
|
3294
|
+
EMAIL = 18,
|
|
3295
|
+
/** Cadastro: CPF ou CNPJ com máscara. */
|
|
3296
|
+
CPF_CNPJ = 19,
|
|
3297
|
+
/** Cadastro: coleção 1:N somente leitura (lista/grelha sem editor). */
|
|
3298
|
+
READONLY_COLLECTION = 20,
|
|
3299
|
+
/** Cadastro: editor de script completo (painel monoespaçado com cópia). */
|
|
3300
|
+
SCRIPT_EDITOR = 21,
|
|
3301
|
+
UNRECOGNIZED = -1
|
|
3208
3302
|
}
|
|
3209
3303
|
|
|
3210
|
-
/**
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
showEditAction?: boolean;
|
|
3218
|
-
/** Quando `false`, o botão «Remover» não é mostrado. */
|
|
3219
|
-
showRemoveAction?: boolean;
|
|
3220
|
-
/** Quando `true`, mostra «Duplicar» (requer `onDuplicateRow`). */
|
|
3221
|
-
showDuplicateAction?: boolean;
|
|
3222
|
-
/** Quando `true`, mostra «Imprimir» (requer `onPrintRow`). */
|
|
3223
|
-
showPrintAction?: boolean;
|
|
3224
|
-
/** Tooltip/aria do botão de abrir registo; omisso ⇒ «Alterar». */
|
|
3225
|
-
editActionLabel?: string;
|
|
3226
|
-
/**
|
|
3227
|
-
* Classe Font Awesome do ícone do botão editar/transmitir (ex.: `fa-paper-plane`).
|
|
3228
|
-
* Omisso ⇒ `fa-pen-to-square`.
|
|
3229
|
-
*/
|
|
3230
|
-
editActionIconClass?: string;
|
|
3231
|
-
/** Tooltip/aria do botão imprimir; omisso ⇒ «Imprimir». */
|
|
3232
|
-
printActionLabel?: string;
|
|
3304
|
+
/** Espelho de {@code ContainerLayoutSize} (metadata cadastro). */
|
|
3305
|
+
declare enum ContainerLayoutSize {
|
|
3306
|
+
CONTAINER_LAYOUT_SIZE_UNSPECIFIED = 0,
|
|
3307
|
+
CONTAINER_LAYOUT_SIZE_MD = 1,
|
|
3308
|
+
CONTAINER_LAYOUT_SIZE_LG = 2,
|
|
3309
|
+
CONTAINER_LAYOUT_SIZE_XL = 3,
|
|
3310
|
+
UNRECOGNIZED = -1
|
|
3233
3311
|
}
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3312
|
+
/** Espelho de {@code CadastroSectionPanelLayout}. */
|
|
3313
|
+
declare enum CadastroSectionPanelLayout {
|
|
3314
|
+
CADASTRO_SECTION_PANEL_LAYOUT_UNSPECIFIED = 0,
|
|
3315
|
+
CADASTRO_SECTION_PANEL_LAYOUT_CARD = 1,
|
|
3316
|
+
CADASTRO_SECTION_PANEL_LAYOUT_PLAIN = 2,
|
|
3317
|
+
UNRECOGNIZED = -1
|
|
3318
|
+
}
|
|
3319
|
+
/** Espelho de {@code FormCollectionLayout} no metadata cadastro (coleção 1:N). */
|
|
3320
|
+
declare enum FormCollectionLayout {
|
|
3321
|
+
FORM_COLLECTION_LAYOUT_UNSPECIFIED = 0,
|
|
3322
|
+
FORM_COLLECTION_LAYOUT_CARD_LIST = 1,
|
|
3323
|
+
FORM_COLLECTION_LAYOUT_TABLE = 2,
|
|
3324
|
+
FORM_COLLECTION_LAYOUT_INLINE_ROWS = 3,
|
|
3325
|
+
UNRECOGNIZED = -1
|
|
3326
|
+
}
|
|
3327
|
+
/** Espelho de {@code FileUploadType} no metadata cadastro — upload em lote na UI da coleção. */
|
|
3328
|
+
declare enum FileUploadType {
|
|
3329
|
+
FILE_UPLOAD_TYPE_UNSPECIFIED = 0,
|
|
3330
|
+
FILE_UPLOAD_TYPE_SINGLE = 1,
|
|
3331
|
+
FILE_UPLOAD_TYPE_MULTIPLE = 2,
|
|
3332
|
+
UNRECOGNIZED = -1
|
|
3333
|
+
}
|
|
3334
|
+
/** Espelho de {@code CadastroCollectionGridColumnFormat} — alinhado numericamente a {@link ConsultaGridColumnFormat}. */
|
|
3335
|
+
declare enum CadastroCollectionGridColumnFormat {
|
|
3336
|
+
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_UNSPECIFIED = 0,
|
|
3337
|
+
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_NONE = 1,
|
|
3338
|
+
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_TRIM = 2,
|
|
3339
|
+
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_CURRENCY = 3,
|
|
3340
|
+
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_DECIMAL = 4,
|
|
3341
|
+
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_DATE = 5,
|
|
3342
|
+
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_DATE_TIME = 6,
|
|
3343
|
+
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_ACTIVE_STATUS = 7,
|
|
3344
|
+
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_DOCUMENTO = 8,
|
|
3345
|
+
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_OPERACAO_ENM_STATUS = 9,
|
|
3346
|
+
UNRECOGNIZED = -1
|
|
3256
3347
|
}
|
|
3257
3348
|
|
|
3258
3349
|
/**
|
|
3259
|
-
*
|
|
3260
|
-
*
|
|
3350
|
+
* Espelho numérico de {@code ReferenceOptionPreset} em metadata-cadastro.proto.
|
|
3351
|
+
* Novos cadastros: preferir `formatoRetornoTexto` / `campoRetornoTexto` em vez de presets de domínio.
|
|
3261
3352
|
*/
|
|
3262
|
-
declare
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
/**
|
|
3273
|
-
* O AG Grid (edição inline / foco de célula) intercepta `mousedown`/`click` no contentor da célula;
|
|
3274
|
-
* sem `stopPropagation` o primeiro clique pode não chegar ao checkbox ou o estado volta atrás no `refresh`.
|
|
3275
|
-
*/
|
|
3276
|
-
protected onBlockGridPointerBubble(ev: MouseEvent): void;
|
|
3277
|
-
private applyParams;
|
|
3278
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataGridBooleanCellRendererComponent, never>;
|
|
3279
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataGridBooleanCellRendererComponent, "app-data-grid-boolean-cell-renderer", never, {}, {}, never, never, true, never>;
|
|
3353
|
+
declare enum ReferenceOptionPreset {
|
|
3354
|
+
REFERENCE_OPTION_PRESET_AUTO = 0,
|
|
3355
|
+
REFERENCE_OPTION_PRESET_ID_NOME = 1,
|
|
3356
|
+
/** @deprecated Prefira `formatoRetornoTexto` e campos estruturais explícitos (`activeOnly`, `sortBy`). */
|
|
3357
|
+
REFERENCE_OPTION_PRESET_ID_NOME_ATIVO = 2,
|
|
3358
|
+
/** @deprecated Prefira `formatoRetornoTexto` = `"{nome} ({documento})"`. */
|
|
3359
|
+
REFERENCE_OPTION_PRESET_ID_NOME_DOCUMENTO = 3,
|
|
3360
|
+
/** @deprecated Sinónimo legado de ID_NOME_DOCUMENTO. Prefira formato com placeholders. */
|
|
3361
|
+
REFERENCE_OPTION_PRESET_PESSOA = 4,
|
|
3362
|
+
UNRECOGNIZED = -1
|
|
3280
3363
|
}
|
|
3281
3364
|
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
private readonly publicBase;
|
|
3287
|
-
relativePath: string;
|
|
3288
|
-
thumbSrc: string;
|
|
3289
|
-
zoomAriaLabel: string;
|
|
3290
|
-
placeholderRow: boolean;
|
|
3291
|
-
protected dialogSrc: string;
|
|
3292
|
-
agInit(params: ICellRendererParams): void;
|
|
3293
|
-
refresh(params: ICellRendererParams): boolean;
|
|
3294
|
-
protected onThumbError(ev: Event): void;
|
|
3295
|
-
protected onZoomClick(ev: MouseEvent): void;
|
|
3296
|
-
private applyParams;
|
|
3297
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataGridMidiaPreviewCellRendererComponent, never>;
|
|
3298
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataGridMidiaPreviewCellRendererComponent, "app-data-grid-midia-preview-cell-renderer", never, {}, {}, never, never, true, never>;
|
|
3365
|
+
/** Espelha `CadastroReferenciaOpenMode` no protobuf / C#. */
|
|
3366
|
+
declare enum CadastroReferenciaOpenMode {
|
|
3367
|
+
TELA = 0,
|
|
3368
|
+
DIALOG = 1
|
|
3299
3369
|
}
|
|
3370
|
+
declare function cadastroReferenciaOpenModeFromWire(value: number | string | null | undefined): CadastroReferenciaOpenMode;
|
|
3371
|
+
type CadastroReferenciaOpenModeWireRef = {
|
|
3372
|
+
openMode?: CadastroReferenciaOpenMode | number | string | null | undefined;
|
|
3373
|
+
open_mode?: CadastroReferenciaOpenMode | number | string | null | undefined;
|
|
3374
|
+
};
|
|
3375
|
+
declare function referenciaOpenModeRaw(ref: CadastroReferenciaOpenModeWireRef | null | undefined): CadastroReferenciaOpenMode | number | string | null | undefined;
|
|
3376
|
+
declare function referenciaAbreEmDialog(ref: CadastroReferenciaOpenModeWireRef | null | undefined): boolean;
|
|
3300
3377
|
|
|
3301
|
-
/**
|
|
3302
|
-
interface
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
newPageSize: boolean;
|
|
3378
|
+
/** Espelho de {@code DeleteConfirmPageConfig}. */
|
|
3379
|
+
interface DeleteConfirmPageConfig {
|
|
3380
|
+
title: string;
|
|
3381
|
+
message: string;
|
|
3382
|
+
confirmLabel: string;
|
|
3307
3383
|
}
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3384
|
+
/** Espelho de {@code DuplicatePageConfig}. */
|
|
3385
|
+
interface DuplicatePageConfig {
|
|
3386
|
+
enabled: boolean;
|
|
3387
|
+
label: string;
|
|
3388
|
+
title: string;
|
|
3389
|
+
message: string;
|
|
3390
|
+
successMessage: string;
|
|
3391
|
+
}
|
|
3392
|
+
/** Espelho de {@code CadastroToolbarButtonDto}. */
|
|
3393
|
+
interface CadastroToolbarButtonDto {
|
|
3394
|
+
actionId: string;
|
|
3395
|
+
label: string;
|
|
3396
|
+
variant: string;
|
|
3397
|
+
iconClass: string;
|
|
3398
|
+
order: number;
|
|
3399
|
+
visibleOnEditOnly: boolean;
|
|
3400
|
+
disableWhileBusy: boolean;
|
|
3401
|
+
}
|
|
3402
|
+
/** Aba metadata-driven no cadastro (`[PageTab]` no servidor). */
|
|
3403
|
+
interface CadastroPageTabDto {
|
|
3404
|
+
key: string;
|
|
3405
|
+
label: string;
|
|
3406
|
+
icon: string;
|
|
3407
|
+
order: number;
|
|
3408
|
+
}
|
|
3409
|
+
/** Componente customizado por tag na página metadata-driven. */
|
|
3410
|
+
interface CadastroPageComponentDto {
|
|
3411
|
+
region: string;
|
|
3412
|
+
tag: string;
|
|
3413
|
+
order: number;
|
|
3414
|
+
inputs?: Readonly<Record<string, string>> | undefined;
|
|
3415
|
+
}
|
|
3416
|
+
/** Ação de rodapé/região na página metadata-driven. */
|
|
3417
|
+
interface CadastroPageActionDto {
|
|
3418
|
+
id: string;
|
|
3419
|
+
label: string;
|
|
3420
|
+
iconClass: string;
|
|
3421
|
+
variant: string;
|
|
3422
|
+
region: string;
|
|
3423
|
+
order: number;
|
|
3424
|
+
}
|
|
3425
|
+
/** Overlay de execução na página metadata-driven. */
|
|
3426
|
+
interface CadastroPageOverlayDto {
|
|
3427
|
+
tag: string;
|
|
3428
|
+
visibleExpression: string;
|
|
3429
|
+
inputs?: Readonly<Record<string, string>> | undefined;
|
|
3430
|
+
}
|
|
3431
|
+
interface CadastroFormPageLayout {
|
|
3432
|
+
containerLayoutSize: ContainerLayoutSize;
|
|
3433
|
+
fieldsPerRow: number;
|
|
3434
|
+
validationSummaryFlags: number;
|
|
3435
|
+
pageTitleNovo: string;
|
|
3436
|
+
pageSubtitle: string;
|
|
3437
|
+
pageTitleEditar: string;
|
|
3438
|
+
pageTitleConsulta: string;
|
|
3439
|
+
pageToastTitle: string;
|
|
3440
|
+
entityName: string;
|
|
3441
|
+
entityLabel: string;
|
|
3442
|
+
routeList: string;
|
|
3443
|
+
routeNew: string;
|
|
3444
|
+
routeEdit: string;
|
|
3445
|
+
serviceKey: string;
|
|
3446
|
+
formDraftEnabled: boolean;
|
|
3447
|
+
deleteConfirmConfig?: DeleteConfirmPageConfig | undefined;
|
|
3448
|
+
duplicateConfig?: DuplicatePageConfig | undefined;
|
|
3449
|
+
toolbarButtons?: readonly CadastroToolbarButtonDto[] | undefined;
|
|
3450
|
+
/** Abas opcionais na raiz do metadata; vazio ⇒ sem TabBar extra na UI. */
|
|
3451
|
+
pageTabs?: readonly CadastroPageTabDto[] | undefined;
|
|
3452
|
+
/** Componentes customizados por tag (`[PageComponent]`). */
|
|
3453
|
+
pageComponents?: readonly CadastroPageComponentDto[] | undefined;
|
|
3454
|
+
/** Ações de rodapé/região (`[PageAction]`). */
|
|
3455
|
+
pageActions?: readonly CadastroPageActionDto[] | undefined;
|
|
3456
|
+
/** Overlay opcional (`[PageOverlay]`). */
|
|
3457
|
+
pageOverlay?: CadastroPageOverlayDto | undefined;
|
|
3458
|
+
/** Espelha `[PageMetadata(NotFoundMessage = …)]`. */
|
|
3459
|
+
notFoundMessage?: string;
|
|
3460
|
+
/** Espelha `[PageMetadata(CreateSuccessMessage = …)]`. */
|
|
3461
|
+
createSuccessMessage?: string;
|
|
3462
|
+
/** Espelha `[PageMetadata(UpdateSuccessMessage = …)]`. */
|
|
3463
|
+
updateSuccessMessage?: string;
|
|
3464
|
+
/** Espelha `[PageMetadata(SaveSuccessMessage = …)]`. */
|
|
3465
|
+
saveSuccessMessage?: string;
|
|
3466
|
+
/** Espelha `[PageMetadata(DeleteSuccessMessage = …)]`. */
|
|
3467
|
+
deleteSuccessMessage?: string;
|
|
3468
|
+
/** Espelha `[PageMetadata(ShowNewButton = …)]`; omisso ⇒ mostra «Novo». */
|
|
3469
|
+
showNewButton?: boolean;
|
|
3470
|
+
/** Espelha `[PageMetadata(ShowSaveButton = …)]`; omisso ⇒ mostra «Salvar». */
|
|
3471
|
+
showSaveButton?: boolean;
|
|
3472
|
+
/** Espelha `[PageMetadata(ShowDeleteButton = …)]`; omisso ⇒ mostra «Excluir». */
|
|
3473
|
+
showDeleteButton?: boolean;
|
|
3474
|
+
/** Espelha `[PageMetadata(UseBackToTopButton = …)]`; omisso ⇒ mostra botão «Voltar ao topo». */
|
|
3475
|
+
useBackToTopButton?: boolean | null;
|
|
3476
|
+
/** Espelha `[PageMetadata(PreserveActiveTab = …)]`; omisso ⇒ não restaura aba ao voltar de RotaReferência. */
|
|
3477
|
+
preserveActiveTab?: boolean | null;
|
|
3315
3478
|
/**
|
|
3316
|
-
*
|
|
3317
|
-
* Painel de paginação AG Grid: `--ag-pagination-panel-height` = `--ag-header-height`.
|
|
3479
|
+
* Page shell: `true` mantém todas as abas no DOM; omisso/`false` ⇒ lazy (só aba activa monta conteúdo).
|
|
3318
3480
|
*/
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
|
|
3481
|
+
pageTabsKeepAlive?: boolean | null;
|
|
3482
|
+
/** Estados dinâmicos de ações por chave (ex.: `sites.create`). */
|
|
3483
|
+
actionStates?: Readonly<Record<string, CadastroActionStateDto$1>> | undefined;
|
|
3484
|
+
}
|
|
3485
|
+
/** Espelho de {@code CadastroActionStateDto}. */
|
|
3486
|
+
interface CadastroActionStateDto$1 {
|
|
3487
|
+
visible: boolean;
|
|
3488
|
+
enabled: boolean;
|
|
3489
|
+
tooltip: string;
|
|
3490
|
+
reason: string;
|
|
3491
|
+
}
|
|
3492
|
+
interface CadastroCampoValidacaoDto {
|
|
3493
|
+
key: string;
|
|
3494
|
+
label: string;
|
|
3495
|
+
fieldId: string;
|
|
3496
|
+
rules: string[];
|
|
3497
|
+
maxLength: number;
|
|
3498
|
+
}
|
|
3499
|
+
interface CadastroCampoReferenciaMetadataDto {
|
|
3500
|
+
entidade: string;
|
|
3501
|
+
serviceKey: string;
|
|
3502
|
+
origemInline: string;
|
|
3503
|
+
rotaNovo: string;
|
|
3504
|
+
rotaAlterar: string;
|
|
3505
|
+
permitirCriar: boolean;
|
|
3506
|
+
permitirAlterar: boolean;
|
|
3507
|
+
tooltipDica: string;
|
|
3508
|
+
labelAlterar: string;
|
|
3509
|
+
iconAlterar: string;
|
|
3510
|
+
hostPath: string;
|
|
3511
|
+
draftCacheKey: string;
|
|
3512
|
+
labelTargetField: string;
|
|
3513
|
+
documentTargetField: string;
|
|
3514
|
+
/** Omisso ou vazio + preset AUTO ⇒ pode usar {@link CadastroReferenceRegistryEntry.mapOptions} legado. */
|
|
3515
|
+
valueField: string;
|
|
3516
|
+
labelField: string;
|
|
3517
|
+
descriptionField: string;
|
|
3518
|
+
activeField: string;
|
|
3519
|
+
activeOnly: boolean;
|
|
3520
|
+
sortBy: string;
|
|
3521
|
+
sortAscending: boolean;
|
|
3522
|
+
optionPreset: ReferenceOptionPreset;
|
|
3523
|
+
/** Omisso ou `0` ⇒ search-select / grelha usam 15. */
|
|
3524
|
+
pageSize?: number | undefined;
|
|
3525
|
+
/** Teto de pageSize em busca remota; omisso ⇒ 50. */
|
|
3526
|
+
maxPageSize?: number | undefined;
|
|
3527
|
+
/** Lista paginada no servidor (SearchSelect grande). */
|
|
3528
|
+
paginated?: boolean | undefined;
|
|
3529
|
+
/** Busca com filtro no servidor. */
|
|
3530
|
+
serverSideSearch?: boolean | undefined;
|
|
3531
|
+
/** Colunas para OR na busca (ex.: `nome,uf,localizacao_texto`). */
|
|
3532
|
+
searchFields?: string | undefined;
|
|
3533
|
+
/** Perfil de busca no servidor (0=padrão, 1=município BR). */
|
|
3534
|
+
buscaPerfil?: number | undefined;
|
|
3323
3535
|
/**
|
|
3324
|
-
*
|
|
3325
|
-
*
|
|
3536
|
+
* Campo do DTO devolvido pelo cadastro filho para repor o valor do controlo (inline).
|
|
3537
|
+
* Omisso ⇒ `valueField` (por defeito `id`).
|
|
3326
3538
|
*/
|
|
3327
|
-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3539
|
+
campoRetornoValor?: string | undefined;
|
|
3540
|
+
/** Texto base quando não há `formatoRetornoTexto`; omisso ⇒ `labelField` (`nome`). */
|
|
3541
|
+
campoRetornoTexto?: string | undefined;
|
|
3542
|
+
/** Rótulo com `{campo}` sobre o registo devolvido; omisso ⇒ sem formato. */
|
|
3543
|
+
formatoRetornoTexto?: string | null | undefined;
|
|
3544
|
+
/** Omisso ⇒ {@link CadastroReferenciaOpenMode.TELA}. */
|
|
3545
|
+
openMode?: CadastroReferenciaOpenMode | undefined;
|
|
3546
|
+
/** Chave RBAC para visualizar/navegar; omisso ⇒ política do host por rota. */
|
|
3547
|
+
permissaoVisualizar?: string | undefined;
|
|
3548
|
+
/** Chave RBAC para o atalho «+»; omisso ⇒ política do host por rota. */
|
|
3549
|
+
permissaoCriar?: string | undefined;
|
|
3550
|
+
/** Chave RBAC para o atalho «Alterar»; omisso ⇒ política do host por rota. */
|
|
3551
|
+
permissaoEditar?: string | undefined;
|
|
3552
|
+
/** Chaves RBAC para visualizar/navegar (lista). */
|
|
3553
|
+
permissoesVisualizar?: readonly string[] | undefined;
|
|
3554
|
+
/** Chaves RBAC para o atalho «+» (lista). */
|
|
3555
|
+
permissoesCriar?: readonly string[] | undefined;
|
|
3556
|
+
/** Chaves RBAC para o atalho «Alterar» (lista). */
|
|
3557
|
+
permissoesEditar?: readonly string[] | undefined;
|
|
3558
|
+
/** Como validar listas de permissões (`All` default). */
|
|
3559
|
+
modoPermissao?: 'All' | 'Any' | undefined;
|
|
3560
|
+
/** Chave fixa de ação para o atalho «+» (ex.: `sites.create`). */
|
|
3561
|
+
actionKeyCreate?: string | undefined;
|
|
3562
|
+
/** Chave fixa de ação para «Alterar» (ex.: `sites.edit`). */
|
|
3563
|
+
actionKeyEdit?: string | undefined;
|
|
3564
|
+
/** Chave fixa de ação para visualizar/abrir (ex.: `sites.view`). */
|
|
3565
|
+
actionKeyView?: string | undefined;
|
|
3566
|
+
}
|
|
3567
|
+
interface CadastroCampoSelectOptionDto {
|
|
3568
|
+
value: string;
|
|
3569
|
+
label: string;
|
|
3570
|
+
description: string;
|
|
3571
|
+
}
|
|
3572
|
+
interface CadastroCampoMetadataDto {
|
|
3573
|
+
key: string;
|
|
3574
|
+
label: string;
|
|
3575
|
+
fieldId: string;
|
|
3576
|
+
rules: string[];
|
|
3577
|
+
maxLength: number;
|
|
3578
|
+
componentType: ComponentType;
|
|
3579
|
+
ordem: number;
|
|
3580
|
+
placeholder: string;
|
|
3581
|
+
width: string;
|
|
3582
|
+
hidden: boolean;
|
|
3583
|
+
readOnly: boolean;
|
|
3584
|
+
requiredMark: boolean;
|
|
3585
|
+
dense: boolean;
|
|
3586
|
+
autoFocus: boolean;
|
|
3587
|
+
hint: string;
|
|
3588
|
+
visibleOnCreate: boolean;
|
|
3589
|
+
visibleOnEdit: boolean;
|
|
3590
|
+
defaultValue: string;
|
|
3591
|
+
prefixIcon: string;
|
|
3592
|
+
suffixIcon: string;
|
|
3593
|
+
flex: number;
|
|
3594
|
+
clearable: boolean;
|
|
3595
|
+
referencia?: CadastroCampoReferenciaMetadataDto | undefined;
|
|
3596
|
+
enumOptionsKey: string;
|
|
3597
|
+
errosMsg: string;
|
|
3598
|
+
mostrarErrorMsg?: boolean | undefined;
|
|
3335
3599
|
/**
|
|
3336
|
-
*
|
|
3337
|
-
*
|
|
3338
|
-
*/
|
|
3339
|
-
initialPaginationPage: number;
|
|
3340
|
-
height: string | null;
|
|
3341
|
-
/**
|
|
3342
|
-
* Ignora `height` e define altura para cabeçalho + `pageSize` linhas + barra de paginação.
|
|
3343
|
-
* Actualiza quando o utilizador muda o tamanho de página no próprio grid (via API).
|
|
3344
|
-
*/
|
|
3345
|
-
fitPaginationHeight: boolean;
|
|
3346
|
-
/**
|
|
3347
|
-
* Com {@link fitPaginationHeight} e lista vazia: altura mínima em linhas de corpo (empty state).
|
|
3348
|
-
* Por omissão `1`; no diálogo de filtros use ~5 para alinhar ao `pageSize`.
|
|
3349
|
-
*/
|
|
3350
|
-
fitPaginationMinEmptyRows: number;
|
|
3351
|
-
emptyMessage: string;
|
|
3352
|
-
pagination: boolean;
|
|
3353
|
-
/**
|
|
3354
|
-
* `top`: inverte o layout interno do AG Grid para o painel `.ag-paging-panel` aparecer **acima** do corpo
|
|
3355
|
-
* (vista em cartão / mobile alinhada à consulta).
|
|
3356
|
-
*/
|
|
3357
|
-
paginationPanelPlacement: 'bottom' | 'top';
|
|
3358
|
-
/**
|
|
3359
|
-
* Mostra só o painel de paginação nativo (corpo/cabeçalho ocultos). Útil com uma segunda grelha em cartão.
|
|
3360
|
-
*/
|
|
3361
|
-
paginationStripOnly: boolean;
|
|
3362
|
-
/** Coleções remotas: esconde o selector de tamanho de página (o tamanho vem da metadata/servidor). */
|
|
3363
|
-
suppressPaginationPageSizeSelector: boolean;
|
|
3364
|
-
/** Se `false`, omite colunas com `type: 'actions'` (editar/remover). Por omissão `true`. */
|
|
3365
|
-
showActionsColumn: boolean;
|
|
3366
|
-
/** Se `false`, a coluna de ações não mostra «Alterar». Por omissão `true`. */
|
|
3367
|
-
showEditAction: boolean;
|
|
3368
|
-
/** Tooltip e aria-label do botão de edição na coluna Ações. Omisso ⇒ «Alterar». */
|
|
3369
|
-
editActionLabel: string;
|
|
3370
|
-
/** Ícone Font Awesome do botão editar (ex.: `fa-paper-plane`). Omisso ⇒ `fa-pen-to-square`. */
|
|
3371
|
-
editActionIconClass: string;
|
|
3372
|
-
/** Se `false`, a coluna de ações não mostra «Remover». Por omissão `true`. */
|
|
3373
|
-
showRemoveAction: boolean;
|
|
3374
|
-
/** Se `true`, mostra «Duplicar» na coluna de ações (requer handler no contexto). */
|
|
3375
|
-
showDuplicateAction: boolean;
|
|
3376
|
-
/** Se `true`, mostra «Imprimir» na coluna de ações (requer handler no contexto). */
|
|
3377
|
-
showPrintAction: boolean;
|
|
3378
|
-
/** Tooltip e aria-label do botão imprimir na coluna Ações. Omisso ⇒ «Imprimir». */
|
|
3379
|
-
printActionLabel: string;
|
|
3380
|
-
/**
|
|
3381
|
-
* Se `true`, não emite {@link rowClick} (ex.: coleção com edição só pelos botões da coluna de acções, como na consulta).
|
|
3600
|
+
* `MIDIA_UPLOAD` / bulk na coleção: omisso ⇒ `true` (painel de pré-visualização).
|
|
3601
|
+
* `false` ⇒ lista ocupa a largura com scroll.
|
|
3382
3602
|
*/
|
|
3383
|
-
|
|
3603
|
+
mostrarPreview?: boolean | undefined;
|
|
3604
|
+
sectionKey: string;
|
|
3605
|
+
sectionTitle: string;
|
|
3606
|
+
sectionSubtitle: string;
|
|
3607
|
+
sectionCollapsible: boolean;
|
|
3608
|
+
sectionInitiallyCollapsed: boolean;
|
|
3609
|
+
/** Omisso no wire ⇒ automático no cliente quando `sectionCollapsible`. */
|
|
3610
|
+
sectionPersistExpandedState?: boolean | undefined;
|
|
3611
|
+
sectionReadOnly: boolean;
|
|
3612
|
+
sectionPanelLayout: CadastroSectionPanelLayout;
|
|
3384
3613
|
/**
|
|
3385
|
-
*
|
|
3386
|
-
*
|
|
3614
|
+
* Colunas por linha na UI (grelha metadata).
|
|
3615
|
+
* Em campos normais espelha `[Container(FieldsPerRow = …)]`.
|
|
3616
|
+
* Em `componentType === COLLECTION`, espelha `[FormCollection(FieldsPerRow = …)]` na **capa** (editor acima da lista); **não** afecta colunas da grelha de linhas.
|
|
3387
3617
|
*/
|
|
3388
|
-
|
|
3618
|
+
sectionFieldsPerRow: number;
|
|
3389
3619
|
/**
|
|
3390
|
-
*
|
|
3391
|
-
*
|
|
3620
|
+
* `[Container]` aninhado: chave do grupo pai (ex.: `aparencia`).
|
|
3621
|
+
* O cliente monta `subsecoes` no pai e aplica `sectionParent*` no chrome exterior.
|
|
3392
3622
|
*/
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3623
|
+
sectionParentKey?: string | undefined;
|
|
3624
|
+
sectionParentTitle?: string | undefined;
|
|
3625
|
+
sectionParentCollapsible?: boolean | undefined;
|
|
3626
|
+
sectionParentInitiallyCollapsed?: boolean | undefined;
|
|
3627
|
+
sectionParentPanelLayout?: CadastroSectionPanelLayout | undefined;
|
|
3628
|
+
/** Opções enviadas pelo servidor (ex.: enum); omisso ⇒ {@link enumOptionsKey} no registry legado. */
|
|
3629
|
+
selectOptions: readonly CadastroCampoSelectOptionDto[];
|
|
3630
|
+
/** Coleção 1:N (`componentType === COLLECTION`). */
|
|
3631
|
+
description?: string | undefined;
|
|
3632
|
+
addButtonLabel?: string | undefined;
|
|
3633
|
+
/** Texto do botão ao editar linha seleccionada; vazio ⇒ só ícone (`alterar_button_label` no wire). */
|
|
3634
|
+
alterarButtonLabel?: string | undefined;
|
|
3635
|
+
removeButtonLabel?: string | undefined;
|
|
3636
|
+
minItems?: number | undefined;
|
|
3637
|
+
maxItems?: number | undefined;
|
|
3638
|
+
reorderable?: boolean | undefined;
|
|
3639
|
+
collectionLayout?: FormCollectionLayout | undefined;
|
|
3640
|
+
/** `[FormCollection(Layout = …)]` — igual ao painel de `[Container]`; só para `COLLECTION`. Omisso ⇒ cartão; só `PLAIN` é superfície sem contorno. */
|
|
3641
|
+
collectionPanelLayout?: CadastroSectionPanelLayout | undefined;
|
|
3642
|
+
itemFields?: readonly CadastroCampoMetadataDto[] | undefined;
|
|
3396
3643
|
/**
|
|
3397
|
-
*
|
|
3398
|
-
* Omisso
|
|
3644
|
+
* Linha de coleção: integrar na grelha só quando `true`, após o servidor enviar modo explícito (`[GridColumn]`).
|
|
3645
|
+
* Omisso ⇒ todas as propriedades visíveis da linha entram na grelha (legado).
|
|
3399
3646
|
*/
|
|
3400
|
-
|
|
3401
|
-
/**
|
|
3402
|
-
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
private layoutUserChangeSaveEnabled;
|
|
3406
|
-
/** Impressão digital do columnState já aplicado nesta instância (evita re-apply idêntico). */
|
|
3407
|
-
private appliedLayoutFingerprint;
|
|
3408
|
-
/** Estado em cache lido de forma síncrona antes do gridReady. */
|
|
3409
|
-
private pendingSavedColumnState;
|
|
3410
|
-
private layoutApplyRetryTimer;
|
|
3411
|
-
private layoutApplyRetryAttempts;
|
|
3412
|
-
private layoutCacheUpdatedUnsub;
|
|
3413
|
-
/** Detecta transição bootstrap (só «Ações») → colunas de dados do metadata (F5). */
|
|
3414
|
-
private lastKnownDataColumnCount;
|
|
3647
|
+
collectionItemGridColumn?: boolean | undefined;
|
|
3648
|
+
/** Cabeçalho na grelha; omisso usa {@link label}. */
|
|
3649
|
+
collectionGridHeader?: string | undefined;
|
|
3650
|
+
collectionGridColumnFormat?: CadastroCollectionGridColumnFormat | undefined;
|
|
3651
|
+
collectionGridWidthPx?: number | undefined;
|
|
3415
3652
|
/**
|
|
3416
|
-
*
|
|
3417
|
-
*
|
|
3653
|
+
* `[GridColumn(ReadOnly = …)]` na linha: `true` (por defeito no servidor) ⇒ célula só leitura na grelha.
|
|
3654
|
+
* Omisso ⇒ o cliente não aplica trava extra (só `readOnly` do `FormField`).
|
|
3418
3655
|
*/
|
|
3419
|
-
|
|
3420
|
-
private layoutStabilizeTimer;
|
|
3421
|
-
private layoutStabilizeRaf;
|
|
3422
|
-
constructor();
|
|
3423
|
-
readonly edit: EventEmitter<T>;
|
|
3424
|
-
readonly duplicate: EventEmitter<T>;
|
|
3425
|
-
readonly print: EventEmitter<T>;
|
|
3426
|
-
readonly remove: EventEmitter<T>;
|
|
3427
|
-
/** Clique na linha de dados (útil para selecção fora da coluna de acções). */
|
|
3428
|
-
readonly rowClick: EventEmitter<T>;
|
|
3429
|
-
/** Reservado para evolução (seleção de linhas); não ligado na v1 para manter a UI minimal. */
|
|
3430
|
-
readonly selectionChange: EventEmitter<T[]>;
|
|
3431
|
-
/** Paginação interna do ag-Grid: mudança de página ou de `pageSize`. */
|
|
3432
|
-
readonly paginationChanged: EventEmitter<DataGridPaginationChangeEvent>;
|
|
3433
|
-
readonly frameworkComponents: {
|
|
3434
|
-
dataGridActions: typeof DataGridActionsCellRendererComponent;
|
|
3435
|
-
dataGridBoolean: typeof DataGridBooleanCellRendererComponent;
|
|
3436
|
-
dataGridMidiaPreview: typeof DataGridMidiaPreviewCellRendererComponent;
|
|
3437
|
-
};
|
|
3438
|
-
/** Localização pt-BR do chrome do AG Grid (paginação e rótulos associados). */
|
|
3439
|
-
readonly localeText: {
|
|
3440
|
-
readonly pageSizeSelectorLabel: "Páginas:";
|
|
3441
|
-
readonly ariaPageSizeSelectorLabel: "Páginas";
|
|
3442
|
-
readonly page: "Página";
|
|
3443
|
-
readonly of: "de";
|
|
3444
|
-
readonly to: "a";
|
|
3445
|
-
readonly firstPage: "Primeira página";
|
|
3446
|
-
readonly previousPage: "Página anterior";
|
|
3447
|
-
readonly nextPage: "Próxima página";
|
|
3448
|
-
readonly lastPage: "Última página";
|
|
3449
|
-
readonly pageLastRowUnknown: "?";
|
|
3450
|
-
readonly more: "mais";
|
|
3451
|
-
};
|
|
3452
|
-
readonly paginationPageSizeChoices: number[];
|
|
3656
|
+
collectionGridReadOnly?: boolean | undefined;
|
|
3453
3657
|
/**
|
|
3454
|
-
*
|
|
3455
|
-
*
|
|
3658
|
+
* `[GridColumn(ComponentType = …)]` — tipo de controlo na grelha da coleção.
|
|
3659
|
+
* `UNSPECIFIED` / omisso ⇒ usa-se `componentType` do `[FormField]`.
|
|
3456
3660
|
*/
|
|
3457
|
-
|
|
3458
|
-
/**
|
|
3459
|
-
|
|
3661
|
+
collectionGridComponentType?: ComponentType | undefined;
|
|
3662
|
+
/** `[ValidationSummary]` na classe do elemento da coleção — espelho de `collection_item_validation_summary_flags`. */
|
|
3663
|
+
collectionItemValidationSummaryFlags?: number | undefined;
|
|
3664
|
+
/** Mensagem no resumo quando a lista não atinge `min_items`; omisso ⇒ «A lista não pode ser vazia». */
|
|
3665
|
+
collectionMinItemsMessage?: string | undefined;
|
|
3460
3666
|
/**
|
|
3461
|
-
*
|
|
3667
|
+
* Omisso ou `true`: decimal com prefixo monetário na UI (ex. `R$`).
|
|
3668
|
+
* `false`: formato decimal sem prefixo — ex. quantidade (`[FormField(Monetary = false)]` no servidor).
|
|
3462
3669
|
*/
|
|
3463
|
-
|
|
3670
|
+
monetary?: boolean | undefined;
|
|
3671
|
+
/** `SCRIPT_EDITOR`: altura mínima do painel (ex.: `220px`). */
|
|
3672
|
+
scriptEditorMinHeight?: string | undefined;
|
|
3673
|
+
/** `SCRIPT_EDITOR`: linguagem do painel (ex.: `bash`). */
|
|
3674
|
+
scriptEditorLanguage?: string | undefined;
|
|
3675
|
+
/** `[FormCollection(Pageable = …)]` — paginação server-side no cadastro. */
|
|
3676
|
+
pageable?: boolean | undefined;
|
|
3677
|
+
pageSize?: number | undefined;
|
|
3678
|
+
maxPageSize?: number | undefined;
|
|
3464
3679
|
/**
|
|
3465
|
-
*
|
|
3466
|
-
*
|
|
3680
|
+
* Chave do campo na linha (`item_fields.key`, ex.: `produtoId`) para foco ao clicar no resumo quando o erro
|
|
3681
|
+
* é lista vazia / `min_items`. Omisso ⇒ primeiro `item_field` por `ordem`.
|
|
3467
3682
|
*/
|
|
3468
|
-
|
|
3469
|
-
/**
|
|
3470
|
-
|
|
3471
|
-
/**
|
|
3472
|
-
|
|
3473
|
-
/** Só esvazia `rowData` durante loading quando ainda não há linhas a mostrar. */
|
|
3474
|
-
private get clearRowDataWhileLoading();
|
|
3683
|
+
invalidSummaryInputFocus?: string | undefined;
|
|
3684
|
+
/** `[FileUpload]` na propriedade da coleção — `MULTIPLE` activa zona de vários ficheiros + pré-visualização. */
|
|
3685
|
+
collectionFileUploadType?: FileUploadType | undefined;
|
|
3686
|
+
/** Com `MULTIPLE`: máximo por selecção (`[FileUpload(MaxItems)]`); `0` ⇒ cliente assume 5. */
|
|
3687
|
+
collectionFileUploadMaxFiles?: number | undefined;
|
|
3475
3688
|
/**
|
|
3476
|
-
*
|
|
3689
|
+
* `[FormCollection(MostrarAcaoEditar = …)]` — botão alterar na coluna Ações da grelha.
|
|
3690
|
+
* Omisso / `undefined` ⇒ `true` (mostrar).
|
|
3477
3691
|
*/
|
|
3478
|
-
|
|
3692
|
+
collectionMostrarAcaoEditar?: boolean | undefined;
|
|
3479
3693
|
/**
|
|
3480
|
-
*
|
|
3481
|
-
*
|
|
3694
|
+
* `[FormCollection(MostrarAcaoRemover = …)]` — botão remover na coluna Ações.
|
|
3695
|
+
* Omisso / `undefined` ⇒ `true` (mostrar).
|
|
3482
3696
|
*/
|
|
3483
|
-
|
|
3484
|
-
get skeletonRowCount(): number;
|
|
3485
|
-
/** Área entre cabeçalho da grelha e barra de paginação (overlay do skeleton), em px quando {@link hostHeight} é valor `NNpx`. */
|
|
3486
|
-
private estimateSkeletonViewportBodyPx;
|
|
3487
|
-
/** Desactiva animação de reordenação enquanto o layout persistido não foi aplicado. */
|
|
3488
|
-
get suppressColumnMoveAnimation(): boolean;
|
|
3489
|
-
readonly defaultColDef: ColDef<T>;
|
|
3697
|
+
collectionMostrarAcaoRemover?: boolean | undefined;
|
|
3490
3698
|
/**
|
|
3491
|
-
*
|
|
3492
|
-
*
|
|
3699
|
+
* `[FormCollection(ConfirmDialogOnRemove = …)]` — confirmação antes de remover linha na grelha/cartões.
|
|
3700
|
+
* Omisso / `undefined` ⇒ `true` (pedir confirmação).
|
|
3493
3701
|
*/
|
|
3494
|
-
|
|
3495
|
-
/** Expõe o contexto para `[context]` no template do `ag-grid-angular`. */
|
|
3496
|
-
get actionsContext(): DataGridActionsContext<T>;
|
|
3497
|
-
agColumnDefs: ColDef<T>[];
|
|
3498
|
-
ngOnInit(): void;
|
|
3702
|
+
collectionConfirmDialogOnRemove?: boolean | undefined;
|
|
3499
3703
|
/**
|
|
3500
|
-
*
|
|
3501
|
-
*
|
|
3704
|
+
* Chave da aba (`CadastroPageTabDto.key`) quando o campo pertence a um bloco `[PageTab]` na raiz;
|
|
3705
|
+
* vazio ⇒ capa (fora de abas).
|
|
3502
3706
|
*/
|
|
3503
|
-
|
|
3504
|
-
/** Conteúdo efectivo de `rowData` (evita refresh quando só muda a referência do array). */
|
|
3505
|
-
private computeRowDataFingerprint;
|
|
3506
|
-
/** Identificador determinístico e curto para linhas sem chave explícita. */
|
|
3507
|
-
private stableRowFingerprint;
|
|
3508
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
3509
|
-
ngOnDestroy(): void;
|
|
3510
|
-
get hostHeight(): string;
|
|
3511
|
-
onGridReady(ev: GridReadyEvent<T>): void;
|
|
3512
|
-
private onGridReadyApplyLayoutThenData;
|
|
3513
|
-
onLayoutColumnMoved(ev: ColumnMovedEvent<T>): void;
|
|
3514
|
-
onLayoutColumnResized(ev: ColumnResizedEvent<T>): void;
|
|
3515
|
-
onLayoutColumnVisible(_ev: ColumnVisibleEvent<T>): void;
|
|
3516
|
-
onLayoutColumnPinned(_ev: ColumnPinnedEvent<T>): void;
|
|
3517
|
-
private hydrateLayoutFromCacheSync;
|
|
3518
|
-
/** Dispara GET em background na 1.ª visita para aquecer cache antes do gridReady. */
|
|
3519
|
-
private prefetchLayoutIfNeeded;
|
|
3520
|
-
private onExternalLayoutCacheUpdated;
|
|
3521
|
-
private tryApplySavedLayout;
|
|
3522
|
-
private countDataColumns;
|
|
3523
|
-
private shouldKeepTryingLayoutApply;
|
|
3524
|
-
/** Só activa gravação automática quando colunas de dados existem (evita sobrescrever layout no F5). */
|
|
3525
|
-
private canEnableLayoutSaveGrace;
|
|
3526
|
-
private cancelLayoutApplyRetry;
|
|
3527
|
-
private scheduleLayoutApplyRetry;
|
|
3528
|
-
private applySavedLayoutBeforeFirstPaint;
|
|
3529
|
-
/** Dois frames após `agColumnDefs` mudar — AG Grid precisa materializar colunas antes de `applyColumnState`. */
|
|
3530
|
-
private yieldForGridColumnDefsSync;
|
|
3531
|
-
/** Colunas de dados existem no input e já estão materializadas na API do AG Grid. */
|
|
3532
|
-
private gridReadyForLayoutApply;
|
|
3533
|
-
private verifyLayoutStateApplied;
|
|
3534
|
-
private applyColumnStateToGrid;
|
|
3535
|
-
private enableLayoutSaveAfterGrace;
|
|
3536
|
-
private persistColumnLayoutIfAllowed;
|
|
3537
|
-
onRowClicked(ev: RowClickedEvent<T>): void;
|
|
3538
|
-
private rowClassForHighlight;
|
|
3539
|
-
private applyRowHighlightClass;
|
|
3540
|
-
private applyInitialPaginationPage;
|
|
3541
|
-
/** Evita `removeEventListener` na API depois do grid destruído. */
|
|
3542
|
-
private detachPaginationListenerIfLive;
|
|
3543
|
-
private setupHorizontalScrollStabilizingObservers;
|
|
3544
|
-
private beginHorizontalScrollStabilizing;
|
|
3545
|
-
private scheduleEndHorizontalScrollStabilizing;
|
|
3546
|
-
private tryFinishHorizontalScrollStabilizing;
|
|
3547
|
-
/**
|
|
3548
|
-
* `true` se o viewport central transborda; `false` se não; `null` se ainda não mensurável (largura 0).
|
|
3549
|
-
*/
|
|
3550
|
-
private centerViewportNeedsHorizontalScroll;
|
|
3551
|
-
private clearLayoutStabilizingTimers;
|
|
3552
|
-
private columnsForGrid;
|
|
3553
|
-
/** Classes BEM em `data-grid.host-theme.scss` para alinhamento declarativo nas colunas. */
|
|
3554
|
-
private static alignmentCellHeaderClasses;
|
|
3555
|
-
/**
|
|
3556
|
-
* Colunas `boolean` com `onBooleanChange` (checkbox na célula).
|
|
3557
|
-
* Reutilizado para {@link suppressCellFocusBinding}.
|
|
3558
|
-
*/
|
|
3559
|
-
private columnsHaveInteractiveBoolean;
|
|
3560
|
-
/**
|
|
3561
|
-
* Com `suppressCellFocus` activo, o AG Grid pode impedir cliques em checkboxes custom (`type: 'boolean'`).
|
|
3562
|
-
* Desactiva o supresso quando há colunas boolean com `onBooleanChange` ou quando a edição inline está ligada.
|
|
3563
|
-
*/
|
|
3564
|
-
get suppressCellFocusBinding(): boolean;
|
|
3565
|
-
private mapColumnsToColDef;
|
|
3566
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataGridComponent<any>, never>;
|
|
3567
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataGridComponent<any>, "app-data-grid", never, { "rows": { "alias": "rows"; "required": true; }; "columns": { "alias": "columns"; "required": true; }; "pageSize": { "alias": "pageSize"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "initialPaginationPage": { "alias": "initialPaginationPage"; "required": false; }; "height": { "alias": "height"; "required": false; }; "fitPaginationHeight": { "alias": "fitPaginationHeight"; "required": false; }; "fitPaginationMinEmptyRows": { "alias": "fitPaginationMinEmptyRows"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "pagination": { "alias": "pagination"; "required": false; }; "paginationPanelPlacement": { "alias": "paginationPanelPlacement"; "required": false; }; "paginationStripOnly": { "alias": "paginationStripOnly"; "required": false; }; "suppressPaginationPageSizeSelector": { "alias": "suppressPaginationPageSizeSelector"; "required": false; }; "showActionsColumn": { "alias": "showActionsColumn"; "required": false; }; "showEditAction": { "alias": "showEditAction"; "required": false; }; "editActionLabel": { "alias": "editActionLabel"; "required": false; }; "editActionIconClass": { "alias": "editActionIconClass"; "required": false; }; "showRemoveAction": { "alias": "showRemoveAction"; "required": false; }; "showDuplicateAction": { "alias": "showDuplicateAction"; "required": false; }; "showPrintAction": { "alias": "showPrintAction"; "required": false; }; "printActionLabel": { "alias": "printActionLabel"; "required": false; }; "suppressRowClick": { "alias": "suppressRowClick"; "required": false; }; "inlineCellEditing": { "alias": "inlineCellEditing"; "required": false; }; "highlightedRowMatch": { "alias": "highlightedRowMatch"; "required": false; }; "highlightMatchField": { "alias": "highlightMatchField"; "required": false; }; "layoutTelaKey": { "alias": "layoutTelaKey"; "required": false; }; "layoutGridKey": { "alias": "layoutGridKey"; "required": false; }; }, { "edit": "edit"; "duplicate": "duplicate"; "print": "print"; "remove": "remove"; "rowClick": "rowClick"; "selectionChange": "selectionChange"; "paginationChanged": "paginationChanged"; }, never, never, true, never>;
|
|
3568
|
-
static ngAcceptInputType_initialPaginationPage: unknown;
|
|
3569
|
-
static ngAcceptInputType_fitPaginationHeight: unknown;
|
|
3570
|
-
static ngAcceptInputType_fitPaginationMinEmptyRows: unknown;
|
|
3571
|
-
static ngAcceptInputType_paginationStripOnly: unknown;
|
|
3572
|
-
static ngAcceptInputType_suppressPaginationPageSizeSelector: unknown;
|
|
3573
|
-
static ngAcceptInputType_showEditAction: unknown;
|
|
3574
|
-
static ngAcceptInputType_showRemoveAction: unknown;
|
|
3575
|
-
static ngAcceptInputType_showDuplicateAction: unknown;
|
|
3576
|
-
static ngAcceptInputType_showPrintAction: unknown;
|
|
3577
|
-
static ngAcceptInputType_suppressRowClick: unknown;
|
|
3578
|
-
static ngAcceptInputType_inlineCellEditing: unknown;
|
|
3707
|
+
pageTabKey?: string | undefined;
|
|
3579
3708
|
}
|
|
3580
|
-
|
|
3581
|
-
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3709
|
+
/** Espelho de {@code CadastroCollectionStateDto} no init cadastro. */
|
|
3710
|
+
interface CadastroCollectionStateDto {
|
|
3711
|
+
key: string;
|
|
3712
|
+
pagina: number;
|
|
3713
|
+
tamanhoPagina: number;
|
|
3714
|
+
total: number;
|
|
3715
|
+
}
|
|
3716
|
+
/** Contrato genérico para RPC de página de coleção (payload espelha proto). */
|
|
3717
|
+
interface CadastroCollectionPageRequestWire {
|
|
3718
|
+
entityId: string;
|
|
3719
|
+
collectionKey: string;
|
|
3720
|
+
pagina: number;
|
|
3721
|
+
tamanhoPagina: number;
|
|
3722
|
+
ordenarCampo: string;
|
|
3723
|
+
ordenarDesc: boolean;
|
|
3724
|
+
}
|
|
3725
|
+
interface CadastroCollectionPageReplyWire {
|
|
3726
|
+
collectionKey: string;
|
|
3727
|
+
pagina: number;
|
|
3728
|
+
tamanhoPagina: number;
|
|
3729
|
+
total: number;
|
|
3730
|
+
/** Array JSON de linhas (`PedidoItemDto`, …). */
|
|
3731
|
+
itensJson: string;
|
|
3732
|
+
}
|
|
3733
|
+
/** Estado UI para rodapé de paginação da {@link FormCollectionComponent}. */
|
|
3734
|
+
interface CadastroCollectionPagingUi {
|
|
3735
|
+
pagina: number;
|
|
3736
|
+
tamanhoPagina: number;
|
|
3737
|
+
total: number;
|
|
3738
|
+
loading: boolean;
|
|
3739
|
+
erro?: string | null | undefined;
|
|
3740
|
+
}
|
|
3741
|
+
interface CadastroDeclarativeSnapshotDto {
|
|
3742
|
+
camposMetadata: CadastroCampoMetadataDto[];
|
|
3743
|
+
camposValidacao: CadastroCampoValidacaoDto[];
|
|
3585
3744
|
}
|
|
3745
|
+
/** Entrada para merge (`fromPartial`): `referencia` pode vir incompleta como no metadata JSON. */
|
|
3746
|
+
type CadastroCampoMetadataMergeInput = Omit<Partial<CadastroCampoMetadataDto>, 'referencia'> & {
|
|
3747
|
+
referencia?: Partial<CadastroCampoReferenciaMetadataDto> | null;
|
|
3748
|
+
};
|
|
3586
3749
|
|
|
3587
|
-
/**
|
|
3588
|
-
|
|
3589
|
-
|
|
3590
|
-
|
|
3591
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
3594
|
-
|
|
3595
|
-
|
|
3750
|
+
/** Espelho de {@code CadastroActionStateDto}. */
|
|
3751
|
+
type CadastroActionStateDto = {
|
|
3752
|
+
readonly visible: boolean;
|
|
3753
|
+
readonly enabled: boolean;
|
|
3754
|
+
readonly tooltip: string;
|
|
3755
|
+
readonly reason: string;
|
|
3756
|
+
};
|
|
3757
|
+
|
|
3758
|
+
/** Autorização de rotas de cadastro referenciado (implementação no app host — ex.: menu + permissões). */
|
|
3759
|
+
interface CadastroReferenciaRouteAccess {
|
|
3760
|
+
/** Pode aceder à entidade referenciada (lista / cadastro em leitura). */
|
|
3761
|
+
podeVisualizarRota(rota: string, chavePermissao?: string): boolean;
|
|
3762
|
+
/** Pode abrir «novo» / cadastro inline de criação. */
|
|
3763
|
+
podeCriarRota(rotaNovo: string, chavePermissao?: string): boolean;
|
|
3764
|
+
/** Pode abrir cadastro de edição (`:id`). */
|
|
3765
|
+
podeEditarRota(rotaAlterar: string, chavePermissao?: string): boolean;
|
|
3596
3766
|
}
|
|
3597
|
-
|
|
3598
|
-
|
|
3599
|
-
|
|
3600
|
-
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
|
|
3767
|
+
/** Comportamento legado quando o host não registra política (lib demo / testes). */
|
|
3768
|
+
declare const CADASTRO_REFERENCIA_ROUTE_ACCESS_PERMISSIVE: CadastroReferenciaRouteAccess;
|
|
3769
|
+
declare const CADASTRO_REFERENCIA_ROUTE_ACCESS: InjectionToken<CadastroReferenciaRouteAccess>;
|
|
3770
|
+
type ModoPermissaoReferencia = 'All' | 'Any';
|
|
3771
|
+
declare function normalizarRotaReferencia(rota: string): string;
|
|
3772
|
+
declare function rotaListaReferencia(rota: string): string;
|
|
3773
|
+
type CadastroReferenciaAcoesPermitidas = {
|
|
3774
|
+
readonly permitirCriar: boolean;
|
|
3775
|
+
readonly permitirAlterar: boolean;
|
|
3776
|
+
readonly criarDesabilitado?: boolean;
|
|
3777
|
+
readonly alterarDesabilitado?: boolean;
|
|
3778
|
+
readonly criarTooltipBloqueio?: string;
|
|
3779
|
+
readonly alterarTooltipBloqueio?: string;
|
|
3780
|
+
};
|
|
3781
|
+
type CadastroReferenciaPermissoesMetadata = {
|
|
3782
|
+
readonly permissaoVisualizar?: string;
|
|
3783
|
+
readonly permissaoCriar?: string;
|
|
3784
|
+
readonly permissaoEditar?: string;
|
|
3785
|
+
readonly permissoesVisualizar?: readonly string[];
|
|
3786
|
+
readonly permissoesCriar?: readonly string[];
|
|
3787
|
+
readonly permissoesEditar?: readonly string[];
|
|
3788
|
+
readonly modoPermissao?: ModoPermissaoReferencia;
|
|
3789
|
+
};
|
|
3790
|
+
declare function modoPermissaoReferenciaFromWire(raw: unknown): ModoPermissaoReferencia;
|
|
3791
|
+
/** Extrai chaves RBAC declaradas na metadata de referência (snake_case ou camelCase). */
|
|
3792
|
+
declare function permissoesReferenciaMetadata(ref?: Partial<{
|
|
3793
|
+
permissaoVisualizar?: string;
|
|
3794
|
+
permissaoCriar?: string;
|
|
3795
|
+
permissaoEditar?: string;
|
|
3796
|
+
permissao_visualizar?: string;
|
|
3797
|
+
permissao_criar?: string;
|
|
3798
|
+
permissao_editar?: string;
|
|
3799
|
+
permissoesVisualizar?: readonly string[];
|
|
3800
|
+
permissoesCriar?: readonly string[];
|
|
3801
|
+
permissoesEditar?: readonly string[];
|
|
3802
|
+
permissoes_visualizar?: readonly string[];
|
|
3803
|
+
permissoes_criar?: readonly string[];
|
|
3804
|
+
permissoes_editar?: readonly string[];
|
|
3805
|
+
modoPermissao?: ModoPermissaoReferencia | string;
|
|
3806
|
+
modo_permissao?: ModoPermissaoReferencia | string | number;
|
|
3807
|
+
}> | null): CadastroReferenciaPermissoesMetadata;
|
|
3808
|
+
/** Aplica metadata + política de rotas do host aos atalhos (+ / …) da referência. */
|
|
3809
|
+
declare function resolverAcoesReferenciaPorRota(access: CadastroReferenciaRouteAccess, params: {
|
|
3810
|
+
readonly rotaNovo?: string;
|
|
3811
|
+
readonly rotaAlterar?: string;
|
|
3812
|
+
readonly metadataPermitirCriar?: boolean;
|
|
3813
|
+
readonly metadataPermitirAlterar?: boolean;
|
|
3814
|
+
readonly permissaoVisualizar?: string;
|
|
3815
|
+
readonly permissaoCriar?: string;
|
|
3816
|
+
readonly permissaoEditar?: string;
|
|
3817
|
+
readonly permissoesVisualizar?: readonly string[];
|
|
3818
|
+
readonly permissoesCriar?: readonly string[];
|
|
3819
|
+
readonly permissoesEditar?: readonly string[];
|
|
3820
|
+
readonly modoPermissao?: ModoPermissaoReferencia;
|
|
3821
|
+
readonly actionKeyCreate?: string;
|
|
3822
|
+
readonly actionKeyEdit?: string;
|
|
3823
|
+
readonly actionKeyView?: string;
|
|
3824
|
+
readonly actionStates?: ReadonlyMap<string, CadastroActionStateDto>;
|
|
3825
|
+
}): CadastroReferenciaAcoesPermitidas;
|
|
3826
|
+
|
|
3827
|
+
/** Configuração de navegação numa coluna da grade (metadata gRPC / {@link DataGridColumnNavigateConfig}). */
|
|
3828
|
+
interface GridNavigateConfig {
|
|
3829
|
+
route: string;
|
|
3830
|
+
idProperty: string;
|
|
3831
|
+
tooltip?: string;
|
|
3832
|
+
icon?: string;
|
|
3833
|
+
openMode?: CadastroReferenciaOpenMode;
|
|
3834
|
+
permission?: string;
|
|
3835
|
+
hideWhenNull?: boolean;
|
|
3836
|
+
queryParamName?: string;
|
|
3837
|
+
routeParamName?: string;
|
|
3838
|
+
preserveNavigationState?: boolean;
|
|
3839
|
+
}
|
|
3840
|
+
/** Contexto opcional para preservar scroll/sessão da consulta antes de navegar. */
|
|
3841
|
+
interface GridNavigatePreserveContext {
|
|
3842
|
+
chaveConsulta?: string;
|
|
3843
|
+
/** URL da consulta de origem (omisso ⇒ `router.url` em {@link navigateFromGrid}). */
|
|
3844
|
+
returnUrl?: string;
|
|
3845
|
+
navVoltarSemRecarregarKey?: string;
|
|
3846
|
+
flushScroll?: () => void;
|
|
3608
3847
|
}
|
|
3609
|
-
|
|
3848
|
+
declare function markConsultaPendingGridReturn(chaveConsulta: string, opts?: {
|
|
3849
|
+
navVoltarSemRecarregarKey?: string;
|
|
3850
|
+
returnUrl?: string;
|
|
3851
|
+
}): void;
|
|
3852
|
+
/** Chave `history.state` para repor snapshot ao voltar da grelha (consumida uma vez). */
|
|
3853
|
+
declare function consumeGridReturnVoltarKeyForUrl(returnUrl: string): string | null;
|
|
3854
|
+
declare function consumeConsultaPendingGridReturn(chaveConsulta: string): boolean;
|
|
3855
|
+
/** Substitui `{param}` ou `:param` na rota pelo identificador. */
|
|
3856
|
+
declare function buildGridNavigateUrl(navigate: GridNavigateConfig, entityId: string): {
|
|
3857
|
+
url: string;
|
|
3858
|
+
queryParams?: Record<string, string>;
|
|
3859
|
+
};
|
|
3860
|
+
declare function gridNavigateIconClass(icon?: string): string;
|
|
3861
|
+
declare function podeNavegarGridColuna(navigate: GridNavigateConfig, row: Record<string, unknown>, routeAccess?: CadastroReferenciaRouteAccess): boolean;
|
|
3862
|
+
/**
|
|
3863
|
+
* Navega da célula da grade para o cadastro relacionado.
|
|
3864
|
+
* Usa o padrão UID `{route}/{id}` ou query param conforme metadata.
|
|
3865
|
+
*/
|
|
3866
|
+
declare function navigateFromGrid(router: Pick<Router, 'navigate' | 'navigateByUrl' | 'url'>, row: Record<string, unknown>, navigate: GridNavigateConfig, opts?: {
|
|
3867
|
+
routeAccess?: CadastroReferenciaRouteAccess;
|
|
3868
|
+
preserve?: GridNavigatePreserveContext;
|
|
3869
|
+
}): void;
|
|
3610
3870
|
|
|
3871
|
+
/** Opção enum para {@link DataGridColumn.enumOptions}. */
|
|
3872
|
+
type DataGridEnumOption = {
|
|
3873
|
+
value: string;
|
|
3874
|
+
label: string;
|
|
3875
|
+
};
|
|
3876
|
+
/** Configuração de navegação numa coluna (metadata `[GridNavigate]`). */
|
|
3877
|
+
type DataGridColumnNavigateConfig = GridNavigateConfig;
|
|
3611
3878
|
/**
|
|
3612
|
-
*
|
|
3613
|
-
* `scrollBatchSize` de cada vez até o usuário fazer scroll (fatia local).
|
|
3614
|
-
* - **remote**: `items` são só as linhas já devolvidas pela API; ao fim do scroll
|
|
3615
|
-
* emite `loadMore` para pedir a próxima página (SQL OFFSET/FETCH no backend).
|
|
3879
|
+
* Configuração de coluna da lib — convertida internamente para `ColDef` do AG Grid.
|
|
3616
3880
|
*/
|
|
3617
|
-
|
|
3618
|
-
/**
|
|
3619
|
-
|
|
3620
|
-
|
|
3621
|
-
|
|
3622
|
-
|
|
3623
|
-
loading: boolean;
|
|
3881
|
+
interface DataGridColumn<T = unknown> {
|
|
3882
|
+
/** Campo no registro ou identificador lógico (ex.: `__actions` para coluna de ações). */
|
|
3883
|
+
key: keyof T | string;
|
|
3884
|
+
header: string;
|
|
3885
|
+
width?: number;
|
|
3886
|
+
flex?: number;
|
|
3624
3887
|
/**
|
|
3625
|
-
*
|
|
3626
|
-
*
|
|
3627
|
-
* continua a usar só {@link loading} (lista vazia ou refresh completo com `loading` e sem `loadingMore`).
|
|
3888
|
+
* `boolean`: checkbox temático via {@link DataGridComponent}; editável se {@link onBooleanChange} estiver definido.
|
|
3889
|
+
* `midiaPreview`: miniatura + botão zoom (valor da célula = URL relativa ou absoluta da imagem).
|
|
3628
3890
|
*/
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
|
|
3632
|
-
|
|
3633
|
-
|
|
3634
|
-
/** Repasse ao `app-data-card`: botão «Alterar» quando {@link showItemActions} é `true`. */
|
|
3635
|
-
showEditAction: boolean;
|
|
3636
|
-
editActionLabel: string;
|
|
3637
|
-
editActionIconClass: string;
|
|
3638
|
-
/** Repasse ao `app-data-card`: botão «Remover» quando {@link showItemActions} é `true`. */
|
|
3639
|
-
showRemoveAction: boolean;
|
|
3640
|
-
/** Repasse ao `app-data-card`: clique no cartão emite `edit` (exceto nos botões). */
|
|
3641
|
-
cardOpenOnClick: boolean;
|
|
3642
|
-
trackByProp: keyof T | string;
|
|
3643
|
-
dataMode: CardListDataMode;
|
|
3644
|
-
/** Em modo `memory`: quantos itens revelar por cada passo de scroll. Por omissão `10`. */
|
|
3645
|
-
scrollBatchSize: number;
|
|
3646
|
-
scrollLoadThresholdPx: number;
|
|
3647
|
-
/** Mostra o rodapé com o resumo (“X de Y”) e dica. Por omissão `true`; com `false` oculta o footer. */
|
|
3648
|
-
showFooter: boolean;
|
|
3891
|
+
type?: 'text' | 'number' | 'boolean' | 'actions' | 'midiaPreview';
|
|
3892
|
+
/** Com `type: 'midiaPreview'`: rótulo ARIA do botão que abre o diálogo (omisso: «Ampliar imagem»). */
|
|
3893
|
+
midiaPreviewZoomAriaLabel?: string;
|
|
3894
|
+
/** Por omissão `true` para texto/número; ignorado para `actions`. */
|
|
3895
|
+
sortable?: boolean;
|
|
3649
3896
|
/**
|
|
3650
|
-
*
|
|
3651
|
-
*
|
|
3897
|
+
* Alinhamento horizontal do cabeçalho e da célula (texto/número).
|
|
3898
|
+
* Ignorado para `type: 'actions'` e `boolean` (têm layout próprio).
|
|
3899
|
+
* Omisso / `start`: comportamento por defeito (esquerda em LTR).
|
|
3652
3900
|
*/
|
|
3653
|
-
|
|
3654
|
-
scrollMaxHeight: string | null;
|
|
3901
|
+
align?: 'start' | 'center' | 'end';
|
|
3655
3902
|
/**
|
|
3656
|
-
*
|
|
3657
|
-
*
|
|
3903
|
+
* Com `type: 'boolean'`: se definido, o checkbox deixa de ser só leitura e chama-se após cada alteração
|
|
3904
|
+
* (ex.: marcar «principal» na grelha com exclusividade entre linhas).
|
|
3658
3905
|
*/
|
|
3659
|
-
|
|
3906
|
+
onBooleanChange?: (ctx: {
|
|
3907
|
+
row: T;
|
|
3908
|
+
value: boolean;
|
|
3909
|
+
}) => void;
|
|
3660
3910
|
/**
|
|
3661
|
-
*
|
|
3662
|
-
*
|
|
3911
|
+
* Texto / número: edição inline no AG Grid; chamado após o utilizador confirmar o novo valor.
|
|
3912
|
+
* Omisso: célula só leitura (comportamento anterior).
|
|
3663
3913
|
*/
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
|
|
3668
|
-
|
|
3669
|
-
|
|
3670
|
-
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
|
|
3682
|
-
|
|
3683
|
-
|
|
3684
|
-
|
|
3685
|
-
|
|
3686
|
-
|
|
3687
|
-
|
|
3688
|
-
/**
|
|
3689
|
-
|
|
3690
|
-
/**
|
|
3691
|
-
|
|
3692
|
-
|
|
3693
|
-
|
|
3694
|
-
/**
|
|
3695
|
-
|
|
3696
|
-
|
|
3697
|
-
|
|
3698
|
-
|
|
3699
|
-
|
|
3700
|
-
|
|
3701
|
-
|
|
3702
|
-
|
|
3703
|
-
/**
|
|
3704
|
-
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3708
|
-
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
|
|
3713
|
-
|
|
3714
|
-
|
|
3715
|
-
|
|
3716
|
-
|
|
3717
|
-
|
|
3914
|
+
onScalarCommit?: (ctx: {
|
|
3915
|
+
row: T;
|
|
3916
|
+
newValue: unknown;
|
|
3917
|
+
}) => void;
|
|
3918
|
+
/**
|
|
3919
|
+
* Opções enum (`value` numérico em texto + `label`); a grelha exibe o rótulo em vez do valor cru.
|
|
3920
|
+
* Ordenação/filtro continuam a usar o campo bruto da linha.
|
|
3921
|
+
*/
|
|
3922
|
+
enumOptions?: readonly DataGridEnumOption[];
|
|
3923
|
+
/**
|
|
3924
|
+
* Campo da linha com nome de classe CSS a aplicar na célula (ex.: cor por status).
|
|
3925
|
+
* Combinado com classes de alinhamento (`align`).
|
|
3926
|
+
*/
|
|
3927
|
+
cellClassField?: keyof T | string;
|
|
3928
|
+
/** Navegação para cadastro relacionado (`[GridNavigate]` no servidor). */
|
|
3929
|
+
navigate?: DataGridColumnNavigateConfig;
|
|
3930
|
+
}
|
|
3931
|
+
|
|
3932
|
+
/** Contexto injetado pelo {@link DataGridComponent} (não exportado para consumidores). */
|
|
3933
|
+
interface DataGridActionsContext<T = unknown> {
|
|
3934
|
+
onEditRow: (row: T) => void;
|
|
3935
|
+
onRemoveRow: (row: T) => void;
|
|
3936
|
+
onDuplicateRow?: (row: T) => void;
|
|
3937
|
+
onPrintRow?: (row: T) => void;
|
|
3938
|
+
/** Quando `false`, o botão «Alterar» não é mostrado. */
|
|
3939
|
+
showEditAction?: boolean;
|
|
3940
|
+
/** Quando `false`, o botão «Remover» não é mostrado. */
|
|
3941
|
+
showRemoveAction?: boolean;
|
|
3942
|
+
/** Quando `true`, mostra «Duplicar» (requer `onDuplicateRow`). */
|
|
3943
|
+
showDuplicateAction?: boolean;
|
|
3944
|
+
/** Quando `true`, mostra «Imprimir» (requer `onPrintRow`). */
|
|
3945
|
+
showPrintAction?: boolean;
|
|
3946
|
+
/** Tooltip/aria do botão de abrir registo; omisso ⇒ «Alterar». */
|
|
3947
|
+
editActionLabel?: string;
|
|
3948
|
+
/**
|
|
3949
|
+
* Classe Font Awesome do ícone do botão editar/transmitir (ex.: `fa-paper-plane`).
|
|
3950
|
+
* Omisso ⇒ `fa-pen-to-square`.
|
|
3951
|
+
*/
|
|
3952
|
+
editActionIconClass?: string;
|
|
3953
|
+
/** Tooltip/aria do botão imprimir; omisso ⇒ «Imprimir». */
|
|
3954
|
+
printActionLabel?: string;
|
|
3955
|
+
}
|
|
3956
|
+
declare class DataGridActionsCellRendererComponent implements ICellRendererAngularComp {
|
|
3957
|
+
params: ICellRendererParams & {
|
|
3958
|
+
context?: DataGridActionsContext;
|
|
3959
|
+
};
|
|
3960
|
+
agInit(params: ICellRendererParams): void;
|
|
3961
|
+
refresh(): boolean;
|
|
3962
|
+
protected get isPlaceholderRow(): boolean;
|
|
3963
|
+
/** Linha pode ocultar ações via `__hideEditAction` / `__hidePrintAction` (ex.: NF já autorizada). */
|
|
3964
|
+
protected get rowData(): Record<string, unknown> | undefined;
|
|
3965
|
+
protected get showEditButton(): boolean;
|
|
3966
|
+
protected get showPrintButton(): boolean;
|
|
3967
|
+
/** Botão textual (ex.: «Transmitir NFS-e») em vez do ícone «Alterar». */
|
|
3968
|
+
protected get editAsTextButton(): boolean;
|
|
3969
|
+
protected get editActionIcon(): string;
|
|
3970
|
+
/** `params.context` nem sempre vem preenchido; o grid guarda o mesmo objeto em `gridOptions.context`. */
|
|
3971
|
+
protected get actionsContext(): DataGridActionsContext | undefined;
|
|
3972
|
+
edit(): void;
|
|
3973
|
+
remove(): void;
|
|
3974
|
+
duplicate(): void;
|
|
3975
|
+
print(): void;
|
|
3976
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataGridActionsCellRendererComponent, never>;
|
|
3977
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataGridActionsCellRendererComponent, "app-data-grid-actions-cell-renderer", never, {}, {}, never, never, true, never>;
|
|
3718
3978
|
}
|
|
3719
3979
|
|
|
3720
|
-
/** Limite de largura para tratar como “mobile” na escolha grid vs card (igual aos campos). */
|
|
3721
|
-
declare const ADAPTIVE_DATA_VIEW_MOBILE_QUERY = "(max-width: 767.98px)";
|
|
3722
|
-
type AdaptiveDataViewMode = 'grid' | 'card';
|
|
3723
3980
|
/**
|
|
3724
|
-
*
|
|
3725
|
-
*
|
|
3981
|
+
* Checkbox só leitura (omisso) ou editável quando `interactive` e `onCommit` chegam nos params
|
|
3982
|
+
* (raiz após merge do AG Grid, ou {@link ICellRendererParams} legado com `cellRendererParams`).
|
|
3726
3983
|
*/
|
|
3727
|
-
declare class
|
|
3728
|
-
private readonly bp;
|
|
3984
|
+
declare class DataGridBooleanCellRendererComponent implements ICellRendererAngularComp {
|
|
3729
3985
|
private readonly cdr;
|
|
3730
|
-
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
private
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
pageSize: number;
|
|
3739
|
-
/** Altura do `app-data-grid` (`[height]`). Independente de {@link cardScrollMaxHeight}. */
|
|
3740
|
-
gridHeight: string | null;
|
|
3986
|
+
checked: boolean;
|
|
3987
|
+
headerPlaceholder: string;
|
|
3988
|
+
protected interactive: boolean;
|
|
3989
|
+
private onCommit?;
|
|
3990
|
+
private rowData;
|
|
3991
|
+
agInit(params: ICellRendererParams): void;
|
|
3992
|
+
refresh(params: ICellRendererParams): boolean;
|
|
3993
|
+
protected onCheckboxChange(ev: Event): void;
|
|
3741
3994
|
/**
|
|
3742
|
-
*
|
|
3743
|
-
*
|
|
3995
|
+
* O AG Grid (edição inline / foco de célula) intercepta `mousedown`/`click` no contentor da célula;
|
|
3996
|
+
* sem `stopPropagation` o primeiro clique pode não chegar ao checkbox ou o estado volta atrás no `refresh`.
|
|
3744
3997
|
*/
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
|
|
3754
|
-
|
|
3755
|
-
|
|
3756
|
-
|
|
3757
|
-
|
|
3758
|
-
|
|
3759
|
-
|
|
3760
|
-
|
|
3761
|
-
|
|
3998
|
+
protected onBlockGridPointerBubble(ev: MouseEvent): void;
|
|
3999
|
+
private applyParams;
|
|
4000
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataGridBooleanCellRendererComponent, never>;
|
|
4001
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataGridBooleanCellRendererComponent, "app-data-grid-boolean-cell-renderer", never, {}, {}, never, never, true, never>;
|
|
4002
|
+
}
|
|
4003
|
+
|
|
4004
|
+
declare class DataGridMidiaPreviewCellRendererComponent implements ICellRendererAngularComp {
|
|
4005
|
+
private readonly cdr;
|
|
4006
|
+
private readonly dialog;
|
|
4007
|
+
private readonly theme;
|
|
4008
|
+
private readonly publicBase;
|
|
4009
|
+
relativePath: string;
|
|
4010
|
+
thumbSrc: string;
|
|
4011
|
+
zoomAriaLabel: string;
|
|
4012
|
+
placeholderRow: boolean;
|
|
4013
|
+
protected dialogSrc: string;
|
|
4014
|
+
agInit(params: ICellRendererParams): void;
|
|
4015
|
+
refresh(params: ICellRendererParams): boolean;
|
|
4016
|
+
protected onThumbError(ev: Event): void;
|
|
4017
|
+
protected onZoomClick(ev: MouseEvent): void;
|
|
4018
|
+
private applyParams;
|
|
4019
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataGridMidiaPreviewCellRendererComponent, never>;
|
|
4020
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataGridMidiaPreviewCellRendererComponent, "app-data-grid-midia-preview-cell-renderer", never, {}, {}, never, never, true, never>;
|
|
4021
|
+
}
|
|
4022
|
+
|
|
4023
|
+
interface DataGridNavigationCellParams {
|
|
4024
|
+
navigate?: GridNavigateConfig;
|
|
4025
|
+
displayValue?: string;
|
|
4026
|
+
showButton?: boolean;
|
|
4027
|
+
tooltip?: string;
|
|
4028
|
+
iconClass?: string;
|
|
4029
|
+
disabled?: boolean;
|
|
4030
|
+
onNavigate?: (row: Record<string, unknown>) => void;
|
|
4031
|
+
}
|
|
4032
|
+
declare class DataGridNavigationCellRendererComponent implements ICellRendererAngularComp {
|
|
4033
|
+
params: ICellRendererParams;
|
|
4034
|
+
agInit(params: ICellRendererParams): void;
|
|
4035
|
+
refresh(params: ICellRendererParams): boolean;
|
|
4036
|
+
protected get cellParams(): DataGridNavigationCellParams;
|
|
4037
|
+
protected get displayText(): string;
|
|
4038
|
+
protected get showButton(): boolean;
|
|
4039
|
+
protected get isDisabled(): boolean;
|
|
4040
|
+
protected get tooltipText(): string;
|
|
4041
|
+
protected get iconFaClass(): string;
|
|
4042
|
+
protected get isPlaceholderRow(): boolean;
|
|
4043
|
+
protected onNavigateClick(event: MouseEvent): void;
|
|
4044
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataGridNavigationCellRendererComponent, never>;
|
|
4045
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataGridNavigationCellRendererComponent, "app-data-grid-navigation-cell-renderer", never, {}, {}, never, never, true, never>;
|
|
4046
|
+
}
|
|
4047
|
+
|
|
4048
|
+
/** Emitido quando o usuário muda de página ou tamanho de página na grade paginada. */
|
|
4049
|
+
interface DataGridPaginationChangeEvent {
|
|
4050
|
+
/** Índice 0-based da página atual (API ag-Grid). */
|
|
4051
|
+
currentPage: number;
|
|
4052
|
+
newPage: boolean;
|
|
4053
|
+
newPageSize: boolean;
|
|
4054
|
+
}
|
|
4055
|
+
declare class DataGridComponent<T = unknown> implements OnInit, OnChanges, OnDestroy {
|
|
4056
|
+
private readonly ngZone;
|
|
4057
|
+
private readonly cdr;
|
|
4058
|
+
private readonly destroyRef;
|
|
4059
|
+
private readonly hostRef;
|
|
4060
|
+
private readonly gridLayoutService;
|
|
4061
|
+
private readonly router;
|
|
4062
|
+
private readonly routeAccess;
|
|
4063
|
+
private gridApi;
|
|
3762
4064
|
/**
|
|
3763
|
-
*
|
|
3764
|
-
*
|
|
4065
|
+
* Alinhar com `data-grid.host-theme.scss`: `--ag-grid-size: 7px`, cabeçalho e linha = ×8.
|
|
4066
|
+
* Painel de paginação AG Grid: `--ag-pagination-panel-height` = `--ag-header-height`.
|
|
3765
4067
|
*/
|
|
3766
|
-
|
|
4068
|
+
private static readonly FIT_HEADER_ROW_PX;
|
|
4069
|
+
private static readonly FIT_PAGING_PX;
|
|
4070
|
+
/** Bordas / arredondamentos entre root e viewport. */
|
|
4071
|
+
private static readonly FIT_CHROME_FUDGE_PX;
|
|
3767
4072
|
/**
|
|
3768
|
-
*
|
|
3769
|
-
*
|
|
4073
|
+
* Altura aproximada de uma linha do skeleton (padding + bloco) — usada para encher o overlay do viewport;
|
|
4074
|
+
* ligeiramente inferior à linha real do AG Grid (56px) para caberem mais barras e tapar o fundo.
|
|
3770
4075
|
*/
|
|
3771
|
-
|
|
3772
|
-
|
|
4076
|
+
private static readonly SKELETON_ROW_APPROX_PX;
|
|
4077
|
+
private paginationChangedListener?;
|
|
4078
|
+
/** Evita `setGridOption('rowData')` quando só muda a referência do array (mesmo conteúdo). */
|
|
4079
|
+
private lastRowDataFingerprint;
|
|
4080
|
+
rows: T[];
|
|
4081
|
+
columns: DataGridColumn<T>[];
|
|
4082
|
+
pageSize: number;
|
|
3773
4083
|
loading: boolean;
|
|
3774
4084
|
/**
|
|
3775
|
-
*
|
|
3776
|
-
*
|
|
4085
|
+
* Após remontar a grade (ex.: skeleton), volta a esta página (0-based).
|
|
4086
|
+
* Só aplicado em `gridReady` e quando o valor muda com a API já disponível.
|
|
3777
4087
|
*/
|
|
3778
|
-
|
|
4088
|
+
initialPaginationPage: number;
|
|
4089
|
+
height: string | null;
|
|
3779
4090
|
/**
|
|
3780
|
-
*
|
|
3781
|
-
*
|
|
4091
|
+
* Ignora `height` e define altura para cabeçalho + `pageSize` linhas + barra de paginação.
|
|
4092
|
+
* Actualiza quando o utilizador muda o tamanho de página no próprio grid (via API).
|
|
3782
4093
|
*/
|
|
3783
|
-
|
|
3784
|
-
|
|
3785
|
-
|
|
3786
|
-
|
|
3787
|
-
|
|
3788
|
-
|
|
4094
|
+
fitPaginationHeight: boolean;
|
|
4095
|
+
/**
|
|
4096
|
+
* Com {@link fitPaginationHeight} e lista vazia: altura mínima em linhas de corpo (empty state).
|
|
4097
|
+
* Por omissão `1`; no diálogo de filtros use ~5 para alinhar ao `pageSize`.
|
|
4098
|
+
*/
|
|
4099
|
+
fitPaginationMinEmptyRows: number;
|
|
4100
|
+
emptyMessage: string;
|
|
4101
|
+
pagination: boolean;
|
|
4102
|
+
/**
|
|
4103
|
+
* `top`: inverte o layout interno do AG Grid para o painel `.ag-paging-panel` aparecer **acima** do corpo
|
|
4104
|
+
* (vista em cartão / mobile alinhada à consulta).
|
|
4105
|
+
*/
|
|
4106
|
+
paginationPanelPlacement: 'bottom' | 'top';
|
|
4107
|
+
/**
|
|
4108
|
+
* Mostra só o painel de paginação nativo (corpo/cabeçalho ocultos). Útil com uma segunda grelha em cartão.
|
|
4109
|
+
*/
|
|
4110
|
+
paginationStripOnly: boolean;
|
|
4111
|
+
/**
|
|
4112
|
+
* Skeleton placeholder (lista vazia): faixa de paginação só com chrome, sem texto.
|
|
4113
|
+
* Activar no arranque antes do metadata/lista; manter texto durante loading explícito da API.
|
|
4114
|
+
*/
|
|
4115
|
+
placeholderPagerChromeOnly: boolean;
|
|
4116
|
+
/** Coleções remotas: esconde o selector de tamanho de página (o tamanho vem da metadata/servidor). */
|
|
4117
|
+
suppressPaginationPageSizeSelector: boolean;
|
|
4118
|
+
/** Se `false`, omite colunas com `type: 'actions'` (editar/remover). Por omissão `true`. */
|
|
4119
|
+
showActionsColumn: boolean;
|
|
4120
|
+
/** Se `false`, a coluna de ações não mostra «Alterar». Por omissão `true`. */
|
|
4121
|
+
showEditAction: boolean;
|
|
4122
|
+
/** Tooltip e aria-label do botão de edição na coluna Ações. Omisso ⇒ «Alterar». */
|
|
4123
|
+
editActionLabel: string;
|
|
4124
|
+
/** Ícone Font Awesome do botão editar (ex.: `fa-paper-plane`). Omisso ⇒ `fa-pen-to-square`. */
|
|
4125
|
+
editActionIconClass: string;
|
|
4126
|
+
/** Se `false`, a coluna de ações não mostra «Remover». Por omissão `true`. */
|
|
4127
|
+
showRemoveAction: boolean;
|
|
4128
|
+
/** Se `true`, mostra «Duplicar» na coluna de ações (requer handler no contexto). */
|
|
3789
4129
|
showDuplicateAction: boolean;
|
|
4130
|
+
/** Se `true`, mostra «Imprimir» na coluna de ações (requer handler no contexto). */
|
|
3790
4131
|
showPrintAction: boolean;
|
|
4132
|
+
/** Tooltip e aria-label do botão imprimir na coluna Ações. Omisso ⇒ «Imprimir». */
|
|
3791
4133
|
printActionLabel: string;
|
|
3792
|
-
|
|
3793
|
-
|
|
3794
|
-
|
|
4134
|
+
/**
|
|
4135
|
+
* Se `true`, não emite {@link rowClick} (ex.: coleção com edição só pelos botões da coluna de acções, como na consulta).
|
|
4136
|
+
*/
|
|
4137
|
+
suppressRowClick: boolean;
|
|
4138
|
+
/**
|
|
4139
|
+
* Quando `true`, activa edição inline de células (`editable` + clique único) e permite foco nas células.
|
|
4140
|
+
* Omisso `false` — grelhas de consulta mantêm foco suprimido.
|
|
4141
|
+
*/
|
|
4142
|
+
inlineCellEditing: boolean;
|
|
4143
|
+
/**
|
|
4144
|
+
* Destaca a linha cuja propriedade {@link highlightMatchField} coincide com este valor (ex.: índice no FormArray).
|
|
4145
|
+
* Omisso ou `null`: sem destaque.
|
|
4146
|
+
*/
|
|
4147
|
+
highlightedRowMatch: number | null;
|
|
4148
|
+
/** Campo em {@link rows} a comparar com {@link highlightedRowMatch}. Omisso: `__rowArrayIndex`. */
|
|
4149
|
+
highlightMatchField: string;
|
|
4150
|
+
/**
|
|
4151
|
+
* Chave da tela para persistência de layout (tenant + tela + grid).
|
|
4152
|
+
* Omisso: não persiste nem restaura colunas.
|
|
4153
|
+
*/
|
|
3795
4154
|
layoutTelaKey: string | null;
|
|
3796
4155
|
/** Chave do grid na mesma tela. Omisso: `consulta-principal`. */
|
|
3797
4156
|
layoutGridKey: string;
|
|
4157
|
+
/**
|
|
4158
|
+
* Contexto para preservar scroll/sessão da consulta ao navegar via {@link DataGridColumn.navigate}.
|
|
4159
|
+
*/
|
|
4160
|
+
gridNavigatePreserve: GridNavigatePreserveContext | null;
|
|
4161
|
+
private isApplyingSavedLayout;
|
|
4162
|
+
private savedLayoutApplied;
|
|
4163
|
+
private layoutUserChangeSaveEnabled;
|
|
4164
|
+
/** Impressão digital do columnState já aplicado nesta instância (evita re-apply idêntico). */
|
|
4165
|
+
private appliedLayoutFingerprint;
|
|
4166
|
+
/** Estado em cache lido de forma síncrona antes do gridReady. */
|
|
4167
|
+
private pendingSavedColumnState;
|
|
4168
|
+
private layoutApplyRetryTimer;
|
|
4169
|
+
private layoutApplyRetryAttempts;
|
|
4170
|
+
private layoutCacheUpdatedUnsub;
|
|
4171
|
+
/** Detecta transição bootstrap (só «Ações») → colunas de dados do metadata (F5). */
|
|
4172
|
+
private lastKnownDataColumnCount;
|
|
4173
|
+
/**
|
|
4174
|
+
* Oculta a faixa horizontal do AG Grid durante reflow/remount (cache de rota / revisit de consulta).
|
|
4175
|
+
* O skeleton na 1.ª carga já tapa o viewport; aqui evita flash quando há linhas visíveis.
|
|
4176
|
+
*/
|
|
4177
|
+
suppressHorizontalScrollFlicker: boolean;
|
|
4178
|
+
private layoutStabilizeTimer;
|
|
4179
|
+
private layoutStabilizeRaf;
|
|
4180
|
+
constructor();
|
|
3798
4181
|
readonly edit: EventEmitter<T>;
|
|
3799
4182
|
readonly duplicate: EventEmitter<T>;
|
|
3800
4183
|
readonly print: EventEmitter<T>;
|
|
3801
4184
|
readonly remove: EventEmitter<T>;
|
|
3802
|
-
|
|
3803
|
-
|
|
3804
|
-
|
|
3805
|
-
|
|
3806
|
-
|
|
3807
|
-
|
|
3808
|
-
|
|
4185
|
+
/** Clique na linha de dados (útil para selecção fora da coluna de acções). */
|
|
4186
|
+
readonly rowClick: EventEmitter<T>;
|
|
4187
|
+
/** Reservado para evolução (seleção de linhas); não ligado na v1 para manter a UI minimal. */
|
|
4188
|
+
readonly selectionChange: EventEmitter<T[]>;
|
|
4189
|
+
/** Paginação interna do ag-Grid: mudança de página ou de `pageSize`. */
|
|
4190
|
+
readonly paginationChanged: EventEmitter<DataGridPaginationChangeEvent>;
|
|
4191
|
+
readonly frameworkComponents: {
|
|
4192
|
+
dataGridActions: typeof DataGridActionsCellRendererComponent;
|
|
4193
|
+
dataGridBoolean: typeof DataGridBooleanCellRendererComponent;
|
|
4194
|
+
dataGridMidiaPreview: typeof DataGridMidiaPreviewCellRendererComponent;
|
|
4195
|
+
dataGridNavigation: typeof DataGridNavigationCellRendererComponent;
|
|
4196
|
+
};
|
|
4197
|
+
/** Localização pt-BR do chrome do AG Grid (paginação e rótulos associados). */
|
|
4198
|
+
readonly localeText: {
|
|
4199
|
+
readonly pageSizeSelectorLabel: "Páginas:";
|
|
4200
|
+
readonly ariaPageSizeSelectorLabel: "Páginas";
|
|
4201
|
+
readonly page: "Página";
|
|
4202
|
+
readonly of: "de";
|
|
4203
|
+
readonly to: "a";
|
|
4204
|
+
readonly firstPage: "Primeira página";
|
|
4205
|
+
readonly previousPage: "Página anterior";
|
|
4206
|
+
readonly nextPage: "Próxima página";
|
|
4207
|
+
readonly lastPage: "Última página";
|
|
4208
|
+
readonly pageLastRowUnknown: "?";
|
|
4209
|
+
readonly more: "mais";
|
|
4210
|
+
};
|
|
4211
|
+
readonly paginationPageSizeChoices: number[];
|
|
4212
|
+
/**
|
|
4213
|
+
* O AG Grid avisa se `paginationPageSize` não está em `paginationPageSizeSelector`.
|
|
4214
|
+
* Junta `pageSize` às opções base quando o consumidor usa um valor fora da lista (ex.: 8).
|
|
4215
|
+
*/
|
|
4216
|
+
get effectivePaginationPageSizeSelector(): number[];
|
|
4217
|
+
/** Repasse ao `ag-grid-angular`: `false` omite o selector (documentação AG Grid). */
|
|
4218
|
+
get paginationPageSizeSelectorInput(): number[] | boolean;
|
|
4219
|
+
/**
|
|
4220
|
+
* Skeleton só na carga inicial (lista vazia). Refresh com linhas visíveis mantém a grelha — evita flash com cache.
|
|
4221
|
+
*/
|
|
4222
|
+
get showViewportSkeleton(): boolean;
|
|
4223
|
+
/**
|
|
4224
|
+
* Lista vazia em loading: skeleton tabular completo (cabeçalhos genéricos vazios) sem montar AG Grid.
|
|
4225
|
+
* Evita flash de «Ações» quando colunas de metadata chegam antes dos dados da lista.
|
|
4226
|
+
*/
|
|
4227
|
+
get showFullPlaceholderSkeleton(): boolean;
|
|
4228
|
+
/** AG Grid só após colunas de dados e fim do loading inicial (lista vazia). */
|
|
4229
|
+
get shouldRenderAgGrid(): boolean;
|
|
4230
|
+
/** Cabeçalhos genéricos alinhados ao {@link ConsultaPageLoadingSkeletonComponent}. */
|
|
4231
|
+
readonly placeholderSkeletonHeaders: readonly string[];
|
|
4232
|
+
/** Só esvazia `rowData` durante loading quando ainda não há linhas a mostrar. */
|
|
4233
|
+
private get clearRowDataWhileLoading();
|
|
4234
|
+
/**
|
|
4235
|
+
* Empty state **fora** do AG Grid: o overlay nativo falha na 1.ª carga (skeleton + `suppressNoRowsOverlay` / v35).
|
|
4236
|
+
*/
|
|
4237
|
+
get showManualEmptyState(): boolean;
|
|
4238
|
+
/**
|
|
4239
|
+
* Colunas do skeleton alinhadas à grelha real (incl. filtro `showActionsColumn`).
|
|
4240
|
+
* Evita o mínimo artificial de `2` — com `columns` vazio no primeiro paint isso parecia lista em cartão (card list).
|
|
4241
|
+
*/
|
|
4242
|
+
get skeletonColumnCount(): number;
|
|
4243
|
+
get skeletonRowCount(): number;
|
|
4244
|
+
/** Área entre cabeçalho da grelha e barra de paginação (overlay do skeleton), em px quando {@link hostHeight} é valor `NNpx`. */
|
|
4245
|
+
private estimateSkeletonViewportBodyPx;
|
|
4246
|
+
/** Desactiva animação de reordenação enquanto o layout persistido não foi aplicado. */
|
|
4247
|
+
get suppressColumnMoveAnimation(): boolean;
|
|
4248
|
+
readonly defaultColDef: ColDef<T>;
|
|
4249
|
+
/**
|
|
4250
|
+
* O AG Grid corre muitos callbacks fora da `NgZone`; sem `run()`, o pai com `OnPush`
|
|
4251
|
+
* não volta a renderizar e editar/remover parece “morto”.
|
|
4252
|
+
*/
|
|
4253
|
+
private buildActionsContext;
|
|
4254
|
+
/** Expõe o contexto para `[context]` no template do `ag-grid-angular`. */
|
|
4255
|
+
get actionsContext(): DataGridActionsContext<T>;
|
|
4256
|
+
agColumnDefs: ColDef<T>[];
|
|
3809
4257
|
ngOnInit(): void;
|
|
4258
|
+
/**
|
|
4259
|
+
* IDs estáveis por linha (evita `''` duplicado quando não existe `id` nos dados).
|
|
4260
|
+
* Tenta `id`, depois `sku` (comum em grades de produto), senão impressão digital do objeto.
|
|
4261
|
+
*/
|
|
4262
|
+
readonly getRowId: (params: GetRowIdParams<T>) => string;
|
|
4263
|
+
/** Conteúdo efectivo de `rowData` (evita refresh quando só muda a referência do array). */
|
|
4264
|
+
private computeRowDataFingerprint;
|
|
4265
|
+
/** Identificador determinístico e curto para linhas sem chave explícita. */
|
|
4266
|
+
private stableRowFingerprint;
|
|
3810
4267
|
ngOnChanges(changes: SimpleChanges): void;
|
|
3811
4268
|
ngOnDestroy(): void;
|
|
3812
|
-
|
|
3813
|
-
|
|
3814
|
-
|
|
3815
|
-
|
|
3816
|
-
|
|
3817
|
-
|
|
3818
|
-
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
|
|
3822
|
-
|
|
3823
|
-
|
|
3824
|
-
|
|
3825
|
-
|
|
3826
|
-
|
|
3827
|
-
|
|
3828
|
-
|
|
3829
|
-
|
|
3830
|
-
|
|
4269
|
+
get hostHeight(): string;
|
|
4270
|
+
onGridReady(ev: GridReadyEvent<T>): void;
|
|
4271
|
+
private onGridReadyApplyLayoutThenData;
|
|
4272
|
+
onLayoutColumnMoved(ev: ColumnMovedEvent<T>): void;
|
|
4273
|
+
onLayoutColumnResized(ev: ColumnResizedEvent<T>): void;
|
|
4274
|
+
onLayoutColumnVisible(_ev: ColumnVisibleEvent<T>): void;
|
|
4275
|
+
onLayoutColumnPinned(_ev: ColumnPinnedEvent<T>): void;
|
|
4276
|
+
private hydrateLayoutFromCacheSync;
|
|
4277
|
+
/** Dispara GET em background na 1.ª visita para aquecer cache antes do gridReady. */
|
|
4278
|
+
private prefetchLayoutIfNeeded;
|
|
4279
|
+
private onExternalLayoutCacheUpdated;
|
|
4280
|
+
private tryApplySavedLayout;
|
|
4281
|
+
private countDataColumns;
|
|
4282
|
+
private shouldKeepTryingLayoutApply;
|
|
4283
|
+
/** Só activa gravação automática quando colunas de dados existem (evita sobrescrever layout no F5). */
|
|
4284
|
+
private canEnableLayoutSaveGrace;
|
|
4285
|
+
private cancelLayoutApplyRetry;
|
|
4286
|
+
private scheduleLayoutApplyRetry;
|
|
4287
|
+
private applySavedLayoutBeforeFirstPaint;
|
|
4288
|
+
/** Dois frames após `agColumnDefs` mudar — AG Grid precisa materializar colunas antes de `applyColumnState`. */
|
|
4289
|
+
private yieldForGridColumnDefsSync;
|
|
4290
|
+
/** Colunas de dados existem no input e já estão materializadas na API do AG Grid. */
|
|
4291
|
+
private gridReadyForLayoutApply;
|
|
4292
|
+
private verifyLayoutStateApplied;
|
|
4293
|
+
private applyColumnStateToGrid;
|
|
4294
|
+
private enableLayoutSaveAfterGrace;
|
|
4295
|
+
private persistColumnLayoutIfAllowed;
|
|
4296
|
+
onRowClicked(ev: RowClickedEvent<T>): void;
|
|
4297
|
+
private rowClassForHighlight;
|
|
4298
|
+
private applyRowHighlightClass;
|
|
4299
|
+
private applyInitialPaginationPage;
|
|
4300
|
+
/** Evita `removeEventListener` na API depois do grid destruído. */
|
|
4301
|
+
private detachPaginationListenerIfLive;
|
|
4302
|
+
private setupHorizontalScrollStabilizingObservers;
|
|
4303
|
+
private beginHorizontalScrollStabilizing;
|
|
4304
|
+
private scheduleEndHorizontalScrollStabilizing;
|
|
4305
|
+
private tryFinishHorizontalScrollStabilizing;
|
|
4306
|
+
/**
|
|
4307
|
+
* `true` se o viewport central transborda; `false` se não; `null` se ainda não mensurável (largura 0).
|
|
4308
|
+
*/
|
|
4309
|
+
private centerViewportNeedsHorizontalScroll;
|
|
4310
|
+
private clearLayoutStabilizingTimers;
|
|
4311
|
+
private columnsForGrid;
|
|
4312
|
+
/** Classes BEM em `data-grid.host-theme.scss` para alinhamento declarativo nas colunas. */
|
|
4313
|
+
private static alignmentCellHeaderClasses;
|
|
4314
|
+
/**
|
|
4315
|
+
* Colunas `boolean` com `onBooleanChange` (checkbox na célula).
|
|
4316
|
+
* Reutilizado para {@link suppressCellFocusBinding}.
|
|
4317
|
+
*/
|
|
4318
|
+
private columnsHaveInteractiveBoolean;
|
|
4319
|
+
private handleGridNavigate;
|
|
4320
|
+
private navigationCellRendererParams;
|
|
4321
|
+
/**
|
|
4322
|
+
* Com `suppressCellFocus` activo, o AG Grid pode impedir cliques em checkboxes custom (`type: 'boolean'`).
|
|
4323
|
+
* Desactiva o supresso quando há colunas boolean com `onBooleanChange` ou quando a edição inline está ligada.
|
|
4324
|
+
*/
|
|
4325
|
+
get suppressCellFocusBinding(): boolean;
|
|
4326
|
+
private mapColumnsToColDef;
|
|
4327
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataGridComponent<any>, never>;
|
|
4328
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataGridComponent<any>, "app-data-grid", never, { "rows": { "alias": "rows"; "required": true; }; "columns": { "alias": "columns"; "required": true; }; "pageSize": { "alias": "pageSize"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "initialPaginationPage": { "alias": "initialPaginationPage"; "required": false; }; "height": { "alias": "height"; "required": false; }; "fitPaginationHeight": { "alias": "fitPaginationHeight"; "required": false; }; "fitPaginationMinEmptyRows": { "alias": "fitPaginationMinEmptyRows"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "pagination": { "alias": "pagination"; "required": false; }; "paginationPanelPlacement": { "alias": "paginationPanelPlacement"; "required": false; }; "paginationStripOnly": { "alias": "paginationStripOnly"; "required": false; }; "placeholderPagerChromeOnly": { "alias": "placeholderPagerChromeOnly"; "required": false; }; "suppressPaginationPageSizeSelector": { "alias": "suppressPaginationPageSizeSelector"; "required": false; }; "showActionsColumn": { "alias": "showActionsColumn"; "required": false; }; "showEditAction": { "alias": "showEditAction"; "required": false; }; "editActionLabel": { "alias": "editActionLabel"; "required": false; }; "editActionIconClass": { "alias": "editActionIconClass"; "required": false; }; "showRemoveAction": { "alias": "showRemoveAction"; "required": false; }; "showDuplicateAction": { "alias": "showDuplicateAction"; "required": false; }; "showPrintAction": { "alias": "showPrintAction"; "required": false; }; "printActionLabel": { "alias": "printActionLabel"; "required": false; }; "suppressRowClick": { "alias": "suppressRowClick"; "required": false; }; "inlineCellEditing": { "alias": "inlineCellEditing"; "required": false; }; "highlightedRowMatch": { "alias": "highlightedRowMatch"; "required": false; }; "highlightMatchField": { "alias": "highlightMatchField"; "required": false; }; "layoutTelaKey": { "alias": "layoutTelaKey"; "required": false; }; "layoutGridKey": { "alias": "layoutGridKey"; "required": false; }; "gridNavigatePreserve": { "alias": "gridNavigatePreserve"; "required": false; }; }, { "edit": "edit"; "duplicate": "duplicate"; "print": "print"; "remove": "remove"; "rowClick": "rowClick"; "selectionChange": "selectionChange"; "paginationChanged": "paginationChanged"; }, never, never, true, never>;
|
|
4329
|
+
static ngAcceptInputType_initialPaginationPage: unknown;
|
|
4330
|
+
static ngAcceptInputType_fitPaginationHeight: unknown;
|
|
4331
|
+
static ngAcceptInputType_fitPaginationMinEmptyRows: unknown;
|
|
4332
|
+
static ngAcceptInputType_paginationStripOnly: unknown;
|
|
4333
|
+
static ngAcceptInputType_placeholderPagerChromeOnly: unknown;
|
|
4334
|
+
static ngAcceptInputType_suppressPaginationPageSizeSelector: unknown;
|
|
3831
4335
|
static ngAcceptInputType_showEditAction: unknown;
|
|
3832
4336
|
static ngAcceptInputType_showRemoveAction: unknown;
|
|
3833
|
-
|
|
4337
|
+
static ngAcceptInputType_showDuplicateAction: unknown;
|
|
4338
|
+
static ngAcceptInputType_showPrintAction: unknown;
|
|
4339
|
+
static ngAcceptInputType_suppressRowClick: unknown;
|
|
4340
|
+
static ngAcceptInputType_inlineCellEditing: unknown;
|
|
4341
|
+
}
|
|
3834
4342
|
|
|
3835
|
-
|
|
3836
|
-
|
|
3837
|
-
|
|
4343
|
+
/** Barra de consulta: pesquisa, filtros, ações e contador (slots `toolbar-start` / `toolbar-end`). */
|
|
4344
|
+
declare class DataToolbarComponent {
|
|
4345
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataToolbarComponent, never>;
|
|
4346
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataToolbarComponent, "app-data-toolbar", never, {}, {}, never, ["[toolbar-start]", "[toolbar-end]"], true, never>;
|
|
4347
|
+
}
|
|
4348
|
+
|
|
4349
|
+
/** Navegação declarativa num cartão (metadata `[GridNavigate]` da coluna da grelha). */
|
|
4350
|
+
interface CardItemNavigateAction {
|
|
4351
|
+
/** Chave da coluna/campo associado (ex.: `osCodigo`). */
|
|
4352
|
+
fieldKey: string;
|
|
4353
|
+
navigate: GridNavigateConfig;
|
|
4354
|
+
}
|
|
4355
|
+
/** Campo extra no cartão (renderização rica). */
|
|
4356
|
+
interface CardItemBooleanField {
|
|
4357
|
+
type: 'boolean';
|
|
4358
|
+
/** Chave do campo na linha da coleção (ex.: `principal`). */
|
|
4359
|
+
fieldKey: string;
|
|
4360
|
+
label: string;
|
|
4361
|
+
checked: boolean;
|
|
4362
|
+
/** Quando `true`, exibe checkbox desabilitado (ex.: coleção só-leitura). */
|
|
4363
|
+
readOnly?: boolean;
|
|
4364
|
+
}
|
|
4365
|
+
type CardItemMetaField = CardItemBooleanField;
|
|
4366
|
+
/** Vista mapeada por item para {@link CardListComponent}. */
|
|
4367
|
+
interface CardItemView {
|
|
3838
4368
|
title: string;
|
|
3839
4369
|
subtitle?: string;
|
|
3840
|
-
/**
|
|
4370
|
+
/** Texto curto para o avatar (ex.: iniciais). */
|
|
3841
4371
|
avatarText?: string;
|
|
3842
|
-
/**
|
|
4372
|
+
/** URL da miniatura (campo de mídia / imagem na coleção só-leitura). */
|
|
3843
4373
|
imageUrl?: string;
|
|
3844
|
-
/** Campos
|
|
4374
|
+
/** Campos booleanos e outros metadados (ex.: «Principal» com checkbox). */
|
|
3845
4375
|
metaFields?: readonly CardItemMetaField[];
|
|
3846
|
-
|
|
3847
|
-
|
|
3848
|
-
|
|
4376
|
+
/** Botões de navegação derivados de colunas com `[GridNavigate]`. */
|
|
4377
|
+
navigateActions?: readonly CardItemNavigateAction[];
|
|
4378
|
+
}
|
|
4379
|
+
type CardListMapFn<T> = (item: T) => CardItemView;
|
|
4380
|
+
|
|
4381
|
+
/**
|
|
4382
|
+
* - **memory**: `items` tem a lista completa (ex.: 500 em memória); só se mostram
|
|
4383
|
+
* `scrollBatchSize` de cada vez até o usuário fazer scroll (fatia local).
|
|
4384
|
+
* - **remote**: `items` são só as linhas já devolvidas pela API; ao fim do scroll
|
|
4385
|
+
* emite `loadMore` para pedir a próxima página (SQL OFFSET/FETCH no backend).
|
|
4386
|
+
*/
|
|
4387
|
+
type CardListDataMode = 'memory' | 'remote';
|
|
4388
|
+
/** Barra «X de Y» na lista: `footer` (omissão), `header` (no topo) ou `hidden`. */
|
|
4389
|
+
type CardListHeaderPosition = 'footer' | 'header' | 'hidden';
|
|
4390
|
+
declare class CardListComponent<T = unknown> implements OnChanges, AfterViewInit {
|
|
4391
|
+
private readonly cdr;
|
|
4392
|
+
private readonly destroyRef;
|
|
4393
|
+
private scrollAreaRef?;
|
|
4394
|
+
private scrollSentinelRef?;
|
|
4395
|
+
private pageScrollObserver;
|
|
4396
|
+
private scrollAreaResizeObserver;
|
|
4397
|
+
items: T[];
|
|
4398
|
+
loading: boolean;
|
|
4399
|
+
/**
|
|
4400
|
+
* Com itens já visíveis: mostra **um** skeleton no fundo (próxima página remota)
|
|
4401
|
+
* para não saltar o scroll nem ocupar altura de vários cartões. O carregamento inicial
|
|
4402
|
+
* continua a usar só {@link loading} (lista vazia ou refresh completo com `loading` e sem `loadingMore`).
|
|
4403
|
+
*/
|
|
4404
|
+
loadingMore: boolean;
|
|
4405
|
+
emptyMessage: string;
|
|
3849
4406
|
variant: 'default';
|
|
3850
|
-
|
|
3851
|
-
|
|
4407
|
+
mapItem: CardListMapFn<T>;
|
|
4408
|
+
showItemActions: boolean;
|
|
4409
|
+
/** Repasse ao `app-data-card`: botão «Alterar» quando {@link showItemActions} é `true`. */
|
|
3852
4410
|
showEditAction: boolean;
|
|
3853
4411
|
editActionLabel: string;
|
|
3854
4412
|
editActionIconClass: string;
|
|
3855
|
-
/**
|
|
4413
|
+
/** Repasse ao `app-data-card`: botão «Remover» quando {@link showItemActions} é `true`. */
|
|
3856
4414
|
showRemoveAction: boolean;
|
|
3857
|
-
/**
|
|
3858
|
-
|
|
4415
|
+
/** Repasse ao `app-data-card`: clique no cartão emite `edit` (exceto nos botões). */
|
|
4416
|
+
cardOpenOnClick: boolean;
|
|
4417
|
+
trackByProp: keyof T | string;
|
|
4418
|
+
dataMode: CardListDataMode;
|
|
4419
|
+
/** Em modo `memory`: quantos itens revelar por cada passo de scroll. Por omissão `10`. */
|
|
4420
|
+
scrollBatchSize: number;
|
|
4421
|
+
scrollLoadThresholdPx: number;
|
|
4422
|
+
/** Mostra o rodapé com o resumo (“X de Y”) e dica. Por omissão `true`; com `false` oculta o footer. */
|
|
4423
|
+
showFooter: boolean;
|
|
3859
4424
|
/**
|
|
3860
|
-
*
|
|
4425
|
+
* Posição da barra de contagem. Com `header` ou `hidden`, a área de scroll expande à altura útil do pai
|
|
4426
|
+
* ({@link scrollMaxHeight} é ignorado quando o pai é um flex column com altura definida).
|
|
3861
4427
|
*/
|
|
3862
|
-
|
|
3863
|
-
|
|
3864
|
-
|
|
4428
|
+
headerPosition: CardListHeaderPosition;
|
|
4429
|
+
scrollMaxHeight: string | null;
|
|
4430
|
+
/**
|
|
4431
|
+
* Quantidade de cartões por linha na grelha (≥ 1). Valores inválidos ou excessivos são normalizados.
|
|
4432
|
+
* Por omissão `1` (pilha vertical — comportamento anterior).
|
|
4433
|
+
*/
|
|
4434
|
+
cardsPerRow: number;
|
|
4435
|
+
/** Preservação de scroll/sessão ao navegar via `[GridNavigate]` nos cartões. */
|
|
4436
|
+
gridNavigatePreserve: GridNavigatePreserveContext | null;
|
|
4437
|
+
/**
|
|
4438
|
+
* Modo **remote**: total de registros no servidor (ex.: COUNT SQL), para o texto “X de Y”.
|
|
4439
|
+
* Se `null`, usa `items.length`.
|
|
4440
|
+
*/
|
|
4441
|
+
totalCountRemote: number | null;
|
|
4442
|
+
/** Modo **remote**: existe página seguinte para pedir ao backend. */
|
|
4443
|
+
hasNextPage: boolean;
|
|
4444
|
+
/** Modo **remote**: pedido de mais dados (próxima página). */
|
|
4445
|
+
readonly loadMore: EventEmitter<void>;
|
|
4446
|
+
readonly edit: EventEmitter<T>;
|
|
4447
|
+
readonly remove: EventEmitter<T>;
|
|
3865
4448
|
readonly booleanFieldChange: EventEmitter<{
|
|
4449
|
+
item: T;
|
|
3866
4450
|
fieldKey: string;
|
|
3867
4451
|
checked: boolean;
|
|
3868
4452
|
}>;
|
|
3869
|
-
|
|
3870
|
-
|
|
3871
|
-
|
|
3872
|
-
|
|
3873
|
-
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
|
-
|
|
4453
|
+
get hostFillHeight(): boolean;
|
|
4454
|
+
/** Modo memory: quantos cartões renderizar (fatia inicial = scrollBatchSize). */
|
|
4455
|
+
visibleCount: number;
|
|
4456
|
+
private loadMorePending;
|
|
4457
|
+
/** Skeleton que ocupa a lista inteira (carregamento inicial / refresh com `loading`). */
|
|
4458
|
+
get showFullSkeleton(): boolean;
|
|
4459
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
4460
|
+
ngAfterViewInit(): void;
|
|
4461
|
+
get totalItemCount(): number;
|
|
4462
|
+
/** Total para o rodapé “X de Y”. */
|
|
4463
|
+
get totalForStatus(): number;
|
|
4464
|
+
get visibleItems(): T[];
|
|
4465
|
+
get scrollStatusLabel(): string;
|
|
4466
|
+
/** Colunas efectivas para CSS (`repeat(n, minmax(0,1fr))`), entre 1 e 12. */
|
|
4467
|
+
get effectiveCardsPerRow(): number;
|
|
4468
|
+
/** Lista expande em altura no container (sem `max-height`) quando a barra vai ao topo ou fica oculta. */
|
|
4469
|
+
get scrollFillParent(): boolean;
|
|
4470
|
+
get showResultBar(): boolean;
|
|
4471
|
+
get scrollAreaStyle(): Record<string, string>;
|
|
4472
|
+
/** Há mais linhas para mostrar (memória) ou para pedir à API (remote). */
|
|
4473
|
+
get hasMoreToReveal(): boolean;
|
|
4474
|
+
viewFor(item: T): CardItemView;
|
|
4475
|
+
onCardBooleanFieldChange(item: T, ev: {
|
|
4476
|
+
fieldKey: string;
|
|
4477
|
+
checked: boolean;
|
|
4478
|
+
}): void;
|
|
4479
|
+
/** Poucos placeholders no carregamento inicial evitam barra de scroll temporária antes dos dados reais. */
|
|
4480
|
+
skeletonCardIndices(): number[];
|
|
4481
|
+
/** Um único cartão skeleton no fundo durante `loadingMore` (mantém o scroll estável). */
|
|
4482
|
+
skeletonTailIndices(): number[];
|
|
4483
|
+
hideEditActionForItem(item: T): boolean;
|
|
4484
|
+
rowForItem(item: T): Record<string, unknown>;
|
|
4485
|
+
trackFn: (index: number, item: T) => unknown;
|
|
4486
|
+
onScroll(ev: Event): void;
|
|
4487
|
+
/**
|
|
4488
|
+
* Quando a área interna não rola (ex.: mobile consulta com scroll na página),
|
|
4489
|
+
* `onScroll` não dispara — IntersectionObserver no sentinel observa o viewport.
|
|
4490
|
+
*/
|
|
4491
|
+
private revealMoreOnScrollTrigger;
|
|
4492
|
+
private schedulePageScrollObserverRefresh;
|
|
4493
|
+
private setupScrollAreaResizeObserver;
|
|
4494
|
+
private teardownScrollAreaResizeObserver;
|
|
4495
|
+
private refreshPageScrollObserver;
|
|
4496
|
+
private teardownPageScrollObserver;
|
|
4497
|
+
/** Área `.card-list__scroll` com overflow activo e conteúdo maior que o viewport interno. */
|
|
4498
|
+
private isScrollAreaScrollable;
|
|
4499
|
+
private requestRemotePage;
|
|
4500
|
+
private loadMoreMemoryChunk;
|
|
4501
|
+
private resetVisibleWindow;
|
|
4502
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CardListComponent<any>, never>;
|
|
4503
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CardListComponent<any>, "app-card-list", never, { "items": { "alias": "items"; "required": true; }; "loading": { "alias": "loading"; "required": false; }; "loadingMore": { "alias": "loadingMore"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "mapItem": { "alias": "mapItem"; "required": true; }; "showItemActions": { "alias": "showItemActions"; "required": false; }; "showEditAction": { "alias": "showEditAction"; "required": false; }; "editActionLabel": { "alias": "editActionLabel"; "required": false; }; "editActionIconClass": { "alias": "editActionIconClass"; "required": false; }; "showRemoveAction": { "alias": "showRemoveAction"; "required": false; }; "cardOpenOnClick": { "alias": "cardOpenOnClick"; "required": false; }; "trackByProp": { "alias": "trackByProp"; "required": false; }; "dataMode": { "alias": "dataMode"; "required": false; }; "scrollBatchSize": { "alias": "scrollBatchSize"; "required": false; }; "scrollLoadThresholdPx": { "alias": "scrollLoadThresholdPx"; "required": false; }; "showFooter": { "alias": "showFooter"; "required": false; }; "headerPosition": { "alias": "headerPosition"; "required": false; }; "scrollMaxHeight": { "alias": "scrollMaxHeight"; "required": false; }; "cardsPerRow": { "alias": "cardsPerRow"; "required": false; }; "gridNavigatePreserve": { "alias": "gridNavigatePreserve"; "required": false; }; "totalCountRemote": { "alias": "totalCountRemote"; "required": false; }; "hasNextPage": { "alias": "hasNextPage"; "required": false; }; }, { "loadMore": "loadMore"; "edit": "edit"; "remove": "remove"; "booleanFieldChange": "booleanFieldChange"; }, never, never, true, never>;
|
|
4504
|
+
static ngAcceptInputType_loadingMore: unknown;
|
|
3877
4505
|
static ngAcceptInputType_showEditAction: unknown;
|
|
3878
4506
|
static ngAcceptInputType_showRemoveAction: unknown;
|
|
3879
|
-
static
|
|
3880
|
-
static
|
|
3881
|
-
}
|
|
3882
|
-
|
|
3883
|
-
declare class EmptyStateComponent {
|
|
3884
|
-
message: string;
|
|
3885
|
-
description?: string;
|
|
3886
|
-
/** Classe Font Awesome do ícone (ex.: `fa-solid fa-inbox`). */
|
|
3887
|
-
iconClass: string;
|
|
3888
|
-
variant: 'default';
|
|
3889
|
-
/** Padding reduzido (ex.: células de tabela, listas densas). */
|
|
3890
|
-
embed: boolean;
|
|
3891
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmptyStateComponent, never>;
|
|
3892
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EmptyStateComponent, "app-empty-state", never, { "message": { "alias": "message"; "required": true; }; "description": { "alias": "description"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "embed": { "alias": "embed"; "required": false; }; }, {}, never, never, true, never>;
|
|
3893
|
-
static ngAcceptInputType_embed: unknown;
|
|
3894
|
-
}
|
|
3895
|
-
|
|
3896
|
-
type ConsoleLogLevel = 'debug' | 'info' | 'success' | 'warning' | 'error';
|
|
3897
|
-
interface ConsoleLogLine {
|
|
3898
|
-
timestamp?: Date | string | null;
|
|
3899
|
-
nivel?: ConsoleLogLevel | string | null;
|
|
3900
|
-
level?: ConsoleLogLevel | string | null;
|
|
3901
|
-
etapa?: string | null;
|
|
3902
|
-
step?: string | null;
|
|
3903
|
-
mensagem?: string | null;
|
|
3904
|
-
message?: string | null;
|
|
3905
|
-
}
|
|
3906
|
-
|
|
3907
|
-
/**
|
|
3908
|
-
* Console estilo terminal: texto simples (`text`) ou linhas estruturadas (`lines`) com cores por nível.
|
|
3909
|
-
*/
|
|
3910
|
-
declare class ConsoleLogComponent implements AfterViewChecked {
|
|
3911
|
-
readonly text: _angular_core.InputSignal<string>;
|
|
3912
|
-
readonly lines: _angular_core.InputSignal<readonly ConsoleLogLine[]>;
|
|
3913
|
-
/** Preenche altura disponível do pai flex (ex.: modal com `[scrollBodyOnly]`). */
|
|
3914
|
-
readonly fill: _angular_core.InputSignal<boolean>;
|
|
3915
|
-
readonly useStructuredLines: _angular_core.Signal<boolean>;
|
|
3916
|
-
readonly lineViews: _angular_core.Signal<structra_ui.ConsoleLogLineView[]>;
|
|
3917
|
-
private readonly viewport;
|
|
3918
|
-
private lastScrollRevision;
|
|
3919
|
-
private readonly scrollRevision;
|
|
3920
|
-
constructor();
|
|
3921
|
-
ngAfterViewChecked(): void;
|
|
3922
|
-
private scheduleScrollToTail;
|
|
3923
|
-
private scrollToTail;
|
|
3924
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConsoleLogComponent, never>;
|
|
3925
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConsoleLogComponent, "app-console-log", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; "lines": { "alias": "lines"; "required": false; "isSignal": true; }; "fill": { "alias": "fill"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
3926
|
-
}
|
|
3927
|
-
|
|
3928
|
-
interface ConsoleLogLineView {
|
|
3929
|
-
levelClass: string;
|
|
3930
|
-
timeLabel: string;
|
|
3931
|
-
levelLabel: string;
|
|
3932
|
-
stepLabel: string;
|
|
3933
|
-
message: string;
|
|
3934
|
-
}
|
|
3935
|
-
declare function normalizeConsoleLogLevel(value: ConsoleLogLevel | string | null | undefined): ConsoleLogLevel;
|
|
3936
|
-
declare function consoleLogLevelClass(value: ConsoleLogLevel | string | null | undefined): string;
|
|
3937
|
-
declare function toConsoleLogLineView(line: ConsoleLogLine): ConsoleLogLineView;
|
|
3938
|
-
declare function toConsoleLogLineViews(lines: readonly ConsoleLogLine[] | null | undefined): ConsoleLogLineView[];
|
|
3939
|
-
|
|
3940
|
-
/**
|
|
3941
|
-
* HTML injetado no AG Grid (`overlayNoRowsTemplate`) — manter alinhado ao markup de {@link EmptyStateComponent}.
|
|
3942
|
-
*/
|
|
3943
|
-
declare function escapeHtml(text: string): string;
|
|
3944
|
-
declare function buildEmptyStateOverlayHtml(message: string): string;
|
|
3945
|
-
|
|
3946
|
-
/** Variantes visuais do `app-status-badge` (cores semânticas da lib). */
|
|
3947
|
-
type StatusBadgeVariant = 'success' | 'error' | 'warning' | 'info' | 'neutral';
|
|
3948
|
-
/** Tamanho do `app-status-badge`. */
|
|
3949
|
-
type StatusBadgeSize = 'sm' | 'md';
|
|
3950
|
-
/** Linha chave → valor para `app-details-view` (modo lista). */
|
|
3951
|
-
interface DetailsViewItem {
|
|
3952
|
-
label: string;
|
|
3953
|
-
value?: string | null;
|
|
3954
|
-
}
|
|
3955
|
-
/** Tom da variação opcional no `app-stat-card` (ex.: +12% vs mês anterior). */
|
|
3956
|
-
type StatCardDeltaTone = 'positive' | 'negative' | 'neutral';
|
|
3957
|
-
|
|
3958
|
-
/**
|
|
3959
|
-
* Etiqueta de estado (Ativo, Pendente, etc.) com fundo suave e cor semântica.
|
|
3960
|
-
*/
|
|
3961
|
-
declare class StatusBadgeComponent {
|
|
3962
|
-
label: string;
|
|
3963
|
-
variant: StatusBadgeVariant;
|
|
3964
|
-
/** Classes Font Awesome (ex.: `fa-solid fa-check`). */
|
|
3965
|
-
icon: string;
|
|
3966
|
-
size: StatusBadgeSize;
|
|
3967
|
-
bordered: boolean;
|
|
3968
|
-
readonly variantClassMap: Record<StatusBadgeVariant, string>;
|
|
3969
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StatusBadgeComponent, never>;
|
|
3970
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StatusBadgeComponent, "app-status-badge", never, { "label": { "alias": "label"; "required": true; }; "variant": { "alias": "variant"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "size": { "alias": "size"; "required": false; }; "bordered": { "alias": "bordered"; "required": false; }; }, {}, never, never, true, never>;
|
|
3971
|
-
static ngAcceptInputType_bordered: unknown;
|
|
4507
|
+
static ngAcceptInputType_cardOpenOnClick: unknown;
|
|
4508
|
+
static ngAcceptInputType_cardsPerRow: unknown;
|
|
3972
4509
|
}
|
|
3973
4510
|
|
|
4511
|
+
/** Limite de largura para tratar como “mobile” na escolha grid vs card (igual aos campos). */
|
|
4512
|
+
declare const ADAPTIVE_DATA_VIEW_MOBILE_QUERY = "(max-width: 767.98px)";
|
|
4513
|
+
type AdaptiveDataViewMode = 'grid' | 'card';
|
|
3974
4514
|
/**
|
|
3975
|
-
*
|
|
3976
|
-
*
|
|
4515
|
+
* Escolhe **um** de `app-data-grid` ou `app-card-list` conforme breakpoint e preferências.
|
|
4516
|
+
* Nunca renderiza os dois em simultâneo.
|
|
3977
4517
|
*/
|
|
3978
|
-
declare class
|
|
3979
|
-
|
|
3980
|
-
|
|
3981
|
-
|
|
3982
|
-
|
|
4518
|
+
declare class AdaptiveDataViewComponent<T = unknown> implements OnInit, OnChanges, OnDestroy {
|
|
4519
|
+
private readonly bp;
|
|
4520
|
+
private readonly cdr;
|
|
4521
|
+
private readonly destroyRef;
|
|
4522
|
+
/** Tempo mínimo em skeleton ao iniciar um carregamento (grid ou cartões), para evitar flick com respostas instantâneas. */
|
|
4523
|
+
private clearSkeletonDelayTimer;
|
|
4524
|
+
/** Momento em que {@link displayLoading} passou a `true` no ciclo actual. */
|
|
4525
|
+
private loadingShownAtMs;
|
|
4526
|
+
items: T[];
|
|
4527
|
+
gridColumns: DataGridColumn<T>[];
|
|
4528
|
+
mapItem: CardListMapFn<T>;
|
|
4529
|
+
pageSize: number;
|
|
4530
|
+
/** Altura do `app-data-grid` (`[height]`). Independente de {@link cardScrollMaxHeight}. */
|
|
4531
|
+
gridHeight: string | null;
|
|
4532
|
+
/**
|
|
4533
|
+
* Altura máx. com scroll do `app-card-list`. Configuração **separada** de {@link gridHeight}.
|
|
4534
|
+
* Com {@link gridFitPaginationHeight}, a grelha ignora `gridHeight` e calcula pela paginação.
|
|
4535
|
+
*/
|
|
4536
|
+
cardScrollMaxHeight: string | null;
|
|
4537
|
+
gridFitPaginationHeight: boolean;
|
|
4538
|
+
/** Repassado ao `app-data-grid` quando {@link gridFitPaginationHeight} está activo (lista vazia). */
|
|
4539
|
+
gridFitPaginationMinEmptyRows: number;
|
|
4540
|
+
emptyMessageGrid: string;
|
|
4541
|
+
emptyMessageCard: string;
|
|
4542
|
+
pagination: boolean;
|
|
4543
|
+
showActionsColumn: boolean;
|
|
4544
|
+
showCardItemActions: boolean;
|
|
4545
|
+
/** Tooltip/aria do botão de abrir registo na coluna Ações ou no cartão. Omisso ⇒ «Alterar». */
|
|
4546
|
+
editActionLabel: string;
|
|
4547
|
+
/** Ícone Font Awesome do botão editar (ex.: `fa-paper-plane`). Omisso ⇒ `fa-pen-to-square`. */
|
|
4548
|
+
editActionIconClass: string;
|
|
4549
|
+
/** Lista em cartões: clique no cartão dispara `edit` (como «Alterar»); botões mantêm-se independentes. */
|
|
4550
|
+
cardOpenOnClick: boolean;
|
|
4551
|
+
scrollBatchSize: number;
|
|
4552
|
+
showCardFooter: boolean;
|
|
4553
|
+
/**
|
|
4554
|
+
* Lista em cartões: posição da barra «X de Y». `footer` (omissão), `header` ou `hidden`.
|
|
4555
|
+
* Com `header` ou `hidden`, {@link cardScrollMaxHeight} é ignorado e a lista tenta ocupar a altura do pai em flex.
|
|
4556
|
+
*/
|
|
4557
|
+
headerPosition: CardListHeaderPosition;
|
|
4558
|
+
/**
|
|
4559
|
+
* Lista em cartões: colunas da grelha (cartões por linha); repassado ao `app-card-list`.
|
|
4560
|
+
* Por omissão `1`; na vista em grelha AG (`desktopView`/`mobileView` = `grid`) não tem efeito.
|
|
4561
|
+
*/
|
|
4562
|
+
cardsPerRow: number;
|
|
4563
|
+
/** Estado de carregamento reposto no grid ou na lista conforme a vista ativa. */
|
|
4564
|
+
loading: boolean;
|
|
4565
|
+
/**
|
|
4566
|
+
* Duração mínima (ms) em que o skeleton permanece visível após cada vez que `loading` fica `true`,
|
|
4567
|
+
* mesmo que os dados cheguem antes. `0` desactiva o atraso.
|
|
4568
|
+
*/
|
|
4569
|
+
loadingSkeletonMinMs: number;
|
|
4570
|
+
/**
|
|
4571
|
+
* Skeleton placeholder da grelha: faixa de paginação só com chrome (sem «0 a 0 de 0»).
|
|
4572
|
+
* Repasse ao `app-data-grid` — activar só no arranque antes do metadata/lista.
|
|
4573
|
+
*/
|
|
4574
|
+
gridPlaceholderPagerChromeOnly: boolean;
|
|
4575
|
+
/**
|
|
4576
|
+
* Mostra uma linha de contagem **abaixo** da grade ou da lista (incluindo paginação interna).
|
|
4577
|
+
* Texto padrão em português; use `{count}` como marcador do número de linhas em `items`.
|
|
4578
|
+
*/
|
|
4579
|
+
showResultCount: boolean;
|
|
4580
|
+
resultCountTemplate: string;
|
|
4581
|
+
/** Vista quando `ADAPTIVE_DATA_VIEW_MOBILE_QUERY` corresponde. Por padrão `card`. */
|
|
4582
|
+
mobileView: AdaptiveDataViewMode;
|
|
4583
|
+
/** Vista quando a tela é maior. Por padrão `grid`. */
|
|
4584
|
+
desktopView: AdaptiveDataViewMode;
|
|
4585
|
+
showDuplicateAction: boolean;
|
|
4586
|
+
showPrintAction: boolean;
|
|
4587
|
+
printActionLabel: string;
|
|
4588
|
+
showEditAction: boolean;
|
|
4589
|
+
showRemoveAction: boolean;
|
|
4590
|
+
/** Chave da tela para persistência de layout AG Grid (repasse ao `app-data-grid`). */
|
|
4591
|
+
layoutTelaKey: string | null;
|
|
4592
|
+
/** Chave do grid na mesma tela. Omisso: `consulta-principal`. */
|
|
4593
|
+
layoutGridKey: string;
|
|
4594
|
+
/** Preservação de scroll/sessão ao navegar via `[GridNavigate]` na grelha. */
|
|
4595
|
+
gridNavigatePreserve: GridNavigatePreserveContext | null;
|
|
4596
|
+
readonly edit: EventEmitter<T>;
|
|
4597
|
+
readonly duplicate: EventEmitter<T>;
|
|
4598
|
+
readonly print: EventEmitter<T>;
|
|
4599
|
+
readonly remove: EventEmitter<T>;
|
|
4600
|
+
readonly loadMore: EventEmitter<void>;
|
|
4601
|
+
/** Corresponde ao breakpoint mobile. */
|
|
4602
|
+
isMobileLayout: boolean;
|
|
4603
|
+
/** Valor efectivo reposto ao grid / lista (respeita {@link loadingSkeletonMinMs}). */
|
|
4604
|
+
displayLoading: boolean;
|
|
4605
|
+
/** Skeleton só quando `loading` e a lista ainda está vazia (cache / refresh mantém dados visíveis). */
|
|
4606
|
+
private shouldShowLoadingSkeleton;
|
|
4607
|
+
ngOnInit(): void;
|
|
4608
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
4609
|
+
ngOnDestroy(): void;
|
|
4610
|
+
/** Quando o pai pede `loading === false`, só oculta o skeleton após cumprir o tempo mínimo desde `loading === true`. */
|
|
4611
|
+
private applyLoadingFalseWithMinSkeleton;
|
|
4612
|
+
get effectiveKind(): AdaptiveDataViewMode;
|
|
4613
|
+
get showGrid(): boolean;
|
|
4614
|
+
get showCard(): boolean;
|
|
4615
|
+
/** Modo cartão com lista a expandir em altura (sem `max-height` na área de scroll). */
|
|
4616
|
+
get cardScrollFillsParent(): boolean;
|
|
4617
|
+
/** Repasse ao `app-card-list`: mantém `cardScrollMaxHeight` só quando a lista não preenche o pai. */
|
|
4618
|
+
get effectiveCardScrollMaxHeight(): string | null;
|
|
4619
|
+
get resultCountDisplay(): string;
|
|
4620
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AdaptiveDataViewComponent<any>, never>;
|
|
4621
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AdaptiveDataViewComponent<any>, "app-adaptive-data-view", never, { "items": { "alias": "items"; "required": true; }; "gridColumns": { "alias": "gridColumns"; "required": true; }; "mapItem": { "alias": "mapItem"; "required": true; }; "pageSize": { "alias": "pageSize"; "required": false; }; "gridHeight": { "alias": "gridHeight"; "required": false; }; "cardScrollMaxHeight": { "alias": "cardScrollMaxHeight"; "required": false; }; "gridFitPaginationHeight": { "alias": "gridFitPaginationHeight"; "required": false; }; "gridFitPaginationMinEmptyRows": { "alias": "gridFitPaginationMinEmptyRows"; "required": false; }; "emptyMessageGrid": { "alias": "emptyMessageGrid"; "required": false; }; "emptyMessageCard": { "alias": "emptyMessageCard"; "required": false; }; "pagination": { "alias": "pagination"; "required": false; }; "showActionsColumn": { "alias": "showActionsColumn"; "required": false; }; "showCardItemActions": { "alias": "showCardItemActions"; "required": false; }; "editActionLabel": { "alias": "editActionLabel"; "required": false; }; "editActionIconClass": { "alias": "editActionIconClass"; "required": false; }; "cardOpenOnClick": { "alias": "cardOpenOnClick"; "required": false; }; "scrollBatchSize": { "alias": "scrollBatchSize"; "required": false; }; "showCardFooter": { "alias": "showCardFooter"; "required": false; }; "headerPosition": { "alias": "headerPosition"; "required": false; }; "cardsPerRow": { "alias": "cardsPerRow"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "loadingSkeletonMinMs": { "alias": "loadingSkeletonMinMs"; "required": false; }; "gridPlaceholderPagerChromeOnly": { "alias": "gridPlaceholderPagerChromeOnly"; "required": false; }; "showResultCount": { "alias": "showResultCount"; "required": false; }; "resultCountTemplate": { "alias": "resultCountTemplate"; "required": false; }; "mobileView": { "alias": "mobileView"; "required": false; }; "desktopView": { "alias": "desktopView"; "required": false; }; "showDuplicateAction": { "alias": "showDuplicateAction"; "required": false; }; "showPrintAction": { "alias": "showPrintAction"; "required": false; }; "printActionLabel": { "alias": "printActionLabel"; "required": false; }; "showEditAction": { "alias": "showEditAction"; "required": false; }; "showRemoveAction": { "alias": "showRemoveAction"; "required": false; }; "layoutTelaKey": { "alias": "layoutTelaKey"; "required": false; }; "layoutGridKey": { "alias": "layoutGridKey"; "required": false; }; "gridNavigatePreserve": { "alias": "gridNavigatePreserve"; "required": false; }; }, { "edit": "edit"; "duplicate": "duplicate"; "print": "print"; "remove": "remove"; "loadMore": "loadMore"; }, never, never, true, never>;
|
|
4622
|
+
static ngAcceptInputType_gridFitPaginationHeight: unknown;
|
|
4623
|
+
static ngAcceptInputType_gridFitPaginationMinEmptyRows: unknown;
|
|
4624
|
+
static ngAcceptInputType_cardOpenOnClick: unknown;
|
|
4625
|
+
static ngAcceptInputType_cardsPerRow: unknown;
|
|
4626
|
+
static ngAcceptInputType_loadingSkeletonMinMs: unknown;
|
|
4627
|
+
static ngAcceptInputType_gridPlaceholderPagerChromeOnly: unknown;
|
|
4628
|
+
static ngAcceptInputType_showDuplicateAction: unknown;
|
|
4629
|
+
static ngAcceptInputType_showPrintAction: unknown;
|
|
4630
|
+
static ngAcceptInputType_showEditAction: unknown;
|
|
4631
|
+
static ngAcceptInputType_showRemoveAction: unknown;
|
|
4632
|
+
}
|
|
4633
|
+
|
|
4634
|
+
declare class DataCardComponent implements OnChanges {
|
|
4635
|
+
private readonly publicBase;
|
|
4636
|
+
private readonly cdr;
|
|
4637
|
+
private readonly router;
|
|
4638
|
+
private readonly routeAccess;
|
|
4639
|
+
title: string;
|
|
4640
|
+
subtitle?: string;
|
|
4641
|
+
/** 1–2 caracteres para o círculo de iniciais. */
|
|
4642
|
+
avatarText?: string;
|
|
4643
|
+
/** Miniatura (ex.: foto do item em coleção só-leitura). */
|
|
4644
|
+
imageUrl?: string;
|
|
4645
|
+
/** Campos extras (ex.: checkbox só leitura para boolean). */
|
|
4646
|
+
metaFields?: readonly CardItemMetaField[];
|
|
4647
|
+
/** Linha de origem para navegação declarativa (`[GridNavigate]`). */
|
|
4648
|
+
row?: Record<string, unknown>;
|
|
4649
|
+
/** Ações de navegação derivadas das colunas da grelha. */
|
|
4650
|
+
navigateActions?: readonly CardItemNavigateAction[];
|
|
4651
|
+
/** Preservação de scroll/sessão ao navegar (consulta de origem). */
|
|
4652
|
+
gridNavigatePreserve: GridNavigatePreserveContext | null;
|
|
4653
|
+
protected thumbBroken: boolean;
|
|
4654
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
4655
|
+
protected get displayImageUrl(): string;
|
|
4656
|
+
variant: 'default';
|
|
4657
|
+
showActions: boolean;
|
|
4658
|
+
/** Omisso / `true`: mostra o botão «Alterar» quando {@link showActions} é `true`. */
|
|
4659
|
+
showEditAction: boolean;
|
|
4660
|
+
editActionLabel: string;
|
|
4661
|
+
editActionIconClass: string;
|
|
4662
|
+
/** Omisso / `true`: mostra o botão «Remover» quando {@link showActions} é `true`. */
|
|
4663
|
+
showRemoveAction: boolean;
|
|
4664
|
+
/** Quando `true`, omite o botão «Alterar» neste cartão (ex.: ação por linha na consulta). */
|
|
4665
|
+
hideEditAction: boolean;
|
|
4666
|
+
/**
|
|
4667
|
+
* Clique na superfície do cartão (fora dos botões de ação) emite {@link edit}, como o botão «Alterar».
|
|
4668
|
+
*/
|
|
4669
|
+
openOnClick: boolean;
|
|
4670
|
+
readonly edit: EventEmitter<void>;
|
|
4671
|
+
readonly remove: EventEmitter<void>;
|
|
4672
|
+
readonly booleanFieldChange: EventEmitter<{
|
|
4673
|
+
fieldKey: string;
|
|
4674
|
+
checked: boolean;
|
|
4675
|
+
}>;
|
|
4676
|
+
protected get editActionIcon(): string;
|
|
4677
|
+
protected visibleNavigateActions(): readonly CardItemNavigateAction[];
|
|
4678
|
+
protected navigateTooltip(action: CardItemNavigateAction): string;
|
|
4679
|
+
protected navigateIconClass(action: CardItemNavigateAction): string;
|
|
4680
|
+
onCardShellClick(ev: MouseEvent): void;
|
|
4681
|
+
onEditClick(ev: Event): void;
|
|
4682
|
+
onRemoveClick(ev: Event): void;
|
|
4683
|
+
onNavigateClick(action: CardItemNavigateAction, ev: Event): void;
|
|
4684
|
+
onBooleanFieldChange(field: CardItemBooleanField, ev: Event): void;
|
|
4685
|
+
onThumbError(ev: Event): void;
|
|
4686
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataCardComponent, never>;
|
|
4687
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataCardComponent, "app-data-card", never, { "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "avatarText": { "alias": "avatarText"; "required": false; }; "imageUrl": { "alias": "imageUrl"; "required": false; }; "metaFields": { "alias": "metaFields"; "required": false; }; "row": { "alias": "row"; "required": false; }; "navigateActions": { "alias": "navigateActions"; "required": false; }; "gridNavigatePreserve": { "alias": "gridNavigatePreserve"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "showActions": { "alias": "showActions"; "required": false; }; "showEditAction": { "alias": "showEditAction"; "required": false; }; "editActionLabel": { "alias": "editActionLabel"; "required": false; }; "editActionIconClass": { "alias": "editActionIconClass"; "required": false; }; "showRemoveAction": { "alias": "showRemoveAction"; "required": false; }; "hideEditAction": { "alias": "hideEditAction"; "required": false; }; "openOnClick": { "alias": "openOnClick"; "required": false; }; }, { "edit": "edit"; "remove": "remove"; "booleanFieldChange": "booleanFieldChange"; }, never, never, true, never>;
|
|
4688
|
+
static ngAcceptInputType_showEditAction: unknown;
|
|
4689
|
+
static ngAcceptInputType_showRemoveAction: unknown;
|
|
4690
|
+
static ngAcceptInputType_hideEditAction: unknown;
|
|
4691
|
+
static ngAcceptInputType_openOnClick: unknown;
|
|
4692
|
+
}
|
|
4693
|
+
|
|
4694
|
+
declare class EmptyStateComponent {
|
|
4695
|
+
message: string;
|
|
4696
|
+
/** Título discreto acima da mensagem (ex.: nome do relatório). */
|
|
4697
|
+
titulo?: string;
|
|
4698
|
+
description?: string;
|
|
4699
|
+
/** Classe Font Awesome do ícone (ex.: `fa-solid fa-inbox`). */
|
|
4700
|
+
iconClass: string;
|
|
4701
|
+
variant: 'default';
|
|
4702
|
+
/** Padding reduzido (ex.: células de tabela, listas densas). */
|
|
4703
|
+
embed: boolean;
|
|
4704
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmptyStateComponent, never>;
|
|
4705
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EmptyStateComponent, "app-empty-state", never, { "message": { "alias": "message"; "required": true; }; "titulo": { "alias": "titulo"; "required": false; }; "description": { "alias": "description"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "embed": { "alias": "embed"; "required": false; }; }, {}, never, ["[emptyAction]"], true, never>;
|
|
4706
|
+
static ngAcceptInputType_embed: unknown;
|
|
4707
|
+
}
|
|
4708
|
+
|
|
4709
|
+
type ConsoleLogLevel = 'debug' | 'info' | 'success' | 'warning' | 'error';
|
|
4710
|
+
interface ConsoleLogLine {
|
|
4711
|
+
timestamp?: Date | string | null;
|
|
4712
|
+
nivel?: ConsoleLogLevel | string | null;
|
|
4713
|
+
level?: ConsoleLogLevel | string | null;
|
|
4714
|
+
etapa?: string | null;
|
|
4715
|
+
step?: string | null;
|
|
4716
|
+
mensagem?: string | null;
|
|
4717
|
+
message?: string | null;
|
|
4718
|
+
}
|
|
4719
|
+
|
|
4720
|
+
/**
|
|
4721
|
+
* Console estilo terminal: texto simples (`text`) ou linhas estruturadas (`lines`) com cores por nível.
|
|
4722
|
+
*/
|
|
4723
|
+
declare class ConsoleLogComponent implements AfterViewChecked {
|
|
4724
|
+
readonly text: _angular_core.InputSignal<string>;
|
|
4725
|
+
readonly lines: _angular_core.InputSignal<readonly ConsoleLogLine[]>;
|
|
4726
|
+
/** Preenche altura disponível do pai flex (ex.: modal com `[scrollBodyOnly]`). */
|
|
4727
|
+
readonly fill: _angular_core.InputSignal<boolean>;
|
|
4728
|
+
readonly useStructuredLines: _angular_core.Signal<boolean>;
|
|
4729
|
+
readonly lineViews: _angular_core.Signal<structra_ui.ConsoleLogLineView[]>;
|
|
4730
|
+
private readonly viewport;
|
|
4731
|
+
private lastScrollRevision;
|
|
4732
|
+
private readonly scrollRevision;
|
|
4733
|
+
constructor();
|
|
4734
|
+
ngAfterViewChecked(): void;
|
|
4735
|
+
private scheduleScrollToTail;
|
|
4736
|
+
private scrollToTail;
|
|
4737
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConsoleLogComponent, never>;
|
|
4738
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConsoleLogComponent, "app-console-log", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; "lines": { "alias": "lines"; "required": false; "isSignal": true; }; "fill": { "alias": "fill"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
4739
|
+
}
|
|
4740
|
+
|
|
4741
|
+
interface ConsoleLogLineView {
|
|
4742
|
+
levelClass: string;
|
|
4743
|
+
timeLabel: string;
|
|
4744
|
+
levelLabel: string;
|
|
4745
|
+
stepLabel: string;
|
|
4746
|
+
message: string;
|
|
4747
|
+
}
|
|
4748
|
+
declare function normalizeConsoleLogLevel(value: ConsoleLogLevel | string | null | undefined): ConsoleLogLevel;
|
|
4749
|
+
declare function consoleLogLevelClass(value: ConsoleLogLevel | string | null | undefined): string;
|
|
4750
|
+
declare function toConsoleLogLineView(line: ConsoleLogLine): ConsoleLogLineView;
|
|
4751
|
+
declare function toConsoleLogLineViews(lines: readonly ConsoleLogLine[] | null | undefined): ConsoleLogLineView[];
|
|
4752
|
+
|
|
4753
|
+
/**
|
|
4754
|
+
* HTML injetado no AG Grid (`overlayNoRowsTemplate`) — manter alinhado ao markup de {@link EmptyStateComponent}.
|
|
4755
|
+
*/
|
|
4756
|
+
declare function escapeHtml(text: string): string;
|
|
4757
|
+
declare function buildEmptyStateOverlayHtml(message: string): string;
|
|
4758
|
+
|
|
4759
|
+
/** Variantes visuais do `app-status-badge` (cores semânticas da lib). */
|
|
4760
|
+
type StatusBadgeVariant = 'success' | 'error' | 'warning' | 'info' | 'neutral';
|
|
4761
|
+
/** Tamanho do `app-status-badge`. */
|
|
4762
|
+
type StatusBadgeSize = 'sm' | 'md';
|
|
4763
|
+
/** Linha chave → valor para `app-details-view` (modo lista). */
|
|
4764
|
+
interface DetailsViewItem {
|
|
4765
|
+
label: string;
|
|
4766
|
+
value?: string | null;
|
|
4767
|
+
}
|
|
4768
|
+
/** Tom da variação opcional no `app-stat-card` (ex.: +12% vs mês anterior). */
|
|
4769
|
+
type StatCardDeltaTone = 'positive' | 'negative' | 'neutral';
|
|
4770
|
+
|
|
4771
|
+
/**
|
|
4772
|
+
* Etiqueta de estado (Ativo, Pendente, etc.) com fundo suave e cor semântica.
|
|
4773
|
+
*/
|
|
4774
|
+
declare class StatusBadgeComponent {
|
|
4775
|
+
label: string;
|
|
4776
|
+
variant: StatusBadgeVariant;
|
|
4777
|
+
/** Classes Font Awesome (ex.: `fa-solid fa-check`). */
|
|
4778
|
+
icon: string;
|
|
4779
|
+
size: StatusBadgeSize;
|
|
4780
|
+
bordered: boolean;
|
|
4781
|
+
readonly variantClassMap: Record<StatusBadgeVariant, string>;
|
|
4782
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StatusBadgeComponent, never>;
|
|
4783
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StatusBadgeComponent, "app-status-badge", never, { "label": { "alias": "label"; "required": true; }; "variant": { "alias": "variant"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "size": { "alias": "size"; "required": false; }; "bordered": { "alias": "bordered"; "required": false; }; }, {}, never, never, true, never>;
|
|
4784
|
+
static ngAcceptInputType_bordered: unknown;
|
|
4785
|
+
}
|
|
4786
|
+
|
|
4787
|
+
/**
|
|
4788
|
+
* Lista de descrição (chave → valor) para detalhes, drawer ou resumo.
|
|
4789
|
+
* Modo **lista**: `[items]`; modo **composto**: projectar `app-details-field` no conteúdo.
|
|
4790
|
+
*/
|
|
4791
|
+
declare class DetailsViewComponent {
|
|
4792
|
+
items: readonly DetailsViewItem[];
|
|
4793
|
+
/**
|
|
4794
|
+
* Se `true`, ignora `items` e renderiza só `<ng-content />` dentro de um `<dl>`
|
|
4795
|
+
* (usar com `app-details-field` para valores ricos).
|
|
3983
4796
|
*/
|
|
3984
4797
|
projectionOnly: boolean;
|
|
3985
4798
|
/** `2` ativa grade em dois tempos em telas largas. */
|
|
@@ -4156,6 +4969,7 @@ declare class TreeViewComponent implements OnChanges, OnInit, OnDestroy {
|
|
|
4156
4969
|
private static nextHeadingId;
|
|
4157
4970
|
private static nextFilterId;
|
|
4158
4971
|
private readonly cdr;
|
|
4972
|
+
private readonly expandState;
|
|
4159
4973
|
/** `id` estável para `aria-labelledby` no `role="tree"` — evita `aria-label` igual ao título (tooltip nativo em alguns browsers). */
|
|
4160
4974
|
readonly treeHeadingDomId: string;
|
|
4161
4975
|
/** `id` estável do campo de filtro (acessibilidade). */
|
|
@@ -4202,6 +5016,13 @@ declare class TreeViewComponent implements OnChanges, OnInit, OnDestroy {
|
|
|
4202
5016
|
* Omisso / `true`: ícone por omissão (ou `node.iconClass`); `false`: spacer alinhado às linhas com ícone.
|
|
4203
5017
|
*/
|
|
4204
5018
|
showLeafIcons: boolean;
|
|
5019
|
+
/**
|
|
5020
|
+
* Identificador da árvore para cache em memória de expansão (tenant + rota + treeId).
|
|
5021
|
+
* Quando definido, restaura estado da sessão ou usa `node.expanded` só na primeira visita.
|
|
5022
|
+
*/
|
|
5023
|
+
expandStateTreeId: string | null;
|
|
5024
|
+
/** Rota explícita para a chave de cache; omissão = `Router.url` actual. */
|
|
5025
|
+
expandStateRoute: string | null;
|
|
4205
5026
|
/**
|
|
4206
5027
|
* Chave externa para repor `expandedIds` a partir de `node.expanded`, mesmo quando `nodes` não muda.
|
|
4207
5028
|
* Útil ao reentrar numa rota com reuse ou ao remontar a árvore sem substituir os nós.
|
|
@@ -4234,16 +5055,61 @@ declare class TreeViewComponent implements OnChanges, OnInit, OnDestroy {
|
|
|
4234
5055
|
toggleBranch(node: TreeViewNode): void;
|
|
4235
5056
|
onRowActivate(node: TreeViewNode): void;
|
|
4236
5057
|
private rebuildExpandedFromDefaults;
|
|
5058
|
+
private readCachedExpandedIds;
|
|
5059
|
+
private persistExpandedState;
|
|
5060
|
+
private persistSelectedState;
|
|
5061
|
+
private tryRestoreSelectedFromCache;
|
|
5062
|
+
private findNodeById;
|
|
5063
|
+
private expandPathToNode;
|
|
5064
|
+
private findPathToNode;
|
|
4237
5065
|
/** Com pesquisa activa, expande todos os ramos da árvore filtrada para mostrar correspondências. */
|
|
4238
5066
|
private refreshExpandedForSearch;
|
|
4239
5067
|
private expandAllBranchesRecursive;
|
|
4240
5068
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeViewComponent, never>;
|
|
4241
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TreeViewComponent, "app-tree-view", never, { "nodes": { "alias": "nodes"; "required": true; }; "title": { "alias": "title"; "required": false; }; "titleIconClass": { "alias": "titleIconClass"; "required": false; }; "folderIconClass": { "alias": "folderIconClass"; "required": false; }; "leafIconClass": { "alias": "leafIconClass"; "required": false; }; "selectedId": { "alias": "selectedId"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "mobileScrollCollapse": { "alias": "mobileScrollCollapse"; "required": false; }; "filterSearchable": { "alias": "filterSearchable"; "required": false; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; }; "filterEmptyMessage": { "alias": "filterEmptyMessage"; "required": false; }; "filterEmptyDescription": { "alias": "filterEmptyDescription"; "required": false; }; "filterEmptyIconClass": { "alias": "filterEmptyIconClass"; "required": false; }; "showBranchIcons": { "alias": "showBranchIcons"; "required": false; }; "showLeafIcons": { "alias": "showLeafIcons"; "required": false; }; "expansionStateKey": { "alias": "expansionStateKey"; "required": false; }; }, { "selectedIdChange": "selectedIdChange"; "nodeSelect": "nodeSelect"; }, never, never, true, never>;
|
|
5069
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TreeViewComponent, "app-tree-view", never, { "nodes": { "alias": "nodes"; "required": true; }; "title": { "alias": "title"; "required": false; }; "titleIconClass": { "alias": "titleIconClass"; "required": false; }; "folderIconClass": { "alias": "folderIconClass"; "required": false; }; "leafIconClass": { "alias": "leafIconClass"; "required": false; }; "selectedId": { "alias": "selectedId"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "mobileScrollCollapse": { "alias": "mobileScrollCollapse"; "required": false; }; "filterSearchable": { "alias": "filterSearchable"; "required": false; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; }; "filterEmptyMessage": { "alias": "filterEmptyMessage"; "required": false; }; "filterEmptyDescription": { "alias": "filterEmptyDescription"; "required": false; }; "filterEmptyIconClass": { "alias": "filterEmptyIconClass"; "required": false; }; "showBranchIcons": { "alias": "showBranchIcons"; "required": false; }; "showLeafIcons": { "alias": "showLeafIcons"; "required": false; }; "expandStateTreeId": { "alias": "expandStateTreeId"; "required": false; }; "expandStateRoute": { "alias": "expandStateRoute"; "required": false; }; "expansionStateKey": { "alias": "expansionStateKey"; "required": false; }; }, { "selectedIdChange": "selectedIdChange"; "nodeSelect": "nodeSelect"; }, never, never, true, never>;
|
|
4242
5070
|
static ngAcceptInputType_filterSearchable: unknown;
|
|
4243
5071
|
static ngAcceptInputType_showBranchIcons: unknown;
|
|
4244
5072
|
static ngAcceptInputType_showLeafIcons: unknown;
|
|
4245
5073
|
}
|
|
4246
5074
|
|
|
5075
|
+
interface TreeExpandState {
|
|
5076
|
+
key: string;
|
|
5077
|
+
route: string;
|
|
5078
|
+
expandedIds: Set<string>;
|
|
5079
|
+
/** Folha seleccionada na sessão (`null` = nenhuma). */
|
|
5080
|
+
selectedId: string | null;
|
|
5081
|
+
timestamp: number;
|
|
5082
|
+
}
|
|
5083
|
+
|
|
5084
|
+
declare class StructraTreeExpandStateService {
|
|
5085
|
+
private readonly router;
|
|
5086
|
+
private readonly tenantResolver;
|
|
5087
|
+
private readonly store;
|
|
5088
|
+
buildKey(treeId: string, route?: string): string;
|
|
5089
|
+
saveExpanded(key: string, expandedIds: Iterable<string>, route?: string): void;
|
|
5090
|
+
saveExpandedForTree(treeId: string, expandedIds: Iterable<string>, route?: string): void;
|
|
5091
|
+
getExpanded(key: string): Set<string> | null;
|
|
5092
|
+
getExpandedForTree(treeId: string, route?: string): Set<string> | null;
|
|
5093
|
+
saveSelected(key: string, selectedId: string | null, route?: string): void;
|
|
5094
|
+
saveSelectedForTree(treeId: string, selectedId: string | null, route?: string): void;
|
|
5095
|
+
getSelected(key: string): string | null;
|
|
5096
|
+
getSelectedForTree(treeId: string, route?: string): string | null;
|
|
5097
|
+
toggle(key: string, nodeId: string): boolean;
|
|
5098
|
+
toggleForTree(treeId: string, nodeId: string, route?: string): boolean;
|
|
5099
|
+
clear(key: string): void;
|
|
5100
|
+
clearForTree(treeId: string, route?: string): void;
|
|
5101
|
+
clearByRoute(route: string): void;
|
|
5102
|
+
clearAll(): void;
|
|
5103
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraTreeExpandStateService, never>;
|
|
5104
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<StructraTreeExpandStateService>;
|
|
5105
|
+
}
|
|
5106
|
+
|
|
5107
|
+
/**
|
|
5108
|
+
* Activa {@link StructraTreeExpandStateService} e liga reset de sessão (logout / troca de tenant)
|
|
5109
|
+
* via {@link STRUCTRA_SCROLL_SESSION_RESET}.
|
|
5110
|
+
*/
|
|
5111
|
+
declare function provideStructraTreeExpandState(): EnvironmentProviders;
|
|
5112
|
+
|
|
4247
5113
|
/** Largura máxima do painel `app-dialog` (conteúdo responsivo). */
|
|
4248
5114
|
declare enum LibDialogSize {
|
|
4249
5115
|
Sm = "sm",
|
|
@@ -5110,6 +5976,49 @@ declare class StructraProgressOverlayComponent {
|
|
|
5110
5976
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraProgressOverlayComponent, "app-structra-progress-overlay", never, { "ativo": { "alias": "ativo"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "mensagem": { "alias": "mensagem"; "required": false; "isSignal": true; }; "progress": { "alias": "progress"; "required": false; "isSignal": true; }; "percentual": { "alias": "percentual"; "required": false; "isSignal": true; }; "showProgress": { "alias": "exibirProgresso"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "rotuloAria"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5111
5977
|
}
|
|
5112
5978
|
|
|
5979
|
+
declare class StructraCookieNoticeComponent {
|
|
5980
|
+
private readonly cookieNotice;
|
|
5981
|
+
readonly visible: _angular_core.Signal<boolean>;
|
|
5982
|
+
readonly copy: _angular_core.Signal<Required<structra_ui.StructraCookieNoticeConfig>>;
|
|
5983
|
+
readonly hiding: _angular_core.WritableSignal<boolean>;
|
|
5984
|
+
accept(): void;
|
|
5985
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraCookieNoticeComponent, never>;
|
|
5986
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraCookieNoticeComponent, "app-structra-cookie-notice", never, {}, {}, never, never, true, never>;
|
|
5987
|
+
}
|
|
5988
|
+
|
|
5989
|
+
declare class StructraCookieNoticeService {
|
|
5990
|
+
private readonly config;
|
|
5991
|
+
private readonly visibleSignal;
|
|
5992
|
+
readonly copy: _angular_core.Signal<Required<structra_ui.StructraCookieNoticeConfig>>;
|
|
5993
|
+
readonly isVisible: _angular_core.Signal<boolean>;
|
|
5994
|
+
accept(): void;
|
|
5995
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraCookieNoticeService, never>;
|
|
5996
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<StructraCookieNoticeService>;
|
|
5997
|
+
}
|
|
5998
|
+
|
|
5999
|
+
declare const DEFAULT_STRUCTRA_COOKIE_NOTICE_STORAGE_KEY = "structra_cookie_notice_accepted";
|
|
6000
|
+
declare const DEFAULT_STRUCTRA_COOKIE_NOTICE_TITLE = "Usamos cookies essenciais";
|
|
6001
|
+
declare const DEFAULT_STRUCTRA_COOKIE_NOTICE_DESCRIPTION: string;
|
|
6002
|
+
declare const DEFAULT_STRUCTRA_COOKIE_NOTICE_ACCEPT_LABEL = "Entendido";
|
|
6003
|
+
declare function structraCookieNoticeWasAccepted(storageKey: string): boolean;
|
|
6004
|
+
declare function persistStructraCookieNoticeAccepted(storageKey: string): void;
|
|
6005
|
+
|
|
6006
|
+
/** Textos e chave de persistência do aviso de cookies essenciais. */
|
|
6007
|
+
interface StructraCookieNoticeConfig {
|
|
6008
|
+
/** Chave em `localStorage`. Padrão: `structra_cookie_notice_accepted`. */
|
|
6009
|
+
storageKey?: string;
|
|
6010
|
+
title?: string;
|
|
6011
|
+
description?: string;
|
|
6012
|
+
acceptLabel?: string;
|
|
6013
|
+
regionAriaLabel?: string;
|
|
6014
|
+
acceptAriaLabel?: string;
|
|
6015
|
+
closeAriaLabel?: string;
|
|
6016
|
+
}
|
|
6017
|
+
declare const STRUCTRA_COOKIE_NOTICE_CONFIG: InjectionToken<StructraCookieNoticeConfig>;
|
|
6018
|
+
declare function resolveStructraCookieNoticeConfig(config: StructraCookieNoticeConfig | null | undefined): Required<StructraCookieNoticeConfig>;
|
|
6019
|
+
/** Provider no `app.config` — personalize chave e textos por produto. */
|
|
6020
|
+
declare function provideStructraCookieNotice(config?: StructraCookieNoticeConfig): Provider;
|
|
6021
|
+
|
|
5113
6022
|
/**
|
|
5114
6023
|
* Constrói posições CDK para overlay ancorado (tooltip, popover, autocomplete, etc.).
|
|
5115
6024
|
* Inclui alternativas para inverter quando não há espaço (`push` no componente).
|
|
@@ -5127,6 +6036,15 @@ declare const APP_SIDEBAR_LAYOUT_DURATION_MS = 0;
|
|
|
5127
6036
|
declare const APP_SIDEBAR_LABEL_REVEAL_LAG_MS = 48;
|
|
5128
6037
|
declare const APP_SIDEBAR_NAV_REVEAL_TOTAL_MS: number;
|
|
5129
6038
|
|
|
6039
|
+
declare const DEFAULT_STRUCTRA_SHELL_SIDEBAR_COLLAPSED_STORAGE_KEY = "structra_shell_sidebar_collapsed";
|
|
6040
|
+
/**
|
|
6041
|
+
* Lê preferência de recolhimento da sidebar em desktop.
|
|
6042
|
+
* `null` = sem valor em cache (usar expandido por omissão).
|
|
6043
|
+
*/
|
|
6044
|
+
declare function readStructraShellSidebarCollapsed(storageKey: string): boolean | null;
|
|
6045
|
+
/** Persiste preferência após interação do utilizador no toggle desktop. */
|
|
6046
|
+
declare function persistStructraShellSidebarCollapsed(storageKey: string, collapsed: boolean): void;
|
|
6047
|
+
|
|
5130
6048
|
/**
|
|
5131
6049
|
* Estrutura principal: barra lateral, topo e conteúdo. Em mobile a lateral projecta-se no `app-drawer`.
|
|
5132
6050
|
*
|
|
@@ -5148,6 +6066,13 @@ declare class AppShellComponent implements OnInit {
|
|
|
5148
6066
|
/** Barra lateral estreita (ícones + compressão de texto na lista). */
|
|
5149
6067
|
sidebarCollapsed: boolean;
|
|
5150
6068
|
readonly sidebarCollapsedChange: EventEmitter<boolean>;
|
|
6069
|
+
/**
|
|
6070
|
+
* Em desktop, restaura e persiste `sidebarCollapsed` em `localStorage` após toggle.
|
|
6071
|
+
* Mobile/drawer não grava nem restaura — só o rail desktop.
|
|
6072
|
+
*/
|
|
6073
|
+
persistSidebarCollapsed: boolean;
|
|
6074
|
+
/** Chave em `localStorage` para a preferência desktop. */
|
|
6075
|
+
sidebarCollapsedStorageKey: string;
|
|
5151
6076
|
/** Estado do drawer mobile (usar `[(mobileNavOpen)]` para controlar o menu hamburger). */
|
|
5152
6077
|
mobileNavOpen: boolean;
|
|
5153
6078
|
readonly mobileNavOpenChange: EventEmitter<boolean>;
|
|
@@ -5160,6 +6085,7 @@ declare class AppShellComponent implements OnInit {
|
|
|
5160
6085
|
readonly DrawerSide: typeof DrawerSide;
|
|
5161
6086
|
readonly DrawerSize: typeof DrawerSize;
|
|
5162
6087
|
ngOnInit(): void;
|
|
6088
|
+
private restoreSidebarCollapsedFromStorage;
|
|
5163
6089
|
onMobileDrawerOpenChange(next: boolean): void;
|
|
5164
6090
|
/** Emite alteração; com `[(mobileNavOpen)]` no pai o `@Input` actualiza o estado do drawer. */
|
|
5165
6091
|
private emitMobileNavOpen;
|
|
@@ -5168,8 +6094,9 @@ declare class AppShellComponent implements OnInit {
|
|
|
5168
6094
|
closeMobileNav(): void;
|
|
5169
6095
|
private syncDedicatedBackToTopPresence;
|
|
5170
6096
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AppShellComponent, never>;
|
|
5171
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AppShellComponent, "app-shell", ["appShell"], { "appTheme": { "alias": "appTheme"; "required": false; "isSignal": true; }; "sidebarCollapsed": { "alias": "sidebarCollapsed"; "required": false; }; "mobileNavOpen": { "alias": "mobileNavOpen"; "required": false; }; "mobileLayoutQuery": { "alias": "mobileLayoutQuery"; "required": false; }; }, { "sidebarCollapsedChange": "sidebarCollapsedChange"; "mobileNavOpenChange": "mobileNavOpenChange"; }, ["sidebarSlot"], ["[appShellTopbar]", "*"], true, never>;
|
|
6097
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AppShellComponent, "app-shell", ["appShell"], { "appTheme": { "alias": "appTheme"; "required": false; "isSignal": true; }; "sidebarCollapsed": { "alias": "sidebarCollapsed"; "required": false; }; "persistSidebarCollapsed": { "alias": "persistSidebarCollapsed"; "required": false; }; "sidebarCollapsedStorageKey": { "alias": "sidebarCollapsedStorageKey"; "required": false; }; "mobileNavOpen": { "alias": "mobileNavOpen"; "required": false; }; "mobileLayoutQuery": { "alias": "mobileLayoutQuery"; "required": false; }; }, { "sidebarCollapsedChange": "sidebarCollapsedChange"; "mobileNavOpenChange": "mobileNavOpenChange"; }, ["sidebarSlot"], ["[appShellTopbar]", "*"], true, never>;
|
|
5172
6098
|
static ngAcceptInputType_sidebarCollapsed: unknown;
|
|
6099
|
+
static ngAcceptInputType_persistSidebarCollapsed: unknown;
|
|
5173
6100
|
static ngAcceptInputType_mobileNavOpen: unknown;
|
|
5174
6101
|
}
|
|
5175
6102
|
|
|
@@ -5467,7 +6394,9 @@ declare class StructraSidebarUserPanelComponent {
|
|
|
5467
6394
|
/** Rodapé institucional (login e área autenticada): textos via DI ou input `parts`. */
|
|
5468
6395
|
declare class StructraPageFooterComponent {
|
|
5469
6396
|
private readonly configuredParts;
|
|
5470
|
-
|
|
6397
|
+
private readonly footerConfig;
|
|
6398
|
+
private readonly versionService;
|
|
6399
|
+
/** Sobrescreve partes do rodapé (omisso: tokens DI ou fallback genérico). */
|
|
5471
6400
|
readonly partsInput: _angular_core.InputSignal<readonly string[] | null>;
|
|
5472
6401
|
readonly parts: _angular_core.Signal<readonly string[]>;
|
|
5473
6402
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraPageFooterComponent, never>;
|
|
@@ -5478,13 +6407,21 @@ declare class StructraPageFooterComponent {
|
|
|
5478
6407
|
interface StructraPageFooterConfig {
|
|
5479
6408
|
/** Nome do produto exibido no copyright (ex.: ErpTemplate). */
|
|
5480
6409
|
productName: string;
|
|
5481
|
-
/** Versão
|
|
6410
|
+
/** Versão estática (omisso quando {@link dynamicVersion} é true). */
|
|
5482
6411
|
version?: string;
|
|
6412
|
+
/** Busca versão em GET /api/app/version (cache em memória, fallback seguro). */
|
|
6413
|
+
dynamicVersion?: boolean;
|
|
6414
|
+
/** Versão exibida enquanto carrega ou se a API falhar. Padrão: `1.0.0`. */
|
|
6415
|
+
fallbackVersion?: string;
|
|
6416
|
+
/** Caminho/URL da API de versão quando {@link dynamicVersion} é true. */
|
|
6417
|
+
apiPath?: string;
|
|
5483
6418
|
/** Ano do copyright. Omisso: ano corrente no cliente. */
|
|
5484
6419
|
copyrightYear?: number;
|
|
5485
6420
|
/** Partes extras após copyright e versão. */
|
|
5486
6421
|
extraParts?: readonly string[];
|
|
5487
6422
|
}
|
|
6423
|
+
/** Configuração ativa do rodapé com versão dinâmica. */
|
|
6424
|
+
declare const STRUCTRA_PAGE_FOOTER_CONFIG: InjectionToken<StructraPageFooterConfig>;
|
|
5488
6425
|
/** Partes literais do rodapé — alternativa à {@link StructraPageFooterConfig}. */
|
|
5489
6426
|
declare const STRUCTRA_PAGE_FOOTER_PARTS: InjectionToken<readonly string[]>;
|
|
5490
6427
|
/**
|
|
@@ -5492,10 +6429,64 @@ declare const STRUCTRA_PAGE_FOOTER_PARTS: InjectionToken<readonly string[]>;
|
|
|
5492
6429
|
*/
|
|
5493
6430
|
declare function buildStructraPageFooterParts(config: StructraPageFooterConfig): readonly string[];
|
|
5494
6431
|
/** Provider único no `app.config` — substitui `footer-meta.ts` por consumidor. */
|
|
5495
|
-
declare function provideStructraPageFooter(config: StructraPageFooterConfig): Provider;
|
|
6432
|
+
declare function provideStructraPageFooter(config: StructraPageFooterConfig): Provider | Provider[];
|
|
5496
6433
|
/** @deprecated Alias legado — preferir {@link provideStructraPageFooter}. */
|
|
5497
6434
|
declare const provideAppPageFooter: typeof provideStructraPageFooter;
|
|
5498
6435
|
|
|
6436
|
+
/** Metadados de versão expostos pelo backend (GET /api/app/version). */
|
|
6437
|
+
interface AppVersionInfo {
|
|
6438
|
+
version: string;
|
|
6439
|
+
environment?: string | null;
|
|
6440
|
+
buildDate?: string | null;
|
|
6441
|
+
commitSha?: string | null;
|
|
6442
|
+
branch?: string | null;
|
|
6443
|
+
applicationName?: string | null;
|
|
6444
|
+
}
|
|
6445
|
+
/** Alias legado PT — mesmo contrato de {@link AppVersionInfo}. */
|
|
6446
|
+
type StructraVersionInfo = AppVersionInfo;
|
|
6447
|
+
|
|
6448
|
+
/** Configuração do fetch de versão da aplicação. */
|
|
6449
|
+
interface StructraAppVersionConfig {
|
|
6450
|
+
/** Caminho relativo ou URL absoluta. Padrão: `/api/app/version`. */
|
|
6451
|
+
apiPath?: string;
|
|
6452
|
+
/** Versão exibida quando a API falhar ou ainda não respondeu. Padrão: `1.0.0`. */
|
|
6453
|
+
fallbackVersion?: string;
|
|
6454
|
+
}
|
|
6455
|
+
declare const STRUCTRA_APP_VERSION_CONFIG: InjectionToken<StructraAppVersionConfig>;
|
|
6456
|
+
declare const DEFAULT_STRUCTRA_APP_VERSION_API_PATH = "/api/app/version";
|
|
6457
|
+
declare const DEFAULT_STRUCTRA_APP_VERSION_FALLBACK = "1.0.0";
|
|
6458
|
+
declare function resolveStructraAppVersionConfig(config: StructraAppVersionConfig | null | undefined): Required<Pick<StructraAppVersionConfig, 'apiPath' | 'fallbackVersion'>>;
|
|
6459
|
+
/** Provider no `app.config` — busca versão uma vez e mantém cache em memória. */
|
|
6460
|
+
declare function provideStructraAppVersion(config?: StructraAppVersionConfig): Provider;
|
|
6461
|
+
/** @deprecated Alias legado — preferir {@link provideStructraAppVersion}. */
|
|
6462
|
+
declare const provideAppVersion: typeof provideStructraAppVersion;
|
|
6463
|
+
|
|
6464
|
+
/**
|
|
6465
|
+
* Busca a versão da aplicação uma vez, cacheia em memória e falha de forma segura
|
|
6466
|
+
* (não bloqueia login nem renderização).
|
|
6467
|
+
*/
|
|
6468
|
+
declare class StructraAppVersionService {
|
|
6469
|
+
private readonly http;
|
|
6470
|
+
private readonly config;
|
|
6471
|
+
private loadStarted;
|
|
6472
|
+
private readonly info;
|
|
6473
|
+
/** Versão resolvida (`null` enquanto carrega e sem fallback aplicado ainda). */
|
|
6474
|
+
readonly version: _angular_core.WritableSignal<string | null>;
|
|
6475
|
+
/** `true` durante o primeiro fetch. */
|
|
6476
|
+
readonly loading: _angular_core.WritableSignal<boolean>;
|
|
6477
|
+
constructor();
|
|
6478
|
+
/** Dispara o fetch sem bloquear a UI. */
|
|
6479
|
+
prefetch(): void;
|
|
6480
|
+
getInfo(): AppVersionInfo | null;
|
|
6481
|
+
/** Rótulo pronto para o rodapé — `null` se ainda não houver versão. */
|
|
6482
|
+
versionLabel(): string | null;
|
|
6483
|
+
private ensureLoaded;
|
|
6484
|
+
private applyFallback;
|
|
6485
|
+
private resolveUrl;
|
|
6486
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraAppVersionService, never>;
|
|
6487
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<StructraAppVersionService>;
|
|
6488
|
+
}
|
|
6489
|
+
|
|
5499
6490
|
/**
|
|
5500
6491
|
* Barra superior com zonas de projeção: início, título, **subtítulo (opcional)** e fim.
|
|
5501
6492
|
* Sem `[appTopbarSubtitle]` o bloco do subtítulo não ocupa espaço.
|
|
@@ -5651,630 +6642,156 @@ declare class AdminLoginPageComponent implements OnChanges {
|
|
|
5651
6642
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AdminLoginPageComponent, "structra-admin-login-page", never, { "config": { "alias": "config"; "required": true; }; "loading": { "alias": "loading"; "required": false; }; "error": { "alias": "error"; "required": false; }; "tenantInexistente": { "alias": "tenantInexistente"; "required": false; }; "tenantInexistenteMessage": { "alias": "tenantInexistenteMessage"; "required": false; }; "emailLabel": { "alias": "emailLabel"; "required": false; }; "emailErrorMessage": { "alias": "emailErrorMessage"; "required": false; }; "passwordLabel": { "alias": "passwordLabel"; "required": false; }; "passwordErrorMessage": { "alias": "passwordErrorMessage"; "required": false; }; "submitDisabled": { "alias": "submitDisabled"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "surfaceResetTrigger": { "alias": "surfaceResetTrigger"; "required": false; }; }, { "loginSubmit": "loginSubmit"; "brandLogoError": "brandLogoError"; "forgotPasswordClicked": "forgotPasswordClicked"; "createAccountClicked": "createAccountClicked"; }, never, ["[loginExtraContent]", "[loginFooter]"], true, never>;
|
|
5652
6643
|
}
|
|
5653
6644
|
|
|
6645
|
+
/** Normaliza path de rota para comparação (sem query/hash, sem barra final). */
|
|
6646
|
+
declare function normalizarCaminhoLoginAdmin(rawUrl: string): string;
|
|
6647
|
+
/**
|
|
6648
|
+
* Navega para a rota pós-login e mantém o loading ativo até a transição concluir.
|
|
6649
|
+
*
|
|
6650
|
+
* Em sucesso, **não** altera loading — o componente de login é desmontado ao sair da rota.
|
|
6651
|
+
* Em falha (`navigateByUrl` retorna false ou exceção), invoca `onFalhaNavegacao` (ex.: `loading.set(false)`).
|
|
6652
|
+
*/
|
|
6653
|
+
declare function navegarAposLoginAdmin(router: Router, destino: string, onFalhaNavegacao: () => void): void;
|
|
6654
|
+
|
|
5654
6655
|
/** Alinhado ao backend (`DynamicConsultaWhereBuilder`): operadores em minúsculas. */
|
|
5655
6656
|
type ConsultaValorTipo = 'string' | 'bool' | 'datetime' | 'number';
|
|
5656
6657
|
interface ConsultaCampoDef {
|
|
5657
6658
|
campo: string;
|
|
5658
6659
|
label: string;
|
|
5659
|
-
tipo: ConsultaValorTipo;
|
|
5660
|
-
}
|
|
5661
|
-
interface ConsultaOperadorOption {
|
|
5662
|
-
id: string;
|
|
5663
|
-
label: string;
|
|
5664
|
-
}
|
|
5665
|
-
/** Paginação e ordenação enviadas ao backend na consulta paginada (chave de cache + RPC). */
|
|
5666
|
-
interface ConsultaListaServidorQuerySlice {
|
|
5667
|
-
pagina: number;
|
|
5668
|
-
tamanhoPagina: number;
|
|
5669
|
-
ordenarCampo: string;
|
|
5670
|
-
ordenarDesc: boolean;
|
|
5671
|
-
}
|
|
5672
|
-
|
|
5673
|
-
/**
|
|
5674
|
-
* Item de condição persistido num preset (ordem + junção E/OU).
|
|
5675
|
-
* `valorDefault` guarda string (texto ou código de estado bool no cliente, ex. `all`/`yes`/`no`).
|
|
5676
|
-
*/
|
|
5677
|
-
interface ConsultaFiltroItem<TColuna extends string = string> {
|
|
5678
|
-
id: string;
|
|
5679
|
-
coluna: TColuna;
|
|
5680
|
-
operador: string;
|
|
5681
|
-
juncaoOu: boolean;
|
|
5682
|
-
ordem: number;
|
|
5683
|
-
fixo?: boolean;
|
|
5684
|
-
valorDefault: string;
|
|
5685
|
-
}
|
|
5686
|
-
interface ConsultaFiltroPreset<TColuna extends string = string> {
|
|
5687
|
-
id: string;
|
|
5688
|
-
nome: string;
|
|
5689
|
-
visivelTodos?: boolean;
|
|
5690
|
-
itens: ConsultaFiltroItem<TColuna>[];
|
|
5691
|
-
/** Capa do servidor (`FiltroSalvo.qtd_itens`): critérios quando `itens` ainda não está preenchido. */
|
|
5692
|
-
qtdItensCriterios?: number;
|
|
5693
|
-
criadoEm?: string;
|
|
5694
|
-
}
|
|
5695
|
-
|
|
5696
|
-
declare const OPS_TEXTO: readonly ConsultaOperadorOption[];
|
|
5697
|
-
declare const OPS_BOOL: readonly ConsultaOperadorOption[];
|
|
5698
|
-
declare const OPS_DATA: readonly ConsultaOperadorOption[];
|
|
5699
|
-
/** Campos com multi-seleção no metadata (operador fixo `inlist` no servidor). */
|
|
5700
|
-
declare const OPS_TEXTO_MULTISELECT: readonly ConsultaOperadorOption[];
|
|
5701
|
-
/**
|
|
5702
|
-
* Colunas `datetime`: usar `app-date-field` para qualquer operador excepto `between`
|
|
5703
|
-
* (dois limites continuam num único texto na UI).
|
|
5704
|
-
*/
|
|
5705
|
-
declare function operadorConsultaDatetimeUsaDatePicker(operador: string | null | undefined): boolean;
|
|
5706
|
-
/** Operadores com um único valor de comparação (data/número); exclui between e testes de nulo. */
|
|
5707
|
-
declare function operadorConsultaComValorUnicoComparacao(operador: string | null | undefined): boolean;
|
|
5708
|
-
/** Rótulo em PT-BR para o id do operador (ex.: presets antigos com `contains` em coluna datetime). */
|
|
5709
|
-
declare function rotuloOperadorConsulta(operador: string | null | undefined): string;
|
|
5710
|
-
declare function operadoresPorTipo(tipo: ConsultaValorTipo): readonly ConsultaOperadorOption[];
|
|
5711
|
-
/** Operadores permitidos na UI conforme coluna (inclui ramo multi-seleção do metadata). */
|
|
5712
|
-
declare function operadoresConsultaCampo(coluna: string | null | undefined, ctx: {
|
|
5713
|
-
valorTipoPorColuna: (coluna: string) => ConsultaValorTipo;
|
|
5714
|
-
multiselectColumnIds?: readonly string[] | null;
|
|
5715
|
-
filterSelectColumnIds?: readonly string[] | null;
|
|
5716
|
-
searchSelectColumnIds?: readonly string[] | null;
|
|
5717
|
-
}): readonly ConsultaOperadorOption[];
|
|
5718
|
-
declare function precisaValor(operador: string): boolean;
|
|
5719
|
-
declare function precisaValorFinal(operador: string): boolean;
|
|
5720
|
-
declare function tipoValorApi(tipo: ConsultaValorTipo): string;
|
|
5721
|
-
/**
|
|
5722
|
-
* Presets antigos podem ter `contains` / `startswith` / `endswith` em colunas `datetime`;
|
|
5723
|
-
* o builder SQL só aceita operadores de data. Para valor já normalizado (ex. dia `YYYY-MM-DD`),
|
|
5724
|
-
* `equals` é o equivalente útil.
|
|
5725
|
-
*/
|
|
5726
|
-
declare function normalizarOperadorConsultaParaEnvioServidor(coluna: string, operador: string, valorTipoPorColuna: (col: string) => ConsultaValorTipo): string;
|
|
5727
|
-
|
|
5728
|
-
declare function ordenarFiltroItens<T extends {
|
|
5729
|
-
id: string;
|
|
5730
|
-
ordem: number;
|
|
5731
|
-
}>(itens: T[]): T[];
|
|
5732
|
-
/** Preferência: critérios reais; senão capa `qtdItensCriterios` do preset (proto `qtd_itens`). */
|
|
5733
|
-
declare function qtdCriteriosPresetParaSkeleton<TColuna extends string>(p: ConsultaFiltroPreset<TColuna>): number;
|
|
5734
|
-
interface ConsultaFiltroMatchAdapters<TItem> {
|
|
5735
|
-
textoCampo: (item: TItem, coluna: string) => string;
|
|
5736
|
-
/** Avalia filtro em colunas booleanas (ex. estado activo/inactivo). */
|
|
5737
|
-
evalBoolFilter: (item: TItem, valorRaw: string) => boolean;
|
|
5738
|
-
boolColumnIds: readonly string[];
|
|
5739
|
-
}
|
|
5740
|
-
/** Uma linha satisfaz a condição (valor em `valorRaw`, tipicamente `valoresPorItemId[it.id]`). */
|
|
5741
|
-
declare function consultaPassaItem<TItem>(item: TItem, it: ConsultaFiltroItem<string>, valorRaw: string, adapters: ConsultaFiltroMatchAdapters<TItem>): boolean;
|
|
5742
|
-
declare function consultaPassaTodosItens<TItem>(item: TItem, itens: ConsultaFiltroItem<string>[], valoresPorItemId: Record<string, string>, adapters: ConsultaFiltroMatchAdapters<TItem>): boolean;
|
|
5743
|
-
|
|
5744
|
-
/** Contrato mínimo para itens enviados ao backend (filtros avulsos). */
|
|
5745
|
-
interface FiltroItemEntradaGenerico {
|
|
5746
|
-
campo: string;
|
|
5747
|
-
operador: string;
|
|
5748
|
-
valor: string;
|
|
5749
|
-
valorAte: string;
|
|
5750
|
-
juncao: string;
|
|
5751
|
-
}
|
|
5752
|
-
interface MontarFiltrosServidorPresetOptions<TItem extends FiltroItemEntradaGenerico = FiltroItemEntradaGenerico> {
|
|
5753
|
-
boolColumnIds?: readonly string[];
|
|
5754
|
-
mapLinha?: (linha: FiltroItemEntradaGenerico) => TItem;
|
|
5755
|
-
valorTipoPorColuna?: (coluna: string) => ConsultaValorTipo;
|
|
5756
|
-
}
|
|
5757
|
-
/** @deprecated Use {@link MontarFiltrosServidorPresetOptions}. */
|
|
5758
|
-
type MontarFiltrosGrpcPresetOptions<TItem extends FiltroItemEntradaGenerico = FiltroItemEntradaGenerico> = MontarFiltrosServidorPresetOptions<TItem>;
|
|
5759
|
-
type ValoresConsultaPresetUi = Record<string, string | null | undefined>;
|
|
5760
|
-
/**
|
|
5761
|
-
* Converte preset + valores da UI em lista para filtros avulsos no servidor.
|
|
5762
|
-
*/
|
|
5763
|
-
declare function montarFiltrosServidorPreset<TColuna extends string, TItem extends FiltroItemEntradaGenerico = FiltroItemEntradaGenerico>(preset: ConsultaFiltroPreset<TColuna> | null | undefined, valores: ValoresConsultaPresetUi, options?: MontarFiltrosServidorPresetOptions<TItem>): TItem[];
|
|
5764
|
-
/** @deprecated Use {@link montarFiltrosServidorPreset}. */
|
|
5765
|
-
declare const montarFiltrosGrpcPreset: typeof montarFiltrosServidorPreset;
|
|
5766
|
-
declare const CONSULTA_SERVIDOR_LISTA_QUERY_DEFAULTS: ConsultaListaServidorQuerySlice;
|
|
5767
|
-
interface ConsultaServidorExecutorOpts<TItem> {
|
|
5768
|
-
ensureAuth: () => Promise<void>;
|
|
5769
|
-
montarFiltros: (preset: ConsultaFiltroPreset<string> | undefined, valores: ValoresConsultaPresetUi) => FiltroItemEntradaGenerico[];
|
|
5770
|
-
consultar: (args: {
|
|
5771
|
-
filtrosAvulsos: FiltroItemEntradaGenerico[];
|
|
5772
|
-
pagina: number;
|
|
5773
|
-
tamanhoPagina: number;
|
|
5774
|
-
ordenarCampo: string;
|
|
5775
|
-
ordenarDesc: boolean;
|
|
5776
|
-
}) => Promise<{
|
|
5777
|
-
itens: TItem[];
|
|
5778
|
-
total: number;
|
|
5779
|
-
}>;
|
|
5780
|
-
gravarListaCache: (itens: TItem[]) => void;
|
|
5781
|
-
pagina?: number;
|
|
5782
|
-
tamanhoPagina?: number;
|
|
5783
|
-
ordenarCampo?: string;
|
|
5784
|
-
ordenarDesc?: boolean;
|
|
5785
|
-
}
|
|
5786
|
-
declare function executarConsultaServidorComPreset<TItem>(opts: ConsultaServidorExecutorOpts<TItem> & {
|
|
5787
|
-
presetId: string | null;
|
|
5788
|
-
valores: ValoresConsultaPresetUi;
|
|
5789
|
-
presets: ConsultaFiltroPreset<string>[];
|
|
5790
|
-
}): Promise<{
|
|
5791
|
-
itens: TItem[];
|
|
5792
|
-
total: number;
|
|
5793
|
-
}>;
|
|
5794
|
-
|
|
5795
|
-
/**
|
|
5796
|
-
* Espelho estável dos valores {@code ComponentType} do backend (protobuf).
|
|
5797
|
-
* Mantido na lib para UI/metadata sem depender do código gerado por `ts_proto`.
|
|
5798
|
-
*/
|
|
5799
|
-
declare enum ComponentType {
|
|
5800
|
-
UNSPECIFIED = 0,
|
|
5801
|
-
TEXT = 1,
|
|
5802
|
-
PASSWORD = 2,
|
|
5803
|
-
NUMBER = 3,
|
|
5804
|
-
CHECKBOX = 4,
|
|
5805
|
-
TEXTAREA = 5,
|
|
5806
|
-
SEARCH_SELECT = 6,
|
|
5807
|
-
MULTI_SELECT = 7,
|
|
5808
|
-
LIST_SELECT = 8,
|
|
5809
|
-
MULTI_SELECT_REQUIRED_DEFAULT = 9,
|
|
5810
|
-
LIST_SELECT_REQUIRED_DEFAULT = 10,
|
|
5811
|
-
DECIMAL = 11,
|
|
5812
|
-
DATE_TIME = 12,
|
|
5813
|
-
COLLECTION = 13,
|
|
5814
|
-
/** Cadastro: upload de imagem com URL persistida (linha de coleção / campo simples). */
|
|
5815
|
-
MIDIA_UPLOAD = 14,
|
|
5816
|
-
/** Cadastro: interruptor estilo «switch» (booleano). */
|
|
5817
|
-
SWITCH_BOX = 15,
|
|
5818
|
-
/** Cadastro: cor em hexadecimal com seletor nativo e campo texto. */
|
|
5819
|
-
COLOR_PICKER = 16,
|
|
5820
|
-
/** Cadastro: telefone com máscara BR. */
|
|
5821
|
-
PHONE = 17,
|
|
5822
|
-
/** Cadastro: e-mail. */
|
|
5823
|
-
EMAIL = 18,
|
|
5824
|
-
/** Cadastro: CPF ou CNPJ com máscara. */
|
|
5825
|
-
CPF_CNPJ = 19,
|
|
5826
|
-
/** Cadastro: coleção 1:N somente leitura (lista/grelha sem editor). */
|
|
5827
|
-
READONLY_COLLECTION = 20,
|
|
5828
|
-
/** Cadastro: editor de script completo (painel monoespaçado com cópia). */
|
|
5829
|
-
SCRIPT_EDITOR = 21,
|
|
5830
|
-
UNRECOGNIZED = -1
|
|
5831
|
-
}
|
|
5832
|
-
|
|
5833
|
-
/** Espelho de {@code ContainerLayoutSize} (metadata cadastro). */
|
|
5834
|
-
declare enum ContainerLayoutSize {
|
|
5835
|
-
CONTAINER_LAYOUT_SIZE_UNSPECIFIED = 0,
|
|
5836
|
-
CONTAINER_LAYOUT_SIZE_MD = 1,
|
|
5837
|
-
CONTAINER_LAYOUT_SIZE_LG = 2,
|
|
5838
|
-
CONTAINER_LAYOUT_SIZE_XL = 3,
|
|
5839
|
-
UNRECOGNIZED = -1
|
|
5840
|
-
}
|
|
5841
|
-
/** Espelho de {@code CadastroSectionPanelLayout}. */
|
|
5842
|
-
declare enum CadastroSectionPanelLayout {
|
|
5843
|
-
CADASTRO_SECTION_PANEL_LAYOUT_UNSPECIFIED = 0,
|
|
5844
|
-
CADASTRO_SECTION_PANEL_LAYOUT_CARD = 1,
|
|
5845
|
-
CADASTRO_SECTION_PANEL_LAYOUT_PLAIN = 2,
|
|
5846
|
-
UNRECOGNIZED = -1
|
|
5847
|
-
}
|
|
5848
|
-
/** Espelho de {@code FormCollectionLayout} no metadata cadastro (coleção 1:N). */
|
|
5849
|
-
declare enum FormCollectionLayout {
|
|
5850
|
-
FORM_COLLECTION_LAYOUT_UNSPECIFIED = 0,
|
|
5851
|
-
FORM_COLLECTION_LAYOUT_CARD_LIST = 1,
|
|
5852
|
-
FORM_COLLECTION_LAYOUT_TABLE = 2,
|
|
5853
|
-
FORM_COLLECTION_LAYOUT_INLINE_ROWS = 3,
|
|
5854
|
-
UNRECOGNIZED = -1
|
|
5855
|
-
}
|
|
5856
|
-
/** Espelho de {@code FileUploadType} no metadata cadastro — upload em lote na UI da coleção. */
|
|
5857
|
-
declare enum FileUploadType {
|
|
5858
|
-
FILE_UPLOAD_TYPE_UNSPECIFIED = 0,
|
|
5859
|
-
FILE_UPLOAD_TYPE_SINGLE = 1,
|
|
5860
|
-
FILE_UPLOAD_TYPE_MULTIPLE = 2,
|
|
5861
|
-
UNRECOGNIZED = -1
|
|
5862
|
-
}
|
|
5863
|
-
/** Espelho de {@code CadastroCollectionGridColumnFormat} — alinhado numericamente a {@link ConsultaGridColumnFormat}. */
|
|
5864
|
-
declare enum CadastroCollectionGridColumnFormat {
|
|
5865
|
-
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_UNSPECIFIED = 0,
|
|
5866
|
-
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_NONE = 1,
|
|
5867
|
-
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_TRIM = 2,
|
|
5868
|
-
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_CURRENCY = 3,
|
|
5869
|
-
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_DECIMAL = 4,
|
|
5870
|
-
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_DATE = 5,
|
|
5871
|
-
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_DATE_TIME = 6,
|
|
5872
|
-
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_ACTIVE_STATUS = 7,
|
|
5873
|
-
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_DOCUMENTO = 8,
|
|
5874
|
-
CADASTRO_COLLECTION_GRID_COLUMN_FORMAT_OPERACAO_ENM_STATUS = 9,
|
|
5875
|
-
UNRECOGNIZED = -1
|
|
5876
|
-
}
|
|
5877
|
-
|
|
5878
|
-
/**
|
|
5879
|
-
* Espelho numérico de {@code ReferenceOptionPreset} em metadata-cadastro.proto.
|
|
5880
|
-
* Novos cadastros: preferir `formatoRetornoTexto` / `campoRetornoTexto` em vez de presets de domínio.
|
|
5881
|
-
*/
|
|
5882
|
-
declare enum ReferenceOptionPreset {
|
|
5883
|
-
REFERENCE_OPTION_PRESET_AUTO = 0,
|
|
5884
|
-
REFERENCE_OPTION_PRESET_ID_NOME = 1,
|
|
5885
|
-
/** @deprecated Prefira `formatoRetornoTexto` e campos estruturais explícitos (`activeOnly`, `sortBy`). */
|
|
5886
|
-
REFERENCE_OPTION_PRESET_ID_NOME_ATIVO = 2,
|
|
5887
|
-
/** @deprecated Prefira `formatoRetornoTexto` = `"{nome} ({documento})"`. */
|
|
5888
|
-
REFERENCE_OPTION_PRESET_ID_NOME_DOCUMENTO = 3,
|
|
5889
|
-
/** @deprecated Sinónimo legado de ID_NOME_DOCUMENTO. Prefira formato com placeholders. */
|
|
5890
|
-
REFERENCE_OPTION_PRESET_PESSOA = 4,
|
|
5891
|
-
UNRECOGNIZED = -1
|
|
5892
|
-
}
|
|
5893
|
-
|
|
5894
|
-
/** Espelha `CadastroReferenciaOpenMode` no protobuf / C#. */
|
|
5895
|
-
declare enum CadastroReferenciaOpenMode {
|
|
5896
|
-
TELA = 0,
|
|
5897
|
-
DIALOG = 1
|
|
5898
|
-
}
|
|
5899
|
-
declare function cadastroReferenciaOpenModeFromWire(value: number | string | null | undefined): CadastroReferenciaOpenMode;
|
|
5900
|
-
type CadastroReferenciaOpenModeWireRef = {
|
|
5901
|
-
openMode?: CadastroReferenciaOpenMode | number | string | null | undefined;
|
|
5902
|
-
open_mode?: CadastroReferenciaOpenMode | number | string | null | undefined;
|
|
5903
|
-
};
|
|
5904
|
-
declare function referenciaOpenModeRaw(ref: CadastroReferenciaOpenModeWireRef | null | undefined): CadastroReferenciaOpenMode | number | string | null | undefined;
|
|
5905
|
-
declare function referenciaAbreEmDialog(ref: CadastroReferenciaOpenModeWireRef | null | undefined): boolean;
|
|
5906
|
-
|
|
5907
|
-
/** Espelho de {@code DeleteConfirmPageConfig}. */
|
|
5908
|
-
interface DeleteConfirmPageConfig {
|
|
5909
|
-
title: string;
|
|
5910
|
-
message: string;
|
|
5911
|
-
confirmLabel: string;
|
|
5912
|
-
}
|
|
5913
|
-
/** Espelho de {@code DuplicatePageConfig}. */
|
|
5914
|
-
interface DuplicatePageConfig {
|
|
5915
|
-
enabled: boolean;
|
|
5916
|
-
label: string;
|
|
5917
|
-
title: string;
|
|
5918
|
-
message: string;
|
|
5919
|
-
successMessage: string;
|
|
5920
|
-
}
|
|
5921
|
-
/** Espelho de {@code CadastroToolbarButtonDto}. */
|
|
5922
|
-
interface CadastroToolbarButtonDto {
|
|
5923
|
-
actionId: string;
|
|
5924
|
-
label: string;
|
|
5925
|
-
variant: string;
|
|
5926
|
-
iconClass: string;
|
|
5927
|
-
order: number;
|
|
5928
|
-
visibleOnEditOnly: boolean;
|
|
5929
|
-
disableWhileBusy: boolean;
|
|
5930
|
-
}
|
|
5931
|
-
/** Aba metadata-driven no cadastro (`[PageTab]` no servidor). */
|
|
5932
|
-
interface CadastroPageTabDto {
|
|
5933
|
-
key: string;
|
|
5934
|
-
label: string;
|
|
5935
|
-
icon: string;
|
|
5936
|
-
order: number;
|
|
5937
|
-
}
|
|
5938
|
-
/** Componente customizado por tag na página metadata-driven. */
|
|
5939
|
-
interface CadastroPageComponentDto {
|
|
5940
|
-
region: string;
|
|
5941
|
-
tag: string;
|
|
5942
|
-
order: number;
|
|
5943
|
-
inputs?: Readonly<Record<string, string>> | undefined;
|
|
5944
|
-
}
|
|
5945
|
-
/** Ação de rodapé/região na página metadata-driven. */
|
|
5946
|
-
interface CadastroPageActionDto {
|
|
5947
|
-
id: string;
|
|
5948
|
-
label: string;
|
|
5949
|
-
iconClass: string;
|
|
5950
|
-
variant: string;
|
|
5951
|
-
region: string;
|
|
5952
|
-
order: number;
|
|
5953
|
-
}
|
|
5954
|
-
/** Overlay de execução na página metadata-driven. */
|
|
5955
|
-
interface CadastroPageOverlayDto {
|
|
5956
|
-
tag: string;
|
|
5957
|
-
visibleExpression: string;
|
|
5958
|
-
inputs?: Readonly<Record<string, string>> | undefined;
|
|
5959
|
-
}
|
|
5960
|
-
interface CadastroFormPageLayout {
|
|
5961
|
-
containerLayoutSize: ContainerLayoutSize;
|
|
5962
|
-
fieldsPerRow: number;
|
|
5963
|
-
validationSummaryFlags: number;
|
|
5964
|
-
pageTitleNovo: string;
|
|
5965
|
-
pageSubtitle: string;
|
|
5966
|
-
pageTitleEditar: string;
|
|
5967
|
-
pageTitleConsulta: string;
|
|
5968
|
-
pageToastTitle: string;
|
|
5969
|
-
entityName: string;
|
|
5970
|
-
entityLabel: string;
|
|
5971
|
-
routeList: string;
|
|
5972
|
-
routeNew: string;
|
|
5973
|
-
routeEdit: string;
|
|
5974
|
-
serviceKey: string;
|
|
5975
|
-
formDraftEnabled: boolean;
|
|
5976
|
-
deleteConfirmConfig?: DeleteConfirmPageConfig | undefined;
|
|
5977
|
-
duplicateConfig?: DuplicatePageConfig | undefined;
|
|
5978
|
-
toolbarButtons?: readonly CadastroToolbarButtonDto[] | undefined;
|
|
5979
|
-
/** Abas opcionais na raiz do metadata; vazio ⇒ sem TabBar extra na UI. */
|
|
5980
|
-
pageTabs?: readonly CadastroPageTabDto[] | undefined;
|
|
5981
|
-
/** Componentes customizados por tag (`[PageComponent]`). */
|
|
5982
|
-
pageComponents?: readonly CadastroPageComponentDto[] | undefined;
|
|
5983
|
-
/** Ações de rodapé/região (`[PageAction]`). */
|
|
5984
|
-
pageActions?: readonly CadastroPageActionDto[] | undefined;
|
|
5985
|
-
/** Overlay opcional (`[PageOverlay]`). */
|
|
5986
|
-
pageOverlay?: CadastroPageOverlayDto | undefined;
|
|
5987
|
-
/** Espelha `[PageMetadata(NotFoundMessage = …)]`. */
|
|
5988
|
-
notFoundMessage?: string;
|
|
5989
|
-
/** Espelha `[PageMetadata(CreateSuccessMessage = …)]`. */
|
|
5990
|
-
createSuccessMessage?: string;
|
|
5991
|
-
/** Espelha `[PageMetadata(UpdateSuccessMessage = …)]`. */
|
|
5992
|
-
updateSuccessMessage?: string;
|
|
5993
|
-
/** Espelha `[PageMetadata(SaveSuccessMessage = …)]`. */
|
|
5994
|
-
saveSuccessMessage?: string;
|
|
5995
|
-
/** Espelha `[PageMetadata(DeleteSuccessMessage = …)]`. */
|
|
5996
|
-
deleteSuccessMessage?: string;
|
|
5997
|
-
/** Espelha `[PageMetadata(ShowNewButton = …)]`; omisso ⇒ mostra «Novo». */
|
|
5998
|
-
showNewButton?: boolean;
|
|
5999
|
-
/** Espelha `[PageMetadata(ShowSaveButton = …)]`; omisso ⇒ mostra «Salvar». */
|
|
6000
|
-
showSaveButton?: boolean;
|
|
6001
|
-
/** Espelha `[PageMetadata(ShowDeleteButton = …)]`; omisso ⇒ mostra «Excluir». */
|
|
6002
|
-
showDeleteButton?: boolean;
|
|
6003
|
-
/** Espelha `[PageMetadata(UseBackToTopButton = …)]`; omisso ⇒ mostra botão «Voltar ao topo». */
|
|
6004
|
-
useBackToTopButton?: boolean | null;
|
|
6005
|
-
/** Espelha `[PageMetadata(PreserveActiveTab = …)]`; omisso ⇒ não restaura aba ao voltar de RotaReferência. */
|
|
6006
|
-
preserveActiveTab?: boolean | null;
|
|
6007
|
-
/**
|
|
6008
|
-
* Page shell: `true` mantém todas as abas no DOM; omisso/`false` ⇒ lazy (só aba activa monta conteúdo).
|
|
6009
|
-
*/
|
|
6010
|
-
pageTabsKeepAlive?: boolean | null;
|
|
6011
|
-
/** Estados dinâmicos de ações por chave (ex.: `sites.create`). */
|
|
6012
|
-
actionStates?: Readonly<Record<string, CadastroActionStateDto$1>> | undefined;
|
|
6013
|
-
}
|
|
6014
|
-
/** Espelho de {@code CadastroActionStateDto}. */
|
|
6015
|
-
interface CadastroActionStateDto$1 {
|
|
6016
|
-
visible: boolean;
|
|
6017
|
-
enabled: boolean;
|
|
6018
|
-
tooltip: string;
|
|
6019
|
-
reason: string;
|
|
6020
|
-
}
|
|
6021
|
-
interface CadastroCampoValidacaoDto {
|
|
6022
|
-
key: string;
|
|
6023
|
-
label: string;
|
|
6024
|
-
fieldId: string;
|
|
6025
|
-
rules: string[];
|
|
6026
|
-
maxLength: number;
|
|
6027
|
-
}
|
|
6028
|
-
interface CadastroCampoReferenciaMetadataDto {
|
|
6029
|
-
entidade: string;
|
|
6030
|
-
serviceKey: string;
|
|
6031
|
-
origemInline: string;
|
|
6032
|
-
rotaNovo: string;
|
|
6033
|
-
rotaAlterar: string;
|
|
6034
|
-
permitirCriar: boolean;
|
|
6035
|
-
permitirAlterar: boolean;
|
|
6036
|
-
tooltipDica: string;
|
|
6037
|
-
labelAlterar: string;
|
|
6038
|
-
iconAlterar: string;
|
|
6039
|
-
hostPath: string;
|
|
6040
|
-
draftCacheKey: string;
|
|
6041
|
-
labelTargetField: string;
|
|
6042
|
-
documentTargetField: string;
|
|
6043
|
-
/** Omisso ou vazio + preset AUTO ⇒ pode usar {@link CadastroReferenceRegistryEntry.mapOptions} legado. */
|
|
6044
|
-
valueField: string;
|
|
6045
|
-
labelField: string;
|
|
6046
|
-
descriptionField: string;
|
|
6047
|
-
activeField: string;
|
|
6048
|
-
activeOnly: boolean;
|
|
6049
|
-
sortBy: string;
|
|
6050
|
-
sortAscending: boolean;
|
|
6051
|
-
optionPreset: ReferenceOptionPreset;
|
|
6052
|
-
/** Omisso ou `0` ⇒ search-select / grelha usam 15. */
|
|
6053
|
-
pageSize?: number | undefined;
|
|
6054
|
-
/** Teto de pageSize em busca remota; omisso ⇒ 50. */
|
|
6055
|
-
maxPageSize?: number | undefined;
|
|
6056
|
-
/** Lista paginada no servidor (SearchSelect grande). */
|
|
6057
|
-
paginated?: boolean | undefined;
|
|
6058
|
-
/** Busca com filtro no servidor. */
|
|
6059
|
-
serverSideSearch?: boolean | undefined;
|
|
6060
|
-
/** Colunas para OR na busca (ex.: `nome,uf,localizacao_texto`). */
|
|
6061
|
-
searchFields?: string | undefined;
|
|
6062
|
-
/** Perfil de busca no servidor (0=padrão, 1=município BR). */
|
|
6063
|
-
buscaPerfil?: number | undefined;
|
|
6064
|
-
/**
|
|
6065
|
-
* Campo do DTO devolvido pelo cadastro filho para repor o valor do controlo (inline).
|
|
6066
|
-
* Omisso ⇒ `valueField` (por defeito `id`).
|
|
6067
|
-
*/
|
|
6068
|
-
campoRetornoValor?: string | undefined;
|
|
6069
|
-
/** Texto base quando não há `formatoRetornoTexto`; omisso ⇒ `labelField` (`nome`). */
|
|
6070
|
-
campoRetornoTexto?: string | undefined;
|
|
6071
|
-
/** Rótulo com `{campo}` sobre o registo devolvido; omisso ⇒ sem formato. */
|
|
6072
|
-
formatoRetornoTexto?: string | null | undefined;
|
|
6073
|
-
/** Omisso ⇒ {@link CadastroReferenciaOpenMode.TELA}. */
|
|
6074
|
-
openMode?: CadastroReferenciaOpenMode | undefined;
|
|
6075
|
-
/** Chave RBAC para visualizar/navegar; omisso ⇒ política do host por rota. */
|
|
6076
|
-
permissaoVisualizar?: string | undefined;
|
|
6077
|
-
/** Chave RBAC para o atalho «+»; omisso ⇒ política do host por rota. */
|
|
6078
|
-
permissaoCriar?: string | undefined;
|
|
6079
|
-
/** Chave RBAC para o atalho «Alterar»; omisso ⇒ política do host por rota. */
|
|
6080
|
-
permissaoEditar?: string | undefined;
|
|
6081
|
-
/** Chaves RBAC para visualizar/navegar (lista). */
|
|
6082
|
-
permissoesVisualizar?: readonly string[] | undefined;
|
|
6083
|
-
/** Chaves RBAC para o atalho «+» (lista). */
|
|
6084
|
-
permissoesCriar?: readonly string[] | undefined;
|
|
6085
|
-
/** Chaves RBAC para o atalho «Alterar» (lista). */
|
|
6086
|
-
permissoesEditar?: readonly string[] | undefined;
|
|
6087
|
-
/** Como validar listas de permissões (`All` default). */
|
|
6088
|
-
modoPermissao?: 'All' | 'Any' | undefined;
|
|
6089
|
-
/** Chave fixa de ação para o atalho «+» (ex.: `sites.create`). */
|
|
6090
|
-
actionKeyCreate?: string | undefined;
|
|
6091
|
-
/** Chave fixa de ação para «Alterar» (ex.: `sites.edit`). */
|
|
6092
|
-
actionKeyEdit?: string | undefined;
|
|
6093
|
-
/** Chave fixa de ação para visualizar/abrir (ex.: `sites.view`). */
|
|
6094
|
-
actionKeyView?: string | undefined;
|
|
6095
|
-
}
|
|
6096
|
-
interface CadastroCampoSelectOptionDto {
|
|
6097
|
-
value: string;
|
|
6098
|
-
label: string;
|
|
6099
|
-
description: string;
|
|
6100
|
-
}
|
|
6101
|
-
interface CadastroCampoMetadataDto {
|
|
6102
|
-
key: string;
|
|
6103
|
-
label: string;
|
|
6104
|
-
fieldId: string;
|
|
6105
|
-
rules: string[];
|
|
6106
|
-
maxLength: number;
|
|
6107
|
-
componentType: ComponentType;
|
|
6108
|
-
ordem: number;
|
|
6109
|
-
placeholder: string;
|
|
6110
|
-
width: string;
|
|
6111
|
-
hidden: boolean;
|
|
6112
|
-
readOnly: boolean;
|
|
6113
|
-
requiredMark: boolean;
|
|
6114
|
-
dense: boolean;
|
|
6115
|
-
autoFocus: boolean;
|
|
6116
|
-
hint: string;
|
|
6117
|
-
visibleOnCreate: boolean;
|
|
6118
|
-
visibleOnEdit: boolean;
|
|
6119
|
-
defaultValue: string;
|
|
6120
|
-
prefixIcon: string;
|
|
6121
|
-
suffixIcon: string;
|
|
6122
|
-
flex: number;
|
|
6123
|
-
clearable: boolean;
|
|
6124
|
-
referencia?: CadastroCampoReferenciaMetadataDto | undefined;
|
|
6125
|
-
enumOptionsKey: string;
|
|
6126
|
-
errosMsg: string;
|
|
6127
|
-
mostrarErrorMsg?: boolean | undefined;
|
|
6128
|
-
/**
|
|
6129
|
-
* `MIDIA_UPLOAD` / bulk na coleção: omisso ⇒ `true` (painel de pré-visualização).
|
|
6130
|
-
* `false` ⇒ lista ocupa a largura com scroll.
|
|
6131
|
-
*/
|
|
6132
|
-
mostrarPreview?: boolean | undefined;
|
|
6133
|
-
sectionKey: string;
|
|
6134
|
-
sectionTitle: string;
|
|
6135
|
-
sectionSubtitle: string;
|
|
6136
|
-
sectionCollapsible: boolean;
|
|
6137
|
-
sectionInitiallyCollapsed: boolean;
|
|
6138
|
-
/** Omisso no wire ⇒ automático no cliente quando `sectionCollapsible`. */
|
|
6139
|
-
sectionPersistExpandedState?: boolean | undefined;
|
|
6140
|
-
sectionReadOnly: boolean;
|
|
6141
|
-
sectionPanelLayout: CadastroSectionPanelLayout;
|
|
6142
|
-
/**
|
|
6143
|
-
* Colunas por linha na UI (grelha metadata).
|
|
6144
|
-
* Em campos normais espelha `[Container(FieldsPerRow = …)]`.
|
|
6145
|
-
* Em `componentType === COLLECTION`, espelha `[FormCollection(FieldsPerRow = …)]` na **capa** (editor acima da lista); **não** afecta colunas da grelha de linhas.
|
|
6146
|
-
*/
|
|
6147
|
-
sectionFieldsPerRow: number;
|
|
6148
|
-
/**
|
|
6149
|
-
* `[Container]` aninhado: chave do grupo pai (ex.: `aparencia`).
|
|
6150
|
-
* O cliente monta `subsecoes` no pai e aplica `sectionParent*` no chrome exterior.
|
|
6151
|
-
*/
|
|
6152
|
-
sectionParentKey?: string | undefined;
|
|
6153
|
-
sectionParentTitle?: string | undefined;
|
|
6154
|
-
sectionParentCollapsible?: boolean | undefined;
|
|
6155
|
-
sectionParentInitiallyCollapsed?: boolean | undefined;
|
|
6156
|
-
sectionParentPanelLayout?: CadastroSectionPanelLayout | undefined;
|
|
6157
|
-
/** Opções enviadas pelo servidor (ex.: enum); omisso ⇒ {@link enumOptionsKey} no registry legado. */
|
|
6158
|
-
selectOptions: readonly CadastroCampoSelectOptionDto[];
|
|
6159
|
-
/** Coleção 1:N (`componentType === COLLECTION`). */
|
|
6160
|
-
description?: string | undefined;
|
|
6161
|
-
addButtonLabel?: string | undefined;
|
|
6162
|
-
/** Texto do botão ao editar linha seleccionada; vazio ⇒ só ícone (`alterar_button_label` no wire). */
|
|
6163
|
-
alterarButtonLabel?: string | undefined;
|
|
6164
|
-
removeButtonLabel?: string | undefined;
|
|
6165
|
-
minItems?: number | undefined;
|
|
6166
|
-
maxItems?: number | undefined;
|
|
6167
|
-
reorderable?: boolean | undefined;
|
|
6168
|
-
collectionLayout?: FormCollectionLayout | undefined;
|
|
6169
|
-
/** `[FormCollection(Layout = …)]` — igual ao painel de `[Container]`; só para `COLLECTION`. Omisso ⇒ cartão; só `PLAIN` é superfície sem contorno. */
|
|
6170
|
-
collectionPanelLayout?: CadastroSectionPanelLayout | undefined;
|
|
6171
|
-
itemFields?: readonly CadastroCampoMetadataDto[] | undefined;
|
|
6172
|
-
/**
|
|
6173
|
-
* Linha de coleção: integrar na grelha só quando `true`, após o servidor enviar modo explícito (`[GridColumn]`).
|
|
6174
|
-
* Omisso ⇒ todas as propriedades visíveis da linha entram na grelha (legado).
|
|
6175
|
-
*/
|
|
6176
|
-
collectionItemGridColumn?: boolean | undefined;
|
|
6177
|
-
/** Cabeçalho na grelha; omisso usa {@link label}. */
|
|
6178
|
-
collectionGridHeader?: string | undefined;
|
|
6179
|
-
collectionGridColumnFormat?: CadastroCollectionGridColumnFormat | undefined;
|
|
6180
|
-
collectionGridWidthPx?: number | undefined;
|
|
6181
|
-
/**
|
|
6182
|
-
* `[GridColumn(ReadOnly = …)]` na linha: `true` (por defeito no servidor) ⇒ célula só leitura na grelha.
|
|
6183
|
-
* Omisso ⇒ o cliente não aplica trava extra (só `readOnly` do `FormField`).
|
|
6184
|
-
*/
|
|
6185
|
-
collectionGridReadOnly?: boolean | undefined;
|
|
6186
|
-
/**
|
|
6187
|
-
* `[GridColumn(ComponentType = …)]` — tipo de controlo na grelha da coleção.
|
|
6188
|
-
* `UNSPECIFIED` / omisso ⇒ usa-se `componentType` do `[FormField]`.
|
|
6189
|
-
*/
|
|
6190
|
-
collectionGridComponentType?: ComponentType | undefined;
|
|
6191
|
-
/** `[ValidationSummary]` na classe do elemento da coleção — espelho de `collection_item_validation_summary_flags`. */
|
|
6192
|
-
collectionItemValidationSummaryFlags?: number | undefined;
|
|
6193
|
-
/** Mensagem no resumo quando a lista não atinge `min_items`; omisso ⇒ «A lista não pode ser vazia». */
|
|
6194
|
-
collectionMinItemsMessage?: string | undefined;
|
|
6195
|
-
/**
|
|
6196
|
-
* Omisso ou `true`: decimal com prefixo monetário na UI (ex. `R$`).
|
|
6197
|
-
* `false`: formato decimal sem prefixo — ex. quantidade (`[FormField(Monetary = false)]` no servidor).
|
|
6198
|
-
*/
|
|
6199
|
-
monetary?: boolean | undefined;
|
|
6200
|
-
/** `SCRIPT_EDITOR`: altura mínima do painel (ex.: `220px`). */
|
|
6201
|
-
scriptEditorMinHeight?: string | undefined;
|
|
6202
|
-
/** `SCRIPT_EDITOR`: linguagem do painel (ex.: `bash`). */
|
|
6203
|
-
scriptEditorLanguage?: string | undefined;
|
|
6204
|
-
/** `[FormCollection(Pageable = …)]` — paginação server-side no cadastro. */
|
|
6205
|
-
pageable?: boolean | undefined;
|
|
6206
|
-
pageSize?: number | undefined;
|
|
6207
|
-
maxPageSize?: number | undefined;
|
|
6208
|
-
/**
|
|
6209
|
-
* Chave do campo na linha (`item_fields.key`, ex.: `produtoId`) para foco ao clicar no resumo quando o erro
|
|
6210
|
-
* é lista vazia / `min_items`. Omisso ⇒ primeiro `item_field` por `ordem`.
|
|
6211
|
-
*/
|
|
6212
|
-
invalidSummaryInputFocus?: string | undefined;
|
|
6213
|
-
/** `[FileUpload]` na propriedade da coleção — `MULTIPLE` activa zona de vários ficheiros + pré-visualização. */
|
|
6214
|
-
collectionFileUploadType?: FileUploadType | undefined;
|
|
6215
|
-
/** Com `MULTIPLE`: máximo por selecção (`[FileUpload(MaxItems)]`); `0` ⇒ cliente assume 5. */
|
|
6216
|
-
collectionFileUploadMaxFiles?: number | undefined;
|
|
6217
|
-
/**
|
|
6218
|
-
* `[FormCollection(MostrarAcaoEditar = …)]` — botão alterar na coluna Ações da grelha.
|
|
6219
|
-
* Omisso / `undefined` ⇒ `true` (mostrar).
|
|
6220
|
-
*/
|
|
6221
|
-
collectionMostrarAcaoEditar?: boolean | undefined;
|
|
6222
|
-
/**
|
|
6223
|
-
* `[FormCollection(MostrarAcaoRemover = …)]` — botão remover na coluna Ações.
|
|
6224
|
-
* Omisso / `undefined` ⇒ `true` (mostrar).
|
|
6225
|
-
*/
|
|
6226
|
-
collectionMostrarAcaoRemover?: boolean | undefined;
|
|
6227
|
-
/**
|
|
6228
|
-
* `[FormCollection(ConfirmDialogOnRemove = …)]` — confirmação antes de remover linha na grelha/cartões.
|
|
6229
|
-
* Omisso / `undefined` ⇒ `true` (pedir confirmação).
|
|
6230
|
-
*/
|
|
6231
|
-
collectionConfirmDialogOnRemove?: boolean | undefined;
|
|
6232
|
-
/**
|
|
6233
|
-
* Chave da aba (`CadastroPageTabDto.key`) quando o campo pertence a um bloco `[PageTab]` na raiz;
|
|
6234
|
-
* vazio ⇒ capa (fora de abas).
|
|
6235
|
-
*/
|
|
6236
|
-
pageTabKey?: string | undefined;
|
|
6237
|
-
}
|
|
6238
|
-
/** Espelho de {@code CadastroCollectionStateDto} no init cadastro. */
|
|
6239
|
-
interface CadastroCollectionStateDto {
|
|
6240
|
-
key: string;
|
|
6241
|
-
pagina: number;
|
|
6242
|
-
tamanhoPagina: number;
|
|
6243
|
-
total: number;
|
|
6660
|
+
tipo: ConsultaValorTipo;
|
|
6244
6661
|
}
|
|
6245
|
-
|
|
6246
|
-
|
|
6247
|
-
|
|
6248
|
-
|
|
6662
|
+
interface ConsultaOperadorOption {
|
|
6663
|
+
id: string;
|
|
6664
|
+
label: string;
|
|
6665
|
+
}
|
|
6666
|
+
/** Paginação e ordenação enviadas ao backend na consulta paginada (chave de cache + RPC). */
|
|
6667
|
+
interface ConsultaListaServidorQuerySlice {
|
|
6249
6668
|
pagina: number;
|
|
6250
6669
|
tamanhoPagina: number;
|
|
6251
6670
|
ordenarCampo: string;
|
|
6252
6671
|
ordenarDesc: boolean;
|
|
6253
6672
|
}
|
|
6254
|
-
|
|
6255
|
-
|
|
6256
|
-
|
|
6257
|
-
|
|
6258
|
-
|
|
6259
|
-
|
|
6260
|
-
|
|
6673
|
+
|
|
6674
|
+
/**
|
|
6675
|
+
* Item de condição persistido num preset (ordem + junção E/OU).
|
|
6676
|
+
* `valorDefault` guarda string (texto ou código de estado bool no cliente, ex. `all`/`yes`/`no`).
|
|
6677
|
+
*/
|
|
6678
|
+
interface ConsultaFiltroItem<TColuna extends string = string> {
|
|
6679
|
+
id: string;
|
|
6680
|
+
coluna: TColuna;
|
|
6681
|
+
operador: string;
|
|
6682
|
+
juncaoOu: boolean;
|
|
6683
|
+
ordem: number;
|
|
6684
|
+
fixo?: boolean;
|
|
6685
|
+
valorDefault: string;
|
|
6261
6686
|
}
|
|
6262
|
-
|
|
6263
|
-
|
|
6264
|
-
|
|
6265
|
-
|
|
6266
|
-
|
|
6267
|
-
|
|
6268
|
-
|
|
6687
|
+
interface ConsultaFiltroPreset<TColuna extends string = string> {
|
|
6688
|
+
id: string;
|
|
6689
|
+
nome: string;
|
|
6690
|
+
visivelTodos?: boolean;
|
|
6691
|
+
itens: ConsultaFiltroItem<TColuna>[];
|
|
6692
|
+
/** Capa do servidor (`FiltroSalvo.qtd_itens`): critérios quando `itens` ainda não está preenchido. */
|
|
6693
|
+
qtdItensCriterios?: number;
|
|
6694
|
+
criadoEm?: string;
|
|
6269
6695
|
}
|
|
6270
|
-
|
|
6271
|
-
|
|
6272
|
-
|
|
6696
|
+
|
|
6697
|
+
declare const OPS_TEXTO: readonly ConsultaOperadorOption[];
|
|
6698
|
+
declare const OPS_BOOL: readonly ConsultaOperadorOption[];
|
|
6699
|
+
declare const OPS_DATA: readonly ConsultaOperadorOption[];
|
|
6700
|
+
/** Campos com multi-seleção no metadata (operador fixo `inlist` no servidor). */
|
|
6701
|
+
declare const OPS_TEXTO_MULTISELECT: readonly ConsultaOperadorOption[];
|
|
6702
|
+
/**
|
|
6703
|
+
* Colunas `datetime`: usar `app-date-field` para qualquer operador excepto `between`
|
|
6704
|
+
* (dois limites continuam num único texto na UI).
|
|
6705
|
+
*/
|
|
6706
|
+
declare function operadorConsultaDatetimeUsaDatePicker(operador: string | null | undefined): boolean;
|
|
6707
|
+
/** Operadores com um único valor de comparação (data/número); exclui between e testes de nulo. */
|
|
6708
|
+
declare function operadorConsultaComValorUnicoComparacao(operador: string | null | undefined): boolean;
|
|
6709
|
+
/** Rótulo em PT-BR para o id do operador (ex.: presets antigos com `contains` em coluna datetime). */
|
|
6710
|
+
declare function rotuloOperadorConsulta(operador: string | null | undefined): string;
|
|
6711
|
+
declare function operadoresPorTipo(tipo: ConsultaValorTipo): readonly ConsultaOperadorOption[];
|
|
6712
|
+
/** Operadores permitidos na UI conforme coluna (inclui ramo multi-seleção do metadata). */
|
|
6713
|
+
declare function operadoresConsultaCampo(coluna: string | null | undefined, ctx: {
|
|
6714
|
+
valorTipoPorColuna: (coluna: string) => ConsultaValorTipo;
|
|
6715
|
+
multiselectColumnIds?: readonly string[] | null;
|
|
6716
|
+
filterSelectColumnIds?: readonly string[] | null;
|
|
6717
|
+
searchSelectColumnIds?: readonly string[] | null;
|
|
6718
|
+
}): readonly ConsultaOperadorOption[];
|
|
6719
|
+
declare function precisaValor(operador: string): boolean;
|
|
6720
|
+
declare function precisaValorFinal(operador: string): boolean;
|
|
6721
|
+
declare function tipoValorApi(tipo: ConsultaValorTipo): string;
|
|
6722
|
+
/**
|
|
6723
|
+
* Presets antigos podem ter `contains` / `startswith` / `endswith` em colunas `datetime`;
|
|
6724
|
+
* o builder SQL só aceita operadores de data. Para valor já normalizado (ex. dia `YYYY-MM-DD`),
|
|
6725
|
+
* `equals` é o equivalente útil.
|
|
6726
|
+
*/
|
|
6727
|
+
declare function normalizarOperadorConsultaParaEnvioServidor(coluna: string, operador: string, valorTipoPorColuna: (col: string) => ConsultaValorTipo): string;
|
|
6728
|
+
|
|
6729
|
+
declare function ordenarFiltroItens<T extends {
|
|
6730
|
+
id: string;
|
|
6731
|
+
ordem: number;
|
|
6732
|
+
}>(itens: T[]): T[];
|
|
6733
|
+
/** Preferência: critérios reais; senão capa `qtdItensCriterios` do preset (proto `qtd_itens`). */
|
|
6734
|
+
declare function qtdCriteriosPresetParaSkeleton<TColuna extends string>(p: ConsultaFiltroPreset<TColuna>): number;
|
|
6735
|
+
interface ConsultaFiltroMatchAdapters<TItem> {
|
|
6736
|
+
textoCampo: (item: TItem, coluna: string) => string;
|
|
6737
|
+
/** Avalia filtro em colunas booleanas (ex. estado activo/inactivo). */
|
|
6738
|
+
evalBoolFilter: (item: TItem, valorRaw: string) => boolean;
|
|
6739
|
+
boolColumnIds: readonly string[];
|
|
6273
6740
|
}
|
|
6274
|
-
/**
|
|
6275
|
-
|
|
6276
|
-
|
|
6277
|
-
|
|
6741
|
+
/** Uma linha satisfaz a condição (valor em `valorRaw`, tipicamente `valoresPorItemId[it.id]`). */
|
|
6742
|
+
declare function consultaPassaItem<TItem>(item: TItem, it: ConsultaFiltroItem<string>, valorRaw: string, adapters: ConsultaFiltroMatchAdapters<TItem>): boolean;
|
|
6743
|
+
declare function consultaPassaTodosItens<TItem>(item: TItem, itens: ConsultaFiltroItem<string>[], valoresPorItemId: Record<string, string>, adapters: ConsultaFiltroMatchAdapters<TItem>): boolean;
|
|
6744
|
+
|
|
6745
|
+
/** Contrato mínimo para itens enviados ao backend (filtros avulsos). */
|
|
6746
|
+
interface FiltroItemEntradaGenerico {
|
|
6747
|
+
campo: string;
|
|
6748
|
+
operador: string;
|
|
6749
|
+
valor: string;
|
|
6750
|
+
valorAte: string;
|
|
6751
|
+
juncao: string;
|
|
6752
|
+
}
|
|
6753
|
+
interface MontarFiltrosServidorPresetOptions<TItem extends FiltroItemEntradaGenerico = FiltroItemEntradaGenerico> {
|
|
6754
|
+
boolColumnIds?: readonly string[];
|
|
6755
|
+
mapLinha?: (linha: FiltroItemEntradaGenerico) => TItem;
|
|
6756
|
+
valorTipoPorColuna?: (coluna: string) => ConsultaValorTipo;
|
|
6757
|
+
}
|
|
6758
|
+
/** @deprecated Use {@link MontarFiltrosServidorPresetOptions}. */
|
|
6759
|
+
type MontarFiltrosGrpcPresetOptions<TItem extends FiltroItemEntradaGenerico = FiltroItemEntradaGenerico> = MontarFiltrosServidorPresetOptions<TItem>;
|
|
6760
|
+
type ValoresConsultaPresetUi = Record<string, string | null | undefined>;
|
|
6761
|
+
/**
|
|
6762
|
+
* Converte preset + valores da UI em lista para filtros avulsos no servidor.
|
|
6763
|
+
*/
|
|
6764
|
+
declare function montarFiltrosServidorPreset<TColuna extends string, TItem extends FiltroItemEntradaGenerico = FiltroItemEntradaGenerico>(preset: ConsultaFiltroPreset<TColuna> | null | undefined, valores: ValoresConsultaPresetUi, options?: MontarFiltrosServidorPresetOptions<TItem>): TItem[];
|
|
6765
|
+
/** @deprecated Use {@link montarFiltrosServidorPreset}. */
|
|
6766
|
+
declare const montarFiltrosGrpcPreset: typeof montarFiltrosServidorPreset;
|
|
6767
|
+
declare const CONSULTA_SERVIDOR_LISTA_QUERY_DEFAULTS: ConsultaListaServidorQuerySlice;
|
|
6768
|
+
interface ConsultaServidorExecutorOpts<TItem> {
|
|
6769
|
+
ensureAuth: () => Promise<void>;
|
|
6770
|
+
montarFiltros: (preset: ConsultaFiltroPreset<string> | undefined, valores: ValoresConsultaPresetUi) => FiltroItemEntradaGenerico[];
|
|
6771
|
+
consultar: (args: {
|
|
6772
|
+
filtrosAvulsos: FiltroItemEntradaGenerico[];
|
|
6773
|
+
pagina: number;
|
|
6774
|
+
tamanhoPagina: number;
|
|
6775
|
+
ordenarCampo: string;
|
|
6776
|
+
ordenarDesc: boolean;
|
|
6777
|
+
}) => Promise<{
|
|
6778
|
+
itens: TItem[];
|
|
6779
|
+
total: number;
|
|
6780
|
+
}>;
|
|
6781
|
+
gravarListaCache: (itens: TItem[]) => void;
|
|
6782
|
+
pagina?: number;
|
|
6783
|
+
tamanhoPagina?: number;
|
|
6784
|
+
ordenarCampo?: string;
|
|
6785
|
+
ordenarDesc?: boolean;
|
|
6786
|
+
}
|
|
6787
|
+
declare function executarConsultaServidorComPreset<TItem>(opts: ConsultaServidorExecutorOpts<TItem> & {
|
|
6788
|
+
presetId: string | null;
|
|
6789
|
+
valores: ValoresConsultaPresetUi;
|
|
6790
|
+
presets: ConsultaFiltroPreset<string>[];
|
|
6791
|
+
}): Promise<{
|
|
6792
|
+
itens: TItem[];
|
|
6793
|
+
total: number;
|
|
6794
|
+
}>;
|
|
6278
6795
|
|
|
6279
6796
|
declare enum ConsultaGridColumnFormat {
|
|
6280
6797
|
CONSULTA_GRID_COLUMN_FORMAT_UNSPECIFIED = 0,
|
|
@@ -6332,6 +6849,18 @@ interface ConsultaEnumSelectOptionDto {
|
|
|
6332
6849
|
label: string;
|
|
6333
6850
|
description?: string | undefined;
|
|
6334
6851
|
}
|
|
6852
|
+
interface ConsultaGridNavigateDto {
|
|
6853
|
+
route: string;
|
|
6854
|
+
idProperty: string;
|
|
6855
|
+
tooltip?: string | undefined;
|
|
6856
|
+
icon?: string | undefined;
|
|
6857
|
+
openMode?: number | undefined;
|
|
6858
|
+
permission?: string | undefined;
|
|
6859
|
+
hideWhenNull?: boolean | undefined;
|
|
6860
|
+
queryParamName?: string | undefined;
|
|
6861
|
+
routeParamName?: string | undefined;
|
|
6862
|
+
preserveNavigationState?: boolean | undefined;
|
|
6863
|
+
}
|
|
6335
6864
|
interface ConsultaGridColunaDto {
|
|
6336
6865
|
key: string;
|
|
6337
6866
|
header: string;
|
|
@@ -6341,6 +6870,8 @@ interface ConsultaGridColunaDto {
|
|
|
6341
6870
|
columnFormat: ConsultaGridColumnFormat;
|
|
6342
6871
|
/** Opções enum quando `column_format` = ENUM. */
|
|
6343
6872
|
selectOptions?: readonly ConsultaEnumSelectOptionDto[] | undefined;
|
|
6873
|
+
/** Navegação para cadastro relacionado (`[GridNavigate]`). */
|
|
6874
|
+
navigate?: ConsultaGridNavigateDto | undefined;
|
|
6344
6875
|
}
|
|
6345
6876
|
interface ConsultaCardCampoDto {
|
|
6346
6877
|
key: string;
|
|
@@ -7543,6 +8074,25 @@ type ConsultaGridColunaDtoLike = {
|
|
|
7543
8074
|
columnFormat?: number;
|
|
7544
8075
|
selectOptions?: readonly DataGridEnumOption[];
|
|
7545
8076
|
select_options?: readonly DataGridEnumOption[];
|
|
8077
|
+
navigate?: GridNavigateConfigWire | undefined;
|
|
8078
|
+
};
|
|
8079
|
+
type GridNavigateConfigWire = {
|
|
8080
|
+
route?: string;
|
|
8081
|
+
idProperty?: string;
|
|
8082
|
+
id_property?: string;
|
|
8083
|
+
tooltip?: string;
|
|
8084
|
+
icon?: string;
|
|
8085
|
+
openMode?: number;
|
|
8086
|
+
open_mode?: number;
|
|
8087
|
+
permission?: string;
|
|
8088
|
+
hideWhenNull?: boolean;
|
|
8089
|
+
hide_when_null?: boolean;
|
|
8090
|
+
queryParamName?: string;
|
|
8091
|
+
query_param_name?: string;
|
|
8092
|
+
routeParamName?: string;
|
|
8093
|
+
route_param_name?: string;
|
|
8094
|
+
preserveNavigationState?: boolean;
|
|
8095
|
+
preserve_navigation_state?: boolean;
|
|
7546
8096
|
};
|
|
7547
8097
|
type ConsultaMetadataReplyLike = {
|
|
7548
8098
|
campos?: ConsultaMetadataCampo[];
|
|
@@ -7598,6 +8148,8 @@ declare const CONSULTA_PEDIDOS_GRID_OPTS: MapConsultaGridColunasOpts;
|
|
|
7598
8148
|
/** Deriva remaps `*Fmt` a partir de `column_format` nas colunas gRPC; `base` sobrepõe inferidos em chaves repetidas. */
|
|
7599
8149
|
declare function mergeMapConsultaGridColunasOptsComColumnFormat(colunas: readonly ConsultaGridColunaDtoLike[] | undefined, base?: MapConsultaGridColunasOpts): MapConsultaGridColunasOpts | undefined;
|
|
7600
8150
|
declare function tipoCampoMetadataParaUi(tipo: string): ConsultaValorTipo;
|
|
8151
|
+
/** Converte `navigate` da coluna gRPC/metadata para config da grelha/cartão. */
|
|
8152
|
+
declare function mapGridNavigateFromColuna(col: ConsultaGridColunaDtoLike): GridNavigateConfig | undefined;
|
|
7601
8153
|
/** Monta colunas `structra-ui` a partir do metadata gRPC; acrescenta sempre a coluna de acções. */
|
|
7602
8154
|
declare function mapConsultaGridColunasParaDataGrid(colunas: readonly ConsultaGridColunaDtoLike[], opts?: MapConsultaGridColunasOpts): DataGridColumn<Record<string, unknown>>[];
|
|
7603
8155
|
/**
|
|
@@ -7959,9 +8511,12 @@ declare class ConsultaBasePageComponent implements OnInit, AfterViewInit, OnDest
|
|
|
7959
8511
|
private readonly bp;
|
|
7960
8512
|
private readonly destroyRef;
|
|
7961
8513
|
private readonly host;
|
|
8514
|
+
private readonly scrollState;
|
|
8515
|
+
private scrollPreserveHostDetach;
|
|
7962
8516
|
readonly scrollContainer: _angular_core.WritableSignal<HTMLElement | null>;
|
|
7963
8517
|
readonly isMobileLayout: _angular_core.WritableSignal<boolean>;
|
|
7964
8518
|
readonly mostrarBotaoVoltarTopoMobile: _angular_core.Signal<boolean>;
|
|
8519
|
+
readonly gridNavigatePreserve: _angular_core.Signal<GridNavigatePreserveContext | null>;
|
|
7965
8520
|
constructor();
|
|
7966
8521
|
private readonly cadastroFiltroDialog;
|
|
7967
8522
|
/** Template: `contextMenuId` do select «Filtro». */
|
|
@@ -8029,6 +8584,13 @@ declare class ConsultaBasePageComponent implements OnInit, AfterViewInit, OnDest
|
|
|
8029
8584
|
* Evita mostrar só a coluna «Ações» ({@link GRID_BOOTSTRAP_VAZIO}) antes das colunas de dados.
|
|
8030
8585
|
*/
|
|
8031
8586
|
readonly listaGrelhaExibirLoading: _angular_core.Signal<boolean>;
|
|
8587
|
+
/**
|
|
8588
|
+
* Skeleton instantâneo (antes do metadata): footer da grelha só com chrome, sem texto de paginação.
|
|
8589
|
+
* Mantém chrome-only enquanto não houver colunas de dados — inclusive com {@link carregandoListaExplicito}
|
|
8590
|
+
* no arranque (`ativarSkeletonGrelhaArranqueFetchSeNecessario`). Com colunas reais, o loading explícito
|
|
8591
|
+
* pode mostrar o placeholder de paginação («0 a 0 de 0»).
|
|
8592
|
+
*/
|
|
8593
|
+
readonly gridPlaceholderPagerChromeOnly: _angular_core.Signal<boolean>;
|
|
8032
8594
|
readonly items: _angular_core.WritableSignal<unknown[]>;
|
|
8033
8595
|
readonly painelFiltroRecolhido: _angular_core.WritableSignal<boolean>;
|
|
8034
8596
|
readonly presets: _angular_core.WritableSignal<ConsultaFiltroPreset<string>[]>;
|
|
@@ -8078,6 +8640,7 @@ declare class ConsultaBasePageComponent implements OnInit, AfterViewInit, OnDest
|
|
|
8078
8640
|
private finalizarArranqueConsulta;
|
|
8079
8641
|
ngAfterViewInit(): void;
|
|
8080
8642
|
private syncScrollContainer;
|
|
8643
|
+
private attachConsultaPageHostScrollPreserve;
|
|
8081
8644
|
ngOnDestroy(): void;
|
|
8082
8645
|
private fmtData;
|
|
8083
8646
|
colunaTituloCurto(coluna: string): string;
|
|
@@ -8217,11 +8780,7 @@ declare function resolveConsultaNavKeysFromPageLayout(layout: CadastroFormPageLa
|
|
|
8217
8780
|
voltarSemRecarregar: string;
|
|
8218
8781
|
navIdRemovidoKey?: string;
|
|
8219
8782
|
};
|
|
8220
|
-
type ConsultaMapCardLinha =
|
|
8221
|
-
title: string;
|
|
8222
|
-
subtitle: string;
|
|
8223
|
-
avatarText: string;
|
|
8224
|
-
};
|
|
8783
|
+
type ConsultaMapCardLinha = CardItemView;
|
|
8225
8784
|
/**
|
|
8226
8785
|
* Deriva `consultaListaQuerySlice` da metadata `[GridConfig]` (`InitConsultaReply.metadata.grid_config`).
|
|
8227
8786
|
* Omissão ou campo vazio ⇒ `undefined` (o runtime usa só defaults globais).
|
|
@@ -8868,14 +9427,6 @@ interface BuildCadastroPageRuntimeOptions {
|
|
|
8868
9427
|
*/
|
|
8869
9428
|
declare function buildCadastroPageRuntime<TFormValue, TResponse>(config: CadastroPageConfig<TFormValue, TResponse>, deps: CadastroRuntimeDeps, options?: BuildCadastroPageRuntimeOptions): CadastroPageRuntime<TResponse>;
|
|
8870
9429
|
|
|
8871
|
-
/** Espelho de {@code CadastroActionStateDto}. */
|
|
8872
|
-
type CadastroActionStateDto = {
|
|
8873
|
-
readonly visible: boolean;
|
|
8874
|
-
readonly enabled: boolean;
|
|
8875
|
-
readonly tooltip: string;
|
|
8876
|
-
readonly reason: string;
|
|
8877
|
-
};
|
|
8878
|
-
|
|
8879
9430
|
/** Parâmetros de uma página remota para SearchSelect de referência. */
|
|
8880
9431
|
interface CadastroReferenceListPageParams {
|
|
8881
9432
|
readonly query: string;
|
|
@@ -10980,75 +11531,6 @@ declare function computeReferenciaHasMore(page: number, pageSize: number, itemsC
|
|
|
10980
11531
|
/** Normaliza resposta gRPC/API de referência paginada. */
|
|
10981
11532
|
declare function toCadastroReferenceListPageResult<TItem>(items: readonly TItem[], total: number, params: Pick<CadastroReferenceListPageParams, 'page' | 'pageSize'>, hasMore?: boolean): CadastroReferenceListPageResult<TItem>;
|
|
10982
11533
|
|
|
10983
|
-
/** Autorização de rotas de cadastro referenciado (implementação no app host — ex.: menu + permissões). */
|
|
10984
|
-
interface CadastroReferenciaRouteAccess {
|
|
10985
|
-
/** Pode aceder à entidade referenciada (lista / cadastro em leitura). */
|
|
10986
|
-
podeVisualizarRota(rota: string, chavePermissao?: string): boolean;
|
|
10987
|
-
/** Pode abrir «novo» / cadastro inline de criação. */
|
|
10988
|
-
podeCriarRota(rotaNovo: string, chavePermissao?: string): boolean;
|
|
10989
|
-
/** Pode abrir cadastro de edição (`:id`). */
|
|
10990
|
-
podeEditarRota(rotaAlterar: string, chavePermissao?: string): boolean;
|
|
10991
|
-
}
|
|
10992
|
-
/** Comportamento legado quando o host não registra política (lib demo / testes). */
|
|
10993
|
-
declare const CADASTRO_REFERENCIA_ROUTE_ACCESS_PERMISSIVE: CadastroReferenciaRouteAccess;
|
|
10994
|
-
declare const CADASTRO_REFERENCIA_ROUTE_ACCESS: InjectionToken<CadastroReferenciaRouteAccess>;
|
|
10995
|
-
type ModoPermissaoReferencia = 'All' | 'Any';
|
|
10996
|
-
declare function normalizarRotaReferencia(rota: string): string;
|
|
10997
|
-
declare function rotaListaReferencia(rota: string): string;
|
|
10998
|
-
type CadastroReferenciaAcoesPermitidas = {
|
|
10999
|
-
readonly permitirCriar: boolean;
|
|
11000
|
-
readonly permitirAlterar: boolean;
|
|
11001
|
-
readonly criarDesabilitado?: boolean;
|
|
11002
|
-
readonly alterarDesabilitado?: boolean;
|
|
11003
|
-
readonly criarTooltipBloqueio?: string;
|
|
11004
|
-
readonly alterarTooltipBloqueio?: string;
|
|
11005
|
-
};
|
|
11006
|
-
type CadastroReferenciaPermissoesMetadata = {
|
|
11007
|
-
readonly permissaoVisualizar?: string;
|
|
11008
|
-
readonly permissaoCriar?: string;
|
|
11009
|
-
readonly permissaoEditar?: string;
|
|
11010
|
-
readonly permissoesVisualizar?: readonly string[];
|
|
11011
|
-
readonly permissoesCriar?: readonly string[];
|
|
11012
|
-
readonly permissoesEditar?: readonly string[];
|
|
11013
|
-
readonly modoPermissao?: ModoPermissaoReferencia;
|
|
11014
|
-
};
|
|
11015
|
-
declare function modoPermissaoReferenciaFromWire(raw: unknown): ModoPermissaoReferencia;
|
|
11016
|
-
/** Extrai chaves RBAC declaradas na metadata de referência (snake_case ou camelCase). */
|
|
11017
|
-
declare function permissoesReferenciaMetadata(ref?: Partial<{
|
|
11018
|
-
permissaoVisualizar?: string;
|
|
11019
|
-
permissaoCriar?: string;
|
|
11020
|
-
permissaoEditar?: string;
|
|
11021
|
-
permissao_visualizar?: string;
|
|
11022
|
-
permissao_criar?: string;
|
|
11023
|
-
permissao_editar?: string;
|
|
11024
|
-
permissoesVisualizar?: readonly string[];
|
|
11025
|
-
permissoesCriar?: readonly string[];
|
|
11026
|
-
permissoesEditar?: readonly string[];
|
|
11027
|
-
permissoes_visualizar?: readonly string[];
|
|
11028
|
-
permissoes_criar?: readonly string[];
|
|
11029
|
-
permissoes_editar?: readonly string[];
|
|
11030
|
-
modoPermissao?: ModoPermissaoReferencia | string;
|
|
11031
|
-
modo_permissao?: ModoPermissaoReferencia | string | number;
|
|
11032
|
-
}> | null): CadastroReferenciaPermissoesMetadata;
|
|
11033
|
-
/** Aplica metadata + política de rotas do host aos atalhos (+ / …) da referência. */
|
|
11034
|
-
declare function resolverAcoesReferenciaPorRota(access: CadastroReferenciaRouteAccess, params: {
|
|
11035
|
-
readonly rotaNovo?: string;
|
|
11036
|
-
readonly rotaAlterar?: string;
|
|
11037
|
-
readonly metadataPermitirCriar?: boolean;
|
|
11038
|
-
readonly metadataPermitirAlterar?: boolean;
|
|
11039
|
-
readonly permissaoVisualizar?: string;
|
|
11040
|
-
readonly permissaoCriar?: string;
|
|
11041
|
-
readonly permissaoEditar?: string;
|
|
11042
|
-
readonly permissoesVisualizar?: readonly string[];
|
|
11043
|
-
readonly permissoesCriar?: readonly string[];
|
|
11044
|
-
readonly permissoesEditar?: readonly string[];
|
|
11045
|
-
readonly modoPermissao?: ModoPermissaoReferencia;
|
|
11046
|
-
readonly actionKeyCreate?: string;
|
|
11047
|
-
readonly actionKeyEdit?: string;
|
|
11048
|
-
readonly actionKeyView?: string;
|
|
11049
|
-
readonly actionStates?: ReadonlyMap<string, CadastroActionStateDto>;
|
|
11050
|
-
}): CadastroReferenciaAcoesPermitidas;
|
|
11051
|
-
|
|
11052
11534
|
/** Path único para `[cadastroNav]` (ex.: `/home/categorias/novo`). */
|
|
11053
11535
|
declare function novoPathCommandsFromRota(rotaNovo: string): readonly string[];
|
|
11054
11536
|
/** Converte `cadastroNav` (um segmento com path completo ou vários segmentos) em comandos do `Router`. */
|
|
@@ -11628,7 +12110,7 @@ declare class FormCollectionComponent {
|
|
|
11628
12110
|
readonly agGridPageSize: _angular_core.Signal<number>;
|
|
11629
12111
|
readonly initialAgGridPageZeroBased: _angular_core.Signal<number>;
|
|
11630
12112
|
/** Vista mobile + coleção remota: modo «remote» para pedidos de página ao servidor. */
|
|
11631
|
-
readonly mobileCardListDataMode: _angular_core.Signal<"
|
|
12113
|
+
readonly mobileCardListDataMode: _angular_core.Signal<"memory" | "remote">;
|
|
11632
12114
|
readonly mobileCardListTotalCountRemote: _angular_core.Signal<number | null>;
|
|
11633
12115
|
readonly mobileCardListHasNextPage: _angular_core.Signal<boolean>;
|
|
11634
12116
|
/** Skeleton no fundo ao mudar de página remota (mantém linhas visíveis). */
|
|
@@ -11672,7 +12154,7 @@ declare class FormCollectionComponent {
|
|
|
11672
12154
|
/** Rótulo omitido na UI — o cartão da secção já identifica «Imagens do produto». */
|
|
11673
12155
|
readonly bulkMidiaUploadLabelUi: _angular_core.Signal<string>;
|
|
11674
12156
|
readonly podeRemoverSelecionado: _angular_core.Signal<boolean>;
|
|
11675
|
-
readonly collectionLayoutChrome: _angular_core.Signal<"
|
|
12157
|
+
readonly collectionLayoutChrome: _angular_core.Signal<"card" | "plain" | "responsive">;
|
|
11676
12158
|
readonly mapCardItemView: CardListMapFn<FormCollectionGridRow>;
|
|
11677
12159
|
constructor();
|
|
11678
12160
|
/**
|
|
@@ -12145,9 +12627,17 @@ declare function coerceReportBoolean(value: unknown): boolean;
|
|
|
12145
12627
|
interface ReportMetadata {
|
|
12146
12628
|
key: string;
|
|
12147
12629
|
titulo: string;
|
|
12630
|
+
/** Descrição curta exibida abaixo do título na pré-visualização. */
|
|
12631
|
+
descricao?: string | null;
|
|
12148
12632
|
filtros: ReportFilterMeta[];
|
|
12149
12633
|
colunas: ReportColumnMeta[];
|
|
12150
12634
|
}
|
|
12635
|
+
/** Formata o título da pré-visualização sem repetir o rótulo da árvore lateral. */
|
|
12636
|
+
declare function formatReportPreviewTitulo(titulo: string | null | undefined, options?: {
|
|
12637
|
+
rotuloArvore?: string | null;
|
|
12638
|
+
}): string | null;
|
|
12639
|
+
/** Retorna o primeiro subtítulo/descrição não vazio. */
|
|
12640
|
+
declare function resolveReportPreviewSubtitulo(...fontes: Array<string | null | undefined>): string | null;
|
|
12151
12641
|
/** Critério avulso no mesmo formato da consulta base (gRPC `FiltroItemEntrada`). */
|
|
12152
12642
|
interface ReportFiltroItemEntrada {
|
|
12153
12643
|
campo: string;
|
|
@@ -12223,10 +12713,10 @@ declare function mapReportTreeToTreeViewNodes(nodes: ReportTreeNode[]): TreeView
|
|
|
12223
12713
|
/** Grupos de relatório criados pelo backend (`grp-cadastros`, etc.). */
|
|
12224
12714
|
declare function isReportGroupNode(node: ReportTreeNode, groupIdPrefix?: string): boolean;
|
|
12225
12715
|
/**
|
|
12226
|
-
* Árvore de relatórios com expansão
|
|
12227
|
-
*
|
|
12716
|
+
* Árvore de relatórios com hints de expansão inicial (só raiz aberta; categorias recolhidas).
|
|
12717
|
+
* O estado de expandir/recolher na sessão fica no {@link StructraTreeExpandStateService} via `app-tree-view`.
|
|
12228
12718
|
*/
|
|
12229
|
-
declare function mapReportTreeToTreeViewNodesForSelection(nodes: ReportTreeNode[],
|
|
12719
|
+
declare function mapReportTreeToTreeViewNodesForSelection(nodes: ReportTreeNode[], _selectedReportId: string | null, options?: {
|
|
12230
12720
|
groupIdPrefix?: string;
|
|
12231
12721
|
}): ReturnType<typeof mapReportTreeToTreeViewNodes>;
|
|
12232
12722
|
declare function reportExistsInTree(reportId: string, nodes: ReportTreeNode[]): boolean;
|
|
@@ -12235,6 +12725,24 @@ declare function resolveInitialReportId(nodes: ReportTreeNode[], options?: {
|
|
|
12235
12725
|
findFirstLeaf?: (nodes: ReportTreeNode[]) => string | null;
|
|
12236
12726
|
}): string | null;
|
|
12237
12727
|
|
|
12728
|
+
/** Mapeia linha de relatório para cartão mobile (mesmo padrão da consulta / coleção só-leitura). */
|
|
12729
|
+
declare function buildReportRowCardMap(colunas: readonly ReportColumnMeta[]): CardListMapFn<Record<string, unknown>>;
|
|
12730
|
+
|
|
12731
|
+
declare class StructraReportPreviewHeaderComponent {
|
|
12732
|
+
/** Título do relatório (metadata ou resultado). */
|
|
12733
|
+
titulo: string | null;
|
|
12734
|
+
/** Descrição curta (metadata) ou subtítulo do resultado. */
|
|
12735
|
+
subtitulo: string | null;
|
|
12736
|
+
/** Rótulo da árvore lateral — evita repetir o mesmo texto no cabeçalho. */
|
|
12737
|
+
rotuloArvore: string | null;
|
|
12738
|
+
showIcon: boolean;
|
|
12739
|
+
iconClass: string;
|
|
12740
|
+
displayTitulo(): string | null;
|
|
12741
|
+
displaySubtitulo(): string | null;
|
|
12742
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraReportPreviewHeaderComponent, never>;
|
|
12743
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraReportPreviewHeaderComponent, "structra-report-preview-header", never, { "titulo": { "alias": "titulo"; "required": false; }; "subtitulo": { "alias": "subtitulo"; "required": false; }; "rotuloArvore": { "alias": "rotuloArvore"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; }, {}, never, never, true, never>;
|
|
12744
|
+
}
|
|
12745
|
+
|
|
12238
12746
|
/**
|
|
12239
12747
|
* Cache em memória da árvore de relatórios (escopo da aba), indexado por {@link cacheKey}.
|
|
12240
12748
|
* Persiste entre navegações SPA; limpa no F5 ou {@link invalidate}.
|
|
@@ -12257,11 +12765,12 @@ declare class StructraReportTreeComponent {
|
|
|
12257
12765
|
selectedId: string | null;
|
|
12258
12766
|
title: string;
|
|
12259
12767
|
titleIconClass: string;
|
|
12260
|
-
|
|
12768
|
+
/** Chave de cache em memória de expansão e seleção (`StructraTreeExpandStateService`). */
|
|
12769
|
+
expandStateTreeId: string;
|
|
12261
12770
|
loading: boolean;
|
|
12262
12771
|
selectedIdChange: EventEmitter<string | null>;
|
|
12263
12772
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraReportTreeComponent, never>;
|
|
12264
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraReportTreeComponent, "structra-report-tree", never, { "nodes": { "alias": "nodes"; "required": true; }; "selectedId": { "alias": "selectedId"; "required": false; }; "title": { "alias": "title"; "required": false; }; "titleIconClass": { "alias": "titleIconClass"; "required": false; }; "
|
|
12773
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraReportTreeComponent, "structra-report-tree", never, { "nodes": { "alias": "nodes"; "required": true; }; "selectedId": { "alias": "selectedId"; "required": false; }; "title": { "alias": "title"; "required": false; }; "titleIconClass": { "alias": "titleIconClass"; "required": false; }; "expandStateTreeId": { "alias": "expandStateTreeId"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; }, { "selectedIdChange": "selectedIdChange"; }, never, never, true, never>;
|
|
12265
12774
|
static ngAcceptInputType_loading: unknown;
|
|
12266
12775
|
}
|
|
12267
12776
|
|
|
@@ -12305,18 +12814,42 @@ declare class StructraReportFilterPanelComponent {
|
|
|
12305
12814
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraReportFilterPanelComponent, "structra-report-filter-panel", never, { "titulo": { "alias": "titulo"; "required": true; }; "subtitulo": { "alias": "subtitulo"; "required": false; }; "filtros": { "alias": "filtros"; "required": true; }; "valores": { "alias": "valores"; "required": true; }; "collapsed": { "alias": "collapsed"; "required": false; }; "pesquisando": { "alias": "pesquisando"; "required": false; }; }, { "collapsedChange": "collapsedChange"; "valorChange": "valorChange"; "pesquisar": "pesquisar"; }, never, never, true, never>;
|
|
12306
12815
|
}
|
|
12307
12816
|
|
|
12308
|
-
declare class StructraReportTableComponent {
|
|
12817
|
+
declare class StructraReportTableComponent implements OnChanges {
|
|
12309
12818
|
colunas: ReportColumnMeta[];
|
|
12310
12819
|
linhas: Array<Record<string, unknown>>;
|
|
12820
|
+
reportTitulo: string | null;
|
|
12821
|
+
reportSubtitulo: string | null;
|
|
12822
|
+
reportRotuloArvore: string | null;
|
|
12823
|
+
showReportHeader: boolean;
|
|
12824
|
+
/** Lista em cartões em viewports estreitas (consulta Structra). Impressão/PDF mantém tabela. */
|
|
12825
|
+
mobileCards: boolean;
|
|
12826
|
+
/** Paginação remota: scroll infinito na área `.structra-report-table__scroll`. */
|
|
12827
|
+
paginated: boolean;
|
|
12311
12828
|
totalRegistros: number;
|
|
12829
|
+
hasNextPage: boolean;
|
|
12830
|
+
loadingMore: boolean;
|
|
12831
|
+
readonly loadMore: EventEmitter<void>;
|
|
12832
|
+
private loadMorePending;
|
|
12833
|
+
private static readonly SCROLL_LOAD_THRESHOLD_PX;
|
|
12312
12834
|
readonly isBooleanColumn: typeof isReportBooleanColumn;
|
|
12313
12835
|
readonly isNowrapColumn: typeof isReportNowrapColumn;
|
|
12314
12836
|
readonly columnWidthStyle: typeof reportColumnWidthStyle;
|
|
12837
|
+
readonly cardEmptyMessage = "Nenhum registro encontrado para os filtros informados.";
|
|
12838
|
+
mapCard: CardListMapFn<Record<string, unknown>>;
|
|
12839
|
+
get cardListDataMode(): CardListDataMode;
|
|
12840
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
12841
|
+
onScrollAreaScroll(ev: Event): void;
|
|
12842
|
+
onCardListLoadMore(): void;
|
|
12843
|
+
private canRequestLoadMore;
|
|
12844
|
+
private emitLoadMore;
|
|
12315
12845
|
hasFixedColumnWidths(): boolean;
|
|
12316
12846
|
cellValue(linha: Record<string, unknown>, coluna: ReportColumnMeta): string;
|
|
12317
12847
|
booleanChecked(linha: Record<string, unknown>, coluna: ReportColumnMeta): boolean;
|
|
12318
12848
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraReportTableComponent, never>;
|
|
12319
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraReportTableComponent, "structra-report-table", never, { "colunas": { "alias": "colunas"; "required": true; }; "linhas": { "alias": "linhas"; "required": true; }; "totalRegistros": { "alias": "totalRegistros"; "required": false; }; }, {}, never, never, true, never>;
|
|
12849
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraReportTableComponent, "structra-report-table", never, { "colunas": { "alias": "colunas"; "required": true; }; "linhas": { "alias": "linhas"; "required": true; }; "reportTitulo": { "alias": "reportTitulo"; "required": false; }; "reportSubtitulo": { "alias": "reportSubtitulo"; "required": false; }; "reportRotuloArvore": { "alias": "reportRotuloArvore"; "required": false; }; "showReportHeader": { "alias": "showReportHeader"; "required": false; }; "mobileCards": { "alias": "mobileCards"; "required": false; }; "paginated": { "alias": "paginated"; "required": false; }; "totalRegistros": { "alias": "totalRegistros"; "required": false; }; "hasNextPage": { "alias": "hasNextPage"; "required": false; }; "loadingMore": { "alias": "loadingMore"; "required": false; }; }, { "loadMore": "loadMore"; }, never, never, true, never>;
|
|
12850
|
+
static ngAcceptInputType_paginated: unknown;
|
|
12851
|
+
static ngAcceptInputType_hasNextPage: unknown;
|
|
12852
|
+
static ngAcceptInputType_loadingMore: unknown;
|
|
12320
12853
|
}
|
|
12321
12854
|
|
|
12322
12855
|
declare class StructraReportPaginatorComponent {
|
|
@@ -12334,12 +12867,40 @@ declare class StructraReportPaginatorComponent {
|
|
|
12334
12867
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraReportPaginatorComponent, "structra-report-paginator", never, { "page": { "alias": "page"; "required": true; }; "totalPages": { "alias": "totalPages"; "required": true; }; "totalRegistros": { "alias": "totalRegistros"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
|
|
12335
12868
|
}
|
|
12336
12869
|
|
|
12870
|
+
type StructraReportEmptyStatePreset = 'tree' | 'search';
|
|
12337
12871
|
declare class StructraReportEmptyStateComponent {
|
|
12872
|
+
private readonly bp;
|
|
12873
|
+
private readonly cdr;
|
|
12874
|
+
private readonly destroyRef;
|
|
12875
|
+
/** Layout empilhado (árvore acima): viewport abaixo de 1024px. */
|
|
12876
|
+
private isStackedLayout;
|
|
12877
|
+
/** Preset pronto: `tree` (sem seleção) ou `search` (aguardando pesquisa). */
|
|
12878
|
+
preset: StructraReportEmptyStatePreset | null;
|
|
12338
12879
|
message: string;
|
|
12339
12880
|
description: string;
|
|
12340
12881
|
iconClass: string;
|
|
12882
|
+
/** Nome do relatório exibido discretamente no empty state. */
|
|
12883
|
+
reportTitulo: string;
|
|
12884
|
+
/** Alias de {@link reportTitulo}. */
|
|
12885
|
+
titulo: string;
|
|
12886
|
+
/** Exibe botão «Pesquisar» (preset `search` em relatórios) quando não há `[emptyAction]` projetado. */
|
|
12887
|
+
showPesquisarAction: boolean;
|
|
12888
|
+
pesquisarActionLabel: string;
|
|
12889
|
+
pesquisarDisabled: boolean;
|
|
12890
|
+
readonly pesquisar: EventEmitter<void>;
|
|
12891
|
+
private projectedEmptyAction?;
|
|
12892
|
+
constructor();
|
|
12893
|
+
get shouldShowPesquisarAction(): boolean;
|
|
12894
|
+
get effectiveMessage(): string;
|
|
12895
|
+
/** Preset `tree` ou mensagem padrão de seleção na árvore (uso sem `[preset]`). */
|
|
12896
|
+
private usesTreeSelectionMessage;
|
|
12897
|
+
get effectiveDescription(): string;
|
|
12898
|
+
get effectiveIconClass(): string;
|
|
12899
|
+
get effectiveReportTitulo(): string;
|
|
12341
12900
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraReportEmptyStateComponent, never>;
|
|
12342
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraReportEmptyStateComponent, "structra-report-empty-state", never, { "message": { "alias": "message"; "required": false; }; "description": { "alias": "description"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; }, {},
|
|
12901
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraReportEmptyStateComponent, "structra-report-empty-state", never, { "preset": { "alias": "preset"; "required": false; }; "message": { "alias": "message"; "required": false; }; "description": { "alias": "description"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "reportTitulo": { "alias": "reportTitulo"; "required": false; }; "titulo": { "alias": "titulo"; "required": false; }; "showPesquisarAction": { "alias": "showPesquisarAction"; "required": false; }; "pesquisarActionLabel": { "alias": "pesquisarActionLabel"; "required": false; }; "pesquisarDisabled": { "alias": "pesquisarDisabled"; "required": false; }; }, { "pesquisar": "pesquisar"; }, ["projectedEmptyAction"], ["[emptyAction]"], true, never>;
|
|
12902
|
+
static ngAcceptInputType_showPesquisarAction: unknown;
|
|
12903
|
+
static ngAcceptInputType_pesquisarDisabled: unknown;
|
|
12343
12904
|
}
|
|
12344
12905
|
|
|
12345
12906
|
declare class StructraReportLoadingSkeletonComponent {
|
|
@@ -12370,13 +12931,13 @@ declare class StructraReportViewerComponent {
|
|
|
12370
12931
|
* Shell reutilizável de relatórios: árvore com cache em memória + área principal projectável.
|
|
12371
12932
|
* Usar em qualquer sistema com módulo de relatórios (Oficina, templates Structra, etc.).
|
|
12372
12933
|
*/
|
|
12373
|
-
declare class StructraReportPageBaseComponent implements OnInit {
|
|
12934
|
+
declare class StructraReportPageBaseComponent implements OnInit, OnChanges {
|
|
12374
12935
|
private readonly transport;
|
|
12375
12936
|
private readonly treeCache;
|
|
12376
12937
|
/** Isola cache por tenant/módulo (ex.: `oficina:${tenantId}`). */
|
|
12377
12938
|
cacheKey: string;
|
|
12378
|
-
/**
|
|
12379
|
-
|
|
12939
|
+
/** Identificador da árvore no cache de expansão em memória. */
|
|
12940
|
+
expandStateTreeId: string;
|
|
12380
12941
|
initialReportId: string | null;
|
|
12381
12942
|
autoSelectFirst: boolean;
|
|
12382
12943
|
treeTitle: string;
|
|
@@ -12390,9 +12951,11 @@ declare class StructraReportPageBaseComponent implements OnInit {
|
|
|
12390
12951
|
readonly treeNodes: _angular_core.WritableSignal<ReportTreeNode[]>;
|
|
12391
12952
|
readonly loadingTree: _angular_core.WritableSignal<boolean>;
|
|
12392
12953
|
private readonly selectedIdInternal;
|
|
12954
|
+
/** Estado único de seleção (sincronizado com `@Input selectedReportId` em `ngOnChanges`). */
|
|
12393
12955
|
readonly effectiveSelectedId: _angular_core.Signal<string | null>;
|
|
12394
12956
|
readonly treeViewNodes: _angular_core.Signal<structra_ui.TreeViewNode[]>;
|
|
12395
12957
|
constructor();
|
|
12958
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
12396
12959
|
ngOnInit(): void;
|
|
12397
12960
|
selectReport(id: string | null): void;
|
|
12398
12961
|
refreshTree(force?: boolean): Promise<void>;
|
|
@@ -12401,7 +12964,7 @@ declare class StructraReportPageBaseComponent implements OnInit {
|
|
|
12401
12964
|
carregarArvore(force?: boolean): Promise<void>;
|
|
12402
12965
|
onTreeSelected(id: string | null): void;
|
|
12403
12966
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraReportPageBaseComponent, never>;
|
|
12404
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraReportPageBaseComponent, "structra-report-page-base", never, { "cacheKey": { "alias": "cacheKey"; "required": false; }; "
|
|
12967
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraReportPageBaseComponent, "structra-report-page-base", never, { "cacheKey": { "alias": "cacheKey"; "required": false; }; "expandStateTreeId": { "alias": "expandStateTreeId"; "required": false; }; "initialReportId": { "alias": "initialReportId"; "required": false; }; "autoSelectFirst": { "alias": "autoSelectFirst"; "required": false; }; "treeTitle": { "alias": "treeTitle"; "required": false; }; "treeTitleIconClass": { "alias": "treeTitleIconClass"; "required": false; }; "groupIdPrefix": { "alias": "groupIdPrefix"; "required": false; }; "useCache": { "alias": "useCache"; "required": false; }; "selectedReportId": { "alias": "selectedReportId"; "required": false; }; }, { "selectedReportIdChange": "selectedReportIdChange"; "treeLoaded": "treeLoaded"; "treeLoadError": "treeLoadError"; }, never, ["*"], true, never>;
|
|
12405
12968
|
static ngAcceptInputType_useCache: unknown;
|
|
12406
12969
|
}
|
|
12407
12970
|
|
|
@@ -12428,5 +12991,5 @@ declare class StructraReportPageComponent {
|
|
|
12428
12991
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraReportPageComponent, "structra-report-page", never, { "autoSelectFirst": { "alias": "autoSelectFirst"; "required": false; }; "autoPesquisarOnSelect": { "alias": "autoPesquisarOnSelect"; "required": false; }; "cacheKey": { "alias": "cacheKey"; "required": false; }; }, { "reportSelected": "reportSelected"; "reportLoaded": "reportLoaded"; }, never, never, true, never>;
|
|
12429
12992
|
}
|
|
12430
12993
|
|
|
12431
|
-
export { ADAPTIVE_DATA_VIEW_MOBILE_QUERY, APP_SIDEBAR_LABEL_REVEAL_LAG_MS, APP_SIDEBAR_LAYOUT_DURATION_MS, APP_SIDEBAR_NAV_REVEAL_TOTAL_MS, APP_THEME_BASE_CLASS, APP_THEME_IDS, ActionMenuComponent, AdaptiveDataViewComponent, AdminLoginPageComponent, AdminLoginShellComponent, StructraSidebarUserPanelComponent as AdminSidebarUserPanelComponent, AlertComponent, AnchoredOverlayComponent, AppBreadcrumbComponent, AppDialogComponent, AppLibLightBlockScrollStrategy, AppShellComponent, AppShellSidebarTemplateDirective, AppShellSidebarToggleComponent, AppSidebarBottomActionsSlotDirective, AppSidebarBottomActionsTemplateDirective, AppSidebarBrandDirective, AppSidebarComponent, AppSidebarFooterSlotDirective, AppSidebarFooterTemplateDirective, AppSidebarHeaderSlotDirective, AppSidebarHeaderTemplateDirective, AppSidebarToolbarDirective, AppSidebarUserInfoSlotDirective, AppSidebarUserInfoTemplateDirective, AppTheme, AppThemeService, AppTopbarComponent, AppUserMenuComponent, BR_ESTADOS_NOME_SIGLA, ButtonType as BaseButtonType, ButtonVariant as BaseButtonVariant, BaseFieldComponent, BaseFieldDirective, BooleanFieldDirective, ButtonComponent, ButtonRadius, ButtonSize, ButtonType, ButtonVariant, CADASTRO_COLLAPSIBLE_REMOTE_LOAD_DELAY_MS, CADASTRO_DUPLICATE_FLAG_STATE, CADASTRO_DUPLICATE_SOURCE_ID_STATE, CADASTRO_FOCO_COLUNA_APOS_RESUMO_MS, CADASTRO_FORM_COLLECTION_REMOVE_ITEM_CONFIRM, CADASTRO_INVALIDATE_ROUTE_SNAPSHOT, CADASTRO_PAGE_SUBTITULO_PADRAO, CADASTRO_PAGE_TITULO_NOVO_PADRAO, CADASTRO_PESSOA_INLINE_DESTINO_URL_FRAGMENTS, CADASTRO_REFERENCIA_DIALOG_CONTEXT, CADASTRO_REFERENCIA_DIALOG_PAGE_CONFIG, CADASTRO_REFERENCIA_ROUTE_ACCESS, CADASTRO_REFERENCIA_ROUTE_ACCESS_PERMISSIVE, CADASTRO_RESUMO_FIELD_NAVIGATE_DEFER_MS, CADASTRO_TOAST_TITLE_PADRAO, CADASTRO_VALIDATION_SUMMARY_PINNED, CADASTRO_VALIDATION_SUMMARY_STATIC, CATEGORIAS_NAV_ID_EXCLUIDO, CATEGORIAS_NAV_LINHA_GRAVADA, CATEGORIAS_NAV_VOLTAR_SEM_RECARREGAR, CLIENTES_NAV_ID_EXCLUIDO, CLIENTES_NAV_LINHA_GRAVADA, CLIENTES_NAV_VOLTAR_SEM_RECARREGAR, CONSULTA_DATETIME_KEYS_ISO_PARA_FMT, CONSULTA_DOCUMENTO_GRID_KEYS_ISO_PARA_FMT, CONSULTA_FILTROS_SESSAO_USER, CONSULTA_GRID_OPTS_DATAS_PADRAO, CONSULTA_LISTA_CACHE_MAX_PAGINAS_DEFAULT, CONSULTA_LISTA_CACHE_NS_SEP, CONSULTA_LISTA_CACHE_TTL_MS_DEFAULT, CONSULTA_MOBILE_LAYOUT_MEDIA_QUERY, CONSULTA_MULTISELECT_LABEL_STUB, CONSULTA_OPTIONS_LISTAR_RESOLVER, CONSULTA_PEDIDOS_GRID_OPTS, CONSULTA_PHONE_GRID_KEYS_ISO_PARA_FMT, CONSULTA_PRESET_SELECT_EMPTY_OPTIONS_MESSAGE_DESKTOP, CONSULTA_PRESET_SELECT_EMPTY_OPTIONS_MESSAGE_MOBILE, CONSULTA_PRODUTOS_GRID_OPTS, CONSULTA_ROUTE_REUSE, CONSULTA_SERVIDOR_LISTA_QUERY_DEFAULTS, CONSULTA_TOPBAR_SLOT, CadastroBasePageComponent, CadastroCollectionGridColumnFormat, CadastroCollectionReferenciaHostService, CadastroCollectionRuntime, CadastroEnumOptionsRegistry, CadastroFieldRendererComponent, CadastroFieldRuntime, CadastroFieldsBaseComponent, CadastroFormDraftCacheService, CadastroFormLoadingSkeletonComponent, CadastroMetadataPageBase, CadastroMetadataPageComponent, CadastroMetadataPageServiceBase, CadastroMetadataPageShellLayoutComponent, CadastroMetadataPageStateBase, CadastroMetadataShellPageComponent, CadastroPadraoPageBase, CadastroReferenceRegistry, CadastroReferenciaDialogBridgeRegistry, CadastroReferenciaDialogHostComponent, CadastroReferenciaDialogService, CadastroReferenciaOpenMode, CadastroRuntime, CadastroRuntimeRegistry, CadastroSectionPanelLayout, CardListComponent, CepFieldComponent, CheckboxFieldComponent, ColorPickerFieldComponent, ComponentType, ConfirmDialogComponent, ConfirmDialogService, ConsoleLogComponent, ConsultaBasePageComponent, ConsultaCadastroFiltroDialogComponent, ConsultaCardCampoPapel, ConsultaCardFieldFormat, ConsultaCatalogBundleHelper, ConsultaFiltroPresetToolbarComponent, ConsultaFiltrosSessaoService, ConsultaGridColumnFormat, ConsultaGridOrderDirection, ConsultaListaMemoriaCacheService, ConsultaPadraoPageBase, ConsultaPageCache, ConsultaPageLoadingSkeletonComponent, ContainerLayoutSize, ContextMenuComponent, CpfCnpjFieldComponent, DEFAULT_STRUCTRA_SHELL_SCROLL_RESTORATION_OPTIONS, DROPDOWN_SEARCH_LOCAL_PAGE_SIZE, DashboardSectionComponent, DataCardComponent, DataGridComponent, DataListComponent, DataToolbarComponent, DateFieldComponent, DecimalFieldComponent, DetailsFieldComponent, DetailsViewComponent, DialogFooterDirective, DividerComponent, DrawerComponent, DrawerSide, DrawerSize, DropdownBaseComponent, DropdownMenuComponent, DropdownMultiOptionFieldBase, DropdownOptionFieldBase, DropdownSearchFieldComponent, ENM_STATUS_OPCOES_SELECT, EmptyStateComponent, EnmStatus, FIELD_MOBILE_LAYOUT_QUERY, FILE_PREVIEW_UNAVAILABLE_MESSAGE, FORM_CONTAINER_STATE_STORAGE_PREFIX, FORNECEDORES_NAV_ID_EXCLUIDO, FORNECEDORES_NAV_LINHA_GRAVADA, FORNECEDORES_NAV_VOLTAR_SEM_RECARREGAR, FieldCadastroRedirectButtonComponent, FileUploadFieldComponent, FileUploadType, FormActionsAlign, FormActionsComponent, FormColComponent, FormCollectionComponent, FormCollectionLayout, FormGroupComponent, FormGroupVariant, FormLayoutGap, FormRowAlign, FormRowComponent, FormRowJustify, FormSectionAlign, FormSectionComponent, FormSectionRadius, FormSectionVariant, FormTabComponent, FormTabsComponent, GridLayoutConsultaService, ImagePreviewPanelComponent, InputMaskFieldComponent, IntegerFieldComponent, LAYOUT_STACK_SIDE_BY_SIDE, LAYOUT_STACK_STACKED, LayoutStackAlign, LayoutStackComponent, LayoutStackDirection, LayoutStackItemAlign, LibDialogSize, ListItemComponent, LoadingDialogComponent, LoadingDialogService, MaskedTextFieldBase, MenuDividerComponent, MenuDropdownPlacement, MenuGroupComponent, MenuListComponent, MultiselectFieldComponent, NO_OP_CONSULTA_ROUTE_REUSE, NO_OP_CONSULTA_TOPBAR_SLOT, NgControlFieldDirective, OPS_BOOL, OPS_DATA, OPS_TEXTO, OPS_TEXTO_MULTISELECT, ORIGEM_CADASTRO_INLINE_PESSOA, OnboardingChecklistComponent, OverlayPlacement, PDF_IFRAME_VIEWER_HASH, PEDIDOS_NAV_ID_EXCLUIDO, PEDIDOS_NAV_LINHA_GRAVADA, PEDIDOS_NAV_VOLTAR_SEM_RECARREGAR, PERMISSION_GROUP_OUTROS_KEY, PERMISSION_GROUP_OUTROS_LABEL, PERMISSION_GROUP_OUTROS_ORDER, PESSOAS_NAV_LINHA_GRAVADA, PESSOAS_NAV_VOLTAR_SEM_RECARREGAR, PHONE_BR_LANDLINE_MASK, PHONE_BR_MOBILE_MASK, PRODUTOS_NAV_ID_EXCLUIDO, PRODUTOS_NAV_LINHA_GRAVADA, PRODUTOS_NAV_VOLTAR_SEM_RECARREGAR, StructraPageFooterComponent as PageFooterComponent, PasswordFieldComponent, PermissionGroupTabComponent, PermissionGroupTabsComponent, PhoneFieldComponent, PopoverBodyTemplateDirective, PopoverComponent, PopoverFooterTemplateDirective, PopoverTriggerDirective, ReferenceOptionPreset, STRUCTRA_ADMIN_ROUTE_REDIRECT_CACHE_PREFIX, STRUCTRA_ADMIN_ROUTE_REDIRECT_LOGIN_ID_CACHE_KEY, STRUCTRA_CADASTRO_INLINE_RESULT_KEY, STRUCTRA_CADASTRO_INLINE_RETURN_KEY, STRUCTRA_CONSULTA_FORCE_REFRESH_KEY, STRUCTRA_DEDICATED_BACK_TO_TOP_SELECTOR, STRUCTRA_GRID_LAYOUT_API_BASE_RESOLVER, STRUCTRA_GRID_LAYOUT_AUTH_HEADERS_RESOLVER, STRUCTRA_GRID_LAYOUT_TENANT_RESOLVER, STRUCTRA_INLINE_FORM_DRAFT_PENDING_PREFIX, STRUCTRA_MIDIA_PUBLIC_BASE_RESOLVER, STRUCTRA_MIDIA_UPLOAD_TRANSPORT, STRUCTRA_PAGE_CACHE_SCOPE_SEP, STRUCTRA_PAGE_FOOTER_PARTS, STRUCTRA_PAGE_STATE_ACTIVE_TAB_PREFIX, STRUCTRA_REPORT_DEFAULT_PAGE_SIZE, STRUCTRA_REPORT_TRANSPORT, STRUCTRA_SHELL_NAV_CONTENT_READY, STRUCTRA_SHELL_SCROLL_RESTORATION_OPTIONS, STRUCTRA_SHELL_TOPBAR_TITLE_SKELETON, STRUCTRA_SIMULATED_LOADING_DELAY_MS, STRUCTRA_THEME_DARK_CLASS, STRUCTRA_THEME_IDS, STRUCTRA_UI, ScriptEditorFieldComponent, SelectFieldComponent, SkeletonBlockComponent, SkeletonCardComponent, SkeletonFieldShellComponent, SkeletonListComponent, SkeletonStatCardComponent, SkeletonTableComponent, SkeletonTextComponent, StatCardComponent, StatusBadgeComponent, StructraAdminRouteRedirectPageBase, StructraBackToTopButtonComponent, StructraPageCacheService, StructraPageComponentOutletComponent, StructraPageComponentRegistry, StructraPageFooterComponent, StructraPageStateCacheService, StructraProgressOverlayComponent, StructraReportEmptyStateComponent, StructraReportFilterPanelComponent, StructraReportLoadingSkeletonComponent, StructraReportPageBaseComponent, StructraReportPageComponent, StructraReportPaginatorComponent, StructraReportTableComponent, StructraReportTreeCacheService, StructraReportTreeComponent, StructraReportTreeSkeletonComponent, StructraReportViewerComponent, ScriptEditorFieldComponent as StructraScriptEditorComponent, StructraShellScrollRestorationService, StructraShellTopbarSlotService, AppSidebarBottomActionsTemplateDirective as StructraSidebarBottomActionsDirective, AppSidebarFooterTemplateDirective as StructraSidebarFooterDirective, AppSidebarHeaderTemplateDirective as StructraSidebarHeaderDirective, AppSidebarUserInfoTemplateDirective as StructraSidebarUserInfoDirective, StructraSidebarUserPanelComponent, SwitchFieldComponent, THEME_PRIMARY_COLOR_LABEL_PT_BR, TOAST_REGISTRO_EXCLUIDO_SUCESSO, TableEmptyStateComponent, TableToolbarComponent, TextFieldComponent, TextareaFieldComponent, ThemeDirective, ToastHostComponent, ToastService, TooltipComponent, TooltipPanelTemplateDirective, TreeViewComponent, USUARIOS_CONSULTA_GRID_OPTS, USUARIOS_NAV_ID_EXCLUIDO, USUARIOS_NAV_LINHA_GRAVADA, USUARIOS_NAV_VOLTAR_SEM_RECARREGAR, VENDEDORES_NAV_ID_EXCLUIDO, VENDEDORES_NAV_LINHA_GRAVADA, VENDEDORES_NAV_VOLTAR_SEM_RECARREGAR, ValidationSummaryComponent, agruparCamposMetadataPorSecao, agruparPermissionTabs, anchoredOverlayPositions, aplicarNormalizacaoMultiselectIdsNoPartial, aplicarProdutoDtoNoFormulario, appendCadastroPageActiveTabQuery, appendPdfIframeViewerParams, applyCadastroCollectionArrayValidators, applyCadastroModoSenhaNovos, applyCollectionValidationSummaryNavigation, applyCollectionValueToFormArray, applyEntityToCadastroFormByMetadata, applyOptionalThemeHostClasses, applyPickedCalendarDate, buildCadastroFiltroDialogItensGridRows, buildCadastroMetadataShellRuntime, buildCadastroPageActiveTabPageKey, buildCadastroPageActiveTabPageKeyFromLayout, buildCadastroPageRuntime, buildCadastroRedirectReturnUrl, buildCadastroReferenciaDialogContext, buildCatalogoStubConsultaRuntime, buildConsultaConfirmDuplicarLinhaFromLayout, buildConsultaConfirmRemoverLinhaFromLayout, buildConsultaDefaultIsItemGuard, buildConsultaListaCacheKey, buildConsultaPageMetadataUnified, buildConsultaPageRuntime, buildDecimalBrDisplay, buildDecimalBrParseString, buildDefaultConsultaMapCardFromColunasGrid, buildEmptyStateOverlayHtml, buildFormContainerStateStorageKey, buildFormGroupFromCadastroCampos, buildHistoryStateAfterReturningFromNestedInlineChild, buildInlineReturnStateForChildCadastro, buildNovoFormDefaultsFromCampos, buildRouteReuseKeyFromAppPathname, buildRouteReuseKeyFromNovoRouterLink, buildStructraAdminRouteRedirectCacheKey, buildStructraAdminRouteRedirectChildUrl, buildStructraPageCacheCadastroInitKey, buildStructraPageCacheRouteScope, buildStructraPageFooterParts, buildStructraSidebarTemplateContext, buildValidationMetaFromCadastroCampos, cadastroBuildImageUploadMetadata, cadastroCampoBlocoEditorOcupaLinhaInteira, cadastroCampoBooleanOcupaLinhaInteira, cadastroCampoMetadataDtoFromPartial, cadastroCampoMetadataEhBoolean, cadastroCampoMetadataLarguraCompacta, cadastroCampoMetadataLarguraFixaCss, cadastroCampoReferenciaMetadataDtoFromPartial, cadastroCampoRuleMaxLength, cadastroCampoScriptEditorLanguage, cadastroCampoScriptEditorMinHeight, cadastroCampoValidacaoDtoFromPartial, cadastroCampoWrapperWidthCss, cadastroCollectionEditorGridColumns, cadastroCollectionMaxItemsValidator, cadastroCollectionMinItemsValidator, cadastroConfirmExcluirPartialFromLayout, cadastroContainerLayoutSizeDoRecord, cadastroContainerPathJoin, cadastroCrudMessagesDoFormLayout, cadastroDeclarativeSnapshotDtoFromPartial, cadastroEnsureSingleBooleanInCollection, cadastroFieldsPerRowDoRecord, cadastroFlattenContainerRaw, cadastroFormDraftEnabledDoLayout, cadastroFormGridColumns, cadastroFormLayoutComoRecord, cadastroFormLayoutDoBundle, cadastroFormLayoutDoRuntime, cadastroFormLayoutPreserveActiveTab, cadastroFormPageLayoutFromPartial, cadastroGcd, cadastroGetCollectionItemControl, cadastroGridColumnSpanForFieldIndex, cadastroGridDenominadorTracks, cadastroGridTemplateColumnsLinhaUnicaSeAplicavel, cadastroInferExtensaoArquivo, cadastroInferImageContentType, cadastroLcm, cadastroMetadataDtoParaValidacaoLike, cadastroNavKeysStructra, cadastroNomeArquivoDaUploadUrl, cadastroNormalizarUploadUrlPorPrefixo, cadastroPageActionDtoFromPartial, cadastroPageActionsPorRegiao, cadastroPageActiveTabToRestore, cadastroPageComponentDtoFromPartial, cadastroPageComponentsPorRegiao, cadastroPageIdentityDoFormLayout, cadastroPageOverlayDtoFromPartial, cadastroPageShellAtivo, cadastroPageShellTabsKeepAliveFromLayout, cadastroPageTabDtoFromPartial, cadastroPageTabsOrdenados, cadastroPainelMaxWidthCss, cadastroRawBooleanDeep, cadastroRawNumber, cadastroRawString, cadastroReferenceEntryFromListarService, cadastroReferenciaOpenModeFromWire, cadastroReindexarCollectionOrdem, cadastroResolveId, cadastroSecaoFormGroupDense, cadastroSecaoPersisteExpandedState, cadastroSecaoRenderizaInlineDentroDoPai, cadastroSecaoSegmentosIntercalados, cadastroSecaoSegmentosParaRender, cadastroSecaoUsaFormGroup, cadastroSecaoUsaFormGroupComoBlocoVisual, cadastroSecaoUsaSuperficieDeclarativa, cadastroSingleBooleanCollectionBinding, cadastroTitulosEfectivosDoFormLayout, cadastroToastTitleEfectivoDoFormLayout, cadastroToolbarButtonDtoFromPartial, cadastroToolbarVisibilityDoFormLayout, cadastroUseBackToTopButtonFromLayout, cadastroValidationSummaryFlagsDoRecord, cadastroValidationSummaryPinnedFromFlags, cadastroWireCollectionOrdemReindexOnAdd, cadastroWireCollectionOrdemReindexOnAddRemove, cadastroWireCollectionOrdemReindexOnRemove, campoMetadataVisivelNoModo, caretIndexFromIntegerDigitCount, caretIndexFromSemantic, carregarOpcoesMultiselectViaSpec, cepMaskCompleteValidator, clearRequiredValidatorsOnReadOnlyCadastroFields, clearStructraCadastroInlineReturnSessionCacheForTests, clearStructraCadastroSessionStorageOnLogout, coerceDecimalPtBr, coerceReportBoolean, collectValidationSummaryItems, colunasGridTemFormatacaoDeclarativa, computeReferenciaHasMore, consoleLogLevelClass, consultaCampoMetadataDtoFromPartial, consultaCardCampoDtoFromPartial, consultaFiltroValorDataSomenteDia, consultaGridColunaDtoFromPartial, consultaGridColunaKeyParaCampoLinha, consultaGridConfigDtoFromPartial, consultaPassaItem, consultaPassaTodosItens, consultaUsuariosMetadataReplyFromPartial, consumeCadastroInlineFormDraftPendingRestore, consumirResultadoCadastroInlineCampoPessoaId, consumirResultadoCadastroInlineCampoReferencia, cpfCnpjMaskCompleteValidator, createCadastroDialogActivatedRoute, createCadastroMetadataPageConfig, createCadastroPadraoConfig, createCadastroRuntime, createCollectionFormArray, createCollectionItemFormGroup, createConsultaListaItemGuardFromFiltroUi, createConsultaOptionsListarResolver, createConsultaPadraoRuntime, createConsultaPresetSelectEmptyOptionsMessageSignal, createConsultaPresetStorageApi, createGrpcSaveRequestMapper, createInlineHostNavigation, createMapCardFromConsultaColunasGrid, createMapGridRowFromConsultaColunasGrid, createSaveRequestFromPartialMapper, criarDraftInlinePessoa, decimalPtBrNaoNegativoValidator, decimalPtBrToNullableNumber, defaultIsConsultaListItemMinimo, defaultParseLinhaGravadaJson, deleteConfirmPageConfigFromPartial, deriveCadastroTituloEditar, deriveConsultaListaItemGuardPropsFromFiltroUi, duplicateConfigFromLayout, duplicatePageConfigFromPartial, enrichCadastroReferenciaDialogPageConfig, ensureCadastroCollectionMinItems, ensureCadastroFormControlsFromMetadata, escapeHtml, evaluateStructraPageVisibleExpression, executarConsultaServidorComPreset, extractConsultaListaCacheNamespace, extractDecimalBrParts, fileIsLikelyImage, fileMatchesAccept, filtrarSecoesMetadataPorModo, filtrarUiSelectOptionsPainelComValorPersistente, filtrarUiSelectOptionsPorQuery, findCadastroCampoByKey, findFirstReportLeafId, findReportTreeLabel, fixedDigitsMaskCompleteValidator, flattenCadastroMetadataSecoes, fmtDataPt, fmtDocumentoCelulaConsultaGrid, formatAcceptForDisplay, formatDateTimePtBr, formatDecimalBr, formatDocumentoPessoaParaExibicao, formatFileSizeBytes, formatIntegerThousandsBr, formatMaskDigits, formatPhoneBr, formatUiFieldDateValue, getFilePreviewKind, getStructraActionsByGroup, getThemeClass, getThemeClassList, getThemePrimaryColorLabelPtBr, getThemeTokenClass, hexParaColorInput, inferCadastroItemFieldsFromPlainRows, inferCadastroListaUrlFallback, initialCadastroControlValue, injectEffectiveThemeId, isCadastroDuplicateNavigation, isCollectionField, isCollectionLikeField, isConsultaCardAutoSubtitleExcluded, isLegacyDarkThemeId, isLegacyFormContainerStateStorageKey, isLegacyNomeDocumentoReferencePreset, isReadonlyCollectionField, isReportBooleanColumn, isReportGroupNode, isReportNowrapColumn, isValidPhoneBr, libDialogPanelClasses, listaUrlFromRotaCadastro, listarItensCadastroReferencia, listarTodosPaginado, loadPresetsJson, loadStructraAdminRouteRedirectTarget, mapCadastroFormRawToPayload, mapConsultaGridColunasParaDataGrid, mapConsultaMetadataParaFiltroUi, mapErroTransporteParaMensagem as mapErroListaDefault, mapErroTransporteParaMensagem, mapEstadosToOptions, mapFiltroSalvoParaConsultaPreset, mapListarItensParaMultiselectOpcoes, mapReportTreeToTreeViewNodes, mapReportTreeToTreeViewNodesForSelection, markCadastroInlineFormDraftPendingRestore, maskDigitCount, mergeCadastroConfirmExcluir, mergeConsultaGridRowFormattingFromColunasGrid, mergeConsultaMultiselectOpcoesComSeleccionados, mergeDocumentoFmtNaLinhaConsulta, mergeMapConsultaGridColunasOptsComColumnFormat, mergeNovoIdEmListaSelecionada, mergeStructraShellScrollRestorationOptions, metadataCampoParaChaveLinhaCliente, modoPermissaoReferenciaFromWire, montarFiltrosGrpcPreset, montarFiltrosServidorPreset, montarHierarquiaSecoesMetadata, multiselectIdListRequiredValidator, multiselectMaxItemsValidator, navegarVoltarLista, navegarVoltarListaComIdRemovido, navegarVoltarListaComLinha, navigateCadastroDuplicate, navigateCommandsFromRotaAlterar, navigateCommandsFromRotaNovo, nomeSalvarParaPayloadComPessoa, normalizarArvoreSecoesMetadata, normalizarHexCor, normalizarItensParaGravarServidorCadastro, normalizarListaIdsMultiselect, normalizarOperadorConsultaParaEnvioServidor, normalizarRotaReferencia, normalizarStructraAction, normalizarStructraActionGroup, normalizarStructraActionGroups, normalizeCadastroAppPath, normalizeCadastroCampoMetadataWire, normalizeCadastroInitRouteIdParam, normalizeCadastroItemEditorDecimalControls, normalizeCadastroReferenciaDialogRotaKey, normalizeCadastroRouteForContainerState, normalizeConsoleLogLevel, normalizeFormDateValue, normalizePhoneBr, normalizeStructraAdminPath, normalizeStructraTheme, novoPathCommandsFromRota, onlyDigits, operadorConsultaComValorUnicoComparacao, operadorConsultaDatetimeUsaDatePicker, operadoresConsultaCampo, operadoresPorTipo, ordenarFiltroItens, ordenarStructraActions, parseDecimalBr, parseIntegerString, parseUiFieldDateValue, patchFormFromEntidadeRecord, permissionTabsUsamGruposVerticais, permissoesReferenciaMetadata, phoneBrDynamicMaskCompleteValidator, phoneBrMaskCompleteValidator, phoneBrMaskFromDigits, pickCadastroPageActiveTabExplicit, pickTabKeyLinkedToSummaryItems, precisaValor, precisaValorFinal, provideAppPageFooter, provideStructraCadastroReferenciaDialogRoot, provideStructraPageFooter, provideStructraShellScrollRestoration, qtdCriteriosPresetParaSkeleton, readCadastroDuplicateSourceId, readCadastroPageActiveTabFromNavigationState, readCadastroPageActiveTabFromUrl, readFormContainerCollapsedFromStorage, readStructraAdminRouteRedirectTarget, readStructraCadastroInlineReturn, referenciaAbreEmDialog, referenciaOpenModeRaw, referenciaUsesLegacyRegistryMapper, registerCadastroReferenceEntries, registerCadastroReferenceListSources, registerCadastroReferenciaDialogBridges, registerStructraBuiltinPageComponents, replaceProdutoCadastroFormControls, reportColumnWidthStyle, reportExistsInTree, reportTableHasFixedWidths, resetStructraCadastroReferenciaDialogRootForTests, resolveCadastroCollectionMinItems, resolveCadastroListaUrlParaNavegacao, resolveCadastroPageActiveTabKey, resolveCadastroReferenciaMapOptions, resolveConsultaEditActionLabelFromGridConfig, resolveConsultaListaQuerySliceFromGridConfig, resolveConsultaNavKeysFromPageLayout, resolveConsultaNovoRouterLinkFromLayout, resolveConsultaRouteEditBaseFromLayout, resolveConsultaToastTitleLista, resolveControlAtPath, resolveFormContainerCollapsed, resolveInitialReportId, resolveReferenciaOpcaoLabel, resolveStructraAdminMenuUrl, resolveStructraPageCacheCadastroScope, resolveStructraPageInputExpression, resolveStructraPageInputs, resolveStructraShellScrollContainer, resolverAcoesReferenciaPorRota, resolverValorOpcaoPorRotuloNormalizado, resumoValorMultiselectFiltro, rotaListaReferencia, rotuloEnmStatus, rotuloNomeDocumentoLista, rotuloOperadorConsulta, rotuloPessoaLista, runStructraSimulatedLoadingDelay, sanitizeDecimalBrInput, sanitizeIntegerDigits, sanitizeRecordForCadastroDuplicate, savePresetsJson, scheduleRemoteCollectionHydrationAfterSectionExpand, secaoMetadataEhContainerPlain, secaoTemConteudoVisivel, secaoTemCorpoParaRender, sectionHasVisibleInvalid, semanticCaretAt, semanticIntegerDigitCountLeft, serializeCollectionFormArray, shouldDeferInitialRemoteCollectionLoad, shouldSkipCadastroPageActiveTabCacheWrite, shouldSkipStructraAdminMenuNavigation, stripStructraCadastroInlineResultFromHistory, stripToDigits, structraActionButtonVariant, structraCadastroInlineResultTemIdSalvo, structraCadastroInlineResultTemReferenciaExcluida, structraElementScrolls, structraHasValue, structraIsFilledString, structraIsFormGroup, structraIsValidPort, structraParseNumberOrNull, structraReadFormValue, structraReadNestedValue, structraTrimString, subscribeMarkForCheckOnInvalidUiRefresh, subtreeHasVisibleInvalid, syncStructraCadastroInlineReturnSessionCache, tabWarningFromLinkedSummaryItems, tipoCampoMetadataParaUi, tipoValorApi, toCadastroReferenceListPageResult, toConsoleLogLineView, toConsoleLogLineViews, toUiSelectOptionsFromMetadata, uiSelectOpcaoIdNomeDocumento, uiSelectOpcoesDePessoas, validationLikeFromCampoMetadata, validatorsFromCampo, writeFormContainerCollapsedToStorage };
|
|
12432
|
-
export type { AdaptiveDataViewMode, AdminLoginShellConfig, AdminLoginSubmitPayload, StructraSidebarEmpresaContext as AdminSidebarEmpresaContext, StructraSidebarUserView as AdminSidebarUserView, AlertAction, AlertType, AppThemeId, AppThemeOption, ApplyCadastroModoSenhaOptions, BreadcrumbItem, BuildCadastroMetadataShellRuntimeOptions, BuildCadastroPageRuntimeOptions, CadastroActionStateDto$1 as CadastroActionStateDto, CadastroAutoMapFormValueConfig, CadastroCampoContaNaGrelhaFn, CadastroCampoMetadataDto, CadastroCampoMetadataMergeInput, CadastroCampoReferenciaMetadataDto, CadastroCampoSelectOptionDto, CadastroCampoValidacaoDto, CadastroCampoValidacaoLike, CadastroCollectionBinding, CadastroCollectionBridge, CadastroCollectionEditingItemControlsChangeEvent, CadastroCollectionEditingItemControlsChangeOptions, CadastroCollectionItemEvent, CadastroCollectionItemFieldsChangeEvent, CadastroCollectionItemFieldsChangeOptions, CadastroCollectionItemsChangeEvent, CadastroCollectionPageReplyWire, CadastroCollectionPageRequestWire, CadastroCollectionPagingPort, CadastroCollectionPagingUi, CadastroCollectionSaveHandler, CadastroCollectionStateDto, CadastroConfirmExcluirPartial, CadastroCrudMessagesResolved, CadastroDeclarativeSnapshotDto, CadastroDuplicateActionConfig, CadastroEnsureSingleBooleanInCollectionOptions, CadastroFieldChangeEvent, CadastroFieldEventBase, CadastroFieldKey, CadastroFieldRegistration, CadastroFieldSelectEvent, CadastroFieldSimpleEvent, CadastroFiltroDialogRuntimeSlice, CadastroFormPageLayout, CadastroHeaderSecondaryAction, CadastroImageUploadMetadata, CadastroImageUploadMetadataOptions, CadastroInferExtensaoArquivoOptions, CadastroInferImageContentTypeOptions, CadastroInlineHostNavigationConfig, CadastroListSelectBinding, CadastroMetadataCamposReplyLike, CadastroMetadataPageCadastro, CadastroMetadataPageServiceConfig, CadastroMetadataPageShellCallbacks, CadastroMetadataPageStateConfig, CadastroMetadataPageVm, CadastroMetadataSecao, CadastroMetadataServiceConfig, CadastroMetadataServicePort, CadastroMetadataShellRuntime, CadastroMetadataView, CadastroModo, CadastroMultiselectBinding, CadastroPadraoGrpcService, CadastroPageActionDto, CadastroPageActiveTabResolveInput, CadastroPageComponentDto, CadastroPageConfig, CadastroPageIdentityFallback, CadastroPageNavKeysConfig, CadastroPageOverlayDto, CadastroPageRuntime, CadastroPageSenhaConfig, CadastroPageTabDto, CadastroPessoaOpcaoMin, CadastroRawBooleanDeepOptions, CadastroReferenceListPageParams, CadastroReferenceListPageResult, CadastroReferenceListarService, CadastroReferenceRegistryEntry, CadastroReferenciaAcoesPermitidas, CadastroReferenciaDialogBridgeEntry, CadastroReferenciaDialogBridgeFactory, CadastroReferenciaDialogCloseReason, CadastroReferenciaDialogCompletePayload, CadastroReferenciaDialogContext, CadastroReferenciaDialogOpenOptions, CadastroReferenciaDialogOpenRequest, CadastroReferenciaOpenModeWireRef, CadastroReferenciaPermissoesMetadata, CadastroReferenciaRouteAccess, CadastroReindexarCollectionOrdemOptions, CadastroRuntimeDeps, CadastroRuntimeOptions, CadastroSearchSelectBinding, CadastroSearchSelectRedirectSuffix, CadastroSearchSelectReferenciaDialog, CadastroSecaoSegmento, CadastroSingleBooleanCollectionBindingOptions, CadastroTitulosFallback, CadastroToolbarButtonDto, CadastroToolbarVisibilityResolved, CadastroValidationUi, CardItemBooleanField, CardItemMetaField, CardItemView, CardListDataMode, CardListHeaderPosition, CardListMapFn, CatalogoStubConsultaConfig, CatalogoStubListaItem, ConfirmDialogData, ConfirmDialogVariant, ConsoleLogLevel, ConsoleLogLine, ConsoleLogLineView, ConsultaBaseConfig, ConsultaCampoDef, ConsultaCampoMetadataDto, ConsultaCardCampoDto, ConsultaCatalogBundleConfig, ConsultaCatalogBundleSessaoPort, ConsultaCatalogEntityBindings, ConsultaCatalogInitCarregada, ConsultaCrudAdapterConfig, ConsultaEnumSelectOptionDto, ConsultaFiltroCampo, ConsultaFiltroItem, ConsultaFiltroMatchAdapters, ConsultaFiltroPreset, ConsultaFiltroSalvoDto, ConsultaFiltroSalvoItemDto, ConsultaFiltroUiFragment, ConsultaFiltroValorTipo, ConsultaFiltrosBundleSessao, ConsultaFiltrosChromeVolatil, ConsultaFiltrosSessaoConsultaPadraoApi, ConsultaFiltrosSessaoUserLike, ConsultaFiltrosSessaoVolatilApi, ConsultaFiltrosVolatilHandlers, ConsultaGridColunaDto, ConsultaGridColunaDtoLike, ConsultaGridConfigDto, ConsultaInitCarregada, ConsultaListaCacheKeyParts, ConsultaListaCachePayload, ConsultaListaMemoriaCacheStoreOpts, ConsultaListaQueryParamsLike, ConsultaListaResultadoLike, ConsultaListaServidorQuerySlice, ConsultaMapCardLinha, ConsultaMetadataCampo, ConsultaMetadataReplyLike, ConsultaMetadataServicePort, ConsultaMultiselectOpcoesRemotasSpec, ConsultaOperadorOption, ConsultaOptionsListarContrato, ConsultaOptionsListarResolver, ConsultaPadraoGrpcServiceLike, ConsultaPadraoNavigateLike, ConsultaPadraoToastLike, ConsultaPageCacheEntry, ConsultaPageLoadingSkeletonVariant, ConsultaPageMetadataUnified, ConsultaPageRuntime, ConsultaPageRuntimeDeps, ConsultaRouteReusePort, ConsultaServidorExecutorOpts, ConsultaServidorListaReply, ConsultaServidorPort, ConsultaServidorQueryParams, ConsultaTopbarSlotPort, ConsultaUsuariosMetadataReply, ConsultaValorTipo, CreateCadastroMetadataPageConfigOptions, CreateCadastroPadraoConfigOptions, CreateConsultaPadraoRuntimeOptions, CreateGrpcSaveRequestMapperOptions, CreateSaveRequestFromPartialMapperOptions, CrudConsultaServicePort, DataGridColumn, DataGridPaginationChangeEvent, DeleteConfirmPageConfig, DetailsViewItem, DropdownListBindings, DropdownSearchPageRequested, DuplicatePageConfig, FieldCommonInputs, FieldSize, FilePreviewKind, FiltroItemEntrada, FiltroItemEntradaGenerico, FiltroItemGridRow, FiltroItemSalvoDto, FiltroSalvo, FormContainerStateKeyParts, FormTabValidationLinkConfig, FormTabsVariant, GridLayoutConsultaApiDto, GridLayoutConsultaPersistedPayload, GrpcSaveRequestFactory, InitConsultaReply, ListarTodosPaginadoParams, LoadingDialogData, MapConsultaGridColunasOpts, MenuItemAction, MenuItemDivider, MenuItemGroup, MenuItemKind, MenuItemSubmenu, MenuLeafItem, MenuNodeItem, ModoPermissaoReferencia, MontarFiltrosGrpcPresetOptions, MontarFiltrosServidorPresetOptions, OnboardingChecklistProgress, OnboardingChecklistStep, OptionsSourceServicePort, PatchFormFromEntidadeOptions, PermissionGroupTabBucket, PermissionGroupTabDescriptor, PermissionGroupTabGroup, ReportColumnMeta, ReportColumnWidthFields, ReportFilterMeta, ReportFiltroItemEntrada, ReportHeader, ReportMetadata, ReportPesquisarRequest, ReportResult, ReportSection, ReportSectionColumn, ReportSectionTable, ReportTotal, ReportTreeNode, ResolveStructraAdminMenuUrlOptions, SalvarFiltroConsultaRequest, SalvarFiltroPresetAsyncArgs, SaveRequestFromPartialFactory, ScriptEditorLanguage, SelectPageRequested, SkeletonFieldShellVariant, SkeletonTableChrome, StatCardDeltaTone, StatusBadgeSize, StatusBadgeVariant, StructraAction, StructraActionButtonVariant, StructraActionGroup, StructraActionGroupWire, StructraActionId, StructraActionVariant, StructraActionWire, StructraAdminRouteRedirectCacheOptions, StructraAdminRouteRedirectLoadOptions, StructraCadastroInlineResultState, StructraCadastroInlineReturnState, StructraFormValueSource, StructraGridLayoutApiBaseResolverFn, StructraGridLayoutAuthHeadersResolverFn, StructraGridLayoutTenantResolverFn, StructraMidiaUploadResult, StructraMidiaUploadTransportContext, StructraMidiaUploadTransportFn, StructraPageCacheGetOrLoadOptions, StructraPageCacheSetOptions, StructraPageFooterConfig, StructraPageInputContext, StructraReportTransport, StructraShellScrollRestorationMergedOptions, StructraShellScrollRestorationOptions, StructraSidebarContext, StructraSidebarEmpresaContext, StructraSidebarTemplateContext, StructraSidebarUserView, StructraTheme, TitulosFromMetadataConfig, ToastInstance, ToastShowOptions, ToastType, ToastVerticalPosition, TreeViewNode, TreeViewSelectEvent, UiFieldInputTextAlign, UiSelectOption, ValidationFieldMeta, ValidationSummaryItem, ValidationSummarySize, ValidationSummaryVariant, ValoresConsultaPresetUi };
|
|
12994
|
+
export { ADAPTIVE_DATA_VIEW_MOBILE_QUERY, APP_SIDEBAR_LABEL_REVEAL_LAG_MS, APP_SIDEBAR_LAYOUT_DURATION_MS, APP_SIDEBAR_NAV_REVEAL_TOTAL_MS, APP_THEME_BASE_CLASS, APP_THEME_IDS, ActionMenuComponent, AdaptiveDataViewComponent, AdminLoginPageComponent, AdminLoginShellComponent, StructraSidebarUserPanelComponent as AdminSidebarUserPanelComponent, AlertComponent, AnchoredOverlayComponent, AppBreadcrumbComponent, AppDialogComponent, AppLibLightBlockScrollStrategy, AppShellComponent, AppShellSidebarTemplateDirective, AppShellSidebarToggleComponent, AppSidebarBottomActionsSlotDirective, AppSidebarBottomActionsTemplateDirective, AppSidebarBrandDirective, AppSidebarComponent, AppSidebarFooterSlotDirective, AppSidebarFooterTemplateDirective, AppSidebarHeaderSlotDirective, AppSidebarHeaderTemplateDirective, AppSidebarToolbarDirective, AppSidebarUserInfoSlotDirective, AppSidebarUserInfoTemplateDirective, AppTheme, AppThemeService, AppTopbarComponent, AppUserMenuComponent, StructraAppVersionService as AppVersionService, BR_ESTADOS_NOME_SIGLA, ButtonType as BaseButtonType, ButtonVariant as BaseButtonVariant, BaseFieldComponent, BaseFieldDirective, BooleanFieldDirective, ButtonComponent, ButtonRadius, ButtonSize, ButtonType, ButtonVariant, CADASTRO_COLLAPSIBLE_REMOTE_LOAD_DELAY_MS, CADASTRO_DUPLICATE_FLAG_STATE, CADASTRO_DUPLICATE_SOURCE_ID_STATE, CADASTRO_FOCO_COLUNA_APOS_RESUMO_MS, CADASTRO_FORM_COLLECTION_REMOVE_ITEM_CONFIRM, CADASTRO_INVALIDATE_ROUTE_SNAPSHOT, CADASTRO_PAGE_SUBTITULO_PADRAO, CADASTRO_PAGE_TITULO_NOVO_PADRAO, CADASTRO_PESSOA_INLINE_DESTINO_URL_FRAGMENTS, CADASTRO_REFERENCIA_DIALOG_CONTEXT, CADASTRO_REFERENCIA_DIALOG_PAGE_CONFIG, CADASTRO_REFERENCIA_ROUTE_ACCESS, CADASTRO_REFERENCIA_ROUTE_ACCESS_PERMISSIVE, CADASTRO_RESUMO_FIELD_NAVIGATE_DEFER_MS, CADASTRO_TOAST_TITLE_PADRAO, CADASTRO_VALIDATION_SUMMARY_PINNED, CADASTRO_VALIDATION_SUMMARY_STATIC, CATEGORIAS_NAV_ID_EXCLUIDO, CATEGORIAS_NAV_LINHA_GRAVADA, CATEGORIAS_NAV_VOLTAR_SEM_RECARREGAR, CLIENTES_NAV_ID_EXCLUIDO, CLIENTES_NAV_LINHA_GRAVADA, CLIENTES_NAV_VOLTAR_SEM_RECARREGAR, CONSULTA_DATETIME_KEYS_ISO_PARA_FMT, CONSULTA_DOCUMENTO_GRID_KEYS_ISO_PARA_FMT, CONSULTA_FILTROS_SESSAO_USER, CONSULTA_GRID_OPTS_DATAS_PADRAO, CONSULTA_LISTA_CACHE_MAX_PAGINAS_DEFAULT, CONSULTA_LISTA_CACHE_NS_SEP, CONSULTA_LISTA_CACHE_TTL_MS_DEFAULT, CONSULTA_MOBILE_LAYOUT_MEDIA_QUERY, CONSULTA_MULTISELECT_LABEL_STUB, CONSULTA_OPTIONS_LISTAR_RESOLVER, CONSULTA_PEDIDOS_GRID_OPTS, CONSULTA_PHONE_GRID_KEYS_ISO_PARA_FMT, CONSULTA_PRESET_SELECT_EMPTY_OPTIONS_MESSAGE_DESKTOP, CONSULTA_PRESET_SELECT_EMPTY_OPTIONS_MESSAGE_MOBILE, CONSULTA_PRODUTOS_GRID_OPTS, CONSULTA_ROUTE_REUSE, CONSULTA_SERVIDOR_LISTA_QUERY_DEFAULTS, CONSULTA_TOPBAR_SLOT, CadastroBasePageComponent, CadastroCollectionGridColumnFormat, CadastroCollectionReferenciaHostService, CadastroCollectionRuntime, CadastroEnumOptionsRegistry, CadastroFieldRendererComponent, CadastroFieldRuntime, CadastroFieldsBaseComponent, CadastroFormDraftCacheService, CadastroFormLoadingSkeletonComponent, CadastroMetadataPageBase, CadastroMetadataPageComponent, CadastroMetadataPageServiceBase, CadastroMetadataPageShellLayoutComponent, CadastroMetadataPageStateBase, CadastroMetadataShellPageComponent, CadastroPadraoPageBase, CadastroReferenceRegistry, CadastroReferenciaDialogBridgeRegistry, CadastroReferenciaDialogHostComponent, CadastroReferenciaDialogService, CadastroReferenciaOpenMode, CadastroRuntime, CadastroRuntimeRegistry, CadastroSectionPanelLayout, CardListComponent, CepFieldComponent, CheckboxFieldComponent, ColorPickerFieldComponent, ComponentType, ConfirmDialogComponent, ConfirmDialogService, ConsoleLogComponent, ConsultaBasePageComponent, ConsultaCadastroFiltroDialogComponent, ConsultaCardCampoPapel, ConsultaCardFieldFormat, ConsultaCatalogBundleHelper, ConsultaFiltroPresetToolbarComponent, ConsultaFiltrosSessaoService, ConsultaGridColumnFormat, ConsultaGridOrderDirection, ConsultaListaMemoriaCacheService, ConsultaPadraoPageBase, ConsultaPageCache, ConsultaPageLoadingSkeletonComponent, ContainerLayoutSize, ContextMenuComponent, CpfCnpjFieldComponent, DEFAULT_STRUCTRA_APP_VERSION_API_PATH, DEFAULT_STRUCTRA_APP_VERSION_FALLBACK, DEFAULT_STRUCTRA_COOKIE_NOTICE_ACCEPT_LABEL, DEFAULT_STRUCTRA_COOKIE_NOTICE_DESCRIPTION, DEFAULT_STRUCTRA_COOKIE_NOTICE_STORAGE_KEY, DEFAULT_STRUCTRA_COOKIE_NOTICE_TITLE, DEFAULT_STRUCTRA_SHELL_SCROLL_RESTORATION_OPTIONS, DEFAULT_STRUCTRA_SHELL_SIDEBAR_COLLAPSED_STORAGE_KEY, DROPDOWN_SEARCH_LOCAL_PAGE_SIZE, DashboardSectionComponent, DataCardComponent, DataGridComponent, DataListComponent, DataToolbarComponent, DateFieldComponent, DecimalFieldComponent, DetailsFieldComponent, DetailsViewComponent, DialogFooterDirective, DividerComponent, DrawerComponent, DrawerSide, DrawerSize, DropdownBaseComponent, DropdownMenuComponent, DropdownMultiOptionFieldBase, DropdownOptionFieldBase, DropdownSearchFieldComponent, ENM_STATUS_OPCOES_SELECT, EmptyStateComponent, EnmStatus, FIELD_MOBILE_LAYOUT_QUERY, FILE_PREVIEW_UNAVAILABLE_MESSAGE, FORM_CONTAINER_STATE_STORAGE_PREFIX, FORNECEDORES_NAV_ID_EXCLUIDO, FORNECEDORES_NAV_LINHA_GRAVADA, FORNECEDORES_NAV_VOLTAR_SEM_RECARREGAR, FieldCadastroRedirectButtonComponent, FileUploadFieldComponent, FileUploadType, FormActionsAlign, FormActionsComponent, FormColComponent, FormCollectionComponent, FormCollectionLayout, FormGroupComponent, FormGroupVariant, FormLayoutGap, FormRowAlign, FormRowComponent, FormRowJustify, FormSectionAlign, FormSectionComponent, FormSectionRadius, FormSectionVariant, FormTabComponent, FormTabsComponent, GridLayoutConsultaService, ImagePreviewPanelComponent, InputMaskFieldComponent, IntegerFieldComponent, LAYOUT_STACK_SIDE_BY_SIDE, LAYOUT_STACK_STACKED, LayoutStackAlign, LayoutStackComponent, LayoutStackDirection, LayoutStackItemAlign, LibDialogSize, ListItemComponent, LoadingDialogComponent, LoadingDialogService, MaskedTextFieldBase, MenuDividerComponent, MenuDropdownPlacement, MenuGroupComponent, MenuListComponent, MultiselectFieldComponent, NO_OP_CONSULTA_ROUTE_REUSE, NO_OP_CONSULTA_TOPBAR_SLOT, NgControlFieldDirective, OPS_BOOL, OPS_DATA, OPS_TEXTO, OPS_TEXTO_MULTISELECT, ORIGEM_CADASTRO_INLINE_PESSOA, OnboardingChecklistComponent, OverlayPlacement, PDF_IFRAME_VIEWER_HASH, PEDIDOS_NAV_ID_EXCLUIDO, PEDIDOS_NAV_LINHA_GRAVADA, PEDIDOS_NAV_VOLTAR_SEM_RECARREGAR, PERMISSION_GROUP_OUTROS_KEY, PERMISSION_GROUP_OUTROS_LABEL, PERMISSION_GROUP_OUTROS_ORDER, PESSOAS_NAV_LINHA_GRAVADA, PESSOAS_NAV_VOLTAR_SEM_RECARREGAR, PHONE_BR_LANDLINE_MASK, PHONE_BR_MOBILE_MASK, PRODUTOS_NAV_ID_EXCLUIDO, PRODUTOS_NAV_LINHA_GRAVADA, PRODUTOS_NAV_VOLTAR_SEM_RECARREGAR, StructraPageFooterComponent as PageFooterComponent, PasswordFieldComponent, PermissionGroupTabComponent, PermissionGroupTabsComponent, PhoneFieldComponent, PopoverBodyTemplateDirective, PopoverComponent, PopoverFooterTemplateDirective, PopoverTriggerDirective, ReferenceOptionPreset, STRUCTRA_ADMIN_ROUTE_REDIRECT_CACHE_PREFIX, STRUCTRA_ADMIN_ROUTE_REDIRECT_LOGIN_ID_CACHE_KEY, STRUCTRA_APP_VERSION_CONFIG, STRUCTRA_CADASTRO_INLINE_RESULT_KEY, STRUCTRA_CADASTRO_INLINE_RETURN_KEY, STRUCTRA_CONSULTA_FORCE_REFRESH_KEY, STRUCTRA_COOKIE_NOTICE_CONFIG, STRUCTRA_DEDICATED_BACK_TO_TOP_SELECTOR, STRUCTRA_GRID_LAYOUT_API_BASE_RESOLVER, STRUCTRA_GRID_LAYOUT_AUTH_HEADERS_RESOLVER, STRUCTRA_GRID_LAYOUT_TENANT_RESOLVER, STRUCTRA_INLINE_FORM_DRAFT_PENDING_PREFIX, STRUCTRA_KANBAN_DESKTOP_MIN_WIDTH, STRUCTRA_MIDIA_PUBLIC_BASE_RESOLVER, STRUCTRA_MIDIA_UPLOAD_TRANSPORT, STRUCTRA_PAGE_CACHE_SCOPE_SEP, STRUCTRA_PAGE_FOOTER_CONFIG, STRUCTRA_PAGE_FOOTER_PARTS, STRUCTRA_PAGE_STATE_ACTIVE_TAB_PREFIX, STRUCTRA_REPORT_DEFAULT_PAGE_SIZE, STRUCTRA_REPORT_TRANSPORT, STRUCTRA_SCROLL_SESSION_RESET, STRUCTRA_SCROLL_TENANT_RESOLVER, STRUCTRA_SHELL_NAV_CONTENT_READY, STRUCTRA_SHELL_SCROLL_RESTORATION_OPTIONS, STRUCTRA_SHELL_TOPBAR_TITLE_SKELETON, STRUCTRA_SIMULATED_LOADING_DELAY_MS, STRUCTRA_THEME_DARK_CLASS, STRUCTRA_THEME_IDS, STRUCTRA_UI, ScriptEditorFieldComponent, SelectFieldComponent, SkeletonBlockComponent, SkeletonCardComponent, SkeletonFieldShellComponent, SkeletonListComponent, SkeletonStatCardComponent, SkeletonTableComponent, SkeletonTextComponent, StatCardComponent, StatusBadgeComponent, StructraAdminRouteRedirectPageBase, StructraAppVersionService, StructraBackToTopButtonComponent, StructraCookieNoticeComponent, StructraCookieNoticeService, StructraKanbanDragAutoScrollController, StructraPageCacheService, StructraPageComponentOutletComponent, StructraPageComponentRegistry, StructraPageFooterComponent, StructraPageStateCacheService, StructraPreserveScrollDirective, StructraProgressOverlayComponent, StructraReportEmptyStateComponent, StructraReportFilterPanelComponent, StructraReportLoadingSkeletonComponent, StructraReportPageBaseComponent, StructraReportPageComponent, StructraReportPaginatorComponent, StructraReportPreviewHeaderComponent, StructraReportTableComponent, StructraReportTreeCacheService, StructraReportTreeComponent, StructraReportTreeSkeletonComponent, StructraReportViewerComponent, ScriptEditorFieldComponent as StructraScriptEditorComponent, StructraScrollStateService, StructraShellScrollRestorationService, StructraShellTopbarSlotService, AppSidebarBottomActionsTemplateDirective as StructraSidebarBottomActionsDirective, AppSidebarFooterTemplateDirective as StructraSidebarFooterDirective, AppSidebarHeaderTemplateDirective as StructraSidebarHeaderDirective, AppSidebarUserInfoTemplateDirective as StructraSidebarUserInfoDirective, StructraSidebarUserPanelComponent, StructraTreeExpandStateService, SwitchFieldComponent, THEME_PRIMARY_COLOR_LABEL_PT_BR, TOAST_REGISTRO_EXCLUIDO_SUCESSO, TableEmptyStateComponent, TableToolbarComponent, TextFieldComponent, TextareaFieldComponent, ThemeDirective, ToastHostComponent, ToastService, TooltipComponent, TooltipPanelTemplateDirective, TreeViewComponent, USUARIOS_CONSULTA_GRID_OPTS, USUARIOS_NAV_ID_EXCLUIDO, USUARIOS_NAV_LINHA_GRAVADA, USUARIOS_NAV_VOLTAR_SEM_RECARREGAR, VENDEDORES_NAV_ID_EXCLUIDO, VENDEDORES_NAV_LINHA_GRAVADA, VENDEDORES_NAV_VOLTAR_SEM_RECARREGAR, ValidationSummaryComponent, agruparCamposMetadataPorSecao, agruparPermissionTabs, anchoredOverlayPositions, aplicarNormalizacaoMultiselectIdsNoPartial, aplicarProdutoDtoNoFormulario, appendCadastroPageActiveTabQuery, appendPdfIframeViewerParams, applyCadastroCollectionArrayValidators, applyCadastroModoSenhaNovos, applyCollectionValidationSummaryNavigation, applyCollectionValueToFormArray, applyEntityToCadastroFormByMetadata, applyOptionalThemeHostClasses, applyPickedCalendarDate, attachStructraScrollPreserve, buildCadastroFiltroDialogItensGridRows, buildCadastroMetadataShellRuntime, buildCadastroPageActiveTabPageKey, buildCadastroPageActiveTabPageKeyFromLayout, buildCadastroPageRuntime, buildCadastroRedirectReturnUrl, buildCadastroReferenciaDialogContext, buildCatalogoStubConsultaRuntime, buildConsultaConfirmDuplicarLinhaFromLayout, buildConsultaConfirmRemoverLinhaFromLayout, buildConsultaDefaultIsItemGuard, buildConsultaListaCacheKey, buildConsultaPageMetadataUnified, buildConsultaPageRuntime, buildDecimalBrDisplay, buildDecimalBrParseString, buildDefaultConsultaMapCardFromColunasGrid, buildEmptyStateOverlayHtml, buildFormContainerStateStorageKey, buildFormGroupFromCadastroCampos, buildGridNavigateUrl, buildHistoryStateAfterReturningFromNestedInlineChild, buildInlineReturnStateForChildCadastro, buildNovoFormDefaultsFromCampos, buildReportRowCardMap, buildRouteReuseKeyFromAppPathname, buildRouteReuseKeyFromNovoRouterLink, buildStructraAdminRouteRedirectCacheKey, buildStructraAdminRouteRedirectChildUrl, buildStructraPageCacheCadastroInitKey, buildStructraPageCacheRouteScope, buildStructraPageFooterParts, buildStructraSidebarTemplateContext, buildValidationMetaFromCadastroCampos, cadastroBuildImageUploadMetadata, cadastroCampoBlocoEditorOcupaLinhaInteira, cadastroCampoBooleanOcupaLinhaInteira, cadastroCampoMetadataDtoFromPartial, cadastroCampoMetadataEhBoolean, cadastroCampoMetadataLarguraCompacta, cadastroCampoMetadataLarguraFixaCss, cadastroCampoReferenciaMetadataDtoFromPartial, cadastroCampoRuleMaxLength, cadastroCampoScriptEditorLanguage, cadastroCampoScriptEditorMinHeight, cadastroCampoValidacaoDtoFromPartial, cadastroCampoWrapperWidthCss, cadastroCollectionEditorGridColumns, cadastroCollectionMaxItemsValidator, cadastroCollectionMinItemsValidator, cadastroConfirmExcluirPartialFromLayout, cadastroContainerLayoutSizeDoRecord, cadastroContainerPathJoin, cadastroCrudMessagesDoFormLayout, cadastroDeclarativeSnapshotDtoFromPartial, cadastroEnsureSingleBooleanInCollection, cadastroFieldsPerRowDoRecord, cadastroFlattenContainerRaw, cadastroFormDraftEnabledDoLayout, cadastroFormGridColumns, cadastroFormLayoutComoRecord, cadastroFormLayoutDoBundle, cadastroFormLayoutDoRuntime, cadastroFormLayoutPreserveActiveTab, cadastroFormPageLayoutFromPartial, cadastroGcd, cadastroGetCollectionItemControl, cadastroGridColumnSpanForFieldIndex, cadastroGridDenominadorTracks, cadastroGridTemplateColumnsLinhaUnicaSeAplicavel, cadastroInferExtensaoArquivo, cadastroInferImageContentType, cadastroLcm, cadastroMetadataDtoParaValidacaoLike, cadastroNavKeysStructra, cadastroNomeArquivoDaUploadUrl, cadastroNormalizarUploadUrlPorPrefixo, cadastroPageActionDtoFromPartial, cadastroPageActionsPorRegiao, cadastroPageActiveTabToRestore, cadastroPageComponentDtoFromPartial, cadastroPageComponentsPorRegiao, cadastroPageIdentityDoFormLayout, cadastroPageOverlayDtoFromPartial, cadastroPageShellAtivo, cadastroPageShellTabsKeepAliveFromLayout, cadastroPageTabDtoFromPartial, cadastroPageTabsOrdenados, cadastroPainelMaxWidthCss, cadastroRawBooleanDeep, cadastroRawNumber, cadastroRawString, cadastroReferenceEntryFromListarService, cadastroReferenciaOpenModeFromWire, cadastroReindexarCollectionOrdem, cadastroResolveId, cadastroSecaoFormGroupDense, cadastroSecaoPersisteExpandedState, cadastroSecaoRenderizaInlineDentroDoPai, cadastroSecaoSegmentosIntercalados, cadastroSecaoSegmentosParaRender, cadastroSecaoUsaFormGroup, cadastroSecaoUsaFormGroupComoBlocoVisual, cadastroSecaoUsaSuperficieDeclarativa, cadastroSingleBooleanCollectionBinding, cadastroTitulosEfectivosDoFormLayout, cadastroToastTitleEfectivoDoFormLayout, cadastroToolbarButtonDtoFromPartial, cadastroToolbarVisibilityDoFormLayout, cadastroUseBackToTopButtonFromLayout, cadastroValidationSummaryFlagsDoRecord, cadastroValidationSummaryPinnedFromFlags, cadastroWireCollectionOrdemReindexOnAdd, cadastroWireCollectionOrdemReindexOnAddRemove, cadastroWireCollectionOrdemReindexOnRemove, campoMetadataVisivelNoModo, caretIndexFromIntegerDigitCount, caretIndexFromSemantic, carregarOpcoesMultiselectViaSpec, cepMaskCompleteValidator, clearRequiredValidatorsOnReadOnlyCadastroFields, clearStructraCadastroInlineReturnSessionCacheForTests, clearStructraCadastroSessionStorageOnLogout, coerceDecimalPtBr, coerceReportBoolean, collectValidationSummaryItems, colunasGridTemFormatacaoDeclarativa, computeReferenciaHasMore, consoleLogLevelClass, consultaCampoMetadataDtoFromPartial, consultaCardCampoDtoFromPartial, consultaFiltroValorDataSomenteDia, consultaGridColunaDtoFromPartial, consultaGridColunaKeyParaCampoLinha, consultaGridConfigDtoFromPartial, consultaPassaItem, consultaPassaTodosItens, consultaUsuariosMetadataReplyFromPartial, consumeCadastroInlineFormDraftPendingRestore, consumeConsultaPendingGridReturn, consumeGridReturnVoltarKeyForUrl, consumirResultadoCadastroInlineCampoPessoaId, consumirResultadoCadastroInlineCampoReferencia, cpfCnpjMaskCompleteValidator, createCadastroDialogActivatedRoute, createCadastroMetadataPageConfig, createCadastroPadraoConfig, createCadastroRuntime, createCollectionFormArray, createCollectionItemFormGroup, createConsultaListaItemGuardFromFiltroUi, createConsultaOptionsListarResolver, createConsultaPadraoRuntime, createConsultaPresetSelectEmptyOptionsMessageSignal, createConsultaPresetStorageApi, createGrpcSaveRequestMapper, createInlineHostNavigation, createMapCardFromConsultaColunasGrid, createMapGridRowFromConsultaColunasGrid, createSaveRequestFromPartialMapper, criarDraftInlinePessoa, decimalPtBrNaoNegativoValidator, decimalPtBrToNullableNumber, defaultIsConsultaListItemMinimo, defaultParseLinhaGravadaJson, deleteConfirmPageConfigFromPartial, deriveCadastroTituloEditar, deriveConsultaListaItemGuardPropsFromFiltroUi, duplicateConfigFromLayout, duplicatePageConfigFromPartial, enrichCadastroReferenciaDialogPageConfig, ensureCadastroCollectionMinItems, ensureCadastroFormControlsFromMetadata, escapeHtml, evaluateStructraPageVisibleExpression, executarConsultaServidorComPreset, extractConsultaListaCacheNamespace, extractDecimalBrParts, fileIsLikelyImage, fileMatchesAccept, filtrarSecoesMetadataPorModo, filtrarUiSelectOptionsPainelComValorPersistente, filtrarUiSelectOptionsPorQuery, findCadastroCampoByKey, findFirstReportLeafId, findReportTreeLabel, fixedDigitsMaskCompleteValidator, flattenCadastroMetadataSecoes, fmtDataPt, fmtDocumentoCelulaConsultaGrid, formatAcceptForDisplay, formatDateTimePtBr, formatDecimalBr, formatDocumentoPessoaParaExibicao, formatFileSizeBytes, formatIntegerThousandsBr, formatMaskDigits, formatPhoneBr, formatReportPreviewTitulo, formatUiFieldDateValue, getFilePreviewKind, getStructraActionsByGroup, getThemeClass, getThemeClassList, getThemePrimaryColorLabelPtBr, getThemeTokenClass, gridNavigateIconClass, hexParaColorInput, inferCadastroItemFieldsFromPlainRows, inferCadastroListaUrlFallback, initialCadastroControlValue, injectEffectiveThemeId, isCadastroDuplicateNavigation, isCollectionField, isCollectionLikeField, isConsultaCardAutoSubtitleExcluded, isLegacyDarkThemeId, isLegacyFormContainerStateStorageKey, isLegacyNomeDocumentoReferencePreset, isReadonlyCollectionField, isReportBooleanColumn, isReportGroupNode, isReportNowrapColumn, isValidPhoneBr, libDialogPanelClasses, listaUrlFromRotaCadastro, listarItensCadastroReferencia, listarTodosPaginado, loadPresetsJson, loadStructraAdminRouteRedirectTarget, mapCadastroFormRawToPayload, mapConsultaGridColunasParaDataGrid, mapConsultaMetadataParaFiltroUi, mapErroTransporteParaMensagem as mapErroListaDefault, mapErroTransporteParaMensagem, mapEstadosToOptions, mapFiltroSalvoParaConsultaPreset, mapGridNavigateFromColuna, mapListarItensParaMultiselectOpcoes, mapReportTreeToTreeViewNodes, mapReportTreeToTreeViewNodesForSelection, markCadastroInlineFormDraftPendingRestore, markConsultaPendingGridReturn, maskDigitCount, mergeCadastroConfirmExcluir, mergeConsultaGridRowFormattingFromColunasGrid, mergeConsultaMultiselectOpcoesComSeleccionados, mergeDocumentoFmtNaLinhaConsulta, mergeMapConsultaGridColunasOptsComColumnFormat, mergeNovoIdEmListaSelecionada, mergeStructraShellScrollRestorationOptions, metadataCampoParaChaveLinhaCliente, modoPermissaoReferenciaFromWire, montarFiltrosGrpcPreset, montarFiltrosServidorPreset, montarHierarquiaSecoesMetadata, multiselectIdListRequiredValidator, multiselectMaxItemsValidator, navegarAposLoginAdmin, navegarVoltarLista, navegarVoltarListaComIdRemovido, navegarVoltarListaComLinha, navigateCadastroDuplicate, navigateCommandsFromRotaAlterar, navigateCommandsFromRotaNovo, navigateFromGrid, nomeSalvarParaPayloadComPessoa, normalizarArvoreSecoesMetadata, normalizarCaminhoLoginAdmin, normalizarHexCor, normalizarItensParaGravarServidorCadastro, normalizarListaIdsMultiselect, normalizarOperadorConsultaParaEnvioServidor, normalizarRotaReferencia, normalizarStructraAction, normalizarStructraActionGroup, normalizarStructraActionGroups, normalizeCadastroAppPath, normalizeCadastroCampoMetadataWire, normalizeCadastroInitRouteIdParam, normalizeCadastroItemEditorDecimalControls, normalizeCadastroReferenciaDialogRotaKey, normalizeCadastroRouteForContainerState, normalizeConsoleLogLevel, normalizeFormDateValue, normalizePhoneBr, normalizeStructraAdminPath, normalizeStructraScrollRoute, normalizeStructraTheme, novoPathCommandsFromRota, onlyDigits, operadorConsultaComValorUnicoComparacao, operadorConsultaDatetimeUsaDatePicker, operadoresConsultaCampo, operadoresPorTipo, ordenarFiltroItens, ordenarStructraActions, parseDecimalBr, parseIntegerString, parseUiFieldDateValue, patchFormFromEntidadeRecord, permissionTabsUsamGruposVerticais, permissoesReferenciaMetadata, persistStructraCookieNoticeAccepted, persistStructraShellSidebarCollapsed, phoneBrDynamicMaskCompleteValidator, phoneBrMaskCompleteValidator, phoneBrMaskFromDigits, pickCadastroPageActiveTabExplicit, pickTabKeyLinkedToSummaryItems, podeNavegarGridColuna, precisaValor, precisaValorFinal, provideAppPageFooter, provideAppVersion, provideStructraAppVersion, provideStructraCadastroReferenciaDialogRoot, provideStructraCookieNotice, provideStructraPageFooter, provideStructraScrollState, provideStructraShellScrollRestoration, provideStructraTreeExpandState, qtdCriteriosPresetParaSkeleton, readCadastroDuplicateSourceId, readCadastroPageActiveTabFromNavigationState, readCadastroPageActiveTabFromUrl, readFormContainerCollapsedFromStorage, readStructraAdminRouteRedirectTarget, readStructraCadastroInlineReturn, readStructraShellSidebarCollapsed, referenciaAbreEmDialog, referenciaOpenModeRaw, referenciaUsesLegacyRegistryMapper, registerCadastroReferenceEntries, registerCadastroReferenceListSources, registerCadastroReferenciaDialogBridges, registerStructraBuiltinPageComponents, replaceProdutoCadastroFormControls, reportColumnWidthStyle, reportExistsInTree, reportTableHasFixedWidths, resetStructraCadastroReferenciaDialogRootForTests, resolveCadastroCollectionMinItems, resolveCadastroListaUrlParaNavegacao, resolveCadastroPageActiveTabKey, resolveCadastroReferenciaMapOptions, resolveConsultaEditActionLabelFromGridConfig, resolveConsultaListaQuerySliceFromGridConfig, resolveConsultaNavKeysFromPageLayout, resolveConsultaNovoRouterLinkFromLayout, resolveConsultaRouteEditBaseFromLayout, resolveConsultaToastTitleLista, resolveControlAtPath, resolveFormContainerCollapsed, resolveInitialReportId, resolveReferenciaOpcaoLabel, resolveReportPreviewSubtitulo, resolveStructraAdminMenuUrl, resolveStructraAppVersionConfig, resolveStructraCookieNoticeConfig, resolveStructraPageCacheCadastroScope, resolveStructraPageInputExpression, resolveStructraPageInputs, resolveStructraShellScrollContainer, resolverAcoesReferenciaPorRota, resolverValorOpcaoPorRotuloNormalizado, resumoValorMultiselectFiltro, rotaListaReferencia, rotuloEnmStatus, rotuloNomeDocumentoLista, rotuloOperadorConsulta, rotuloPessoaLista, runStructraSimulatedLoadingDelay, sanitizeDecimalBrInput, sanitizeIntegerDigits, sanitizeRecordForCadastroDuplicate, savePresetsJson, scheduleRemoteCollectionHydrationAfterSectionExpand, secaoMetadataEhContainerPlain, secaoTemConteudoVisivel, secaoTemCorpoParaRender, sectionHasVisibleInvalid, semanticCaretAt, semanticIntegerDigitCountLeft, serializeCollectionFormArray, shouldDeferInitialRemoteCollectionLoad, shouldSkipCadastroPageActiveTabCacheWrite, shouldSkipStructraAdminMenuNavigation, stripStructraCadastroInlineResultFromHistory, stripToDigits, structraActionButtonVariant, structraCadastroInlineResultTemIdSalvo, structraCadastroInlineResultTemReferenciaExcluida, structraCookieNoticeWasAccepted, structraElementScrolls, structraHasValue, structraIsFilledString, structraIsFormGroup, structraIsValidPort, structraParseNumberOrNull, structraReadFormValue, structraReadNestedValue, structraTrimString, subscribeMarkForCheckOnInvalidUiRefresh, subtreeHasVisibleInvalid, syncStructraCadastroInlineReturnSessionCache, tabWarningFromLinkedSummaryItems, tipoCampoMetadataParaUi, tipoValorApi, toCadastroReferenceListPageResult, toConsoleLogLineView, toConsoleLogLineViews, toUiSelectOptionsFromMetadata, uiSelectOpcaoIdNomeDocumento, uiSelectOpcoesDePessoas, validationLikeFromCampoMetadata, validatorsFromCampo, writeFormContainerCollapsedToStorage };
|
|
12995
|
+
export type { AdaptiveDataViewMode, AdminLoginShellConfig, AdminLoginSubmitPayload, StructraSidebarEmpresaContext as AdminSidebarEmpresaContext, StructraSidebarUserView as AdminSidebarUserView, AlertAction, AlertType, AppThemeId, AppThemeOption, AppVersionInfo, ApplyCadastroModoSenhaOptions, BreadcrumbItem, BuildCadastroMetadataShellRuntimeOptions, BuildCadastroPageRuntimeOptions, CadastroActionStateDto$1 as CadastroActionStateDto, CadastroAutoMapFormValueConfig, CadastroCampoContaNaGrelhaFn, CadastroCampoMetadataDto, CadastroCampoMetadataMergeInput, CadastroCampoReferenciaMetadataDto, CadastroCampoSelectOptionDto, CadastroCampoValidacaoDto, CadastroCampoValidacaoLike, CadastroCollectionBinding, CadastroCollectionBridge, CadastroCollectionEditingItemControlsChangeEvent, CadastroCollectionEditingItemControlsChangeOptions, CadastroCollectionItemEvent, CadastroCollectionItemFieldsChangeEvent, CadastroCollectionItemFieldsChangeOptions, CadastroCollectionItemsChangeEvent, CadastroCollectionPageReplyWire, CadastroCollectionPageRequestWire, CadastroCollectionPagingPort, CadastroCollectionPagingUi, CadastroCollectionSaveHandler, CadastroCollectionStateDto, CadastroConfirmExcluirPartial, CadastroCrudMessagesResolved, CadastroDeclarativeSnapshotDto, CadastroDuplicateActionConfig, CadastroEnsureSingleBooleanInCollectionOptions, CadastroFieldChangeEvent, CadastroFieldEventBase, CadastroFieldKey, CadastroFieldRegistration, CadastroFieldSelectEvent, CadastroFieldSimpleEvent, CadastroFiltroDialogRuntimeSlice, CadastroFormPageLayout, CadastroHeaderSecondaryAction, CadastroImageUploadMetadata, CadastroImageUploadMetadataOptions, CadastroInferExtensaoArquivoOptions, CadastroInferImageContentTypeOptions, CadastroInlineHostNavigationConfig, CadastroListSelectBinding, CadastroMetadataCamposReplyLike, CadastroMetadataPageCadastro, CadastroMetadataPageServiceConfig, CadastroMetadataPageShellCallbacks, CadastroMetadataPageStateConfig, CadastroMetadataPageVm, CadastroMetadataSecao, CadastroMetadataServiceConfig, CadastroMetadataServicePort, CadastroMetadataShellRuntime, CadastroMetadataView, CadastroModo, CadastroMultiselectBinding, CadastroPadraoGrpcService, CadastroPageActionDto, CadastroPageActiveTabResolveInput, CadastroPageComponentDto, CadastroPageConfig, CadastroPageIdentityFallback, CadastroPageNavKeysConfig, CadastroPageOverlayDto, CadastroPageRuntime, CadastroPageSenhaConfig, CadastroPageTabDto, CadastroPessoaOpcaoMin, CadastroRawBooleanDeepOptions, CadastroReferenceListPageParams, CadastroReferenceListPageResult, CadastroReferenceListarService, CadastroReferenceRegistryEntry, CadastroReferenciaAcoesPermitidas, CadastroReferenciaDialogBridgeEntry, CadastroReferenciaDialogBridgeFactory, CadastroReferenciaDialogCloseReason, CadastroReferenciaDialogCompletePayload, CadastroReferenciaDialogContext, CadastroReferenciaDialogOpenOptions, CadastroReferenciaDialogOpenRequest, CadastroReferenciaOpenModeWireRef, CadastroReferenciaPermissoesMetadata, CadastroReferenciaRouteAccess, CadastroReindexarCollectionOrdemOptions, CadastroRuntimeDeps, CadastroRuntimeOptions, CadastroSearchSelectBinding, CadastroSearchSelectRedirectSuffix, CadastroSearchSelectReferenciaDialog, CadastroSecaoSegmento, CadastroSingleBooleanCollectionBindingOptions, CadastroTitulosFallback, CadastroToolbarButtonDto, CadastroToolbarVisibilityResolved, CadastroValidationUi, CardItemBooleanField, CardItemMetaField, CardItemNavigateAction, CardItemView, CardListDataMode, CardListHeaderPosition, CardListMapFn, CatalogoStubConsultaConfig, CatalogoStubListaItem, ConfirmDialogData, ConfirmDialogVariant, ConsoleLogLevel, ConsoleLogLine, ConsoleLogLineView, ConsultaBaseConfig, ConsultaCampoDef, ConsultaCampoMetadataDto, ConsultaCardCampoDto, ConsultaCatalogBundleConfig, ConsultaCatalogBundleSessaoPort, ConsultaCatalogEntityBindings, ConsultaCatalogInitCarregada, ConsultaCrudAdapterConfig, ConsultaEnumSelectOptionDto, ConsultaFiltroCampo, ConsultaFiltroItem, ConsultaFiltroMatchAdapters, ConsultaFiltroPreset, ConsultaFiltroSalvoDto, ConsultaFiltroSalvoItemDto, ConsultaFiltroUiFragment, ConsultaFiltroValorTipo, ConsultaFiltrosBundleSessao, ConsultaFiltrosChromeVolatil, ConsultaFiltrosSessaoConsultaPadraoApi, ConsultaFiltrosSessaoUserLike, ConsultaFiltrosSessaoVolatilApi, ConsultaFiltrosVolatilHandlers, ConsultaGridColunaDto, ConsultaGridColunaDtoLike, ConsultaGridConfigDto, ConsultaGridNavigateDto, ConsultaInitCarregada, ConsultaListaCacheKeyParts, ConsultaListaCachePayload, ConsultaListaMemoriaCacheStoreOpts, ConsultaListaQueryParamsLike, ConsultaListaResultadoLike, ConsultaListaServidorQuerySlice, ConsultaMapCardLinha, ConsultaMetadataCampo, ConsultaMetadataReplyLike, ConsultaMetadataServicePort, ConsultaMultiselectOpcoesRemotasSpec, ConsultaOperadorOption, ConsultaOptionsListarContrato, ConsultaOptionsListarResolver, ConsultaPadraoGrpcServiceLike, ConsultaPadraoNavigateLike, ConsultaPadraoToastLike, ConsultaPageCacheEntry, ConsultaPageLoadingSkeletonVariant, ConsultaPageMetadataUnified, ConsultaPageRuntime, ConsultaPageRuntimeDeps, ConsultaRouteReusePort, ConsultaServidorExecutorOpts, ConsultaServidorListaReply, ConsultaServidorPort, ConsultaServidorQueryParams, ConsultaTopbarSlotPort, ConsultaUsuariosMetadataReply, ConsultaValorTipo, CreateCadastroMetadataPageConfigOptions, CreateCadastroPadraoConfigOptions, CreateConsultaPadraoRuntimeOptions, CreateGrpcSaveRequestMapperOptions, CreateSaveRequestFromPartialMapperOptions, CrudConsultaServicePort, DataGridColumn, DataGridColumnNavigateConfig, DataGridPaginationChangeEvent, DeleteConfirmPageConfig, DetailsViewItem, DropdownListBindings, DropdownSearchPageRequested, DuplicatePageConfig, FieldCommonInputs, FieldSize, FilePreviewKind, FiltroItemEntrada, FiltroItemEntradaGenerico, FiltroItemGridRow, FiltroItemSalvoDto, FiltroSalvo, FormContainerStateKeyParts, FormTabValidationLinkConfig, FormTabsVariant, GridLayoutConsultaApiDto, GridLayoutConsultaPersistedPayload, GridNavigateConfig, GridNavigateConfigWire, GridNavigatePreserveContext, GrpcSaveRequestFactory, InitConsultaReply, ListarTodosPaginadoParams, LoadingDialogData, MapConsultaGridColunasOpts, MenuItemAction, MenuItemDivider, MenuItemGroup, MenuItemKind, MenuItemSubmenu, MenuLeafItem, MenuNodeItem, ModoPermissaoReferencia, MontarFiltrosGrpcPresetOptions, MontarFiltrosServidorPresetOptions, OnboardingChecklistProgress, OnboardingChecklistStep, OptionsSourceServicePort, PatchFormFromEntidadeOptions, PermissionGroupTabBucket, PermissionGroupTabDescriptor, PermissionGroupTabGroup, ReportColumnMeta, ReportColumnWidthFields, ReportFilterMeta, ReportFiltroItemEntrada, ReportHeader, ReportMetadata, ReportPesquisarRequest, ReportResult, ReportSection, ReportSectionColumn, ReportSectionTable, ReportTotal, ReportTreeNode, ResolveStructraAdminMenuUrlOptions, SalvarFiltroConsultaRequest, SalvarFiltroPresetAsyncArgs, SaveRequestFromPartialFactory, ScriptEditorLanguage, ScrollPositionState, ScrollPositionValues, SelectPageRequested, SkeletonFieldShellVariant, SkeletonTableChrome, StatCardDeltaTone, StatusBadgeSize, StatusBadgeVariant, StructraAction, StructraActionButtonVariant, StructraActionGroup, StructraActionGroupWire, StructraActionId, StructraActionVariant, StructraActionWire, StructraAdminRouteRedirectCacheOptions, StructraAdminRouteRedirectLoadOptions, StructraAppVersionConfig, StructraCadastroInlineResultState, StructraCadastroInlineReturnState, StructraCookieNoticeConfig, StructraFormValueSource, StructraGridLayoutApiBaseResolverFn, StructraGridLayoutAuthHeadersResolverFn, StructraGridLayoutTenantResolverFn, StructraKanbanDragAutoScrollOptions, StructraMidiaUploadResult, StructraMidiaUploadTransportContext, StructraMidiaUploadTransportFn, StructraPageCacheGetOrLoadOptions, StructraPageCacheSetOptions, StructraPageFooterConfig, StructraPageInputContext, StructraReportEmptyStatePreset, StructraReportTransport, StructraScrollPreserveAttachOptions, StructraScrollPreserveDetach, StructraScrollTenantResolverFn, StructraShellScrollRestorationMergedOptions, StructraShellScrollRestorationOptions, StructraSidebarContext, StructraSidebarEmpresaContext, StructraSidebarTemplateContext, StructraSidebarUserView, StructraTheme, StructraVersionInfo, TitulosFromMetadataConfig, ToastInstance, ToastShowOptions, ToastType, ToastVerticalPosition, TreeExpandState, TreeViewNode, TreeViewSelectEvent, UiFieldInputTextAlign, UiSelectOption, ValidationFieldMeta, ValidationSummaryItem, ValidationSummarySize, ValidationSummaryVariant, ValoresConsultaPresetUi };
|