@praxisui/table 8.0.0-beta.4 → 8.0.0-beta.41
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-Cy5oXKp3.mjs +59194 -0
- package/fesm2022/praxisui-table-table-agentic-authoring-turn-flow-FPpyS6u7.mjs +3382 -0
- package/fesm2022/praxisui-table-table-ai.adapter-CH3MlaVE.mjs +3241 -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 +1356 -0
- package/{index.d.ts → types/praxisui-table.d.ts} +522 -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, 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,23 @@ 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?;
|
|
879
970
|
readonly paginatorSelectConfig: MatPaginatorSelectConfig;
|
|
880
971
|
private static readonly ROW_ANIMATION_PRESETS;
|
|
881
972
|
private static readonly ROW_ANIMATION_PRESET_ALIASES;
|
|
@@ -894,12 +985,20 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
894
985
|
crudContext: any;
|
|
895
986
|
filterCriteria: Record<string, any>;
|
|
896
987
|
queryContext: PraxisDataQueryContextBridge | null;
|
|
988
|
+
advancedFilterValue: Record<string, any>;
|
|
989
|
+
advancedFilterRuntimeVisibleFields: string[];
|
|
990
|
+
private advancedFilterAlwaysVisibleCacheKey;
|
|
991
|
+
private advancedFilterAlwaysVisibleCache?;
|
|
992
|
+
private advancedFilterMetadataOverridesCacheKey;
|
|
993
|
+
private advancedFilterMetadataOverridesCacheSource?;
|
|
994
|
+
private advancedFilterMetadataOverridesCache?;
|
|
897
995
|
rowClick: EventEmitter<any>;
|
|
898
996
|
rowDoubleClick: EventEmitter<any>;
|
|
899
997
|
rowExpansionChange: EventEmitter<RowExpansionChangeEvent>;
|
|
900
998
|
rowAction: EventEmitter<any>;
|
|
901
999
|
toolbarAction: EventEmitter<any>;
|
|
902
1000
|
bulkAction: EventEmitter<any>;
|
|
1001
|
+
exportAction: EventEmitter<any>;
|
|
903
1002
|
columnReorder: EventEmitter<any>;
|
|
904
1003
|
columnReorderAttempt: EventEmitter<any>;
|
|
905
1004
|
beforeDelete: EventEmitter<any>;
|
|
@@ -909,6 +1008,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
909
1008
|
afterBulkDelete: EventEmitter<any>;
|
|
910
1009
|
bulkDeleteError: EventEmitter<any>;
|
|
911
1010
|
schemaStatusChange: EventEmitter<any>;
|
|
1011
|
+
configChange: EventEmitter<_praxisui_core.TableConfigModern>;
|
|
912
1012
|
metadataChange: EventEmitter<any>;
|
|
913
1013
|
loadingStateChange: EventEmitter<LoadingState>;
|
|
914
1014
|
collectionLinksChange: EventEmitter<RestApiLinks | null>;
|
|
@@ -937,6 +1037,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
937
1037
|
readonly isExpansionDetailRow: (index: number, row: any) => boolean;
|
|
938
1038
|
columnReorderStatusMessage: string;
|
|
939
1039
|
columnReorderVisualStatusMessage: string;
|
|
1040
|
+
exportBusy: boolean;
|
|
1041
|
+
exportStatusMessage: string;
|
|
940
1042
|
private columnReorderStatusTimer;
|
|
941
1043
|
private columnReorderVisualStatusTimer;
|
|
942
1044
|
private columnReorderUndoSubscription;
|
|
@@ -949,6 +1051,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
949
1051
|
private lastResolvedDataMode;
|
|
950
1052
|
private localFilterFieldMetadataCache;
|
|
951
1053
|
private localFilterFieldMetadataCacheKey;
|
|
1054
|
+
private analyticsLoadSequence;
|
|
952
1055
|
private uncontrolledExpandedRowKeys;
|
|
953
1056
|
private readonly expansionOpaqueRefCacheLimit;
|
|
954
1057
|
private expansionOpaqueRefByRowKey;
|
|
@@ -976,8 +1079,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
976
1079
|
private rowDiscoveryMarkForCheckScheduled;
|
|
977
1080
|
private lastRowDiscoveryScopeKey;
|
|
978
1081
|
private readonly i18n;
|
|
1082
|
+
private readonly collectionExport;
|
|
979
1083
|
private readonly paginatorIntl;
|
|
980
1084
|
private schemaFieldsSnapshot;
|
|
1085
|
+
private filterSchemaFieldsSnapshot;
|
|
981
1086
|
private runtimeSchemaMeta;
|
|
982
1087
|
schemaError: boolean;
|
|
983
1088
|
dataError: boolean;
|
|
@@ -1009,6 +1114,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1009
1114
|
getColumnTextAlignStyle(column: ColumnDefinition): string | null;
|
|
1010
1115
|
getColumnWidthStyle(column: ColumnDefinition): string | null;
|
|
1011
1116
|
getColumnHeaderAttrStyle(column: ColumnDefinition): string | null;
|
|
1117
|
+
getColumnHeaderNgStyle(column: ColumnDefinition): Record<string, string> | undefined;
|
|
1012
1118
|
getColumnCellAttrStyle(column: ColumnDefinition): string | null;
|
|
1013
1119
|
getTableElevationClassName(): string;
|
|
1014
1120
|
private normalizeTableElevationLevel;
|
|
@@ -1025,6 +1131,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1025
1131
|
hasBottomPaginator(): boolean;
|
|
1026
1132
|
hasExplicitResourcePath(): boolean;
|
|
1027
1133
|
hasLocalDataInput(): boolean;
|
|
1134
|
+
hasAnalyticsProjectionInput(): boolean;
|
|
1028
1135
|
getDataMode(): DataMode;
|
|
1029
1136
|
isRemoteMode(): boolean;
|
|
1030
1137
|
isLocalMode(): boolean;
|
|
@@ -1051,6 +1158,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1051
1158
|
shouldRenderAdvancedFilter(): boolean;
|
|
1052
1159
|
getAdvancedFilterResourcePath(): string;
|
|
1053
1160
|
getAdvancedFilterPersistenceKey(): string;
|
|
1161
|
+
getAdvancedFilterAlwaysVisibleFields(): string[] | undefined;
|
|
1162
|
+
getAdvancedFilterAlwaysVisibleFieldMetadataOverrides(): Record<string, Record<string, any>>;
|
|
1054
1163
|
getAdvancedFilterFieldMetadata(): FieldMetadata[] | null | undefined;
|
|
1055
1164
|
private buildLocalFilterMetadata;
|
|
1056
1165
|
private buildLocalFilterMetadataCacheKey;
|
|
@@ -1071,8 +1180,13 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1071
1180
|
get hostColumnBordersClass(): boolean;
|
|
1072
1181
|
trackByRow(index: number, item: any): any;
|
|
1073
1182
|
getSchemaFieldsSnapshot(): SchemaFieldHint[];
|
|
1183
|
+
getFilterSchemaFieldsSnapshot(): FilterSchemaFieldHint[];
|
|
1184
|
+
getResourceCapabilityDigest(): ResourceCapabilityDigest | null;
|
|
1185
|
+
ensureFilterSchemaFieldsSnapshot(): Promise<void>;
|
|
1186
|
+
getAiAssistantSelectedRowsContext(): Record<string, any> | null;
|
|
1074
1187
|
aiAdapter: any;
|
|
1075
1188
|
private aiAdapterLoadStarted;
|
|
1189
|
+
private aiAssistantOpenAfterAdapterLoad;
|
|
1076
1190
|
aiAssistantOpen: boolean;
|
|
1077
1191
|
aiAssistantPrompt: string;
|
|
1078
1192
|
aiAssistantViewState: PraxisAssistantTurnViewState | null;
|
|
@@ -1081,7 +1195,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1081
1195
|
private aiAssistantController;
|
|
1082
1196
|
private aiAssistantStateSubscription;
|
|
1083
1197
|
private readonly aiApi;
|
|
1198
|
+
private readonly assistantSessions;
|
|
1084
1199
|
private readonly aiTurnOrchestrator;
|
|
1200
|
+
private readonly aiAssistantSessionEffect;
|
|
1085
1201
|
private computedContextCache;
|
|
1086
1202
|
private computedFieldNames;
|
|
1087
1203
|
private readonly jsonLogic;
|
|
@@ -1119,6 +1235,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1119
1235
|
private recomputeLocalView;
|
|
1120
1236
|
private resolveLocalSortField;
|
|
1121
1237
|
private setSchemaFieldsSnapshot;
|
|
1238
|
+
private setFilterSchemaFieldsSnapshot;
|
|
1239
|
+
private inferFilterSchemaSourceFields;
|
|
1240
|
+
private resolveFilterSchemaRelatedColumns;
|
|
1241
|
+
private normalizeFieldAlias;
|
|
1122
1242
|
private normalizeSchemaOptions;
|
|
1123
1243
|
private normalizeEnumValues;
|
|
1124
1244
|
private normalizeSchemaKey;
|
|
@@ -1128,21 +1248,53 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1128
1248
|
private tableConfigKey;
|
|
1129
1249
|
private filterConfigKey;
|
|
1130
1250
|
private ensureConfigDefaults;
|
|
1251
|
+
private mergePersistedTableConfigWithInput;
|
|
1252
|
+
private reconcileHostDeclaredTableContract;
|
|
1253
|
+
private reconcileHostDeclaredColumns;
|
|
1254
|
+
private reconcileHostDeclaredRowActions;
|
|
1255
|
+
private reconcileHostDeclaredExport;
|
|
1256
|
+
private normalizePersistedExportFormats;
|
|
1257
|
+
private normalizePersistedRowActionIds;
|
|
1258
|
+
private normalizePersistedColumnIds;
|
|
1259
|
+
private clonePlainObject;
|
|
1131
1260
|
private setShowToolbar;
|
|
1132
1261
|
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,
|
|
1262
|
+
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);
|
|
1263
|
+
private get resourceDiscovery();
|
|
1134
1264
|
private ensureAiAdapterLoaded;
|
|
1135
1265
|
openAiAssistant(): void;
|
|
1266
|
+
aiAssistantTriggerTestId(position: string): string;
|
|
1267
|
+
hasMinimizedAiAssistantSession(): boolean;
|
|
1268
|
+
aiAssistantTriggerIcon(): string;
|
|
1269
|
+
aiAssistantTriggerBadge(): string;
|
|
1270
|
+
aiAssistantTriggerLabel(): string;
|
|
1271
|
+
aiAssistantTriggerTooltip(): string;
|
|
1272
|
+
openAiAssistantFromSession(session: PraxisAssistantSessionSnapshot): void;
|
|
1136
1273
|
closeAiAssistant(): void;
|
|
1137
1274
|
onAiAssistantPromptChange(prompt: string): void;
|
|
1138
1275
|
onAiAssistantSubmit(prompt: string): void;
|
|
1139
1276
|
onAiAssistantApply(): void;
|
|
1277
|
+
onAiAssistantRetry(): void;
|
|
1278
|
+
onAiAssistantCancel(): void;
|
|
1140
1279
|
onAiAssistantQuickReply(reply: PraxisAssistantShellQuickReply): void;
|
|
1141
1280
|
onAiAssistantEditMessage(message: PraxisAssistantShellMessage): void;
|
|
1142
1281
|
onAiAssistantResendMessage(message: PraxisAssistantShellMessage): void;
|
|
1143
1282
|
onAiAssistantLayoutChange(layout: PraxisAssistantShellLayout): void;
|
|
1144
1283
|
private initializeAiAssistantController;
|
|
1145
1284
|
private buildAiAssistantContextItems;
|
|
1285
|
+
private interpolateAiAssistantContextValue;
|
|
1286
|
+
private aiAssistantSelectedRecordsValue;
|
|
1287
|
+
private buildAiAssistantContextSnapshot;
|
|
1288
|
+
private syncAiAssistantSession;
|
|
1289
|
+
private assistantContextRuntimeLocale;
|
|
1290
|
+
private refreshAiAssistantContextAfterSelectionChange;
|
|
1291
|
+
private hasAiAssistantSessionState;
|
|
1292
|
+
private resolveAiAssistantSessionId;
|
|
1293
|
+
private resolveAiAssistantOwnerId;
|
|
1294
|
+
private resolveAiAssistantRouteKey;
|
|
1295
|
+
private resolveAiAssistantSummary;
|
|
1296
|
+
private resolveAiAssistantBadge;
|
|
1297
|
+
private resolveAiAssistantIcon;
|
|
1146
1298
|
private emitLoadingState;
|
|
1147
1299
|
private hasResolvedRemoteDataLoad;
|
|
1148
1300
|
private isTableDataLoading;
|
|
@@ -1360,22 +1512,67 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1360
1512
|
private emitRowActionEvent;
|
|
1361
1513
|
private showConfirmDialog;
|
|
1362
1514
|
private executeDeleteAction;
|
|
1515
|
+
private dispatchRowAction;
|
|
1363
1516
|
private cloneForEmit;
|
|
1364
1517
|
private interpolateActionMessageTemplate;
|
|
1365
1518
|
private buildActionFeedbackContext;
|
|
1366
1519
|
private resolveActionFeedbackMessage;
|
|
1367
1520
|
private showActionFeedbackMessage;
|
|
1368
1521
|
private emitEventWithActionFeedback;
|
|
1522
|
+
private executeConfiguredGlobalAction;
|
|
1523
|
+
private resolveConfiguredGlobalActionRef;
|
|
1524
|
+
private resolveActionGlobalActionRef;
|
|
1525
|
+
private resolveGlobalActionPayload;
|
|
1526
|
+
private buildGlobalActionTemplateContext;
|
|
1527
|
+
private resolveGlobalActionTemplateValue;
|
|
1528
|
+
private isDeferredTemplateExpressionKey;
|
|
1529
|
+
private interpolateGlobalActionTemplate;
|
|
1530
|
+
private shouldEmitLocalForGlobalAction;
|
|
1369
1531
|
private resolveBulkValidationMessage;
|
|
1370
1532
|
private hasValidBulkSelectionCount;
|
|
1371
1533
|
private showBulkConfirmDialog;
|
|
1372
1534
|
onToolbarAction(event: {
|
|
1373
1535
|
action: string;
|
|
1374
1536
|
actionConfig?: any;
|
|
1375
|
-
}): void
|
|
1537
|
+
}): Promise<void>;
|
|
1538
|
+
private resolveBulkExportFormat;
|
|
1539
|
+
private isBulkExportActionKey;
|
|
1540
|
+
private normalizeExportFormat;
|
|
1541
|
+
private isExportFormatEnabled;
|
|
1542
|
+
private getFirstEnabledExportFormat;
|
|
1543
|
+
onExportAction(event: {
|
|
1544
|
+
format: string;
|
|
1545
|
+
scope?: PraxisExportScope;
|
|
1546
|
+
}): Promise<void>;
|
|
1547
|
+
canRunExportAction(format: unknown): boolean;
|
|
1548
|
+
private shouldBlockSelectedExportWithoutSelection;
|
|
1549
|
+
private buildTableExportRequest;
|
|
1550
|
+
private resolveEffectiveExportScope;
|
|
1551
|
+
private resolveTableExportLoadedItems;
|
|
1552
|
+
private computeLocalExportRows;
|
|
1553
|
+
private buildTableExportFields;
|
|
1554
|
+
private buildTableExportFormatOptions;
|
|
1555
|
+
private buildTableExportLocalization;
|
|
1556
|
+
private resolveColumnExportFormat;
|
|
1557
|
+
private buildColumnExportPresentation;
|
|
1558
|
+
private resolveColumnExportCurrency;
|
|
1559
|
+
private downloadExportResult;
|
|
1560
|
+
private triggerExportDownload;
|
|
1561
|
+
private resolveExportFileName;
|
|
1562
|
+
private getExportFileExtension;
|
|
1563
|
+
private getExportMimeType;
|
|
1564
|
+
private showExportFeedback;
|
|
1376
1565
|
onAdvancedFilterSubmit(criteria: Record<string, any>): void;
|
|
1377
1566
|
onAdvancedFilterChange(criteria: Record<string, any>): void;
|
|
1378
1567
|
onAdvancedFilterClear(): void;
|
|
1568
|
+
private applyAdvancedFilterCriteria;
|
|
1569
|
+
private setAdvancedFilterCriteria;
|
|
1570
|
+
private syncAdvancedFilterValueFromCriteria;
|
|
1571
|
+
private deriveRuntimeVisibleAdvancedFilterFields;
|
|
1572
|
+
private isEmptyAdvancedFilterCriterionValue;
|
|
1573
|
+
private mergeAdvancedFilterFieldIds;
|
|
1574
|
+
private getRuntimePromotedAdvancedFilterFields;
|
|
1575
|
+
private toPlainRecord;
|
|
1379
1576
|
private saveConfigWithAck;
|
|
1380
1577
|
private clearConfigWithAck;
|
|
1381
1578
|
private persistHorizontalScrollInput;
|
|
@@ -1439,7 +1636,18 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1439
1636
|
*/
|
|
1440
1637
|
private verifyServerSchemaVersion;
|
|
1441
1638
|
private loadSchema;
|
|
1639
|
+
private loadFilterSchemaSnapshot;
|
|
1442
1640
|
private convertFieldToColumn;
|
|
1641
|
+
private applySchemaFieldPresentation;
|
|
1642
|
+
private resolveSchemaCurrencyFormat;
|
|
1643
|
+
private resolveSchemaBooleanFormat;
|
|
1644
|
+
private resolveSchemaValueMapping;
|
|
1645
|
+
private resolveSchemaOptionsValueMapping;
|
|
1646
|
+
private normalizePresentationToken;
|
|
1647
|
+
private firstNonEmptyString;
|
|
1648
|
+
private firstFiniteNumber;
|
|
1649
|
+
private humanizeSchemaEnumValue;
|
|
1650
|
+
private capitalizeSchemaEnumPart;
|
|
1443
1651
|
/**
|
|
1444
1652
|
* Apply automatic renderer hints based on schema field metadata.
|
|
1445
1653
|
* Runs only on initial bootstrap (when columns are derived from schema).
|
|
@@ -1507,6 +1715,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1507
1715
|
private pruneRowDiscoveryCaches;
|
|
1508
1716
|
private pruneRowDiscoveryCache;
|
|
1509
1717
|
private fetchData;
|
|
1718
|
+
private resolveAnalyticsProjection;
|
|
1719
|
+
private fetchAnalyticsProjectionData;
|
|
1510
1720
|
private getEffectiveFilterCriteria;
|
|
1511
1721
|
retryData(): void;
|
|
1512
1722
|
reloadSchema(): void;
|
|
@@ -1519,9 +1729,35 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1519
1729
|
* 3. format (data formatting like dates, numbers, currency)
|
|
1520
1730
|
*/
|
|
1521
1731
|
getCellValue(rowData: any, column: ColumnDefinition): any;
|
|
1732
|
+
private applyImplicitRuntimeCellPresentation;
|
|
1733
|
+
private shouldHumanizeRuntimeEnumCell;
|
|
1734
|
+
private resolveCellFormattingType;
|
|
1735
|
+
private normalizeReadonlyEntityLookupCellValue;
|
|
1736
|
+
private toEntityLookupDisplayToken;
|
|
1737
|
+
private isEntityLookupDisplayCandidate;
|
|
1738
|
+
private toEntityLookupDisplayPrimitive;
|
|
1522
1739
|
private resolveImplicitFormat;
|
|
1523
1740
|
getCellClasses(rowData: any, column: ColumnDefinition): string[] | undefined;
|
|
1524
1741
|
getCellNgStyle(rowData: any, column: ColumnDefinition): Record<string, string> | undefined;
|
|
1742
|
+
private normalizeInlineStyleRecord;
|
|
1743
|
+
private normalizeConditionalStyleRules;
|
|
1744
|
+
private normalizeConditionalStyleRecord;
|
|
1745
|
+
getCellTooltip(rowData: any, column: ColumnDefinition): string | null;
|
|
1746
|
+
getCellTooltipPosition(rowData: any, column: ColumnDefinition): 'above' | 'below' | 'left' | 'right' | 'before' | 'after';
|
|
1747
|
+
private resolveConditionalStyleTooltipText;
|
|
1748
|
+
private resolveRendererTooltipText;
|
|
1749
|
+
private normalizeTooltipPosition;
|
|
1750
|
+
private normalizeConditionalStyleEffects;
|
|
1751
|
+
private hasConditionalStyleEffectPayload;
|
|
1752
|
+
private resolveConditionalStyleClasses;
|
|
1753
|
+
private resolveConditionalStyleObject;
|
|
1754
|
+
private compileConditionalStyleEffect;
|
|
1755
|
+
private normalizeConditionalRendererRules;
|
|
1756
|
+
private normalizeObjectRecord;
|
|
1757
|
+
private buildColumnRendererOverrideFromEffects;
|
|
1758
|
+
private buildColumnRendererFromEffect;
|
|
1759
|
+
private resolveRuleAnimationFromEffects;
|
|
1760
|
+
private resolveRowTooltipFromEffects;
|
|
1525
1761
|
private resetComputedContextCache;
|
|
1526
1762
|
private ensureEffectiveCellRenderCache;
|
|
1527
1763
|
private ensureCellAnimationPreviousValuesByRowId;
|
|
@@ -1533,6 +1769,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1533
1769
|
private buildComputedSignature;
|
|
1534
1770
|
private stringifyDependencyValue;
|
|
1535
1771
|
private buildComputedValueMap;
|
|
1772
|
+
private collectComputedColumns;
|
|
1773
|
+
private evaluateCanonicalComputedColumns;
|
|
1774
|
+
private collectComputedExpressionDependencies;
|
|
1775
|
+
private collectJsonLogicVarDependencies;
|
|
1776
|
+
private resolveJsonLogicVarPath;
|
|
1536
1777
|
private buildEvaluationContext;
|
|
1537
1778
|
private getJsonLogicEvaluationOptions;
|
|
1538
1779
|
private resolveJsonLogicUserTimeZone;
|
|
@@ -1671,6 +1912,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1671
1912
|
private buildEffectiveCellRenderCacheKey;
|
|
1672
1913
|
private getEffectiveCellRenderResult;
|
|
1673
1914
|
private getEffectiveRenderer;
|
|
1915
|
+
private resolveEffectiveRendererTooltip;
|
|
1674
1916
|
getLinkHref(row: any, column: ColumnDefinition): string | null;
|
|
1675
1917
|
getLinkText(row: any, column: ColumnDefinition): string;
|
|
1676
1918
|
getLinkRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
|
|
@@ -1714,6 +1956,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1714
1956
|
private deriveAvatarInitials;
|
|
1715
1957
|
getAvatarInitials(row: any, column: ColumnDefinition): string;
|
|
1716
1958
|
getAvatarRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
|
|
1959
|
+
private getAvatarRichContentStyle;
|
|
1717
1960
|
getAvatarShape(row: any, column: ColumnDefinition): 'square' | 'rounded' | 'circle' | undefined;
|
|
1718
1961
|
getAvatarStyle(row: any, column: ColumnDefinition): Record<string, string> | null;
|
|
1719
1962
|
getToggleState(row: any, column: ColumnDefinition): boolean;
|
|
@@ -1769,6 +2012,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1769
2012
|
private reconcileSelectionAfterDataChange;
|
|
1770
2013
|
private getComparableRowIdentity;
|
|
1771
2014
|
getIdField(): string;
|
|
2015
|
+
private resolveConfigMetaIdField;
|
|
1772
2016
|
private syncRuntimeSchemaMetaFromConfig;
|
|
1773
2017
|
private getEffectiveMetadataSnapshot;
|
|
1774
2018
|
getActionId(action: any): string;
|
|
@@ -1787,6 +2031,20 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1787
2031
|
toggleRow(row: any): void;
|
|
1788
2032
|
private selectRowFromUserInteraction;
|
|
1789
2033
|
private emitSelectionChange;
|
|
2034
|
+
private getSelectedRowsSnapshot;
|
|
2035
|
+
private getAiAssistantSelectionFields;
|
|
2036
|
+
private buildAiAssistantSelectionFilterCandidates;
|
|
2037
|
+
private inferAiAssistantFilterCriterionKind;
|
|
2038
|
+
private buildAiAssistantRangeFilterCandidate;
|
|
2039
|
+
private buildAiAssistantSetFilterCandidate;
|
|
2040
|
+
private resolveAiAssistantSetFilterDisplayValue;
|
|
2041
|
+
private aiAssistantSetFilterDisplayFieldCandidates;
|
|
2042
|
+
private resolveAiAssistantFilterSourceFields;
|
|
2043
|
+
private normalizeAiAssistantNumericRangeValue;
|
|
2044
|
+
private normalizeAiAssistantDateRangeValue;
|
|
2045
|
+
private sanitizeAiAssistantSelectedRow;
|
|
2046
|
+
private safeStringifyAiAssistantValue;
|
|
2047
|
+
private isSensitiveAiAssistantField;
|
|
1790
2048
|
private getRowActionsConfig;
|
|
1791
2049
|
getActionsHeaderAlign(): string;
|
|
1792
2050
|
getActionsHeaderTooltip(): string | undefined;
|
|
@@ -1811,11 +2069,19 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1811
2069
|
private splitVisibleRowActionsFromVisible;
|
|
1812
2070
|
private decorateConfiguredRowAction;
|
|
1813
2071
|
private getDiscoveredRowWorkflowActions;
|
|
2072
|
+
private getDiscoveredRowSurfaceActionsFromSnapshot;
|
|
1814
2073
|
private getDiscoveredRowWorkflowActionsFromCatalog;
|
|
1815
2074
|
private supportsRowCrudAction;
|
|
1816
2075
|
private isCapabilityManagedCrudRowAction;
|
|
1817
2076
|
private findItemWorkflowAction;
|
|
2077
|
+
private findItemSurface;
|
|
2078
|
+
private isRowSurfaceAction;
|
|
2079
|
+
private isWritableRowSurface;
|
|
2080
|
+
private isReadableRowSurface;
|
|
2081
|
+
private getDiscoveredSurfaceIcon;
|
|
2082
|
+
private getDiscoveredSurfaceColor;
|
|
1818
2083
|
private getUnavailableWorkflowMessage;
|
|
2084
|
+
private getUnavailableSurfaceMessage;
|
|
1819
2085
|
private normalizeActionId;
|
|
1820
2086
|
private isActionVisible;
|
|
1821
2087
|
trackAction(index: number, item: any): any;
|
|
@@ -1829,8 +2095,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1829
2095
|
getRowMenuIcon(): string;
|
|
1830
2096
|
private scheduleRowDiscoveryMarkForCheck;
|
|
1831
2097
|
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>;
|
|
2098
|
+
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; }]>;
|
|
2099
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTable, "praxis-table", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "data": { "alias": "data"; "required": false; }; "tableId": { "alias": "tableId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "autoDelete": { "alias": "autoDelete"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "crudContext": { "alias": "crudContext"; "required": false; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "horizontalScroll": { "alias": "horizontalScroll"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "exportAction": "exportAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "configChange": "configChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; "selectionChange": "selectionChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
1834
2100
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
1835
2101
|
}
|
|
1836
2102
|
|
|
@@ -1843,7 +2109,6 @@ interface EditorDocument<TConfig, TBindings = unknown> {
|
|
|
1843
2109
|
type TableHorizontalScroll = 'auto' | 'wrap' | 'none';
|
|
1844
2110
|
interface TableBindings {
|
|
1845
2111
|
resourcePath?: string | null;
|
|
1846
|
-
idField?: string;
|
|
1847
2112
|
horizontalScroll?: TableHorizontalScroll;
|
|
1848
2113
|
}
|
|
1849
2114
|
interface TableAuthoringDocument extends EditorDocument<TableConfig, TableBindings> {
|
|
@@ -1900,7 +2165,6 @@ interface TableApplyPlan {
|
|
|
1900
2165
|
};
|
|
1901
2166
|
diff?: {
|
|
1902
2167
|
resourcePathChanged?: boolean;
|
|
1903
|
-
idFieldChanged?: boolean;
|
|
1904
2168
|
horizontalScrollChanged?: boolean;
|
|
1905
2169
|
requiresDataRefresh?: boolean;
|
|
1906
2170
|
};
|
|
@@ -2373,6 +2637,8 @@ interface ToolbarAction {
|
|
|
2373
2637
|
/** Material button appearance: filled (flat), outlined (stroked), elevated (raised), text, tonal */
|
|
2374
2638
|
appearance?: 'filled' | 'outlined' | 'elevated' | 'text' | 'tonal';
|
|
2375
2639
|
action: string;
|
|
2640
|
+
globalAction?: GlobalActionRef;
|
|
2641
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2376
2642
|
position: 'start' | 'end';
|
|
2377
2643
|
order?: number;
|
|
2378
2644
|
disabled?: boolean;
|
|
@@ -2380,7 +2646,7 @@ interface ToolbarAction {
|
|
|
2380
2646
|
shortcut?: string;
|
|
2381
2647
|
shortcutScope?: 'toolbar' | 'global';
|
|
2382
2648
|
tooltip?: string;
|
|
2383
|
-
visibleWhen?:
|
|
2649
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
2384
2650
|
children?: ToolbarAction[];
|
|
2385
2651
|
}
|
|
2386
2652
|
interface RowAction {
|
|
@@ -2388,11 +2654,15 @@ interface RowAction {
|
|
|
2388
2654
|
label: string;
|
|
2389
2655
|
icon: string;
|
|
2390
2656
|
action: string;
|
|
2657
|
+
globalAction?: GlobalActionRef;
|
|
2658
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2391
2659
|
color?: 'primary' | 'accent' | 'warn';
|
|
2392
2660
|
tooltip?: string;
|
|
2393
2661
|
requiresConfirmation?: boolean;
|
|
2394
2662
|
autoDelete?: boolean;
|
|
2395
2663
|
separator?: boolean;
|
|
2664
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
2665
|
+
disabledWhen?: JsonLogicExpression | null;
|
|
2396
2666
|
conditional?: string;
|
|
2397
2667
|
}
|
|
2398
2668
|
interface BulkAction {
|
|
@@ -2400,6 +2670,8 @@ interface BulkAction {
|
|
|
2400
2670
|
label: string;
|
|
2401
2671
|
icon: string;
|
|
2402
2672
|
action: string;
|
|
2673
|
+
globalAction?: GlobalActionRef;
|
|
2674
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2403
2675
|
color?: 'primary' | 'accent' | 'warn';
|
|
2404
2676
|
tooltip?: string;
|
|
2405
2677
|
requiresConfirmation?: boolean;
|
|
@@ -2413,6 +2685,25 @@ interface ToolbarActionsChange {
|
|
|
2413
2685
|
value: any;
|
|
2414
2686
|
fullConfig: TableConfig;
|
|
2415
2687
|
}
|
|
2688
|
+
type GlobalActionCatalogOption = GlobalActionCatalogEntry & {
|
|
2689
|
+
param?: {
|
|
2690
|
+
required?: boolean;
|
|
2691
|
+
label?: string;
|
|
2692
|
+
placeholder?: string;
|
|
2693
|
+
hint?: string;
|
|
2694
|
+
};
|
|
2695
|
+
};
|
|
2696
|
+
type EditableTableAction = {
|
|
2697
|
+
id?: string;
|
|
2698
|
+
label?: string;
|
|
2699
|
+
action?: string;
|
|
2700
|
+
globalAction?: GlobalActionRef;
|
|
2701
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2702
|
+
position?: string;
|
|
2703
|
+
appearance?: string;
|
|
2704
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
2705
|
+
disabledWhen?: JsonLogicExpression | null;
|
|
2706
|
+
};
|
|
2416
2707
|
type ToolbarShortcutScope = 'toolbar' | 'global';
|
|
2417
2708
|
interface InternalActionSpec {
|
|
2418
2709
|
id: string;
|
|
@@ -2433,14 +2724,14 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
|
|
|
2433
2724
|
editingToolbarActionIndex: number | null;
|
|
2434
2725
|
editingRowActionIndex: number | null;
|
|
2435
2726
|
editingBulkActionIndex: number | null;
|
|
2436
|
-
readonly
|
|
2727
|
+
private readonly i18n;
|
|
2728
|
+
readonly globalActionCatalog: GlobalActionCatalogOption[];
|
|
2437
2729
|
get internalActionCatalog(): InternalActionSpec[];
|
|
2438
2730
|
readonly customActionValue = "__custom__";
|
|
2439
2731
|
readonly validShortcutScopes: ToolbarShortcutScope[];
|
|
2440
2732
|
private readonly actionFieldDrafts;
|
|
2441
2733
|
private readonly actionFieldErrors;
|
|
2442
2734
|
private readonly warnedInvalidShortcutScopes;
|
|
2443
|
-
private readonly i18n;
|
|
2444
2735
|
private destroy$;
|
|
2445
2736
|
constructor(fb: FormBuilder, iconPicker: IconPickerService);
|
|
2446
2737
|
tx(key: string, fallback: string): string;
|
|
@@ -2469,56 +2760,37 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
|
|
|
2469
2760
|
private removeAddToolbarAction;
|
|
2470
2761
|
private syncAddFormFromActions;
|
|
2471
2762
|
private updateConfig;
|
|
2472
|
-
getActionSelectValue(
|
|
2473
|
-
getActionParam(
|
|
2474
|
-
|
|
2763
|
+
getActionSelectValue(action?: EditableTableAction): string;
|
|
2764
|
+
getActionParam(action?: EditableTableAction): string;
|
|
2765
|
+
isRequiredGlobalActionParamMissing(action: EditableTableAction, spec: GlobalActionCatalogOption): boolean;
|
|
2766
|
+
getActionCustomValue(action?: EditableTableAction): string;
|
|
2475
2767
|
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;
|
|
2768
|
+
getActionSpecById(id: string): GlobalActionCatalogOption | undefined;
|
|
2769
|
+
onActionSelectChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2770
|
+
onActionParamChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2771
|
+
onActionCustomChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2772
|
+
getCanonicalGlobalActionRef(action?: EditableTableAction): GlobalActionRef | undefined;
|
|
2773
|
+
private setCanonicalGlobalActionRef;
|
|
2486
2774
|
private touchActionList;
|
|
2487
|
-
|
|
2775
|
+
getActionJsonLogicText(action: EditableTableAction, key: 'visibleWhen' | 'disabledWhen'): string;
|
|
2776
|
+
onActionJsonLogicChange(action: EditableTableAction, key: 'visibleWhen' | 'disabledWhen', value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2777
|
+
getActionConditionError(action: EditableTableAction, key: 'visibleWhen' | 'disabledWhen'): string;
|
|
2488
2778
|
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;
|
|
2779
|
+
getGlobalActionSchema(action: EditableTableAction): _praxisui_core.GlobalActionUiSchema | undefined;
|
|
2780
|
+
getSurfaceOpenActionPayload(action: EditableTableAction): SurfaceOpenPayload;
|
|
2781
|
+
onSurfaceOpenActionPayloadChange(action: EditableTableAction, payload: SurfaceOpenPayload, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2782
|
+
shouldShowGlobalActionField(action: EditableTableAction, field: GlobalActionField): boolean;
|
|
2783
|
+
isGlobalActionFieldRequired(action: EditableTableAction, field: GlobalActionField): boolean;
|
|
2784
|
+
isGlobalActionFieldMissing(action: EditableTableAction, field: GlobalActionField): boolean;
|
|
2785
|
+
hasActionFieldError(action: EditableTableAction, key: string): boolean;
|
|
2786
|
+
getActionFieldError(action: EditableTableAction, key: string): string;
|
|
2787
|
+
getGlobalActionFieldValue(action: EditableTableAction, field: GlobalActionField): any;
|
|
2788
|
+
onGlobalActionFieldChange(action: EditableTableAction, field: GlobalActionField, value: any, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2515
2789
|
private stringifyJson;
|
|
2516
2790
|
private normalizeSurfaceOpenPayload;
|
|
2517
2791
|
private setActionFieldError;
|
|
2518
2792
|
private clearActionFieldError;
|
|
2519
2793
|
private collectGlobalActionFieldValues;
|
|
2520
|
-
private serializeGlobalActionParam;
|
|
2521
|
-
private buildPrimaryParam;
|
|
2522
2794
|
private buildGlobalActionPayload;
|
|
2523
2795
|
getToolbarActionShortcutScope(action: ToolbarAction): ToolbarShortcutScope;
|
|
2524
2796
|
onToolbarActionShortcutScopeChange(action: ToolbarAction, value: ToolbarShortcutScope | string): void;
|
|
@@ -2710,6 +2982,7 @@ declare class FilterSettingsComponent implements OnChanges, AfterViewInit, OnDes
|
|
|
2710
2982
|
}[];
|
|
2711
2983
|
getContrastWarning(): string | null;
|
|
2712
2984
|
applyPreset(key: string): void;
|
|
2985
|
+
isPresetActive(key: string): boolean;
|
|
2713
2986
|
hasBooleanFieldMetadata(): boolean;
|
|
2714
2987
|
getFieldLabel(name: string): string;
|
|
2715
2988
|
onAlwaysVisibleFieldSearchChange(value: string): void;
|
|
@@ -2873,12 +3146,10 @@ declare class RuleCompilerService {
|
|
|
2873
3146
|
static ɵprov: i0.ɵɵInjectableDeclaration<RuleCompilerService>;
|
|
2874
3147
|
}
|
|
2875
3148
|
|
|
2876
|
-
type RuleItem = {
|
|
2877
|
-
condition: JsonLogicExpression;
|
|
3149
|
+
type RuleItem = Omit<PraxisRuntimeConditionalEffectRule<RuleEffectDefinition>, 'effects'> & {
|
|
2878
3150
|
cssClass?: string;
|
|
2879
3151
|
style?: Record<string, string>;
|
|
2880
|
-
|
|
2881
|
-
effects?: _praxisui_table_rule_builder.RuleEffectDefinition;
|
|
3152
|
+
effects?: RuleEffectDefinition[];
|
|
2882
3153
|
enabled?: boolean;
|
|
2883
3154
|
};
|
|
2884
3155
|
declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy {
|
|
@@ -2948,6 +3219,7 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
2948
3219
|
onColumnSelect(field: string): void;
|
|
2949
3220
|
private initFromConfig;
|
|
2950
3221
|
private loadColumnRules;
|
|
3222
|
+
private normalizePersistedRules;
|
|
2951
3223
|
rebuildCondition(): void;
|
|
2952
3224
|
onDraftChange(): void;
|
|
2953
3225
|
applyTextPreset(preset: string): void;
|
|
@@ -2974,6 +3246,8 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
2974
3246
|
onExportRules(): void;
|
|
2975
3247
|
onImportRules(): void;
|
|
2976
3248
|
private sanitizeRule;
|
|
3249
|
+
private normalizeRuleEffects;
|
|
3250
|
+
getPrimaryEffect(r: RuleItem | null | undefined): RuleEffectDefinition | undefined;
|
|
2977
3251
|
getAnimationLabel(r: RuleItem): string | null;
|
|
2978
3252
|
private normalizeRendererAnimation;
|
|
2979
3253
|
private buildRendererOverrideFromRule;
|
|
@@ -3080,6 +3354,8 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3080
3354
|
private cdr;
|
|
3081
3355
|
private configService;
|
|
3082
3356
|
private readonly i18n;
|
|
3357
|
+
private readonly globalActionCatalogSource;
|
|
3358
|
+
private readonly globalActionCatalog;
|
|
3083
3359
|
filterSettingsEditor?: FilterSettingsComponent;
|
|
3084
3360
|
behaviorEditor?: BehaviorConfigEditorComponent;
|
|
3085
3361
|
rulesEditor?: TableRulesEditorComponent;
|
|
@@ -3142,6 +3418,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3142
3418
|
private hasLocalDataInput;
|
|
3143
3419
|
private filterDtoLoadSeq;
|
|
3144
3420
|
private lastKnownFilterSettings;
|
|
3421
|
+
private globalActionValidationIssues;
|
|
3145
3422
|
private readonly panelData;
|
|
3146
3423
|
private readonly crudService;
|
|
3147
3424
|
private readonly panelRef;
|
|
@@ -3168,6 +3445,9 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3168
3445
|
onRulesConfigChange(newCfg: TableConfig): void;
|
|
3169
3446
|
private updateColumnMetas;
|
|
3170
3447
|
private updateCanSaveState;
|
|
3448
|
+
private collectGlobalActionValidationIssues;
|
|
3449
|
+
private findGlobalActionCatalogEntry;
|
|
3450
|
+
private buildGlobalActionCatalog;
|
|
3171
3451
|
private subscribeCrudEditorChanges;
|
|
3172
3452
|
private showSuccess;
|
|
3173
3453
|
private showError;
|
|
@@ -3176,6 +3456,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3176
3456
|
* Normaliza uma configuração de tabela para comparação consistente
|
|
3177
3457
|
* Remove propriedades undefined, ordena arrays e objetos de forma consistente
|
|
3178
3458
|
*/
|
|
3459
|
+
private withCanonicalIdField;
|
|
3179
3460
|
private normalizeTableConfig;
|
|
3180
3461
|
/**
|
|
3181
3462
|
* Realiza comparação profunda de objetos, ignorando ordem de propriedades
|
|
@@ -3238,6 +3519,107 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3238
3519
|
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableConfigEditor, "praxis-table-config-editor", never, {}, {}, never, never, true, never>;
|
|
3239
3520
|
}
|
|
3240
3521
|
|
|
3522
|
+
interface PraxisTableWidgetEditorInputs {
|
|
3523
|
+
config?: TableConfig | null;
|
|
3524
|
+
resourcePath?: string | null;
|
|
3525
|
+
horizontalScroll?: 'auto' | 'wrap' | 'none';
|
|
3526
|
+
tableId?: string;
|
|
3527
|
+
componentInstanceId?: string;
|
|
3528
|
+
[key: string]: unknown;
|
|
3529
|
+
}
|
|
3530
|
+
interface PraxisTableWidgetEditorValue {
|
|
3531
|
+
inputs: PraxisTableWidgetEditorInputs;
|
|
3532
|
+
}
|
|
3533
|
+
declare class PraxisTableWidgetConfigEditor implements SettingsValueProvider$1, AfterViewInit, OnDestroy {
|
|
3534
|
+
inputs: PraxisTableWidgetEditorInputs | null;
|
|
3535
|
+
widgetKey?: string;
|
|
3536
|
+
tableEditor?: PraxisTableConfigEditor;
|
|
3537
|
+
readonly isDirty$: BehaviorSubject<boolean>;
|
|
3538
|
+
readonly isValid$: BehaviorSubject<boolean>;
|
|
3539
|
+
readonly isBusy$: BehaviorSubject<boolean>;
|
|
3540
|
+
private readonly subscription;
|
|
3541
|
+
ngAfterViewInit(): void;
|
|
3542
|
+
ngOnDestroy(): void;
|
|
3543
|
+
getSettingsValue(): PraxisTableWidgetEditorValue;
|
|
3544
|
+
onSave(): PraxisTableWidgetEditorValue;
|
|
3545
|
+
reset(): void;
|
|
3546
|
+
private initializeChildEditor;
|
|
3547
|
+
private buildValue;
|
|
3548
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableWidgetConfigEditor, never>;
|
|
3549
|
+
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>;
|
|
3550
|
+
}
|
|
3551
|
+
|
|
3552
|
+
interface PraxisFilterWidgetEditorInputs {
|
|
3553
|
+
resourcePath?: string | null;
|
|
3554
|
+
fieldMetadata?: FieldMetadata[] | null;
|
|
3555
|
+
filterId?: string;
|
|
3556
|
+
formId?: string;
|
|
3557
|
+
componentInstanceId?: string;
|
|
3558
|
+
alwaysVisibleFields?: string[];
|
|
3559
|
+
alwaysVisibleFieldMetadataOverrides?: Record<string, Record<string, unknown>>;
|
|
3560
|
+
selectedFieldIds?: string[];
|
|
3561
|
+
allowSaveTags?: boolean;
|
|
3562
|
+
changeDebounceMs?: number;
|
|
3563
|
+
placeBooleansInActions?: boolean;
|
|
3564
|
+
showToggleLabels?: boolean;
|
|
3565
|
+
alwaysMinWidth?: number;
|
|
3566
|
+
alwaysColsMd?: number;
|
|
3567
|
+
alwaysColsLg?: number;
|
|
3568
|
+
confirmTagDelete?: boolean;
|
|
3569
|
+
tagColor?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
3570
|
+
tagVariant?: 'filled' | 'outlined';
|
|
3571
|
+
tagButtonColor?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
3572
|
+
actionsButtonColor?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
3573
|
+
actionsVariant?: 'standard' | 'outlined';
|
|
3574
|
+
useInlineSearchableSelectVariant?: boolean;
|
|
3575
|
+
useInlineRangeVariant?: boolean;
|
|
3576
|
+
useInlineDateVariant?: boolean;
|
|
3577
|
+
useInlineDateRangeVariant?: boolean;
|
|
3578
|
+
useInlineTimeVariant?: boolean;
|
|
3579
|
+
useInlineTimeRangeVariant?: boolean;
|
|
3580
|
+
useInlineTreeSelectVariant?: boolean;
|
|
3581
|
+
overlayVariant?: 'card' | 'frosted';
|
|
3582
|
+
overlayBackdrop?: boolean;
|
|
3583
|
+
advancedOpenMode?: 'modal' | 'drawer';
|
|
3584
|
+
advancedClearButtonsEnabled?: boolean;
|
|
3585
|
+
persistenceKey?: string;
|
|
3586
|
+
showFilterSettings?: boolean;
|
|
3587
|
+
enableCustomization?: boolean;
|
|
3588
|
+
[key: string]: unknown;
|
|
3589
|
+
}
|
|
3590
|
+
interface PraxisFilterWidgetEditorValue {
|
|
3591
|
+
inputs: PraxisFilterWidgetEditorInputs;
|
|
3592
|
+
}
|
|
3593
|
+
declare class PraxisFilterWidgetConfigEditor implements SettingsValueProvider$1, OnDestroy {
|
|
3594
|
+
widgetKey?: string;
|
|
3595
|
+
set inputs(value: PraxisFilterWidgetEditorInputs | null);
|
|
3596
|
+
get inputs(): PraxisFilterWidgetEditorInputs | null;
|
|
3597
|
+
set filterSettings(component: FilterSettingsComponent | undefined);
|
|
3598
|
+
metadata: FieldMetadata[];
|
|
3599
|
+
settings: FilterConfig;
|
|
3600
|
+
configKey?: string;
|
|
3601
|
+
readonly isDirty$: BehaviorSubject<boolean>;
|
|
3602
|
+
readonly isValid$: BehaviorSubject<boolean>;
|
|
3603
|
+
readonly isBusy$: BehaviorSubject<boolean>;
|
|
3604
|
+
private currentInputs;
|
|
3605
|
+
private settingsEditor?;
|
|
3606
|
+
private subscription;
|
|
3607
|
+
ngOnDestroy(): void;
|
|
3608
|
+
getSettingsValue(): PraxisFilterWidgetEditorValue;
|
|
3609
|
+
onSave(): PraxisFilterWidgetEditorValue;
|
|
3610
|
+
reset(): void;
|
|
3611
|
+
private buildValue;
|
|
3612
|
+
private buildSettingsFromInputs;
|
|
3613
|
+
private projectSettingsToInputs;
|
|
3614
|
+
private normalizeSettings;
|
|
3615
|
+
private normalizeAdvancedOpenMode;
|
|
3616
|
+
private normalizeOverlayVariant;
|
|
3617
|
+
private cloneStringArray;
|
|
3618
|
+
private cloneRecord;
|
|
3619
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisFilterWidgetConfigEditor, never>;
|
|
3620
|
+
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>;
|
|
3621
|
+
}
|
|
3622
|
+
|
|
3241
3623
|
declare class DataFormatterComponent implements OnInit, OnChanges {
|
|
3242
3624
|
private cdr;
|
|
3243
3625
|
private formattingService;
|
|
@@ -3306,31 +3688,6 @@ declare class DataFormatterComponent implements OnInit, OnChanges {
|
|
|
3306
3688
|
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
3689
|
}
|
|
3308
3690
|
|
|
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
3691
|
interface AnalyticsTableConfigAdapterOptions {
|
|
3335
3692
|
title?: PraxisTextValue;
|
|
3336
3693
|
subtitle?: PraxisTextValue;
|
|
@@ -3344,24 +3701,6 @@ declare class AnalyticsTableConfigAdapterService {
|
|
|
3344
3701
|
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableConfigAdapterService>;
|
|
3345
3702
|
}
|
|
3346
3703
|
|
|
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
3704
|
declare class AnalyticsTableContractService {
|
|
3366
3705
|
private readonly analyticsSchema;
|
|
3367
3706
|
private readonly resolver;
|
|
@@ -3397,6 +3736,15 @@ declare function buildTableApplyPlan(doc: TableAuthoringDocument, runtime?: Tabl
|
|
|
3397
3736
|
}): TableApplyPlan;
|
|
3398
3737
|
declare function serializeTableAuthoringDocument(doc: TableAuthoringDocument): unknown;
|
|
3399
3738
|
|
|
3739
|
+
/**
|
|
3740
|
+
* Manifesto de authoring canônico para o componente praxis-table.
|
|
3741
|
+
* Este arquivo define o contrato executável para que agentes de IA editem tabelas.
|
|
3742
|
+
*
|
|
3743
|
+
* @version 2.0.0
|
|
3744
|
+
* @status COMPLIANT - Alinhado com o contrato v2 e TableConfig canônico.
|
|
3745
|
+
*/
|
|
3746
|
+
declare const PRAXIS_TABLE_AUTHORING_MANIFEST: ComponentAuthoringManifest;
|
|
3747
|
+
|
|
3400
3748
|
declare class PraxisTableInlineAuthoringEditorComponent implements OnChanges {
|
|
3401
3749
|
private readonly i18n;
|
|
3402
3750
|
config: TableConfig;
|
|
@@ -3497,7 +3845,7 @@ declare class ValueMappingEditorComponent implements OnInit, OnChanges {
|
|
|
3497
3845
|
[key: number]: string;
|
|
3498
3846
|
}>;
|
|
3499
3847
|
mappingPairs: ValueMappingPair[];
|
|
3500
|
-
dataSource: MatTableDataSource<ValueMappingPair,
|
|
3848
|
+
dataSource: MatTableDataSource<ValueMappingPair, _angular_material_paginator.MatPaginator>;
|
|
3501
3849
|
displayedColumns: string[];
|
|
3502
3850
|
showImportDialog: boolean;
|
|
3503
3851
|
importJsonText: string;
|
|
@@ -3643,7 +3991,6 @@ declare function providePraxisTableMetadata(): Provider;
|
|
|
3643
3991
|
declare module '@praxisui/core' {
|
|
3644
3992
|
interface AiCapabilityCategoryMap {
|
|
3645
3993
|
meta: true;
|
|
3646
|
-
bindings: true;
|
|
3647
3994
|
columns: true;
|
|
3648
3995
|
renderer: true;
|
|
3649
3996
|
conditional: true;
|
|
@@ -3657,6 +4004,7 @@ declare module '@praxisui/core' {
|
|
|
3657
4004
|
toolbar: true;
|
|
3658
4005
|
actions: true;
|
|
3659
4006
|
export: true;
|
|
4007
|
+
runtime: true;
|
|
3660
4008
|
performance: true;
|
|
3661
4009
|
messages: true;
|
|
3662
4010
|
localization: true;
|
|
@@ -3729,18 +4077,23 @@ type ComponentEditPlanCapability = {
|
|
|
3729
4077
|
declare const TABLE_COMPONENT_EDIT_PLAN_KIND = "praxis.table.component-edit-plan";
|
|
3730
4078
|
declare const TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND = "praxis.table.component-edit-plan.batch";
|
|
3731
4079
|
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
|
-
|
|
4080
|
+
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' | 'configure_export' | 'set_table_density' | 'set_toolbar_visibility';
|
|
4081
|
+
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' | 'export.configure' | 'appearance.density.set' | 'toolbar.visibility.set';
|
|
4082
|
+
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", "configure_export", "set_table_density", "set_toolbar_visibility"];
|
|
3734
4083
|
declare const TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS: Record<TableComponentEditChangeKind, string>;
|
|
3735
4084
|
interface TableComponentEditPlan {
|
|
3736
4085
|
kind?: typeof TABLE_COMPONENT_EDIT_PLAN_KIND;
|
|
3737
4086
|
version?: typeof TABLE_COMPONENT_EDIT_PLAN_VERSION | string;
|
|
3738
4087
|
componentId?: 'praxis-table' | string;
|
|
3739
4088
|
changeKind: TableComponentEditChangeKind | string;
|
|
4089
|
+
operationId?: TableComponentEditOperationId | string;
|
|
3740
4090
|
capabilityPath?: string;
|
|
3741
4091
|
configPath?: string;
|
|
3742
4092
|
field?: string;
|
|
3743
4093
|
targetField?: string;
|
|
4094
|
+
target?: unknown;
|
|
4095
|
+
input?: unknown;
|
|
4096
|
+
params?: unknown;
|
|
3744
4097
|
value?: unknown;
|
|
3745
4098
|
condition?: unknown;
|
|
3746
4099
|
style?: unknown;
|
|
@@ -3768,7 +4121,7 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3768
4121
|
readonly $defs: {
|
|
3769
4122
|
readonly changeKind: {
|
|
3770
4123
|
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"];
|
|
4124
|
+
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", "configure_export", "set_table_density", "set_toolbar_visibility"];
|
|
3772
4125
|
};
|
|
3773
4126
|
readonly capabilityPath: {
|
|
3774
4127
|
readonly type: "string";
|
|
@@ -3803,6 +4156,9 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3803
4156
|
readonly type: "string";
|
|
3804
4157
|
readonly minLength: 1;
|
|
3805
4158
|
};
|
|
4159
|
+
readonly tooltip: {
|
|
4160
|
+
readonly $ref: "#/$defs/tooltip";
|
|
4161
|
+
};
|
|
3806
4162
|
};
|
|
3807
4163
|
readonly anyOf: readonly [{
|
|
3808
4164
|
readonly required: readonly ["text"];
|
|
@@ -3810,10 +4166,31 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3810
4166
|
readonly required: readonly ["textField"];
|
|
3811
4167
|
}];
|
|
3812
4168
|
};
|
|
4169
|
+
readonly tooltip: {
|
|
4170
|
+
readonly type: "object";
|
|
4171
|
+
readonly additionalProperties: false;
|
|
4172
|
+
readonly required: readonly ["text"];
|
|
4173
|
+
readonly properties: {
|
|
4174
|
+
readonly text: {
|
|
4175
|
+
readonly type: "string";
|
|
4176
|
+
readonly minLength: 1;
|
|
4177
|
+
};
|
|
4178
|
+
readonly position: {
|
|
4179
|
+
readonly type: "string";
|
|
4180
|
+
readonly enum: readonly ["top", "right", "bottom", "left", "above", "below", "before", "after"];
|
|
4181
|
+
};
|
|
4182
|
+
readonly bgColor: {
|
|
4183
|
+
readonly type: "string";
|
|
4184
|
+
readonly minLength: 1;
|
|
4185
|
+
};
|
|
4186
|
+
readonly delayMs: {
|
|
4187
|
+
readonly type: "number";
|
|
4188
|
+
};
|
|
4189
|
+
};
|
|
4190
|
+
};
|
|
3813
4191
|
readonly operation: {
|
|
3814
4192
|
readonly type: "object";
|
|
3815
4193
|
readonly additionalProperties: false;
|
|
3816
|
-
readonly required: readonly ["changeKind", "field", "value"];
|
|
3817
4194
|
readonly properties: {
|
|
3818
4195
|
readonly kind: {
|
|
3819
4196
|
readonly const: "praxis.table.component-edit-plan";
|
|
@@ -3824,6 +4201,12 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3824
4201
|
readonly componentId: {
|
|
3825
4202
|
readonly const: "praxis-table";
|
|
3826
4203
|
};
|
|
4204
|
+
readonly operationId: {
|
|
4205
|
+
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", "export.configure", "appearance.density.set", "toolbar.visibility.set"];
|
|
4206
|
+
};
|
|
4207
|
+
readonly target: true;
|
|
4208
|
+
readonly input: true;
|
|
4209
|
+
readonly params: true;
|
|
3827
4210
|
readonly changeKind: {
|
|
3828
4211
|
readonly $ref: "#/$defs/changeKind";
|
|
3829
4212
|
};
|
|
@@ -3852,6 +4235,13 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3852
4235
|
readonly type: "string";
|
|
3853
4236
|
};
|
|
3854
4237
|
};
|
|
4238
|
+
readonly anyOf: readonly [{
|
|
4239
|
+
readonly required: readonly ["changeKind", "field", "value"];
|
|
4240
|
+
}, {
|
|
4241
|
+
readonly required: readonly ["operationId", "target", "input"];
|
|
4242
|
+
}, {
|
|
4243
|
+
readonly required: readonly ["operationId", "input"];
|
|
4244
|
+
}];
|
|
3855
4245
|
readonly allOf: readonly [{
|
|
3856
4246
|
readonly if: {
|
|
3857
4247
|
readonly properties: {
|
|
@@ -3928,8 +4318,12 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3928
4318
|
readonly required: readonly ["condition"];
|
|
3929
4319
|
readonly anyOf: readonly [{
|
|
3930
4320
|
readonly required: readonly ["badge"];
|
|
4321
|
+
}, {
|
|
4322
|
+
readonly required: readonly ["renderer"];
|
|
3931
4323
|
}, {
|
|
3932
4324
|
readonly required: readonly ["value"];
|
|
4325
|
+
}, {
|
|
4326
|
+
readonly required: readonly ["tooltip"];
|
|
3933
4327
|
}];
|
|
3934
4328
|
readonly properties: {
|
|
3935
4329
|
readonly condition: {
|
|
@@ -3938,6 +4332,14 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
3938
4332
|
readonly badge: {
|
|
3939
4333
|
readonly $ref: "#/$defs/badge";
|
|
3940
4334
|
};
|
|
4335
|
+
readonly renderer: {
|
|
4336
|
+
readonly type: "object";
|
|
4337
|
+
readonly minProperties: 1;
|
|
4338
|
+
readonly additionalProperties: true;
|
|
4339
|
+
};
|
|
4340
|
+
readonly tooltip: {
|
|
4341
|
+
readonly $ref: "#/$defs/tooltip";
|
|
4342
|
+
};
|
|
3941
4343
|
readonly value: {
|
|
3942
4344
|
readonly $ref: "#/$defs/badge";
|
|
3943
4345
|
};
|
|
@@ -3995,5 +4397,5 @@ declare function coerceTableComponentEditPlan(value: unknown): TableComponentEdi
|
|
|
3995
4397
|
declare function compileTableComponentEditPlans(plans: TableComponentEditPlan[], currentConfig: TableConfig): TableComponentEditPlanCompileResult;
|
|
3996
4398
|
declare function compileTableComponentEditPlan(plan: TableComponentEditPlan, currentConfig: TableConfig): TableComponentEditPlanCompileResult;
|
|
3997
4399
|
|
|
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 };
|
|
4400
|
+
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 };
|
|
4401
|
+
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 };
|