@praxisui/table 8.0.0-beta.7 → 8.0.0-beta.71
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 +191 -11
- package/docs/DSL-Extensions-Guide.md +23 -0
- package/docs/adr/2026-03-dynamic-filter-cross-lib-coupling.md +107 -0
- package/docs/adr/2026-03-filter-drawer-adapter-light-entrypoint.md +105 -0
- package/docs/adr/2026-03-table-editor-idfield-decision.md +85 -0
- package/docs/column-resize-reorder-implementation-plan.md +338 -0
- package/docs/column-resize-reorder-review-prompt.md +34 -0
- package/docs/dynamic-filter-architecture-overview.md +207 -0
- package/docs/dynamic-filter-backend-contract-cheatsheet.md +167 -0
- package/docs/dynamic-filter-editor-settings-guide.md +229 -0
- package/docs/dynamic-filter-host-integration-guide.md +266 -0
- package/docs/dynamic-filter-payload-contract.md +332 -0
- package/docs/dynamic-filter-range-filters-guide.md +296 -0
- package/docs/dynamic-filter-troubleshooting-guide.md +257 -0
- package/docs/dynamic-inline-filter-catalog.md +147 -0
- package/docs/e2e-column-drag-playwright.md +62 -0
- package/docs/expandable-rows-enterprise-big-leagues-plan.md +1080 -0
- package/docs/json-logic-operators-and-helpers.md +57 -0
- package/docs/local-data-mode-precedence.md +12 -0
- package/docs/local-data-pre-implementation-baseline.md +22 -0
- package/docs/local-data-preimplementation-go-no-go.md +39 -0
- package/docs/local-data-support-implementation-plan.md +524 -0
- package/docs/local-data-support-pr-package.md +66 -0
- package/docs/localization-persistence-merge.md +22 -0
- package/docs/performance-hardening-v2-implementation-plan.md +479 -0
- package/docs/playground-scenario-curation-plan.md +482 -0
- package/docs/playground-scenario-second-opinion-prompt.md +121 -0
- package/docs/playground-scenario-second-opinion-review.md +234 -0
- package/docs/release-notes-p1-hardening.md +76 -0
- package/docs/table-authoring-document-completeness-checklist.md +120 -0
- package/docs/table-editor-capability-review-prompt.md +349 -0
- package/docs/visual-rules-editor-transition.md +29 -0
- package/fesm2022/praxisui-table-filter-form-dialog-host.component-DbwGIMjF.mjs +232 -0
- package/fesm2022/praxisui-table-praxisui-table-Mb_stYdL.mjs +59798 -0
- package/fesm2022/praxisui-table-table-agentic-authoring-turn-flow-CmfIj9ao.mjs +2845 -0
- package/fesm2022/praxisui-table-table-ai.adapter-DDotLQD0.mjs +3559 -0
- package/fesm2022/praxisui-table.mjs +1 -51444
- package/filter-drawer-adapter/package.json +2 -1
- package/package.json +22 -15
- package/src/lib/praxis-table.json-api.md +1357 -0
- package/{index.d.ts → types/praxisui-table.d.ts} +545 -120
- package/fesm2022/praxisui-table-filter-form-dialog-host.component-Dm2f0muy.mjs +0 -165
- package/fesm2022/praxisui-table-table-agentic-authoring-turn-flow-tu7jtTwV.mjs +0 -280
- package/fesm2022/praxisui-table-table-ai.adapter-DxjDaQqy.mjs +0 -895
- /package/{filter-drawer-adapter/index.d.ts → types/praxisui-table-filter-drawer-adapter.d.ts} +0 -0
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import * as _praxisui_core from '@praxisui/core';
|
|
2
|
+
import { TableConfig, LoggerService, PraxisI18nService, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, PraxisExportScope, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, JsonLogicExpression, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
|
|
1
3
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnDestroy, EventEmitter, ElementRef, OnInit, OnChanges, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, Provider, AfterContentInit } from '@angular/core';
|
|
4
|
+
import { OnDestroy, EventEmitter, ElementRef, OnInit, OnChanges, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, ComponentRef, Provider, AfterContentInit, Injector } from '@angular/core';
|
|
3
5
|
import { ActivatedRoute } from '@angular/router';
|
|
4
6
|
import { MatTable, MatTableDataSource } from '@angular/material/table';
|
|
7
|
+
import * as _angular_material_paginator from '@angular/material/paginator';
|
|
5
8
|
import { MatPaginatorSelectConfig, MatPaginator, PageEvent } from '@angular/material/paginator';
|
|
6
9
|
import { MatSort, Sort } from '@angular/material/sort';
|
|
7
10
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
@@ -9,18 +12,16 @@ import { SelectionModel } from '@angular/cdk/collections';
|
|
|
9
12
|
import { CdkDragDrop, CdkDragEnd, CdkDrag, CdkDropList } from '@angular/cdk/drag-drop';
|
|
10
13
|
import { BehaviorSubject, Subscription, Observable } from 'rxjs';
|
|
11
14
|
import { SettingsPanelService, SettingsValueProvider } from '@praxisui/settings-panel';
|
|
12
|
-
import * as _praxisui_core from '@praxisui/core';
|
|
13
|
-
import { TableConfig, LoggerService, PraxisI18nService, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ConnectionStorage, ResourceDiscoveryService, LoadingOrchestrator, PraxisLoadingRenderer, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, ResourceActionCatalogItem, JsonLogicExpression, GlobalActionSpec, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisJsonLogicService, TableConfigService, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog } from '@praxisui/core';
|
|
14
15
|
import { FormGroup, FormControl, FormBuilder } from '@angular/forms';
|
|
15
16
|
import { MatDialog } from '@angular/material/dialog';
|
|
17
|
+
import { BaseDynamicFieldComponent } from '@praxisui/dynamic-fields';
|
|
16
18
|
import { CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';
|
|
19
|
+
import { MatSelect } from '@angular/material/select';
|
|
17
20
|
import { PraxisDialog } from '@praxisui/dialog';
|
|
18
|
-
import { PraxisAssistantTurnViewState, PraxisAssistantShellLayout, PraxisAssistantShellLabels, PraxisAssistantShellQuickReply, PraxisAssistantShellMessage } from '@praxisui/ai';
|
|
21
|
+
import { PraxisAssistantTurnViewState, PraxisAssistantShellLayout, PraxisAssistantShellLabels, PraxisAssistantSessionSnapshot, PraxisAssistantShellQuickReply, PraxisAssistantShellMessage } from '@praxisui/ai';
|
|
22
|
+
import { HttpClient } from '@angular/common/http';
|
|
19
23
|
import { MatTabChangeEvent } from '@angular/material/tabs';
|
|
20
|
-
import * as _praxisui_table_rule_builder from '@praxisui/table-rule-builder';
|
|
21
24
|
import { RuleEffectDefinition } from '@praxisui/table-rule-builder';
|
|
22
|
-
import { HttpClient } from '@angular/common/http';
|
|
23
|
-
import * as _angular_material_paginator_d_Zo1cMMo4 from '@angular/material/paginator.d-Zo1cMMo4';
|
|
24
25
|
import { MatCheckboxChange } from '@angular/material/checkbox';
|
|
25
26
|
|
|
26
27
|
interface ActionLike {
|
|
@@ -46,11 +47,15 @@ declare class PraxisTableToolbar implements OnDestroy {
|
|
|
46
47
|
showActionsGroup: boolean;
|
|
47
48
|
showEndActions: boolean;
|
|
48
49
|
showMobileActions: boolean;
|
|
50
|
+
exportBusy: boolean;
|
|
49
51
|
evaluationContext: Record<string, any> | null;
|
|
50
52
|
toolbarAction: EventEmitter<{
|
|
51
53
|
action: string;
|
|
52
54
|
actionConfig?: any;
|
|
53
55
|
}>;
|
|
56
|
+
exportAction: EventEmitter<{
|
|
57
|
+
format: string;
|
|
58
|
+
}>;
|
|
54
59
|
readonly getActionId: typeof getActionId;
|
|
55
60
|
private readonly jsonLogic;
|
|
56
61
|
private readonly validToolbarActionTypes;
|
|
@@ -65,6 +70,7 @@ declare class PraxisTableToolbar implements OnDestroy {
|
|
|
65
70
|
constructor(hostRef?: ElementRef<HTMLElement> | null, logger?: LoggerService | undefined, i18n?: PraxisI18nService | undefined);
|
|
66
71
|
getExportDataLabel(): string;
|
|
67
72
|
getMoreActionsLabel(): string;
|
|
73
|
+
emitExportAction(event: Event, format: string): void;
|
|
68
74
|
private tx;
|
|
69
75
|
ngOnDestroy(): void;
|
|
70
76
|
private getNestedPropertyValue;
|
|
@@ -112,7 +118,7 @@ declare class PraxisTableToolbar implements OnDestroy {
|
|
|
112
118
|
private sortActions;
|
|
113
119
|
getExportIcon(format: string): string;
|
|
114
120
|
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableToolbar, [null, { optional: true; }, { optional: true; }]>;
|
|
115
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableToolbar, "praxis-table-toolbar", never, { "config": { "alias": "config"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "showMain": { "alias": "showMain"; "required": false; }; "showActionsGroup": { "alias": "showActionsGroup"; "required": false; }; "showEndActions": { "alias": "showEndActions"; "required": false; }; "showMobileActions": { "alias": "showMobileActions"; "required": false; }; "evaluationContext": { "alias": "evaluationContext"; "required": false; }; }, { "toolbarAction": "toolbarAction"; }, never, ["[advancedFilter]", "[toolbar]", "[end-actions]"], true, never>;
|
|
121
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableToolbar, "praxis-table-toolbar", never, { "config": { "alias": "config"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "showMain": { "alias": "showMain"; "required": false; }; "showActionsGroup": { "alias": "showActionsGroup"; "required": false; }; "showEndActions": { "alias": "showEndActions"; "required": false; }; "showMobileActions": { "alias": "showMobileActions"; "required": false; }; "exportBusy": { "alias": "exportBusy"; "required": false; }; "evaluationContext": { "alias": "evaluationContext"; "required": false; }; }, { "toolbarAction": "toolbarAction"; "exportAction": "exportAction"; }, never, ["[advancedFilter]", "[toolbar]", "[end-actions]"], true, never>;
|
|
116
122
|
}
|
|
117
123
|
|
|
118
124
|
type ColumnDataType$1 = 'date' | 'number' | 'currency' | 'percentage' | 'string' | 'boolean' | 'custom';
|
|
@@ -213,6 +219,7 @@ declare class DataFormattingService {
|
|
|
213
219
|
*/
|
|
214
220
|
formatValue(value: any, columnType: ColumnDataType$1, formatString: string, options?: DataFormattingOptions): any;
|
|
215
221
|
private coerceValueToType;
|
|
222
|
+
private parseDateOnlyString;
|
|
216
223
|
private normalizeNumericDateInput;
|
|
217
224
|
private formatDate;
|
|
218
225
|
private formatNumber;
|
|
@@ -335,12 +342,15 @@ type I18n = {
|
|
|
335
342
|
searchPlaceholder: string;
|
|
336
343
|
advanced: string;
|
|
337
344
|
advancedTitle?: string;
|
|
345
|
+
advancedOpening?: string;
|
|
346
|
+
advancedUnavailable?: string;
|
|
338
347
|
clear: string;
|
|
339
348
|
apply: string;
|
|
340
349
|
add?: string;
|
|
341
350
|
filtersAdd?: string;
|
|
342
351
|
filtersSearch?: string;
|
|
343
352
|
addCount?: string;
|
|
353
|
+
addUnavailable?: string;
|
|
344
354
|
pendingCount?: string;
|
|
345
355
|
activeFiltersCount?: string;
|
|
346
356
|
selectAll?: string;
|
|
@@ -423,10 +433,13 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
423
433
|
showAddButton: boolean;
|
|
424
434
|
/** Controla a exibição do botão de limpar filtros */
|
|
425
435
|
showClearButton: boolean;
|
|
426
|
-
/** Controla a exibição do botão de pesquisar/aplicar filtros */
|
|
436
|
+
/** Controla a exibição do botão de pesquisar/aplicar filtros em fluxos manuais. */
|
|
427
437
|
showSearchButton: boolean;
|
|
428
438
|
/** Exibir confirmação ao excluir atalho (tag) */
|
|
429
439
|
confirmTagDelete: boolean;
|
|
440
|
+
private alwaysFieldComponentRefs;
|
|
441
|
+
private selectedFieldComponentRefs;
|
|
442
|
+
private toggleFieldComponentRefs;
|
|
430
443
|
/** Move toggles/booleans simples para a área de ações */
|
|
431
444
|
placeBooleansInActions: boolean;
|
|
432
445
|
/** Mostrar rótulos dos toggles na área de ações */
|
|
@@ -513,6 +526,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
513
526
|
private alwaysFormReset$;
|
|
514
527
|
private dto;
|
|
515
528
|
advancedOpen: boolean;
|
|
529
|
+
advancedOpening: boolean;
|
|
516
530
|
advancedValid: boolean;
|
|
517
531
|
activeFiltersCount: number;
|
|
518
532
|
saving: boolean;
|
|
@@ -539,7 +553,8 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
539
553
|
id: string;
|
|
540
554
|
label: string;
|
|
541
555
|
}>;
|
|
542
|
-
|
|
556
|
+
readonly addSearchFieldId = "__praxis_filter_add_search__";
|
|
557
|
+
readonly addSelectAllFieldId = "__praxis_filter_add_select_all__";
|
|
543
558
|
private applySchemaQueued;
|
|
544
559
|
private fallbackLogger?;
|
|
545
560
|
private fallbackLoggerEnvironment;
|
|
@@ -554,6 +569,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
554
569
|
private _dbgLastToggleComponentsAt;
|
|
555
570
|
overlayPositions: ConnectedPosition[];
|
|
556
571
|
private advancedDebouncedSub?;
|
|
572
|
+
private advancedOpenRequestId;
|
|
557
573
|
private lastActiveElement?;
|
|
558
574
|
private lastSubmitAt;
|
|
559
575
|
private resizeObs?;
|
|
@@ -592,6 +608,8 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
592
608
|
private resolveInputDto;
|
|
593
609
|
private resolveInitialDto;
|
|
594
610
|
private syncFormsFromDto;
|
|
611
|
+
private refreshProgrammaticFilterFieldDisplays;
|
|
612
|
+
private refreshProgrammaticFilterFieldDisplay;
|
|
595
613
|
ngOnInit(): Promise<void>;
|
|
596
614
|
ngAfterViewInit(): void;
|
|
597
615
|
onWindowResize(): void;
|
|
@@ -643,6 +661,11 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
643
661
|
retrySchemaLoad(): void;
|
|
644
662
|
private applySchemaMetas;
|
|
645
663
|
private applySchemaMetasNow;
|
|
664
|
+
private withFilterMaterialDesignPolicy;
|
|
665
|
+
private withAdvancedDatePickerTouchPolicy;
|
|
666
|
+
private isAdvancedDatePickerControl;
|
|
667
|
+
private buildAdvancedFilterColumn;
|
|
668
|
+
private isCompositeRangeFilterField;
|
|
646
669
|
private pickMetasByOrder;
|
|
647
670
|
private hasRemoteOptionSource;
|
|
648
671
|
private withInferredFilterControlType;
|
|
@@ -655,9 +678,9 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
655
678
|
private mergeAlwaysVisibleMetadata;
|
|
656
679
|
private mergeFieldMetadataOverride;
|
|
657
680
|
ngDoCheck(): void;
|
|
658
|
-
onAlwaysComponents(map: Map<string,
|
|
659
|
-
onSelectedComponents(map: Map<string,
|
|
660
|
-
onToggleComponents(map: Map<string,
|
|
681
|
+
onAlwaysComponents(map: Map<string, ComponentRef<BaseDynamicFieldComponent>>): void;
|
|
682
|
+
onSelectedComponents(map: Map<string, ComponentRef<BaseDynamicFieldComponent>>): void;
|
|
683
|
+
onToggleComponents(map: Map<string, ComponentRef<BaseDynamicFieldComponent>>): void;
|
|
661
684
|
onFieldInteraction(event: Event): void;
|
|
662
685
|
openSelectedFieldEditor(): void;
|
|
663
686
|
private isLocalE2eAuthoringOptInEnabled;
|
|
@@ -675,6 +698,9 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
675
698
|
onAdvancedValidityChange(valid: boolean): void;
|
|
676
699
|
onAddOpened(opened: boolean): void;
|
|
677
700
|
onAddQuery(q: string): void;
|
|
701
|
+
openAddSelect(select: MatSelect): void;
|
|
702
|
+
hasAddableFields(): boolean;
|
|
703
|
+
private getAddableItems;
|
|
678
704
|
private updateAddItems;
|
|
679
705
|
trackById(_idx: number, it: {
|
|
680
706
|
id: string;
|
|
@@ -725,9 +751,13 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
725
751
|
private ensureAdvancedConfigReady;
|
|
726
752
|
private focusSchemaRetryButton;
|
|
727
753
|
private showAdvancedUnavailableFeedback;
|
|
754
|
+
private setAdvancedOpening;
|
|
755
|
+
private deferAdvancedOpen;
|
|
728
756
|
private openAdvancedModal;
|
|
729
757
|
private openAdvancedDrawer;
|
|
730
758
|
toggleAdvanced(): void;
|
|
759
|
+
hasAdvancedFields(): boolean;
|
|
760
|
+
private getAdvancedCandidateMetas;
|
|
731
761
|
private usesProvidedFieldMetadata;
|
|
732
762
|
private applyProvidedFieldMetadata;
|
|
733
763
|
private saveConfig;
|
|
@@ -739,6 +769,9 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
739
769
|
private persistTags;
|
|
740
770
|
private cleanFilterPayload;
|
|
741
771
|
private upsertDtoValue;
|
|
772
|
+
private normalizeFilterFieldValue;
|
|
773
|
+
private getFilterFieldMetaByName;
|
|
774
|
+
private isEntityLookupFilterField;
|
|
742
775
|
private isEffectivelyEmptyFilterValue;
|
|
743
776
|
private syncFormsToDto;
|
|
744
777
|
private updateDisplayedTags;
|
|
@@ -754,19 +787,68 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
754
787
|
declare const PRAXIS_FILTER_COMPONENT_METADATA: ComponentDocMeta;
|
|
755
788
|
declare function providePraxisFilterMetadata(): Provider;
|
|
756
789
|
|
|
790
|
+
type AnalyticsTableRow = Record<string, string | number | boolean | null>;
|
|
791
|
+
type AnalyticsTableContractSource = 'remote' | 'fallback';
|
|
792
|
+
interface AnalyticsTableViewModel {
|
|
793
|
+
config: TableConfig;
|
|
794
|
+
data: AnalyticsTableRow[];
|
|
795
|
+
}
|
|
796
|
+
interface AnalyticsTableContractDefinition<TKey extends string = string> {
|
|
797
|
+
key: TKey;
|
|
798
|
+
projectionId: string;
|
|
799
|
+
path: string;
|
|
800
|
+
title: PraxisTextValue;
|
|
801
|
+
subtitle?: PraxisTextValue;
|
|
802
|
+
fallbackProjection: PraxisAnalyticsProjection;
|
|
803
|
+
fallbackRows?: AnalyticsTableRow[];
|
|
804
|
+
}
|
|
805
|
+
interface AnalyticsTableContractLoadOptions<TKey extends string = string> {
|
|
806
|
+
cacheNamespace?: string;
|
|
807
|
+
queryContexts?: Partial<Record<TKey, PraxisDataQueryContext | null>>;
|
|
808
|
+
}
|
|
809
|
+
interface AnalyticsTableContractLoadResult<TKey extends string = string> {
|
|
810
|
+
views: Record<TKey, AnalyticsTableViewModel>;
|
|
811
|
+
sources: Record<TKey, AnalyticsTableContractSource>;
|
|
812
|
+
errors: Partial<Record<TKey, string>>;
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
declare class AnalyticsTableStatsApiService {
|
|
816
|
+
private readonly http;
|
|
817
|
+
private readonly apiUrl;
|
|
818
|
+
private readonly statsBuilder;
|
|
819
|
+
constructor(http: HttpClient, apiUrl: ApiUrlConfig);
|
|
820
|
+
execute(projection: PraxisAnalyticsProjection, queryContext?: PraxisDataQueryContext | null): Promise<AnalyticsTableRow[]>;
|
|
821
|
+
private toTableRows;
|
|
822
|
+
private resolveTimeSeriesCategory;
|
|
823
|
+
private resolveBucketCategory;
|
|
824
|
+
private projectMetricValues;
|
|
825
|
+
private resolveMetricValue;
|
|
826
|
+
private buildStatsUrl;
|
|
827
|
+
private applyQueryContext;
|
|
828
|
+
private normalizeError;
|
|
829
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsTableStatsApiService, never>;
|
|
830
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableStatsApiService>;
|
|
831
|
+
}
|
|
832
|
+
|
|
757
833
|
type SchemaFieldHint = {
|
|
758
834
|
name: string;
|
|
759
835
|
label?: string;
|
|
760
836
|
type?: string;
|
|
761
837
|
controlType?: string;
|
|
762
838
|
numericFormat?: string;
|
|
839
|
+
format?: string;
|
|
763
840
|
options?: Array<Record<string, unknown> | string | number | boolean>;
|
|
764
841
|
optionLabelKey?: string;
|
|
765
842
|
optionValueKey?: string;
|
|
766
843
|
enumValues?: string[];
|
|
767
844
|
};
|
|
845
|
+
type FilterSchemaFieldHint = SchemaFieldHint & {
|
|
846
|
+
relatedColumnFields?: string[];
|
|
847
|
+
relatedColumnLabels?: string[];
|
|
848
|
+
};
|
|
768
849
|
type PraxisDataQueryContextBridge = {
|
|
769
850
|
filters?: Record<string, unknown> | null;
|
|
851
|
+
filterExpression?: PraxisQueryFilterExpression | null;
|
|
770
852
|
sort?: string[] | null;
|
|
771
853
|
limit?: number | null;
|
|
772
854
|
page?: {
|
|
@@ -835,6 +917,8 @@ type RowActionRuntimeOptions = {
|
|
|
835
917
|
type RuntimeRowAction = {
|
|
836
918
|
id: string;
|
|
837
919
|
action: string;
|
|
920
|
+
globalAction?: GlobalActionRef;
|
|
921
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
838
922
|
label?: string;
|
|
839
923
|
icon?: string;
|
|
840
924
|
color?: string;
|
|
@@ -842,6 +926,7 @@ type RuntimeRowAction = {
|
|
|
842
926
|
disabled?: boolean;
|
|
843
927
|
overflow?: boolean;
|
|
844
928
|
__praxisDiscoveredAction?: ResourceActionCatalogItem;
|
|
929
|
+
__praxisDiscoveredSurface?: ResourceSurfaceCatalogItem;
|
|
845
930
|
__praxisCapabilityDenied?: boolean;
|
|
846
931
|
};
|
|
847
932
|
type ExpansionDetailRuntimeStatus = 'idle' | 'loading' | 'ready' | 'error' | 'blocked';
|
|
@@ -865,17 +950,24 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
865
950
|
private connectionStorage;
|
|
866
951
|
private hostRef;
|
|
867
952
|
private global;
|
|
868
|
-
private
|
|
953
|
+
private injector;
|
|
869
954
|
private componentKeys;
|
|
870
955
|
private loadingOrchestrator;
|
|
956
|
+
private globalActions;
|
|
871
957
|
private loadingRenderer?;
|
|
872
958
|
private route?;
|
|
873
959
|
private logger?;
|
|
960
|
+
private analyticsStatsApi?;
|
|
874
961
|
private static readonly CELL_ANIMATION_CHANGE_CACHE_LIMIT;
|
|
962
|
+
private static readonly AI_SELECTION_ROW_LIMIT;
|
|
963
|
+
private static readonly AI_SELECTION_ID_LIMIT;
|
|
964
|
+
private static readonly AI_SELECTION_FIELD_LIMIT;
|
|
875
965
|
private static readonly ROW_DISCOVERY_SUCCESS_CACHE_TTL_MS;
|
|
876
966
|
private static readonly ROW_DISCOVERY_ERROR_CACHE_TTL_MS;
|
|
877
967
|
private static readonly ROW_DISCOVERY_CACHE_LIMIT;
|
|
878
968
|
private static readonly ROW_DISCOVERY_MAX_CONCURRENT_REQUESTS;
|
|
969
|
+
private _resourceDiscovery?;
|
|
970
|
+
private _resourceSurfaceOpenAdapter?;
|
|
879
971
|
readonly paginatorSelectConfig: MatPaginatorSelectConfig;
|
|
880
972
|
private static readonly ROW_ANIMATION_PRESETS;
|
|
881
973
|
private static readonly ROW_ANIMATION_PRESET_ALIASES;
|
|
@@ -894,12 +986,24 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
894
986
|
crudContext: any;
|
|
895
987
|
filterCriteria: Record<string, any>;
|
|
896
988
|
queryContext: PraxisDataQueryContextBridge | null;
|
|
989
|
+
aiContext: {
|
|
990
|
+
recordSurfaces?: RecordRelatedSurfaceContextPack | null;
|
|
991
|
+
} | null;
|
|
992
|
+
advancedFilterValue: Record<string, any>;
|
|
993
|
+
advancedFilterRuntimeVisibleFields: string[];
|
|
994
|
+
private advancedFilterAlwaysVisibleCacheKey;
|
|
995
|
+
private advancedFilterAlwaysVisibleCache?;
|
|
996
|
+
private advancedFilterMetadataOverridesCacheKey;
|
|
997
|
+
private advancedFilterMetadataOverridesCacheSource?;
|
|
998
|
+
private advancedFilterMetadataOverridesCache?;
|
|
897
999
|
rowClick: EventEmitter<any>;
|
|
1000
|
+
widgetEvent: EventEmitter<any>;
|
|
898
1001
|
rowDoubleClick: EventEmitter<any>;
|
|
899
1002
|
rowExpansionChange: EventEmitter<RowExpansionChangeEvent>;
|
|
900
1003
|
rowAction: EventEmitter<any>;
|
|
901
1004
|
toolbarAction: EventEmitter<any>;
|
|
902
1005
|
bulkAction: EventEmitter<any>;
|
|
1006
|
+
exportAction: EventEmitter<any>;
|
|
903
1007
|
columnReorder: EventEmitter<any>;
|
|
904
1008
|
columnReorderAttempt: EventEmitter<any>;
|
|
905
1009
|
beforeDelete: EventEmitter<any>;
|
|
@@ -909,6 +1013,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
909
1013
|
afterBulkDelete: EventEmitter<any>;
|
|
910
1014
|
bulkDeleteError: EventEmitter<any>;
|
|
911
1015
|
schemaStatusChange: EventEmitter<any>;
|
|
1016
|
+
configChange: EventEmitter<_praxisui_core.TableConfigModern>;
|
|
912
1017
|
metadataChange: EventEmitter<any>;
|
|
913
1018
|
loadingStateChange: EventEmitter<LoadingState>;
|
|
914
1019
|
collectionLinksChange: EventEmitter<RestApiLinks | null>;
|
|
@@ -937,6 +1042,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
937
1042
|
readonly isExpansionDetailRow: (index: number, row: any) => boolean;
|
|
938
1043
|
columnReorderStatusMessage: string;
|
|
939
1044
|
columnReorderVisualStatusMessage: string;
|
|
1045
|
+
exportBusy: boolean;
|
|
1046
|
+
exportStatusMessage: string;
|
|
940
1047
|
private columnReorderStatusTimer;
|
|
941
1048
|
private columnReorderVisualStatusTimer;
|
|
942
1049
|
private columnReorderUndoSubscription;
|
|
@@ -949,6 +1056,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
949
1056
|
private lastResolvedDataMode;
|
|
950
1057
|
private localFilterFieldMetadataCache;
|
|
951
1058
|
private localFilterFieldMetadataCacheKey;
|
|
1059
|
+
private analyticsLoadSequence;
|
|
952
1060
|
private uncontrolledExpandedRowKeys;
|
|
953
1061
|
private readonly expansionOpaqueRefCacheLimit;
|
|
954
1062
|
private expansionOpaqueRefByRowKey;
|
|
@@ -976,8 +1084,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
976
1084
|
private rowDiscoveryMarkForCheckScheduled;
|
|
977
1085
|
private lastRowDiscoveryScopeKey;
|
|
978
1086
|
private readonly i18n;
|
|
1087
|
+
private readonly collectionExport;
|
|
979
1088
|
private readonly paginatorIntl;
|
|
980
1089
|
private schemaFieldsSnapshot;
|
|
1090
|
+
private filterSchemaFieldsSnapshot;
|
|
981
1091
|
private runtimeSchemaMeta;
|
|
982
1092
|
schemaError: boolean;
|
|
983
1093
|
dataError: boolean;
|
|
@@ -1009,6 +1119,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1009
1119
|
getColumnTextAlignStyle(column: ColumnDefinition): string | null;
|
|
1010
1120
|
getColumnWidthStyle(column: ColumnDefinition): string | null;
|
|
1011
1121
|
getColumnHeaderAttrStyle(column: ColumnDefinition): string | null;
|
|
1122
|
+
getColumnHeaderNgStyle(column: ColumnDefinition): Record<string, string> | undefined;
|
|
1012
1123
|
getColumnCellAttrStyle(column: ColumnDefinition): string | null;
|
|
1013
1124
|
getTableElevationClassName(): string;
|
|
1014
1125
|
private normalizeTableElevationLevel;
|
|
@@ -1025,6 +1136,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1025
1136
|
hasBottomPaginator(): boolean;
|
|
1026
1137
|
hasExplicitResourcePath(): boolean;
|
|
1027
1138
|
hasLocalDataInput(): boolean;
|
|
1139
|
+
hasAnalyticsProjectionInput(): boolean;
|
|
1028
1140
|
getDataMode(): DataMode;
|
|
1029
1141
|
isRemoteMode(): boolean;
|
|
1030
1142
|
isLocalMode(): boolean;
|
|
@@ -1051,6 +1163,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1051
1163
|
shouldRenderAdvancedFilter(): boolean;
|
|
1052
1164
|
getAdvancedFilterResourcePath(): string;
|
|
1053
1165
|
getAdvancedFilterPersistenceKey(): string;
|
|
1166
|
+
getAdvancedFilterAlwaysVisibleFields(): string[] | undefined;
|
|
1167
|
+
getAdvancedFilterAlwaysVisibleFieldMetadataOverrides(): Record<string, Record<string, any>>;
|
|
1054
1168
|
getAdvancedFilterFieldMetadata(): FieldMetadata[] | null | undefined;
|
|
1055
1169
|
private buildLocalFilterMetadata;
|
|
1056
1170
|
private buildLocalFilterMetadataCacheKey;
|
|
@@ -1071,8 +1185,20 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1071
1185
|
get hostColumnBordersClass(): boolean;
|
|
1072
1186
|
trackByRow(index: number, item: any): any;
|
|
1073
1187
|
getSchemaFieldsSnapshot(): SchemaFieldHint[];
|
|
1188
|
+
getFilterSchemaFieldsSnapshot(): FilterSchemaFieldHint[];
|
|
1189
|
+
getResourceCapabilityDigest(): ResourceCapabilityDigest | null;
|
|
1190
|
+
ensureFilterSchemaFieldsSnapshot(): Promise<void>;
|
|
1191
|
+
ensureAiAssistantRecordSurfaceContext(): Promise<void>;
|
|
1192
|
+
getAiAssistantRecordSurfacesContext(): RecordRelatedSurfaceContextPack | null;
|
|
1193
|
+
getAiAssistantSelectedRowsContext(): Record<string, any> | null;
|
|
1194
|
+
private ensureAiAssistantRowCapabilitySnapshot;
|
|
1195
|
+
private buildCapabilitySnapshotFromSurfaceCatalog;
|
|
1196
|
+
private buildAiAssistantResourceSurfaceContexts;
|
|
1197
|
+
private buildRecordRelatedSurfaceContextFromResourceSurface;
|
|
1198
|
+
private humanizeResourceSurfaceLabel;
|
|
1074
1199
|
aiAdapter: any;
|
|
1075
1200
|
private aiAdapterLoadStarted;
|
|
1201
|
+
private aiAssistantOpenAfterAdapterLoad;
|
|
1076
1202
|
aiAssistantOpen: boolean;
|
|
1077
1203
|
aiAssistantPrompt: string;
|
|
1078
1204
|
aiAssistantViewState: PraxisAssistantTurnViewState | null;
|
|
@@ -1081,7 +1207,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1081
1207
|
private aiAssistantController;
|
|
1082
1208
|
private aiAssistantStateSubscription;
|
|
1083
1209
|
private readonly aiApi;
|
|
1210
|
+
private readonly assistantSessions;
|
|
1084
1211
|
private readonly aiTurnOrchestrator;
|
|
1212
|
+
private readonly aiAssistantSessionEffect;
|
|
1085
1213
|
private computedContextCache;
|
|
1086
1214
|
private computedFieldNames;
|
|
1087
1215
|
private readonly jsonLogic;
|
|
@@ -1119,6 +1247,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1119
1247
|
private recomputeLocalView;
|
|
1120
1248
|
private resolveLocalSortField;
|
|
1121
1249
|
private setSchemaFieldsSnapshot;
|
|
1250
|
+
private setFilterSchemaFieldsSnapshot;
|
|
1251
|
+
private inferFilterSchemaSourceFields;
|
|
1252
|
+
private resolveFilterSchemaRelatedColumns;
|
|
1253
|
+
private normalizeFieldAlias;
|
|
1122
1254
|
private normalizeSchemaOptions;
|
|
1123
1255
|
private normalizeEnumValues;
|
|
1124
1256
|
private normalizeSchemaKey;
|
|
@@ -1128,21 +1260,54 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1128
1260
|
private tableConfigKey;
|
|
1129
1261
|
private filterConfigKey;
|
|
1130
1262
|
private ensureConfigDefaults;
|
|
1263
|
+
private mergePersistedTableConfigWithInput;
|
|
1264
|
+
private reconcileHostDeclaredTableContract;
|
|
1265
|
+
private reconcileHostDeclaredColumns;
|
|
1266
|
+
private reconcileHostDeclaredRowActions;
|
|
1267
|
+
private reconcileHostDeclaredExport;
|
|
1268
|
+
private normalizePersistedExportFormats;
|
|
1269
|
+
private normalizePersistedRowActionIds;
|
|
1270
|
+
private normalizePersistedColumnIds;
|
|
1271
|
+
private clonePlainObject;
|
|
1131
1272
|
private setShowToolbar;
|
|
1132
1273
|
private shouldExposeToolbar;
|
|
1133
|
-
constructor(cdr: ChangeDetectorRef, settingsPanel: SettingsPanelService, crudService: GenericCrudService<any, any>, tableDefaultsProvider: TableDefaultsProvider, filterConfig: FilterConfigService, formattingService: DataFormattingService, pxDialog: PraxisDialog, snackBar: MatSnackBar, asyncConfigStorage: AsyncConfigStorage, connectionStorage: ConnectionStorage, hostRef: ElementRef<HTMLElement>, global: GlobalConfigService,
|
|
1274
|
+
constructor(cdr: ChangeDetectorRef, settingsPanel: SettingsPanelService, crudService: GenericCrudService<any, any>, tableDefaultsProvider: TableDefaultsProvider, filterConfig: FilterConfigService, formattingService: DataFormattingService, pxDialog: PraxisDialog, snackBar: MatSnackBar, asyncConfigStorage: AsyncConfigStorage, connectionStorage: ConnectionStorage, hostRef: ElementRef<HTMLElement>, global: GlobalConfigService, injector: Injector, componentKeys: ComponentKeyService, loadingOrchestrator: LoadingOrchestrator, globalActions: GlobalActionService, loadingRenderer?: PraxisLoadingRenderer | undefined, route?: ActivatedRoute | undefined, logger?: LoggerService | undefined, analyticsStatsApi?: AnalyticsTableStatsApiService | undefined);
|
|
1275
|
+
private get resourceDiscovery();
|
|
1276
|
+
private get resourceSurfaceOpenAdapter();
|
|
1134
1277
|
private ensureAiAdapterLoaded;
|
|
1135
1278
|
openAiAssistant(): void;
|
|
1279
|
+
aiAssistantTriggerTestId(position: string): string;
|
|
1280
|
+
hasMinimizedAiAssistantSession(): boolean;
|
|
1281
|
+
aiAssistantTriggerIcon(): string;
|
|
1282
|
+
aiAssistantTriggerBadge(): string;
|
|
1283
|
+
aiAssistantTriggerLabel(): string;
|
|
1284
|
+
aiAssistantTriggerTooltip(): string;
|
|
1285
|
+
openAiAssistantFromSession(session: PraxisAssistantSessionSnapshot): void;
|
|
1136
1286
|
closeAiAssistant(): void;
|
|
1137
1287
|
onAiAssistantPromptChange(prompt: string): void;
|
|
1138
1288
|
onAiAssistantSubmit(prompt: string): void;
|
|
1139
1289
|
onAiAssistantApply(): void;
|
|
1290
|
+
onAiAssistantRetry(): void;
|
|
1291
|
+
onAiAssistantCancel(): void;
|
|
1140
1292
|
onAiAssistantQuickReply(reply: PraxisAssistantShellQuickReply): void;
|
|
1141
1293
|
onAiAssistantEditMessage(message: PraxisAssistantShellMessage): void;
|
|
1142
1294
|
onAiAssistantResendMessage(message: PraxisAssistantShellMessage): void;
|
|
1143
1295
|
onAiAssistantLayoutChange(layout: PraxisAssistantShellLayout): void;
|
|
1144
1296
|
private initializeAiAssistantController;
|
|
1145
1297
|
private buildAiAssistantContextItems;
|
|
1298
|
+
private interpolateAiAssistantContextValue;
|
|
1299
|
+
private aiAssistantSelectedRecordsValue;
|
|
1300
|
+
private buildAiAssistantContextSnapshot;
|
|
1301
|
+
private syncAiAssistantSession;
|
|
1302
|
+
private assistantContextRuntimeLocale;
|
|
1303
|
+
private refreshAiAssistantContextAfterSelectionChange;
|
|
1304
|
+
private hasAiAssistantSessionState;
|
|
1305
|
+
private resolveAiAssistantSessionId;
|
|
1306
|
+
private resolveAiAssistantOwnerId;
|
|
1307
|
+
private resolveAiAssistantRouteKey;
|
|
1308
|
+
private resolveAiAssistantSummary;
|
|
1309
|
+
private resolveAiAssistantBadge;
|
|
1310
|
+
private resolveAiAssistantIcon;
|
|
1146
1311
|
private emitLoadingState;
|
|
1147
1312
|
private hasResolvedRemoteDataLoad;
|
|
1148
1313
|
private isTableDataLoading;
|
|
@@ -1168,6 +1333,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1168
1333
|
onPageChange(event: PageEvent): void;
|
|
1169
1334
|
onSortChange(event: Sort): void;
|
|
1170
1335
|
onRowClicked(row: any, index: number, event?: MouseEvent): void;
|
|
1336
|
+
requestRecordSurfaceOpen(surface: Record<string, unknown>): boolean;
|
|
1337
|
+
private resolveResourceRecordSurfaceContext;
|
|
1338
|
+
private openResourceRecordSurface;
|
|
1171
1339
|
isRowExpansionRuntimeEnabled(): boolean;
|
|
1172
1340
|
isExpansionIconTriggerEnabled(): boolean;
|
|
1173
1341
|
isRowExpandable(row: any, index?: number): boolean;
|
|
@@ -1360,22 +1528,67 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1360
1528
|
private emitRowActionEvent;
|
|
1361
1529
|
private showConfirmDialog;
|
|
1362
1530
|
private executeDeleteAction;
|
|
1531
|
+
private dispatchRowAction;
|
|
1363
1532
|
private cloneForEmit;
|
|
1364
1533
|
private interpolateActionMessageTemplate;
|
|
1365
1534
|
private buildActionFeedbackContext;
|
|
1366
1535
|
private resolveActionFeedbackMessage;
|
|
1367
1536
|
private showActionFeedbackMessage;
|
|
1368
1537
|
private emitEventWithActionFeedback;
|
|
1538
|
+
private executeConfiguredGlobalAction;
|
|
1539
|
+
private resolveConfiguredGlobalActionRef;
|
|
1540
|
+
private resolveActionGlobalActionRef;
|
|
1541
|
+
private resolveGlobalActionPayload;
|
|
1542
|
+
private buildGlobalActionTemplateContext;
|
|
1543
|
+
private resolveGlobalActionTemplateValue;
|
|
1544
|
+
private isDeferredTemplateExpressionKey;
|
|
1545
|
+
private interpolateGlobalActionTemplate;
|
|
1546
|
+
private shouldEmitLocalForGlobalAction;
|
|
1369
1547
|
private resolveBulkValidationMessage;
|
|
1370
1548
|
private hasValidBulkSelectionCount;
|
|
1371
1549
|
private showBulkConfirmDialog;
|
|
1372
1550
|
onToolbarAction(event: {
|
|
1373
1551
|
action: string;
|
|
1374
1552
|
actionConfig?: any;
|
|
1375
|
-
}): void
|
|
1553
|
+
}): Promise<void>;
|
|
1554
|
+
private resolveBulkExportFormat;
|
|
1555
|
+
private isBulkExportActionKey;
|
|
1556
|
+
private normalizeExportFormat;
|
|
1557
|
+
private isExportFormatEnabled;
|
|
1558
|
+
private getFirstEnabledExportFormat;
|
|
1559
|
+
onExportAction(event: {
|
|
1560
|
+
format: string;
|
|
1561
|
+
scope?: PraxisExportScope;
|
|
1562
|
+
}): Promise<void>;
|
|
1563
|
+
canRunExportAction(format: unknown): boolean;
|
|
1564
|
+
private shouldBlockSelectedExportWithoutSelection;
|
|
1565
|
+
private buildTableExportRequest;
|
|
1566
|
+
private resolveEffectiveExportScope;
|
|
1567
|
+
private resolveTableExportLoadedItems;
|
|
1568
|
+
private computeLocalExportRows;
|
|
1569
|
+
private buildTableExportFields;
|
|
1570
|
+
private buildTableExportFormatOptions;
|
|
1571
|
+
private buildTableExportLocalization;
|
|
1572
|
+
private resolveColumnExportFormat;
|
|
1573
|
+
private buildColumnExportPresentation;
|
|
1574
|
+
private resolveColumnExportCurrency;
|
|
1575
|
+
private downloadExportResult;
|
|
1576
|
+
private triggerExportDownload;
|
|
1577
|
+
private resolveExportFileName;
|
|
1578
|
+
private getExportFileExtension;
|
|
1579
|
+
private getExportMimeType;
|
|
1580
|
+
private showExportFeedback;
|
|
1376
1581
|
onAdvancedFilterSubmit(criteria: Record<string, any>): void;
|
|
1377
1582
|
onAdvancedFilterChange(criteria: Record<string, any>): void;
|
|
1378
1583
|
onAdvancedFilterClear(): void;
|
|
1584
|
+
private applyAdvancedFilterCriteria;
|
|
1585
|
+
private setAdvancedFilterCriteria;
|
|
1586
|
+
private syncAdvancedFilterValueFromCriteria;
|
|
1587
|
+
private deriveRuntimeVisibleAdvancedFilterFields;
|
|
1588
|
+
private isEmptyAdvancedFilterCriterionValue;
|
|
1589
|
+
private mergeAdvancedFilterFieldIds;
|
|
1590
|
+
private getRuntimePromotedAdvancedFilterFields;
|
|
1591
|
+
private toPlainRecord;
|
|
1379
1592
|
private saveConfigWithAck;
|
|
1380
1593
|
private clearConfigWithAck;
|
|
1381
1594
|
private persistHorizontalScrollInput;
|
|
@@ -1439,7 +1652,18 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1439
1652
|
*/
|
|
1440
1653
|
private verifyServerSchemaVersion;
|
|
1441
1654
|
private loadSchema;
|
|
1655
|
+
private loadFilterSchemaSnapshot;
|
|
1442
1656
|
private convertFieldToColumn;
|
|
1657
|
+
private applySchemaFieldPresentation;
|
|
1658
|
+
private resolveSchemaCurrencyFormat;
|
|
1659
|
+
private resolveSchemaBooleanFormat;
|
|
1660
|
+
private resolveSchemaValueMapping;
|
|
1661
|
+
private resolveSchemaOptionsValueMapping;
|
|
1662
|
+
private normalizePresentationToken;
|
|
1663
|
+
private firstNonEmptyString;
|
|
1664
|
+
private firstFiniteNumber;
|
|
1665
|
+
private humanizeSchemaEnumValue;
|
|
1666
|
+
private capitalizeSchemaEnumPart;
|
|
1443
1667
|
/**
|
|
1444
1668
|
* Apply automatic renderer hints based on schema field metadata.
|
|
1445
1669
|
* Runs only on initial bootstrap (when columns are derived from schema).
|
|
@@ -1462,6 +1686,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1462
1686
|
private buildRowDiscoveryOptions;
|
|
1463
1687
|
private getRowLinks;
|
|
1464
1688
|
private resolveRowDiscoveryHref;
|
|
1689
|
+
private resolveRowSurfaceDiscoveryHref;
|
|
1465
1690
|
private prefetchRowDiscovery;
|
|
1466
1691
|
private ensureRowDiscovery;
|
|
1467
1692
|
private ensureRowCapabilitySnapshot;
|
|
@@ -1507,6 +1732,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1507
1732
|
private pruneRowDiscoveryCaches;
|
|
1508
1733
|
private pruneRowDiscoveryCache;
|
|
1509
1734
|
private fetchData;
|
|
1735
|
+
private resolveAnalyticsProjection;
|
|
1736
|
+
private fetchAnalyticsProjectionData;
|
|
1510
1737
|
private getEffectiveFilterCriteria;
|
|
1511
1738
|
retryData(): void;
|
|
1512
1739
|
reloadSchema(): void;
|
|
@@ -1519,9 +1746,35 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1519
1746
|
* 3. format (data formatting like dates, numbers, currency)
|
|
1520
1747
|
*/
|
|
1521
1748
|
getCellValue(rowData: any, column: ColumnDefinition): any;
|
|
1749
|
+
private applyImplicitRuntimeCellPresentation;
|
|
1750
|
+
private shouldHumanizeRuntimeEnumCell;
|
|
1751
|
+
private resolveCellFormattingType;
|
|
1752
|
+
private normalizeReadonlyEntityLookupCellValue;
|
|
1753
|
+
private toEntityLookupDisplayToken;
|
|
1754
|
+
private isEntityLookupDisplayCandidate;
|
|
1755
|
+
private toEntityLookupDisplayPrimitive;
|
|
1522
1756
|
private resolveImplicitFormat;
|
|
1523
1757
|
getCellClasses(rowData: any, column: ColumnDefinition): string[] | undefined;
|
|
1524
1758
|
getCellNgStyle(rowData: any, column: ColumnDefinition): Record<string, string> | undefined;
|
|
1759
|
+
private normalizeInlineStyleRecord;
|
|
1760
|
+
private normalizeConditionalStyleRules;
|
|
1761
|
+
private normalizeConditionalStyleRecord;
|
|
1762
|
+
getCellTooltip(rowData: any, column: ColumnDefinition): string | null;
|
|
1763
|
+
getCellTooltipPosition(rowData: any, column: ColumnDefinition): 'above' | 'below' | 'left' | 'right' | 'before' | 'after';
|
|
1764
|
+
private resolveConditionalStyleTooltipText;
|
|
1765
|
+
private resolveRendererTooltipText;
|
|
1766
|
+
private normalizeTooltipPosition;
|
|
1767
|
+
private normalizeConditionalStyleEffects;
|
|
1768
|
+
private hasConditionalStyleEffectPayload;
|
|
1769
|
+
private resolveConditionalStyleClasses;
|
|
1770
|
+
private resolveConditionalStyleObject;
|
|
1771
|
+
private compileConditionalStyleEffect;
|
|
1772
|
+
private normalizeConditionalRendererRules;
|
|
1773
|
+
private normalizeObjectRecord;
|
|
1774
|
+
private buildColumnRendererOverrideFromEffects;
|
|
1775
|
+
private buildColumnRendererFromEffect;
|
|
1776
|
+
private resolveRuleAnimationFromEffects;
|
|
1777
|
+
private resolveRowTooltipFromEffects;
|
|
1525
1778
|
private resetComputedContextCache;
|
|
1526
1779
|
private ensureEffectiveCellRenderCache;
|
|
1527
1780
|
private ensureCellAnimationPreviousValuesByRowId;
|
|
@@ -1533,6 +1786,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1533
1786
|
private buildComputedSignature;
|
|
1534
1787
|
private stringifyDependencyValue;
|
|
1535
1788
|
private buildComputedValueMap;
|
|
1789
|
+
private collectComputedColumns;
|
|
1790
|
+
private evaluateCanonicalComputedColumns;
|
|
1791
|
+
private collectComputedExpressionDependencies;
|
|
1792
|
+
private collectJsonLogicVarDependencies;
|
|
1793
|
+
private resolveJsonLogicVarPath;
|
|
1536
1794
|
private buildEvaluationContext;
|
|
1537
1795
|
private getJsonLogicEvaluationOptions;
|
|
1538
1796
|
private resolveJsonLogicUserTimeZone;
|
|
@@ -1671,6 +1929,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1671
1929
|
private buildEffectiveCellRenderCacheKey;
|
|
1672
1930
|
private getEffectiveCellRenderResult;
|
|
1673
1931
|
private getEffectiveRenderer;
|
|
1932
|
+
private resolveEffectiveRendererTooltip;
|
|
1674
1933
|
getLinkHref(row: any, column: ColumnDefinition): string | null;
|
|
1675
1934
|
getLinkText(row: any, column: ColumnDefinition): string;
|
|
1676
1935
|
getLinkRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
|
|
@@ -1692,6 +1951,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1692
1951
|
private buildRendererActionRuntimeOptions;
|
|
1693
1952
|
onButtonClick(row: any, column: ColumnDefinition, event: Event): void;
|
|
1694
1953
|
getChipText(row: any, column: ColumnDefinition): string | null;
|
|
1954
|
+
private getRendererTextFieldValue;
|
|
1695
1955
|
getChipRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
|
|
1696
1956
|
getChipIcon(row: any, column: ColumnDefinition): string | null;
|
|
1697
1957
|
getChipClasses(row: any, column: ColumnDefinition): string[];
|
|
@@ -1714,6 +1974,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1714
1974
|
private deriveAvatarInitials;
|
|
1715
1975
|
getAvatarInitials(row: any, column: ColumnDefinition): string;
|
|
1716
1976
|
getAvatarRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
|
|
1977
|
+
private getAvatarRichContentStyle;
|
|
1717
1978
|
getAvatarShape(row: any, column: ColumnDefinition): 'square' | 'rounded' | 'circle' | undefined;
|
|
1718
1979
|
getAvatarStyle(row: any, column: ColumnDefinition): Record<string, string> | null;
|
|
1719
1980
|
getToggleState(row: any, column: ColumnDefinition): boolean;
|
|
@@ -1769,6 +2030,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1769
2030
|
private reconcileSelectionAfterDataChange;
|
|
1770
2031
|
private getComparableRowIdentity;
|
|
1771
2032
|
getIdField(): string;
|
|
2033
|
+
private resolveConfigMetaIdField;
|
|
1772
2034
|
private syncRuntimeSchemaMetaFromConfig;
|
|
1773
2035
|
private getEffectiveMetadataSnapshot;
|
|
1774
2036
|
getActionId(action: any): string;
|
|
@@ -1787,6 +2049,20 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1787
2049
|
toggleRow(row: any): void;
|
|
1788
2050
|
private selectRowFromUserInteraction;
|
|
1789
2051
|
private emitSelectionChange;
|
|
2052
|
+
private getSelectedRowsSnapshot;
|
|
2053
|
+
private getAiAssistantSelectionFields;
|
|
2054
|
+
private buildAiAssistantSelectionFilterCandidates;
|
|
2055
|
+
private inferAiAssistantFilterCriterionKind;
|
|
2056
|
+
private buildAiAssistantRangeFilterCandidate;
|
|
2057
|
+
private buildAiAssistantSetFilterCandidate;
|
|
2058
|
+
private resolveAiAssistantSetFilterDisplayValue;
|
|
2059
|
+
private aiAssistantSetFilterDisplayFieldCandidates;
|
|
2060
|
+
private resolveAiAssistantFilterSourceFields;
|
|
2061
|
+
private normalizeAiAssistantNumericRangeValue;
|
|
2062
|
+
private normalizeAiAssistantDateRangeValue;
|
|
2063
|
+
private sanitizeAiAssistantSelectedRow;
|
|
2064
|
+
private safeStringifyAiAssistantValue;
|
|
2065
|
+
private isSensitiveAiAssistantField;
|
|
1790
2066
|
private getRowActionsConfig;
|
|
1791
2067
|
getActionsHeaderAlign(): string;
|
|
1792
2068
|
getActionsHeaderTooltip(): string | undefined;
|
|
@@ -1811,11 +2087,24 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1811
2087
|
private splitVisibleRowActionsFromVisible;
|
|
1812
2088
|
private decorateConfiguredRowAction;
|
|
1813
2089
|
private getDiscoveredRowWorkflowActions;
|
|
2090
|
+
private getDiscoveredRowSurfaceActionsFromSnapshot;
|
|
1814
2091
|
private getDiscoveredRowWorkflowActionsFromCatalog;
|
|
1815
2092
|
private supportsRowCrudAction;
|
|
1816
2093
|
private isCapabilityManagedCrudRowAction;
|
|
1817
2094
|
private findItemWorkflowAction;
|
|
2095
|
+
private findItemSurface;
|
|
2096
|
+
private isRowSurfaceAction;
|
|
2097
|
+
private isResourceSurfaceCatalogItem;
|
|
2098
|
+
private toRecordSurfaceActionConfig;
|
|
2099
|
+
private resolveConfiguredSurfaceOpenAction;
|
|
2100
|
+
private recordSurfaceActionAliases;
|
|
2101
|
+
private normalizeSurfaceActionAlias;
|
|
2102
|
+
private isWritableRowSurface;
|
|
2103
|
+
private isReadableRowSurface;
|
|
2104
|
+
private getDiscoveredSurfaceIcon;
|
|
2105
|
+
private getDiscoveredSurfaceColor;
|
|
1818
2106
|
private getUnavailableWorkflowMessage;
|
|
2107
|
+
private getUnavailableSurfaceMessage;
|
|
1819
2108
|
private normalizeActionId;
|
|
1820
2109
|
private isActionVisible;
|
|
1821
2110
|
trackAction(index: number, item: any): any;
|
|
@@ -1829,8 +2118,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1829
2118
|
getRowMenuIcon(): string;
|
|
1830
2119
|
private scheduleRowDiscoveryMarkForCheck;
|
|
1831
2120
|
ngOnDestroy(): void;
|
|
1832
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTable, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
1833
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTable, "praxis-table", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "data": { "alias": "data"; "required": false; }; "tableId": { "alias": "tableId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "autoDelete": { "alias": "autoDelete"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "crudContext": { "alias": "crudContext"; "required": false; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; "selectionChange": "selectionChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
2121
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTable, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
2122
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTable, "praxis-table", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "data": { "alias": "data"; "required": false; }; "tableId": { "alias": "tableId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "autoDelete": { "alias": "autoDelete"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "crudContext": { "alias": "crudContext"; "required": false; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "aiContext": { "alias": "aiContext"; "required": false; }; "horizontalScroll": { "alias": "horizontalScroll"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "widgetEvent": "widgetEvent"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "exportAction": "exportAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "configChange": "configChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; "selectionChange": "selectionChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
1834
2123
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
1835
2124
|
}
|
|
1836
2125
|
|
|
@@ -1843,7 +2132,6 @@ interface EditorDocument<TConfig, TBindings = unknown> {
|
|
|
1843
2132
|
type TableHorizontalScroll = 'auto' | 'wrap' | 'none';
|
|
1844
2133
|
interface TableBindings {
|
|
1845
2134
|
resourcePath?: string | null;
|
|
1846
|
-
idField?: string;
|
|
1847
2135
|
horizontalScroll?: TableHorizontalScroll;
|
|
1848
2136
|
}
|
|
1849
2137
|
interface TableAuthoringDocument extends EditorDocument<TableConfig, TableBindings> {
|
|
@@ -1900,7 +2188,6 @@ interface TableApplyPlan {
|
|
|
1900
2188
|
};
|
|
1901
2189
|
diff?: {
|
|
1902
2190
|
resourcePathChanged?: boolean;
|
|
1903
|
-
idFieldChanged?: boolean;
|
|
1904
2191
|
horizontalScrollChanged?: boolean;
|
|
1905
2192
|
requiresDataRefresh?: boolean;
|
|
1906
2193
|
};
|
|
@@ -2373,6 +2660,8 @@ interface ToolbarAction {
|
|
|
2373
2660
|
/** Material button appearance: filled (flat), outlined (stroked), elevated (raised), text, tonal */
|
|
2374
2661
|
appearance?: 'filled' | 'outlined' | 'elevated' | 'text' | 'tonal';
|
|
2375
2662
|
action: string;
|
|
2663
|
+
globalAction?: GlobalActionRef;
|
|
2664
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2376
2665
|
position: 'start' | 'end';
|
|
2377
2666
|
order?: number;
|
|
2378
2667
|
disabled?: boolean;
|
|
@@ -2380,7 +2669,7 @@ interface ToolbarAction {
|
|
|
2380
2669
|
shortcut?: string;
|
|
2381
2670
|
shortcutScope?: 'toolbar' | 'global';
|
|
2382
2671
|
tooltip?: string;
|
|
2383
|
-
visibleWhen?:
|
|
2672
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
2384
2673
|
children?: ToolbarAction[];
|
|
2385
2674
|
}
|
|
2386
2675
|
interface RowAction {
|
|
@@ -2388,11 +2677,15 @@ interface RowAction {
|
|
|
2388
2677
|
label: string;
|
|
2389
2678
|
icon: string;
|
|
2390
2679
|
action: string;
|
|
2680
|
+
globalAction?: GlobalActionRef;
|
|
2681
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2391
2682
|
color?: 'primary' | 'accent' | 'warn';
|
|
2392
2683
|
tooltip?: string;
|
|
2393
2684
|
requiresConfirmation?: boolean;
|
|
2394
2685
|
autoDelete?: boolean;
|
|
2395
2686
|
separator?: boolean;
|
|
2687
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
2688
|
+
disabledWhen?: JsonLogicExpression | null;
|
|
2396
2689
|
conditional?: string;
|
|
2397
2690
|
}
|
|
2398
2691
|
interface BulkAction {
|
|
@@ -2400,6 +2693,8 @@ interface BulkAction {
|
|
|
2400
2693
|
label: string;
|
|
2401
2694
|
icon: string;
|
|
2402
2695
|
action: string;
|
|
2696
|
+
globalAction?: GlobalActionRef;
|
|
2697
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2403
2698
|
color?: 'primary' | 'accent' | 'warn';
|
|
2404
2699
|
tooltip?: string;
|
|
2405
2700
|
requiresConfirmation?: boolean;
|
|
@@ -2413,6 +2708,25 @@ interface ToolbarActionsChange {
|
|
|
2413
2708
|
value: any;
|
|
2414
2709
|
fullConfig: TableConfig;
|
|
2415
2710
|
}
|
|
2711
|
+
type GlobalActionCatalogOption = GlobalActionCatalogEntry & {
|
|
2712
|
+
param?: {
|
|
2713
|
+
required?: boolean;
|
|
2714
|
+
label?: string;
|
|
2715
|
+
placeholder?: string;
|
|
2716
|
+
hint?: string;
|
|
2717
|
+
};
|
|
2718
|
+
};
|
|
2719
|
+
type EditableTableAction = {
|
|
2720
|
+
id?: string;
|
|
2721
|
+
label?: string;
|
|
2722
|
+
action?: string;
|
|
2723
|
+
globalAction?: GlobalActionRef;
|
|
2724
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2725
|
+
position?: string;
|
|
2726
|
+
appearance?: string;
|
|
2727
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
2728
|
+
disabledWhen?: JsonLogicExpression | null;
|
|
2729
|
+
};
|
|
2416
2730
|
type ToolbarShortcutScope = 'toolbar' | 'global';
|
|
2417
2731
|
interface InternalActionSpec {
|
|
2418
2732
|
id: string;
|
|
@@ -2433,14 +2747,14 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
|
|
|
2433
2747
|
editingToolbarActionIndex: number | null;
|
|
2434
2748
|
editingRowActionIndex: number | null;
|
|
2435
2749
|
editingBulkActionIndex: number | null;
|
|
2436
|
-
readonly
|
|
2750
|
+
private readonly i18n;
|
|
2751
|
+
readonly globalActionCatalog: GlobalActionCatalogOption[];
|
|
2437
2752
|
get internalActionCatalog(): InternalActionSpec[];
|
|
2438
2753
|
readonly customActionValue = "__custom__";
|
|
2439
2754
|
readonly validShortcutScopes: ToolbarShortcutScope[];
|
|
2440
2755
|
private readonly actionFieldDrafts;
|
|
2441
2756
|
private readonly actionFieldErrors;
|
|
2442
2757
|
private readonly warnedInvalidShortcutScopes;
|
|
2443
|
-
private readonly i18n;
|
|
2444
2758
|
private destroy$;
|
|
2445
2759
|
constructor(fb: FormBuilder, iconPicker: IconPickerService);
|
|
2446
2760
|
tx(key: string, fallback: string): string;
|
|
@@ -2469,56 +2783,37 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
|
|
|
2469
2783
|
private removeAddToolbarAction;
|
|
2470
2784
|
private syncAddFormFromActions;
|
|
2471
2785
|
private updateConfig;
|
|
2472
|
-
getActionSelectValue(
|
|
2473
|
-
getActionParam(
|
|
2474
|
-
|
|
2786
|
+
getActionSelectValue(action?: EditableTableAction): string;
|
|
2787
|
+
getActionParam(action?: EditableTableAction): string;
|
|
2788
|
+
isRequiredGlobalActionParamMissing(action: EditableTableAction, spec: GlobalActionCatalogOption): boolean;
|
|
2789
|
+
getActionCustomValue(action?: EditableTableAction): string;
|
|
2475
2790
|
isInternalAction(value?: string): boolean;
|
|
2476
|
-
getActionSpecById(id: string):
|
|
2477
|
-
onActionSelectChange(action:
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
}, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2483
|
-
onActionCustomChange(action: {
|
|
2484
|
-
action?: string;
|
|
2485
|
-
}, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2791
|
+
getActionSpecById(id: string): GlobalActionCatalogOption | undefined;
|
|
2792
|
+
onActionSelectChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2793
|
+
onActionParamChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2794
|
+
onActionCustomChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2795
|
+
getCanonicalGlobalActionRef(action?: EditableTableAction): GlobalActionRef | undefined;
|
|
2796
|
+
private setCanonicalGlobalActionRef;
|
|
2486
2797
|
private touchActionList;
|
|
2487
|
-
|
|
2798
|
+
getActionJsonLogicText(action: EditableTableAction, key: 'visibleWhen' | 'disabledWhen'): string;
|
|
2799
|
+
onActionJsonLogicChange(action: EditableTableAction, key: 'visibleWhen' | 'disabledWhen', value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2800
|
+
getActionConditionError(action: EditableTableAction, key: 'visibleWhen' | 'disabledWhen'): string;
|
|
2488
2801
|
isGlobalActionId(id?: string): boolean;
|
|
2489
|
-
getGlobalActionSchema(action:
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
action?: string;
|
|
2500
|
-
}, field: GlobalActionField): boolean;
|
|
2501
|
-
hasActionFieldError(action: {
|
|
2502
|
-
action?: string;
|
|
2503
|
-
}, key: string): boolean;
|
|
2504
|
-
getActionFieldError(action: {
|
|
2505
|
-
action?: string;
|
|
2506
|
-
}, key: string): string;
|
|
2507
|
-
getGlobalActionFieldValue(action: {
|
|
2508
|
-
action?: string;
|
|
2509
|
-
}, field: GlobalActionField): any;
|
|
2510
|
-
onGlobalActionFieldChange(action: {
|
|
2511
|
-
action?: string;
|
|
2512
|
-
}, field: GlobalActionField, value: any, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2513
|
-
private getActionParamInfo;
|
|
2514
|
-
private parseMethodAndUrl;
|
|
2802
|
+
getGlobalActionSchema(action: EditableTableAction): _praxisui_core.GlobalActionUiSchema | undefined;
|
|
2803
|
+
getSurfaceOpenActionPayload(action: EditableTableAction): SurfaceOpenPayload;
|
|
2804
|
+
onSurfaceOpenActionPayloadChange(action: EditableTableAction, payload: SurfaceOpenPayload, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2805
|
+
shouldShowGlobalActionField(action: EditableTableAction, field: GlobalActionField): boolean;
|
|
2806
|
+
isGlobalActionFieldRequired(action: EditableTableAction, field: GlobalActionField): boolean;
|
|
2807
|
+
isGlobalActionFieldMissing(action: EditableTableAction, field: GlobalActionField): boolean;
|
|
2808
|
+
hasActionFieldError(action: EditableTableAction, key: string): boolean;
|
|
2809
|
+
getActionFieldError(action: EditableTableAction, key: string): string;
|
|
2810
|
+
getGlobalActionFieldValue(action: EditableTableAction, field: GlobalActionField): any;
|
|
2811
|
+
onGlobalActionFieldChange(action: EditableTableAction, field: GlobalActionField, value: any, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2515
2812
|
private stringifyJson;
|
|
2516
2813
|
private normalizeSurfaceOpenPayload;
|
|
2517
2814
|
private setActionFieldError;
|
|
2518
2815
|
private clearActionFieldError;
|
|
2519
2816
|
private collectGlobalActionFieldValues;
|
|
2520
|
-
private serializeGlobalActionParam;
|
|
2521
|
-
private buildPrimaryParam;
|
|
2522
2817
|
private buildGlobalActionPayload;
|
|
2523
2818
|
getToolbarActionShortcutScope(action: ToolbarAction): ToolbarShortcutScope;
|
|
2524
2819
|
onToolbarActionShortcutScopeChange(action: ToolbarAction, value: ToolbarShortcutScope | string): void;
|
|
@@ -2710,6 +3005,7 @@ declare class FilterSettingsComponent implements OnChanges, AfterViewInit, OnDes
|
|
|
2710
3005
|
}[];
|
|
2711
3006
|
getContrastWarning(): string | null;
|
|
2712
3007
|
applyPreset(key: string): void;
|
|
3008
|
+
isPresetActive(key: string): boolean;
|
|
2713
3009
|
hasBooleanFieldMetadata(): boolean;
|
|
2714
3010
|
getFieldLabel(name: string): string;
|
|
2715
3011
|
onAlwaysVisibleFieldSearchChange(value: string): void;
|
|
@@ -2873,12 +3169,10 @@ declare class RuleCompilerService {
|
|
|
2873
3169
|
static ɵprov: i0.ɵɵInjectableDeclaration<RuleCompilerService>;
|
|
2874
3170
|
}
|
|
2875
3171
|
|
|
2876
|
-
type RuleItem = {
|
|
2877
|
-
condition: JsonLogicExpression;
|
|
3172
|
+
type RuleItem = Omit<PraxisRuntimeConditionalEffectRule<RuleEffectDefinition>, 'effects'> & {
|
|
2878
3173
|
cssClass?: string;
|
|
2879
3174
|
style?: Record<string, string>;
|
|
2880
|
-
|
|
2881
|
-
effects?: _praxisui_table_rule_builder.RuleEffectDefinition;
|
|
3175
|
+
effects?: RuleEffectDefinition[];
|
|
2882
3176
|
enabled?: boolean;
|
|
2883
3177
|
};
|
|
2884
3178
|
declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy {
|
|
@@ -2948,6 +3242,7 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
2948
3242
|
onColumnSelect(field: string): void;
|
|
2949
3243
|
private initFromConfig;
|
|
2950
3244
|
private loadColumnRules;
|
|
3245
|
+
private normalizePersistedRules;
|
|
2951
3246
|
rebuildCondition(): void;
|
|
2952
3247
|
onDraftChange(): void;
|
|
2953
3248
|
applyTextPreset(preset: string): void;
|
|
@@ -2974,6 +3269,8 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
2974
3269
|
onExportRules(): void;
|
|
2975
3270
|
onImportRules(): void;
|
|
2976
3271
|
private sanitizeRule;
|
|
3272
|
+
private normalizeRuleEffects;
|
|
3273
|
+
getPrimaryEffect(r: RuleItem | null | undefined): RuleEffectDefinition | undefined;
|
|
2977
3274
|
getAnimationLabel(r: RuleItem): string | null;
|
|
2978
3275
|
private normalizeRendererAnimation;
|
|
2979
3276
|
private buildRendererOverrideFromRule;
|
|
@@ -3080,6 +3377,8 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3080
3377
|
private cdr;
|
|
3081
3378
|
private configService;
|
|
3082
3379
|
private readonly i18n;
|
|
3380
|
+
private readonly globalActionCatalogSource;
|
|
3381
|
+
private readonly globalActionCatalog;
|
|
3083
3382
|
filterSettingsEditor?: FilterSettingsComponent;
|
|
3084
3383
|
behaviorEditor?: BehaviorConfigEditorComponent;
|
|
3085
3384
|
rulesEditor?: TableRulesEditorComponent;
|
|
@@ -3142,6 +3441,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3142
3441
|
private hasLocalDataInput;
|
|
3143
3442
|
private filterDtoLoadSeq;
|
|
3144
3443
|
private lastKnownFilterSettings;
|
|
3444
|
+
private globalActionValidationIssues;
|
|
3145
3445
|
private readonly panelData;
|
|
3146
3446
|
private readonly crudService;
|
|
3147
3447
|
private readonly panelRef;
|
|
@@ -3168,6 +3468,9 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3168
3468
|
onRulesConfigChange(newCfg: TableConfig): void;
|
|
3169
3469
|
private updateColumnMetas;
|
|
3170
3470
|
private updateCanSaveState;
|
|
3471
|
+
private collectGlobalActionValidationIssues;
|
|
3472
|
+
private findGlobalActionCatalogEntry;
|
|
3473
|
+
private buildGlobalActionCatalog;
|
|
3171
3474
|
private subscribeCrudEditorChanges;
|
|
3172
3475
|
private showSuccess;
|
|
3173
3476
|
private showError;
|
|
@@ -3176,6 +3479,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3176
3479
|
* Normaliza uma configuração de tabela para comparação consistente
|
|
3177
3480
|
* Remove propriedades undefined, ordena arrays e objetos de forma consistente
|
|
3178
3481
|
*/
|
|
3482
|
+
private withCanonicalIdField;
|
|
3179
3483
|
private normalizeTableConfig;
|
|
3180
3484
|
/**
|
|
3181
3485
|
* Realiza comparação profunda de objetos, ignorando ordem de propriedades
|
|
@@ -3238,6 +3542,107 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3238
3542
|
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableConfigEditor, "praxis-table-config-editor", never, {}, {}, never, never, true, never>;
|
|
3239
3543
|
}
|
|
3240
3544
|
|
|
3545
|
+
interface PraxisTableWidgetEditorInputs {
|
|
3546
|
+
config?: TableConfig | null;
|
|
3547
|
+
resourcePath?: string | null;
|
|
3548
|
+
horizontalScroll?: 'auto' | 'wrap' | 'none';
|
|
3549
|
+
tableId?: string;
|
|
3550
|
+
componentInstanceId?: string;
|
|
3551
|
+
[key: string]: unknown;
|
|
3552
|
+
}
|
|
3553
|
+
interface PraxisTableWidgetEditorValue {
|
|
3554
|
+
inputs: PraxisTableWidgetEditorInputs;
|
|
3555
|
+
}
|
|
3556
|
+
declare class PraxisTableWidgetConfigEditor implements SettingsValueProvider$1, AfterViewInit, OnDestroy {
|
|
3557
|
+
inputs: PraxisTableWidgetEditorInputs | null;
|
|
3558
|
+
widgetKey?: string;
|
|
3559
|
+
tableEditor?: PraxisTableConfigEditor;
|
|
3560
|
+
readonly isDirty$: BehaviorSubject<boolean>;
|
|
3561
|
+
readonly isValid$: BehaviorSubject<boolean>;
|
|
3562
|
+
readonly isBusy$: BehaviorSubject<boolean>;
|
|
3563
|
+
private readonly subscription;
|
|
3564
|
+
ngAfterViewInit(): void;
|
|
3565
|
+
ngOnDestroy(): void;
|
|
3566
|
+
getSettingsValue(): PraxisTableWidgetEditorValue;
|
|
3567
|
+
onSave(): PraxisTableWidgetEditorValue;
|
|
3568
|
+
reset(): void;
|
|
3569
|
+
private initializeChildEditor;
|
|
3570
|
+
private buildValue;
|
|
3571
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableWidgetConfigEditor, never>;
|
|
3572
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableWidgetConfigEditor, "praxis-table-widget-config-editor", never, { "inputs": { "alias": "inputs"; "required": false; }; "widgetKey": { "alias": "widgetKey"; "required": false; }; }, {}, never, never, true, never>;
|
|
3573
|
+
}
|
|
3574
|
+
|
|
3575
|
+
interface PraxisFilterWidgetEditorInputs {
|
|
3576
|
+
resourcePath?: string | null;
|
|
3577
|
+
fieldMetadata?: FieldMetadata[] | null;
|
|
3578
|
+
filterId?: string;
|
|
3579
|
+
formId?: string;
|
|
3580
|
+
componentInstanceId?: string;
|
|
3581
|
+
alwaysVisibleFields?: string[];
|
|
3582
|
+
alwaysVisibleFieldMetadataOverrides?: Record<string, Record<string, unknown>>;
|
|
3583
|
+
selectedFieldIds?: string[];
|
|
3584
|
+
allowSaveTags?: boolean;
|
|
3585
|
+
changeDebounceMs?: number;
|
|
3586
|
+
placeBooleansInActions?: boolean;
|
|
3587
|
+
showToggleLabels?: boolean;
|
|
3588
|
+
alwaysMinWidth?: number;
|
|
3589
|
+
alwaysColsMd?: number;
|
|
3590
|
+
alwaysColsLg?: number;
|
|
3591
|
+
confirmTagDelete?: boolean;
|
|
3592
|
+
tagColor?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
3593
|
+
tagVariant?: 'filled' | 'outlined';
|
|
3594
|
+
tagButtonColor?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
3595
|
+
actionsButtonColor?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
3596
|
+
actionsVariant?: 'standard' | 'outlined';
|
|
3597
|
+
useInlineSearchableSelectVariant?: boolean;
|
|
3598
|
+
useInlineRangeVariant?: boolean;
|
|
3599
|
+
useInlineDateVariant?: boolean;
|
|
3600
|
+
useInlineDateRangeVariant?: boolean;
|
|
3601
|
+
useInlineTimeVariant?: boolean;
|
|
3602
|
+
useInlineTimeRangeVariant?: boolean;
|
|
3603
|
+
useInlineTreeSelectVariant?: boolean;
|
|
3604
|
+
overlayVariant?: 'card' | 'frosted';
|
|
3605
|
+
overlayBackdrop?: boolean;
|
|
3606
|
+
advancedOpenMode?: 'modal' | 'drawer';
|
|
3607
|
+
advancedClearButtonsEnabled?: boolean;
|
|
3608
|
+
persistenceKey?: string;
|
|
3609
|
+
showFilterSettings?: boolean;
|
|
3610
|
+
enableCustomization?: boolean;
|
|
3611
|
+
[key: string]: unknown;
|
|
3612
|
+
}
|
|
3613
|
+
interface PraxisFilterWidgetEditorValue {
|
|
3614
|
+
inputs: PraxisFilterWidgetEditorInputs;
|
|
3615
|
+
}
|
|
3616
|
+
declare class PraxisFilterWidgetConfigEditor implements SettingsValueProvider$1, OnDestroy {
|
|
3617
|
+
widgetKey?: string;
|
|
3618
|
+
set inputs(value: PraxisFilterWidgetEditorInputs | null);
|
|
3619
|
+
get inputs(): PraxisFilterWidgetEditorInputs | null;
|
|
3620
|
+
set filterSettings(component: FilterSettingsComponent | undefined);
|
|
3621
|
+
metadata: FieldMetadata[];
|
|
3622
|
+
settings: FilterConfig;
|
|
3623
|
+
configKey?: string;
|
|
3624
|
+
readonly isDirty$: BehaviorSubject<boolean>;
|
|
3625
|
+
readonly isValid$: BehaviorSubject<boolean>;
|
|
3626
|
+
readonly isBusy$: BehaviorSubject<boolean>;
|
|
3627
|
+
private currentInputs;
|
|
3628
|
+
private settingsEditor?;
|
|
3629
|
+
private subscription;
|
|
3630
|
+
ngOnDestroy(): void;
|
|
3631
|
+
getSettingsValue(): PraxisFilterWidgetEditorValue;
|
|
3632
|
+
onSave(): PraxisFilterWidgetEditorValue;
|
|
3633
|
+
reset(): void;
|
|
3634
|
+
private buildValue;
|
|
3635
|
+
private buildSettingsFromInputs;
|
|
3636
|
+
private projectSettingsToInputs;
|
|
3637
|
+
private normalizeSettings;
|
|
3638
|
+
private normalizeAdvancedOpenMode;
|
|
3639
|
+
private normalizeOverlayVariant;
|
|
3640
|
+
private cloneStringArray;
|
|
3641
|
+
private cloneRecord;
|
|
3642
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisFilterWidgetConfigEditor, never>;
|
|
3643
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisFilterWidgetConfigEditor, "praxis-filter-widget-config-editor", never, { "widgetKey": { "alias": "widgetKey"; "required": false; }; "inputs": { "alias": "inputs"; "required": false; }; }, {}, never, never, true, never>;
|
|
3644
|
+
}
|
|
3645
|
+
|
|
3241
3646
|
declare class DataFormatterComponent implements OnInit, OnChanges {
|
|
3242
3647
|
private cdr;
|
|
3243
3648
|
private formattingService;
|
|
@@ -3306,31 +3711,6 @@ declare class DataFormatterComponent implements OnInit, OnChanges {
|
|
|
3306
3711
|
static ɵcmp: i0.ɵɵComponentDeclaration<DataFormatterComponent, "data-formatter", never, { "columnType": { "alias": "columnType"; "required": false; }; "currentFormat": { "alias": "currentFormat"; "required": false; }; }, { "formatChange": "formatChange"; }, never, never, true, never>;
|
|
3307
3712
|
}
|
|
3308
3713
|
|
|
3309
|
-
type AnalyticsTableRow = Record<string, string | number | boolean | null>;
|
|
3310
|
-
type AnalyticsTableContractSource = 'remote' | 'fallback';
|
|
3311
|
-
interface AnalyticsTableViewModel {
|
|
3312
|
-
config: TableConfig;
|
|
3313
|
-
data: AnalyticsTableRow[];
|
|
3314
|
-
}
|
|
3315
|
-
interface AnalyticsTableContractDefinition<TKey extends string = string> {
|
|
3316
|
-
key: TKey;
|
|
3317
|
-
projectionId: string;
|
|
3318
|
-
path: string;
|
|
3319
|
-
title: PraxisTextValue;
|
|
3320
|
-
subtitle?: PraxisTextValue;
|
|
3321
|
-
fallbackProjection: PraxisAnalyticsProjection;
|
|
3322
|
-
fallbackRows?: AnalyticsTableRow[];
|
|
3323
|
-
}
|
|
3324
|
-
interface AnalyticsTableContractLoadOptions<TKey extends string = string> {
|
|
3325
|
-
cacheNamespace?: string;
|
|
3326
|
-
queryContexts?: Partial<Record<TKey, PraxisDataQueryContext | null>>;
|
|
3327
|
-
}
|
|
3328
|
-
interface AnalyticsTableContractLoadResult<TKey extends string = string> {
|
|
3329
|
-
views: Record<TKey, AnalyticsTableViewModel>;
|
|
3330
|
-
sources: Record<TKey, AnalyticsTableContractSource>;
|
|
3331
|
-
errors: Partial<Record<TKey, string>>;
|
|
3332
|
-
}
|
|
3333
|
-
|
|
3334
3714
|
interface AnalyticsTableConfigAdapterOptions {
|
|
3335
3715
|
title?: PraxisTextValue;
|
|
3336
3716
|
subtitle?: PraxisTextValue;
|
|
@@ -3344,24 +3724,6 @@ declare class AnalyticsTableConfigAdapterService {
|
|
|
3344
3724
|
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableConfigAdapterService>;
|
|
3345
3725
|
}
|
|
3346
3726
|
|
|
3347
|
-
declare class AnalyticsTableStatsApiService {
|
|
3348
|
-
private readonly http;
|
|
3349
|
-
private readonly apiUrl;
|
|
3350
|
-
private readonly statsBuilder;
|
|
3351
|
-
constructor(http: HttpClient, apiUrl: ApiUrlConfig);
|
|
3352
|
-
execute(projection: PraxisAnalyticsProjection, queryContext?: PraxisDataQueryContext | null): Promise<AnalyticsTableRow[]>;
|
|
3353
|
-
private toTableRows;
|
|
3354
|
-
private resolveTimeSeriesCategory;
|
|
3355
|
-
private resolveBucketCategory;
|
|
3356
|
-
private projectMetricValues;
|
|
3357
|
-
private resolveMetricValue;
|
|
3358
|
-
private buildStatsUrl;
|
|
3359
|
-
private applyQueryContext;
|
|
3360
|
-
private normalizeError;
|
|
3361
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsTableStatsApiService, never>;
|
|
3362
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableStatsApiService>;
|
|
3363
|
-
}
|
|
3364
|
-
|
|
3365
3727
|
declare class AnalyticsTableContractService {
|
|
3366
3728
|
private readonly analyticsSchema;
|
|
3367
3729
|
private readonly resolver;
|
|
@@ -3397,6 +3759,15 @@ declare function buildTableApplyPlan(doc: TableAuthoringDocument, runtime?: Tabl
|
|
|
3397
3759
|
}): TableApplyPlan;
|
|
3398
3760
|
declare function serializeTableAuthoringDocument(doc: TableAuthoringDocument): unknown;
|
|
3399
3761
|
|
|
3762
|
+
/**
|
|
3763
|
+
* Manifesto de authoring canônico para o componente praxis-table.
|
|
3764
|
+
* Este arquivo define o contrato executável para que agentes de IA editem tabelas.
|
|
3765
|
+
*
|
|
3766
|
+
* @version 2.0.0
|
|
3767
|
+
* @status COMPLIANT - Alinhado com o contrato v2 e TableConfig canônico.
|
|
3768
|
+
*/
|
|
3769
|
+
declare const PRAXIS_TABLE_AUTHORING_MANIFEST: ComponentAuthoringManifest;
|
|
3770
|
+
|
|
3400
3771
|
declare class PraxisTableInlineAuthoringEditorComponent implements OnChanges {
|
|
3401
3772
|
private readonly i18n;
|
|
3402
3773
|
config: TableConfig;
|
|
@@ -3497,7 +3868,7 @@ declare class ValueMappingEditorComponent implements OnInit, OnChanges {
|
|
|
3497
3868
|
[key: number]: string;
|
|
3498
3869
|
}>;
|
|
3499
3870
|
mappingPairs: ValueMappingPair[];
|
|
3500
|
-
dataSource: MatTableDataSource<ValueMappingPair,
|
|
3871
|
+
dataSource: MatTableDataSource<ValueMappingPair, _angular_material_paginator.MatPaginator>;
|
|
3501
3872
|
displayedColumns: string[];
|
|
3502
3873
|
showImportDialog: boolean;
|
|
3503
3874
|
importJsonText: string;
|
|
@@ -3643,7 +4014,6 @@ declare function providePraxisTableMetadata(): Provider;
|
|
|
3643
4014
|
declare module '@praxisui/core' {
|
|
3644
4015
|
interface AiCapabilityCategoryMap {
|
|
3645
4016
|
meta: true;
|
|
3646
|
-
bindings: true;
|
|
3647
4017
|
columns: true;
|
|
3648
4018
|
renderer: true;
|
|
3649
4019
|
conditional: true;
|
|
@@ -3657,6 +4027,7 @@ declare module '@praxisui/core' {
|
|
|
3657
4027
|
toolbar: true;
|
|
3658
4028
|
actions: true;
|
|
3659
4029
|
export: true;
|
|
4030
|
+
runtime: true;
|
|
3660
4031
|
performance: true;
|
|
3661
4032
|
messages: true;
|
|
3662
4033
|
localization: true;
|
|
@@ -3729,18 +4100,23 @@ type ComponentEditPlanCapability = {
|
|
|
3729
4100
|
declare const TABLE_COMPONENT_EDIT_PLAN_KIND = "praxis.table.component-edit-plan";
|
|
3730
4101
|
declare const TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND = "praxis.table.component-edit-plan.batch";
|
|
3731
4102
|
declare const TABLE_COMPONENT_EDIT_PLAN_VERSION = "1.0";
|
|
3732
|
-
type TableComponentEditChangeKind = 'set_column_format' | 'set_column_header' | 'set_column_visibility' | 'set_column_conditional_style' | 'set_column_computed' | 'set_column_value_mapping' | 'set_column_badge_renderer' | 'set_column_conditional_badge_renderers';
|
|
3733
|
-
|
|
4103
|
+
type TableComponentEditChangeKind = 'add_column' | 'set_column_format' | 'set_column_header' | 'set_column_visibility' | 'set_column_filterable' | 'set_column_sortable' | 'set_column_width' | 'set_column_order' | 'set_column_align' | 'set_column_style' | 'set_column_header_style' | 'set_column_sticky' | 'set_column_conditional_style' | 'set_row_conditional_style' | 'set_column_computed' | 'set_column_value_mapping' | 'set_column_renderer' | 'set_column_badge_renderer' | 'set_column_conditional_badge_renderers' | 'set_row_conditional_renderer' | 'configure_table_filtering' | 'configure_advanced_filters' | 'add_advanced_filter_fields' | 'remove_advanced_filter_fields' | 'configure_table_pagination' | 'configure_table_selection' | 'configure_table_sorting' | 'configure_toolbar' | 'add_toolbar_action' | 'add_row_action' | 'configure_export' | 'set_table_density' | 'set_toolbar_visibility';
|
|
4104
|
+
type TableComponentEditOperationId = 'column.add' | 'column.format.set' | 'column.header.set' | 'column.visibility.set' | 'column.filterable.set' | 'column.sortable.set' | 'column.width.set' | 'column.order.set' | 'column.align.set' | 'column.style.set' | 'column.headerStyle.set' | 'column.sticky.set' | 'column.renderer.set' | 'column.valueMapping.set' | 'column.conditionalStyle.add' | 'row.styleRule.add' | 'column.conditionalRenderer.add' | 'column.computed.add' | 'row.conditionalRenderer.add' | 'behavior.filtering.configure' | 'filter.advanced.configure' | 'filter.advanced.fields.add' | 'filter.advanced.fields.remove' | 'behavior.pagination.configure' | 'behavior.selection.configure' | 'behavior.sorting.configure' | 'toolbar.configure' | 'toolbar.action.add' | 'rowAction.add' | 'export.configure' | 'appearance.density.set' | 'toolbar.visibility.set';
|
|
4105
|
+
declare const TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS: readonly ["add_column", "set_column_format", "set_column_header", "set_column_visibility", "set_column_filterable", "set_column_sortable", "set_column_width", "set_column_order", "set_column_align", "set_column_style", "set_column_header_style", "set_column_sticky", "set_column_conditional_style", "set_row_conditional_style", "set_column_computed", "set_column_value_mapping", "set_column_renderer", "set_column_badge_renderer", "set_column_conditional_badge_renderers", "set_row_conditional_renderer", "configure_table_filtering", "configure_advanced_filters", "add_advanced_filter_fields", "remove_advanced_filter_fields", "configure_table_pagination", "configure_table_selection", "configure_table_sorting", "configure_toolbar", "add_toolbar_action", "add_row_action", "configure_export", "set_table_density", "set_toolbar_visibility"];
|
|
3734
4106
|
declare const TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS: Record<TableComponentEditChangeKind, string>;
|
|
3735
4107
|
interface TableComponentEditPlan {
|
|
3736
4108
|
kind?: typeof TABLE_COMPONENT_EDIT_PLAN_KIND;
|
|
3737
4109
|
version?: typeof TABLE_COMPONENT_EDIT_PLAN_VERSION | string;
|
|
3738
4110
|
componentId?: 'praxis-table' | string;
|
|
3739
4111
|
changeKind: TableComponentEditChangeKind | string;
|
|
4112
|
+
operationId?: TableComponentEditOperationId | string;
|
|
3740
4113
|
capabilityPath?: string;
|
|
3741
4114
|
configPath?: string;
|
|
3742
4115
|
field?: string;
|
|
3743
4116
|
targetField?: string;
|
|
4117
|
+
target?: unknown;
|
|
4118
|
+
input?: unknown;
|
|
4119
|
+
params?: unknown;
|
|
3744
4120
|
value?: unknown;
|
|
3745
4121
|
condition?: unknown;
|
|
3746
4122
|
style?: unknown;
|
|
@@ -3768,7 +4144,7 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3768
4144
|
readonly $defs: {
|
|
3769
4145
|
readonly changeKind: {
|
|
3770
4146
|
readonly type: "string";
|
|
3771
|
-
readonly enum: readonly ["set_column_format", "set_column_header", "set_column_visibility", "set_column_conditional_style", "set_column_computed", "set_column_value_mapping", "set_column_badge_renderer", "set_column_conditional_badge_renderers"];
|
|
4147
|
+
readonly enum: readonly ["add_column", "set_column_format", "set_column_header", "set_column_visibility", "set_column_filterable", "set_column_sortable", "set_column_width", "set_column_order", "set_column_align", "set_column_style", "set_column_header_style", "set_column_sticky", "set_column_conditional_style", "set_row_conditional_style", "set_column_computed", "set_column_value_mapping", "set_column_renderer", "set_column_badge_renderer", "set_column_conditional_badge_renderers", "set_row_conditional_renderer", "configure_table_filtering", "configure_advanced_filters", "add_advanced_filter_fields", "remove_advanced_filter_fields", "configure_table_pagination", "configure_table_selection", "configure_table_sorting", "configure_toolbar", "add_toolbar_action", "add_row_action", "configure_export", "set_table_density", "set_toolbar_visibility"];
|
|
3772
4148
|
};
|
|
3773
4149
|
readonly capabilityPath: {
|
|
3774
4150
|
readonly type: "string";
|
|
@@ -3803,6 +4179,9 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3803
4179
|
readonly type: "string";
|
|
3804
4180
|
readonly minLength: 1;
|
|
3805
4181
|
};
|
|
4182
|
+
readonly tooltip: {
|
|
4183
|
+
readonly $ref: "#/$defs/tooltip";
|
|
4184
|
+
};
|
|
3806
4185
|
};
|
|
3807
4186
|
readonly anyOf: readonly [{
|
|
3808
4187
|
readonly required: readonly ["text"];
|
|
@@ -3810,10 +4189,31 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3810
4189
|
readonly required: readonly ["textField"];
|
|
3811
4190
|
}];
|
|
3812
4191
|
};
|
|
4192
|
+
readonly tooltip: {
|
|
4193
|
+
readonly type: "object";
|
|
4194
|
+
readonly additionalProperties: false;
|
|
4195
|
+
readonly required: readonly ["text"];
|
|
4196
|
+
readonly properties: {
|
|
4197
|
+
readonly text: {
|
|
4198
|
+
readonly type: "string";
|
|
4199
|
+
readonly minLength: 1;
|
|
4200
|
+
};
|
|
4201
|
+
readonly position: {
|
|
4202
|
+
readonly type: "string";
|
|
4203
|
+
readonly enum: readonly ["top", "right", "bottom", "left", "above", "below", "before", "after"];
|
|
4204
|
+
};
|
|
4205
|
+
readonly bgColor: {
|
|
4206
|
+
readonly type: "string";
|
|
4207
|
+
readonly minLength: 1;
|
|
4208
|
+
};
|
|
4209
|
+
readonly delayMs: {
|
|
4210
|
+
readonly type: "number";
|
|
4211
|
+
};
|
|
4212
|
+
};
|
|
4213
|
+
};
|
|
3813
4214
|
readonly operation: {
|
|
3814
4215
|
readonly type: "object";
|
|
3815
4216
|
readonly additionalProperties: false;
|
|
3816
|
-
readonly required: readonly ["changeKind", "field", "value"];
|
|
3817
4217
|
readonly properties: {
|
|
3818
4218
|
readonly kind: {
|
|
3819
4219
|
readonly const: "praxis.table.component-edit-plan";
|
|
@@ -3824,6 +4224,12 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3824
4224
|
readonly componentId: {
|
|
3825
4225
|
readonly const: "praxis-table";
|
|
3826
4226
|
};
|
|
4227
|
+
readonly operationId: {
|
|
4228
|
+
readonly enum: readonly ["column.add", "column.format.set", "column.header.set", "column.visibility.set", "column.filterable.set", "column.sortable.set", "column.width.set", "column.order.set", "column.align.set", "column.style.set", "column.headerStyle.set", "column.sticky.set", "column.renderer.set", "column.valueMapping.set", "column.conditionalStyle.add", "row.styleRule.add", "column.conditionalRenderer.add", "column.computed.add", "row.conditionalRenderer.add", "behavior.filtering.configure", "filter.advanced.configure", "filter.advanced.fields.add", "filter.advanced.fields.remove", "behavior.pagination.configure", "behavior.selection.configure", "behavior.sorting.configure", "toolbar.configure", "toolbar.action.add", "rowAction.add", "export.configure", "appearance.density.set", "toolbar.visibility.set"];
|
|
4229
|
+
};
|
|
4230
|
+
readonly target: true;
|
|
4231
|
+
readonly input: true;
|
|
4232
|
+
readonly params: true;
|
|
3827
4233
|
readonly changeKind: {
|
|
3828
4234
|
readonly $ref: "#/$defs/changeKind";
|
|
3829
4235
|
};
|
|
@@ -3852,6 +4258,13 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3852
4258
|
readonly type: "string";
|
|
3853
4259
|
};
|
|
3854
4260
|
};
|
|
4261
|
+
readonly anyOf: readonly [{
|
|
4262
|
+
readonly required: readonly ["changeKind", "field", "value"];
|
|
4263
|
+
}, {
|
|
4264
|
+
readonly required: readonly ["operationId", "target", "input"];
|
|
4265
|
+
}, {
|
|
4266
|
+
readonly required: readonly ["operationId", "input"];
|
|
4267
|
+
}];
|
|
3855
4268
|
readonly allOf: readonly [{
|
|
3856
4269
|
readonly if: {
|
|
3857
4270
|
readonly properties: {
|
|
@@ -3928,8 +4341,12 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3928
4341
|
readonly required: readonly ["condition"];
|
|
3929
4342
|
readonly anyOf: readonly [{
|
|
3930
4343
|
readonly required: readonly ["badge"];
|
|
4344
|
+
}, {
|
|
4345
|
+
readonly required: readonly ["renderer"];
|
|
3931
4346
|
}, {
|
|
3932
4347
|
readonly required: readonly ["value"];
|
|
4348
|
+
}, {
|
|
4349
|
+
readonly required: readonly ["tooltip"];
|
|
3933
4350
|
}];
|
|
3934
4351
|
readonly properties: {
|
|
3935
4352
|
readonly condition: {
|
|
@@ -3938,6 +4355,14 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3938
4355
|
readonly badge: {
|
|
3939
4356
|
readonly $ref: "#/$defs/badge";
|
|
3940
4357
|
};
|
|
4358
|
+
readonly renderer: {
|
|
4359
|
+
readonly type: "object";
|
|
4360
|
+
readonly minProperties: 1;
|
|
4361
|
+
readonly additionalProperties: true;
|
|
4362
|
+
};
|
|
4363
|
+
readonly tooltip: {
|
|
4364
|
+
readonly $ref: "#/$defs/tooltip";
|
|
4365
|
+
};
|
|
3941
4366
|
readonly value: {
|
|
3942
4367
|
readonly $ref: "#/$defs/badge";
|
|
3943
4368
|
};
|
|
@@ -3995,5 +4420,5 @@ declare function coerceTableComponentEditPlan(value: unknown): TableComponentEdi
|
|
|
3995
4420
|
declare function compileTableComponentEditPlans(plans: TableComponentEditPlan[], currentConfig: TableConfig): TableComponentEditPlanCompileResult;
|
|
3996
4421
|
declare function compileTableComponentEditPlan(plan: TableComponentEditPlan, currentConfig: TableConfig): TableComponentEditPlanCompileResult;
|
|
3997
4422
|
|
|
3998
|
-
export { AnalyticsTableConfigAdapterService, AnalyticsTableContractService, AnalyticsTableStatsApiService, BOOLEAN_PRESETS, BehaviorConfigEditorComponent, CURRENCY_PRESETS, ColumnsConfigEditorComponent, DATE_PRESETS, DataFormatterComponent, DataFormattingService, FORMULA_TEMPLATES, FilterConfigService, FilterSettingsComponent, FormulaGeneratorService, JsonConfigEditorComponent, MessagesLocalizationEditorComponent, NUMBER_PRESETS, PERCENTAGE_PRESETS, PRAXIS_FILTER_COMPONENT_METADATA, PRAXIS_TABLE_COMPONENT_METADATA, PraxisFilter, PraxisTable, PraxisTableConfigEditor, PraxisTableInlineAuthoringEditorComponent, PraxisTableToolbar, STRING_PRESETS, TABLE_AI_CAPABILITIES, TABLE_COMPONENT_AI_CAPABILITIES, TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, TABLE_COMPONENT_EDIT_PLAN_KIND, TABLE_COMPONENT_EDIT_PLAN_VERSION, TASK_PRESETS, TableDefaultsProvider, TableRulesEditorComponent, ToolbarActionsEditorComponent, ValueMappingEditorComponent, VisualFormulaBuilderComponent, buildTableApplyPlan, coerceTableComponentEditPlan, coerceTableComponentEditPlans, compileTableComponentEditPlan, compileTableComponentEditPlans, createTableAuthoringDocument, getActionId, getEnum, getTableCapabilities, getTableComponentEditPlanCapabilities, isTableRendererSupportedByRichContentP0, mapTableRendererToRichContentP0, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, providePraxisFilterMetadata, providePraxisTableMetadata, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
|
|
3999
|
-
export type { ActionLike, AnalyticsTableConfigAdapterOptions, AnalyticsTableContractDefinition, AnalyticsTableContractLoadOptions, AnalyticsTableContractLoadResult, AnalyticsTableContractSource, AnalyticsTableRow, AnalyticsTableViewModel, ArithmeticParams, BehaviorConfigChange, BooleanFormatterOptions, BulkAction, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, ColumnChange, ColumnDataType$1 as ColumnDataType, ConcatenationParams, ConditionalMappingParams, CurrencyFormatterOptions, DataFormattingOptions, DataMode, DateFormatterOptions, DefaultValueParams, EditorDiagnostic, EditorDocument, FieldSchema, FilterConfig, FilterTag, FormatPreset, FormatterConfig, FormulaDefinition, FormulaParameterSchema, FormulaParams, FormulaTemplate, FormulaType, I18n, JsonEditorEvent, JsonValidationResult, MessagesLocalizationChange, NestedPropertyParams, NumberFormatterOptions, PercentageFormatterOptions, ResourcePathIntent, RowAction, RowExpansionChangeBase, RowExpansionChangeEvent, RowExpansionReasonCode, RowExpansionTrigger, StringFormatterOptions, TableApplyPlan, TableAuthoringDocument, TableBindings, Capability as TableComponentCapability, CapabilityCatalog as TableComponentCapabilityCatalog, CapabilityCategory as TableComponentCapabilityCategory, TableComponentEditChangeKind, TableComponentEditPlan, TableComponentEditPlanCompileResult, ValueKind as TableComponentValueKind, TableHorizontalScroll, TableProjectionContext, TableRichContentP0Node, TableRuntimeContext, TableValidationContext, ToolbarAction, ToolbarActionsChange, ValueKind$1 as ValueKind, ValueMappingPair };
|
|
4423
|
+
export { AnalyticsTableConfigAdapterService, AnalyticsTableContractService, AnalyticsTableStatsApiService, BOOLEAN_PRESETS, BehaviorConfigEditorComponent, CURRENCY_PRESETS, ColumnsConfigEditorComponent, DATE_PRESETS, DataFormatterComponent, DataFormattingService, FORMULA_TEMPLATES, FilterConfigService, FilterSettingsComponent, FormulaGeneratorService, JsonConfigEditorComponent, MessagesLocalizationEditorComponent, NUMBER_PRESETS, PERCENTAGE_PRESETS, PRAXIS_FILTER_COMPONENT_METADATA, PRAXIS_TABLE_AUTHORING_MANIFEST, PRAXIS_TABLE_COMPONENT_METADATA, PraxisFilter, PraxisFilterWidgetConfigEditor, PraxisTable, PraxisTableConfigEditor, PraxisTableInlineAuthoringEditorComponent, PraxisTableToolbar, PraxisTableWidgetConfigEditor, STRING_PRESETS, TABLE_AI_CAPABILITIES, TABLE_COMPONENT_AI_CAPABILITIES, TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, TABLE_COMPONENT_EDIT_PLAN_KIND, TABLE_COMPONENT_EDIT_PLAN_VERSION, TASK_PRESETS, TableDefaultsProvider, TableRulesEditorComponent, ToolbarActionsEditorComponent, ValueMappingEditorComponent, VisualFormulaBuilderComponent, buildTableApplyPlan, coerceTableComponentEditPlan, coerceTableComponentEditPlans, compileTableComponentEditPlan, compileTableComponentEditPlans, createTableAuthoringDocument, getActionId, getEnum, getTableCapabilities, getTableComponentEditPlanCapabilities, isTableRendererSupportedByRichContentP0, mapTableRendererToRichContentP0, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, providePraxisFilterMetadata, providePraxisTableMetadata, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
|
|
4424
|
+
export type { ActionLike, AnalyticsTableConfigAdapterOptions, AnalyticsTableContractDefinition, AnalyticsTableContractLoadOptions, AnalyticsTableContractLoadResult, AnalyticsTableContractSource, AnalyticsTableRow, AnalyticsTableViewModel, ArithmeticParams, BehaviorConfigChange, BooleanFormatterOptions, BulkAction, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, ColumnChange, ColumnDataType$1 as ColumnDataType, ConcatenationParams, ConditionalMappingParams, CurrencyFormatterOptions, DataFormattingOptions, DataMode, DateFormatterOptions, DefaultValueParams, EditorDiagnostic, EditorDocument, FieldSchema, FilterConfig, FilterTag, FormatPreset, FormatterConfig, FormulaDefinition, FormulaParameterSchema, FormulaParams, FormulaTemplate, FormulaType, I18n, JsonEditorEvent, JsonValidationResult, MessagesLocalizationChange, NestedPropertyParams, NumberFormatterOptions, PercentageFormatterOptions, PraxisFilterWidgetEditorInputs, PraxisFilterWidgetEditorValue, PraxisTableWidgetEditorInputs, PraxisTableWidgetEditorValue, ResourcePathIntent, RowAction, RowExpansionChangeBase, RowExpansionChangeEvent, RowExpansionReasonCode, RowExpansionTrigger, StringFormatterOptions, TableApplyPlan, TableAuthoringDocument, TableBindings, Capability as TableComponentCapability, CapabilityCatalog as TableComponentCapabilityCatalog, CapabilityCategory as TableComponentCapabilityCategory, TableComponentEditChangeKind, TableComponentEditPlan, TableComponentEditPlanCompileResult, ValueKind as TableComponentValueKind, TableHorizontalScroll, TableProjectionContext, TableRichContentP0Node, TableRuntimeContext, TableValidationContext, ToolbarAction, ToolbarActionsChange, ValueKind$1 as ValueKind, ValueMappingPair };
|