@praxisui/table 8.0.0-beta.8 → 8.0.0-beta.80
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-BigLNasG.mjs +59830 -0
- package/fesm2022/praxisui-table-table-agentic-authoring-turn-flow-CyJJHpMr.mjs +3014 -0
- package/fesm2022/praxisui-table-table-ai.adapter-D8fQSvC3.mjs +3624 -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} +548 -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,57 @@ 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
|
+
private shouldMinimizeAiAssistantAfterApply;
|
|
1291
|
+
private isMaterializedRowActionPatch;
|
|
1292
|
+
private asPlainRecord;
|
|
1293
|
+
onAiAssistantRetry(): void;
|
|
1294
|
+
onAiAssistantCancel(): void;
|
|
1140
1295
|
onAiAssistantQuickReply(reply: PraxisAssistantShellQuickReply): void;
|
|
1141
1296
|
onAiAssistantEditMessage(message: PraxisAssistantShellMessage): void;
|
|
1142
1297
|
onAiAssistantResendMessage(message: PraxisAssistantShellMessage): void;
|
|
1143
1298
|
onAiAssistantLayoutChange(layout: PraxisAssistantShellLayout): void;
|
|
1144
1299
|
private initializeAiAssistantController;
|
|
1145
1300
|
private buildAiAssistantContextItems;
|
|
1301
|
+
private interpolateAiAssistantContextValue;
|
|
1302
|
+
private aiAssistantSelectedRecordsValue;
|
|
1303
|
+
private buildAiAssistantContextSnapshot;
|
|
1304
|
+
private syncAiAssistantSession;
|
|
1305
|
+
private assistantContextRuntimeLocale;
|
|
1306
|
+
private refreshAiAssistantContextAfterSelectionChange;
|
|
1307
|
+
private hasAiAssistantSessionState;
|
|
1308
|
+
private resolveAiAssistantSessionId;
|
|
1309
|
+
private resolveAiAssistantOwnerId;
|
|
1310
|
+
private resolveAiAssistantRouteKey;
|
|
1311
|
+
private resolveAiAssistantSummary;
|
|
1312
|
+
private resolveAiAssistantBadge;
|
|
1313
|
+
private resolveAiAssistantIcon;
|
|
1146
1314
|
private emitLoadingState;
|
|
1147
1315
|
private hasResolvedRemoteDataLoad;
|
|
1148
1316
|
private isTableDataLoading;
|
|
@@ -1168,6 +1336,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1168
1336
|
onPageChange(event: PageEvent): void;
|
|
1169
1337
|
onSortChange(event: Sort): void;
|
|
1170
1338
|
onRowClicked(row: any, index: number, event?: MouseEvent): void;
|
|
1339
|
+
requestRecordSurfaceOpen(surface: Record<string, unknown>): boolean;
|
|
1340
|
+
private resolveResourceRecordSurfaceContext;
|
|
1341
|
+
private openResourceRecordSurface;
|
|
1171
1342
|
isRowExpansionRuntimeEnabled(): boolean;
|
|
1172
1343
|
isExpansionIconTriggerEnabled(): boolean;
|
|
1173
1344
|
isRowExpandable(row: any, index?: number): boolean;
|
|
@@ -1360,22 +1531,67 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1360
1531
|
private emitRowActionEvent;
|
|
1361
1532
|
private showConfirmDialog;
|
|
1362
1533
|
private executeDeleteAction;
|
|
1534
|
+
private dispatchRowAction;
|
|
1363
1535
|
private cloneForEmit;
|
|
1364
1536
|
private interpolateActionMessageTemplate;
|
|
1365
1537
|
private buildActionFeedbackContext;
|
|
1366
1538
|
private resolveActionFeedbackMessage;
|
|
1367
1539
|
private showActionFeedbackMessage;
|
|
1368
1540
|
private emitEventWithActionFeedback;
|
|
1541
|
+
private executeConfiguredGlobalAction;
|
|
1542
|
+
private resolveConfiguredGlobalActionRef;
|
|
1543
|
+
private resolveActionGlobalActionRef;
|
|
1544
|
+
private resolveGlobalActionPayload;
|
|
1545
|
+
private buildGlobalActionTemplateContext;
|
|
1546
|
+
private resolveGlobalActionTemplateValue;
|
|
1547
|
+
private isDeferredTemplateExpressionKey;
|
|
1548
|
+
private interpolateGlobalActionTemplate;
|
|
1549
|
+
private shouldEmitLocalForGlobalAction;
|
|
1369
1550
|
private resolveBulkValidationMessage;
|
|
1370
1551
|
private hasValidBulkSelectionCount;
|
|
1371
1552
|
private showBulkConfirmDialog;
|
|
1372
1553
|
onToolbarAction(event: {
|
|
1373
1554
|
action: string;
|
|
1374
1555
|
actionConfig?: any;
|
|
1375
|
-
}): void
|
|
1556
|
+
}): Promise<void>;
|
|
1557
|
+
private resolveBulkExportFormat;
|
|
1558
|
+
private isBulkExportActionKey;
|
|
1559
|
+
private normalizeExportFormat;
|
|
1560
|
+
private isExportFormatEnabled;
|
|
1561
|
+
private getFirstEnabledExportFormat;
|
|
1562
|
+
onExportAction(event: {
|
|
1563
|
+
format: string;
|
|
1564
|
+
scope?: PraxisExportScope;
|
|
1565
|
+
}): Promise<void>;
|
|
1566
|
+
canRunExportAction(format: unknown): boolean;
|
|
1567
|
+
private shouldBlockSelectedExportWithoutSelection;
|
|
1568
|
+
private buildTableExportRequest;
|
|
1569
|
+
private resolveEffectiveExportScope;
|
|
1570
|
+
private resolveTableExportLoadedItems;
|
|
1571
|
+
private computeLocalExportRows;
|
|
1572
|
+
private buildTableExportFields;
|
|
1573
|
+
private buildTableExportFormatOptions;
|
|
1574
|
+
private buildTableExportLocalization;
|
|
1575
|
+
private resolveColumnExportFormat;
|
|
1576
|
+
private buildColumnExportPresentation;
|
|
1577
|
+
private resolveColumnExportCurrency;
|
|
1578
|
+
private downloadExportResult;
|
|
1579
|
+
private triggerExportDownload;
|
|
1580
|
+
private resolveExportFileName;
|
|
1581
|
+
private getExportFileExtension;
|
|
1582
|
+
private getExportMimeType;
|
|
1583
|
+
private showExportFeedback;
|
|
1376
1584
|
onAdvancedFilterSubmit(criteria: Record<string, any>): void;
|
|
1377
1585
|
onAdvancedFilterChange(criteria: Record<string, any>): void;
|
|
1378
1586
|
onAdvancedFilterClear(): void;
|
|
1587
|
+
private applyAdvancedFilterCriteria;
|
|
1588
|
+
private setAdvancedFilterCriteria;
|
|
1589
|
+
private syncAdvancedFilterValueFromCriteria;
|
|
1590
|
+
private deriveRuntimeVisibleAdvancedFilterFields;
|
|
1591
|
+
private isEmptyAdvancedFilterCriterionValue;
|
|
1592
|
+
private mergeAdvancedFilterFieldIds;
|
|
1593
|
+
private getRuntimePromotedAdvancedFilterFields;
|
|
1594
|
+
private toPlainRecord;
|
|
1379
1595
|
private saveConfigWithAck;
|
|
1380
1596
|
private clearConfigWithAck;
|
|
1381
1597
|
private persistHorizontalScrollInput;
|
|
@@ -1439,7 +1655,18 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1439
1655
|
*/
|
|
1440
1656
|
private verifyServerSchemaVersion;
|
|
1441
1657
|
private loadSchema;
|
|
1658
|
+
private loadFilterSchemaSnapshot;
|
|
1442
1659
|
private convertFieldToColumn;
|
|
1660
|
+
private applySchemaFieldPresentation;
|
|
1661
|
+
private resolveSchemaCurrencyFormat;
|
|
1662
|
+
private resolveSchemaBooleanFormat;
|
|
1663
|
+
private resolveSchemaValueMapping;
|
|
1664
|
+
private resolveSchemaOptionsValueMapping;
|
|
1665
|
+
private normalizePresentationToken;
|
|
1666
|
+
private firstNonEmptyString;
|
|
1667
|
+
private firstFiniteNumber;
|
|
1668
|
+
private humanizeSchemaEnumValue;
|
|
1669
|
+
private capitalizeSchemaEnumPart;
|
|
1443
1670
|
/**
|
|
1444
1671
|
* Apply automatic renderer hints based on schema field metadata.
|
|
1445
1672
|
* Runs only on initial bootstrap (when columns are derived from schema).
|
|
@@ -1462,6 +1689,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1462
1689
|
private buildRowDiscoveryOptions;
|
|
1463
1690
|
private getRowLinks;
|
|
1464
1691
|
private resolveRowDiscoveryHref;
|
|
1692
|
+
private resolveRowSurfaceDiscoveryHref;
|
|
1465
1693
|
private prefetchRowDiscovery;
|
|
1466
1694
|
private ensureRowDiscovery;
|
|
1467
1695
|
private ensureRowCapabilitySnapshot;
|
|
@@ -1507,6 +1735,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1507
1735
|
private pruneRowDiscoveryCaches;
|
|
1508
1736
|
private pruneRowDiscoveryCache;
|
|
1509
1737
|
private fetchData;
|
|
1738
|
+
private resolveAnalyticsProjection;
|
|
1739
|
+
private fetchAnalyticsProjectionData;
|
|
1510
1740
|
private getEffectiveFilterCriteria;
|
|
1511
1741
|
retryData(): void;
|
|
1512
1742
|
reloadSchema(): void;
|
|
@@ -1519,9 +1749,35 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1519
1749
|
* 3. format (data formatting like dates, numbers, currency)
|
|
1520
1750
|
*/
|
|
1521
1751
|
getCellValue(rowData: any, column: ColumnDefinition): any;
|
|
1752
|
+
private applyImplicitRuntimeCellPresentation;
|
|
1753
|
+
private shouldHumanizeRuntimeEnumCell;
|
|
1754
|
+
private resolveCellFormattingType;
|
|
1755
|
+
private normalizeReadonlyEntityLookupCellValue;
|
|
1756
|
+
private toEntityLookupDisplayToken;
|
|
1757
|
+
private isEntityLookupDisplayCandidate;
|
|
1758
|
+
private toEntityLookupDisplayPrimitive;
|
|
1522
1759
|
private resolveImplicitFormat;
|
|
1523
1760
|
getCellClasses(rowData: any, column: ColumnDefinition): string[] | undefined;
|
|
1524
1761
|
getCellNgStyle(rowData: any, column: ColumnDefinition): Record<string, string> | undefined;
|
|
1762
|
+
private normalizeInlineStyleRecord;
|
|
1763
|
+
private normalizeConditionalStyleRules;
|
|
1764
|
+
private normalizeConditionalStyleRecord;
|
|
1765
|
+
getCellTooltip(rowData: any, column: ColumnDefinition): string | null;
|
|
1766
|
+
getCellTooltipPosition(rowData: any, column: ColumnDefinition): 'above' | 'below' | 'left' | 'right' | 'before' | 'after';
|
|
1767
|
+
private resolveConditionalStyleTooltipText;
|
|
1768
|
+
private resolveRendererTooltipText;
|
|
1769
|
+
private normalizeTooltipPosition;
|
|
1770
|
+
private normalizeConditionalStyleEffects;
|
|
1771
|
+
private hasConditionalStyleEffectPayload;
|
|
1772
|
+
private resolveConditionalStyleClasses;
|
|
1773
|
+
private resolveConditionalStyleObject;
|
|
1774
|
+
private compileConditionalStyleEffect;
|
|
1775
|
+
private normalizeConditionalRendererRules;
|
|
1776
|
+
private normalizeObjectRecord;
|
|
1777
|
+
private buildColumnRendererOverrideFromEffects;
|
|
1778
|
+
private buildColumnRendererFromEffect;
|
|
1779
|
+
private resolveRuleAnimationFromEffects;
|
|
1780
|
+
private resolveRowTooltipFromEffects;
|
|
1525
1781
|
private resetComputedContextCache;
|
|
1526
1782
|
private ensureEffectiveCellRenderCache;
|
|
1527
1783
|
private ensureCellAnimationPreviousValuesByRowId;
|
|
@@ -1533,6 +1789,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1533
1789
|
private buildComputedSignature;
|
|
1534
1790
|
private stringifyDependencyValue;
|
|
1535
1791
|
private buildComputedValueMap;
|
|
1792
|
+
private collectComputedColumns;
|
|
1793
|
+
private evaluateCanonicalComputedColumns;
|
|
1794
|
+
private collectComputedExpressionDependencies;
|
|
1795
|
+
private collectJsonLogicVarDependencies;
|
|
1796
|
+
private resolveJsonLogicVarPath;
|
|
1536
1797
|
private buildEvaluationContext;
|
|
1537
1798
|
private getJsonLogicEvaluationOptions;
|
|
1538
1799
|
private resolveJsonLogicUserTimeZone;
|
|
@@ -1671,6 +1932,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1671
1932
|
private buildEffectiveCellRenderCacheKey;
|
|
1672
1933
|
private getEffectiveCellRenderResult;
|
|
1673
1934
|
private getEffectiveRenderer;
|
|
1935
|
+
private resolveEffectiveRendererTooltip;
|
|
1674
1936
|
getLinkHref(row: any, column: ColumnDefinition): string | null;
|
|
1675
1937
|
getLinkText(row: any, column: ColumnDefinition): string;
|
|
1676
1938
|
getLinkRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
|
|
@@ -1692,6 +1954,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1692
1954
|
private buildRendererActionRuntimeOptions;
|
|
1693
1955
|
onButtonClick(row: any, column: ColumnDefinition, event: Event): void;
|
|
1694
1956
|
getChipText(row: any, column: ColumnDefinition): string | null;
|
|
1957
|
+
private getRendererTextFieldValue;
|
|
1695
1958
|
getChipRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
|
|
1696
1959
|
getChipIcon(row: any, column: ColumnDefinition): string | null;
|
|
1697
1960
|
getChipClasses(row: any, column: ColumnDefinition): string[];
|
|
@@ -1714,6 +1977,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1714
1977
|
private deriveAvatarInitials;
|
|
1715
1978
|
getAvatarInitials(row: any, column: ColumnDefinition): string;
|
|
1716
1979
|
getAvatarRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
|
|
1980
|
+
private getAvatarRichContentStyle;
|
|
1717
1981
|
getAvatarShape(row: any, column: ColumnDefinition): 'square' | 'rounded' | 'circle' | undefined;
|
|
1718
1982
|
getAvatarStyle(row: any, column: ColumnDefinition): Record<string, string> | null;
|
|
1719
1983
|
getToggleState(row: any, column: ColumnDefinition): boolean;
|
|
@@ -1769,6 +2033,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1769
2033
|
private reconcileSelectionAfterDataChange;
|
|
1770
2034
|
private getComparableRowIdentity;
|
|
1771
2035
|
getIdField(): string;
|
|
2036
|
+
private resolveConfigMetaIdField;
|
|
1772
2037
|
private syncRuntimeSchemaMetaFromConfig;
|
|
1773
2038
|
private getEffectiveMetadataSnapshot;
|
|
1774
2039
|
getActionId(action: any): string;
|
|
@@ -1787,6 +2052,20 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1787
2052
|
toggleRow(row: any): void;
|
|
1788
2053
|
private selectRowFromUserInteraction;
|
|
1789
2054
|
private emitSelectionChange;
|
|
2055
|
+
private getSelectedRowsSnapshot;
|
|
2056
|
+
private getAiAssistantSelectionFields;
|
|
2057
|
+
private buildAiAssistantSelectionFilterCandidates;
|
|
2058
|
+
private inferAiAssistantFilterCriterionKind;
|
|
2059
|
+
private buildAiAssistantRangeFilterCandidate;
|
|
2060
|
+
private buildAiAssistantSetFilterCandidate;
|
|
2061
|
+
private resolveAiAssistantSetFilterDisplayValue;
|
|
2062
|
+
private aiAssistantSetFilterDisplayFieldCandidates;
|
|
2063
|
+
private resolveAiAssistantFilterSourceFields;
|
|
2064
|
+
private normalizeAiAssistantNumericRangeValue;
|
|
2065
|
+
private normalizeAiAssistantDateRangeValue;
|
|
2066
|
+
private sanitizeAiAssistantSelectedRow;
|
|
2067
|
+
private safeStringifyAiAssistantValue;
|
|
2068
|
+
private isSensitiveAiAssistantField;
|
|
1790
2069
|
private getRowActionsConfig;
|
|
1791
2070
|
getActionsHeaderAlign(): string;
|
|
1792
2071
|
getActionsHeaderTooltip(): string | undefined;
|
|
@@ -1811,11 +2090,24 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1811
2090
|
private splitVisibleRowActionsFromVisible;
|
|
1812
2091
|
private decorateConfiguredRowAction;
|
|
1813
2092
|
private getDiscoveredRowWorkflowActions;
|
|
2093
|
+
private getDiscoveredRowSurfaceActionsFromSnapshot;
|
|
1814
2094
|
private getDiscoveredRowWorkflowActionsFromCatalog;
|
|
1815
2095
|
private supportsRowCrudAction;
|
|
1816
2096
|
private isCapabilityManagedCrudRowAction;
|
|
1817
2097
|
private findItemWorkflowAction;
|
|
2098
|
+
private findItemSurface;
|
|
2099
|
+
private isRowSurfaceAction;
|
|
2100
|
+
private isResourceSurfaceCatalogItem;
|
|
2101
|
+
private toRecordSurfaceActionConfig;
|
|
2102
|
+
private resolveConfiguredSurfaceOpenAction;
|
|
2103
|
+
private recordSurfaceActionAliases;
|
|
2104
|
+
private normalizeSurfaceActionAlias;
|
|
2105
|
+
private isWritableRowSurface;
|
|
2106
|
+
private isReadableRowSurface;
|
|
2107
|
+
private getDiscoveredSurfaceIcon;
|
|
2108
|
+
private getDiscoveredSurfaceColor;
|
|
1818
2109
|
private getUnavailableWorkflowMessage;
|
|
2110
|
+
private getUnavailableSurfaceMessage;
|
|
1819
2111
|
private normalizeActionId;
|
|
1820
2112
|
private isActionVisible;
|
|
1821
2113
|
trackAction(index: number, item: any): any;
|
|
@@ -1829,8 +2121,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1829
2121
|
getRowMenuIcon(): string;
|
|
1830
2122
|
private scheduleRowDiscoveryMarkForCheck;
|
|
1831
2123
|
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>;
|
|
2124
|
+
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; }]>;
|
|
2125
|
+
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
2126
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
1835
2127
|
}
|
|
1836
2128
|
|
|
@@ -1843,7 +2135,6 @@ interface EditorDocument<TConfig, TBindings = unknown> {
|
|
|
1843
2135
|
type TableHorizontalScroll = 'auto' | 'wrap' | 'none';
|
|
1844
2136
|
interface TableBindings {
|
|
1845
2137
|
resourcePath?: string | null;
|
|
1846
|
-
idField?: string;
|
|
1847
2138
|
horizontalScroll?: TableHorizontalScroll;
|
|
1848
2139
|
}
|
|
1849
2140
|
interface TableAuthoringDocument extends EditorDocument<TableConfig, TableBindings> {
|
|
@@ -1900,7 +2191,6 @@ interface TableApplyPlan {
|
|
|
1900
2191
|
};
|
|
1901
2192
|
diff?: {
|
|
1902
2193
|
resourcePathChanged?: boolean;
|
|
1903
|
-
idFieldChanged?: boolean;
|
|
1904
2194
|
horizontalScrollChanged?: boolean;
|
|
1905
2195
|
requiresDataRefresh?: boolean;
|
|
1906
2196
|
};
|
|
@@ -2373,6 +2663,8 @@ interface ToolbarAction {
|
|
|
2373
2663
|
/** Material button appearance: filled (flat), outlined (stroked), elevated (raised), text, tonal */
|
|
2374
2664
|
appearance?: 'filled' | 'outlined' | 'elevated' | 'text' | 'tonal';
|
|
2375
2665
|
action: string;
|
|
2666
|
+
globalAction?: GlobalActionRef;
|
|
2667
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2376
2668
|
position: 'start' | 'end';
|
|
2377
2669
|
order?: number;
|
|
2378
2670
|
disabled?: boolean;
|
|
@@ -2380,7 +2672,7 @@ interface ToolbarAction {
|
|
|
2380
2672
|
shortcut?: string;
|
|
2381
2673
|
shortcutScope?: 'toolbar' | 'global';
|
|
2382
2674
|
tooltip?: string;
|
|
2383
|
-
visibleWhen?:
|
|
2675
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
2384
2676
|
children?: ToolbarAction[];
|
|
2385
2677
|
}
|
|
2386
2678
|
interface RowAction {
|
|
@@ -2388,11 +2680,15 @@ interface RowAction {
|
|
|
2388
2680
|
label: string;
|
|
2389
2681
|
icon: string;
|
|
2390
2682
|
action: string;
|
|
2683
|
+
globalAction?: GlobalActionRef;
|
|
2684
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2391
2685
|
color?: 'primary' | 'accent' | 'warn';
|
|
2392
2686
|
tooltip?: string;
|
|
2393
2687
|
requiresConfirmation?: boolean;
|
|
2394
2688
|
autoDelete?: boolean;
|
|
2395
2689
|
separator?: boolean;
|
|
2690
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
2691
|
+
disabledWhen?: JsonLogicExpression | null;
|
|
2396
2692
|
conditional?: string;
|
|
2397
2693
|
}
|
|
2398
2694
|
interface BulkAction {
|
|
@@ -2400,6 +2696,8 @@ interface BulkAction {
|
|
|
2400
2696
|
label: string;
|
|
2401
2697
|
icon: string;
|
|
2402
2698
|
action: string;
|
|
2699
|
+
globalAction?: GlobalActionRef;
|
|
2700
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2403
2701
|
color?: 'primary' | 'accent' | 'warn';
|
|
2404
2702
|
tooltip?: string;
|
|
2405
2703
|
requiresConfirmation?: boolean;
|
|
@@ -2413,6 +2711,25 @@ interface ToolbarActionsChange {
|
|
|
2413
2711
|
value: any;
|
|
2414
2712
|
fullConfig: TableConfig;
|
|
2415
2713
|
}
|
|
2714
|
+
type GlobalActionCatalogOption = GlobalActionCatalogEntry & {
|
|
2715
|
+
param?: {
|
|
2716
|
+
required?: boolean;
|
|
2717
|
+
label?: string;
|
|
2718
|
+
placeholder?: string;
|
|
2719
|
+
hint?: string;
|
|
2720
|
+
};
|
|
2721
|
+
};
|
|
2722
|
+
type EditableTableAction = {
|
|
2723
|
+
id?: string;
|
|
2724
|
+
label?: string;
|
|
2725
|
+
action?: string;
|
|
2726
|
+
globalAction?: GlobalActionRef;
|
|
2727
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2728
|
+
position?: string;
|
|
2729
|
+
appearance?: string;
|
|
2730
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
2731
|
+
disabledWhen?: JsonLogicExpression | null;
|
|
2732
|
+
};
|
|
2416
2733
|
type ToolbarShortcutScope = 'toolbar' | 'global';
|
|
2417
2734
|
interface InternalActionSpec {
|
|
2418
2735
|
id: string;
|
|
@@ -2433,14 +2750,14 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
|
|
|
2433
2750
|
editingToolbarActionIndex: number | null;
|
|
2434
2751
|
editingRowActionIndex: number | null;
|
|
2435
2752
|
editingBulkActionIndex: number | null;
|
|
2436
|
-
readonly
|
|
2753
|
+
private readonly i18n;
|
|
2754
|
+
readonly globalActionCatalog: GlobalActionCatalogOption[];
|
|
2437
2755
|
get internalActionCatalog(): InternalActionSpec[];
|
|
2438
2756
|
readonly customActionValue = "__custom__";
|
|
2439
2757
|
readonly validShortcutScopes: ToolbarShortcutScope[];
|
|
2440
2758
|
private readonly actionFieldDrafts;
|
|
2441
2759
|
private readonly actionFieldErrors;
|
|
2442
2760
|
private readonly warnedInvalidShortcutScopes;
|
|
2443
|
-
private readonly i18n;
|
|
2444
2761
|
private destroy$;
|
|
2445
2762
|
constructor(fb: FormBuilder, iconPicker: IconPickerService);
|
|
2446
2763
|
tx(key: string, fallback: string): string;
|
|
@@ -2469,56 +2786,37 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
|
|
|
2469
2786
|
private removeAddToolbarAction;
|
|
2470
2787
|
private syncAddFormFromActions;
|
|
2471
2788
|
private updateConfig;
|
|
2472
|
-
getActionSelectValue(
|
|
2473
|
-
getActionParam(
|
|
2474
|
-
|
|
2789
|
+
getActionSelectValue(action?: EditableTableAction): string;
|
|
2790
|
+
getActionParam(action?: EditableTableAction): string;
|
|
2791
|
+
isRequiredGlobalActionParamMissing(action: EditableTableAction, spec: GlobalActionCatalogOption): boolean;
|
|
2792
|
+
getActionCustomValue(action?: EditableTableAction): string;
|
|
2475
2793
|
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;
|
|
2794
|
+
getActionSpecById(id: string): GlobalActionCatalogOption | undefined;
|
|
2795
|
+
onActionSelectChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2796
|
+
onActionParamChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2797
|
+
onActionCustomChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2798
|
+
getCanonicalGlobalActionRef(action?: EditableTableAction): GlobalActionRef | undefined;
|
|
2799
|
+
private setCanonicalGlobalActionRef;
|
|
2486
2800
|
private touchActionList;
|
|
2487
|
-
|
|
2801
|
+
getActionJsonLogicText(action: EditableTableAction, key: 'visibleWhen' | 'disabledWhen'): string;
|
|
2802
|
+
onActionJsonLogicChange(action: EditableTableAction, key: 'visibleWhen' | 'disabledWhen', value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2803
|
+
getActionConditionError(action: EditableTableAction, key: 'visibleWhen' | 'disabledWhen'): string;
|
|
2488
2804
|
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;
|
|
2805
|
+
getGlobalActionSchema(action: EditableTableAction): _praxisui_core.GlobalActionUiSchema | undefined;
|
|
2806
|
+
getSurfaceOpenActionPayload(action: EditableTableAction): SurfaceOpenPayload;
|
|
2807
|
+
onSurfaceOpenActionPayloadChange(action: EditableTableAction, payload: SurfaceOpenPayload, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2808
|
+
shouldShowGlobalActionField(action: EditableTableAction, field: GlobalActionField): boolean;
|
|
2809
|
+
isGlobalActionFieldRequired(action: EditableTableAction, field: GlobalActionField): boolean;
|
|
2810
|
+
isGlobalActionFieldMissing(action: EditableTableAction, field: GlobalActionField): boolean;
|
|
2811
|
+
hasActionFieldError(action: EditableTableAction, key: string): boolean;
|
|
2812
|
+
getActionFieldError(action: EditableTableAction, key: string): string;
|
|
2813
|
+
getGlobalActionFieldValue(action: EditableTableAction, field: GlobalActionField): any;
|
|
2814
|
+
onGlobalActionFieldChange(action: EditableTableAction, field: GlobalActionField, value: any, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2515
2815
|
private stringifyJson;
|
|
2516
2816
|
private normalizeSurfaceOpenPayload;
|
|
2517
2817
|
private setActionFieldError;
|
|
2518
2818
|
private clearActionFieldError;
|
|
2519
2819
|
private collectGlobalActionFieldValues;
|
|
2520
|
-
private serializeGlobalActionParam;
|
|
2521
|
-
private buildPrimaryParam;
|
|
2522
2820
|
private buildGlobalActionPayload;
|
|
2523
2821
|
getToolbarActionShortcutScope(action: ToolbarAction): ToolbarShortcutScope;
|
|
2524
2822
|
onToolbarActionShortcutScopeChange(action: ToolbarAction, value: ToolbarShortcutScope | string): void;
|
|
@@ -2710,6 +3008,7 @@ declare class FilterSettingsComponent implements OnChanges, AfterViewInit, OnDes
|
|
|
2710
3008
|
}[];
|
|
2711
3009
|
getContrastWarning(): string | null;
|
|
2712
3010
|
applyPreset(key: string): void;
|
|
3011
|
+
isPresetActive(key: string): boolean;
|
|
2713
3012
|
hasBooleanFieldMetadata(): boolean;
|
|
2714
3013
|
getFieldLabel(name: string): string;
|
|
2715
3014
|
onAlwaysVisibleFieldSearchChange(value: string): void;
|
|
@@ -2873,12 +3172,10 @@ declare class RuleCompilerService {
|
|
|
2873
3172
|
static ɵprov: i0.ɵɵInjectableDeclaration<RuleCompilerService>;
|
|
2874
3173
|
}
|
|
2875
3174
|
|
|
2876
|
-
type RuleItem = {
|
|
2877
|
-
condition: JsonLogicExpression;
|
|
3175
|
+
type RuleItem = Omit<PraxisRuntimeConditionalEffectRule<RuleEffectDefinition>, 'effects'> & {
|
|
2878
3176
|
cssClass?: string;
|
|
2879
3177
|
style?: Record<string, string>;
|
|
2880
|
-
|
|
2881
|
-
effects?: _praxisui_table_rule_builder.RuleEffectDefinition;
|
|
3178
|
+
effects?: RuleEffectDefinition[];
|
|
2882
3179
|
enabled?: boolean;
|
|
2883
3180
|
};
|
|
2884
3181
|
declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy {
|
|
@@ -2948,6 +3245,7 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
2948
3245
|
onColumnSelect(field: string): void;
|
|
2949
3246
|
private initFromConfig;
|
|
2950
3247
|
private loadColumnRules;
|
|
3248
|
+
private normalizePersistedRules;
|
|
2951
3249
|
rebuildCondition(): void;
|
|
2952
3250
|
onDraftChange(): void;
|
|
2953
3251
|
applyTextPreset(preset: string): void;
|
|
@@ -2974,6 +3272,8 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
2974
3272
|
onExportRules(): void;
|
|
2975
3273
|
onImportRules(): void;
|
|
2976
3274
|
private sanitizeRule;
|
|
3275
|
+
private normalizeRuleEffects;
|
|
3276
|
+
getPrimaryEffect(r: RuleItem | null | undefined): RuleEffectDefinition | undefined;
|
|
2977
3277
|
getAnimationLabel(r: RuleItem): string | null;
|
|
2978
3278
|
private normalizeRendererAnimation;
|
|
2979
3279
|
private buildRendererOverrideFromRule;
|
|
@@ -3080,6 +3380,8 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3080
3380
|
private cdr;
|
|
3081
3381
|
private configService;
|
|
3082
3382
|
private readonly i18n;
|
|
3383
|
+
private readonly globalActionCatalogSource;
|
|
3384
|
+
private readonly globalActionCatalog;
|
|
3083
3385
|
filterSettingsEditor?: FilterSettingsComponent;
|
|
3084
3386
|
behaviorEditor?: BehaviorConfigEditorComponent;
|
|
3085
3387
|
rulesEditor?: TableRulesEditorComponent;
|
|
@@ -3142,6 +3444,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3142
3444
|
private hasLocalDataInput;
|
|
3143
3445
|
private filterDtoLoadSeq;
|
|
3144
3446
|
private lastKnownFilterSettings;
|
|
3447
|
+
private globalActionValidationIssues;
|
|
3145
3448
|
private readonly panelData;
|
|
3146
3449
|
private readonly crudService;
|
|
3147
3450
|
private readonly panelRef;
|
|
@@ -3168,6 +3471,9 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3168
3471
|
onRulesConfigChange(newCfg: TableConfig): void;
|
|
3169
3472
|
private updateColumnMetas;
|
|
3170
3473
|
private updateCanSaveState;
|
|
3474
|
+
private collectGlobalActionValidationIssues;
|
|
3475
|
+
private findGlobalActionCatalogEntry;
|
|
3476
|
+
private buildGlobalActionCatalog;
|
|
3171
3477
|
private subscribeCrudEditorChanges;
|
|
3172
3478
|
private showSuccess;
|
|
3173
3479
|
private showError;
|
|
@@ -3176,6 +3482,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3176
3482
|
* Normaliza uma configuração de tabela para comparação consistente
|
|
3177
3483
|
* Remove propriedades undefined, ordena arrays e objetos de forma consistente
|
|
3178
3484
|
*/
|
|
3485
|
+
private withCanonicalIdField;
|
|
3179
3486
|
private normalizeTableConfig;
|
|
3180
3487
|
/**
|
|
3181
3488
|
* Realiza comparação profunda de objetos, ignorando ordem de propriedades
|
|
@@ -3238,6 +3545,107 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3238
3545
|
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableConfigEditor, "praxis-table-config-editor", never, {}, {}, never, never, true, never>;
|
|
3239
3546
|
}
|
|
3240
3547
|
|
|
3548
|
+
interface PraxisTableWidgetEditorInputs {
|
|
3549
|
+
config?: TableConfig | null;
|
|
3550
|
+
resourcePath?: string | null;
|
|
3551
|
+
horizontalScroll?: 'auto' | 'wrap' | 'none';
|
|
3552
|
+
tableId?: string;
|
|
3553
|
+
componentInstanceId?: string;
|
|
3554
|
+
[key: string]: unknown;
|
|
3555
|
+
}
|
|
3556
|
+
interface PraxisTableWidgetEditorValue {
|
|
3557
|
+
inputs: PraxisTableWidgetEditorInputs;
|
|
3558
|
+
}
|
|
3559
|
+
declare class PraxisTableWidgetConfigEditor implements SettingsValueProvider$1, AfterViewInit, OnDestroy {
|
|
3560
|
+
inputs: PraxisTableWidgetEditorInputs | null;
|
|
3561
|
+
widgetKey?: string;
|
|
3562
|
+
tableEditor?: PraxisTableConfigEditor;
|
|
3563
|
+
readonly isDirty$: BehaviorSubject<boolean>;
|
|
3564
|
+
readonly isValid$: BehaviorSubject<boolean>;
|
|
3565
|
+
readonly isBusy$: BehaviorSubject<boolean>;
|
|
3566
|
+
private readonly subscription;
|
|
3567
|
+
ngAfterViewInit(): void;
|
|
3568
|
+
ngOnDestroy(): void;
|
|
3569
|
+
getSettingsValue(): PraxisTableWidgetEditorValue;
|
|
3570
|
+
onSave(): PraxisTableWidgetEditorValue;
|
|
3571
|
+
reset(): void;
|
|
3572
|
+
private initializeChildEditor;
|
|
3573
|
+
private buildValue;
|
|
3574
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableWidgetConfigEditor, never>;
|
|
3575
|
+
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>;
|
|
3576
|
+
}
|
|
3577
|
+
|
|
3578
|
+
interface PraxisFilterWidgetEditorInputs {
|
|
3579
|
+
resourcePath?: string | null;
|
|
3580
|
+
fieldMetadata?: FieldMetadata[] | null;
|
|
3581
|
+
filterId?: string;
|
|
3582
|
+
formId?: string;
|
|
3583
|
+
componentInstanceId?: string;
|
|
3584
|
+
alwaysVisibleFields?: string[];
|
|
3585
|
+
alwaysVisibleFieldMetadataOverrides?: Record<string, Record<string, unknown>>;
|
|
3586
|
+
selectedFieldIds?: string[];
|
|
3587
|
+
allowSaveTags?: boolean;
|
|
3588
|
+
changeDebounceMs?: number;
|
|
3589
|
+
placeBooleansInActions?: boolean;
|
|
3590
|
+
showToggleLabels?: boolean;
|
|
3591
|
+
alwaysMinWidth?: number;
|
|
3592
|
+
alwaysColsMd?: number;
|
|
3593
|
+
alwaysColsLg?: number;
|
|
3594
|
+
confirmTagDelete?: boolean;
|
|
3595
|
+
tagColor?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
3596
|
+
tagVariant?: 'filled' | 'outlined';
|
|
3597
|
+
tagButtonColor?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
3598
|
+
actionsButtonColor?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
3599
|
+
actionsVariant?: 'standard' | 'outlined';
|
|
3600
|
+
useInlineSearchableSelectVariant?: boolean;
|
|
3601
|
+
useInlineRangeVariant?: boolean;
|
|
3602
|
+
useInlineDateVariant?: boolean;
|
|
3603
|
+
useInlineDateRangeVariant?: boolean;
|
|
3604
|
+
useInlineTimeVariant?: boolean;
|
|
3605
|
+
useInlineTimeRangeVariant?: boolean;
|
|
3606
|
+
useInlineTreeSelectVariant?: boolean;
|
|
3607
|
+
overlayVariant?: 'card' | 'frosted';
|
|
3608
|
+
overlayBackdrop?: boolean;
|
|
3609
|
+
advancedOpenMode?: 'modal' | 'drawer';
|
|
3610
|
+
advancedClearButtonsEnabled?: boolean;
|
|
3611
|
+
persistenceKey?: string;
|
|
3612
|
+
showFilterSettings?: boolean;
|
|
3613
|
+
enableCustomization?: boolean;
|
|
3614
|
+
[key: string]: unknown;
|
|
3615
|
+
}
|
|
3616
|
+
interface PraxisFilterWidgetEditorValue {
|
|
3617
|
+
inputs: PraxisFilterWidgetEditorInputs;
|
|
3618
|
+
}
|
|
3619
|
+
declare class PraxisFilterWidgetConfigEditor implements SettingsValueProvider$1, OnDestroy {
|
|
3620
|
+
widgetKey?: string;
|
|
3621
|
+
set inputs(value: PraxisFilterWidgetEditorInputs | null);
|
|
3622
|
+
get inputs(): PraxisFilterWidgetEditorInputs | null;
|
|
3623
|
+
set filterSettings(component: FilterSettingsComponent | undefined);
|
|
3624
|
+
metadata: FieldMetadata[];
|
|
3625
|
+
settings: FilterConfig;
|
|
3626
|
+
configKey?: string;
|
|
3627
|
+
readonly isDirty$: BehaviorSubject<boolean>;
|
|
3628
|
+
readonly isValid$: BehaviorSubject<boolean>;
|
|
3629
|
+
readonly isBusy$: BehaviorSubject<boolean>;
|
|
3630
|
+
private currentInputs;
|
|
3631
|
+
private settingsEditor?;
|
|
3632
|
+
private subscription;
|
|
3633
|
+
ngOnDestroy(): void;
|
|
3634
|
+
getSettingsValue(): PraxisFilterWidgetEditorValue;
|
|
3635
|
+
onSave(): PraxisFilterWidgetEditorValue;
|
|
3636
|
+
reset(): void;
|
|
3637
|
+
private buildValue;
|
|
3638
|
+
private buildSettingsFromInputs;
|
|
3639
|
+
private projectSettingsToInputs;
|
|
3640
|
+
private normalizeSettings;
|
|
3641
|
+
private normalizeAdvancedOpenMode;
|
|
3642
|
+
private normalizeOverlayVariant;
|
|
3643
|
+
private cloneStringArray;
|
|
3644
|
+
private cloneRecord;
|
|
3645
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisFilterWidgetConfigEditor, never>;
|
|
3646
|
+
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>;
|
|
3647
|
+
}
|
|
3648
|
+
|
|
3241
3649
|
declare class DataFormatterComponent implements OnInit, OnChanges {
|
|
3242
3650
|
private cdr;
|
|
3243
3651
|
private formattingService;
|
|
@@ -3306,31 +3714,6 @@ declare class DataFormatterComponent implements OnInit, OnChanges {
|
|
|
3306
3714
|
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
3715
|
}
|
|
3308
3716
|
|
|
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
3717
|
interface AnalyticsTableConfigAdapterOptions {
|
|
3335
3718
|
title?: PraxisTextValue;
|
|
3336
3719
|
subtitle?: PraxisTextValue;
|
|
@@ -3344,24 +3727,6 @@ declare class AnalyticsTableConfigAdapterService {
|
|
|
3344
3727
|
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableConfigAdapterService>;
|
|
3345
3728
|
}
|
|
3346
3729
|
|
|
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
3730
|
declare class AnalyticsTableContractService {
|
|
3366
3731
|
private readonly analyticsSchema;
|
|
3367
3732
|
private readonly resolver;
|
|
@@ -3397,6 +3762,15 @@ declare function buildTableApplyPlan(doc: TableAuthoringDocument, runtime?: Tabl
|
|
|
3397
3762
|
}): TableApplyPlan;
|
|
3398
3763
|
declare function serializeTableAuthoringDocument(doc: TableAuthoringDocument): unknown;
|
|
3399
3764
|
|
|
3765
|
+
/**
|
|
3766
|
+
* Manifesto de authoring canônico para o componente praxis-table.
|
|
3767
|
+
* Este arquivo define o contrato executável para que agentes de IA editem tabelas.
|
|
3768
|
+
*
|
|
3769
|
+
* @version 2.0.0
|
|
3770
|
+
* @status COMPLIANT - Alinhado com o contrato v2 e TableConfig canônico.
|
|
3771
|
+
*/
|
|
3772
|
+
declare const PRAXIS_TABLE_AUTHORING_MANIFEST: ComponentAuthoringManifest;
|
|
3773
|
+
|
|
3400
3774
|
declare class PraxisTableInlineAuthoringEditorComponent implements OnChanges {
|
|
3401
3775
|
private readonly i18n;
|
|
3402
3776
|
config: TableConfig;
|
|
@@ -3497,7 +3871,7 @@ declare class ValueMappingEditorComponent implements OnInit, OnChanges {
|
|
|
3497
3871
|
[key: number]: string;
|
|
3498
3872
|
}>;
|
|
3499
3873
|
mappingPairs: ValueMappingPair[];
|
|
3500
|
-
dataSource: MatTableDataSource<ValueMappingPair,
|
|
3874
|
+
dataSource: MatTableDataSource<ValueMappingPair, _angular_material_paginator.MatPaginator>;
|
|
3501
3875
|
displayedColumns: string[];
|
|
3502
3876
|
showImportDialog: boolean;
|
|
3503
3877
|
importJsonText: string;
|
|
@@ -3643,7 +4017,6 @@ declare function providePraxisTableMetadata(): Provider;
|
|
|
3643
4017
|
declare module '@praxisui/core' {
|
|
3644
4018
|
interface AiCapabilityCategoryMap {
|
|
3645
4019
|
meta: true;
|
|
3646
|
-
bindings: true;
|
|
3647
4020
|
columns: true;
|
|
3648
4021
|
renderer: true;
|
|
3649
4022
|
conditional: true;
|
|
@@ -3657,6 +4030,7 @@ declare module '@praxisui/core' {
|
|
|
3657
4030
|
toolbar: true;
|
|
3658
4031
|
actions: true;
|
|
3659
4032
|
export: true;
|
|
4033
|
+
runtime: true;
|
|
3660
4034
|
performance: true;
|
|
3661
4035
|
messages: true;
|
|
3662
4036
|
localization: true;
|
|
@@ -3729,18 +4103,23 @@ type ComponentEditPlanCapability = {
|
|
|
3729
4103
|
declare const TABLE_COMPONENT_EDIT_PLAN_KIND = "praxis.table.component-edit-plan";
|
|
3730
4104
|
declare const TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND = "praxis.table.component-edit-plan.batch";
|
|
3731
4105
|
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
|
-
|
|
4106
|
+
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';
|
|
4107
|
+
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';
|
|
4108
|
+
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
4109
|
declare const TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS: Record<TableComponentEditChangeKind, string>;
|
|
3735
4110
|
interface TableComponentEditPlan {
|
|
3736
4111
|
kind?: typeof TABLE_COMPONENT_EDIT_PLAN_KIND;
|
|
3737
4112
|
version?: typeof TABLE_COMPONENT_EDIT_PLAN_VERSION | string;
|
|
3738
4113
|
componentId?: 'praxis-table' | string;
|
|
3739
4114
|
changeKind: TableComponentEditChangeKind | string;
|
|
4115
|
+
operationId?: TableComponentEditOperationId | string;
|
|
3740
4116
|
capabilityPath?: string;
|
|
3741
4117
|
configPath?: string;
|
|
3742
4118
|
field?: string;
|
|
3743
4119
|
targetField?: string;
|
|
4120
|
+
target?: unknown;
|
|
4121
|
+
input?: unknown;
|
|
4122
|
+
params?: unknown;
|
|
3744
4123
|
value?: unknown;
|
|
3745
4124
|
condition?: unknown;
|
|
3746
4125
|
style?: unknown;
|
|
@@ -3768,7 +4147,7 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3768
4147
|
readonly $defs: {
|
|
3769
4148
|
readonly changeKind: {
|
|
3770
4149
|
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"];
|
|
4150
|
+
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
4151
|
};
|
|
3773
4152
|
readonly capabilityPath: {
|
|
3774
4153
|
readonly type: "string";
|
|
@@ -3803,6 +4182,9 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3803
4182
|
readonly type: "string";
|
|
3804
4183
|
readonly minLength: 1;
|
|
3805
4184
|
};
|
|
4185
|
+
readonly tooltip: {
|
|
4186
|
+
readonly $ref: "#/$defs/tooltip";
|
|
4187
|
+
};
|
|
3806
4188
|
};
|
|
3807
4189
|
readonly anyOf: readonly [{
|
|
3808
4190
|
readonly required: readonly ["text"];
|
|
@@ -3810,10 +4192,31 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3810
4192
|
readonly required: readonly ["textField"];
|
|
3811
4193
|
}];
|
|
3812
4194
|
};
|
|
4195
|
+
readonly tooltip: {
|
|
4196
|
+
readonly type: "object";
|
|
4197
|
+
readonly additionalProperties: false;
|
|
4198
|
+
readonly required: readonly ["text"];
|
|
4199
|
+
readonly properties: {
|
|
4200
|
+
readonly text: {
|
|
4201
|
+
readonly type: "string";
|
|
4202
|
+
readonly minLength: 1;
|
|
4203
|
+
};
|
|
4204
|
+
readonly position: {
|
|
4205
|
+
readonly type: "string";
|
|
4206
|
+
readonly enum: readonly ["top", "right", "bottom", "left", "above", "below", "before", "after"];
|
|
4207
|
+
};
|
|
4208
|
+
readonly bgColor: {
|
|
4209
|
+
readonly type: "string";
|
|
4210
|
+
readonly minLength: 1;
|
|
4211
|
+
};
|
|
4212
|
+
readonly delayMs: {
|
|
4213
|
+
readonly type: "number";
|
|
4214
|
+
};
|
|
4215
|
+
};
|
|
4216
|
+
};
|
|
3813
4217
|
readonly operation: {
|
|
3814
4218
|
readonly type: "object";
|
|
3815
4219
|
readonly additionalProperties: false;
|
|
3816
|
-
readonly required: readonly ["changeKind", "field", "value"];
|
|
3817
4220
|
readonly properties: {
|
|
3818
4221
|
readonly kind: {
|
|
3819
4222
|
readonly const: "praxis.table.component-edit-plan";
|
|
@@ -3824,6 +4227,12 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3824
4227
|
readonly componentId: {
|
|
3825
4228
|
readonly const: "praxis-table";
|
|
3826
4229
|
};
|
|
4230
|
+
readonly operationId: {
|
|
4231
|
+
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"];
|
|
4232
|
+
};
|
|
4233
|
+
readonly target: true;
|
|
4234
|
+
readonly input: true;
|
|
4235
|
+
readonly params: true;
|
|
3827
4236
|
readonly changeKind: {
|
|
3828
4237
|
readonly $ref: "#/$defs/changeKind";
|
|
3829
4238
|
};
|
|
@@ -3852,6 +4261,13 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3852
4261
|
readonly type: "string";
|
|
3853
4262
|
};
|
|
3854
4263
|
};
|
|
4264
|
+
readonly anyOf: readonly [{
|
|
4265
|
+
readonly required: readonly ["changeKind", "field", "value"];
|
|
4266
|
+
}, {
|
|
4267
|
+
readonly required: readonly ["operationId", "target", "input"];
|
|
4268
|
+
}, {
|
|
4269
|
+
readonly required: readonly ["operationId", "input"];
|
|
4270
|
+
}];
|
|
3855
4271
|
readonly allOf: readonly [{
|
|
3856
4272
|
readonly if: {
|
|
3857
4273
|
readonly properties: {
|
|
@@ -3928,8 +4344,12 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3928
4344
|
readonly required: readonly ["condition"];
|
|
3929
4345
|
readonly anyOf: readonly [{
|
|
3930
4346
|
readonly required: readonly ["badge"];
|
|
4347
|
+
}, {
|
|
4348
|
+
readonly required: readonly ["renderer"];
|
|
3931
4349
|
}, {
|
|
3932
4350
|
readonly required: readonly ["value"];
|
|
4351
|
+
}, {
|
|
4352
|
+
readonly required: readonly ["tooltip"];
|
|
3933
4353
|
}];
|
|
3934
4354
|
readonly properties: {
|
|
3935
4355
|
readonly condition: {
|
|
@@ -3938,6 +4358,14 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3938
4358
|
readonly badge: {
|
|
3939
4359
|
readonly $ref: "#/$defs/badge";
|
|
3940
4360
|
};
|
|
4361
|
+
readonly renderer: {
|
|
4362
|
+
readonly type: "object";
|
|
4363
|
+
readonly minProperties: 1;
|
|
4364
|
+
readonly additionalProperties: true;
|
|
4365
|
+
};
|
|
4366
|
+
readonly tooltip: {
|
|
4367
|
+
readonly $ref: "#/$defs/tooltip";
|
|
4368
|
+
};
|
|
3941
4369
|
readonly value: {
|
|
3942
4370
|
readonly $ref: "#/$defs/badge";
|
|
3943
4371
|
};
|
|
@@ -3995,5 +4423,5 @@ declare function coerceTableComponentEditPlan(value: unknown): TableComponentEdi
|
|
|
3995
4423
|
declare function compileTableComponentEditPlans(plans: TableComponentEditPlan[], currentConfig: TableConfig): TableComponentEditPlanCompileResult;
|
|
3996
4424
|
declare function compileTableComponentEditPlan(plan: TableComponentEditPlan, currentConfig: TableConfig): TableComponentEditPlanCompileResult;
|
|
3997
4425
|
|
|
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 };
|
|
4426
|
+
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 };
|
|
4427
|
+
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 };
|