@praxisui/table 8.0.0-beta.3 → 8.0.0-beta.30
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 +150 -8
- 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 +331 -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-Dm2f0muy.mjs → praxisui-table-filter-form-dialog-host.component-CN9JWFoa.mjs} +69 -14
- package/fesm2022/praxisui-table-praxisui-table-DFBE5wpp.mjs +57164 -0
- package/fesm2022/{praxisui-table-table-agentic-authoring-turn-flow-tu7jtTwV.mjs → praxisui-table-table-agentic-authoring-turn-flow-EigJf8mp.mjs} +59 -4
- package/fesm2022/praxisui-table-table-ai.adapter-7THXe94D.mjs +2674 -0
- package/fesm2022/praxisui-table.mjs +1 -51444
- package/index.d.ts +391 -114
- package/package.json +15 -9
- package/src/lib/praxis-table.json-api.md +1325 -0
- package/fesm2022/praxisui-table-table-ai.adapter-DxjDaQqy.mjs +0 -895
package/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnDestroy, EventEmitter, ElementRef, OnInit, OnChanges, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, Provider, AfterContentInit } from '@angular/core';
|
|
2
|
+
import { OnDestroy, EventEmitter, ElementRef, OnInit, OnChanges, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, Provider, AfterContentInit, Injector } from '@angular/core';
|
|
3
3
|
import { ActivatedRoute } from '@angular/router';
|
|
4
4
|
import { MatTable, MatTableDataSource } from '@angular/material/table';
|
|
5
5
|
import { MatPaginatorSelectConfig, MatPaginator, PageEvent } from '@angular/material/paginator';
|
|
@@ -10,16 +10,16 @@ import { CdkDragDrop, CdkDragEnd, CdkDrag, CdkDropList } from '@angular/cdk/drag
|
|
|
10
10
|
import { BehaviorSubject, Subscription, Observable } from 'rxjs';
|
|
11
11
|
import { SettingsPanelService, SettingsValueProvider } from '@praxisui/settings-panel';
|
|
12
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,
|
|
13
|
+
import { TableConfig, LoggerService, PraxisI18nService, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ConnectionStorage, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, JsonLogicExpression, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog } from '@praxisui/core';
|
|
14
14
|
import { FormGroup, FormControl, FormBuilder } from '@angular/forms';
|
|
15
15
|
import { MatDialog } from '@angular/material/dialog';
|
|
16
16
|
import { CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';
|
|
17
|
+
import { MatSelect } from '@angular/material/select';
|
|
17
18
|
import { PraxisDialog } from '@praxisui/dialog';
|
|
18
|
-
import { PraxisAssistantTurnViewState, PraxisAssistantShellLayout, PraxisAssistantShellLabels, PraxisAssistantShellQuickReply, PraxisAssistantShellMessage } from '@praxisui/ai';
|
|
19
|
+
import { PraxisAssistantTurnViewState, PraxisAssistantShellLayout, PraxisAssistantShellLabels, PraxisAssistantSessionSnapshot, PraxisAssistantShellQuickReply, PraxisAssistantShellMessage } from '@praxisui/ai';
|
|
20
|
+
import { HttpClient } from '@angular/common/http';
|
|
19
21
|
import { MatTabChangeEvent } from '@angular/material/tabs';
|
|
20
|
-
import * as _praxisui_table_rule_builder from '@praxisui/table-rule-builder';
|
|
21
22
|
import { RuleEffectDefinition } from '@praxisui/table-rule-builder';
|
|
22
|
-
import { HttpClient } from '@angular/common/http';
|
|
23
23
|
import * as _angular_material_paginator_d_Zo1cMMo4 from '@angular/material/paginator.d-Zo1cMMo4';
|
|
24
24
|
import { MatCheckboxChange } from '@angular/material/checkbox';
|
|
25
25
|
|
|
@@ -46,11 +46,15 @@ declare class PraxisTableToolbar implements OnDestroy {
|
|
|
46
46
|
showActionsGroup: boolean;
|
|
47
47
|
showEndActions: boolean;
|
|
48
48
|
showMobileActions: boolean;
|
|
49
|
+
exportBusy: boolean;
|
|
49
50
|
evaluationContext: Record<string, any> | null;
|
|
50
51
|
toolbarAction: EventEmitter<{
|
|
51
52
|
action: string;
|
|
52
53
|
actionConfig?: any;
|
|
53
54
|
}>;
|
|
55
|
+
exportAction: EventEmitter<{
|
|
56
|
+
format: string;
|
|
57
|
+
}>;
|
|
54
58
|
readonly getActionId: typeof getActionId;
|
|
55
59
|
private readonly jsonLogic;
|
|
56
60
|
private readonly validToolbarActionTypes;
|
|
@@ -65,6 +69,7 @@ declare class PraxisTableToolbar implements OnDestroy {
|
|
|
65
69
|
constructor(hostRef?: ElementRef<HTMLElement> | null, logger?: LoggerService | undefined, i18n?: PraxisI18nService | undefined);
|
|
66
70
|
getExportDataLabel(): string;
|
|
67
71
|
getMoreActionsLabel(): string;
|
|
72
|
+
emitExportAction(event: Event, format: string): void;
|
|
68
73
|
private tx;
|
|
69
74
|
ngOnDestroy(): void;
|
|
70
75
|
private getNestedPropertyValue;
|
|
@@ -112,7 +117,7 @@ declare class PraxisTableToolbar implements OnDestroy {
|
|
|
112
117
|
private sortActions;
|
|
113
118
|
getExportIcon(format: string): string;
|
|
114
119
|
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>;
|
|
120
|
+
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
121
|
}
|
|
117
122
|
|
|
118
123
|
type ColumnDataType$1 = 'date' | 'number' | 'currency' | 'percentage' | 'string' | 'boolean' | 'custom';
|
|
@@ -213,6 +218,7 @@ declare class DataFormattingService {
|
|
|
213
218
|
*/
|
|
214
219
|
formatValue(value: any, columnType: ColumnDataType$1, formatString: string, options?: DataFormattingOptions): any;
|
|
215
220
|
private coerceValueToType;
|
|
221
|
+
private parseDateOnlyString;
|
|
216
222
|
private normalizeNumericDateInput;
|
|
217
223
|
private formatDate;
|
|
218
224
|
private formatNumber;
|
|
@@ -335,12 +341,15 @@ type I18n = {
|
|
|
335
341
|
searchPlaceholder: string;
|
|
336
342
|
advanced: string;
|
|
337
343
|
advancedTitle?: string;
|
|
344
|
+
advancedOpening?: string;
|
|
345
|
+
advancedUnavailable?: string;
|
|
338
346
|
clear: string;
|
|
339
347
|
apply: string;
|
|
340
348
|
add?: string;
|
|
341
349
|
filtersAdd?: string;
|
|
342
350
|
filtersSearch?: string;
|
|
343
351
|
addCount?: string;
|
|
352
|
+
addUnavailable?: string;
|
|
344
353
|
pendingCount?: string;
|
|
345
354
|
activeFiltersCount?: string;
|
|
346
355
|
selectAll?: string;
|
|
@@ -423,7 +432,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
423
432
|
showAddButton: boolean;
|
|
424
433
|
/** Controla a exibição do botão de limpar filtros */
|
|
425
434
|
showClearButton: boolean;
|
|
426
|
-
/** Controla a exibição do botão de pesquisar/aplicar filtros */
|
|
435
|
+
/** Controla a exibição do botão de pesquisar/aplicar filtros em fluxos manuais. */
|
|
427
436
|
showSearchButton: boolean;
|
|
428
437
|
/** Exibir confirmação ao excluir atalho (tag) */
|
|
429
438
|
confirmTagDelete: boolean;
|
|
@@ -513,6 +522,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
513
522
|
private alwaysFormReset$;
|
|
514
523
|
private dto;
|
|
515
524
|
advancedOpen: boolean;
|
|
525
|
+
advancedOpening: boolean;
|
|
516
526
|
advancedValid: boolean;
|
|
517
527
|
activeFiltersCount: number;
|
|
518
528
|
saving: boolean;
|
|
@@ -539,7 +549,8 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
539
549
|
id: string;
|
|
540
550
|
label: string;
|
|
541
551
|
}>;
|
|
542
|
-
|
|
552
|
+
readonly addSearchFieldId = "__praxis_filter_add_search__";
|
|
553
|
+
readonly addSelectAllFieldId = "__praxis_filter_add_select_all__";
|
|
543
554
|
private applySchemaQueued;
|
|
544
555
|
private fallbackLogger?;
|
|
545
556
|
private fallbackLoggerEnvironment;
|
|
@@ -554,6 +565,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
554
565
|
private _dbgLastToggleComponentsAt;
|
|
555
566
|
overlayPositions: ConnectedPosition[];
|
|
556
567
|
private advancedDebouncedSub?;
|
|
568
|
+
private advancedOpenRequestId;
|
|
557
569
|
private lastActiveElement?;
|
|
558
570
|
private lastSubmitAt;
|
|
559
571
|
private resizeObs?;
|
|
@@ -643,6 +655,11 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
643
655
|
retrySchemaLoad(): void;
|
|
644
656
|
private applySchemaMetas;
|
|
645
657
|
private applySchemaMetasNow;
|
|
658
|
+
private withFilterMaterialDesignPolicy;
|
|
659
|
+
private withAdvancedDatePickerTouchPolicy;
|
|
660
|
+
private isAdvancedDatePickerControl;
|
|
661
|
+
private buildAdvancedFilterColumn;
|
|
662
|
+
private isCompositeRangeFilterField;
|
|
646
663
|
private pickMetasByOrder;
|
|
647
664
|
private hasRemoteOptionSource;
|
|
648
665
|
private withInferredFilterControlType;
|
|
@@ -675,6 +692,9 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
675
692
|
onAdvancedValidityChange(valid: boolean): void;
|
|
676
693
|
onAddOpened(opened: boolean): void;
|
|
677
694
|
onAddQuery(q: string): void;
|
|
695
|
+
openAddSelect(select: MatSelect): void;
|
|
696
|
+
hasAddableFields(): boolean;
|
|
697
|
+
private getAddableItems;
|
|
678
698
|
private updateAddItems;
|
|
679
699
|
trackById(_idx: number, it: {
|
|
680
700
|
id: string;
|
|
@@ -725,9 +745,13 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
725
745
|
private ensureAdvancedConfigReady;
|
|
726
746
|
private focusSchemaRetryButton;
|
|
727
747
|
private showAdvancedUnavailableFeedback;
|
|
748
|
+
private setAdvancedOpening;
|
|
749
|
+
private deferAdvancedOpen;
|
|
728
750
|
private openAdvancedModal;
|
|
729
751
|
private openAdvancedDrawer;
|
|
730
752
|
toggleAdvanced(): void;
|
|
753
|
+
hasAdvancedFields(): boolean;
|
|
754
|
+
private getAdvancedCandidateMetas;
|
|
731
755
|
private usesProvidedFieldMetadata;
|
|
732
756
|
private applyProvidedFieldMetadata;
|
|
733
757
|
private saveConfig;
|
|
@@ -739,6 +763,9 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
739
763
|
private persistTags;
|
|
740
764
|
private cleanFilterPayload;
|
|
741
765
|
private upsertDtoValue;
|
|
766
|
+
private normalizeFilterFieldValue;
|
|
767
|
+
private getFilterFieldMetaByName;
|
|
768
|
+
private isEntityLookupFilterField;
|
|
742
769
|
private isEffectivelyEmptyFilterValue;
|
|
743
770
|
private syncFormsToDto;
|
|
744
771
|
private updateDisplayedTags;
|
|
@@ -754,6 +781,49 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
754
781
|
declare const PRAXIS_FILTER_COMPONENT_METADATA: ComponentDocMeta;
|
|
755
782
|
declare function providePraxisFilterMetadata(): Provider;
|
|
756
783
|
|
|
784
|
+
type AnalyticsTableRow = Record<string, string | number | boolean | null>;
|
|
785
|
+
type AnalyticsTableContractSource = 'remote' | 'fallback';
|
|
786
|
+
interface AnalyticsTableViewModel {
|
|
787
|
+
config: TableConfig;
|
|
788
|
+
data: AnalyticsTableRow[];
|
|
789
|
+
}
|
|
790
|
+
interface AnalyticsTableContractDefinition<TKey extends string = string> {
|
|
791
|
+
key: TKey;
|
|
792
|
+
projectionId: string;
|
|
793
|
+
path: string;
|
|
794
|
+
title: PraxisTextValue;
|
|
795
|
+
subtitle?: PraxisTextValue;
|
|
796
|
+
fallbackProjection: PraxisAnalyticsProjection;
|
|
797
|
+
fallbackRows?: AnalyticsTableRow[];
|
|
798
|
+
}
|
|
799
|
+
interface AnalyticsTableContractLoadOptions<TKey extends string = string> {
|
|
800
|
+
cacheNamespace?: string;
|
|
801
|
+
queryContexts?: Partial<Record<TKey, PraxisDataQueryContext | null>>;
|
|
802
|
+
}
|
|
803
|
+
interface AnalyticsTableContractLoadResult<TKey extends string = string> {
|
|
804
|
+
views: Record<TKey, AnalyticsTableViewModel>;
|
|
805
|
+
sources: Record<TKey, AnalyticsTableContractSource>;
|
|
806
|
+
errors: Partial<Record<TKey, string>>;
|
|
807
|
+
}
|
|
808
|
+
|
|
809
|
+
declare class AnalyticsTableStatsApiService {
|
|
810
|
+
private readonly http;
|
|
811
|
+
private readonly apiUrl;
|
|
812
|
+
private readonly statsBuilder;
|
|
813
|
+
constructor(http: HttpClient, apiUrl: ApiUrlConfig);
|
|
814
|
+
execute(projection: PraxisAnalyticsProjection, queryContext?: PraxisDataQueryContext | null): Promise<AnalyticsTableRow[]>;
|
|
815
|
+
private toTableRows;
|
|
816
|
+
private resolveTimeSeriesCategory;
|
|
817
|
+
private resolveBucketCategory;
|
|
818
|
+
private projectMetricValues;
|
|
819
|
+
private resolveMetricValue;
|
|
820
|
+
private buildStatsUrl;
|
|
821
|
+
private applyQueryContext;
|
|
822
|
+
private normalizeError;
|
|
823
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsTableStatsApiService, never>;
|
|
824
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableStatsApiService>;
|
|
825
|
+
}
|
|
826
|
+
|
|
757
827
|
type SchemaFieldHint = {
|
|
758
828
|
name: string;
|
|
759
829
|
label?: string;
|
|
@@ -835,6 +905,8 @@ type RowActionRuntimeOptions = {
|
|
|
835
905
|
type RuntimeRowAction = {
|
|
836
906
|
id: string;
|
|
837
907
|
action: string;
|
|
908
|
+
globalAction?: GlobalActionRef;
|
|
909
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
838
910
|
label?: string;
|
|
839
911
|
icon?: string;
|
|
840
912
|
color?: string;
|
|
@@ -842,6 +914,7 @@ type RuntimeRowAction = {
|
|
|
842
914
|
disabled?: boolean;
|
|
843
915
|
overflow?: boolean;
|
|
844
916
|
__praxisDiscoveredAction?: ResourceActionCatalogItem;
|
|
917
|
+
__praxisDiscoveredSurface?: ResourceSurfaceCatalogItem;
|
|
845
918
|
__praxisCapabilityDenied?: boolean;
|
|
846
919
|
};
|
|
847
920
|
type ExpansionDetailRuntimeStatus = 'idle' | 'loading' | 'ready' | 'error' | 'blocked';
|
|
@@ -865,17 +938,20 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
865
938
|
private connectionStorage;
|
|
866
939
|
private hostRef;
|
|
867
940
|
private global;
|
|
868
|
-
private
|
|
941
|
+
private injector;
|
|
869
942
|
private componentKeys;
|
|
870
943
|
private loadingOrchestrator;
|
|
944
|
+
private globalActions;
|
|
871
945
|
private loadingRenderer?;
|
|
872
946
|
private route?;
|
|
873
947
|
private logger?;
|
|
948
|
+
private analyticsStatsApi?;
|
|
874
949
|
private static readonly CELL_ANIMATION_CHANGE_CACHE_LIMIT;
|
|
875
950
|
private static readonly ROW_DISCOVERY_SUCCESS_CACHE_TTL_MS;
|
|
876
951
|
private static readonly ROW_DISCOVERY_ERROR_CACHE_TTL_MS;
|
|
877
952
|
private static readonly ROW_DISCOVERY_CACHE_LIMIT;
|
|
878
953
|
private static readonly ROW_DISCOVERY_MAX_CONCURRENT_REQUESTS;
|
|
954
|
+
private _resourceDiscovery?;
|
|
879
955
|
readonly paginatorSelectConfig: MatPaginatorSelectConfig;
|
|
880
956
|
private static readonly ROW_ANIMATION_PRESETS;
|
|
881
957
|
private static readonly ROW_ANIMATION_PRESET_ALIASES;
|
|
@@ -900,6 +976,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
900
976
|
rowAction: EventEmitter<any>;
|
|
901
977
|
toolbarAction: EventEmitter<any>;
|
|
902
978
|
bulkAction: EventEmitter<any>;
|
|
979
|
+
exportAction: EventEmitter<any>;
|
|
903
980
|
columnReorder: EventEmitter<any>;
|
|
904
981
|
columnReorderAttempt: EventEmitter<any>;
|
|
905
982
|
beforeDelete: EventEmitter<any>;
|
|
@@ -937,6 +1014,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
937
1014
|
readonly isExpansionDetailRow: (index: number, row: any) => boolean;
|
|
938
1015
|
columnReorderStatusMessage: string;
|
|
939
1016
|
columnReorderVisualStatusMessage: string;
|
|
1017
|
+
exportBusy: boolean;
|
|
1018
|
+
exportStatusMessage: string;
|
|
940
1019
|
private columnReorderStatusTimer;
|
|
941
1020
|
private columnReorderVisualStatusTimer;
|
|
942
1021
|
private columnReorderUndoSubscription;
|
|
@@ -949,6 +1028,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
949
1028
|
private lastResolvedDataMode;
|
|
950
1029
|
private localFilterFieldMetadataCache;
|
|
951
1030
|
private localFilterFieldMetadataCacheKey;
|
|
1031
|
+
private analyticsLoadSequence;
|
|
952
1032
|
private uncontrolledExpandedRowKeys;
|
|
953
1033
|
private readonly expansionOpaqueRefCacheLimit;
|
|
954
1034
|
private expansionOpaqueRefByRowKey;
|
|
@@ -976,6 +1056,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
976
1056
|
private rowDiscoveryMarkForCheckScheduled;
|
|
977
1057
|
private lastRowDiscoveryScopeKey;
|
|
978
1058
|
private readonly i18n;
|
|
1059
|
+
private readonly collectionExport;
|
|
979
1060
|
private readonly paginatorIntl;
|
|
980
1061
|
private schemaFieldsSnapshot;
|
|
981
1062
|
private runtimeSchemaMeta;
|
|
@@ -1025,6 +1106,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1025
1106
|
hasBottomPaginator(): boolean;
|
|
1026
1107
|
hasExplicitResourcePath(): boolean;
|
|
1027
1108
|
hasLocalDataInput(): boolean;
|
|
1109
|
+
hasAnalyticsProjectionInput(): boolean;
|
|
1028
1110
|
getDataMode(): DataMode;
|
|
1029
1111
|
isRemoteMode(): boolean;
|
|
1030
1112
|
isLocalMode(): boolean;
|
|
@@ -1073,6 +1155,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1073
1155
|
getSchemaFieldsSnapshot(): SchemaFieldHint[];
|
|
1074
1156
|
aiAdapter: any;
|
|
1075
1157
|
private aiAdapterLoadStarted;
|
|
1158
|
+
private aiAssistantOpenAfterAdapterLoad;
|
|
1076
1159
|
aiAssistantOpen: boolean;
|
|
1077
1160
|
aiAssistantPrompt: string;
|
|
1078
1161
|
aiAssistantViewState: PraxisAssistantTurnViewState | null;
|
|
@@ -1081,7 +1164,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1081
1164
|
private aiAssistantController;
|
|
1082
1165
|
private aiAssistantStateSubscription;
|
|
1083
1166
|
private readonly aiApi;
|
|
1167
|
+
private readonly assistantSessions;
|
|
1084
1168
|
private readonly aiTurnOrchestrator;
|
|
1169
|
+
private readonly aiAssistantSessionEffect;
|
|
1085
1170
|
private computedContextCache;
|
|
1086
1171
|
private computedFieldNames;
|
|
1087
1172
|
private readonly jsonLogic;
|
|
@@ -1128,21 +1213,42 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1128
1213
|
private tableConfigKey;
|
|
1129
1214
|
private filterConfigKey;
|
|
1130
1215
|
private ensureConfigDefaults;
|
|
1216
|
+
private mergePersistedTableConfigWithInput;
|
|
1217
|
+
private reconcileHostDeclaredTableContract;
|
|
1218
|
+
private reconcileHostDeclaredColumns;
|
|
1219
|
+
private reconcileHostDeclaredRowActions;
|
|
1220
|
+
private normalizePersistedRowActionIds;
|
|
1221
|
+
private normalizePersistedColumnIds;
|
|
1222
|
+
private clonePlainObject;
|
|
1131
1223
|
private setShowToolbar;
|
|
1132
1224
|
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,
|
|
1225
|
+
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);
|
|
1226
|
+
private get resourceDiscovery();
|
|
1134
1227
|
private ensureAiAdapterLoaded;
|
|
1135
1228
|
openAiAssistant(): void;
|
|
1229
|
+
aiAssistantTriggerTestId(position: string): string;
|
|
1230
|
+
openAiAssistantFromSession(session: PraxisAssistantSessionSnapshot): void;
|
|
1136
1231
|
closeAiAssistant(): void;
|
|
1137
1232
|
onAiAssistantPromptChange(prompt: string): void;
|
|
1138
1233
|
onAiAssistantSubmit(prompt: string): void;
|
|
1139
1234
|
onAiAssistantApply(): void;
|
|
1235
|
+
onAiAssistantRetry(): void;
|
|
1236
|
+
onAiAssistantCancel(): void;
|
|
1140
1237
|
onAiAssistantQuickReply(reply: PraxisAssistantShellQuickReply): void;
|
|
1141
1238
|
onAiAssistantEditMessage(message: PraxisAssistantShellMessage): void;
|
|
1142
1239
|
onAiAssistantResendMessage(message: PraxisAssistantShellMessage): void;
|
|
1143
1240
|
onAiAssistantLayoutChange(layout: PraxisAssistantShellLayout): void;
|
|
1144
1241
|
private initializeAiAssistantController;
|
|
1145
1242
|
private buildAiAssistantContextItems;
|
|
1243
|
+
private buildAiAssistantContextSnapshot;
|
|
1244
|
+
private syncAiAssistantSession;
|
|
1245
|
+
private hasAiAssistantSessionState;
|
|
1246
|
+
private resolveAiAssistantSessionId;
|
|
1247
|
+
private resolveAiAssistantOwnerId;
|
|
1248
|
+
private resolveAiAssistantRouteKey;
|
|
1249
|
+
private resolveAiAssistantSummary;
|
|
1250
|
+
private resolveAiAssistantBadge;
|
|
1251
|
+
private resolveAiAssistantIcon;
|
|
1146
1252
|
private emitLoadingState;
|
|
1147
1253
|
private hasResolvedRemoteDataLoad;
|
|
1148
1254
|
private isTableDataLoading;
|
|
@@ -1360,19 +1466,49 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1360
1466
|
private emitRowActionEvent;
|
|
1361
1467
|
private showConfirmDialog;
|
|
1362
1468
|
private executeDeleteAction;
|
|
1469
|
+
private dispatchRowAction;
|
|
1363
1470
|
private cloneForEmit;
|
|
1364
1471
|
private interpolateActionMessageTemplate;
|
|
1365
1472
|
private buildActionFeedbackContext;
|
|
1366
1473
|
private resolveActionFeedbackMessage;
|
|
1367
1474
|
private showActionFeedbackMessage;
|
|
1368
1475
|
private emitEventWithActionFeedback;
|
|
1476
|
+
private executeConfiguredGlobalAction;
|
|
1477
|
+
private resolveConfiguredGlobalActionRef;
|
|
1478
|
+
private resolveActionGlobalActionRef;
|
|
1479
|
+
private resolveGlobalActionPayload;
|
|
1480
|
+
private buildGlobalActionTemplateContext;
|
|
1481
|
+
private resolveGlobalActionTemplateValue;
|
|
1482
|
+
private isDeferredTemplateExpressionKey;
|
|
1483
|
+
private interpolateGlobalActionTemplate;
|
|
1484
|
+
private shouldEmitLocalForGlobalAction;
|
|
1369
1485
|
private resolveBulkValidationMessage;
|
|
1370
1486
|
private hasValidBulkSelectionCount;
|
|
1371
1487
|
private showBulkConfirmDialog;
|
|
1372
1488
|
onToolbarAction(event: {
|
|
1373
1489
|
action: string;
|
|
1374
1490
|
actionConfig?: any;
|
|
1375
|
-
}): void
|
|
1491
|
+
}): Promise<void>;
|
|
1492
|
+
private resolveBulkExportFormat;
|
|
1493
|
+
private isBulkExportActionKey;
|
|
1494
|
+
private normalizeExportFormat;
|
|
1495
|
+
private isExportFormatEnabled;
|
|
1496
|
+
private getFirstEnabledExportFormat;
|
|
1497
|
+
onExportAction(event: {
|
|
1498
|
+
format: string;
|
|
1499
|
+
}): Promise<void>;
|
|
1500
|
+
private shouldBlockSelectedExportWithoutSelection;
|
|
1501
|
+
private buildTableExportRequest;
|
|
1502
|
+
private resolveEffectiveExportScope;
|
|
1503
|
+
private resolveTableExportLoadedItems;
|
|
1504
|
+
private computeLocalExportRows;
|
|
1505
|
+
private buildTableExportFields;
|
|
1506
|
+
private downloadExportResult;
|
|
1507
|
+
private triggerExportDownload;
|
|
1508
|
+
private resolveExportFileName;
|
|
1509
|
+
private getExportFileExtension;
|
|
1510
|
+
private getExportMimeType;
|
|
1511
|
+
private showExportFeedback;
|
|
1376
1512
|
onAdvancedFilterSubmit(criteria: Record<string, any>): void;
|
|
1377
1513
|
onAdvancedFilterChange(criteria: Record<string, any>): void;
|
|
1378
1514
|
onAdvancedFilterClear(): void;
|
|
@@ -1507,6 +1643,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1507
1643
|
private pruneRowDiscoveryCaches;
|
|
1508
1644
|
private pruneRowDiscoveryCache;
|
|
1509
1645
|
private fetchData;
|
|
1646
|
+
private resolveAnalyticsProjection;
|
|
1647
|
+
private fetchAnalyticsProjectionData;
|
|
1510
1648
|
private getEffectiveFilterCriteria;
|
|
1511
1649
|
retryData(): void;
|
|
1512
1650
|
reloadSchema(): void;
|
|
@@ -1519,9 +1657,29 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1519
1657
|
* 3. format (data formatting like dates, numbers, currency)
|
|
1520
1658
|
*/
|
|
1521
1659
|
getCellValue(rowData: any, column: ColumnDefinition): any;
|
|
1660
|
+
private normalizeReadonlyEntityLookupCellValue;
|
|
1661
|
+
private toEntityLookupDisplayToken;
|
|
1662
|
+
private isEntityLookupDisplayCandidate;
|
|
1663
|
+
private toEntityLookupDisplayPrimitive;
|
|
1522
1664
|
private resolveImplicitFormat;
|
|
1523
1665
|
getCellClasses(rowData: any, column: ColumnDefinition): string[] | undefined;
|
|
1524
1666
|
getCellNgStyle(rowData: any, column: ColumnDefinition): Record<string, string> | undefined;
|
|
1667
|
+
private normalizeConditionalStyleRules;
|
|
1668
|
+
private normalizeConditionalStyleRecord;
|
|
1669
|
+
getCellTooltip(rowData: any, column: ColumnDefinition): string | null;
|
|
1670
|
+
getCellTooltipPosition(rowData: any, column: ColumnDefinition): 'above' | 'below' | 'left' | 'right' | 'before' | 'after';
|
|
1671
|
+
private resolveConditionalStyleTooltipText;
|
|
1672
|
+
private normalizeConditionalStyleEffects;
|
|
1673
|
+
private hasConditionalStyleEffectPayload;
|
|
1674
|
+
private resolveConditionalStyleClasses;
|
|
1675
|
+
private resolveConditionalStyleObject;
|
|
1676
|
+
private compileConditionalStyleEffect;
|
|
1677
|
+
private normalizeConditionalRendererRules;
|
|
1678
|
+
private normalizeObjectRecord;
|
|
1679
|
+
private buildColumnRendererOverrideFromEffects;
|
|
1680
|
+
private buildColumnRendererFromEffect;
|
|
1681
|
+
private resolveRuleAnimationFromEffects;
|
|
1682
|
+
private resolveRowTooltipFromEffects;
|
|
1525
1683
|
private resetComputedContextCache;
|
|
1526
1684
|
private ensureEffectiveCellRenderCache;
|
|
1527
1685
|
private ensureCellAnimationPreviousValuesByRowId;
|
|
@@ -1533,6 +1691,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1533
1691
|
private buildComputedSignature;
|
|
1534
1692
|
private stringifyDependencyValue;
|
|
1535
1693
|
private buildComputedValueMap;
|
|
1694
|
+
private collectComputedColumns;
|
|
1695
|
+
private evaluateCanonicalComputedColumns;
|
|
1696
|
+
private collectComputedExpressionDependencies;
|
|
1697
|
+
private collectJsonLogicVarDependencies;
|
|
1698
|
+
private resolveJsonLogicVarPath;
|
|
1536
1699
|
private buildEvaluationContext;
|
|
1537
1700
|
private getJsonLogicEvaluationOptions;
|
|
1538
1701
|
private resolveJsonLogicUserTimeZone;
|
|
@@ -1769,6 +1932,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1769
1932
|
private reconcileSelectionAfterDataChange;
|
|
1770
1933
|
private getComparableRowIdentity;
|
|
1771
1934
|
getIdField(): string;
|
|
1935
|
+
private resolveConfigMetaIdField;
|
|
1772
1936
|
private syncRuntimeSchemaMetaFromConfig;
|
|
1773
1937
|
private getEffectiveMetadataSnapshot;
|
|
1774
1938
|
getActionId(action: any): string;
|
|
@@ -1811,11 +1975,19 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1811
1975
|
private splitVisibleRowActionsFromVisible;
|
|
1812
1976
|
private decorateConfiguredRowAction;
|
|
1813
1977
|
private getDiscoveredRowWorkflowActions;
|
|
1978
|
+
private getDiscoveredRowSurfaceActionsFromSnapshot;
|
|
1814
1979
|
private getDiscoveredRowWorkflowActionsFromCatalog;
|
|
1815
1980
|
private supportsRowCrudAction;
|
|
1816
1981
|
private isCapabilityManagedCrudRowAction;
|
|
1817
1982
|
private findItemWorkflowAction;
|
|
1983
|
+
private findItemSurface;
|
|
1984
|
+
private isRowSurfaceAction;
|
|
1985
|
+
private isWritableRowSurface;
|
|
1986
|
+
private isReadableRowSurface;
|
|
1987
|
+
private getDiscoveredSurfaceIcon;
|
|
1988
|
+
private getDiscoveredSurfaceColor;
|
|
1818
1989
|
private getUnavailableWorkflowMessage;
|
|
1990
|
+
private getUnavailableSurfaceMessage;
|
|
1819
1991
|
private normalizeActionId;
|
|
1820
1992
|
private isActionVisible;
|
|
1821
1993
|
trackAction(index: number, item: any): any;
|
|
@@ -1829,8 +2001,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1829
2001
|
getRowMenuIcon(): string;
|
|
1830
2002
|
private scheduleRowDiscoveryMarkForCheck;
|
|
1831
2003
|
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>;
|
|
2004
|
+
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; }]>;
|
|
2005
|
+
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; }; "horizontalScroll": { "alias": "horizontalScroll"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "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"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; "selectionChange": "selectionChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
1834
2006
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
1835
2007
|
}
|
|
1836
2008
|
|
|
@@ -1843,7 +2015,6 @@ interface EditorDocument<TConfig, TBindings = unknown> {
|
|
|
1843
2015
|
type TableHorizontalScroll = 'auto' | 'wrap' | 'none';
|
|
1844
2016
|
interface TableBindings {
|
|
1845
2017
|
resourcePath?: string | null;
|
|
1846
|
-
idField?: string;
|
|
1847
2018
|
horizontalScroll?: TableHorizontalScroll;
|
|
1848
2019
|
}
|
|
1849
2020
|
interface TableAuthoringDocument extends EditorDocument<TableConfig, TableBindings> {
|
|
@@ -1900,7 +2071,6 @@ interface TableApplyPlan {
|
|
|
1900
2071
|
};
|
|
1901
2072
|
diff?: {
|
|
1902
2073
|
resourcePathChanged?: boolean;
|
|
1903
|
-
idFieldChanged?: boolean;
|
|
1904
2074
|
horizontalScrollChanged?: boolean;
|
|
1905
2075
|
requiresDataRefresh?: boolean;
|
|
1906
2076
|
};
|
|
@@ -2373,6 +2543,8 @@ interface ToolbarAction {
|
|
|
2373
2543
|
/** Material button appearance: filled (flat), outlined (stroked), elevated (raised), text, tonal */
|
|
2374
2544
|
appearance?: 'filled' | 'outlined' | 'elevated' | 'text' | 'tonal';
|
|
2375
2545
|
action: string;
|
|
2546
|
+
globalAction?: GlobalActionRef;
|
|
2547
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2376
2548
|
position: 'start' | 'end';
|
|
2377
2549
|
order?: number;
|
|
2378
2550
|
disabled?: boolean;
|
|
@@ -2380,7 +2552,7 @@ interface ToolbarAction {
|
|
|
2380
2552
|
shortcut?: string;
|
|
2381
2553
|
shortcutScope?: 'toolbar' | 'global';
|
|
2382
2554
|
tooltip?: string;
|
|
2383
|
-
visibleWhen?:
|
|
2555
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
2384
2556
|
children?: ToolbarAction[];
|
|
2385
2557
|
}
|
|
2386
2558
|
interface RowAction {
|
|
@@ -2388,11 +2560,15 @@ interface RowAction {
|
|
|
2388
2560
|
label: string;
|
|
2389
2561
|
icon: string;
|
|
2390
2562
|
action: string;
|
|
2563
|
+
globalAction?: GlobalActionRef;
|
|
2564
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2391
2565
|
color?: 'primary' | 'accent' | 'warn';
|
|
2392
2566
|
tooltip?: string;
|
|
2393
2567
|
requiresConfirmation?: boolean;
|
|
2394
2568
|
autoDelete?: boolean;
|
|
2395
2569
|
separator?: boolean;
|
|
2570
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
2571
|
+
disabledWhen?: JsonLogicExpression | null;
|
|
2396
2572
|
conditional?: string;
|
|
2397
2573
|
}
|
|
2398
2574
|
interface BulkAction {
|
|
@@ -2400,6 +2576,8 @@ interface BulkAction {
|
|
|
2400
2576
|
label: string;
|
|
2401
2577
|
icon: string;
|
|
2402
2578
|
action: string;
|
|
2579
|
+
globalAction?: GlobalActionRef;
|
|
2580
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2403
2581
|
color?: 'primary' | 'accent' | 'warn';
|
|
2404
2582
|
tooltip?: string;
|
|
2405
2583
|
requiresConfirmation?: boolean;
|
|
@@ -2413,6 +2591,25 @@ interface ToolbarActionsChange {
|
|
|
2413
2591
|
value: any;
|
|
2414
2592
|
fullConfig: TableConfig;
|
|
2415
2593
|
}
|
|
2594
|
+
type GlobalActionCatalogOption = GlobalActionCatalogEntry & {
|
|
2595
|
+
param?: {
|
|
2596
|
+
required?: boolean;
|
|
2597
|
+
label?: string;
|
|
2598
|
+
placeholder?: string;
|
|
2599
|
+
hint?: string;
|
|
2600
|
+
};
|
|
2601
|
+
};
|
|
2602
|
+
type EditableTableAction = {
|
|
2603
|
+
id?: string;
|
|
2604
|
+
label?: string;
|
|
2605
|
+
action?: string;
|
|
2606
|
+
globalAction?: GlobalActionRef;
|
|
2607
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2608
|
+
position?: string;
|
|
2609
|
+
appearance?: string;
|
|
2610
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
2611
|
+
disabledWhen?: JsonLogicExpression | null;
|
|
2612
|
+
};
|
|
2416
2613
|
type ToolbarShortcutScope = 'toolbar' | 'global';
|
|
2417
2614
|
interface InternalActionSpec {
|
|
2418
2615
|
id: string;
|
|
@@ -2433,14 +2630,14 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
|
|
|
2433
2630
|
editingToolbarActionIndex: number | null;
|
|
2434
2631
|
editingRowActionIndex: number | null;
|
|
2435
2632
|
editingBulkActionIndex: number | null;
|
|
2436
|
-
readonly
|
|
2633
|
+
private readonly i18n;
|
|
2634
|
+
readonly globalActionCatalog: GlobalActionCatalogOption[];
|
|
2437
2635
|
get internalActionCatalog(): InternalActionSpec[];
|
|
2438
2636
|
readonly customActionValue = "__custom__";
|
|
2439
2637
|
readonly validShortcutScopes: ToolbarShortcutScope[];
|
|
2440
2638
|
private readonly actionFieldDrafts;
|
|
2441
2639
|
private readonly actionFieldErrors;
|
|
2442
2640
|
private readonly warnedInvalidShortcutScopes;
|
|
2443
|
-
private readonly i18n;
|
|
2444
2641
|
private destroy$;
|
|
2445
2642
|
constructor(fb: FormBuilder, iconPicker: IconPickerService);
|
|
2446
2643
|
tx(key: string, fallback: string): string;
|
|
@@ -2469,56 +2666,37 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
|
|
|
2469
2666
|
private removeAddToolbarAction;
|
|
2470
2667
|
private syncAddFormFromActions;
|
|
2471
2668
|
private updateConfig;
|
|
2472
|
-
getActionSelectValue(
|
|
2473
|
-
getActionParam(
|
|
2474
|
-
|
|
2669
|
+
getActionSelectValue(action?: EditableTableAction): string;
|
|
2670
|
+
getActionParam(action?: EditableTableAction): string;
|
|
2671
|
+
isRequiredGlobalActionParamMissing(action: EditableTableAction, spec: GlobalActionCatalogOption): boolean;
|
|
2672
|
+
getActionCustomValue(action?: EditableTableAction): string;
|
|
2475
2673
|
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;
|
|
2674
|
+
getActionSpecById(id: string): GlobalActionCatalogOption | undefined;
|
|
2675
|
+
onActionSelectChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2676
|
+
onActionParamChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2677
|
+
onActionCustomChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2678
|
+
getCanonicalGlobalActionRef(action?: EditableTableAction): GlobalActionRef | undefined;
|
|
2679
|
+
private setCanonicalGlobalActionRef;
|
|
2486
2680
|
private touchActionList;
|
|
2487
|
-
|
|
2681
|
+
getActionJsonLogicText(action: EditableTableAction, key: 'visibleWhen' | 'disabledWhen'): string;
|
|
2682
|
+
onActionJsonLogicChange(action: EditableTableAction, key: 'visibleWhen' | 'disabledWhen', value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2683
|
+
getActionConditionError(action: EditableTableAction, key: 'visibleWhen' | 'disabledWhen'): string;
|
|
2488
2684
|
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;
|
|
2685
|
+
getGlobalActionSchema(action: EditableTableAction): _praxisui_core.GlobalActionUiSchema | undefined;
|
|
2686
|
+
getSurfaceOpenActionPayload(action: EditableTableAction): SurfaceOpenPayload;
|
|
2687
|
+
onSurfaceOpenActionPayloadChange(action: EditableTableAction, payload: SurfaceOpenPayload, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2688
|
+
shouldShowGlobalActionField(action: EditableTableAction, field: GlobalActionField): boolean;
|
|
2689
|
+
isGlobalActionFieldRequired(action: EditableTableAction, field: GlobalActionField): boolean;
|
|
2690
|
+
isGlobalActionFieldMissing(action: EditableTableAction, field: GlobalActionField): boolean;
|
|
2691
|
+
hasActionFieldError(action: EditableTableAction, key: string): boolean;
|
|
2692
|
+
getActionFieldError(action: EditableTableAction, key: string): string;
|
|
2693
|
+
getGlobalActionFieldValue(action: EditableTableAction, field: GlobalActionField): any;
|
|
2694
|
+
onGlobalActionFieldChange(action: EditableTableAction, field: GlobalActionField, value: any, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2515
2695
|
private stringifyJson;
|
|
2516
2696
|
private normalizeSurfaceOpenPayload;
|
|
2517
2697
|
private setActionFieldError;
|
|
2518
2698
|
private clearActionFieldError;
|
|
2519
2699
|
private collectGlobalActionFieldValues;
|
|
2520
|
-
private serializeGlobalActionParam;
|
|
2521
|
-
private buildPrimaryParam;
|
|
2522
2700
|
private buildGlobalActionPayload;
|
|
2523
2701
|
getToolbarActionShortcutScope(action: ToolbarAction): ToolbarShortcutScope;
|
|
2524
2702
|
onToolbarActionShortcutScopeChange(action: ToolbarAction, value: ToolbarShortcutScope | string): void;
|
|
@@ -2710,6 +2888,7 @@ declare class FilterSettingsComponent implements OnChanges, AfterViewInit, OnDes
|
|
|
2710
2888
|
}[];
|
|
2711
2889
|
getContrastWarning(): string | null;
|
|
2712
2890
|
applyPreset(key: string): void;
|
|
2891
|
+
isPresetActive(key: string): boolean;
|
|
2713
2892
|
hasBooleanFieldMetadata(): boolean;
|
|
2714
2893
|
getFieldLabel(name: string): string;
|
|
2715
2894
|
onAlwaysVisibleFieldSearchChange(value: string): void;
|
|
@@ -2873,12 +3052,10 @@ declare class RuleCompilerService {
|
|
|
2873
3052
|
static ɵprov: i0.ɵɵInjectableDeclaration<RuleCompilerService>;
|
|
2874
3053
|
}
|
|
2875
3054
|
|
|
2876
|
-
type RuleItem = {
|
|
2877
|
-
condition: JsonLogicExpression;
|
|
3055
|
+
type RuleItem = Omit<PraxisRuntimeConditionalEffectRule<RuleEffectDefinition>, 'effects'> & {
|
|
2878
3056
|
cssClass?: string;
|
|
2879
3057
|
style?: Record<string, string>;
|
|
2880
|
-
|
|
2881
|
-
effects?: _praxisui_table_rule_builder.RuleEffectDefinition;
|
|
3058
|
+
effects?: RuleEffectDefinition[];
|
|
2882
3059
|
enabled?: boolean;
|
|
2883
3060
|
};
|
|
2884
3061
|
declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy {
|
|
@@ -2948,6 +3125,7 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
2948
3125
|
onColumnSelect(field: string): void;
|
|
2949
3126
|
private initFromConfig;
|
|
2950
3127
|
private loadColumnRules;
|
|
3128
|
+
private normalizePersistedRules;
|
|
2951
3129
|
rebuildCondition(): void;
|
|
2952
3130
|
onDraftChange(): void;
|
|
2953
3131
|
applyTextPreset(preset: string): void;
|
|
@@ -2974,6 +3152,8 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
2974
3152
|
onExportRules(): void;
|
|
2975
3153
|
onImportRules(): void;
|
|
2976
3154
|
private sanitizeRule;
|
|
3155
|
+
private normalizeRuleEffects;
|
|
3156
|
+
getPrimaryEffect(r: RuleItem | null | undefined): RuleEffectDefinition | undefined;
|
|
2977
3157
|
getAnimationLabel(r: RuleItem): string | null;
|
|
2978
3158
|
private normalizeRendererAnimation;
|
|
2979
3159
|
private buildRendererOverrideFromRule;
|
|
@@ -3080,6 +3260,8 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3080
3260
|
private cdr;
|
|
3081
3261
|
private configService;
|
|
3082
3262
|
private readonly i18n;
|
|
3263
|
+
private readonly globalActionCatalogSource;
|
|
3264
|
+
private readonly globalActionCatalog;
|
|
3083
3265
|
filterSettingsEditor?: FilterSettingsComponent;
|
|
3084
3266
|
behaviorEditor?: BehaviorConfigEditorComponent;
|
|
3085
3267
|
rulesEditor?: TableRulesEditorComponent;
|
|
@@ -3142,6 +3324,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3142
3324
|
private hasLocalDataInput;
|
|
3143
3325
|
private filterDtoLoadSeq;
|
|
3144
3326
|
private lastKnownFilterSettings;
|
|
3327
|
+
private globalActionValidationIssues;
|
|
3145
3328
|
private readonly panelData;
|
|
3146
3329
|
private readonly crudService;
|
|
3147
3330
|
private readonly panelRef;
|
|
@@ -3168,6 +3351,9 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3168
3351
|
onRulesConfigChange(newCfg: TableConfig): void;
|
|
3169
3352
|
private updateColumnMetas;
|
|
3170
3353
|
private updateCanSaveState;
|
|
3354
|
+
private collectGlobalActionValidationIssues;
|
|
3355
|
+
private findGlobalActionCatalogEntry;
|
|
3356
|
+
private buildGlobalActionCatalog;
|
|
3171
3357
|
private subscribeCrudEditorChanges;
|
|
3172
3358
|
private showSuccess;
|
|
3173
3359
|
private showError;
|
|
@@ -3176,6 +3362,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3176
3362
|
* Normaliza uma configuração de tabela para comparação consistente
|
|
3177
3363
|
* Remove propriedades undefined, ordena arrays e objetos de forma consistente
|
|
3178
3364
|
*/
|
|
3365
|
+
private withCanonicalIdField;
|
|
3179
3366
|
private normalizeTableConfig;
|
|
3180
3367
|
/**
|
|
3181
3368
|
* Realiza comparação profunda de objetos, ignorando ordem de propriedades
|
|
@@ -3238,6 +3425,107 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3238
3425
|
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableConfigEditor, "praxis-table-config-editor", never, {}, {}, never, never, true, never>;
|
|
3239
3426
|
}
|
|
3240
3427
|
|
|
3428
|
+
interface PraxisTableWidgetEditorInputs {
|
|
3429
|
+
config?: TableConfig | null;
|
|
3430
|
+
resourcePath?: string | null;
|
|
3431
|
+
horizontalScroll?: 'auto' | 'wrap' | 'none';
|
|
3432
|
+
tableId?: string;
|
|
3433
|
+
componentInstanceId?: string;
|
|
3434
|
+
[key: string]: unknown;
|
|
3435
|
+
}
|
|
3436
|
+
interface PraxisTableWidgetEditorValue {
|
|
3437
|
+
inputs: PraxisTableWidgetEditorInputs;
|
|
3438
|
+
}
|
|
3439
|
+
declare class PraxisTableWidgetConfigEditor implements SettingsValueProvider$1, AfterViewInit, OnDestroy {
|
|
3440
|
+
inputs: PraxisTableWidgetEditorInputs | null;
|
|
3441
|
+
widgetKey?: string;
|
|
3442
|
+
tableEditor?: PraxisTableConfigEditor;
|
|
3443
|
+
readonly isDirty$: BehaviorSubject<boolean>;
|
|
3444
|
+
readonly isValid$: BehaviorSubject<boolean>;
|
|
3445
|
+
readonly isBusy$: BehaviorSubject<boolean>;
|
|
3446
|
+
private readonly subscription;
|
|
3447
|
+
ngAfterViewInit(): void;
|
|
3448
|
+
ngOnDestroy(): void;
|
|
3449
|
+
getSettingsValue(): PraxisTableWidgetEditorValue;
|
|
3450
|
+
onSave(): PraxisTableWidgetEditorValue;
|
|
3451
|
+
reset(): void;
|
|
3452
|
+
private initializeChildEditor;
|
|
3453
|
+
private buildValue;
|
|
3454
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableWidgetConfigEditor, never>;
|
|
3455
|
+
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>;
|
|
3456
|
+
}
|
|
3457
|
+
|
|
3458
|
+
interface PraxisFilterWidgetEditorInputs {
|
|
3459
|
+
resourcePath?: string | null;
|
|
3460
|
+
fieldMetadata?: FieldMetadata[] | null;
|
|
3461
|
+
filterId?: string;
|
|
3462
|
+
formId?: string;
|
|
3463
|
+
componentInstanceId?: string;
|
|
3464
|
+
alwaysVisibleFields?: string[];
|
|
3465
|
+
alwaysVisibleFieldMetadataOverrides?: Record<string, Record<string, unknown>>;
|
|
3466
|
+
selectedFieldIds?: string[];
|
|
3467
|
+
allowSaveTags?: boolean;
|
|
3468
|
+
changeDebounceMs?: number;
|
|
3469
|
+
placeBooleansInActions?: boolean;
|
|
3470
|
+
showToggleLabels?: boolean;
|
|
3471
|
+
alwaysMinWidth?: number;
|
|
3472
|
+
alwaysColsMd?: number;
|
|
3473
|
+
alwaysColsLg?: number;
|
|
3474
|
+
confirmTagDelete?: boolean;
|
|
3475
|
+
tagColor?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
3476
|
+
tagVariant?: 'filled' | 'outlined';
|
|
3477
|
+
tagButtonColor?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
3478
|
+
actionsButtonColor?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
3479
|
+
actionsVariant?: 'standard' | 'outlined';
|
|
3480
|
+
useInlineSearchableSelectVariant?: boolean;
|
|
3481
|
+
useInlineRangeVariant?: boolean;
|
|
3482
|
+
useInlineDateVariant?: boolean;
|
|
3483
|
+
useInlineDateRangeVariant?: boolean;
|
|
3484
|
+
useInlineTimeVariant?: boolean;
|
|
3485
|
+
useInlineTimeRangeVariant?: boolean;
|
|
3486
|
+
useInlineTreeSelectVariant?: boolean;
|
|
3487
|
+
overlayVariant?: 'card' | 'frosted';
|
|
3488
|
+
overlayBackdrop?: boolean;
|
|
3489
|
+
advancedOpenMode?: 'modal' | 'drawer';
|
|
3490
|
+
advancedClearButtonsEnabled?: boolean;
|
|
3491
|
+
persistenceKey?: string;
|
|
3492
|
+
showFilterSettings?: boolean;
|
|
3493
|
+
enableCustomization?: boolean;
|
|
3494
|
+
[key: string]: unknown;
|
|
3495
|
+
}
|
|
3496
|
+
interface PraxisFilterWidgetEditorValue {
|
|
3497
|
+
inputs: PraxisFilterWidgetEditorInputs;
|
|
3498
|
+
}
|
|
3499
|
+
declare class PraxisFilterWidgetConfigEditor implements SettingsValueProvider$1, OnDestroy {
|
|
3500
|
+
widgetKey?: string;
|
|
3501
|
+
set inputs(value: PraxisFilterWidgetEditorInputs | null);
|
|
3502
|
+
get inputs(): PraxisFilterWidgetEditorInputs | null;
|
|
3503
|
+
set filterSettings(component: FilterSettingsComponent | undefined);
|
|
3504
|
+
metadata: FieldMetadata[];
|
|
3505
|
+
settings: FilterConfig;
|
|
3506
|
+
configKey?: string;
|
|
3507
|
+
readonly isDirty$: BehaviorSubject<boolean>;
|
|
3508
|
+
readonly isValid$: BehaviorSubject<boolean>;
|
|
3509
|
+
readonly isBusy$: BehaviorSubject<boolean>;
|
|
3510
|
+
private currentInputs;
|
|
3511
|
+
private settingsEditor?;
|
|
3512
|
+
private subscription;
|
|
3513
|
+
ngOnDestroy(): void;
|
|
3514
|
+
getSettingsValue(): PraxisFilterWidgetEditorValue;
|
|
3515
|
+
onSave(): PraxisFilterWidgetEditorValue;
|
|
3516
|
+
reset(): void;
|
|
3517
|
+
private buildValue;
|
|
3518
|
+
private buildSettingsFromInputs;
|
|
3519
|
+
private projectSettingsToInputs;
|
|
3520
|
+
private normalizeSettings;
|
|
3521
|
+
private normalizeAdvancedOpenMode;
|
|
3522
|
+
private normalizeOverlayVariant;
|
|
3523
|
+
private cloneStringArray;
|
|
3524
|
+
private cloneRecord;
|
|
3525
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisFilterWidgetConfigEditor, never>;
|
|
3526
|
+
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>;
|
|
3527
|
+
}
|
|
3528
|
+
|
|
3241
3529
|
declare class DataFormatterComponent implements OnInit, OnChanges {
|
|
3242
3530
|
private cdr;
|
|
3243
3531
|
private formattingService;
|
|
@@ -3306,31 +3594,6 @@ declare class DataFormatterComponent implements OnInit, OnChanges {
|
|
|
3306
3594
|
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
3595
|
}
|
|
3308
3596
|
|
|
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
3597
|
interface AnalyticsTableConfigAdapterOptions {
|
|
3335
3598
|
title?: PraxisTextValue;
|
|
3336
3599
|
subtitle?: PraxisTextValue;
|
|
@@ -3344,24 +3607,6 @@ declare class AnalyticsTableConfigAdapterService {
|
|
|
3344
3607
|
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableConfigAdapterService>;
|
|
3345
3608
|
}
|
|
3346
3609
|
|
|
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
3610
|
declare class AnalyticsTableContractService {
|
|
3366
3611
|
private readonly analyticsSchema;
|
|
3367
3612
|
private readonly resolver;
|
|
@@ -3397,6 +3642,15 @@ declare function buildTableApplyPlan(doc: TableAuthoringDocument, runtime?: Tabl
|
|
|
3397
3642
|
}): TableApplyPlan;
|
|
3398
3643
|
declare function serializeTableAuthoringDocument(doc: TableAuthoringDocument): unknown;
|
|
3399
3644
|
|
|
3645
|
+
/**
|
|
3646
|
+
* Manifesto de authoring canônico para o componente praxis-table.
|
|
3647
|
+
* Este arquivo define o contrato executável para que agentes de IA editem tabelas.
|
|
3648
|
+
*
|
|
3649
|
+
* @version 2.0.0
|
|
3650
|
+
* @status COMPLIANT - Alinhado com o contrato v2 e TableConfig canônico.
|
|
3651
|
+
*/
|
|
3652
|
+
declare const PRAXIS_TABLE_AUTHORING_MANIFEST: ComponentAuthoringManifest;
|
|
3653
|
+
|
|
3400
3654
|
declare class PraxisTableInlineAuthoringEditorComponent implements OnChanges {
|
|
3401
3655
|
private readonly i18n;
|
|
3402
3656
|
config: TableConfig;
|
|
@@ -3643,7 +3897,6 @@ declare function providePraxisTableMetadata(): Provider;
|
|
|
3643
3897
|
declare module '@praxisui/core' {
|
|
3644
3898
|
interface AiCapabilityCategoryMap {
|
|
3645
3899
|
meta: true;
|
|
3646
|
-
bindings: true;
|
|
3647
3900
|
columns: true;
|
|
3648
3901
|
renderer: true;
|
|
3649
3902
|
conditional: true;
|
|
@@ -3729,18 +3982,23 @@ type ComponentEditPlanCapability = {
|
|
|
3729
3982
|
declare const TABLE_COMPONENT_EDIT_PLAN_KIND = "praxis.table.component-edit-plan";
|
|
3730
3983
|
declare const TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND = "praxis.table.component-edit-plan.batch";
|
|
3731
3984
|
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
|
-
|
|
3985
|
+
type TableComponentEditChangeKind = 'set_column_format' | 'set_column_header' | 'set_column_visibility' | 'set_column_filterable' | 'set_column_sortable' | 'set_column_width' | 'set_column_align' | 'set_column_sticky' | 'set_column_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_table_pagination' | 'configure_table_selection' | 'configure_table_sorting' | 'configure_toolbar' | 'configure_export' | 'set_table_density' | 'set_toolbar_visibility';
|
|
3986
|
+
type TableComponentEditOperationId = 'column.format.set' | 'column.header.set' | 'column.visibility.set' | 'column.filterable.set' | 'column.sortable.set' | 'column.width.set' | 'column.align.set' | 'column.sticky.set' | 'column.renderer.set' | 'column.valueMapping.set' | 'column.conditionalStyle.add' | 'column.conditionalRenderer.add' | 'column.computed.add' | 'row.conditionalRenderer.add' | 'behavior.filtering.configure' | 'behavior.pagination.configure' | 'behavior.selection.configure' | 'behavior.sorting.configure' | 'toolbar.configure' | 'export.configure' | 'appearance.density.set' | 'toolbar.visibility.set';
|
|
3987
|
+
declare const TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS: readonly ["set_column_format", "set_column_header", "set_column_visibility", "set_column_filterable", "set_column_sortable", "set_column_width", "set_column_align", "set_column_sticky", "set_column_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_table_pagination", "configure_table_selection", "configure_table_sorting", "configure_toolbar", "configure_export", "set_table_density", "set_toolbar_visibility"];
|
|
3734
3988
|
declare const TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS: Record<TableComponentEditChangeKind, string>;
|
|
3735
3989
|
interface TableComponentEditPlan {
|
|
3736
3990
|
kind?: typeof TABLE_COMPONENT_EDIT_PLAN_KIND;
|
|
3737
3991
|
version?: typeof TABLE_COMPONENT_EDIT_PLAN_VERSION | string;
|
|
3738
3992
|
componentId?: 'praxis-table' | string;
|
|
3739
3993
|
changeKind: TableComponentEditChangeKind | string;
|
|
3994
|
+
operationId?: TableComponentEditOperationId | string;
|
|
3740
3995
|
capabilityPath?: string;
|
|
3741
3996
|
configPath?: string;
|
|
3742
3997
|
field?: string;
|
|
3743
3998
|
targetField?: string;
|
|
3999
|
+
target?: unknown;
|
|
4000
|
+
input?: unknown;
|
|
4001
|
+
params?: unknown;
|
|
3744
4002
|
value?: unknown;
|
|
3745
4003
|
condition?: unknown;
|
|
3746
4004
|
style?: unknown;
|
|
@@ -3768,7 +4026,7 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3768
4026
|
readonly $defs: {
|
|
3769
4027
|
readonly changeKind: {
|
|
3770
4028
|
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"];
|
|
4029
|
+
readonly enum: readonly ["set_column_format", "set_column_header", "set_column_visibility", "set_column_filterable", "set_column_sortable", "set_column_width", "set_column_align", "set_column_sticky", "set_column_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_table_pagination", "configure_table_selection", "configure_table_sorting", "configure_toolbar", "configure_export", "set_table_density", "set_toolbar_visibility"];
|
|
3772
4030
|
};
|
|
3773
4031
|
readonly capabilityPath: {
|
|
3774
4032
|
readonly type: "string";
|
|
@@ -3813,7 +4071,6 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3813
4071
|
readonly operation: {
|
|
3814
4072
|
readonly type: "object";
|
|
3815
4073
|
readonly additionalProperties: false;
|
|
3816
|
-
readonly required: readonly ["changeKind", "field", "value"];
|
|
3817
4074
|
readonly properties: {
|
|
3818
4075
|
readonly kind: {
|
|
3819
4076
|
readonly const: "praxis.table.component-edit-plan";
|
|
@@ -3824,6 +4081,12 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3824
4081
|
readonly componentId: {
|
|
3825
4082
|
readonly const: "praxis-table";
|
|
3826
4083
|
};
|
|
4084
|
+
readonly operationId: {
|
|
4085
|
+
readonly enum: readonly ["column.format.set", "column.header.set", "column.visibility.set", "column.filterable.set", "column.sortable.set", "column.width.set", "column.align.set", "column.sticky.set", "column.renderer.set", "column.valueMapping.set", "column.conditionalStyle.add", "column.conditionalRenderer.add", "column.computed.add", "row.conditionalRenderer.add", "behavior.filtering.configure", "behavior.pagination.configure", "behavior.selection.configure", "behavior.sorting.configure", "toolbar.configure", "export.configure", "appearance.density.set", "toolbar.visibility.set"];
|
|
4086
|
+
};
|
|
4087
|
+
readonly target: true;
|
|
4088
|
+
readonly input: true;
|
|
4089
|
+
readonly params: true;
|
|
3827
4090
|
readonly changeKind: {
|
|
3828
4091
|
readonly $ref: "#/$defs/changeKind";
|
|
3829
4092
|
};
|
|
@@ -3852,6 +4115,13 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3852
4115
|
readonly type: "string";
|
|
3853
4116
|
};
|
|
3854
4117
|
};
|
|
4118
|
+
readonly anyOf: readonly [{
|
|
4119
|
+
readonly required: readonly ["changeKind", "field", "value"];
|
|
4120
|
+
}, {
|
|
4121
|
+
readonly required: readonly ["operationId", "target", "input"];
|
|
4122
|
+
}, {
|
|
4123
|
+
readonly required: readonly ["operationId", "input"];
|
|
4124
|
+
}];
|
|
3855
4125
|
readonly allOf: readonly [{
|
|
3856
4126
|
readonly if: {
|
|
3857
4127
|
readonly properties: {
|
|
@@ -3928,6 +4198,8 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3928
4198
|
readonly required: readonly ["condition"];
|
|
3929
4199
|
readonly anyOf: readonly [{
|
|
3930
4200
|
readonly required: readonly ["badge"];
|
|
4201
|
+
}, {
|
|
4202
|
+
readonly required: readonly ["renderer"];
|
|
3931
4203
|
}, {
|
|
3932
4204
|
readonly required: readonly ["value"];
|
|
3933
4205
|
}];
|
|
@@ -3938,6 +4210,11 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3938
4210
|
readonly badge: {
|
|
3939
4211
|
readonly $ref: "#/$defs/badge";
|
|
3940
4212
|
};
|
|
4213
|
+
readonly renderer: {
|
|
4214
|
+
readonly type: "object";
|
|
4215
|
+
readonly minProperties: 1;
|
|
4216
|
+
readonly additionalProperties: true;
|
|
4217
|
+
};
|
|
3941
4218
|
readonly value: {
|
|
3942
4219
|
readonly $ref: "#/$defs/badge";
|
|
3943
4220
|
};
|
|
@@ -3995,5 +4272,5 @@ declare function coerceTableComponentEditPlan(value: unknown): TableComponentEdi
|
|
|
3995
4272
|
declare function compileTableComponentEditPlans(plans: TableComponentEditPlan[], currentConfig: TableConfig): TableComponentEditPlanCompileResult;
|
|
3996
4273
|
declare function compileTableComponentEditPlan(plan: TableComponentEditPlan, currentConfig: TableConfig): TableComponentEditPlanCompileResult;
|
|
3997
4274
|
|
|
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 };
|
|
4275
|
+
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 };
|
|
4276
|
+
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 };
|