structra-ui 0.2.62 → 0.2.64
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/README.md +26 -26
- package/fesm2022/structra-ui.mjs +4538 -874
- package/fesm2022/structra-ui.mjs.map +1 -1
- package/package.json +68 -68
- package/structra-ui.css +1 -1
- package/types/structra-ui.d.ts +1107 -33
package/types/structra-ui.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { AfterViewInit, OnChanges, ElementRef, SimpleChanges, ChangeDetectorRef, Injector, DestroyRef, EventEmitter, OnInit, DoCheck, TemplateRef, OnDestroy, InjectionToken, AfterContentInit, QueryList, AfterViewChecked, Renderer2, Signal, ViewContainerRef, WritableSignal, Type, EnvironmentProviders, EffectRef, isDevMode } from '@angular/core';
|
|
2
|
+
import { AfterViewInit, OnChanges, ElementRef, SimpleChanges, ChangeDetectorRef, Injector, DestroyRef, EventEmitter, OnInit, DoCheck, TemplateRef, OnDestroy, InjectionToken, AfterContentInit, QueryList, AfterViewChecked, Renderer2, Signal, ViewContainerRef, Provider, WritableSignal, Type, EnvironmentProviders, EffectRef, isDevMode } from '@angular/core';
|
|
3
3
|
import * as _angular_forms from '@angular/forms';
|
|
4
|
-
import { ControlValueAccessor, AbstractControl, NgControl, ValidatorFn, NgForm, FormGroup, FormBuilder, FormArray
|
|
4
|
+
import { ControlValueAccessor, AbstractControl, NgControl, ValidatorFn, NgForm, FormGroup, FormControl, FormBuilder, FormArray } from '@angular/forms';
|
|
5
5
|
import { MatDatepicker } from '@angular/material/datepicker';
|
|
6
6
|
import * as _angular_cdk_overlay from '@angular/cdk/overlay';
|
|
7
7
|
import { ConnectedPosition, ScrollStrategy, OverlayRef, Overlay } from '@angular/cdk/overlay';
|
|
8
8
|
import { SafeResourceUrl } from '@angular/platform-browser';
|
|
9
|
-
import { ICellRendererParams, ColDef, GetRowIdParams, GridReadyEvent, RowClickedEvent } from 'ag-grid-community';
|
|
9
|
+
import { ICellRendererParams, ColDef, GetRowIdParams, GridReadyEvent, ColumnMovedEvent, ColumnResizedEvent, ColumnVisibleEvent, ColumnPinnedEvent, RowClickedEvent } from 'ag-grid-community';
|
|
10
10
|
import { ICellRendererAngularComp } from 'ag-grid-angular';
|
|
11
11
|
import * as structra_ui from 'structra-ui';
|
|
12
12
|
import { DialogRef } from '@angular/cdk/dialog';
|
|
@@ -56,23 +56,42 @@ declare function resolveStructraShellScrollContainer(host: HTMLElement, pageHost
|
|
|
56
56
|
declare const STRUCTRA_DEDICATED_BACK_TO_TOP_SELECTOR = ".structra-consulta-page-host, .structra-cadastro-page-host, .cadastro-metadata-shell-page";
|
|
57
57
|
|
|
58
58
|
type AlertType = 'error' | 'success' | 'warning' | 'info';
|
|
59
|
+
/** Botão opcional alinhado à direita dentro do banner. */
|
|
60
|
+
interface AlertAction {
|
|
61
|
+
label: string;
|
|
62
|
+
icon?: string;
|
|
63
|
+
}
|
|
59
64
|
/**
|
|
60
65
|
* Feedback visual inline (erro, sucesso, aviso, informação). Reutiliza tokens semânticos da lib.
|
|
61
66
|
*/
|
|
62
67
|
declare class AlertComponent {
|
|
68
|
+
protected readonly ButtonVariant: {
|
|
69
|
+
readonly Primary: "primary";
|
|
70
|
+
readonly Secondary: "secondary";
|
|
71
|
+
readonly Ghost: "ghost";
|
|
72
|
+
readonly Link: "link";
|
|
73
|
+
readonly Danger: "danger";
|
|
74
|
+
readonly Warning: "warning";
|
|
75
|
+
readonly Success: "success";
|
|
76
|
+
};
|
|
63
77
|
/** Remove o host do fluxo ao fechar (evita faixa em branco com `display: block` vazio). */
|
|
64
78
|
protected get hostHidden(): boolean;
|
|
65
79
|
type: AlertType;
|
|
66
80
|
message: string;
|
|
67
81
|
closable: boolean;
|
|
82
|
+
/** Ação opcional (rótulo + ícone) renderizada à direita do texto. */
|
|
83
|
+
action: AlertAction | null;
|
|
84
|
+
readonly actionClick: _angular_core.OutputEmitterRef<void>;
|
|
68
85
|
/** Quando `closable`, o alerta deixa de renderizar após fechar. */
|
|
69
86
|
protected readonly visible: _angular_core.WritableSignal<boolean>;
|
|
70
87
|
protected get hasMessage(): boolean;
|
|
88
|
+
protected get hasAction(): boolean;
|
|
71
89
|
private readonly modifierByType;
|
|
72
90
|
protected get alertHostClass(): string;
|
|
73
91
|
protected onClose(): void;
|
|
92
|
+
protected onActionClick(): void;
|
|
74
93
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertComponent, never>;
|
|
75
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertComponent, "app-alert", never, { "type": { "alias": "type"; "required": false; }; "message": { "alias": "message"; "required": false; }; "closable": { "alias": "closable"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
94
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertComponent, "app-alert", never, { "type": { "alias": "type"; "required": false; }; "message": { "alias": "message"; "required": false; }; "closable": { "alias": "closable"; "required": false; }; "action": { "alias": "action"; "required": false; }; }, { "actionClick": "actionClick"; }, never, ["*"], true, never>;
|
|
76
95
|
static ngAcceptInputType_closable: unknown;
|
|
77
96
|
}
|
|
78
97
|
|
|
@@ -259,6 +278,13 @@ type MenuLeafItem<T = string> = MenuItemAction<T> | MenuItemDivider;
|
|
|
259
278
|
/** Nó de primeiro nível ou dentro de grupos (inclui submenus). */
|
|
260
279
|
type MenuNodeItem<T = string> = MenuLeafItem<T> | MenuItemGroup<T> | MenuItemSubmenu<T>;
|
|
261
280
|
|
|
281
|
+
interface NativeInputAutofillSyncOptions {
|
|
282
|
+
getBoundText: () => string;
|
|
283
|
+
refreshFilledUi: () => void;
|
|
284
|
+
/** Autofill / `change` sem `input`: DOM tem valor diferente do estado Angular. */
|
|
285
|
+
onDomValueChanged?: (domValue: string) => void;
|
|
286
|
+
}
|
|
287
|
+
|
|
262
288
|
/**
|
|
263
289
|
* Escala do campo (design system).
|
|
264
290
|
* - **`sm`** — compacto (barras laterais, filtros).
|
|
@@ -373,7 +399,7 @@ declare abstract class BaseFieldDirective<T> implements ControlValueAccessor, On
|
|
|
373
399
|
get hostDataControlId(): string;
|
|
374
400
|
protected get autoIdPrefix(): string;
|
|
375
401
|
/** Valor do atributo HTML `autocomplete` derivado de {@link autocomplete}. */
|
|
376
|
-
get autocompleteAttr():
|
|
402
|
+
get autocompleteAttr(): string;
|
|
377
403
|
/**
|
|
378
404
|
* Mensagem exibida quando inválido: `errorMessage` se preenchido;
|
|
379
405
|
* senão, se obrigatório, o padrão "Campo obrigatório".
|
|
@@ -426,6 +452,13 @@ declare abstract class BaseFieldDirective<T> implements ControlValueAccessor, On
|
|
|
426
452
|
* após pintura / timeout curto para o teclado virtual aparecer com mais fiabilidade após o layout do painel.
|
|
427
453
|
*/
|
|
428
454
|
protected applyAutofocusIfNeeded(resolve: () => HTMLElement | null | undefined): void;
|
|
455
|
+
/** Sincroniza autofill do browser com `filledUi` e modelo (autofill não dispara `input`). */
|
|
456
|
+
protected attachNativeInputAutofillSync(input: HTMLInputElement | HTMLTextAreaElement | null | undefined, options: NativeInputAutofillSyncOptions): void;
|
|
457
|
+
/**
|
|
458
|
+
* Search-select / combobox: regista tipografia inline sem o fluxo completo de autofill.
|
|
459
|
+
* Inputs de texto já entram via {@link attachNativeInputAutofillSync}.
|
|
460
|
+
*/
|
|
461
|
+
protected bindNativeInputTypographyViewport(input: HTMLInputElement | HTMLTextAreaElement | null | undefined): void;
|
|
429
462
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseFieldDirective<any>, never>;
|
|
430
463
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseFieldDirective<any>, never, never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "size": { "alias": "size"; "required": false; }; "tamanhoCampoMobile": { "alias": "tamanhoCampoMobile"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "showErrorMessage": { "alias": "showErrorMessage"; "required": false; }; "invalidThemed": { "alias": "invalidThemed"; "required": false; }; "required": { "alias": "required"; "required": false; }; "showRequiredMark": { "alias": "showRequiredMark"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "showPrefixIcon": { "alias": "showPrefixIcon"; "required": false; }; "prefixIcon": { "alias": "prefixIcon"; "required": false; }; "iconLeft": { "alias": "iconLeft"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "clearAriaLabel": { "alias": "clearAriaLabel"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "mostrarMenuContexto": { "alias": "mostrarMenuContexto"; "required": false; }; "contextMenuItems": { "alias": "contextMenuItems"; "required": false; }; "contextMenuId": { "alias": "contextMenuId"; "required": false; }; }, { "contextMenuSelect": "contextMenuSelect"; }, never, never, true, never>;
|
|
431
464
|
static ngAcceptInputType_tamanhoCampoMobile: unknown;
|
|
@@ -470,6 +503,7 @@ declare class SkeletonTextComponent {
|
|
|
470
503
|
|
|
471
504
|
/** Lista vertical de linhas (ex.: opções de dropdown). */
|
|
472
505
|
declare class SkeletonListComponent {
|
|
506
|
+
/** Padrão 1: evita flick em dropdowns que montam só `<app-skeleton-list />`. */
|
|
473
507
|
rows: number;
|
|
474
508
|
/** Mostra um “leading” à esquerda (círculo pequeno). */
|
|
475
509
|
leading: boolean;
|
|
@@ -495,6 +529,17 @@ declare class SkeletonCardComponent {
|
|
|
495
529
|
static ngAcceptInputType_animate: unknown;
|
|
496
530
|
}
|
|
497
531
|
|
|
532
|
+
/** Placeholder de cartão totalizador (`app-stat-card`) — painéis de consulta e dashboard. */
|
|
533
|
+
declare class SkeletonStatCardComponent {
|
|
534
|
+
animate: boolean;
|
|
535
|
+
/** Espelha `app-stat-card` com linha de descrição (ex.: dashboard Oficina). */
|
|
536
|
+
withDescription: boolean;
|
|
537
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkeletonStatCardComponent, never>;
|
|
538
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkeletonStatCardComponent, "app-skeleton-stat-card", never, { "animate": { "alias": "animate"; "required": false; }; "withDescription": { "alias": "withDescription"; "required": false; }; }, {}, never, never, true, never>;
|
|
539
|
+
static ngAcceptInputType_animate: unknown;
|
|
540
|
+
static ngAcceptInputType_withDescription: unknown;
|
|
541
|
+
}
|
|
542
|
+
|
|
498
543
|
/** Placeholder tabular (cabeçalho + linhas + faixa de paginação). */
|
|
499
544
|
declare class SkeletonTableComponent {
|
|
500
545
|
columnCount: number;
|
|
@@ -670,10 +715,13 @@ declare class TextFieldComponent extends NgControlFieldDirective<string | null>
|
|
|
670
715
|
nativeInputType: 'text' | 'email';
|
|
671
716
|
inputText: string;
|
|
672
717
|
filledUi: boolean;
|
|
718
|
+
/** Login/cadastro: `username` ou `email` em vez de `on` genérico. */
|
|
719
|
+
get autocompleteAttr(): string;
|
|
673
720
|
/** FormControl por vezes escreve número/object (metadata dinâmica); normalizar antes de slice/trim. */
|
|
674
721
|
private static valueAsTrimmedString;
|
|
675
722
|
private refreshFilledUi;
|
|
676
723
|
ngAfterViewInit(): void;
|
|
724
|
+
private syncAutofillFromDom;
|
|
677
725
|
protected afterWriteValue(value: string | null): void;
|
|
678
726
|
onNativeInput(event: Event): void;
|
|
679
727
|
onBlur(): void;
|
|
@@ -733,6 +781,7 @@ declare class PasswordFieldComponent extends NgControlFieldDirective<string | nu
|
|
|
733
781
|
toggleIconClassUi: string;
|
|
734
782
|
ngOnInit(): void;
|
|
735
783
|
ngAfterViewInit(): void;
|
|
784
|
+
private syncAutofillFromDom;
|
|
736
785
|
private refreshFilledUi;
|
|
737
786
|
private refreshPasswordToggleUi;
|
|
738
787
|
protected afterWriteValue(value: string | null): void;
|
|
@@ -764,6 +813,7 @@ declare class TextareaFieldComponent extends NgControlFieldDirective<string | nu
|
|
|
764
813
|
textareaMaxHeightCss: string;
|
|
765
814
|
ngOnInit(): void;
|
|
766
815
|
ngAfterViewInit(): void;
|
|
816
|
+
private syncAutofillFromDom;
|
|
767
817
|
ngOnChanges(changes: SimpleChanges): void;
|
|
768
818
|
private updateTextareaHeight;
|
|
769
819
|
private refreshFilledUi;
|
|
@@ -819,6 +869,7 @@ declare class IntegerFieldComponent extends NgControlFieldDirective<number | nul
|
|
|
819
869
|
inputText: string;
|
|
820
870
|
filledUi: boolean;
|
|
821
871
|
ngAfterViewInit(): void;
|
|
872
|
+
private syncAutofillFromDom;
|
|
822
873
|
private refreshFilledUi;
|
|
823
874
|
protected afterWriteValue(value: number | null): void;
|
|
824
875
|
onBeforeInput(event: Event): void;
|
|
@@ -849,6 +900,7 @@ declare class DecimalFieldComponent extends NgControlFieldDirective<number | nul
|
|
|
849
900
|
/** Valor mostrado no `<input>`: `prefixo + número` ou só o número. */
|
|
850
901
|
get displayValue(): string;
|
|
851
902
|
ngAfterViewInit(): void;
|
|
903
|
+
private syncAutofillFromDom;
|
|
852
904
|
private composeFullDisplay;
|
|
853
905
|
/** Comprimento do segmento `«prefixo» ` em caracteres (0 se não há prefixo). */
|
|
854
906
|
private prefixSegmentLen;
|
|
@@ -922,6 +974,7 @@ declare abstract class MaskedTextFieldBase extends NgControlFieldDirective<strin
|
|
|
922
974
|
/** Padrão efetivo (permite CEP/telefone fixarem máscaras em subclasses). */
|
|
923
975
|
protected get pattern(): string;
|
|
924
976
|
ngAfterViewInit(): void;
|
|
977
|
+
private syncAutofillFromDom;
|
|
925
978
|
/**
|
|
926
979
|
* Padrão de formatação para o valor digitado (só dígitos).
|
|
927
980
|
* Sobrescrever para máscara dinâmica (ex.: CPF até 11 dígitos, CNPJ depois).
|
|
@@ -1346,7 +1399,7 @@ declare class DropdownBaseComponent {
|
|
|
1346
1399
|
* As classes de tema no painel interno seguem o tema activo sempre.
|
|
1347
1400
|
*/
|
|
1348
1401
|
readonly panelThemeNgClass: _angular_core.Signal<{
|
|
1349
|
-
[
|
|
1402
|
+
[k: string]: boolean;
|
|
1350
1403
|
}>;
|
|
1351
1404
|
open: boolean;
|
|
1352
1405
|
readonly openChange: EventEmitter<boolean>;
|
|
@@ -1590,6 +1643,8 @@ declare class SelectFieldComponent extends DropdownOptionFieldBase implements Af
|
|
|
1590
1643
|
declare class MultiselectFieldComponent extends DropdownMultiOptionFieldBase implements AfterViewInit, OnDestroy, OnChanges {
|
|
1591
1644
|
private readonly hostRef;
|
|
1592
1645
|
get hostInvalidClass(): boolean;
|
|
1646
|
+
/** Campo de pesquisa no painel para filtrar opções (consulta / filtros com listas longas). */
|
|
1647
|
+
searchable: boolean;
|
|
1593
1648
|
/** Por omissão `true`: mesmo padrão do select com lista longa (`pageRequested` + scroll). */
|
|
1594
1649
|
pagination: boolean;
|
|
1595
1650
|
/**
|
|
@@ -1651,6 +1706,7 @@ declare class MultiselectFieldComponent extends DropdownMultiOptionFieldBase imp
|
|
|
1651
1706
|
private readonly dropdownBase?;
|
|
1652
1707
|
panelOpen: boolean;
|
|
1653
1708
|
panelOverlayWidth: number;
|
|
1709
|
+
panelSearchQuery: string;
|
|
1654
1710
|
private scrollLoadTimer;
|
|
1655
1711
|
private keyboardLoadMoreTimer;
|
|
1656
1712
|
private loadMoreInFlight;
|
|
@@ -1665,6 +1721,11 @@ declare class MultiselectFieldComponent extends DropdownMultiOptionFieldBase imp
|
|
|
1665
1721
|
/** Texto numa linha: rótulos separados por vírgula + ellipsis no CSS. */
|
|
1666
1722
|
get displaySummary(): string;
|
|
1667
1723
|
get optionsListId(): string;
|
|
1724
|
+
get panelSearchInputId(): string;
|
|
1725
|
+
/** Filtra {@link DropdownMultiOptionFieldBase.listOptions} quando {@link searchable} está activo. */
|
|
1726
|
+
get listOptions(): ReadonlyArray<UiSelectOption<unknown>>;
|
|
1727
|
+
onPanelSearchInput(ev: Event): void;
|
|
1728
|
+
onPanelSearchKeydown(ev: KeyboardEvent): void;
|
|
1668
1729
|
private getOptionsListElement;
|
|
1669
1730
|
private scrollActiveOptionIntoView;
|
|
1670
1731
|
private scheduleMaybeLoadMoreFromKeyboard;
|
|
@@ -1695,7 +1756,8 @@ declare class MultiselectFieldComponent extends DropdownMultiOptionFieldBase imp
|
|
|
1695
1756
|
/** Escape com foco no limpar/prefixo do `base-field` (não passa pelo div da origem do overlay). */
|
|
1696
1757
|
onDropdownHostEscape(ev: KeyboardEvent): void;
|
|
1697
1758
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MultiselectFieldComponent, never>;
|
|
1698
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MultiselectFieldComponent, "app-multiselect-field", never, { "pagination": { "alias": "pagination"; "required": false; }; "useCache": { "alias": "useCache"; "required": false; }; "pageableInput": { "alias": "pageable"; "required": false; }; "showSuffixSlot": { "alias": "showSuffixSlot"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "hasMore": { "alias": "hasMore"; "required": false; }; "loadingMore": { "alias": "loadingMore"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "defaultValueLabel": { "alias": "defaultValueLabel"; "required": false; }; "maxSelected": { "alias": "maxSelected"; "required": false; }; }, { "pageRequested": "pageRequested"; }, never, ["[appFieldPrefix]", "[appMultiselectTriggerSuffix]", "[appFieldSuffix]"], true, never>;
|
|
1759
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MultiselectFieldComponent, "app-multiselect-field", never, { "searchable": { "alias": "searchable"; "required": false; }; "pagination": { "alias": "pagination"; "required": false; }; "useCache": { "alias": "useCache"; "required": false; }; "pageableInput": { "alias": "pageable"; "required": false; }; "showSuffixSlot": { "alias": "showSuffixSlot"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "hasMore": { "alias": "hasMore"; "required": false; }; "loadingMore": { "alias": "loadingMore"; "required": false; }; "defaultValue": { "alias": "defaultValue"; "required": false; }; "defaultValueLabel": { "alias": "defaultValueLabel"; "required": false; }; "maxSelected": { "alias": "maxSelected"; "required": false; }; }, { "pageRequested": "pageRequested"; }, never, ["[appFieldPrefix]", "[appMultiselectTriggerSuffix]", "[appFieldSuffix]"], true, never>;
|
|
1760
|
+
static ngAcceptInputType_searchable: unknown;
|
|
1699
1761
|
static ngAcceptInputType_pagination: unknown;
|
|
1700
1762
|
static ngAcceptInputType_useCache: unknown;
|
|
1701
1763
|
static ngAcceptInputType_pageableInput: unknown;
|
|
@@ -2933,6 +2995,105 @@ declare class FormTabsComponent implements AfterContentInit, OnChanges {
|
|
|
2933
2995
|
static ngAcceptInputType_validationLinkActive: unknown;
|
|
2934
2996
|
}
|
|
2935
2997
|
|
|
2998
|
+
declare class PermissionGroupTabComponent implements OnChanges {
|
|
2999
|
+
private readonly tabs;
|
|
3000
|
+
private readonly cdr;
|
|
3001
|
+
readonly panelTpl: TemplateRef<unknown>;
|
|
3002
|
+
key: string;
|
|
3003
|
+
tabTitle: string;
|
|
3004
|
+
/** Chave estável do grupo vertical (ex.: `cadastros`, `sistema`). */
|
|
3005
|
+
groupKey: string;
|
|
3006
|
+
/** Rótulo exibido no cabeçalho do grupo. */
|
|
3007
|
+
groupLabel: string;
|
|
3008
|
+
/** Ordem do grupo na coluna vertical. */
|
|
3009
|
+
groupOrder: number | null;
|
|
3010
|
+
disabled: boolean;
|
|
3011
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
3012
|
+
get isActive(): boolean;
|
|
3013
|
+
get detachInactivePanel(): boolean;
|
|
3014
|
+
refreshActiveState(): void;
|
|
3015
|
+
get hostClass(): string;
|
|
3016
|
+
panelId(): string;
|
|
3017
|
+
labelledById(): string;
|
|
3018
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PermissionGroupTabComponent, never>;
|
|
3019
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PermissionGroupTabComponent, "app-permission-group-tab", never, { "key": { "alias": "key"; "required": true; }; "tabTitle": { "alias": "tabTitle"; "required": true; }; "groupKey": { "alias": "groupKey"; "required": false; }; "groupLabel": { "alias": "groupLabel"; "required": false; }; "groupOrder": { "alias": "groupOrder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
3020
|
+
static ngAcceptInputType_disabled: unknown;
|
|
3021
|
+
}
|
|
3022
|
+
|
|
3023
|
+
/** Grupo vertical de telas de permissão (alinhado ao menu lateral). */
|
|
3024
|
+
interface PermissionGroupTabGroup {
|
|
3025
|
+
readonly key: string;
|
|
3026
|
+
readonly label: string;
|
|
3027
|
+
readonly order: number;
|
|
3028
|
+
}
|
|
3029
|
+
/** Metadados mínimos de uma tela dentro de um grupo (útil fora do ContentChildren). */
|
|
3030
|
+
interface PermissionGroupTabDescriptor {
|
|
3031
|
+
readonly key: string;
|
|
3032
|
+
readonly tabTitle: string;
|
|
3033
|
+
readonly groupKey?: string | null;
|
|
3034
|
+
readonly groupLabel?: string | null;
|
|
3035
|
+
readonly groupOrder?: number | null;
|
|
3036
|
+
}
|
|
3037
|
+
declare const PERMISSION_GROUP_OUTROS_KEY = "outros";
|
|
3038
|
+
declare const PERMISSION_GROUP_OUTROS_LABEL = "Outros";
|
|
3039
|
+
declare const PERMISSION_GROUP_OUTROS_ORDER = 999;
|
|
3040
|
+
|
|
3041
|
+
interface PermissionGroupTabBucket<T extends PermissionGroupTabDescriptor = PermissionGroupTabDescriptor> {
|
|
3042
|
+
readonly group: PermissionGroupTabGroup;
|
|
3043
|
+
readonly tabs: readonly T[];
|
|
3044
|
+
}
|
|
3045
|
+
/** Agrupa telas por `groupKey`; telas sem grupo caem em OUTROS quando existir metadata em alguma tela. */
|
|
3046
|
+
declare function agruparPermissionTabs<T extends PermissionGroupTabDescriptor>(tabs: readonly T[]): PermissionGroupTabBucket<T>[];
|
|
3047
|
+
/** `true` quando nenhuma tela declara grupo — layout plano (retrocompatível com tabs horizontais). */
|
|
3048
|
+
declare function permissionTabsUsamGruposVerticais(tabs: readonly PermissionGroupTabDescriptor[]): boolean;
|
|
3049
|
+
|
|
3050
|
+
declare class PermissionGroupTabsComponent implements AfterContentInit, OnChanges {
|
|
3051
|
+
private static nextUid;
|
|
3052
|
+
private readonly cdr;
|
|
3053
|
+
readonly uid: string;
|
|
3054
|
+
tabQuery: QueryList<PermissionGroupTabComponent>;
|
|
3055
|
+
private _activeKey;
|
|
3056
|
+
set activeKey(v: string | undefined | null);
|
|
3057
|
+
get activeKey(): string;
|
|
3058
|
+
readonly activeKeyChange: EventEmitter<string>;
|
|
3059
|
+
keepAlive: boolean;
|
|
3060
|
+
/** Rótulo acessível da lista de chips de telas. */
|
|
3061
|
+
tablistAriaLabel: string;
|
|
3062
|
+
/** Grupos recolhidos (`true` = fechado). Omissão = expandido. */
|
|
3063
|
+
readonly gruposRecolhidos: _angular_core.WritableSignal<Readonly<Record<string, boolean>>>;
|
|
3064
|
+
/** Tela selecionada por grupo vertical (permite múltiplos conteúdos abertos). */
|
|
3065
|
+
readonly selectedTabByGroup: _angular_core.WritableSignal<Readonly<Record<string, string>>>;
|
|
3066
|
+
private gruposCollapsePadraoAplicado;
|
|
3067
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
3068
|
+
ngAfterContentInit(): void;
|
|
3069
|
+
get tabs(): PermissionGroupTabComponent[];
|
|
3070
|
+
get usaGruposVerticais(): boolean;
|
|
3071
|
+
get grupos(): PermissionGroupTabBucket<PermissionGroupTabComponent>[];
|
|
3072
|
+
baseId(): string;
|
|
3073
|
+
chipIdFor(key: string): string;
|
|
3074
|
+
panelIdFor(key: string): string;
|
|
3075
|
+
sectionHeaderIdFor(groupKey: string): string;
|
|
3076
|
+
isSelected(key: string): boolean;
|
|
3077
|
+
isGroupCollapsed(groupKey: string): boolean;
|
|
3078
|
+
toggleGroup(groupKey: string): void;
|
|
3079
|
+
selectTab(key: string): void;
|
|
3080
|
+
isTabPanelVisible(tab: PermissionGroupTabComponent): boolean;
|
|
3081
|
+
shouldMountTabPanel(tab: PermissionGroupTabComponent): boolean;
|
|
3082
|
+
getSelectedTabKeyForGroup(groupKey: string, tabsInGroup: readonly PermissionGroupTabComponent[]): string;
|
|
3083
|
+
onTabHeaderStateChanged(): void;
|
|
3084
|
+
private refreshTabPanels;
|
|
3085
|
+
private syncSelectedTabForGroup;
|
|
3086
|
+
private resolveGroupKey;
|
|
3087
|
+
private syncInitialActiveKey;
|
|
3088
|
+
private syncActiveKeyFromInput;
|
|
3089
|
+
private expandGroupForActiveKey;
|
|
3090
|
+
/** Recolhe todos os grupos verticais exceto o padrão (`visao-geral`). */
|
|
3091
|
+
private applyDefaultGroupCollapseState;
|
|
3092
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PermissionGroupTabsComponent, never>;
|
|
3093
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PermissionGroupTabsComponent, "app-permission-group-tabs", never, { "activeKey": { "alias": "activeKey"; "required": false; }; "keepAlive": { "alias": "keepAlive"; "required": false; }; "tablistAriaLabel": { "alias": "tablistAriaLabel"; "required": false; }; }, { "activeKeyChange": "activeKeyChange"; }, ["tabQuery"], never, true, never>;
|
|
3094
|
+
static ngAcceptInputType_keepAlive: unknown;
|
|
3095
|
+
}
|
|
3096
|
+
|
|
2936
3097
|
/**
|
|
2937
3098
|
* Configuração por aba: ordem no array define prioridade em
|
|
2938
3099
|
* {@link pickTabKeyLinkedToSummaryItems} (primeira aba com intersecção vence).
|
|
@@ -3026,6 +3187,11 @@ interface DataGridColumn<T = unknown> {
|
|
|
3026
3187
|
* Ordenação/filtro continuam a usar o campo bruto da linha.
|
|
3027
3188
|
*/
|
|
3028
3189
|
enumOptions?: readonly DataGridEnumOption[];
|
|
3190
|
+
/**
|
|
3191
|
+
* Campo da linha com nome de classe CSS a aplicar na célula (ex.: cor por status).
|
|
3192
|
+
* Combinado com classes de alinhamento (`align`).
|
|
3193
|
+
*/
|
|
3194
|
+
cellClassField?: keyof T | string;
|
|
3029
3195
|
}
|
|
3030
3196
|
|
|
3031
3197
|
/** Contexto injetado pelo {@link DataGridComponent} (não exportado para consumidores). */
|
|
@@ -3033,14 +3199,24 @@ interface DataGridActionsContext<T = unknown> {
|
|
|
3033
3199
|
onEditRow: (row: T) => void;
|
|
3034
3200
|
onRemoveRow: (row: T) => void;
|
|
3035
3201
|
onDuplicateRow?: (row: T) => void;
|
|
3202
|
+
onPrintRow?: (row: T) => void;
|
|
3036
3203
|
/** Quando `false`, o botão «Alterar» não é mostrado. */
|
|
3037
3204
|
showEditAction?: boolean;
|
|
3038
3205
|
/** Quando `false`, o botão «Remover» não é mostrado. */
|
|
3039
3206
|
showRemoveAction?: boolean;
|
|
3040
3207
|
/** Quando `true`, mostra «Duplicar» (requer `onDuplicateRow`). */
|
|
3041
3208
|
showDuplicateAction?: boolean;
|
|
3209
|
+
/** Quando `true`, mostra «Imprimir» (requer `onPrintRow`). */
|
|
3210
|
+
showPrintAction?: boolean;
|
|
3042
3211
|
/** Tooltip/aria do botão de abrir registo; omisso ⇒ «Alterar». */
|
|
3043
3212
|
editActionLabel?: string;
|
|
3213
|
+
/**
|
|
3214
|
+
* Classe Font Awesome do ícone do botão editar/transmitir (ex.: `fa-paper-plane`).
|
|
3215
|
+
* Omisso ⇒ `fa-pen-to-square`.
|
|
3216
|
+
*/
|
|
3217
|
+
editActionIconClass?: string;
|
|
3218
|
+
/** Tooltip/aria do botão imprimir; omisso ⇒ «Imprimir». */
|
|
3219
|
+
printActionLabel?: string;
|
|
3044
3220
|
}
|
|
3045
3221
|
declare class DataGridActionsCellRendererComponent implements ICellRendererAngularComp {
|
|
3046
3222
|
params: ICellRendererParams & {
|
|
@@ -3049,11 +3225,19 @@ declare class DataGridActionsCellRendererComponent implements ICellRendererAngul
|
|
|
3049
3225
|
agInit(params: ICellRendererParams): void;
|
|
3050
3226
|
refresh(): boolean;
|
|
3051
3227
|
protected get isPlaceholderRow(): boolean;
|
|
3228
|
+
/** Linha pode ocultar ações via `__hideEditAction` / `__hidePrintAction` (ex.: NF já autorizada). */
|
|
3229
|
+
protected get rowData(): Record<string, unknown> | undefined;
|
|
3230
|
+
protected get showEditButton(): boolean;
|
|
3231
|
+
protected get showPrintButton(): boolean;
|
|
3232
|
+
/** Botão textual (ex.: «Transmitir NFS-e») em vez do ícone «Alterar». */
|
|
3233
|
+
protected get editAsTextButton(): boolean;
|
|
3234
|
+
protected get editActionIcon(): string;
|
|
3052
3235
|
/** `params.context` nem sempre vem preenchido; o grid guarda o mesmo objeto em `gridOptions.context`. */
|
|
3053
3236
|
protected get actionsContext(): DataGridActionsContext | undefined;
|
|
3054
3237
|
edit(): void;
|
|
3055
3238
|
remove(): void;
|
|
3056
3239
|
duplicate(): void;
|
|
3240
|
+
print(): void;
|
|
3057
3241
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataGridActionsCellRendererComponent, never>;
|
|
3058
3242
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataGridActionsCellRendererComponent, "app-data-grid-actions-cell-renderer", never, {}, {}, never, never, true, never>;
|
|
3059
3243
|
}
|
|
@@ -3111,6 +3295,9 @@ interface DataGridPaginationChangeEvent {
|
|
|
3111
3295
|
declare class DataGridComponent<T = unknown> implements OnInit, OnChanges, OnDestroy {
|
|
3112
3296
|
private readonly ngZone;
|
|
3113
3297
|
private readonly cdr;
|
|
3298
|
+
private readonly destroyRef;
|
|
3299
|
+
private readonly hostRef;
|
|
3300
|
+
private readonly gridLayoutService;
|
|
3114
3301
|
private gridApi;
|
|
3115
3302
|
/**
|
|
3116
3303
|
* Alinhar com `data-grid.host-theme.scss`: `--ag-grid-size: 7px`, cabeçalho e linha = ×8.
|
|
@@ -3167,10 +3354,16 @@ declare class DataGridComponent<T = unknown> implements OnInit, OnChanges, OnDes
|
|
|
3167
3354
|
showEditAction: boolean;
|
|
3168
3355
|
/** Tooltip e aria-label do botão de edição na coluna Ações. Omisso ⇒ «Alterar». */
|
|
3169
3356
|
editActionLabel: string;
|
|
3357
|
+
/** Ícone Font Awesome do botão editar (ex.: `fa-paper-plane`). Omisso ⇒ `fa-pen-to-square`. */
|
|
3358
|
+
editActionIconClass: string;
|
|
3170
3359
|
/** Se `false`, a coluna de ações não mostra «Remover». Por omissão `true`. */
|
|
3171
3360
|
showRemoveAction: boolean;
|
|
3172
3361
|
/** Se `true`, mostra «Duplicar» na coluna de ações (requer handler no contexto). */
|
|
3173
3362
|
showDuplicateAction: boolean;
|
|
3363
|
+
/** Se `true`, mostra «Imprimir» na coluna de ações (requer handler no contexto). */
|
|
3364
|
+
showPrintAction: boolean;
|
|
3365
|
+
/** Tooltip e aria-label do botão imprimir na coluna Ações. Omisso ⇒ «Imprimir». */
|
|
3366
|
+
printActionLabel: string;
|
|
3174
3367
|
/**
|
|
3175
3368
|
* 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).
|
|
3176
3369
|
*/
|
|
@@ -3187,8 +3380,36 @@ declare class DataGridComponent<T = unknown> implements OnInit, OnChanges, OnDes
|
|
|
3187
3380
|
highlightedRowMatch: number | null;
|
|
3188
3381
|
/** Campo em {@link rows} a comparar com {@link highlightedRowMatch}. Omisso: `__rowArrayIndex`. */
|
|
3189
3382
|
highlightMatchField: string;
|
|
3383
|
+
/**
|
|
3384
|
+
* Chave da tela para persistência de layout (tenant + tela + grid).
|
|
3385
|
+
* Omisso: não persiste nem restaura colunas.
|
|
3386
|
+
*/
|
|
3387
|
+
layoutTelaKey: string | null;
|
|
3388
|
+
/** Chave do grid na mesma tela. Omisso: `consulta-principal`. */
|
|
3389
|
+
layoutGridKey: string;
|
|
3390
|
+
private isApplyingSavedLayout;
|
|
3391
|
+
private savedLayoutApplied;
|
|
3392
|
+
private layoutUserChangeSaveEnabled;
|
|
3393
|
+
/** Impressão digital do columnState já aplicado nesta instância (evita re-apply idêntico). */
|
|
3394
|
+
private appliedLayoutFingerprint;
|
|
3395
|
+
/** Estado em cache lido de forma síncrona antes do gridReady. */
|
|
3396
|
+
private pendingSavedColumnState;
|
|
3397
|
+
private layoutApplyRetryTimer;
|
|
3398
|
+
private layoutApplyRetryAttempts;
|
|
3399
|
+
private layoutCacheUpdatedUnsub;
|
|
3400
|
+
/** Detecta transição bootstrap (só «Ações») → colunas de dados do metadata (F5). */
|
|
3401
|
+
private lastKnownDataColumnCount;
|
|
3402
|
+
/**
|
|
3403
|
+
* Oculta a faixa horizontal do AG Grid durante reflow/remount (cache de rota / revisit de consulta).
|
|
3404
|
+
* O skeleton na 1.ª carga já tapa o viewport; aqui evita flash quando há linhas visíveis.
|
|
3405
|
+
*/
|
|
3406
|
+
suppressHorizontalScrollFlicker: boolean;
|
|
3407
|
+
private layoutStabilizeTimer;
|
|
3408
|
+
private layoutStabilizeRaf;
|
|
3409
|
+
constructor();
|
|
3190
3410
|
readonly edit: EventEmitter<T>;
|
|
3191
3411
|
readonly duplicate: EventEmitter<T>;
|
|
3412
|
+
readonly print: EventEmitter<T>;
|
|
3192
3413
|
readonly remove: EventEmitter<T>;
|
|
3193
3414
|
/** Clique na linha de dados (útil para selecção fora da coluna de acções). */
|
|
3194
3415
|
readonly rowClick: EventEmitter<T>;
|
|
@@ -3223,6 +3444,12 @@ declare class DataGridComponent<T = unknown> implements OnInit, OnChanges, OnDes
|
|
|
3223
3444
|
get effectivePaginationPageSizeSelector(): number[];
|
|
3224
3445
|
/** Repasse ao `ag-grid-angular`: `false` omite o selector (documentação AG Grid). */
|
|
3225
3446
|
get paginationPageSizeSelectorInput(): number[] | boolean;
|
|
3447
|
+
/**
|
|
3448
|
+
* Skeleton só na carga inicial (lista vazia). Refresh com linhas visíveis mantém a grelha — evita flash com cache.
|
|
3449
|
+
*/
|
|
3450
|
+
get showViewportSkeleton(): boolean;
|
|
3451
|
+
/** Só esvazia `rowData` durante loading quando ainda não há linhas a mostrar. */
|
|
3452
|
+
private get clearRowDataWhileLoading();
|
|
3226
3453
|
/**
|
|
3227
3454
|
* Empty state **fora** do AG Grid: o overlay nativo falha na 1.ª carga (skeleton + `suppressNoRowsOverlay` / v35).
|
|
3228
3455
|
*/
|
|
@@ -3235,6 +3462,8 @@ declare class DataGridComponent<T = unknown> implements OnInit, OnChanges, OnDes
|
|
|
3235
3462
|
get skeletonRowCount(): number;
|
|
3236
3463
|
/** Área entre cabeçalho da grelha e barra de paginação (overlay do skeleton), em px quando {@link hostHeight} é valor `NNpx`. */
|
|
3237
3464
|
private estimateSkeletonViewportBodyPx;
|
|
3465
|
+
/** Desactiva animação de reordenação enquanto o layout persistido não foi aplicado. */
|
|
3466
|
+
get suppressColumnMoveAnimation(): boolean;
|
|
3238
3467
|
readonly defaultColDef: ColDef<T>;
|
|
3239
3468
|
/**
|
|
3240
3469
|
* O AG Grid corre muitos callbacks fora da `NgZone`; sem `run()`, o pai com `OnPush`
|
|
@@ -3258,12 +3487,46 @@ declare class DataGridComponent<T = unknown> implements OnInit, OnChanges, OnDes
|
|
|
3258
3487
|
ngOnDestroy(): void;
|
|
3259
3488
|
get hostHeight(): string;
|
|
3260
3489
|
onGridReady(ev: GridReadyEvent<T>): void;
|
|
3490
|
+
private onGridReadyApplyLayoutThenData;
|
|
3491
|
+
onLayoutColumnMoved(ev: ColumnMovedEvent<T>): void;
|
|
3492
|
+
onLayoutColumnResized(ev: ColumnResizedEvent<T>): void;
|
|
3493
|
+
onLayoutColumnVisible(_ev: ColumnVisibleEvent<T>): void;
|
|
3494
|
+
onLayoutColumnPinned(_ev: ColumnPinnedEvent<T>): void;
|
|
3495
|
+
private hydrateLayoutFromCacheSync;
|
|
3496
|
+
/** Dispara GET em background na 1.ª visita para aquecer cache antes do gridReady. */
|
|
3497
|
+
private prefetchLayoutIfNeeded;
|
|
3498
|
+
private onExternalLayoutCacheUpdated;
|
|
3499
|
+
private tryApplySavedLayout;
|
|
3500
|
+
private countDataColumns;
|
|
3501
|
+
private shouldKeepTryingLayoutApply;
|
|
3502
|
+
/** Só activa gravação automática quando colunas de dados existem (evita sobrescrever layout no F5). */
|
|
3503
|
+
private canEnableLayoutSaveGrace;
|
|
3504
|
+
private cancelLayoutApplyRetry;
|
|
3505
|
+
private scheduleLayoutApplyRetry;
|
|
3506
|
+
private applySavedLayoutBeforeFirstPaint;
|
|
3507
|
+
/** Dois frames após `agColumnDefs` mudar — AG Grid precisa materializar colunas antes de `applyColumnState`. */
|
|
3508
|
+
private yieldForGridColumnDefsSync;
|
|
3509
|
+
/** Colunas de dados existem no input e já estão materializadas na API do AG Grid. */
|
|
3510
|
+
private gridReadyForLayoutApply;
|
|
3511
|
+
private verifyLayoutStateApplied;
|
|
3512
|
+
private applyColumnStateToGrid;
|
|
3513
|
+
private enableLayoutSaveAfterGrace;
|
|
3514
|
+
private persistColumnLayoutIfAllowed;
|
|
3261
3515
|
onRowClicked(ev: RowClickedEvent<T>): void;
|
|
3262
3516
|
private rowClassForHighlight;
|
|
3263
3517
|
private applyRowHighlightClass;
|
|
3264
3518
|
private applyInitialPaginationPage;
|
|
3265
3519
|
/** Evita `removeEventListener` na API depois do grid destruído. */
|
|
3266
3520
|
private detachPaginationListenerIfLive;
|
|
3521
|
+
private setupHorizontalScrollStabilizingObservers;
|
|
3522
|
+
private beginHorizontalScrollStabilizing;
|
|
3523
|
+
private scheduleEndHorizontalScrollStabilizing;
|
|
3524
|
+
private tryFinishHorizontalScrollStabilizing;
|
|
3525
|
+
/**
|
|
3526
|
+
* `true` se o viewport central transborda; `false` se não; `null` se ainda não mensurável (largura 0).
|
|
3527
|
+
*/
|
|
3528
|
+
private centerViewportNeedsHorizontalScroll;
|
|
3529
|
+
private clearLayoutStabilizingTimers;
|
|
3267
3530
|
private columnsForGrid;
|
|
3268
3531
|
/** Classes BEM em `data-grid.host-theme.scss` para alinhamento declarativo nas colunas. */
|
|
3269
3532
|
private static alignmentCellHeaderClasses;
|
|
@@ -3279,7 +3542,7 @@ declare class DataGridComponent<T = unknown> implements OnInit, OnChanges, OnDes
|
|
|
3279
3542
|
get suppressCellFocusBinding(): boolean;
|
|
3280
3543
|
private mapColumnsToColDef;
|
|
3281
3544
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataGridComponent<any>, never>;
|
|
3282
|
-
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; }; "showRemoveAction": { "alias": "showRemoveAction"; "required": false; }; "showDuplicateAction": { "alias": "showDuplicateAction"; "required": false; }; "suppressRowClick": { "alias": "suppressRowClick"; "required": false; }; "inlineCellEditing": { "alias": "inlineCellEditing"; "required": false; }; "highlightedRowMatch": { "alias": "highlightedRowMatch"; "required": false; }; "highlightMatchField": { "alias": "highlightMatchField"; "required": false; }; }, { "edit": "edit"; "duplicate": "duplicate"; "remove": "remove"; "rowClick": "rowClick"; "selectionChange": "selectionChange"; "paginationChanged": "paginationChanged"; }, never, never, true, never>;
|
|
3545
|
+
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>;
|
|
3283
3546
|
static ngAcceptInputType_initialPaginationPage: unknown;
|
|
3284
3547
|
static ngAcceptInputType_fitPaginationHeight: unknown;
|
|
3285
3548
|
static ngAcceptInputType_fitPaginationMinEmptyRows: unknown;
|
|
@@ -3288,6 +3551,7 @@ declare class DataGridComponent<T = unknown> implements OnInit, OnChanges, OnDes
|
|
|
3288
3551
|
static ngAcceptInputType_showEditAction: unknown;
|
|
3289
3552
|
static ngAcceptInputType_showRemoveAction: unknown;
|
|
3290
3553
|
static ngAcceptInputType_showDuplicateAction: unknown;
|
|
3554
|
+
static ngAcceptInputType_showPrintAction: unknown;
|
|
3291
3555
|
static ngAcceptInputType_suppressRowClick: unknown;
|
|
3292
3556
|
static ngAcceptInputType_inlineCellEditing: unknown;
|
|
3293
3557
|
}
|
|
@@ -3348,6 +3612,7 @@ declare class CardListComponent<T = unknown> implements OnChanges {
|
|
|
3348
3612
|
/** Repasse ao `app-data-card`: botão «Alterar» quando {@link showItemActions} é `true`. */
|
|
3349
3613
|
showEditAction: boolean;
|
|
3350
3614
|
editActionLabel: string;
|
|
3615
|
+
editActionIconClass: string;
|
|
3351
3616
|
/** Repasse ao `app-data-card`: botão «Remover» quando {@link showItemActions} é `true`. */
|
|
3352
3617
|
showRemoveAction: boolean;
|
|
3353
3618
|
/** Repasse ao `app-data-card`: clique no cartão emite `edit` (exceto nos botões). */
|
|
@@ -3415,13 +3680,14 @@ declare class CardListComponent<T = unknown> implements OnChanges {
|
|
|
3415
3680
|
skeletonCardIndices(): number[];
|
|
3416
3681
|
/** Um único cartão skeleton no fundo durante `loadingMore` (mantém o scroll estável). */
|
|
3417
3682
|
skeletonTailIndices(): number[];
|
|
3683
|
+
hideEditActionForItem(item: T): boolean;
|
|
3418
3684
|
trackFn: (index: number, item: T) => unknown;
|
|
3419
3685
|
onScroll(ev: Event): void;
|
|
3420
3686
|
private requestRemotePage;
|
|
3421
3687
|
private loadMoreMemoryChunk;
|
|
3422
3688
|
private resetVisibleWindow;
|
|
3423
3689
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CardListComponent<any>, never>;
|
|
3424
|
-
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; }; "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; }; "totalCountRemote": { "alias": "totalCountRemote"; "required": false; }; "hasNextPage": { "alias": "hasNextPage"; "required": false; }; }, { "loadMore": "loadMore"; "edit": "edit"; "remove": "remove"; "booleanFieldChange": "booleanFieldChange"; }, never, never, true, never>;
|
|
3690
|
+
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; }; "totalCountRemote": { "alias": "totalCountRemote"; "required": false; }; "hasNextPage": { "alias": "hasNextPage"; "required": false; }; }, { "loadMore": "loadMore"; "edit": "edit"; "remove": "remove"; "booleanFieldChange": "booleanFieldChange"; }, never, never, true, never>;
|
|
3425
3691
|
static ngAcceptInputType_loadingMore: unknown;
|
|
3426
3692
|
static ngAcceptInputType_showEditAction: unknown;
|
|
3427
3693
|
static ngAcceptInputType_showRemoveAction: unknown;
|
|
@@ -3465,6 +3731,8 @@ declare class AdaptiveDataViewComponent<T = unknown> implements OnInit, OnChange
|
|
|
3465
3731
|
showCardItemActions: boolean;
|
|
3466
3732
|
/** Tooltip/aria do botão de abrir registo na coluna Ações ou no cartão. Omisso ⇒ «Alterar». */
|
|
3467
3733
|
editActionLabel: string;
|
|
3734
|
+
/** Ícone Font Awesome do botão editar (ex.: `fa-paper-plane`). Omisso ⇒ `fa-pen-to-square`. */
|
|
3735
|
+
editActionIconClass: string;
|
|
3468
3736
|
/** Lista em cartões: clique no cartão dispara `edit` (como «Alterar»); botões mantêm-se independentes. */
|
|
3469
3737
|
cardOpenOnClick: boolean;
|
|
3470
3738
|
scrollBatchSize: number;
|
|
@@ -3497,16 +3765,25 @@ declare class AdaptiveDataViewComponent<T = unknown> implements OnInit, OnChange
|
|
|
3497
3765
|
/** Vista quando a tela é maior. Por padrão `grid`. */
|
|
3498
3766
|
desktopView: AdaptiveDataViewMode;
|
|
3499
3767
|
showDuplicateAction: boolean;
|
|
3768
|
+
showPrintAction: boolean;
|
|
3769
|
+
printActionLabel: string;
|
|
3500
3770
|
showEditAction: boolean;
|
|
3501
3771
|
showRemoveAction: boolean;
|
|
3772
|
+
/** Chave da tela para persistência de layout AG Grid (repasse ao `app-data-grid`). */
|
|
3773
|
+
layoutTelaKey: string | null;
|
|
3774
|
+
/** Chave do grid na mesma tela. Omisso: `consulta-principal`. */
|
|
3775
|
+
layoutGridKey: string;
|
|
3502
3776
|
readonly edit: EventEmitter<T>;
|
|
3503
3777
|
readonly duplicate: EventEmitter<T>;
|
|
3778
|
+
readonly print: EventEmitter<T>;
|
|
3504
3779
|
readonly remove: EventEmitter<T>;
|
|
3505
3780
|
readonly loadMore: EventEmitter<void>;
|
|
3506
3781
|
/** Corresponde ao breakpoint mobile. */
|
|
3507
3782
|
isMobileLayout: boolean;
|
|
3508
3783
|
/** Valor efectivo reposto ao grid / lista (respeita {@link loadingSkeletonMinMs}). */
|
|
3509
3784
|
displayLoading: boolean;
|
|
3785
|
+
/** Skeleton só quando `loading` e a lista ainda está vazia (cache / refresh mantém dados visíveis). */
|
|
3786
|
+
private shouldShowLoadingSkeleton;
|
|
3510
3787
|
ngOnInit(): void;
|
|
3511
3788
|
ngOnChanges(changes: SimpleChanges): void;
|
|
3512
3789
|
ngOnDestroy(): void;
|
|
@@ -3521,13 +3798,14 @@ declare class AdaptiveDataViewComponent<T = unknown> implements OnInit, OnChange
|
|
|
3521
3798
|
get effectiveCardScrollMaxHeight(): string | null;
|
|
3522
3799
|
get resultCountDisplay(): string;
|
|
3523
3800
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AdaptiveDataViewComponent<any>, never>;
|
|
3524
|
-
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; }; "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; }; "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; }; "showEditAction": { "alias": "showEditAction"; "required": false; }; "showRemoveAction": { "alias": "showRemoveAction"; "required": false; }; }, { "edit": "edit"; "duplicate": "duplicate"; "remove": "remove"; "loadMore": "loadMore"; }, never, never, true, never>;
|
|
3801
|
+
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; }; "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; }; }, { "edit": "edit"; "duplicate": "duplicate"; "print": "print"; "remove": "remove"; "loadMore": "loadMore"; }, never, never, true, never>;
|
|
3525
3802
|
static ngAcceptInputType_gridFitPaginationHeight: unknown;
|
|
3526
3803
|
static ngAcceptInputType_gridFitPaginationMinEmptyRows: unknown;
|
|
3527
3804
|
static ngAcceptInputType_cardOpenOnClick: unknown;
|
|
3528
3805
|
static ngAcceptInputType_cardsPerRow: unknown;
|
|
3529
3806
|
static ngAcceptInputType_loadingSkeletonMinMs: unknown;
|
|
3530
3807
|
static ngAcceptInputType_showDuplicateAction: unknown;
|
|
3808
|
+
static ngAcceptInputType_showPrintAction: unknown;
|
|
3531
3809
|
static ngAcceptInputType_showEditAction: unknown;
|
|
3532
3810
|
static ngAcceptInputType_showRemoveAction: unknown;
|
|
3533
3811
|
}
|
|
@@ -3551,8 +3829,11 @@ declare class DataCardComponent implements OnChanges {
|
|
|
3551
3829
|
/** Omisso / `true`: mostra o botão «Alterar» quando {@link showActions} é `true`. */
|
|
3552
3830
|
showEditAction: boolean;
|
|
3553
3831
|
editActionLabel: string;
|
|
3832
|
+
editActionIconClass: string;
|
|
3554
3833
|
/** Omisso / `true`: mostra o botão «Remover» quando {@link showActions} é `true`. */
|
|
3555
3834
|
showRemoveAction: boolean;
|
|
3835
|
+
/** Quando `true`, omite o botão «Alterar» neste cartão (ex.: ação por linha na consulta). */
|
|
3836
|
+
hideEditAction: boolean;
|
|
3556
3837
|
/**
|
|
3557
3838
|
* Clique na superfície do cartão (fora dos botões de ação) emite {@link edit}, como o botão «Alterar».
|
|
3558
3839
|
*/
|
|
@@ -3563,15 +3844,17 @@ declare class DataCardComponent implements OnChanges {
|
|
|
3563
3844
|
fieldKey: string;
|
|
3564
3845
|
checked: boolean;
|
|
3565
3846
|
}>;
|
|
3847
|
+
protected get editActionIcon(): string;
|
|
3566
3848
|
onCardShellClick(ev: MouseEvent): void;
|
|
3567
3849
|
onEditClick(ev: Event): void;
|
|
3568
3850
|
onRemoveClick(ev: Event): void;
|
|
3569
3851
|
onBooleanFieldChange(field: CardItemBooleanField, ev: Event): void;
|
|
3570
3852
|
onThumbError(ev: Event): void;
|
|
3571
3853
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataCardComponent, never>;
|
|
3572
|
-
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; }; "variant": { "alias": "variant"; "required": false; }; "showActions": { "alias": "showActions"; "required": false; }; "showEditAction": { "alias": "showEditAction"; "required": false; }; "editActionLabel": { "alias": "editActionLabel"; "required": false; }; "showRemoveAction": { "alias": "showRemoveAction"; "required": false; }; "openOnClick": { "alias": "openOnClick"; "required": false; }; }, { "edit": "edit"; "remove": "remove"; "booleanFieldChange": "booleanFieldChange"; }, never, never, true, never>;
|
|
3854
|
+
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; }; "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>;
|
|
3573
3855
|
static ngAcceptInputType_showEditAction: unknown;
|
|
3574
3856
|
static ngAcceptInputType_showRemoveAction: unknown;
|
|
3857
|
+
static ngAcceptInputType_hideEditAction: unknown;
|
|
3575
3858
|
static ngAcceptInputType_openOnClick: unknown;
|
|
3576
3859
|
}
|
|
3577
3860
|
|
|
@@ -3714,12 +3997,15 @@ declare class StatCardComponent {
|
|
|
3714
3997
|
delta: string;
|
|
3715
3998
|
deltaTone: StatCardDeltaTone;
|
|
3716
3999
|
clickable: boolean;
|
|
4000
|
+
/** Destaque visual quando o cartão representa o filtro activo (ex.: totalizadores de consulta). */
|
|
4001
|
+
selected: boolean;
|
|
3717
4002
|
readonly cardActivate: EventEmitter<void>;
|
|
3718
4003
|
onActivate(ev: Event): void;
|
|
3719
4004
|
onKeydown(ev: KeyboardEvent): void;
|
|
3720
4005
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StatCardComponent, never>;
|
|
3721
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StatCardComponent, "app-stat-card", never, { "title": { "alias": "title"; "required": true; }; "value": { "alias": "value"; "required": true; }; "description": { "alias": "description"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "delta": { "alias": "delta"; "required": false; }; "deltaTone": { "alias": "deltaTone"; "required": false; }; "clickable": { "alias": "clickable"; "required": false; }; }, { "cardActivate": "cardActivate"; }, never, never, true, never>;
|
|
4006
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StatCardComponent, "app-stat-card", never, { "title": { "alias": "title"; "required": true; }; "value": { "alias": "value"; "required": true; }; "description": { "alias": "description"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "delta": { "alias": "delta"; "required": false; }; "deltaTone": { "alias": "deltaTone"; "required": false; }; "clickable": { "alias": "clickable"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, { "cardActivate": "cardActivate"; }, never, never, true, never>;
|
|
3722
4007
|
static ngAcceptInputType_clickable: unknown;
|
|
4008
|
+
static ngAcceptInputType_selected: unknown;
|
|
3723
4009
|
}
|
|
3724
4010
|
|
|
3725
4011
|
/**
|
|
@@ -3765,12 +4051,29 @@ declare class DataListComponent {
|
|
|
3765
4051
|
* Bloco de dashboard: título, ações opcionais e conteúdo (stat-cards, listas, grades).
|
|
3766
4052
|
* Superfície alinhada aos cartões da lib.
|
|
3767
4053
|
*/
|
|
3768
|
-
declare class DashboardSectionComponent {
|
|
4054
|
+
declare class DashboardSectionComponent implements OnChanges {
|
|
3769
4055
|
title: string;
|
|
3770
4056
|
subtitle: string;
|
|
4057
|
+
/** Quando `true`, o cabeçalho exibe chevron e alterna aberto/fechado. */
|
|
4058
|
+
collapsible: boolean;
|
|
4059
|
+
/** Com `collapsible`: `true` = seção fechada (só cabeçalho), `false` = aberta. */
|
|
4060
|
+
collapsed: boolean;
|
|
4061
|
+
readonly collapsedChange: EventEmitter<boolean>;
|
|
3771
4062
|
readonly titleId: string;
|
|
4063
|
+
private collapsedInternal;
|
|
4064
|
+
get hostCollapsible(): boolean;
|
|
4065
|
+
get hostCollapsed(): boolean;
|
|
4066
|
+
get hostExpanded(): boolean;
|
|
4067
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
4068
|
+
get isCollapsed(): boolean;
|
|
4069
|
+
get headerInteractive(): boolean;
|
|
4070
|
+
onHeaderClick(event: MouseEvent): void;
|
|
4071
|
+
onHeaderKeydown(event: KeyboardEvent): void;
|
|
4072
|
+
private toggleCollapsed;
|
|
3772
4073
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DashboardSectionComponent, never>;
|
|
3773
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DashboardSectionComponent, "app-dashboard-section", never, { "title": { "alias": "title"; "required": true; }; "subtitle": { "alias": "subtitle"; "required": false; }; }, {}, never, ["[dashboard-section-actions]", "*"], true, never>;
|
|
4074
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DashboardSectionComponent, "app-dashboard-section", never, { "title": { "alias": "title"; "required": true; }; "subtitle": { "alias": "subtitle"; "required": false; }; "collapsible": { "alias": "collapsible"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; }, { "collapsedChange": "collapsedChange"; }, never, ["[dashboard-section-actions]", "*"], true, never>;
|
|
4075
|
+
static ngAcceptInputType_collapsible: unknown;
|
|
4076
|
+
static ngAcceptInputType_collapsed: unknown;
|
|
3774
4077
|
}
|
|
3775
4078
|
|
|
3776
4079
|
/**
|
|
@@ -3861,6 +4164,12 @@ declare class TreeViewComponent implements OnChanges, OnInit, OnDestroy {
|
|
|
3861
4164
|
filterSearchable: boolean;
|
|
3862
4165
|
/** Placeholder do campo de filtro. */
|
|
3863
4166
|
filterPlaceholder: string;
|
|
4167
|
+
/** Título do empty state quando a pesquisa não encontra itens. */
|
|
4168
|
+
filterEmptyMessage: string;
|
|
4169
|
+
/** Subtítulo do empty state de pesquisa vazia. */
|
|
4170
|
+
filterEmptyDescription: string;
|
|
4171
|
+
/** Ícone Font Awesome do empty state de pesquisa vazia. */
|
|
4172
|
+
filterEmptyIconClass: string;
|
|
3864
4173
|
/**
|
|
3865
4174
|
* Mostra ícone à esquerda do rótulo em ramos (pastas).
|
|
3866
4175
|
* Omisso / `true`: ícone de pasta (ou `node.iconClass`); `false`: só caret + rótulo (mantém espaço com spacer).
|
|
@@ -3871,6 +4180,11 @@ declare class TreeViewComponent implements OnChanges, OnInit, OnDestroy {
|
|
|
3871
4180
|
* Omisso / `true`: ícone por omissão (ou `node.iconClass`); `false`: spacer alinhado às linhas com ícone.
|
|
3872
4181
|
*/
|
|
3873
4182
|
showLeafIcons: boolean;
|
|
4183
|
+
/**
|
|
4184
|
+
* Chave externa para repor `expandedIds` a partir de `node.expanded`, mesmo quando `nodes` não muda.
|
|
4185
|
+
* Útil ao reentrar numa rota com reuse ou ao remontar a árvore sem substituir os nós.
|
|
4186
|
+
*/
|
|
4187
|
+
expansionStateKey: unknown;
|
|
3874
4188
|
readonly selectedIdChange: EventEmitter<string | null>;
|
|
3875
4189
|
readonly nodeSelect: EventEmitter<TreeViewSelectEvent>;
|
|
3876
4190
|
/** IDs de ramos expandidos. */
|
|
@@ -3902,7 +4216,7 @@ declare class TreeViewComponent implements OnChanges, OnInit, OnDestroy {
|
|
|
3902
4216
|
private refreshExpandedForSearch;
|
|
3903
4217
|
private expandAllBranchesRecursive;
|
|
3904
4218
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TreeViewComponent, never>;
|
|
3905
|
-
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; }; "showBranchIcons": { "alias": "showBranchIcons"; "required": false; }; "showLeafIcons": { "alias": "showLeafIcons"; "required": false; }; }, { "selectedIdChange": "selectedIdChange"; "nodeSelect": "nodeSelect"; }, never, never, true, never>;
|
|
4219
|
+
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>;
|
|
3906
4220
|
static ngAcceptInputType_filterSearchable: unknown;
|
|
3907
4221
|
static ngAcceptInputType_showBranchIcons: unknown;
|
|
3908
4222
|
static ngAcceptInputType_showLeafIcons: unknown;
|
|
@@ -4081,6 +4395,8 @@ declare class ConfirmDialogService {
|
|
|
4081
4395
|
}
|
|
4082
4396
|
|
|
4083
4397
|
declare const STRUCTRA_THEME_IDS: readonly ["blue", "green", "purple", "orange", "white", "gray", "sepia", "black"];
|
|
4398
|
+
/** Classe CSS do modo escuro (combinada com paleta `theme-*`). */
|
|
4399
|
+
declare const STRUCTRA_THEME_DARK_CLASS = "theme-dark";
|
|
4084
4400
|
type StructraTheme = (typeof STRUCTRA_THEME_IDS)[number];
|
|
4085
4401
|
|
|
4086
4402
|
/** Identificadores de paleta suportados pela library (uso em `AppThemeService.setTheme`). */
|
|
@@ -4107,12 +4423,15 @@ interface AppThemeOption {
|
|
|
4107
4423
|
*/
|
|
4108
4424
|
declare class AppThemeService {
|
|
4109
4425
|
private readonly activeId;
|
|
4426
|
+
private readonly darkMode;
|
|
4110
4427
|
/** Identificador do tema activo (`blue`, `green`, …). */
|
|
4111
4428
|
readonly activeThemeId: _angular_core.Signal<"blue" | "green" | "purple" | "orange" | "white" | "gray" | "sepia" | "black">;
|
|
4429
|
+
/** Modo escuro (superfícies/texto); a primária vem da paleta activa. */
|
|
4430
|
+
readonly isDarkMode: _angular_core.Signal<boolean>;
|
|
4112
4431
|
/**
|
|
4113
4432
|
* Classes separadas (ex.: CDK `panelClass` — uma string com espaço quebra `classList.add`).
|
|
4114
4433
|
*/
|
|
4115
|
-
readonly themeClassList: _angular_core.Signal<readonly [
|
|
4434
|
+
readonly themeClassList: _angular_core.Signal<readonly string[]>;
|
|
4116
4435
|
/**
|
|
4117
4436
|
* As duas classes numa string — útil para `[class]`, `[ngClass]` com string, ou hosts HTML.
|
|
4118
4437
|
* Ex.: `<div [ngClass]="libTheme.getTheme()">` aplica paleta completa no consumidor.
|
|
@@ -4120,7 +4439,7 @@ declare class AppThemeService {
|
|
|
4120
4439
|
readonly getTheme: _angular_core.Signal<string>;
|
|
4121
4440
|
/** Mapa para `[ngClass]` com chaves dinâmicas (painéis overlay). */
|
|
4122
4441
|
readonly themeClassMap: _angular_core.Signal<{
|
|
4123
|
-
[
|
|
4442
|
+
[k: string]: boolean;
|
|
4124
4443
|
}>;
|
|
4125
4444
|
/** Lista fixa de temas suportados pela library. */
|
|
4126
4445
|
readonly themeOptions: readonly AppThemeOption[];
|
|
@@ -4130,6 +4449,7 @@ declare class AppThemeService {
|
|
|
4130
4449
|
*/
|
|
4131
4450
|
readonly themePrimaryColorLabelPtBr: _angular_core.Signal<string>;
|
|
4132
4451
|
setTheme(id: AppThemeId): void;
|
|
4452
|
+
setDarkMode(enabled: boolean): void;
|
|
4133
4453
|
isActive(id: AppThemeId): boolean;
|
|
4134
4454
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AppThemeService, never>;
|
|
4135
4455
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AppThemeService>;
|
|
@@ -4147,21 +4467,25 @@ declare class ThemeDirective implements OnChanges {
|
|
|
4147
4467
|
private readonly renderer;
|
|
4148
4468
|
private readonly themeService;
|
|
4149
4469
|
private _theme;
|
|
4470
|
+
private _darkMode;
|
|
4150
4471
|
set appTheme(value: StructraTheme | AppTheme | string | null | undefined);
|
|
4151
4472
|
get appTheme(): StructraTheme | AppTheme;
|
|
4473
|
+
/** Modo escuro combinado com a paleta de `appTheme`. */
|
|
4474
|
+
set appThemeDark(value: boolean | string | null | undefined);
|
|
4152
4475
|
private readonly themeTokenClasses;
|
|
4153
4476
|
constructor(elementRef: ElementRef<HTMLElement>, renderer: Renderer2, themeService: AppThemeService);
|
|
4154
4477
|
ngOnChanges(changes: SimpleChanges): void;
|
|
4155
4478
|
private applyTheme;
|
|
4156
4479
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemeDirective, never>;
|
|
4157
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ThemeDirective, "[appTheme]", never, { "appTheme": { "alias": "appTheme"; "required": false; }; }, {}, never, never, true, never>;
|
|
4480
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ThemeDirective, "[appTheme]", never, { "appTheme": { "alias": "appTheme"; "required": false; }; "appThemeDark": { "alias": "appThemeDark"; "required": false; }; }, {}, never, never, true, never>;
|
|
4158
4481
|
}
|
|
4159
4482
|
|
|
4160
4483
|
declare const APP_THEME_BASE_CLASS = "app-library-theme";
|
|
4484
|
+
declare function isLegacyDarkThemeId(theme: string | null | undefined): boolean;
|
|
4161
4485
|
declare function normalizeStructraTheme(theme: StructraTheme | string): StructraTheme;
|
|
4162
4486
|
declare function getThemeTokenClass(theme: StructraTheme | string): string;
|
|
4163
|
-
declare function getThemeClassList(theme: StructraTheme | string): readonly [
|
|
4164
|
-
declare function getThemeClass(theme: StructraTheme | string): string;
|
|
4487
|
+
declare function getThemeClassList(theme: StructraTheme | string, darkMode?: boolean): readonly string[];
|
|
4488
|
+
declare function getThemeClass(theme: StructraTheme | string, darkMode?: boolean): string;
|
|
4165
4489
|
|
|
4166
4490
|
/**
|
|
4167
4491
|
* Tema efectivo para hosts/overlays: valor de `[appTheme]` quando definido; caso contrário
|
|
@@ -4171,9 +4495,9 @@ declare function injectEffectiveThemeId(appTheme: Signal<StructraTheme | AppThem
|
|
|
4171
4495
|
|
|
4172
4496
|
/**
|
|
4173
4497
|
* Remove classes de tema do host e, se `explicitTheme` estiver definido, aplica `.app-library-theme`
|
|
4174
|
-
* + `theme
|
|
4498
|
+
* + `theme-*` (+ `theme-dark` opcional). Caso contrário deixa o host sem paleta própria.
|
|
4175
4499
|
*/
|
|
4176
|
-
declare function applyOptionalThemeHostClasses(renderer: Renderer2, element: HTMLElement, explicitTheme: StructraTheme | AppTheme | string | undefined | null): void;
|
|
4500
|
+
declare function applyOptionalThemeHostClasses(renderer: Renderer2, element: HTMLElement, explicitTheme: StructraTheme | AppTheme | string | undefined | null, darkMode?: boolean): void;
|
|
4177
4501
|
|
|
4178
4502
|
/** Classes aplicadas ao painel CDK Dialog + tema da app. */
|
|
4179
4503
|
declare function libDialogPanelClasses(theme: AppThemeService, extra?: string | string[]): string[];
|
|
@@ -4282,6 +4606,61 @@ declare class LoadingDialogService {
|
|
|
4282
4606
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<LoadingDialogService>;
|
|
4283
4607
|
}
|
|
4284
4608
|
|
|
4609
|
+
interface OnboardingChecklistStep {
|
|
4610
|
+
id: string;
|
|
4611
|
+
title: string;
|
|
4612
|
+
description: string;
|
|
4613
|
+
route?: string;
|
|
4614
|
+
completed: boolean;
|
|
4615
|
+
actionLabel?: string;
|
|
4616
|
+
}
|
|
4617
|
+
interface OnboardingChecklistProgress {
|
|
4618
|
+
completedCount: number;
|
|
4619
|
+
totalSteps: number;
|
|
4620
|
+
progressPercent: number;
|
|
4621
|
+
currentStepId: string | null;
|
|
4622
|
+
}
|
|
4623
|
+
|
|
4624
|
+
declare class OnboardingChecklistComponent {
|
|
4625
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
4626
|
+
readonly subtitle: _angular_core.InputSignal<string>;
|
|
4627
|
+
readonly badgeLabel: _angular_core.InputSignal<string>;
|
|
4628
|
+
readonly badgeIcon: _angular_core.InputSignal<string>;
|
|
4629
|
+
readonly steps: _angular_core.InputSignal<OnboardingChecklistStep[]>;
|
|
4630
|
+
readonly loading: _angular_core.InputSignal<boolean>;
|
|
4631
|
+
/** Sobrescreve a etapa corrente; se omitido, usa a primeira incompleta. */
|
|
4632
|
+
readonly currentStepId: _angular_core.InputSignal<string | null | undefined>;
|
|
4633
|
+
/** Quando omitido, exibe o rodapé enquanto houver etapas incompletas. */
|
|
4634
|
+
readonly showFooter: _angular_core.InputSignal<boolean | undefined>;
|
|
4635
|
+
readonly skipLabel: _angular_core.InputSignal<string>;
|
|
4636
|
+
readonly continueLabel: _angular_core.InputSignal<string | undefined>;
|
|
4637
|
+
readonly startLabel: _angular_core.InputSignal<string>;
|
|
4638
|
+
/**
|
|
4639
|
+
* Quando `false`, Escape e clique no backdrop não disparam `close`.
|
|
4640
|
+
* Omisso: `true`.
|
|
4641
|
+
*/
|
|
4642
|
+
readonly allowOverlayDismiss: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4643
|
+
/** Exibe o botão ✕ no canto superior direito. Omisso: `false`. */
|
|
4644
|
+
readonly showCloseButton: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
4645
|
+
readonly stepClick: _angular_core.OutputEmitterRef<OnboardingChecklistStep>;
|
|
4646
|
+
readonly close: _angular_core.OutputEmitterRef<void>;
|
|
4647
|
+
readonly skip: _angular_core.OutputEmitterRef<void>;
|
|
4648
|
+
readonly continue: _angular_core.OutputEmitterRef<void>;
|
|
4649
|
+
readonly progress: _angular_core.Signal<OnboardingChecklistProgress>;
|
|
4650
|
+
readonly footerVisible: _angular_core.Signal<boolean>;
|
|
4651
|
+
readonly resolvedContinueLabel: _angular_core.Signal<string>;
|
|
4652
|
+
readonly loadingSkeletonRows: number[];
|
|
4653
|
+
actionLabel(step: OnboardingChecklistStep): string;
|
|
4654
|
+
onStepAction(step: OnboardingChecklistStep): void;
|
|
4655
|
+
onClose(): void;
|
|
4656
|
+
onDocumentKeydown(ev: KeyboardEvent): void;
|
|
4657
|
+
onBackdropClick(): void;
|
|
4658
|
+
onSkip(): void;
|
|
4659
|
+
onContinue(): void;
|
|
4660
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<OnboardingChecklistComponent, never>;
|
|
4661
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<OnboardingChecklistComponent, "app-onboarding-checklist", never, { "title": { "alias": "title"; "required": true; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "badgeLabel": { "alias": "badgeLabel"; "required": false; "isSignal": true; }; "badgeIcon": { "alias": "badgeIcon"; "required": false; "isSignal": true; }; "steps": { "alias": "steps"; "required": true; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "currentStepId": { "alias": "currentStepId"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "skipLabel": { "alias": "skipLabel"; "required": false; "isSignal": true; }; "continueLabel": { "alias": "continueLabel"; "required": false; "isSignal": true; }; "startLabel": { "alias": "startLabel"; "required": false; "isSignal": true; }; "allowOverlayDismiss": { "alias": "allowOverlayDismiss"; "required": false; "isSignal": true; }; "showCloseButton": { "alias": "showCloseButton"; "required": false; "isSignal": true; }; }, { "stepClick": "stepClick"; "close": "close"; "skip": "skip"; "continue": "continue"; }, never, never, true, never>;
|
|
4662
|
+
}
|
|
4663
|
+
|
|
4285
4664
|
/**
|
|
4286
4665
|
* Posicionamento vertical preferido do dropdown em relação ao trigger.
|
|
4287
4666
|
* O CDK faz flip automático se não couber no viewport quando configurado com posições múltiplas.
|
|
@@ -4303,6 +4682,8 @@ declare class DropdownMenuComponent<T = string> {
|
|
|
4303
4682
|
minWidthPx: number;
|
|
4304
4683
|
/** Se `true`, a largura do painel segue a do trigger. */
|
|
4305
4684
|
matchTriggerWidth: boolean;
|
|
4685
|
+
/** Se `false`, o menu permanece aberto após selecionar um item (ex.: exportação assíncrona). */
|
|
4686
|
+
closeOnSelect: boolean;
|
|
4306
4687
|
menuId: string;
|
|
4307
4688
|
readonly itemSelect: EventEmitter<T>;
|
|
4308
4689
|
readonly openChange: EventEmitter<boolean>;
|
|
@@ -4322,8 +4703,9 @@ declare class DropdownMenuComponent<T = string> {
|
|
|
4322
4703
|
onItemSelect(id: T): void;
|
|
4323
4704
|
onCloseRequest(): void;
|
|
4324
4705
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropdownMenuComponent<any>, never>;
|
|
4325
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DropdownMenuComponent<any>, "app-dropdown-menu", never, { "items": { "alias": "items"; "required": true; }; "placement": { "alias": "placement"; "required": false; }; "minWidthPx": { "alias": "minWidthPx"; "required": false; }; "matchTriggerWidth": { "alias": "matchTriggerWidth"; "required": false; }; "menuId": { "alias": "menuId"; "required": false; }; }, { "itemSelect": "itemSelect"; "openChange": "openChange"; }, never, ["*"], true, never>;
|
|
4706
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DropdownMenuComponent<any>, "app-dropdown-menu", never, { "items": { "alias": "items"; "required": true; }; "placement": { "alias": "placement"; "required": false; }; "minWidthPx": { "alias": "minWidthPx"; "required": false; }; "matchTriggerWidth": { "alias": "matchTriggerWidth"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "menuId": { "alias": "menuId"; "required": false; }; }, { "itemSelect": "itemSelect"; "openChange": "openChange"; }, never, ["*"], true, never>;
|
|
4326
4707
|
static ngAcceptInputType_matchTriggerWidth: unknown;
|
|
4708
|
+
static ngAcceptInputType_closeOnSelect: unknown;
|
|
4327
4709
|
}
|
|
4328
4710
|
|
|
4329
4711
|
declare class ContextMenuComponent<T = string> implements OnDestroy {
|
|
@@ -4559,7 +4941,7 @@ declare class AnchoredOverlayComponent {
|
|
|
4559
4941
|
scrollStrategy: ScrollStrategy | null;
|
|
4560
4942
|
readonly overlayPanelClasses: _angular_core.Signal<string[]>;
|
|
4561
4943
|
readonly panelThemeNgClass: _angular_core.Signal<{
|
|
4562
|
-
[
|
|
4944
|
+
[k: string]: boolean;
|
|
4563
4945
|
}>;
|
|
4564
4946
|
readonly defaultScrollStrategy: _angular_cdk_overlay.RepositionScrollStrategy;
|
|
4565
4947
|
get effectiveScrollStrategy(): ScrollStrategy;
|
|
@@ -5033,6 +5415,65 @@ declare class AppShellSidebarToggleComponent {
|
|
|
5033
5415
|
static ngAcceptInputType_collapsed: unknown;
|
|
5034
5416
|
}
|
|
5035
5417
|
|
|
5418
|
+
/** Utilizador exibido no painel da sidebar administrativa. */
|
|
5419
|
+
interface StructraSidebarUserView {
|
|
5420
|
+
id?: string;
|
|
5421
|
+
nome?: string;
|
|
5422
|
+
email?: string;
|
|
5423
|
+
login?: string;
|
|
5424
|
+
profileName?: string;
|
|
5425
|
+
}
|
|
5426
|
+
/** Contexto mínimo de empresa/plano para badge na sidebar (consumidor pode enviar mais campos). */
|
|
5427
|
+
interface StructraSidebarEmpresaContext {
|
|
5428
|
+
planoNome?: string | null;
|
|
5429
|
+
}
|
|
5430
|
+
|
|
5431
|
+
declare class StructraSidebarUserPanelComponent {
|
|
5432
|
+
readonly panelTooltip: _angular_core.InputSignal<string>;
|
|
5433
|
+
readonly user: _angular_core.InputSignal<StructraSidebarUserView | null>;
|
|
5434
|
+
readonly empresa: _angular_core.InputSignal<StructraSidebarEmpresaContext | null>;
|
|
5435
|
+
readonly collapsed: _angular_core.InputSignal<boolean>;
|
|
5436
|
+
readonly panelClick: _angular_core.OutputEmitterRef<void>;
|
|
5437
|
+
readonly displayName: _angular_core.Signal<string>;
|
|
5438
|
+
readonly initials: _angular_core.Signal<string>;
|
|
5439
|
+
readonly planName: _angular_core.Signal<string | null>;
|
|
5440
|
+
onPanelClick(): void;
|
|
5441
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraSidebarUserPanelComponent, never>;
|
|
5442
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraSidebarUserPanelComponent, "structra-sidebar-user-panel, app-admin-sidebar-user-panel", never, { "panelTooltip": { "alias": "panelTooltip"; "required": false; "isSignal": true; }; "user": { "alias": "user"; "required": false; "isSignal": true; }; "empresa": { "alias": "empresa"; "required": false; "isSignal": true; }; "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; }, { "panelClick": "panelClick"; }, never, never, true, never>;
|
|
5443
|
+
}
|
|
5444
|
+
|
|
5445
|
+
/** Rodapé institucional (login e área autenticada): textos via DI ou input `parts`. */
|
|
5446
|
+
declare class StructraPageFooterComponent {
|
|
5447
|
+
private readonly configuredParts;
|
|
5448
|
+
/** Sobrescreve partes do rodapé (omisso: {@link STRUCTRA_PAGE_FOOTER_PARTS} ou fallback genérico). */
|
|
5449
|
+
readonly partsInput: _angular_core.InputSignal<readonly string[] | null>;
|
|
5450
|
+
readonly parts: _angular_core.Signal<readonly string[]>;
|
|
5451
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraPageFooterComponent, never>;
|
|
5452
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraPageFooterComponent, "structra-page-footer, app-page-footer", never, { "partsInput": { "alias": "parts"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
5453
|
+
}
|
|
5454
|
+
|
|
5455
|
+
/** Configuração declarativa do rodapé institucional (login e área autenticada). */
|
|
5456
|
+
interface StructraPageFooterConfig {
|
|
5457
|
+
/** Nome do produto exibido no copyright (ex.: ErpTemplate). */
|
|
5458
|
+
productName: string;
|
|
5459
|
+
/** Versão exibida (ex.: 1.0.0). Omisso: omite a linha «Versão …». */
|
|
5460
|
+
version?: string;
|
|
5461
|
+
/** Ano do copyright. Omisso: ano corrente no cliente. */
|
|
5462
|
+
copyrightYear?: number;
|
|
5463
|
+
/** Partes extras após copyright e versão. */
|
|
5464
|
+
extraParts?: readonly string[];
|
|
5465
|
+
}
|
|
5466
|
+
/** Partes literais do rodapé — alternativa à {@link StructraPageFooterConfig}. */
|
|
5467
|
+
declare const STRUCTRA_PAGE_FOOTER_PARTS: InjectionToken<readonly string[]>;
|
|
5468
|
+
/**
|
|
5469
|
+
* Monta partes padrão: `© {ano} {produto}` e, se informado, `Versão {versão}`.
|
|
5470
|
+
*/
|
|
5471
|
+
declare function buildStructraPageFooterParts(config: StructraPageFooterConfig): readonly string[];
|
|
5472
|
+
/** Provider único no `app.config` — substitui `footer-meta.ts` por consumidor. */
|
|
5473
|
+
declare function provideStructraPageFooter(config: StructraPageFooterConfig): Provider;
|
|
5474
|
+
/** @deprecated Alias legado — preferir {@link provideStructraPageFooter}. */
|
|
5475
|
+
declare const provideAppPageFooter: typeof provideStructraPageFooter;
|
|
5476
|
+
|
|
5036
5477
|
/**
|
|
5037
5478
|
* Barra superior com zonas de projeção: início, título, **subtítulo (opcional)** e fim.
|
|
5038
5479
|
* Sem `[appTopbarSubtitle]` o bloco do subtítulo não ocupa espaço.
|
|
@@ -5116,6 +5557,78 @@ declare class AppBreadcrumbComponent {
|
|
|
5116
5557
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AppBreadcrumbComponent, "app-breadcrumb", never, { "items": { "alias": "items"; "required": true; }; }, {}, never, never, true, never>;
|
|
5117
5558
|
}
|
|
5118
5559
|
|
|
5560
|
+
/** Textos e mídia exibidos no shell de login administrativo (white-label). */
|
|
5561
|
+
interface AdminLoginShellConfig {
|
|
5562
|
+
loginTitulo: string;
|
|
5563
|
+
loginTextoDestaque: string;
|
|
5564
|
+
loginSubtitulo: string;
|
|
5565
|
+
loginTituloFormulario: string;
|
|
5566
|
+
loginTextoBotaoEntrar: string;
|
|
5567
|
+
loginMostrarEsqueciSenha: boolean;
|
|
5568
|
+
loginMostrarCriarConta: boolean;
|
|
5569
|
+
textoEsqueciSenha: string;
|
|
5570
|
+
textoCriarConta: string;
|
|
5571
|
+
heroImageSrc: string | null;
|
|
5572
|
+
brandLogoSrc: string | null;
|
|
5573
|
+
}
|
|
5574
|
+
|
|
5575
|
+
declare class AdminLoginShellComponent {
|
|
5576
|
+
formGroup: FormGroup;
|
|
5577
|
+
config: AdminLoginShellConfig;
|
|
5578
|
+
loading: boolean;
|
|
5579
|
+
error: string | null;
|
|
5580
|
+
tenantInexistente: boolean;
|
|
5581
|
+
tenantInexistenteMessage: string;
|
|
5582
|
+
showFooter: boolean;
|
|
5583
|
+
readonly submitted: EventEmitter<void>;
|
|
5584
|
+
readonly brandLogoError: EventEmitter<void>;
|
|
5585
|
+
readonly forgotPasswordClicked: EventEmitter<void>;
|
|
5586
|
+
readonly createAccountClicked: EventEmitter<void>;
|
|
5587
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AdminLoginShellComponent, never>;
|
|
5588
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AdminLoginShellComponent, "structra-admin-login-shell", never, { "formGroup": { "alias": "formGroup"; "required": true; }; "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; }; "showFooter": { "alias": "showFooter"; "required": false; }; }, { "submitted": "submitted"; "brandLogoError": "brandLogoError"; "forgotPasswordClicked": "forgotPasswordClicked"; "createAccountClicked": "createAccountClicked"; }, never, ["[loginFields]", "[loginFooter]"], true, never>;
|
|
5589
|
+
}
|
|
5590
|
+
|
|
5591
|
+
/** Payload emitido ao submeter o formulário de login administrativo. */
|
|
5592
|
+
interface AdminLoginSubmitPayload {
|
|
5593
|
+
loginOuEmail: string;
|
|
5594
|
+
senha: string;
|
|
5595
|
+
}
|
|
5596
|
+
|
|
5597
|
+
declare class AdminLoginPageComponent implements OnChanges {
|
|
5598
|
+
private readonly formBuilder;
|
|
5599
|
+
private readonly cdr;
|
|
5600
|
+
config: AdminLoginShellConfig;
|
|
5601
|
+
loading: boolean;
|
|
5602
|
+
error: string | null;
|
|
5603
|
+
tenantInexistente: boolean;
|
|
5604
|
+
tenantInexistenteMessage: string;
|
|
5605
|
+
emailLabel: string;
|
|
5606
|
+
emailErrorMessage: string;
|
|
5607
|
+
passwordLabel: string;
|
|
5608
|
+
passwordErrorMessage: string;
|
|
5609
|
+
submitDisabled: boolean;
|
|
5610
|
+
autocomplete: boolean;
|
|
5611
|
+
/** Incremente para resetar campos do formulário (ex.: ao voltar para a rota de login). */
|
|
5612
|
+
surfaceResetTrigger: number;
|
|
5613
|
+
readonly loginSubmit: EventEmitter<AdminLoginSubmitPayload>;
|
|
5614
|
+
readonly brandLogoError: EventEmitter<void>;
|
|
5615
|
+
readonly forgotPasswordClicked: EventEmitter<void>;
|
|
5616
|
+
readonly createAccountClicked: EventEmitter<void>;
|
|
5617
|
+
private readonly brandLogoFailed;
|
|
5618
|
+
readonly loginForm: _angular_forms.FormGroup<{
|
|
5619
|
+
email: FormControl<string | null>;
|
|
5620
|
+
password: FormControl<string | null>;
|
|
5621
|
+
}>;
|
|
5622
|
+
get effectiveShellConfig(): AdminLoginShellConfig;
|
|
5623
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
5624
|
+
onBrandLogoError(): void;
|
|
5625
|
+
onSubmit(): void;
|
|
5626
|
+
/** Reseta campos do formulário (loading/erro permanecem sob controle do consumidor). */
|
|
5627
|
+
resetSurface(): void;
|
|
5628
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AdminLoginPageComponent, never>;
|
|
5629
|
+
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>;
|
|
5630
|
+
}
|
|
5631
|
+
|
|
5119
5632
|
/** Alinhado ao backend (`DynamicConsultaWhereBuilder`): operadores em minúsculas. */
|
|
5120
5633
|
type ConsultaValorTipo = 'string' | 'bool' | 'datetime' | 'number';
|
|
5121
5634
|
interface ConsultaCampoDef {
|
|
@@ -5161,7 +5674,7 @@ interface ConsultaFiltroPreset<TColuna extends string = string> {
|
|
|
5161
5674
|
declare const OPS_TEXTO: readonly ConsultaOperadorOption[];
|
|
5162
5675
|
declare const OPS_BOOL: readonly ConsultaOperadorOption[];
|
|
5163
5676
|
declare const OPS_DATA: readonly ConsultaOperadorOption[];
|
|
5164
|
-
/** Campos com multi-seleção no metadata (
|
|
5677
|
+
/** Campos com multi-seleção no metadata (operador fixo `inlist` no servidor). */
|
|
5165
5678
|
declare const OPS_TEXTO_MULTISELECT: readonly ConsultaOperadorOption[];
|
|
5166
5679
|
/**
|
|
5167
5680
|
* Colunas `datetime`: usar `app-date-field` para qualquer operador excepto `between`
|
|
@@ -6271,6 +6784,17 @@ interface ConsultaPageRuntime {
|
|
|
6271
6784
|
* Omissão: não normaliza operadores (retrocompat).
|
|
6272
6785
|
*/
|
|
6273
6786
|
valorTipoPorColuna?: (coluna: string) => ConsultaValorTipo;
|
|
6787
|
+
/**
|
|
6788
|
+
* Montagem de filtros avulsos em tempo de execução (ex.: override de {@link montarFiltrosListaConsulta} na página).
|
|
6789
|
+
* Omissão: usa o montador interno do runtime builder.
|
|
6790
|
+
*/
|
|
6791
|
+
montarFiltrosListaConsulta?: (preset: ConsultaFiltroPreset<string> | undefined, valores: Record<string, string>, boolColumnIds: readonly string[], valorTipoPorColuna?: (coluna: string) => ConsultaValorTipo) => Array<{
|
|
6792
|
+
campo: string;
|
|
6793
|
+
operador: string;
|
|
6794
|
+
valor: string;
|
|
6795
|
+
valorAte: string;
|
|
6796
|
+
juncao: string;
|
|
6797
|
+
}>;
|
|
6274
6798
|
}) => Promise<{
|
|
6275
6799
|
itens: unknown[];
|
|
6276
6800
|
total: number;
|
|
@@ -6290,6 +6814,13 @@ interface ConsultaPageRuntime {
|
|
|
6290
6814
|
* Omissão na página base: 15.
|
|
6291
6815
|
*/
|
|
6292
6816
|
consultaListaCacheMaxPaginas?: number;
|
|
6817
|
+
/**
|
|
6818
|
+
* Chave da tela para persistência de layout AG Grid (tenant + tela + grid).
|
|
6819
|
+
* Omisso: usa {@link consultaListaCacheNamespace} quando definido.
|
|
6820
|
+
*/
|
|
6821
|
+
layoutTelaKey?: string;
|
|
6822
|
+
/** Chave do grid na consulta. Omisso: `consulta-principal`. */
|
|
6823
|
+
layoutGridKey?: string;
|
|
6293
6824
|
/**
|
|
6294
6825
|
* Monta os mesmos `filtrosAvulsos` que o fluxo servidor usa em {@link carregarListaComConsulta}.
|
|
6295
6826
|
* Obrigatório para activar cache quando {@link consultaListaCacheNamespace} está definido.
|
|
@@ -6311,9 +6842,14 @@ interface ConsultaPageRuntime {
|
|
|
6311
6842
|
itemPassaConsulta: (item: unknown, itens: ConsultaFiltroItem<string>[], valoresPorItemId: Record<string, string>) => boolean;
|
|
6312
6843
|
editar?: (row: Record<string, unknown>) => void;
|
|
6313
6844
|
duplicar?: (row: Record<string, unknown>) => void;
|
|
6845
|
+
imprimir?: (row: Record<string, unknown>) => void;
|
|
6314
6846
|
remover?: (row: Record<string, unknown>) => Promise<void> | void;
|
|
6315
6847
|
/** `true` quando `[DuplicateConfig(Enabled = true)]` no layout da página. */
|
|
6316
6848
|
showDuplicateAction?: boolean;
|
|
6849
|
+
/** `true` quando a página define ação «Imprimir» por linha. */
|
|
6850
|
+
showPrintAction?: boolean;
|
|
6851
|
+
/** Tooltip/aria do botão imprimir na coluna Ações. Omisso ⇒ «Imprimir». */
|
|
6852
|
+
printActionLabel?: string;
|
|
6317
6853
|
/**
|
|
6318
6854
|
* Após {@link remover} com sucesso, em vez de retirar a linha da lista, actualiza-a com `ativo: false`
|
|
6319
6855
|
* (inativação local alinhada ao soft-delete no servidor). Omissão: remove a linha pelo `id`.
|
|
@@ -6338,6 +6874,8 @@ interface ConsultaPageRuntime {
|
|
|
6338
6874
|
novoRouterLink?: string | unknown[];
|
|
6339
6875
|
/** Coluna Ações: tooltip/aria do botão de abrir registo. */
|
|
6340
6876
|
editActionLabel: string;
|
|
6877
|
+
/** Coluna Ações: ícone Font Awesome do botão editar (ex.: `fa-paper-plane`). */
|
|
6878
|
+
editActionIconClass?: string;
|
|
6341
6879
|
novoAriaLabel?: string;
|
|
6342
6880
|
toastTitleLista: string;
|
|
6343
6881
|
/** Avisos na consulta (ex. validação de filtros) — omissão: {@link toastTitleLista}. */
|
|
@@ -6370,6 +6908,105 @@ interface ConsultaPageRuntime {
|
|
|
6370
6908
|
};
|
|
6371
6909
|
}
|
|
6372
6910
|
|
|
6911
|
+
/** Separador interno entre scope e chave lógica. */
|
|
6912
|
+
declare const STRUCTRA_PAGE_CACHE_SCOPE_SEP = "\u001F";
|
|
6913
|
+
interface StructraPageCacheGetOrLoadOptions {
|
|
6914
|
+
ttlMs?: number;
|
|
6915
|
+
force?: boolean;
|
|
6916
|
+
scope?: string;
|
|
6917
|
+
}
|
|
6918
|
+
interface StructraPageCacheSetOptions {
|
|
6919
|
+
ttlMs?: number;
|
|
6920
|
+
scope?: string;
|
|
6921
|
+
}
|
|
6922
|
+
/**
|
|
6923
|
+
* Cache genérico em memória para páginas/rotas administrativas.
|
|
6924
|
+
* Suporta TTL opcional, isolamento por scope (rota/tenant) e deduplicação de loaders simultâneos.
|
|
6925
|
+
* Perdido ao recarregar a aplicação (F5).
|
|
6926
|
+
*/
|
|
6927
|
+
declare class StructraPageCacheService {
|
|
6928
|
+
private readonly entries;
|
|
6929
|
+
private readonly inFlight;
|
|
6930
|
+
getOrLoad<T>(key: string, loader: () => Observable<T>, options?: StructraPageCacheGetOrLoadOptions): Observable<T>;
|
|
6931
|
+
get<T>(key: string, scope?: string): T | null;
|
|
6932
|
+
set<T>(key: string, value: T, options?: StructraPageCacheSetOptions): void;
|
|
6933
|
+
invalidate(key: string, scope?: string): void;
|
|
6934
|
+
invalidateScope(scope: string): void;
|
|
6935
|
+
clear(): void;
|
|
6936
|
+
/** Presença bruta (ignora TTL) — útil para testes. */
|
|
6937
|
+
hasEntry(key: string, scope?: string): boolean;
|
|
6938
|
+
private buildScopedKey;
|
|
6939
|
+
private readEntry;
|
|
6940
|
+
private writeEntry;
|
|
6941
|
+
private deleteEntry;
|
|
6942
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraPageCacheService, never>;
|
|
6943
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<StructraPageCacheService>;
|
|
6944
|
+
}
|
|
6945
|
+
/**
|
|
6946
|
+
* Monta scope estável para cache por rota administrativa (ex.: `/home/personalizacao`).
|
|
6947
|
+
* Quando informado, inclui tenant/empresa para isolar sessões multi-tenant.
|
|
6948
|
+
*/
|
|
6949
|
+
declare function buildStructraPageCacheRouteScope(routePath: string, tenantId?: string | null): string;
|
|
6950
|
+
/** Chave lógica para cache de `initCadastro` por entidade e id de rota. */
|
|
6951
|
+
declare function buildStructraPageCacheCadastroInitKey(entityKey: string, routeId: string): string;
|
|
6952
|
+
/** Scope efectivo combinando scope extra (tenant) com a rota do cadastro. */
|
|
6953
|
+
declare function resolveStructraPageCacheCadastroScope(routePath: string, pageCacheScope?: string, tenantId?: string | null): string;
|
|
6954
|
+
|
|
6955
|
+
/** Prefixo lógico para chaves de redirect administrativo em {@link StructraPageCacheService}. */
|
|
6956
|
+
declare const STRUCTRA_ADMIN_ROUTE_REDIRECT_CACHE_PREFIX = "admin-route-redirect";
|
|
6957
|
+
/** Chave típica para redirect de personalização/login (`login-id`). */
|
|
6958
|
+
declare const STRUCTRA_ADMIN_ROUTE_REDIRECT_LOGIN_ID_CACHE_KEY: string;
|
|
6959
|
+
declare function buildStructraAdminRouteRedirectCacheKey(logicalKey: string): string;
|
|
6960
|
+
declare function normalizeStructraAdminPath(url: string): string;
|
|
6961
|
+
/**
|
|
6962
|
+
* Evita navegação redundante quando o utilizador clica de novo no mesmo item de menu
|
|
6963
|
+
* (ex.: já está em `/home/personalizacao/:id` e o menu aponta para `/home/personalizacao`).
|
|
6964
|
+
*/
|
|
6965
|
+
declare function shouldSkipStructraAdminMenuNavigation(menuUrl: string, currentPath: string): boolean;
|
|
6966
|
+
interface ResolveStructraAdminMenuUrlOptions {
|
|
6967
|
+
/** Quando o menu aponta para rota “vazia” que redireciona (ex.: personalização), usa destino já resolvido. */
|
|
6968
|
+
resolveCachedChildPath?: () => string | null | undefined;
|
|
6969
|
+
}
|
|
6970
|
+
/** Resolve URL final do menu, preferindo destino filho em cache quando disponível. */
|
|
6971
|
+
declare function resolveStructraAdminMenuUrl(menuUrl: string, options?: ResolveStructraAdminMenuUrlOptions): string;
|
|
6972
|
+
interface StructraAdminRouteRedirectCacheOptions {
|
|
6973
|
+
cacheKey: string;
|
|
6974
|
+
routePath: string;
|
|
6975
|
+
tenantId?: string | null;
|
|
6976
|
+
}
|
|
6977
|
+
/** Lê destino de redirect já resolvido (sem ir à rede). */
|
|
6978
|
+
declare function readStructraAdminRouteRedirectTarget(pageCache: StructraPageCacheService, options: StructraAdminRouteRedirectCacheOptions): string | null;
|
|
6979
|
+
/** Monta URL filha padrão (`/base/:id`) a partir do id em cache. */
|
|
6980
|
+
declare function buildStructraAdminRouteRedirectChildUrl(routePath: string, targetId: string | null | undefined): string | null;
|
|
6981
|
+
interface StructraAdminRouteRedirectLoadOptions extends StructraAdminRouteRedirectCacheOptions {
|
|
6982
|
+
loader: () => Observable<string | null>;
|
|
6983
|
+
force?: boolean;
|
|
6984
|
+
}
|
|
6985
|
+
/** Carrega destino de redirect com cache em memória (dedupe + TTL opcional). */
|
|
6986
|
+
declare function loadStructraAdminRouteRedirectTarget(pageCache: StructraPageCacheService, options: StructraAdminRouteRedirectLoadOptions): Observable<string | null>;
|
|
6987
|
+
|
|
6988
|
+
/**
|
|
6989
|
+
* Base para páginas vazias que resolvem um id via backend e redirecionam para rota filha.
|
|
6990
|
+
* O resultado fica em {@link StructraPageCacheService} — reabrir o menu não refaz a RPC.
|
|
6991
|
+
*/
|
|
6992
|
+
declare abstract class StructraAdminRouteRedirectPageBase implements OnInit {
|
|
6993
|
+
protected readonly router: Router;
|
|
6994
|
+
protected readonly pageCache: StructraPageCacheService;
|
|
6995
|
+
/** Rota base do redirect (ex.: `/home/personalizacao`). */
|
|
6996
|
+
protected abstract readonly redirectRoutePath: string;
|
|
6997
|
+
/** Chave lógica em cache (ex.: {@link STRUCTRA_ADMIN_ROUTE_REDIRECT_LOGIN_ID_CACHE_KEY}). */
|
|
6998
|
+
protected abstract readonly redirectCacheKey: string;
|
|
6999
|
+
protected abstract readonly fallbackNavigateUrl: string;
|
|
7000
|
+
/** Loader que devolve o id de destino (ou null quando inválido). */
|
|
7001
|
+
protected abstract loadRedirectTarget(): Observable<string | null>;
|
|
7002
|
+
/** Scope multi-tenant opcional para isolar cache por empresa. */
|
|
7003
|
+
protected resolveRedirectTenantId(): string | null | undefined;
|
|
7004
|
+
ngOnInit(): void;
|
|
7005
|
+
protected runRedirect(): Promise<void>;
|
|
7006
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraAdminRouteRedirectPageBase, never>;
|
|
7007
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StructraAdminRouteRedirectPageBase, never, never, {}, {}, never, never, true, never>;
|
|
7008
|
+
}
|
|
7009
|
+
|
|
6373
7010
|
/** Separador entre namespace da consulta e corpo JSON estável da chave composta. */
|
|
6374
7011
|
declare const CONSULTA_LISTA_CACHE_NS_SEP = "\u001F";
|
|
6375
7012
|
interface ConsultaPageCacheEntry<TValue> {
|
|
@@ -6472,6 +7109,115 @@ declare class ConsultaListaMemoriaCacheService {
|
|
|
6472
7109
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ConsultaListaMemoriaCacheService>;
|
|
6473
7110
|
}
|
|
6474
7111
|
|
|
7112
|
+
/** Payload persistido em `str_layout_json` (versão + estado de colunas AG Grid). */
|
|
7113
|
+
interface GridLayoutConsultaPersistedPayload {
|
|
7114
|
+
version: number;
|
|
7115
|
+
columnState: unknown[];
|
|
7116
|
+
savedAt: string;
|
|
7117
|
+
}
|
|
7118
|
+
interface GridLayoutConsultaApiDto {
|
|
7119
|
+
tela: string;
|
|
7120
|
+
grid: string;
|
|
7121
|
+
layoutJson: string;
|
|
7122
|
+
}
|
|
7123
|
+
type StructraGridLayoutTenantResolverFn = () => string | null | undefined;
|
|
7124
|
+
type StructraGridLayoutApiBaseResolverFn = () => string;
|
|
7125
|
+
type StructraGridLayoutAuthHeadersResolverFn = () => Record<string, string>;
|
|
7126
|
+
/**
|
|
7127
|
+
* Tenant atual para chave de cache em memória (`tenant:tela:grid`).
|
|
7128
|
+
* A app deve fornecer (ex.: `SessionContextService.tenantAtualId`).
|
|
7129
|
+
*/
|
|
7130
|
+
declare const STRUCTRA_GRID_LAYOUT_TENANT_RESOLVER: InjectionToken<StructraGridLayoutTenantResolverFn>;
|
|
7131
|
+
/** Base URL da API REST (sem barra final). Omisso: `window.location.origin`. */
|
|
7132
|
+
declare const STRUCTRA_GRID_LAYOUT_API_BASE_RESOLVER: InjectionToken<StructraGridLayoutApiBaseResolverFn>;
|
|
7133
|
+
/** Headers de autenticação para GET/PUT do layout (ex.: JWT). */
|
|
7134
|
+
declare const STRUCTRA_GRID_LAYOUT_AUTH_HEADERS_RESOLVER: InjectionToken<StructraGridLayoutAuthHeadersResolverFn>;
|
|
7135
|
+
|
|
7136
|
+
declare class GridLayoutConsultaService {
|
|
7137
|
+
private readonly http;
|
|
7138
|
+
private readonly tenantResolver;
|
|
7139
|
+
private readonly apiBaseResolver;
|
|
7140
|
+
private readonly authHeadersResolver;
|
|
7141
|
+
private readonly memoryCache;
|
|
7142
|
+
/** Incrementado a cada gravação local — impede GET async de apagar layout mais recente. */
|
|
7143
|
+
private readonly layoutRevisionByKey;
|
|
7144
|
+
/** Chaves já consultadas no backend nesta sessão (evita GET repetido ao navegar). */
|
|
7145
|
+
private readonly backendFetchedKeys;
|
|
7146
|
+
private readonly inFlightByKey;
|
|
7147
|
+
private saveTimer;
|
|
7148
|
+
private tenantRetryTimer;
|
|
7149
|
+
/** Re-tenta GET quando o tenant ainda não hidratou (F5) e sessionStorage não tinha layout. */
|
|
7150
|
+
private tenantRetryGetLayoutTimer;
|
|
7151
|
+
private pendingGetLayout;
|
|
7152
|
+
private pendingSave;
|
|
7153
|
+
/** Detecta transição `_` → tenant real para migrar cache e retomar PUT pendente. */
|
|
7154
|
+
private resolvedTenantForCache;
|
|
7155
|
+
/** Ouve quando layout entra em cache (GET backend / migração tenant) — grelha reaplica no F5. */
|
|
7156
|
+
private readonly layoutCacheUpdatedListeners;
|
|
7157
|
+
/** Subscrição para reaplicar layout quando o GET async concluir (ex.: F5 com tenant a hidratar). */
|
|
7158
|
+
onLayoutCacheUpdated(listener: (cacheKey: string) => void): () => void;
|
|
7159
|
+
/**
|
|
7160
|
+
* Leitura síncrona: memória → sessionStorage. Não dispara HTTP.
|
|
7161
|
+
* Usar antes do primeiro paint da grelha para aplicar colunas sem flicker.
|
|
7162
|
+
*/
|
|
7163
|
+
getCachedLayout(tela: string, grid?: string): GridLayoutConsultaPersistedPayload | null;
|
|
7164
|
+
/** Indica se o backend já foi consultado nesta sessão para `tenant:tela:grid`. */
|
|
7165
|
+
hasFetchedFromBackend(tela: string, grid?: string): boolean;
|
|
7166
|
+
/** Compara chave interna `tenant:tela:grid` com tela/grid visíveis ao consumidor (ex.: listener do data-grid). */
|
|
7167
|
+
cacheKeyMatchesTelaGrid(cacheKey: string, tela: string, grid?: string): boolean;
|
|
7168
|
+
getLayout(tela: string, grid?: string): Promise<GridLayoutConsultaPersistedPayload | null>;
|
|
7169
|
+
saveLayout(tela: string, grid: string, layoutJson: string): void;
|
|
7170
|
+
saveLayoutFromColumnState(tela: string, grid: string, columnState: unknown[]): void;
|
|
7171
|
+
private fetchLayoutFromBackend;
|
|
7172
|
+
/**
|
|
7173
|
+
* Após GET async: preserva layout local/gravação pendente se o utilizador alterou colunas entretanto.
|
|
7174
|
+
* `undefined` = aplicar resposta remota normalmente.
|
|
7175
|
+
*/
|
|
7176
|
+
private resolveLocalLayoutAfterFetch;
|
|
7177
|
+
private isRemoteLayoutNewer;
|
|
7178
|
+
private bumpLayoutRevision;
|
|
7179
|
+
private getLayoutRevision;
|
|
7180
|
+
private markBackendFetched;
|
|
7181
|
+
private storeLayout;
|
|
7182
|
+
private notifyLayoutCacheUpdated;
|
|
7183
|
+
private scheduleDebouncedSave;
|
|
7184
|
+
private flushSave;
|
|
7185
|
+
/** Re-tenta GET quando sessionStorage estava vazio e o tenant ainda não hidratou (F5). */
|
|
7186
|
+
private scheduleTenantRetryGetLayout;
|
|
7187
|
+
/** Re-tenta PUT quando o tenant ainda não hidratou (F5) ou após falha transitória. */
|
|
7188
|
+
private scheduleTenantRetryFlush;
|
|
7189
|
+
private normalizeKeys;
|
|
7190
|
+
private buildCacheKey;
|
|
7191
|
+
private resolveTenantIdForCache;
|
|
7192
|
+
private tenantReadyForBackend;
|
|
7193
|
+
private noteTenantResolution;
|
|
7194
|
+
/**
|
|
7195
|
+
* Migra entradas gravadas com tenant `_` para o tenant real quando a sessão hidrata (F5).
|
|
7196
|
+
* Preserva layout em memória/sessionStorage e retoma PUT pendente.
|
|
7197
|
+
*/
|
|
7198
|
+
private migratePlaceholderCacheToRealTenant;
|
|
7199
|
+
private persistLastTenantId;
|
|
7200
|
+
private readLastTenantId;
|
|
7201
|
+
private sessionStorageKey;
|
|
7202
|
+
/**
|
|
7203
|
+
* Lê layout em sessionStorage pela chave exacta ou, em F5, por sufixo `:tela:grid`
|
|
7204
|
+
* quando o tenant ainda não estava disponível na 1.ª leitura.
|
|
7205
|
+
*/
|
|
7206
|
+
private readSessionStorageForLayout;
|
|
7207
|
+
private scanSessionStorageByTelaGrid;
|
|
7208
|
+
/**
|
|
7209
|
+
* `undefined` = ausente em sessionStorage; `null` = layout vazio persistido.
|
|
7210
|
+
*/
|
|
7211
|
+
private readSessionStorage;
|
|
7212
|
+
private writeSessionStorage;
|
|
7213
|
+
private removeSessionStorage;
|
|
7214
|
+
private apiUrl;
|
|
7215
|
+
private authHeaders;
|
|
7216
|
+
private parseLayoutJson;
|
|
7217
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridLayoutConsultaService, never>;
|
|
7218
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<GridLayoutConsultaService>;
|
|
7219
|
+
}
|
|
7220
|
+
|
|
6475
7221
|
/**
|
|
6476
7222
|
* Vista unificada da metadata da página (consulta + títulos/layout + snapshot opcional do cadastro declarativo).
|
|
6477
7223
|
* Piloto: Pessoa — outras entidades podem omitir {@link ConsultaPageMetadataUnified.cadastro}.
|
|
@@ -6639,8 +7385,11 @@ interface ConsultaCrudAdapterConfig<TItem, TRow extends Record<string, unknown>,
|
|
|
6639
7385
|
itemPassaConsulta?: ConsultaPageRuntime['itemPassaConsulta'];
|
|
6640
7386
|
editar?: (row: Record<string, unknown>) => void;
|
|
6641
7387
|
duplicar?: (row: Record<string, unknown>) => void;
|
|
7388
|
+
imprimir?: (row: Record<string, unknown>) => void;
|
|
6642
7389
|
remover?: (row: Record<string, unknown>) => Promise<void> | void;
|
|
6643
7390
|
showDuplicateAction?: boolean;
|
|
7391
|
+
showPrintAction?: boolean;
|
|
7392
|
+
printActionLabel?: string;
|
|
6644
7393
|
confirmDuplicarLinha?: ConsultaPageRuntime['confirmDuplicarLinha'];
|
|
6645
7394
|
duplicateSuccessMessage?: string;
|
|
6646
7395
|
/**
|
|
@@ -6654,6 +7403,8 @@ interface ConsultaCrudAdapterConfig<TItem, TRow extends Record<string, unknown>,
|
|
|
6654
7403
|
showNovoButton?: boolean;
|
|
6655
7404
|
/** Omissão: `'Alterar'` (ou `grid_config.edit_action_label` na factory padrão). */
|
|
6656
7405
|
editActionLabel?: string;
|
|
7406
|
+
/** Omissão: `fa-pen-to-square`. */
|
|
7407
|
+
editActionIconClass?: string;
|
|
6657
7408
|
/** Omissão: `'Novo registro'`. */
|
|
6658
7409
|
novoAriaLabel?: string;
|
|
6659
7410
|
/** Omissão: `'Consulta'`. */
|
|
@@ -6901,7 +7652,7 @@ interface ConsultaCatalogBundleConfig<TMetadataReply, TFiltroPreset> {
|
|
|
6901
7652
|
chaveConsulta: string;
|
|
6902
7653
|
ensureAuth: () => Promise<void>;
|
|
6903
7654
|
getMetadata: () => Promise<TMetadataReply>;
|
|
6904
|
-
/** `SELECT COUNT(*)` em cabeçalhos `
|
|
7655
|
+
/** `SELECT COUNT(*)` em cabeçalhos `tbl_filtro` (sem `tbl_filtro_item`). */
|
|
6905
7656
|
contarFiltrosCabecalhos: () => Promise<number>;
|
|
6906
7657
|
listarFiltros: () => Promise<{
|
|
6907
7658
|
filtros?: FiltroSalvo[];
|
|
@@ -7069,6 +7820,8 @@ declare class ConsultaCadastroFiltroDialogComponent {
|
|
|
7069
7820
|
readonly itemDraftSearchSelectOpcoesMescladas: _angular_core.Signal<UiSelectOption<string>[]>;
|
|
7070
7821
|
/** `null`: usar {@link itemDraftSearchSelectOpcoesMescladas}; senão lista já filtrada pela pesquisa. */
|
|
7071
7822
|
readonly itemDraftSearchSelectOpcoesPainel: _angular_core.WritableSignal<UiSelectOption<string>[] | null>;
|
|
7823
|
+
/** Descarta respostas obsoletas quando abertura e pesquisa correm em paralelo no draft. */
|
|
7824
|
+
private draftSearchSelectPageReqGen;
|
|
7072
7825
|
readonly itemDraftSearchSelectOpcoesParaTemplate: _angular_core.Signal<UiSelectOption<string>[]>;
|
|
7073
7826
|
private itemDraftColunaLimpezaProgramatica;
|
|
7074
7827
|
readonly dialogCadastroValidationItems: _angular_core.WritableSignal<ValidationSummaryItem[]>;
|
|
@@ -7116,6 +7869,7 @@ declare class ConsultaCadastroFiltroDialogComponent {
|
|
|
7116
7869
|
isFilterSelectColuna(col: string | null | undefined): boolean;
|
|
7117
7870
|
isSearchSelectColuna(col: string | null | undefined): boolean;
|
|
7118
7871
|
onDraftSearchSelectPageRequested(ev: DropdownSearchPageRequested): Promise<void>;
|
|
7872
|
+
private opcoesRemotasCampoJaCarregadas;
|
|
7119
7873
|
onDraftMultiselectPageRequested(ev: SelectPageRequested): Promise<void>;
|
|
7120
7874
|
isNumeroColuna(col: string | null | undefined): boolean;
|
|
7121
7875
|
isDatetimeColuna(col: string | null | undefined): boolean;
|
|
@@ -7160,7 +7914,7 @@ declare class ConsultaBasePageComponent implements OnInit, AfterViewInit, OnDest
|
|
|
7160
7914
|
private readonly confirm;
|
|
7161
7915
|
private readonly toast;
|
|
7162
7916
|
private readonly topbarSlot;
|
|
7163
|
-
|
|
7917
|
+
protected readonly topbarTitleSkeleton: _angular_core.WritableSignal<boolean>;
|
|
7164
7918
|
private readonly listaMemoriaCache;
|
|
7165
7919
|
private readonly router;
|
|
7166
7920
|
private readonly routeReuse;
|
|
@@ -7188,6 +7942,10 @@ declare class ConsultaBasePageComponent implements OnInit, AfterViewInit, OnDest
|
|
|
7188
7942
|
* Opções mostradas no painel do `search_select` por id do critério do preset (filtradas localmente pela query).
|
|
7189
7943
|
*/
|
|
7190
7944
|
private readonly consultaSearchSelectOpcoesPainelPorItemId;
|
|
7945
|
+
/** Descarta respostas obsoletas quando abertura (query vazia) e pesquisa (query com texto) correm em paralelo. */
|
|
7946
|
+
private readonly searchSelectPageReqGenByItemId;
|
|
7947
|
+
private readonly multiselectRemotoLoadGenByCampo;
|
|
7948
|
+
private readonly multiselectRemotoLoadPromiseByCampo;
|
|
7191
7949
|
readonly consultaSearchSelectPageSize = 96;
|
|
7192
7950
|
/** Runtime com filtros/grelha alinhados ao metadata quando disponível. */
|
|
7193
7951
|
readonly runtimeConsulta: _angular_core.Signal<ConsultaPageRuntime>;
|
|
@@ -7288,12 +8046,17 @@ declare class ConsultaBasePageComponent implements OnInit, AfterViewInit, OnDest
|
|
|
7288
8046
|
isFilterSelectColuna(col: string | null | undefined): boolean;
|
|
7289
8047
|
isSearchSelectColuna(col: string | null | undefined): boolean;
|
|
7290
8048
|
private limparOpcoesPainelSearchSelectConsulta;
|
|
7291
|
-
/**
|
|
8049
|
+
/**
|
|
8050
|
+
* Opções do painel do `search_select`.
|
|
8051
|
+
* Sem overlay explícito, não devolve a lista remota completa (pré-carga) — evita flash de todas as marcas
|
|
8052
|
+
* antes da primeira `pageRequested`; com valor seleccionado mantém merge para o rótulo no input.
|
|
8053
|
+
*/
|
|
7292
8054
|
consultaSearchSelectOpcoesPainel(it: ConsultaFiltroItem<string>): UiSelectOption<string>[];
|
|
7293
8055
|
onConsultaSearchSelectPageRequested(it: ConsultaFiltroItem<string>, ev: DropdownSearchPageRequested): Promise<void>;
|
|
7294
8056
|
onConsultaMultiselectPageRequested(coluna: string, ev: SelectPageRequested): Promise<void>;
|
|
7295
8057
|
/** Repasse ao diálogo de filtro: mesmo carregamento remoto que no painel principal. */
|
|
7296
8058
|
readonly recarregarOpcoesMultiselectCampo: (campo: string) => Promise<void>;
|
|
8059
|
+
private opcoesRemotasCampoJaCarregadas;
|
|
7297
8060
|
private aplicarOpcoesMultiselectRemotasCampo;
|
|
7298
8061
|
private precarregarOpcoesMultiselectRemotasInicial;
|
|
7299
8062
|
/** Critérios numéricos no metadata (`decimal`, `integer`, …) — input decimal + operadores de comparação. */
|
|
@@ -7371,6 +8134,11 @@ declare class ConsultaBasePageComponent implements OnInit, AfterViewInit, OnDest
|
|
|
7371
8134
|
* para respostas muito rápidas não «saltarem» o estado de carregamento.
|
|
7372
8135
|
*/
|
|
7373
8136
|
private yieldForSkeletonPaint;
|
|
8137
|
+
/**
|
|
8138
|
+
* Activa loading explícito e esvazia a grelha para o skeleton (Structra: overlay só com lista vazia).
|
|
8139
|
+
* Painel de filtros e chrome permanecem visíveis.
|
|
8140
|
+
*/
|
|
8141
|
+
private iniciarLoadingGrelhaComSkeleton;
|
|
7374
8142
|
/** Respeita {@link CONSULTA_LISTA_SKELETON_MIN_MS} após mostrar skeleton dos critérios de filtro. */
|
|
7375
8143
|
private yieldUntilMinFiltroSkeletonMs;
|
|
7376
8144
|
/** Pesquisa válida: skeleton na grelha + nova leitura do servidor e só então aplica o preset consultado. */
|
|
@@ -7378,6 +8146,7 @@ declare class ConsultaBasePageComponent implements OnInit, AfterViewInit, OnDest
|
|
|
7378
8146
|
carregarTodos(): Promise<void>;
|
|
7379
8147
|
editar(row: Record<string, unknown>): void;
|
|
7380
8148
|
duplicar(row: Record<string, unknown>): Promise<void>;
|
|
8149
|
+
imprimir(row: Record<string, unknown>): void;
|
|
7381
8150
|
excluirUsuario(row: Record<string, unknown>): Promise<void>;
|
|
7382
8151
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConsultaBasePageComponent, never>;
|
|
7383
8152
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConsultaBasePageComponent, "app-consulta-base-page", never, { "runtime": { "alias": "runtime"; "required": true; "isSignal": true; }; "topbarEndExtraTemplate": { "alias": "topbarEndExtraTemplate"; "required": false; "isSignal": true; }; "tooltipBotaoPesquisar": { "alias": "tooltipBotaoPesquisar"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -7447,8 +8216,11 @@ interface CreateConsultaPadraoRuntimeOptions<TItem, TRow extends Record<string,
|
|
|
7447
8216
|
mapGridRow?: (item: TItem) => TRow;
|
|
7448
8217
|
mapCard?: CardListMapFn<TRow>;
|
|
7449
8218
|
editar?: ConsultaCrudAdapterConfig<TItem, TRow, TPreset>['editar'];
|
|
8219
|
+
imprimir?: ConsultaCrudAdapterConfig<TItem, TRow, TPreset>['imprimir'];
|
|
7450
8220
|
remover?: ConsultaCrudAdapterConfig<TItem, TRow, TPreset>['remover'];
|
|
7451
8221
|
removerActualizaAtivoEmVezDeRetirar?: boolean;
|
|
8222
|
+
showPrintAction?: boolean;
|
|
8223
|
+
printActionLabel?: string;
|
|
7452
8224
|
novoRouterLink?: string | unknown[];
|
|
7453
8225
|
toastTitleLista?: string;
|
|
7454
8226
|
confirmRemoverLinha?: ConsultaPageRuntime['confirmRemoverLinha'];
|
|
@@ -7649,6 +8421,12 @@ interface CadastroValidationUi {
|
|
|
7649
8421
|
*/
|
|
7650
8422
|
readonly beforeSummaryItemActivate?: ((item: ValidationSummaryItem) => void) | null;
|
|
7651
8423
|
}
|
|
8424
|
+
/** Acção opcional à esquerda de Salvar/Novo na topbar ou toolbar interna do cadastro. */
|
|
8425
|
+
interface CadastroHeaderSecondaryAction {
|
|
8426
|
+
label: string;
|
|
8427
|
+
icon?: string;
|
|
8428
|
+
disabled?: boolean;
|
|
8429
|
+
}
|
|
7652
8430
|
type CadastroModo = 'novo' | 'editar';
|
|
7653
8431
|
interface CadastroPageRuntime<TResponse = unknown> {
|
|
7654
8432
|
modo: Signal<CadastroModo>;
|
|
@@ -8022,6 +8800,8 @@ interface BuildCadastroPageRuntimeOptions {
|
|
|
8022
8800
|
* Omisso: `id` vem de `ActivatedRoute`. Em dialog de referência, passar o id explícito (`novo` ou guid).
|
|
8023
8801
|
*/
|
|
8024
8802
|
entityIdFromContext?: Signal<string | null | undefined>;
|
|
8803
|
+
/** Invalida cache de `initCadastro` após gravar/excluir (Structra page cache). */
|
|
8804
|
+
invalidateCadastroInitPageCache?: (routeId: string) => void;
|
|
8025
8805
|
}
|
|
8026
8806
|
/**
|
|
8027
8807
|
* Constrói o runtime de uma página de cadastro (novo/editar): carregamento, salvar, cancelar, excluir opcional,
|
|
@@ -8919,6 +9699,17 @@ interface CadastroMetadataPageStateConfig<TInit, TDto, TSalvar> {
|
|
|
8919
9699
|
* em vez do próprio `init`.
|
|
8920
9700
|
*/
|
|
8921
9701
|
sourceKey?: string;
|
|
9702
|
+
/**
|
|
9703
|
+
* Scope opcional para {@link StructraPageCacheService} (ex.: tenant/empresa).
|
|
9704
|
+
* Omisso: scope derivado da rota do cadastro.
|
|
9705
|
+
*/
|
|
9706
|
+
pageCacheScope?: string;
|
|
9707
|
+
/** Desliga cache de `initCadastro` entre navegações pelo menu (por defeito activo). */
|
|
9708
|
+
cadastroInitPageCacheDisabled?: boolean;
|
|
9709
|
+
/** TTL do cache de init (ms). Omisso: sem expiração até invalidação ou F5. */
|
|
9710
|
+
cadastroInitCacheTtlMs?: number;
|
|
9711
|
+
/** Identificador lógico da entidade na chave de cache de init. Omisso: rota ou `sourceKey`. */
|
|
9712
|
+
cadastroInitCacheEntityKey?: string;
|
|
8922
9713
|
/** Referências inline (dropdown + rascunho + resultado); a base orquestra ciclo de vida. */
|
|
8923
9714
|
referenciasInline?: readonly CadastroInlineReferencePart[];
|
|
8924
9715
|
/**
|
|
@@ -9229,6 +10020,10 @@ declare abstract class CadastroMetadataPageStateBase<TInit, TDto, TSalvar> {
|
|
|
9229
10020
|
protected resolveLeafActivatedRoute(): ActivatedRoute;
|
|
9230
10021
|
/** Path do cadastro anfitrião para rascunhos inline; modal sobrescreve com {@link CADASTRO_REFERENCIA_DIALOG_CONTEXT}. */
|
|
9231
10022
|
protected resolveHostPathCadastroForInlineDraft(): string;
|
|
10023
|
+
protected resolveCadastroInitPageCacheEntityKey(): string;
|
|
10024
|
+
protected resolveCadastroInitPageCacheScope(): string;
|
|
10025
|
+
protected invalidateCadastroInitPageCache(routeId: string): void;
|
|
10026
|
+
protected loadCadastroInitForRouteId(id: string): Observable<TInit>;
|
|
9232
10027
|
protected static isCadastroLeafSegment(leafPath: string | undefined): boolean;
|
|
9233
10028
|
/**
|
|
9234
10029
|
* Regresso de RotaReferência com instância ainda em memória (`RouteReuseStrategy` + `data.reuse`):
|
|
@@ -9341,6 +10136,9 @@ declare class CadastroMetadataPageComponent {
|
|
|
9341
10136
|
readonly embeddedInPageShell: _angular_core.InputSignal<boolean>;
|
|
9342
10137
|
readonly salvarSubmit: _angular_core.OutputEmitterRef<void>;
|
|
9343
10138
|
readonly toolbarButtonClick: _angular_core.OutputEmitterRef<CadastroToolbarButtonDto>;
|
|
10139
|
+
readonly headerSecondaryAction: _angular_core.InputSignal<CadastroHeaderSecondaryAction | null>;
|
|
10140
|
+
readonly headerSecondaryActionClick: _angular_core.OutputEmitterRef<void>;
|
|
10141
|
+
protected readonly headerSecondaryActionVisible: _angular_core.Signal<boolean>;
|
|
9344
10142
|
readonly tituloSection: _angular_core.InputSignal<string | null>;
|
|
9345
10143
|
readonly subtituloSection: _angular_core.InputSignal<string | null>;
|
|
9346
10144
|
/** Metadata efectiva: input da shell ou bundle vindo do {@link CadastroMetadataView}. */
|
|
@@ -9368,7 +10166,7 @@ declare class CadastroMetadataPageComponent {
|
|
|
9368
10166
|
sectionTitulo(c: CadastroMetadataPageCadastro): string;
|
|
9369
10167
|
sectionSubtitulo(c: CadastroMetadataPageCadastro): string;
|
|
9370
10168
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CadastroMetadataPageComponent, never>;
|
|
9371
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadastroMetadataPageComponent, "app-cadastro-metadata-page", never, { "entityName": { "alias": "entityName"; "required": true; "isSignal": true; }; "entityLabel": { "alias": "entityLabel"; "required": true; "isSignal": true; }; "cadastro": { "alias": "cadastro"; "required": false; "isSignal": true; }; "initError": { "alias": "initError"; "required": false; "isSignal": true; }; "initLoading": { "alias": "initLoading"; "required": false; "isSignal": true; }; "validationUi": { "alias": "validationUi"; "required": false; "isSignal": true; }; "searchSelectBindings": { "alias": "searchSelectBindings"; "required": false; "isSignal": true; }; "listSelectBindings": { "alias": "listSelectBindings"; "required": false; "isSignal": true; }; "multiselectBindings": { "alias": "multiselectBindings"; "required": false; "isSignal": true; }; "metadataCamposReply": { "alias": "metadataCamposReply"; "required": false; "isSignal": true; }; "redirectReturnUrl": { "alias": "redirectReturnUrl"; "required": false; "isSignal": true; }; "painelMaxWidthHint": { "alias": "painelMaxWidthHint"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "corpoCentralizado": { "alias": "corpoCentralizado"; "required": false; "isSignal": true; }; "cabecalhoPaginaVisivel": { "alias": "cabecalhoPaginaVisivel"; "required": false; "isSignal": true; }; "toolbarInterno": { "alias": "toolbarInterno"; "required": false; "isSignal": true; }; "embeddedInReferenciaDialog": { "alias": "embeddedInReferenciaDialog"; "required": false; "isSignal": true; }; "suppressInternalPageTabs": { "alias": "suppressInternalPageTabs"; "required": false; "isSignal": true; }; "externalShellTabKey": { "alias": "externalShellTabKey"; "required": false; "isSignal": true; }; "embeddedInPageShell": { "alias": "embeddedInPageShell"; "required": false; "isSignal": true; }; "tituloSection": { "alias": "tituloSection"; "required": false; "isSignal": true; }; "subtituloSection": { "alias": "subtituloSection"; "required": false; "isSignal": true; }; }, { "salvarSubmit": "salvarSubmit"; "toolbarButtonClick": "toolbarButtonClick"; }, never, never, true, never>;
|
|
10169
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadastroMetadataPageComponent, "app-cadastro-metadata-page", never, { "entityName": { "alias": "entityName"; "required": true; "isSignal": true; }; "entityLabel": { "alias": "entityLabel"; "required": true; "isSignal": true; }; "cadastro": { "alias": "cadastro"; "required": false; "isSignal": true; }; "initError": { "alias": "initError"; "required": false; "isSignal": true; }; "initLoading": { "alias": "initLoading"; "required": false; "isSignal": true; }; "validationUi": { "alias": "validationUi"; "required": false; "isSignal": true; }; "searchSelectBindings": { "alias": "searchSelectBindings"; "required": false; "isSignal": true; }; "listSelectBindings": { "alias": "listSelectBindings"; "required": false; "isSignal": true; }; "multiselectBindings": { "alias": "multiselectBindings"; "required": false; "isSignal": true; }; "metadataCamposReply": { "alias": "metadataCamposReply"; "required": false; "isSignal": true; }; "redirectReturnUrl": { "alias": "redirectReturnUrl"; "required": false; "isSignal": true; }; "painelMaxWidthHint": { "alias": "painelMaxWidthHint"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "corpoCentralizado": { "alias": "corpoCentralizado"; "required": false; "isSignal": true; }; "cabecalhoPaginaVisivel": { "alias": "cabecalhoPaginaVisivel"; "required": false; "isSignal": true; }; "toolbarInterno": { "alias": "toolbarInterno"; "required": false; "isSignal": true; }; "embeddedInReferenciaDialog": { "alias": "embeddedInReferenciaDialog"; "required": false; "isSignal": true; }; "suppressInternalPageTabs": { "alias": "suppressInternalPageTabs"; "required": false; "isSignal": true; }; "externalShellTabKey": { "alias": "externalShellTabKey"; "required": false; "isSignal": true; }; "embeddedInPageShell": { "alias": "embeddedInPageShell"; "required": false; "isSignal": true; }; "headerSecondaryAction": { "alias": "headerSecondaryAction"; "required": false; "isSignal": true; }; "tituloSection": { "alias": "tituloSection"; "required": false; "isSignal": true; }; "subtituloSection": { "alias": "subtituloSection"; "required": false; "isSignal": true; }; }, { "salvarSubmit": "salvarSubmit"; "toolbarButtonClick": "toolbarButtonClick"; "headerSecondaryActionClick": "headerSecondaryActionClick"; }, never, never, true, never>;
|
|
9372
10170
|
}
|
|
9373
10171
|
|
|
9374
10172
|
interface CadastroMetadataPageShellCallbacks {
|
|
@@ -9395,6 +10193,8 @@ interface CadastroMetadataShellRuntime {
|
|
|
9395
10193
|
readonly painelMaxWidthHint: string | null;
|
|
9396
10194
|
readonly onSalvarSubmit: () => void;
|
|
9397
10195
|
readonly onToolbarButtonClick?: (btn: CadastroToolbarButtonDto) => void;
|
|
10196
|
+
readonly headerSecondaryAction?: CadastroHeaderSecondaryAction | null;
|
|
10197
|
+
readonly onHeaderSecondaryActionClick?: () => void;
|
|
9398
10198
|
readonly metadataCamposReply?: CadastroMetadataCamposReplyLike | null;
|
|
9399
10199
|
/**
|
|
9400
10200
|
* Quando `vm.entityName` vem vazio, replica o padrão `[entityName]="metadataPageVm().entityName || '…'"`.
|
|
@@ -9420,6 +10220,8 @@ interface BuildCadastroMetadataShellRuntimeOptions {
|
|
|
9420
10220
|
readonly painelMaxWidthHint: string | null;
|
|
9421
10221
|
readonly onSalvarSubmit: () => void;
|
|
9422
10222
|
readonly onToolbarButtonClick?: (btn: CadastroToolbarButtonDto) => void;
|
|
10223
|
+
readonly headerSecondaryAction?: CadastroHeaderSecondaryAction | null;
|
|
10224
|
+
readonly onHeaderSecondaryActionClick?: () => void;
|
|
9423
10225
|
readonly metadataCamposReply?: CadastroMetadataCamposReplyLike | null;
|
|
9424
10226
|
readonly entityNameFallback?: string;
|
|
9425
10227
|
readonly entityLabelFallback?: string;
|
|
@@ -9446,6 +10248,12 @@ declare abstract class CadastroMetadataPageBase<TInit, TDto, TSalvar> extends Ca
|
|
|
9446
10248
|
protected readonly autoPageShellCallbacks: CadastroMetadataPageShellCallbacks;
|
|
9447
10249
|
constructor();
|
|
9448
10250
|
protected cadastroMetadataShellExtras(): Partial<BuildCadastroMetadataShellRuntimeOptions>;
|
|
10251
|
+
/**
|
|
10252
|
+
* Botão opcional à esquerda de Salvar/Novo na topbar. Omisso / `null` ⇒ nada é renderizado.
|
|
10253
|
+
*/
|
|
10254
|
+
protected cadastroHeaderSecondaryAction(): CadastroHeaderSecondaryAction | null;
|
|
10255
|
+
/** Clique no botão de {@link cadastroHeaderSecondaryAction}. */
|
|
10256
|
+
protected onCadastroHeaderSecondaryActionClick(): void;
|
|
9449
10257
|
/** `public` explícito: templates com `strictTemplates` / consumidores da lib veem o membro herdado. */
|
|
9450
10258
|
readonly cadastroRuntime: _angular_core.Signal<structra_ui.CadastroMetadataShellRuntime>;
|
|
9451
10259
|
protected resolveFormLayoutForShell(): CadastroFormPageLayout | null;
|
|
@@ -9956,7 +10764,11 @@ declare function cadastroCampoScriptEditorLanguage(campo: CadastroCampoMetadataD
|
|
|
9956
10764
|
* Em mobile a grelha colapsa para uma coluna — o campo já fica em largura total.
|
|
9957
10765
|
*/
|
|
9958
10766
|
declare function cadastroCampoBooleanOcupaLinhaInteira(campo: CadastroCampoMetadataDto, layoutMobile?: boolean): boolean;
|
|
9959
|
-
/** Largura
|
|
10767
|
+
/** Largura fixa declarada na metadata (px, rem, etc.) — não <c>100%</c> nem <c>max-content</c>. */
|
|
10768
|
+
declare function cadastroCampoMetadataLarguraFixaCss(campo: CadastroCampoMetadataDto): string | null;
|
|
10769
|
+
/**
|
|
10770
|
+
* Campo estreito na grelha multi-coluna: <c>max-content</c> ou largura fixa com <c>FullWidth = false</c>.
|
|
10771
|
+
*/
|
|
9960
10772
|
declare function cadastroCampoMetadataLarguraCompacta(campo: CadastroCampoMetadataDto): boolean;
|
|
9961
10773
|
/** Largura efectiva do wrapper do campo na grelha metadata (respeita `FullWidth` / `width` do servidor). */
|
|
9962
10774
|
declare function cadastroCampoWrapperWidthCss(campo: CadastroCampoMetadataDto, opts: {
|
|
@@ -10403,6 +11215,13 @@ declare class CadastroBasePageComponent implements AfterContentInit {
|
|
|
10403
11215
|
readonly validationUi: _angular_core.InputSignal<CadastroValidationUi | null>;
|
|
10404
11216
|
/** Resumo de validação fixo ao topo do ecrã ao revelar erros (Structra `pinned`). */
|
|
10405
11217
|
readonly validationSummaryPinned: _angular_core.InputSignal<boolean>;
|
|
11218
|
+
/**
|
|
11219
|
+
* Botão opcional à esquerda de Salvar/Novo (topbar da shell ou toolbar interna).
|
|
11220
|
+
* Omisso ou sem `label` ⇒ nada é renderizado.
|
|
11221
|
+
*/
|
|
11222
|
+
readonly headerSecondaryAction: _angular_core.InputSignal<CadastroHeaderSecondaryAction | null>;
|
|
11223
|
+
readonly headerSecondaryActionClick: _angular_core.OutputEmitterRef<void>;
|
|
11224
|
+
protected readonly headerSecondaryActionVisible: _angular_core.Signal<boolean>;
|
|
10406
11225
|
/**
|
|
10407
11226
|
* Prioridade: {@link CadastroValidationUi.validationSummaryPinned} quando definido (metadata com flags);
|
|
10408
11227
|
* senão {@link validationSummaryPinned}.
|
|
@@ -10425,6 +11244,9 @@ declare class CadastroBasePageComponent implements AfterContentInit {
|
|
|
10425
11244
|
protected readonly validationSummaryLive: _angular_core.WritableSignal<boolean>;
|
|
10426
11245
|
constructor();
|
|
10427
11246
|
ngAfterContentInit(): void;
|
|
11247
|
+
/** Instâncias em cache (`data.reuse`) continuam vivas — só sincronizar quando esta rota está activa na shell. */
|
|
11248
|
+
private isActiveShellTopbarRoute;
|
|
11249
|
+
private releaseShellTopbarSlot;
|
|
10428
11250
|
/** Alterna slot da shell entre botões invisíveis (init) e template da página (carregado). */
|
|
10429
11251
|
private syncShellTopbarEndSlot;
|
|
10430
11252
|
/**
|
|
@@ -10443,7 +11265,7 @@ declare class CadastroBasePageComponent implements AfterContentInit {
|
|
|
10443
11265
|
/** Remove painéis `pinned` do Structra órfãos no `body` (ids internos `structra-vsum-p-*`). */
|
|
10444
11266
|
private removeStructraPinnedValidationPanelsFromBody;
|
|
10445
11267
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CadastroBasePageComponent, never>;
|
|
10446
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadastroBasePageComponent, "app-cadastro-base-page", never, { "runtime": { "alias": "runtime"; "required": false; "isSignal": true; }; "cadastroInitError": { "alias": "cadastroInitError"; "required": false; "isSignal": true; }; "cadastroInitLoading": { "alias": "cadastroInitLoading"; "required": false; "isSignal": true; }; "skeletonPanelMaxWidth": { "alias": "skeletonPanelMaxWidth"; "required": false; "isSignal": true; }; "toolbarInterno": { "alias": "toolbarInterno"; "required": false; "isSignal": true; }; "embeddedInReferenciaDialog": { "alias": "embeddedInReferenciaDialog"; "required": false; "isSignal": true; }; "corpoCentralizado": { "alias": "corpoCentralizado"; "required": false; "isSignal": true; }; "cabecalhoPaginaVisivel": { "alias": "cabecalhoPaginaVisivel"; "required": false; "isSignal": true; }; "validationUi": { "alias": "validationUi"; "required": false; "isSignal": true; }; "validationSummaryPinned": { "alias": "validationSummaryPinned"; "required": false; "isSignal": true; }; "validationSummaryTitle": { "alias": "validationSummaryTitle"; "required": false; "isSignal": true; }; "shellTopbarReserveDuplicar": { "alias": "shellTopbarReserveDuplicar"; "required": false; "isSignal": true; }; }, {}, ["projectedFormDir", "shellTopbarEndProjectedTpl"], ["*"], true, never>;
|
|
11268
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadastroBasePageComponent, "app-cadastro-base-page", never, { "runtime": { "alias": "runtime"; "required": false; "isSignal": true; }; "cadastroInitError": { "alias": "cadastroInitError"; "required": false; "isSignal": true; }; "cadastroInitLoading": { "alias": "cadastroInitLoading"; "required": false; "isSignal": true; }; "skeletonPanelMaxWidth": { "alias": "skeletonPanelMaxWidth"; "required": false; "isSignal": true; }; "toolbarInterno": { "alias": "toolbarInterno"; "required": false; "isSignal": true; }; "embeddedInReferenciaDialog": { "alias": "embeddedInReferenciaDialog"; "required": false; "isSignal": true; }; "corpoCentralizado": { "alias": "corpoCentralizado"; "required": false; "isSignal": true; }; "cabecalhoPaginaVisivel": { "alias": "cabecalhoPaginaVisivel"; "required": false; "isSignal": true; }; "validationUi": { "alias": "validationUi"; "required": false; "isSignal": true; }; "validationSummaryPinned": { "alias": "validationSummaryPinned"; "required": false; "isSignal": true; }; "headerSecondaryAction": { "alias": "headerSecondaryAction"; "required": false; "isSignal": true; }; "validationSummaryTitle": { "alias": "validationSummaryTitle"; "required": false; "isSignal": true; }; "shellTopbarReserveDuplicar": { "alias": "shellTopbarReserveDuplicar"; "required": false; "isSignal": true; }; }, { "headerSecondaryActionClick": "headerSecondaryActionClick"; }, ["projectedFormDir", "shellTopbarEndProjectedTpl"], ["*"], true, never>;
|
|
10447
11269
|
}
|
|
10448
11270
|
|
|
10449
11271
|
/**
|
|
@@ -10534,6 +11356,8 @@ declare class CadastroFieldRendererComponent {
|
|
|
10534
11356
|
larguraWrapperUi(c: CadastroCampoMetadataDto): string;
|
|
10535
11357
|
protected scriptEditorMinHeightUi(c: CadastroCampoMetadataDto): string;
|
|
10536
11358
|
protected scriptEditorLanguageUi(c: CadastroCampoMetadataDto): ScriptEditorLanguage;
|
|
11359
|
+
/** Botão «+» (cadastro inline) só em campos editáveis — metadata `readOnly` ou controlo desactivado. */
|
|
11360
|
+
mostrarRedirectSuffixUi(c: CadastroCampoMetadataDto): boolean;
|
|
10537
11361
|
requiredMarkUi(c: CadastroCampoMetadataDto): boolean;
|
|
10538
11362
|
campoShowErrorMessageUi(c: CadastroCampoMetadataDto): boolean;
|
|
10539
11363
|
/** Só `monetary === true` usa prefixo `R$`; omisso/false ⇒ decimal simples (ex. m²). */
|
|
@@ -10812,6 +11636,11 @@ declare class FormCollectionComponent {
|
|
|
10812
11636
|
gridTemplateColumnsParaItemEditorViewport(sec: CadastroMetadataSecao): string | null;
|
|
10813
11637
|
itemEditorGridColumnSpanParaCampo(sec: CadastroMetadataSecao, campo: CadastroCampoMetadataDto, index: number): string | null;
|
|
10814
11638
|
private computeCollectionEmbuteNoFormGroupPai;
|
|
11639
|
+
/**
|
|
11640
|
+
* Repõe o rascunho do editor a partir da linha seleccionada (botão «Alterar»).
|
|
11641
|
+
* `patchValue` marca `dirty`; limpa estado de validação até o utilizador editar ou «Adicionar»/«Alterar».
|
|
11642
|
+
*/
|
|
11643
|
+
private hydrateItemEditorFromSelectedRow;
|
|
10815
11644
|
/** Remove `dirty`/`touched` em todos os níveis (ex.: após `patchValue` no rascunho «Adicionar»). */
|
|
10816
11645
|
private repristineItemEditorDraft;
|
|
10817
11646
|
private resetItemEditorDefaults;
|
|
@@ -11001,6 +11830,17 @@ declare class CadastroMetadataShellPageComponent {
|
|
|
11001
11830
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadastroMetadataShellPageComponent, "app-cadastro-metadata-shell-page", never, { "runtime": { "alias": "runtime"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
11002
11831
|
}
|
|
11003
11832
|
|
|
11833
|
+
/** Skeleton de arranque do cadastro — mesma aparência de {@link CadastroBasePageComponent}. */
|
|
11834
|
+
declare class CadastroFormLoadingSkeletonComponent {
|
|
11835
|
+
readonly corpoCentralizado: _angular_core.InputSignal<boolean>;
|
|
11836
|
+
readonly panelMaxWidth: _angular_core.InputSignal<string | null>;
|
|
11837
|
+
readonly fieldCount: _angular_core.InputSignal<number>;
|
|
11838
|
+
protected readonly skeletonPanelMaxWidthCss: _angular_core.Signal<string | undefined>;
|
|
11839
|
+
protected readonly fieldIndexes: _angular_core.Signal<number[]>;
|
|
11840
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CadastroFormLoadingSkeletonComponent, never>;
|
|
11841
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CadastroFormLoadingSkeletonComponent, "app-cadastro-form-loading-skeleton", never, { "corpoCentralizado": { "alias": "corpoCentralizado"; "required": false; "isSignal": true; }; "panelMaxWidth": { "alias": "panelMaxWidth"; "required": false; "isSignal": true; }; "fieldCount": { "alias": "fieldCount"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
11842
|
+
}
|
|
11843
|
+
|
|
11004
11844
|
declare class StructraPageComponentRegistry {
|
|
11005
11845
|
private readonly components;
|
|
11006
11846
|
register(tag: string, component: Type<unknown>): void;
|
|
@@ -11216,5 +12056,239 @@ declare function mergeDocumentoFmtNaLinhaConsulta(item: Record<string, unknown>)
|
|
|
11216
12056
|
declare function mapListarItensParaMultiselectOpcoes(itens: readonly unknown[], optionsValueField: string, optionsLabelField: string, optionsOnlyActive: boolean): UiSelectOption<string>[];
|
|
11217
12057
|
declare function carregarOpcoesMultiselectViaSpec(injector: Injector, spec: ConsultaMultiselectOpcoesRemotasSpec): Promise<readonly UiSelectOption<string>[]>;
|
|
11218
12058
|
|
|
11219
|
-
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, 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, 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, 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, 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, OverlayPlacement, PDF_IFRAME_VIEWER_HASH, PEDIDOS_NAV_ID_EXCLUIDO, PEDIDOS_NAV_LINHA_GRAVADA, PEDIDOS_NAV_VOLTAR_SEM_RECARREGAR, 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, PasswordFieldComponent, PhoneFieldComponent, PopoverBodyTemplateDirective, PopoverComponent, PopoverFooterTemplateDirective, PopoverTriggerDirective, ReferenceOptionPreset, STRUCTRA_CADASTRO_INLINE_RESULT_KEY, STRUCTRA_CADASTRO_INLINE_RETURN_KEY, STRUCTRA_CONSULTA_FORCE_REFRESH_KEY, STRUCTRA_DEDICATED_BACK_TO_TOP_SELECTOR, STRUCTRA_INLINE_FORM_DRAFT_PENDING_PREFIX, STRUCTRA_MIDIA_PUBLIC_BASE_RESOLVER, STRUCTRA_MIDIA_UPLOAD_TRANSPORT, STRUCTRA_PAGE_STATE_ACTIVE_TAB_PREFIX, STRUCTRA_SHELL_SCROLL_RESTORATION_OPTIONS, STRUCTRA_SHELL_TOPBAR_TITLE_SKELETON, STRUCTRA_SIMULATED_LOADING_DELAY_MS, STRUCTRA_THEME_IDS, STRUCTRA_UI, ScriptEditorFieldComponent, SelectFieldComponent, SkeletonBlockComponent, SkeletonCardComponent, SkeletonFieldShellComponent, SkeletonListComponent, SkeletonTableComponent, SkeletonTextComponent, StatCardComponent, StatusBadgeComponent, StructraBackToTopButtonComponent, StructraPageComponentOutletComponent, StructraPageComponentRegistry, StructraPageStateCacheService, StructraProgressOverlayComponent, ScriptEditorFieldComponent as StructraScriptEditorComponent, StructraShellScrollRestorationService, StructraShellTopbarSlotService, AppSidebarBottomActionsTemplateDirective as StructraSidebarBottomActionsDirective, AppSidebarFooterTemplateDirective as StructraSidebarFooterDirective, AppSidebarHeaderTemplateDirective as StructraSidebarHeaderDirective, AppSidebarUserInfoTemplateDirective as StructraSidebarUserInfoDirective, 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, 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, buildStructraSidebarTemplateContext, buildValidationMetaFromCadastroCampos, cadastroBuildImageUploadMetadata, cadastroCampoBlocoEditorOcupaLinhaInteira, cadastroCampoBooleanOcupaLinhaInteira, cadastroCampoMetadataDtoFromPartial, cadastroCampoMetadataEhBoolean, cadastroCampoMetadataLarguraCompacta, 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, 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, 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, isLegacyFormContainerStateStorageKey, isLegacyNomeDocumentoReferencePreset, isReadonlyCollectionField, isValidPhoneBr, libDialogPanelClasses, listaUrlFromRotaCadastro, listarItensCadastroReferencia, listarTodosPaginado, loadPresetsJson, mapCadastroFormRawToPayload, mapConsultaGridColunasParaDataGrid, mapConsultaMetadataParaFiltroUi, mapErroTransporteParaMensagem as mapErroListaDefault, mapErroTransporteParaMensagem, mapEstadosToOptions, mapFiltroSalvoParaConsultaPreset, mapListarItensParaMultiselectOpcoes, 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, normalizeStructraTheme, novoPathCommandsFromRota, onlyDigits, operadorConsultaComValorUnicoComparacao, operadorConsultaDatetimeUsaDatePicker, operadoresConsultaCampo, operadoresPorTipo, ordenarFiltroItens, ordenarStructraActions, parseDecimalBr, parseIntegerString, parseUiFieldDateValue, patchFormFromEntidadeRecord, permissoesReferenciaMetadata, phoneBrDynamicMaskCompleteValidator, phoneBrMaskCompleteValidator, phoneBrMaskFromDigits, pickCadastroPageActiveTabExplicit, pickTabKeyLinkedToSummaryItems, precisaValor, precisaValorFinal, provideStructraCadastroReferenciaDialogRoot, provideStructraShellScrollRestoration, qtdCriteriosPresetParaSkeleton, readCadastroDuplicateSourceId, readCadastroPageActiveTabFromNavigationState, readCadastroPageActiveTabFromUrl, readFormContainerCollapsedFromStorage, readStructraCadastroInlineReturn, referenciaAbreEmDialog, referenciaOpenModeRaw, referenciaUsesLegacyRegistryMapper, registerCadastroReferenceEntries, registerCadastroReferenceListSources, registerCadastroReferenciaDialogBridges, registerStructraBuiltinPageComponents, replaceProdutoCadastroFormControls, resetStructraCadastroReferenciaDialogRootForTests, resolveCadastroCollectionMinItems, resolveCadastroListaUrlParaNavegacao, resolveCadastroPageActiveTabKey, resolveCadastroReferenciaMapOptions, resolveConsultaEditActionLabelFromGridConfig, resolveConsultaListaQuerySliceFromGridConfig, resolveConsultaNavKeysFromPageLayout, resolveConsultaNovoRouterLinkFromLayout, resolveConsultaRouteEditBaseFromLayout, resolveConsultaToastTitleLista, resolveControlAtPath, resolveFormContainerCollapsed, resolveReferenciaOpcaoLabel, 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, 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 };
|
|
11220
|
-
|
|
12059
|
+
/** Itens por página na pré-visualização de relatórios (pesquisa paginada na tela). */
|
|
12060
|
+
declare const STRUCTRA_REPORT_DEFAULT_PAGE_SIZE = 15;
|
|
12061
|
+
interface ReportTreeNode {
|
|
12062
|
+
id: string;
|
|
12063
|
+
label: string;
|
|
12064
|
+
icon?: string | null;
|
|
12065
|
+
leaf?: boolean;
|
|
12066
|
+
expanded?: boolean;
|
|
12067
|
+
children?: ReportTreeNode[];
|
|
12068
|
+
}
|
|
12069
|
+
interface ReportFilterMeta {
|
|
12070
|
+
id: string;
|
|
12071
|
+
label: string;
|
|
12072
|
+
tipo: 'text' | 'bool' | 'date' | 'number' | string;
|
|
12073
|
+
operador?: string;
|
|
12074
|
+
global?: boolean;
|
|
12075
|
+
obrigatorio?: boolean;
|
|
12076
|
+
}
|
|
12077
|
+
interface ReportColumnMeta {
|
|
12078
|
+
id: string;
|
|
12079
|
+
label: string;
|
|
12080
|
+
formato?: string;
|
|
12081
|
+
width?: string | null;
|
|
12082
|
+
minWidth?: string | null;
|
|
12083
|
+
maxWidth?: string | null;
|
|
12084
|
+
}
|
|
12085
|
+
type ReportColumnWidthFields = Pick<ReportColumnMeta, 'width' | 'minWidth' | 'maxWidth'>;
|
|
12086
|
+
declare function reportColumnWidthStyle(col: ReportColumnWidthFields | null | undefined): Record<string, string | null>;
|
|
12087
|
+
declare function reportTableHasFixedWidths(colunas: readonly ReportColumnWidthFields[]): boolean;
|
|
12088
|
+
declare function isReportNowrapColumn(col: Pick<ReportColumnMeta, 'formato' | 'id'> | null | undefined): boolean;
|
|
12089
|
+
/** Coluna booleana declarada pelo metadata do relatório (`formato: boolean`). */
|
|
12090
|
+
declare function isReportBooleanColumn(col: Pick<ReportColumnMeta, 'formato'> | null | undefined): boolean;
|
|
12091
|
+
/** Converte valor de célula booleana (tipado ou legado Sim/Não) quando a coluna é boolean. */
|
|
12092
|
+
declare function coerceReportBoolean(value: unknown): boolean;
|
|
12093
|
+
interface ReportMetadata {
|
|
12094
|
+
key: string;
|
|
12095
|
+
titulo: string;
|
|
12096
|
+
filtros: ReportFilterMeta[];
|
|
12097
|
+
colunas: ReportColumnMeta[];
|
|
12098
|
+
}
|
|
12099
|
+
/** Critério avulso no mesmo formato da consulta base (gRPC `FiltroItemEntrada`). */
|
|
12100
|
+
interface ReportFiltroItemEntrada {
|
|
12101
|
+
campo: string;
|
|
12102
|
+
operador: string;
|
|
12103
|
+
valor: string;
|
|
12104
|
+
valorAte?: string;
|
|
12105
|
+
juncao?: string;
|
|
12106
|
+
}
|
|
12107
|
+
interface ReportPesquisarRequest {
|
|
12108
|
+
/** Formato legado (metadata fixa por campo do relatório). */
|
|
12109
|
+
filtros?: Record<string, string | null | undefined>;
|
|
12110
|
+
/** Preset + valores montados pela consulta base (`montarFiltrosServidorPreset`). */
|
|
12111
|
+
filtrosAvulsos?: ReportFiltroItemEntrada[];
|
|
12112
|
+
/** Página (1-based). Omisso ⇒ 1. */
|
|
12113
|
+
page?: number;
|
|
12114
|
+
/** Tamanho da página na tela. Omisso ⇒ default do servidor. */
|
|
12115
|
+
pageSize?: number;
|
|
12116
|
+
/** Exportação PDF: busca todos os registros filtrados. */
|
|
12117
|
+
exportAll?: boolean;
|
|
12118
|
+
}
|
|
12119
|
+
interface ReportHeader {
|
|
12120
|
+
titulo: string;
|
|
12121
|
+
subtitulo?: string | null;
|
|
12122
|
+
geradoEm?: string;
|
|
12123
|
+
}
|
|
12124
|
+
interface ReportTotal {
|
|
12125
|
+
label: string;
|
|
12126
|
+
valor: string;
|
|
12127
|
+
}
|
|
12128
|
+
interface ReportSectionColumn {
|
|
12129
|
+
id: string;
|
|
12130
|
+
label: string;
|
|
12131
|
+
formato?: string;
|
|
12132
|
+
width?: string | null;
|
|
12133
|
+
minWidth?: string | null;
|
|
12134
|
+
maxWidth?: string | null;
|
|
12135
|
+
}
|
|
12136
|
+
interface ReportSectionTable {
|
|
12137
|
+
title: string;
|
|
12138
|
+
colunas: ReportSectionColumn[];
|
|
12139
|
+
linhas: Array<Record<string, string | null | undefined>>;
|
|
12140
|
+
emptyMessage?: string | null;
|
|
12141
|
+
}
|
|
12142
|
+
interface ReportSection {
|
|
12143
|
+
title: string;
|
|
12144
|
+
subtitle?: string | null;
|
|
12145
|
+
tabelas: ReportSectionTable[];
|
|
12146
|
+
totais?: ReportTotal[];
|
|
12147
|
+
}
|
|
12148
|
+
interface ReportResult {
|
|
12149
|
+
header: ReportHeader;
|
|
12150
|
+
filtrosAplicados: Record<string, string | null | undefined>;
|
|
12151
|
+
colunas: ReportColumnMeta[];
|
|
12152
|
+
linhas: Array<Record<string, unknown>>;
|
|
12153
|
+
sections?: ReportSection[];
|
|
12154
|
+
totais?: ReportTotal[];
|
|
12155
|
+
footer?: string | null;
|
|
12156
|
+
totalRegistros: number;
|
|
12157
|
+
page?: number;
|
|
12158
|
+
pageSize?: number;
|
|
12159
|
+
totalPages?: number;
|
|
12160
|
+
}
|
|
12161
|
+
interface StructraReportTransport {
|
|
12162
|
+
obterArvore(): Promise<ReportTreeNode[]>;
|
|
12163
|
+
obterMetadata(key: string): Promise<ReportMetadata>;
|
|
12164
|
+
pesquisar(key: string, request: ReportPesquisarRequest): Promise<ReportResult>;
|
|
12165
|
+
}
|
|
12166
|
+
declare const STRUCTRA_REPORT_TRANSPORT: InjectionToken<StructraReportTransport>;
|
|
12167
|
+
declare function findFirstReportLeafId(nodes: ReportTreeNode[]): string | null;
|
|
12168
|
+
declare function findReportTreeLabel(id: string, nodes: ReportTreeNode[]): string | null;
|
|
12169
|
+
declare function mapReportTreeToTreeViewNodes(nodes: ReportTreeNode[]): TreeViewNode[];
|
|
12170
|
+
|
|
12171
|
+
declare class StructraReportTreeComponent {
|
|
12172
|
+
nodes: TreeViewNode[];
|
|
12173
|
+
selectedId: string | null;
|
|
12174
|
+
title: string;
|
|
12175
|
+
titleIconClass: string;
|
|
12176
|
+
expansionStateKey: unknown;
|
|
12177
|
+
selectedIdChange: EventEmitter<string | null>;
|
|
12178
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraReportTreeComponent, never>;
|
|
12179
|
+
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; }; "expansionStateKey": { "alias": "expansionStateKey"; "required": false; }; }, { "selectedIdChange": "selectedIdChange"; }, never, never, true, never>;
|
|
12180
|
+
}
|
|
12181
|
+
|
|
12182
|
+
declare class StructraReportFilterPanelComponent {
|
|
12183
|
+
readonly ngModelStandalone: {
|
|
12184
|
+
standalone: boolean;
|
|
12185
|
+
};
|
|
12186
|
+
titulo: string;
|
|
12187
|
+
subtitulo: string;
|
|
12188
|
+
filtros: ReportFilterMeta[];
|
|
12189
|
+
valores: Record<string, string>;
|
|
12190
|
+
collapsed: boolean;
|
|
12191
|
+
pesquisando: boolean;
|
|
12192
|
+
collapsedChange: EventEmitter<boolean>;
|
|
12193
|
+
valorChange: EventEmitter<{
|
|
12194
|
+
id: string;
|
|
12195
|
+
value: string;
|
|
12196
|
+
}>;
|
|
12197
|
+
pesquisar: EventEmitter<void>;
|
|
12198
|
+
readonly boolOptions: UiSelectOption<string>[];
|
|
12199
|
+
compareStr: (a: unknown, b: unknown) => boolean;
|
|
12200
|
+
patchValor(id: string, value: string | null | undefined): void;
|
|
12201
|
+
valorAtual(id: string): string;
|
|
12202
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraReportFilterPanelComponent, never>;
|
|
12203
|
+
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>;
|
|
12204
|
+
}
|
|
12205
|
+
|
|
12206
|
+
declare class StructraReportTableComponent {
|
|
12207
|
+
colunas: ReportColumnMeta[];
|
|
12208
|
+
linhas: Array<Record<string, unknown>>;
|
|
12209
|
+
totalRegistros: number;
|
|
12210
|
+
readonly isBooleanColumn: typeof isReportBooleanColumn;
|
|
12211
|
+
readonly isNowrapColumn: typeof isReportNowrapColumn;
|
|
12212
|
+
readonly columnWidthStyle: typeof reportColumnWidthStyle;
|
|
12213
|
+
hasFixedColumnWidths(): boolean;
|
|
12214
|
+
cellValue(linha: Record<string, unknown>, coluna: ReportColumnMeta): string;
|
|
12215
|
+
booleanChecked(linha: Record<string, unknown>, coluna: ReportColumnMeta): boolean;
|
|
12216
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraReportTableComponent, never>;
|
|
12217
|
+
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>;
|
|
12218
|
+
}
|
|
12219
|
+
|
|
12220
|
+
declare class StructraReportPaginatorComponent {
|
|
12221
|
+
page: number;
|
|
12222
|
+
totalPages: number;
|
|
12223
|
+
totalRegistros: number;
|
|
12224
|
+
pageSize: number;
|
|
12225
|
+
disabled: boolean;
|
|
12226
|
+
pageChange: EventEmitter<number>;
|
|
12227
|
+
get podeAnterior(): boolean;
|
|
12228
|
+
get podeProxima(): boolean;
|
|
12229
|
+
irAnterior(): void;
|
|
12230
|
+
irProxima(): void;
|
|
12231
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraReportPaginatorComponent, never>;
|
|
12232
|
+
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>;
|
|
12233
|
+
}
|
|
12234
|
+
|
|
12235
|
+
declare class StructraReportEmptyStateComponent {
|
|
12236
|
+
message: string;
|
|
12237
|
+
description: string;
|
|
12238
|
+
iconClass: string;
|
|
12239
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraReportEmptyStateComponent, never>;
|
|
12240
|
+
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; }; }, {}, never, never, true, never>;
|
|
12241
|
+
}
|
|
12242
|
+
|
|
12243
|
+
declare class StructraReportLoadingSkeletonComponent {
|
|
12244
|
+
rows: number;
|
|
12245
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraReportLoadingSkeletonComponent, never>;
|
|
12246
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraReportLoadingSkeletonComponent, "structra-report-loading-skeleton", never, { "rows": { "alias": "rows"; "required": false; }; }, {}, never, never, true, never>;
|
|
12247
|
+
}
|
|
12248
|
+
|
|
12249
|
+
declare class StructraReportViewerComponent {
|
|
12250
|
+
metadata: ReportMetadata | null;
|
|
12251
|
+
result: ReportResult | null;
|
|
12252
|
+
filtrosValores: Record<string, string>;
|
|
12253
|
+
loadingMetadata: boolean;
|
|
12254
|
+
loadingResult: boolean;
|
|
12255
|
+
collapsed: boolean;
|
|
12256
|
+
filtrosValoresChange: EventEmitter<Record<string, string>>;
|
|
12257
|
+
collapsedChange: EventEmitter<boolean>;
|
|
12258
|
+
pesquisar: EventEmitter<void>;
|
|
12259
|
+
onValorChange(event: {
|
|
12260
|
+
id: string;
|
|
12261
|
+
value: string;
|
|
12262
|
+
}): void;
|
|
12263
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraReportViewerComponent, never>;
|
|
12264
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraReportViewerComponent, "structra-report-viewer", never, { "metadata": { "alias": "metadata"; "required": false; }; "result": { "alias": "result"; "required": false; }; "filtrosValores": { "alias": "filtrosValores"; "required": true; }; "loadingMetadata": { "alias": "loadingMetadata"; "required": false; }; "loadingResult": { "alias": "loadingResult"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; }, { "filtrosValoresChange": "filtrosValoresChange"; "collapsedChange": "collapsedChange"; "pesquisar": "pesquisar"; }, never, never, true, never>;
|
|
12265
|
+
}
|
|
12266
|
+
|
|
12267
|
+
declare class StructraReportPageComponent {
|
|
12268
|
+
private readonly transport;
|
|
12269
|
+
autoSelectFirst: boolean;
|
|
12270
|
+
autoPesquisarOnSelect: boolean;
|
|
12271
|
+
reportSelected: EventEmitter<string | null>;
|
|
12272
|
+
reportLoaded: EventEmitter<ReportResult | null>;
|
|
12273
|
+
readonly treeNodes: _angular_core.WritableSignal<ReportTreeNode[]>;
|
|
12274
|
+
readonly selectedReportId: _angular_core.WritableSignal<string | null>;
|
|
12275
|
+
readonly metadata: _angular_core.WritableSignal<ReportMetadata | null>;
|
|
12276
|
+
readonly result: _angular_core.WritableSignal<ReportResult | null>;
|
|
12277
|
+
readonly filtrosValores: _angular_core.WritableSignal<Record<string, string>>;
|
|
12278
|
+
readonly loadingTree: _angular_core.WritableSignal<boolean>;
|
|
12279
|
+
readonly loadingMetadata: _angular_core.WritableSignal<boolean>;
|
|
12280
|
+
readonly loadingResult: _angular_core.WritableSignal<boolean>;
|
|
12281
|
+
readonly painelFiltroRecolhido: _angular_core.WritableSignal<boolean>;
|
|
12282
|
+
readonly treeViewNodes: _angular_core.Signal<structra_ui.TreeViewNode[]>;
|
|
12283
|
+
constructor();
|
|
12284
|
+
carregarArvore(): Promise<void>;
|
|
12285
|
+
onReportSelected(id: string | null): void;
|
|
12286
|
+
private carregarMetadata;
|
|
12287
|
+
pesquisar(): Promise<void>;
|
|
12288
|
+
patchFiltrosValores(next: Record<string, string>): void;
|
|
12289
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StructraReportPageComponent, never>;
|
|
12290
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StructraReportPageComponent, "structra-report-page", never, { "autoSelectFirst": { "alias": "autoSelectFirst"; "required": false; }; "autoPesquisarOnSelect": { "alias": "autoPesquisarOnSelect"; "required": false; }; }, { "reportSelected": "reportSelected"; "reportLoaded": "reportLoaded"; }, never, never, true, never>;
|
|
12291
|
+
}
|
|
12292
|
+
|
|
12293
|
+
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, 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_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, StructraReportPageComponent, StructraReportPaginatorComponent, StructraReportTableComponent, StructraReportTreeComponent, 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, isReportNowrapColumn, isValidPhoneBr, libDialogPanelClasses, listaUrlFromRotaCadastro, listarItensCadastroReferencia, listarTodosPaginado, loadPresetsJson, loadStructraAdminRouteRedirectTarget, mapCadastroFormRawToPayload, mapConsultaGridColunasParaDataGrid, mapConsultaMetadataParaFiltroUi, mapErroTransporteParaMensagem as mapErroListaDefault, mapErroTransporteParaMensagem, mapEstadosToOptions, mapFiltroSalvoParaConsultaPreset, mapListarItensParaMultiselectOpcoes, mapReportTreeToTreeViewNodes, 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, reportTableHasFixedWidths, resetStructraCadastroReferenciaDialogRootForTests, resolveCadastroCollectionMinItems, resolveCadastroListaUrlParaNavegacao, resolveCadastroPageActiveTabKey, resolveCadastroReferenciaMapOptions, resolveConsultaEditActionLabelFromGridConfig, resolveConsultaListaQuerySliceFromGridConfig, resolveConsultaNavKeysFromPageLayout, resolveConsultaNovoRouterLinkFromLayout, resolveConsultaRouteEditBaseFromLayout, resolveConsultaToastTitleLista, resolveControlAtPath, resolveFormContainerCollapsed, 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 };
|
|
12294
|
+
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, 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, 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 };
|