@praxisui/table 8.0.0-beta.0 → 8.0.0-beta.100
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 +236 -13
- 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-MXizgJYx.mjs +60987 -0
- package/fesm2022/praxisui-table-table-agentic-authoring-turn-flow-BJWah3jp.mjs +9641 -0
- package/fesm2022/praxisui-table-table-ai.adapter-DFyMRt4g.mjs +3999 -0
- package/fesm2022/praxisui-table.mjs +1 -50362
- package/filter-drawer-adapter/package.json +2 -1
- package/package.json +22 -14
- package/src/lib/praxis-table.json-api.md +1361 -0
- package/{index.d.ts → types/praxisui-table.d.ts} +918 -121
- package/fesm2022/praxisui-table-filter-form-dialog-host.component-EHoM1uuJ.mjs +0 -165
- package/fesm2022/praxisui-table-table-ai.adapter-CFyyQB26.mjs +0 -831
- /package/{filter-drawer-adapter/index.d.ts → types/praxisui-table-filter-drawer-adapter.d.ts} +0 -0
|
@@ -1,25 +1,27 @@
|
|
|
1
|
+
import * as _praxisui_core from '@praxisui/core';
|
|
2
|
+
import { TableToolbarAppearanceConfig, TableConfig, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceDensity, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, PraxisExportScope, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, JsonLogicExpression, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
|
|
1
3
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnDestroy, EventEmitter, ElementRef, OnInit, OnChanges, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges,
|
|
4
|
+
import { InjectionToken, OnDestroy, EventEmitter, ElementRef, Provider, OnInit, OnChanges, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, ComponentRef, AfterContentInit, Injector } from '@angular/core';
|
|
3
5
|
import { ActivatedRoute } from '@angular/router';
|
|
4
6
|
import { MatTable, MatTableDataSource } from '@angular/material/table';
|
|
5
|
-
import
|
|
7
|
+
import * as _angular_material_paginator from '@angular/material/paginator';
|
|
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';
|
|
8
11
|
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, 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, PraxisI18nService, 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';
|
|
21
|
+
import { PraxisAssistantVoiceInputMode, PraxisAssistantTurnViewState, PraxisAssistantShellLayout, PraxisAssistantShellLabels, PraxisAssistantSessionSnapshot, PraxisAssistantShellQuickReply, PraxisAssistantRecommendedIntent, PraxisAssistantShellMessage } from '@praxisui/ai';
|
|
22
|
+
import { HttpClient } from '@angular/common/http';
|
|
18
23
|
import { MatTabChangeEvent } from '@angular/material/tabs';
|
|
19
|
-
import * as _praxisui_table_rule_builder from '@praxisui/table-rule-builder';
|
|
20
24
|
import { RuleEffectDefinition } from '@praxisui/table-rule-builder';
|
|
21
|
-
import { HttpClient } from '@angular/common/http';
|
|
22
|
-
import * as _angular_material_paginator_d_Zo1cMMo4 from '@angular/material/paginator.d-Zo1cMMo4';
|
|
23
25
|
import { MatCheckboxChange } from '@angular/material/checkbox';
|
|
24
26
|
|
|
25
27
|
interface ActionLike {
|
|
@@ -34,23 +36,32 @@ interface ActionLike {
|
|
|
34
36
|
}
|
|
35
37
|
declare function getActionId(action: ActionLike): string;
|
|
36
38
|
|
|
39
|
+
declare const PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE: InjectionToken<TableToolbarAppearanceConfig>;
|
|
40
|
+
declare const PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS: InjectionToken<Record<string, TableToolbarAppearanceConfig>>;
|
|
41
|
+
declare function providePraxisTableToolbarAppearance(appearance: TableToolbarAppearanceConfig, presets?: Record<string, TableToolbarAppearanceConfig>): Provider[];
|
|
37
42
|
declare class PraxisTableToolbar implements OnDestroy {
|
|
38
43
|
private hostRef;
|
|
39
44
|
private logger?;
|
|
45
|
+
private i18n?;
|
|
46
|
+
private defaultAppearance?;
|
|
47
|
+
private tokenPresets?;
|
|
40
48
|
config?: TableConfig;
|
|
49
|
+
appearance?: TableToolbarAppearanceConfig | null;
|
|
41
50
|
backgroundColor: string | null;
|
|
42
51
|
placement: 'header' | 'footer';
|
|
43
52
|
showMain: boolean;
|
|
44
53
|
showActionsGroup: boolean;
|
|
45
54
|
showEndActions: boolean;
|
|
46
55
|
showMobileActions: boolean;
|
|
47
|
-
|
|
56
|
+
exportBusy: boolean;
|
|
48
57
|
evaluationContext: Record<string, any> | null;
|
|
49
58
|
toolbarAction: EventEmitter<{
|
|
50
59
|
action: string;
|
|
51
60
|
actionConfig?: any;
|
|
52
61
|
}>;
|
|
53
|
-
|
|
62
|
+
exportAction: EventEmitter<{
|
|
63
|
+
format: string;
|
|
64
|
+
}>;
|
|
54
65
|
readonly getActionId: typeof getActionId;
|
|
55
66
|
private readonly jsonLogic;
|
|
56
67
|
private readonly validToolbarActionTypes;
|
|
@@ -62,8 +73,25 @@ declare class PraxisTableToolbar implements OnDestroy {
|
|
|
62
73
|
private readonly warnedShortcutConflicts;
|
|
63
74
|
private fallbackLogger?;
|
|
64
75
|
private fallbackLoggerEnvironment;
|
|
65
|
-
constructor(hostRef?: ElementRef<HTMLElement> | null, logger?: LoggerService | undefined);
|
|
76
|
+
constructor(hostRef?: ElementRef<HTMLElement> | null, logger?: LoggerService | undefined, i18n?: PraxisI18nService | undefined, defaultAppearance?: TableToolbarAppearanceConfig | undefined, tokenPresets?: Record<string, TableToolbarAppearanceConfig> | undefined);
|
|
77
|
+
getToolbarAriaLabel(): string;
|
|
78
|
+
getToolbarLeadingLabel(): string;
|
|
79
|
+
getToolbarActionsLabel(): string;
|
|
80
|
+
getToolbarConfigurationLabel(): string;
|
|
81
|
+
getExportDataLabel(): string;
|
|
82
|
+
getMoreActionsLabel(): string;
|
|
83
|
+
emitExportAction(event: Event, format: string): void;
|
|
84
|
+
private tx;
|
|
66
85
|
ngOnDestroy(): void;
|
|
86
|
+
getToolbarVariant(): TableToolbarAppearanceVariant;
|
|
87
|
+
getToolbarDensity(): TableToolbarAppearanceDensity;
|
|
88
|
+
getToolbarShape(): TableToolbarAppearanceShape;
|
|
89
|
+
getToolbarDivider(): TableToolbarAppearanceDivider;
|
|
90
|
+
getToolbarToken(name: TableToolbarTokenName): string | null;
|
|
91
|
+
private resolveToolbarAppearance;
|
|
92
|
+
private resolveToolbarAppearancePreset;
|
|
93
|
+
private mergeToolbarAppearance;
|
|
94
|
+
private normalizeTokenValue;
|
|
67
95
|
private getNestedPropertyValue;
|
|
68
96
|
private cloneForEmit;
|
|
69
97
|
private getLogger;
|
|
@@ -108,8 +136,8 @@ declare class PraxisTableToolbar implements OnDestroy {
|
|
|
108
136
|
private warnShortcutConflict;
|
|
109
137
|
private sortActions;
|
|
110
138
|
getExportIcon(format: string): string;
|
|
111
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableToolbar, [null, { optional: true; }]>;
|
|
112
|
-
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; }; "
|
|
139
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableToolbar, [null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
140
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableToolbar, "praxis-table-toolbar", never, { "config": { "alias": "config"; "required": false; }; "appearance": { "alias": "appearance"; "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>;
|
|
113
141
|
}
|
|
114
142
|
|
|
115
143
|
type ColumnDataType$1 = 'date' | 'number' | 'currency' | 'percentage' | 'string' | 'boolean' | 'custom';
|
|
@@ -210,6 +238,8 @@ declare class DataFormattingService {
|
|
|
210
238
|
*/
|
|
211
239
|
formatValue(value: any, columnType: ColumnDataType$1, formatString: string, options?: DataFormattingOptions): any;
|
|
212
240
|
private coerceValueToType;
|
|
241
|
+
private parseDateOnlyString;
|
|
242
|
+
private normalizeNumericDateInput;
|
|
213
243
|
private formatDate;
|
|
214
244
|
private formatNumber;
|
|
215
245
|
private formatCurrency;
|
|
@@ -331,12 +361,15 @@ type I18n = {
|
|
|
331
361
|
searchPlaceholder: string;
|
|
332
362
|
advanced: string;
|
|
333
363
|
advancedTitle?: string;
|
|
364
|
+
advancedOpening?: string;
|
|
365
|
+
advancedUnavailable?: string;
|
|
334
366
|
clear: string;
|
|
335
367
|
apply: string;
|
|
336
368
|
add?: string;
|
|
337
369
|
filtersAdd?: string;
|
|
338
370
|
filtersSearch?: string;
|
|
339
371
|
addCount?: string;
|
|
372
|
+
addUnavailable?: string;
|
|
340
373
|
pendingCount?: string;
|
|
341
374
|
activeFiltersCount?: string;
|
|
342
375
|
selectAll?: string;
|
|
@@ -419,10 +452,13 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
419
452
|
showAddButton: boolean;
|
|
420
453
|
/** Controla a exibição do botão de limpar filtros */
|
|
421
454
|
showClearButton: boolean;
|
|
422
|
-
/** Controla a exibição do botão de pesquisar/aplicar filtros */
|
|
455
|
+
/** Controla a exibição do botão de pesquisar/aplicar filtros em fluxos manuais. */
|
|
423
456
|
showSearchButton: boolean;
|
|
424
457
|
/** Exibir confirmação ao excluir atalho (tag) */
|
|
425
458
|
confirmTagDelete: boolean;
|
|
459
|
+
private alwaysFieldComponentRefs;
|
|
460
|
+
private selectedFieldComponentRefs;
|
|
461
|
+
private toggleFieldComponentRefs;
|
|
426
462
|
/** Move toggles/booleans simples para a área de ações */
|
|
427
463
|
placeBooleansInActions: boolean;
|
|
428
464
|
/** Mostrar rótulos dos toggles na área de ações */
|
|
@@ -509,6 +545,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
509
545
|
private alwaysFormReset$;
|
|
510
546
|
private dto;
|
|
511
547
|
advancedOpen: boolean;
|
|
548
|
+
advancedOpening: boolean;
|
|
512
549
|
advancedValid: boolean;
|
|
513
550
|
activeFiltersCount: number;
|
|
514
551
|
saving: boolean;
|
|
@@ -535,7 +572,8 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
535
572
|
id: string;
|
|
536
573
|
label: string;
|
|
537
574
|
}>;
|
|
538
|
-
|
|
575
|
+
readonly addSearchFieldId = "__praxis_filter_add_search__";
|
|
576
|
+
readonly addSelectAllFieldId = "__praxis_filter_add_select_all__";
|
|
539
577
|
private applySchemaQueued;
|
|
540
578
|
private fallbackLogger?;
|
|
541
579
|
private fallbackLoggerEnvironment;
|
|
@@ -550,6 +588,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
550
588
|
private _dbgLastToggleComponentsAt;
|
|
551
589
|
overlayPositions: ConnectedPosition[];
|
|
552
590
|
private advancedDebouncedSub?;
|
|
591
|
+
private advancedOpenRequestId;
|
|
553
592
|
private lastActiveElement?;
|
|
554
593
|
private lastSubmitAt;
|
|
555
594
|
private resizeObs?;
|
|
@@ -588,6 +627,8 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
588
627
|
private resolveInputDto;
|
|
589
628
|
private resolveInitialDto;
|
|
590
629
|
private syncFormsFromDto;
|
|
630
|
+
private refreshProgrammaticFilterFieldDisplays;
|
|
631
|
+
private refreshProgrammaticFilterFieldDisplay;
|
|
591
632
|
ngOnInit(): Promise<void>;
|
|
592
633
|
ngAfterViewInit(): void;
|
|
593
634
|
onWindowResize(): void;
|
|
@@ -597,6 +638,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
597
638
|
private computeIsMobile;
|
|
598
639
|
ngOnChanges(changes: SimpleChanges): void;
|
|
599
640
|
private areStringArraysEqual;
|
|
641
|
+
private normalizeFieldIdList;
|
|
600
642
|
private areMetadataOverrideMapsEqual;
|
|
601
643
|
/** Force-sync settings coming from parent table config updates. */
|
|
602
644
|
applyExternalSettings(cfg?: Partial<FilterConfig>): void;
|
|
@@ -639,7 +681,15 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
639
681
|
retrySchemaLoad(): void;
|
|
640
682
|
private applySchemaMetas;
|
|
641
683
|
private applySchemaMetasNow;
|
|
684
|
+
private withFilterMaterialDesignPolicy;
|
|
685
|
+
private withAdvancedDatePickerTouchPolicy;
|
|
686
|
+
private isAdvancedDatePickerControl;
|
|
687
|
+
private buildAdvancedFilterColumn;
|
|
688
|
+
private isCompositeRangeFilterField;
|
|
642
689
|
private pickMetasByOrder;
|
|
690
|
+
private hasRemoteOptionSource;
|
|
691
|
+
private normalizeFilterOptionEndpointMetadata;
|
|
692
|
+
private toOwningResourcePathForOptionsFilter;
|
|
643
693
|
private withInferredFilterControlType;
|
|
644
694
|
private isAllowedFilterControlType;
|
|
645
695
|
private inferFilterControlType;
|
|
@@ -650,9 +700,9 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
650
700
|
private mergeAlwaysVisibleMetadata;
|
|
651
701
|
private mergeFieldMetadataOverride;
|
|
652
702
|
ngDoCheck(): void;
|
|
653
|
-
onAlwaysComponents(map: Map<string,
|
|
654
|
-
onSelectedComponents(map: Map<string,
|
|
655
|
-
onToggleComponents(map: Map<string,
|
|
703
|
+
onAlwaysComponents(map: Map<string, ComponentRef<BaseDynamicFieldComponent>>): void;
|
|
704
|
+
onSelectedComponents(map: Map<string, ComponentRef<BaseDynamicFieldComponent>>): void;
|
|
705
|
+
onToggleComponents(map: Map<string, ComponentRef<BaseDynamicFieldComponent>>): void;
|
|
656
706
|
onFieldInteraction(event: Event): void;
|
|
657
707
|
openSelectedFieldEditor(): void;
|
|
658
708
|
private isLocalE2eAuthoringOptInEnabled;
|
|
@@ -670,11 +720,16 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
670
720
|
onAdvancedValidityChange(valid: boolean): void;
|
|
671
721
|
onAddOpened(opened: boolean): void;
|
|
672
722
|
onAddQuery(q: string): void;
|
|
723
|
+
openAddSelect(select: MatSelect): void;
|
|
724
|
+
hasAddableFields(): boolean;
|
|
725
|
+
private getAddableItems;
|
|
673
726
|
private updateAddItems;
|
|
674
727
|
trackById(_idx: number, it: {
|
|
675
728
|
id: string;
|
|
676
729
|
}): string;
|
|
730
|
+
private isFilterFieldHidden;
|
|
677
731
|
onAddSelectionChange(values: string[] | null | undefined): void;
|
|
732
|
+
private mergeSelectedFieldIds;
|
|
678
733
|
private formatWithCount;
|
|
679
734
|
getAddAriaLabel(): string;
|
|
680
735
|
getAddTriggerLabel(): string;
|
|
@@ -719,9 +774,13 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
719
774
|
private ensureAdvancedConfigReady;
|
|
720
775
|
private focusSchemaRetryButton;
|
|
721
776
|
private showAdvancedUnavailableFeedback;
|
|
777
|
+
private setAdvancedOpening;
|
|
778
|
+
private deferAdvancedOpen;
|
|
722
779
|
private openAdvancedModal;
|
|
723
780
|
private openAdvancedDrawer;
|
|
724
781
|
toggleAdvanced(): void;
|
|
782
|
+
hasAdvancedFields(): boolean;
|
|
783
|
+
private getAdvancedCandidateMetas;
|
|
725
784
|
private usesProvidedFieldMetadata;
|
|
726
785
|
private applyProvidedFieldMetadata;
|
|
727
786
|
private saveConfig;
|
|
@@ -733,6 +792,9 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
733
792
|
private persistTags;
|
|
734
793
|
private cleanFilterPayload;
|
|
735
794
|
private upsertDtoValue;
|
|
795
|
+
private normalizeFilterFieldValue;
|
|
796
|
+
private getFilterFieldMetaByName;
|
|
797
|
+
private isEntityLookupFilterField;
|
|
736
798
|
private isEffectivelyEmptyFilterValue;
|
|
737
799
|
private syncFormsToDto;
|
|
738
800
|
private updateDisplayedTags;
|
|
@@ -748,19 +810,85 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
|
|
|
748
810
|
declare const PRAXIS_FILTER_COMPONENT_METADATA: ComponentDocMeta;
|
|
749
811
|
declare function providePraxisFilterMetadata(): Provider;
|
|
750
812
|
|
|
813
|
+
type AnalyticsTableRow = Record<string, string | number | boolean | null>;
|
|
814
|
+
type AnalyticsTableContractSource = 'remote' | 'fallback';
|
|
815
|
+
interface AnalyticsTableViewModel {
|
|
816
|
+
config: TableConfig;
|
|
817
|
+
data: AnalyticsTableRow[];
|
|
818
|
+
}
|
|
819
|
+
interface AnalyticsTableContractDefinition<TKey extends string = string> {
|
|
820
|
+
key: TKey;
|
|
821
|
+
projectionId: string;
|
|
822
|
+
path: string;
|
|
823
|
+
title: PraxisTextValue;
|
|
824
|
+
subtitle?: PraxisTextValue;
|
|
825
|
+
fallbackProjection: PraxisAnalyticsProjection;
|
|
826
|
+
fallbackRows?: AnalyticsTableRow[];
|
|
827
|
+
}
|
|
828
|
+
interface AnalyticsTableContractLoadOptions<TKey extends string = string> {
|
|
829
|
+
cacheNamespace?: string;
|
|
830
|
+
queryContexts?: Partial<Record<TKey, PraxisDataQueryContext | null>>;
|
|
831
|
+
}
|
|
832
|
+
interface AnalyticsTableContractLoadResult<TKey extends string = string> {
|
|
833
|
+
views: Record<TKey, AnalyticsTableViewModel>;
|
|
834
|
+
sources: Record<TKey, AnalyticsTableContractSource>;
|
|
835
|
+
errors: Partial<Record<TKey, string>>;
|
|
836
|
+
}
|
|
837
|
+
|
|
838
|
+
declare class AnalyticsTableStatsApiService {
|
|
839
|
+
private readonly http;
|
|
840
|
+
private readonly apiUrl;
|
|
841
|
+
private readonly statsBuilder;
|
|
842
|
+
constructor(http: HttpClient, apiUrl: ApiUrlConfig);
|
|
843
|
+
execute(projection: PraxisAnalyticsProjection, queryContext?: PraxisDataQueryContext | null): Promise<AnalyticsTableRow[]>;
|
|
844
|
+
private toTableRows;
|
|
845
|
+
private resolveTimeSeriesCategory;
|
|
846
|
+
private resolveBucketCategory;
|
|
847
|
+
private projectMetricValues;
|
|
848
|
+
private resolveMetricValue;
|
|
849
|
+
private buildStatsUrl;
|
|
850
|
+
private applyQueryContext;
|
|
851
|
+
private normalizeError;
|
|
852
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsTableStatsApiService, never>;
|
|
853
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableStatsApiService>;
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
interface TableAiNavigationDestinationContext {
|
|
857
|
+
id?: string;
|
|
858
|
+
path: string;
|
|
859
|
+
label?: string;
|
|
860
|
+
description?: string;
|
|
861
|
+
source?: string;
|
|
862
|
+
tags?: string[];
|
|
863
|
+
materialized?: boolean;
|
|
864
|
+
}
|
|
865
|
+
interface TableAiNavigationContextPack {
|
|
866
|
+
source?: string;
|
|
867
|
+
destinations: TableAiNavigationDestinationContext[];
|
|
868
|
+
}
|
|
869
|
+
interface TableAiContext {
|
|
870
|
+
recordSurfaces?: RecordRelatedSurfaceContextPack | null;
|
|
871
|
+
navigationDestinations?: TableAiNavigationContextPack | null;
|
|
872
|
+
}
|
|
751
873
|
type SchemaFieldHint = {
|
|
752
874
|
name: string;
|
|
753
875
|
label?: string;
|
|
754
876
|
type?: string;
|
|
755
877
|
controlType?: string;
|
|
756
878
|
numericFormat?: string;
|
|
879
|
+
format?: string;
|
|
757
880
|
options?: Array<Record<string, unknown> | string | number | boolean>;
|
|
758
881
|
optionLabelKey?: string;
|
|
759
882
|
optionValueKey?: string;
|
|
760
883
|
enumValues?: string[];
|
|
761
884
|
};
|
|
885
|
+
type FilterSchemaFieldHint = SchemaFieldHint & {
|
|
886
|
+
relatedColumnFields?: string[];
|
|
887
|
+
relatedColumnLabels?: string[];
|
|
888
|
+
};
|
|
762
889
|
type PraxisDataQueryContextBridge = {
|
|
763
890
|
filters?: Record<string, unknown> | null;
|
|
891
|
+
filterExpression?: PraxisQueryFilterExpression | null;
|
|
764
892
|
sort?: string[] | null;
|
|
765
893
|
limit?: number | null;
|
|
766
894
|
page?: {
|
|
@@ -829,6 +957,8 @@ type RowActionRuntimeOptions = {
|
|
|
829
957
|
type RuntimeRowAction = {
|
|
830
958
|
id: string;
|
|
831
959
|
action: string;
|
|
960
|
+
globalAction?: GlobalActionRef;
|
|
961
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
832
962
|
label?: string;
|
|
833
963
|
icon?: string;
|
|
834
964
|
color?: string;
|
|
@@ -836,6 +966,7 @@ type RuntimeRowAction = {
|
|
|
836
966
|
disabled?: boolean;
|
|
837
967
|
overflow?: boolean;
|
|
838
968
|
__praxisDiscoveredAction?: ResourceActionCatalogItem;
|
|
969
|
+
__praxisDiscoveredSurface?: ResourceSurfaceCatalogItem;
|
|
839
970
|
__praxisCapabilityDenied?: boolean;
|
|
840
971
|
};
|
|
841
972
|
type ExpansionDetailRuntimeStatus = 'idle' | 'loading' | 'ready' | 'error' | 'blocked';
|
|
@@ -859,17 +990,25 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
859
990
|
private connectionStorage;
|
|
860
991
|
private hostRef;
|
|
861
992
|
private global;
|
|
862
|
-
private
|
|
993
|
+
private injector;
|
|
863
994
|
private componentKeys;
|
|
864
995
|
private loadingOrchestrator;
|
|
996
|
+
private globalActions;
|
|
865
997
|
private loadingRenderer?;
|
|
866
998
|
private route?;
|
|
867
999
|
private logger?;
|
|
1000
|
+
private analyticsStatsApi?;
|
|
868
1001
|
private static readonly CELL_ANIMATION_CHANGE_CACHE_LIMIT;
|
|
1002
|
+
private static readonly AI_SELECTION_ROW_LIMIT;
|
|
1003
|
+
private static readonly AI_SELECTION_ID_LIMIT;
|
|
1004
|
+
private static readonly AI_SELECTION_FIELD_LIMIT;
|
|
869
1005
|
private static readonly ROW_DISCOVERY_SUCCESS_CACHE_TTL_MS;
|
|
870
1006
|
private static readonly ROW_DISCOVERY_ERROR_CACHE_TTL_MS;
|
|
871
1007
|
private static readonly ROW_DISCOVERY_CACHE_LIMIT;
|
|
872
1008
|
private static readonly ROW_DISCOVERY_MAX_CONCURRENT_REQUESTS;
|
|
1009
|
+
private _resourceDiscovery?;
|
|
1010
|
+
private _resourceSurfaceOpenAdapter?;
|
|
1011
|
+
readonly paginatorSelectConfig: MatPaginatorSelectConfig;
|
|
873
1012
|
private static readonly ROW_ANIMATION_PRESETS;
|
|
874
1013
|
private static readonly ROW_ANIMATION_PRESET_ALIASES;
|
|
875
1014
|
config: TableConfig;
|
|
@@ -887,12 +1026,24 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
887
1026
|
crudContext: any;
|
|
888
1027
|
filterCriteria: Record<string, any>;
|
|
889
1028
|
queryContext: PraxisDataQueryContextBridge | null;
|
|
1029
|
+
aiContext: TableAiContext | null;
|
|
1030
|
+
aiAssistantVoiceInputMode: PraxisAssistantVoiceInputMode;
|
|
1031
|
+
aiAssistantVoiceLanguage: string;
|
|
1032
|
+
advancedFilterValue: Record<string, any>;
|
|
1033
|
+
advancedFilterRuntimeVisibleFields: string[];
|
|
1034
|
+
private advancedFilterAlwaysVisibleCacheKey;
|
|
1035
|
+
private advancedFilterAlwaysVisibleCache?;
|
|
1036
|
+
private advancedFilterMetadataOverridesCacheKey;
|
|
1037
|
+
private advancedFilterMetadataOverridesCacheSource?;
|
|
1038
|
+
private advancedFilterMetadataOverridesCache?;
|
|
890
1039
|
rowClick: EventEmitter<any>;
|
|
1040
|
+
widgetEvent: EventEmitter<any>;
|
|
891
1041
|
rowDoubleClick: EventEmitter<any>;
|
|
892
1042
|
rowExpansionChange: EventEmitter<RowExpansionChangeEvent>;
|
|
893
1043
|
rowAction: EventEmitter<any>;
|
|
894
1044
|
toolbarAction: EventEmitter<any>;
|
|
895
1045
|
bulkAction: EventEmitter<any>;
|
|
1046
|
+
exportAction: EventEmitter<any>;
|
|
896
1047
|
columnReorder: EventEmitter<any>;
|
|
897
1048
|
columnReorderAttempt: EventEmitter<any>;
|
|
898
1049
|
beforeDelete: EventEmitter<any>;
|
|
@@ -902,9 +1053,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
902
1053
|
afterBulkDelete: EventEmitter<any>;
|
|
903
1054
|
bulkDeleteError: EventEmitter<any>;
|
|
904
1055
|
schemaStatusChange: EventEmitter<any>;
|
|
1056
|
+
configChange: EventEmitter<_praxisui_core.TableConfigModern>;
|
|
905
1057
|
metadataChange: EventEmitter<any>;
|
|
906
1058
|
loadingStateChange: EventEmitter<LoadingState>;
|
|
907
1059
|
collectionLinksChange: EventEmitter<RestApiLinks | null>;
|
|
1060
|
+
selectionChange: EventEmitter<any>;
|
|
908
1061
|
private latestLoadingState;
|
|
909
1062
|
paginator: MatPaginator;
|
|
910
1063
|
sort: MatSort;
|
|
@@ -929,6 +1082,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
929
1082
|
readonly isExpansionDetailRow: (index: number, row: any) => boolean;
|
|
930
1083
|
columnReorderStatusMessage: string;
|
|
931
1084
|
columnReorderVisualStatusMessage: string;
|
|
1085
|
+
exportBusy: boolean;
|
|
1086
|
+
exportStatusMessage: string;
|
|
932
1087
|
private columnReorderStatusTimer;
|
|
933
1088
|
private columnReorderVisualStatusTimer;
|
|
934
1089
|
private columnReorderUndoSubscription;
|
|
@@ -941,6 +1096,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
941
1096
|
private lastResolvedDataMode;
|
|
942
1097
|
private localFilterFieldMetadataCache;
|
|
943
1098
|
private localFilterFieldMetadataCacheKey;
|
|
1099
|
+
private remoteDataLoadSequence;
|
|
1100
|
+
private analyticsLoadSequence;
|
|
944
1101
|
private uncontrolledExpandedRowKeys;
|
|
945
1102
|
private readonly expansionOpaqueRefCacheLimit;
|
|
946
1103
|
private expansionOpaqueRefByRowKey;
|
|
@@ -968,7 +1125,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
968
1125
|
private rowDiscoveryMarkForCheckScheduled;
|
|
969
1126
|
private lastRowDiscoveryScopeKey;
|
|
970
1127
|
private readonly i18n;
|
|
1128
|
+
private readonly collectionExport;
|
|
1129
|
+
private readonly paginatorIntl;
|
|
971
1130
|
private schemaFieldsSnapshot;
|
|
1131
|
+
private filterSchemaFieldsSnapshot;
|
|
972
1132
|
private runtimeSchemaMeta;
|
|
973
1133
|
schemaError: boolean;
|
|
974
1134
|
dataError: boolean;
|
|
@@ -980,9 +1140,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
980
1140
|
shouldShowToolbarTopPlacement(): boolean;
|
|
981
1141
|
shouldShowToolbarBottomPlacement(): boolean;
|
|
982
1142
|
shouldRenderFooterToolbar(): boolean;
|
|
1143
|
+
hasTopToolbarStack(): boolean;
|
|
983
1144
|
shouldShowFooterToolbarMain(): boolean;
|
|
984
1145
|
shouldShowFooterToolbarEndActions(): boolean;
|
|
985
|
-
shouldShowFooterToolbarReset(): boolean;
|
|
986
1146
|
getToolbarActionsPosition(): 'top' | 'bottom' | 'both';
|
|
987
1147
|
getBulkActionsPosition(): 'toolbar' | 'floating' | 'both';
|
|
988
1148
|
shouldRenderFloatingBulkActions(): boolean;
|
|
@@ -1001,6 +1161,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1001
1161
|
getColumnTextAlignStyle(column: ColumnDefinition): string | null;
|
|
1002
1162
|
getColumnWidthStyle(column: ColumnDefinition): string | null;
|
|
1003
1163
|
getColumnHeaderAttrStyle(column: ColumnDefinition): string | null;
|
|
1164
|
+
getColumnHeaderNgStyle(column: ColumnDefinition): Record<string, string> | undefined;
|
|
1004
1165
|
getColumnCellAttrStyle(column: ColumnDefinition): string | null;
|
|
1005
1166
|
getTableElevationClassName(): string;
|
|
1006
1167
|
private normalizeTableElevationLevel;
|
|
@@ -1017,6 +1178,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1017
1178
|
hasBottomPaginator(): boolean;
|
|
1018
1179
|
hasExplicitResourcePath(): boolean;
|
|
1019
1180
|
hasLocalDataInput(): boolean;
|
|
1181
|
+
hasAnalyticsProjectionInput(): boolean;
|
|
1020
1182
|
getDataMode(): DataMode;
|
|
1021
1183
|
isRemoteMode(): boolean;
|
|
1022
1184
|
isLocalMode(): boolean;
|
|
@@ -1034,12 +1196,17 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1034
1196
|
getTableSettingsTooltip(): string;
|
|
1035
1197
|
getDisconnectLabel(): string;
|
|
1036
1198
|
getDisconnectTooltip(): string;
|
|
1199
|
+
private syncPaginatorIntl;
|
|
1200
|
+
private configuredLocaleRuntimeText;
|
|
1201
|
+
private formatPaginatorRangeLabel;
|
|
1037
1202
|
getNoDataStateIcon(): string;
|
|
1038
1203
|
getNoDataStatePrimaryAction(): any | null;
|
|
1039
1204
|
getNoDataStateSecondaryActions(): any[];
|
|
1040
1205
|
shouldRenderAdvancedFilter(): boolean;
|
|
1041
1206
|
getAdvancedFilterResourcePath(): string;
|
|
1042
1207
|
getAdvancedFilterPersistenceKey(): string;
|
|
1208
|
+
getAdvancedFilterAlwaysVisibleFields(): string[] | undefined;
|
|
1209
|
+
getAdvancedFilterAlwaysVisibleFieldMetadataOverrides(): Record<string, Record<string, any>>;
|
|
1043
1210
|
getAdvancedFilterFieldMetadata(): FieldMetadata[] | null | undefined;
|
|
1044
1211
|
private buildLocalFilterMetadata;
|
|
1045
1212
|
private buildLocalFilterMetadataCacheKey;
|
|
@@ -1060,8 +1227,32 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1060
1227
|
get hostColumnBordersClass(): boolean;
|
|
1061
1228
|
trackByRow(index: number, item: any): any;
|
|
1062
1229
|
getSchemaFieldsSnapshot(): SchemaFieldHint[];
|
|
1230
|
+
getFilterSchemaFieldsSnapshot(): FilterSchemaFieldHint[];
|
|
1231
|
+
getResourceCapabilityDigest(): ResourceCapabilityDigest | null;
|
|
1232
|
+
ensureFilterSchemaFieldsSnapshot(): Promise<void>;
|
|
1233
|
+
ensureAiAssistantRecordSurfaceContext(): Promise<void>;
|
|
1234
|
+
getAiAssistantRecordSurfacesContext(): RecordRelatedSurfaceContextPack | null;
|
|
1235
|
+
getAiAssistantSelectedRowsContext(): Record<string, any> | null;
|
|
1236
|
+
private ensureAiAssistantRowCapabilitySnapshot;
|
|
1237
|
+
private buildCapabilitySnapshotFromSurfaceCatalog;
|
|
1238
|
+
private buildAiAssistantResourceSurfaceContexts;
|
|
1239
|
+
private getAiAssistantRecordSurfaceProbeRows;
|
|
1240
|
+
private buildRecordRelatedSurfaceContextFromResourceSurface;
|
|
1241
|
+
private humanizeResourceSurfaceLabel;
|
|
1063
1242
|
aiAdapter: any;
|
|
1064
1243
|
private aiAdapterLoadStarted;
|
|
1244
|
+
private aiAssistantOpenAfterAdapterLoad;
|
|
1245
|
+
aiAssistantOpen: boolean;
|
|
1246
|
+
aiAssistantPrompt: string;
|
|
1247
|
+
aiAssistantViewState: PraxisAssistantTurnViewState | null;
|
|
1248
|
+
aiAssistantLayout: PraxisAssistantShellLayout;
|
|
1249
|
+
readonly aiAssistantLabels: Partial<PraxisAssistantShellLabels>;
|
|
1250
|
+
private aiAssistantController;
|
|
1251
|
+
private aiAssistantStateSubscription;
|
|
1252
|
+
private readonly aiApi;
|
|
1253
|
+
private readonly assistantSessions;
|
|
1254
|
+
private readonly aiTurnOrchestrator;
|
|
1255
|
+
private readonly aiAssistantSessionEffect;
|
|
1065
1256
|
private computedContextCache;
|
|
1066
1257
|
private computedFieldNames;
|
|
1067
1258
|
private readonly jsonLogic;
|
|
@@ -1099,6 +1290,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1099
1290
|
private recomputeLocalView;
|
|
1100
1291
|
private resolveLocalSortField;
|
|
1101
1292
|
private setSchemaFieldsSnapshot;
|
|
1293
|
+
private setFilterSchemaFieldsSnapshot;
|
|
1294
|
+
private inferFilterSchemaSourceFields;
|
|
1295
|
+
private resolveFilterSchemaRelatedColumns;
|
|
1296
|
+
private normalizeFieldAlias;
|
|
1102
1297
|
private normalizeSchemaOptions;
|
|
1103
1298
|
private normalizeEnumValues;
|
|
1104
1299
|
private normalizeSchemaKey;
|
|
@@ -1108,10 +1303,61 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1108
1303
|
private tableConfigKey;
|
|
1109
1304
|
private filterConfigKey;
|
|
1110
1305
|
private ensureConfigDefaults;
|
|
1306
|
+
private mergePersistedTableConfigWithInput;
|
|
1307
|
+
private reconcileHostDeclaredTableContract;
|
|
1308
|
+
private reconcileHostDeclaredColumns;
|
|
1309
|
+
private reconcileHostDeclaredRowActions;
|
|
1310
|
+
private reconcileHostDeclaredExport;
|
|
1311
|
+
private normalizePersistedExportFormats;
|
|
1312
|
+
private normalizePersistedRowActionIds;
|
|
1313
|
+
private normalizePersistedColumnIds;
|
|
1314
|
+
private clonePlainObject;
|
|
1111
1315
|
private setShowToolbar;
|
|
1112
1316
|
private shouldExposeToolbar;
|
|
1113
|
-
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,
|
|
1317
|
+
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);
|
|
1318
|
+
private get resourceDiscovery();
|
|
1319
|
+
private get resourceSurfaceOpenAdapter();
|
|
1114
1320
|
private ensureAiAdapterLoaded;
|
|
1321
|
+
openAiAssistant(): void;
|
|
1322
|
+
aiAssistantTriggerTestId(position: string): string;
|
|
1323
|
+
hasMinimizedAiAssistantSession(): boolean;
|
|
1324
|
+
aiAssistantTriggerIcon(): string;
|
|
1325
|
+
aiAssistantTriggerBadge(): string;
|
|
1326
|
+
aiAssistantTriggerLabel(): string;
|
|
1327
|
+
aiAssistantTriggerTooltip(): string;
|
|
1328
|
+
openAiAssistantFromSession(session: PraxisAssistantSessionSnapshot): void;
|
|
1329
|
+
closeAiAssistant(): void;
|
|
1330
|
+
onAiAssistantPromptChange(prompt: string): void;
|
|
1331
|
+
onAiAssistantSubmit(prompt: string): void;
|
|
1332
|
+
onAiAssistantApply(): void;
|
|
1333
|
+
private shouldMinimizeAiAssistantAfterApply;
|
|
1334
|
+
private isMaterializedRowActionPatch;
|
|
1335
|
+
private asPlainRecord;
|
|
1336
|
+
onAiAssistantRetry(): void;
|
|
1337
|
+
onAiAssistantCancel(): void;
|
|
1338
|
+
onAiAssistantQuickReply(reply: PraxisAssistantShellQuickReply): void;
|
|
1339
|
+
getAiAssistantRecommendedIntents(): readonly PraxisAssistantRecommendedIntent[];
|
|
1340
|
+
private getAiAssistantCapabilityDiscoveryRecommendations;
|
|
1341
|
+
onAiAssistantRecommendedIntent(intent: PraxisAssistantRecommendedIntent): void;
|
|
1342
|
+
private getAiAssistantRecommendationResponseContract;
|
|
1343
|
+
onAiAssistantEditMessage(message: PraxisAssistantShellMessage): void;
|
|
1344
|
+
onAiAssistantResendMessage(message: PraxisAssistantShellMessage): void;
|
|
1345
|
+
onAiAssistantLayoutChange(layout: PraxisAssistantShellLayout): void;
|
|
1346
|
+
private initializeAiAssistantController;
|
|
1347
|
+
private buildAiAssistantContextItems;
|
|
1348
|
+
private interpolateAiAssistantContextValue;
|
|
1349
|
+
private aiAssistantSelectedRecordsValue;
|
|
1350
|
+
private buildAiAssistantContextSnapshot;
|
|
1351
|
+
private syncAiAssistantSession;
|
|
1352
|
+
private assistantContextRuntimeLocale;
|
|
1353
|
+
private refreshAiAssistantContextAfterSelectionChange;
|
|
1354
|
+
private hasAiAssistantSessionState;
|
|
1355
|
+
private resolveAiAssistantSessionId;
|
|
1356
|
+
private resolveAiAssistantOwnerId;
|
|
1357
|
+
private resolveAiAssistantRouteKey;
|
|
1358
|
+
private resolveAiAssistantSummary;
|
|
1359
|
+
private resolveAiAssistantBadge;
|
|
1360
|
+
private resolveAiAssistantIcon;
|
|
1115
1361
|
private emitLoadingState;
|
|
1116
1362
|
private hasResolvedRemoteDataLoad;
|
|
1117
1363
|
private isTableDataLoading;
|
|
@@ -1137,6 +1383,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1137
1383
|
onPageChange(event: PageEvent): void;
|
|
1138
1384
|
onSortChange(event: Sort): void;
|
|
1139
1385
|
onRowClicked(row: any, index: number, event?: MouseEvent): void;
|
|
1386
|
+
requestRecordSurfaceOpen(surface: Record<string, unknown>): boolean;
|
|
1387
|
+
private resolveResourceRecordSurfaceContext;
|
|
1388
|
+
private openResourceRecordSurface;
|
|
1140
1389
|
isRowExpansionRuntimeEnabled(): boolean;
|
|
1141
1390
|
isExpansionIconTriggerEnabled(): boolean;
|
|
1142
1391
|
isRowExpandable(row: any, index?: number): boolean;
|
|
@@ -1315,6 +1564,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1315
1564
|
private sanitizeDomIdToken;
|
|
1316
1565
|
private areStringSetsEqual;
|
|
1317
1566
|
private shouldToggleExpansionOnRowClick;
|
|
1567
|
+
private shouldSelectRowOnRowClick;
|
|
1318
1568
|
private getExpansionMotionPreset;
|
|
1319
1569
|
private getExpansionMotionDurationMs;
|
|
1320
1570
|
private getExpansionMotionEasingCurve;
|
|
@@ -1328,22 +1578,67 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1328
1578
|
private emitRowActionEvent;
|
|
1329
1579
|
private showConfirmDialog;
|
|
1330
1580
|
private executeDeleteAction;
|
|
1581
|
+
private dispatchRowAction;
|
|
1331
1582
|
private cloneForEmit;
|
|
1332
1583
|
private interpolateActionMessageTemplate;
|
|
1333
1584
|
private buildActionFeedbackContext;
|
|
1334
1585
|
private resolveActionFeedbackMessage;
|
|
1335
1586
|
private showActionFeedbackMessage;
|
|
1336
1587
|
private emitEventWithActionFeedback;
|
|
1588
|
+
private executeConfiguredGlobalAction;
|
|
1589
|
+
private resolveConfiguredGlobalActionRef;
|
|
1590
|
+
private resolveActionGlobalActionRef;
|
|
1591
|
+
private resolveGlobalActionPayload;
|
|
1592
|
+
private buildGlobalActionTemplateContext;
|
|
1593
|
+
private resolveGlobalActionTemplateValue;
|
|
1594
|
+
private isDeferredTemplateExpressionKey;
|
|
1595
|
+
private interpolateGlobalActionTemplate;
|
|
1596
|
+
private shouldEmitLocalForGlobalAction;
|
|
1337
1597
|
private resolveBulkValidationMessage;
|
|
1338
1598
|
private hasValidBulkSelectionCount;
|
|
1339
1599
|
private showBulkConfirmDialog;
|
|
1340
1600
|
onToolbarAction(event: {
|
|
1341
1601
|
action: string;
|
|
1342
1602
|
actionConfig?: any;
|
|
1343
|
-
}): void
|
|
1603
|
+
}): Promise<void>;
|
|
1604
|
+
private resolveBulkExportFormat;
|
|
1605
|
+
private isBulkExportActionKey;
|
|
1606
|
+
private normalizeExportFormat;
|
|
1607
|
+
private isExportFormatEnabled;
|
|
1608
|
+
private getFirstEnabledExportFormat;
|
|
1609
|
+
onExportAction(event: {
|
|
1610
|
+
format: string;
|
|
1611
|
+
scope?: PraxisExportScope;
|
|
1612
|
+
}): Promise<void>;
|
|
1613
|
+
canRunExportAction(format: unknown): boolean;
|
|
1614
|
+
private shouldBlockSelectedExportWithoutSelection;
|
|
1615
|
+
private buildTableExportRequest;
|
|
1616
|
+
private resolveEffectiveExportScope;
|
|
1617
|
+
private resolveTableExportLoadedItems;
|
|
1618
|
+
private computeLocalExportRows;
|
|
1619
|
+
private buildTableExportFields;
|
|
1620
|
+
private buildTableExportFormatOptions;
|
|
1621
|
+
private buildTableExportLocalization;
|
|
1622
|
+
private resolveColumnExportFormat;
|
|
1623
|
+
private buildColumnExportPresentation;
|
|
1624
|
+
private resolveColumnExportCurrency;
|
|
1625
|
+
private downloadExportResult;
|
|
1626
|
+
private triggerExportDownload;
|
|
1627
|
+
private resolveExportFileName;
|
|
1628
|
+
private getExportFileExtension;
|
|
1629
|
+
private getExportMimeType;
|
|
1630
|
+
private showExportFeedback;
|
|
1344
1631
|
onAdvancedFilterSubmit(criteria: Record<string, any>): void;
|
|
1345
1632
|
onAdvancedFilterChange(criteria: Record<string, any>): void;
|
|
1346
1633
|
onAdvancedFilterClear(): void;
|
|
1634
|
+
private applyAdvancedFilterCriteria;
|
|
1635
|
+
private setAdvancedFilterCriteria;
|
|
1636
|
+
private syncAdvancedFilterValueFromCriteria;
|
|
1637
|
+
private deriveRuntimeVisibleAdvancedFilterFields;
|
|
1638
|
+
private isEmptyAdvancedFilterCriterionValue;
|
|
1639
|
+
private mergeAdvancedFilterFieldIds;
|
|
1640
|
+
private getRuntimePromotedAdvancedFilterFields;
|
|
1641
|
+
private toPlainRecord;
|
|
1347
1642
|
private saveConfigWithAck;
|
|
1348
1643
|
private clearConfigWithAck;
|
|
1349
1644
|
private persistHorizontalScrollInput;
|
|
@@ -1362,6 +1657,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1362
1657
|
private applyDataSourceSettings;
|
|
1363
1658
|
private sanitizeColumns;
|
|
1364
1659
|
private setupColumns;
|
|
1660
|
+
private preserveSchemaDrivenColumnsIfConfigOmittedColumns;
|
|
1365
1661
|
private isDataColumnField;
|
|
1366
1662
|
private computeVisibleDataColumnsForDrag;
|
|
1367
1663
|
getVisibleDataColumnsForDrag(): ColumnDefinition[];
|
|
@@ -1370,6 +1666,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1370
1666
|
isColumnDraggable(column: ColumnDefinition | null | undefined): boolean;
|
|
1371
1667
|
private resolveColumnReorderHeader;
|
|
1372
1668
|
private isEnglishLocale;
|
|
1669
|
+
private isEnglishLocaleValue;
|
|
1373
1670
|
private isColumnDragDebugEnabled;
|
|
1374
1671
|
private logColumnDragDebug;
|
|
1375
1672
|
private resolveTableMessageTemplate;
|
|
@@ -1405,7 +1702,18 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1405
1702
|
*/
|
|
1406
1703
|
private verifyServerSchemaVersion;
|
|
1407
1704
|
private loadSchema;
|
|
1705
|
+
private loadFilterSchemaSnapshot;
|
|
1408
1706
|
private convertFieldToColumn;
|
|
1707
|
+
private applySchemaFieldPresentation;
|
|
1708
|
+
private resolveSchemaCurrencyFormat;
|
|
1709
|
+
private resolveSchemaBooleanFormat;
|
|
1710
|
+
private resolveSchemaValueMapping;
|
|
1711
|
+
private resolveSchemaOptionsValueMapping;
|
|
1712
|
+
private normalizePresentationToken;
|
|
1713
|
+
private firstNonEmptyString;
|
|
1714
|
+
private firstFiniteNumber;
|
|
1715
|
+
private humanizeSchemaEnumValue;
|
|
1716
|
+
private capitalizeSchemaEnumPart;
|
|
1409
1717
|
/**
|
|
1410
1718
|
* Apply automatic renderer hints based on schema field metadata.
|
|
1411
1719
|
* Runs only on initial bootstrap (when columns are derived from schema).
|
|
@@ -1428,11 +1736,14 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1428
1736
|
private buildRowDiscoveryOptions;
|
|
1429
1737
|
private getRowLinks;
|
|
1430
1738
|
private resolveRowDiscoveryHref;
|
|
1739
|
+
private resolveRowSurfaceDiscoveryHref;
|
|
1431
1740
|
private prefetchRowDiscovery;
|
|
1432
1741
|
private ensureRowDiscovery;
|
|
1433
1742
|
private ensureRowCapabilitySnapshot;
|
|
1434
1743
|
private ensureRowActionCatalog;
|
|
1435
1744
|
private getCachedRowCapabilitySnapshot;
|
|
1745
|
+
private getAiAssistantRowDiscoveryLinks;
|
|
1746
|
+
private mergeRowCapabilitySnapshots;
|
|
1436
1747
|
private hasResolvedRowActionCatalog;
|
|
1437
1748
|
isRowDiscoveryPending(row: any): boolean;
|
|
1438
1749
|
private getCachedRowActionCatalog;
|
|
@@ -1473,6 +1784,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1473
1784
|
private pruneRowDiscoveryCaches;
|
|
1474
1785
|
private pruneRowDiscoveryCache;
|
|
1475
1786
|
private fetchData;
|
|
1787
|
+
private resolveAnalyticsProjection;
|
|
1788
|
+
private fetchAnalyticsProjectionData;
|
|
1476
1789
|
private getEffectiveFilterCriteria;
|
|
1477
1790
|
retryData(): void;
|
|
1478
1791
|
reloadSchema(): void;
|
|
@@ -1485,9 +1798,35 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1485
1798
|
* 3. format (data formatting like dates, numbers, currency)
|
|
1486
1799
|
*/
|
|
1487
1800
|
getCellValue(rowData: any, column: ColumnDefinition): any;
|
|
1801
|
+
private applyImplicitRuntimeCellPresentation;
|
|
1802
|
+
private shouldHumanizeRuntimeEnumCell;
|
|
1803
|
+
private resolveCellFormattingType;
|
|
1804
|
+
private normalizeReadonlyEntityLookupCellValue;
|
|
1805
|
+
private toEntityLookupDisplayToken;
|
|
1806
|
+
private isEntityLookupDisplayCandidate;
|
|
1807
|
+
private toEntityLookupDisplayPrimitive;
|
|
1488
1808
|
private resolveImplicitFormat;
|
|
1489
1809
|
getCellClasses(rowData: any, column: ColumnDefinition): string[] | undefined;
|
|
1490
1810
|
getCellNgStyle(rowData: any, column: ColumnDefinition): Record<string, string> | undefined;
|
|
1811
|
+
private normalizeInlineStyleRecord;
|
|
1812
|
+
private normalizeConditionalStyleRules;
|
|
1813
|
+
private normalizeConditionalStyleRecord;
|
|
1814
|
+
getCellTooltip(rowData: any, column: ColumnDefinition): string | null;
|
|
1815
|
+
getCellTooltipPosition(rowData: any, column: ColumnDefinition): 'above' | 'below' | 'left' | 'right' | 'before' | 'after';
|
|
1816
|
+
private resolveConditionalStyleTooltipText;
|
|
1817
|
+
private resolveRendererTooltipText;
|
|
1818
|
+
private normalizeTooltipPosition;
|
|
1819
|
+
private normalizeConditionalStyleEffects;
|
|
1820
|
+
private hasConditionalStyleEffectPayload;
|
|
1821
|
+
private resolveConditionalStyleClasses;
|
|
1822
|
+
private resolveConditionalStyleObject;
|
|
1823
|
+
private compileConditionalStyleEffect;
|
|
1824
|
+
private normalizeConditionalRendererRules;
|
|
1825
|
+
private normalizeObjectRecord;
|
|
1826
|
+
private buildColumnRendererOverrideFromEffects;
|
|
1827
|
+
private buildColumnRendererFromEffect;
|
|
1828
|
+
private resolveRuleAnimationFromEffects;
|
|
1829
|
+
private resolveRowTooltipFromEffects;
|
|
1491
1830
|
private resetComputedContextCache;
|
|
1492
1831
|
private ensureEffectiveCellRenderCache;
|
|
1493
1832
|
private ensureCellAnimationPreviousValuesByRowId;
|
|
@@ -1499,6 +1838,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1499
1838
|
private buildComputedSignature;
|
|
1500
1839
|
private stringifyDependencyValue;
|
|
1501
1840
|
private buildComputedValueMap;
|
|
1841
|
+
private collectComputedColumns;
|
|
1842
|
+
private evaluateCanonicalComputedColumns;
|
|
1843
|
+
private collectComputedExpressionDependencies;
|
|
1844
|
+
private collectJsonLogicVarDependencies;
|
|
1845
|
+
private resolveJsonLogicVarPath;
|
|
1502
1846
|
private buildEvaluationContext;
|
|
1503
1847
|
private getJsonLogicEvaluationOptions;
|
|
1504
1848
|
private resolveJsonLogicUserTimeZone;
|
|
@@ -1637,6 +1981,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1637
1981
|
private buildEffectiveCellRenderCacheKey;
|
|
1638
1982
|
private getEffectiveCellRenderResult;
|
|
1639
1983
|
private getEffectiveRenderer;
|
|
1984
|
+
private resolveEffectiveRendererTooltip;
|
|
1640
1985
|
getLinkHref(row: any, column: ColumnDefinition): string | null;
|
|
1641
1986
|
getLinkText(row: any, column: ColumnDefinition): string;
|
|
1642
1987
|
getLinkRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
|
|
@@ -1658,6 +2003,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1658
2003
|
private buildRendererActionRuntimeOptions;
|
|
1659
2004
|
onButtonClick(row: any, column: ColumnDefinition, event: Event): void;
|
|
1660
2005
|
getChipText(row: any, column: ColumnDefinition): string | null;
|
|
2006
|
+
private getRendererTextFieldValue;
|
|
1661
2007
|
getChipRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
|
|
1662
2008
|
getChipIcon(row: any, column: ColumnDefinition): string | null;
|
|
1663
2009
|
getChipClasses(row: any, column: ColumnDefinition): string[];
|
|
@@ -1680,6 +2026,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1680
2026
|
private deriveAvatarInitials;
|
|
1681
2027
|
getAvatarInitials(row: any, column: ColumnDefinition): string;
|
|
1682
2028
|
getAvatarRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
|
|
2029
|
+
private getAvatarRichContentStyle;
|
|
1683
2030
|
getAvatarShape(row: any, column: ColumnDefinition): 'square' | 'rounded' | 'circle' | undefined;
|
|
1684
2031
|
getAvatarStyle(row: any, column: ColumnDefinition): Record<string, string> | null;
|
|
1685
2032
|
getToggleState(row: any, column: ColumnDefinition): boolean;
|
|
@@ -1735,6 +2082,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1735
2082
|
private reconcileSelectionAfterDataChange;
|
|
1736
2083
|
private getComparableRowIdentity;
|
|
1737
2084
|
getIdField(): string;
|
|
2085
|
+
private resolveConfigMetaIdField;
|
|
1738
2086
|
private syncRuntimeSchemaMetaFromConfig;
|
|
1739
2087
|
private getEffectiveMetadataSnapshot;
|
|
1740
2088
|
getActionId(action: any): string;
|
|
@@ -1751,6 +2099,22 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1751
2099
|
masterToggle(): void;
|
|
1752
2100
|
isAllSelected(): boolean;
|
|
1753
2101
|
toggleRow(row: any): void;
|
|
2102
|
+
private selectRowFromUserInteraction;
|
|
2103
|
+
private emitSelectionChange;
|
|
2104
|
+
private getSelectedRowsSnapshot;
|
|
2105
|
+
private getAiAssistantSelectionFields;
|
|
2106
|
+
private buildAiAssistantSelectionFilterCandidates;
|
|
2107
|
+
private inferAiAssistantFilterCriterionKind;
|
|
2108
|
+
private buildAiAssistantRangeFilterCandidate;
|
|
2109
|
+
private buildAiAssistantSetFilterCandidate;
|
|
2110
|
+
private resolveAiAssistantSetFilterDisplayValue;
|
|
2111
|
+
private aiAssistantSetFilterDisplayFieldCandidates;
|
|
2112
|
+
private resolveAiAssistantFilterSourceFields;
|
|
2113
|
+
private normalizeAiAssistantNumericRangeValue;
|
|
2114
|
+
private normalizeAiAssistantDateRangeValue;
|
|
2115
|
+
private sanitizeAiAssistantSelectedRow;
|
|
2116
|
+
private safeStringifyAiAssistantValue;
|
|
2117
|
+
private isSensitiveAiAssistantField;
|
|
1754
2118
|
private getRowActionsConfig;
|
|
1755
2119
|
getActionsHeaderAlign(): string;
|
|
1756
2120
|
getActionsHeaderTooltip(): string | undefined;
|
|
@@ -1775,11 +2139,24 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1775
2139
|
private splitVisibleRowActionsFromVisible;
|
|
1776
2140
|
private decorateConfiguredRowAction;
|
|
1777
2141
|
private getDiscoveredRowWorkflowActions;
|
|
2142
|
+
private getDiscoveredRowSurfaceActionsFromSnapshot;
|
|
1778
2143
|
private getDiscoveredRowWorkflowActionsFromCatalog;
|
|
1779
2144
|
private supportsRowCrudAction;
|
|
1780
2145
|
private isCapabilityManagedCrudRowAction;
|
|
1781
2146
|
private findItemWorkflowAction;
|
|
2147
|
+
private findItemSurface;
|
|
2148
|
+
private isRowSurfaceAction;
|
|
2149
|
+
private isResourceSurfaceCatalogItem;
|
|
2150
|
+
private toRecordSurfaceActionConfig;
|
|
2151
|
+
private resolveConfiguredSurfaceOpenAction;
|
|
2152
|
+
private recordSurfaceActionAliases;
|
|
2153
|
+
private normalizeSurfaceActionAlias;
|
|
2154
|
+
private isWritableRowSurface;
|
|
2155
|
+
private isReadableRowSurface;
|
|
2156
|
+
private getDiscoveredSurfaceIcon;
|
|
2157
|
+
private getDiscoveredSurfaceColor;
|
|
1782
2158
|
private getUnavailableWorkflowMessage;
|
|
2159
|
+
private getUnavailableSurfaceMessage;
|
|
1783
2160
|
private normalizeActionId;
|
|
1784
2161
|
private isActionVisible;
|
|
1785
2162
|
trackAction(index: number, item: any): any;
|
|
@@ -1793,8 +2170,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1793
2170
|
getRowMenuIcon(): string;
|
|
1794
2171
|
private scheduleRowDiscoveryMarkForCheck;
|
|
1795
2172
|
ngOnDestroy(): void;
|
|
1796
|
-
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; }]>;
|
|
1797
|
-
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"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
2173
|
+
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; }]>;
|
|
2174
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTable, "praxis-table", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "data": { "alias": "data"; "required": false; }; "tableId": { "alias": "tableId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "autoDelete": { "alias": "autoDelete"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "crudContext": { "alias": "crudContext"; "required": false; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "aiContext": { "alias": "aiContext"; "required": false; }; "aiAssistantVoiceInputMode": { "alias": "aiAssistantVoiceInputMode"; "required": false; }; "aiAssistantVoiceLanguage": { "alias": "aiAssistantVoiceLanguage"; "required": false; }; "horizontalScroll": { "alias": "horizontalScroll"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "widgetEvent": "widgetEvent"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "exportAction": "exportAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "configChange": "configChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; "selectionChange": "selectionChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
1798
2175
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
1799
2176
|
}
|
|
1800
2177
|
|
|
@@ -1807,7 +2184,6 @@ interface EditorDocument<TConfig, TBindings = unknown> {
|
|
|
1807
2184
|
type TableHorizontalScroll = 'auto' | 'wrap' | 'none';
|
|
1808
2185
|
interface TableBindings {
|
|
1809
2186
|
resourcePath?: string | null;
|
|
1810
|
-
idField?: string;
|
|
1811
2187
|
horizontalScroll?: TableHorizontalScroll;
|
|
1812
2188
|
}
|
|
1813
2189
|
interface TableAuthoringDocument extends EditorDocument<TableConfig, TableBindings> {
|
|
@@ -1864,7 +2240,6 @@ interface TableApplyPlan {
|
|
|
1864
2240
|
};
|
|
1865
2241
|
diff?: {
|
|
1866
2242
|
resourcePathChanged?: boolean;
|
|
1867
|
-
idFieldChanged?: boolean;
|
|
1868
2243
|
horizontalScrollChanged?: boolean;
|
|
1869
2244
|
requiresDataRefresh?: boolean;
|
|
1870
2245
|
};
|
|
@@ -2337,6 +2712,8 @@ interface ToolbarAction {
|
|
|
2337
2712
|
/** Material button appearance: filled (flat), outlined (stroked), elevated (raised), text, tonal */
|
|
2338
2713
|
appearance?: 'filled' | 'outlined' | 'elevated' | 'text' | 'tonal';
|
|
2339
2714
|
action: string;
|
|
2715
|
+
globalAction?: GlobalActionRef;
|
|
2716
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2340
2717
|
position: 'start' | 'end';
|
|
2341
2718
|
order?: number;
|
|
2342
2719
|
disabled?: boolean;
|
|
@@ -2344,7 +2721,7 @@ interface ToolbarAction {
|
|
|
2344
2721
|
shortcut?: string;
|
|
2345
2722
|
shortcutScope?: 'toolbar' | 'global';
|
|
2346
2723
|
tooltip?: string;
|
|
2347
|
-
visibleWhen?:
|
|
2724
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
2348
2725
|
children?: ToolbarAction[];
|
|
2349
2726
|
}
|
|
2350
2727
|
interface RowAction {
|
|
@@ -2352,11 +2729,15 @@ interface RowAction {
|
|
|
2352
2729
|
label: string;
|
|
2353
2730
|
icon: string;
|
|
2354
2731
|
action: string;
|
|
2732
|
+
globalAction?: GlobalActionRef;
|
|
2733
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2355
2734
|
color?: 'primary' | 'accent' | 'warn';
|
|
2356
2735
|
tooltip?: string;
|
|
2357
2736
|
requiresConfirmation?: boolean;
|
|
2358
2737
|
autoDelete?: boolean;
|
|
2359
2738
|
separator?: boolean;
|
|
2739
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
2740
|
+
disabledWhen?: JsonLogicExpression | null;
|
|
2360
2741
|
conditional?: string;
|
|
2361
2742
|
}
|
|
2362
2743
|
interface BulkAction {
|
|
@@ -2364,6 +2745,8 @@ interface BulkAction {
|
|
|
2364
2745
|
label: string;
|
|
2365
2746
|
icon: string;
|
|
2366
2747
|
action: string;
|
|
2748
|
+
globalAction?: GlobalActionRef;
|
|
2749
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2367
2750
|
color?: 'primary' | 'accent' | 'warn';
|
|
2368
2751
|
tooltip?: string;
|
|
2369
2752
|
requiresConfirmation?: boolean;
|
|
@@ -2377,6 +2760,25 @@ interface ToolbarActionsChange {
|
|
|
2377
2760
|
value: any;
|
|
2378
2761
|
fullConfig: TableConfig;
|
|
2379
2762
|
}
|
|
2763
|
+
type GlobalActionCatalogOption = GlobalActionCatalogEntry & {
|
|
2764
|
+
param?: {
|
|
2765
|
+
required?: boolean;
|
|
2766
|
+
label?: string;
|
|
2767
|
+
placeholder?: string;
|
|
2768
|
+
hint?: string;
|
|
2769
|
+
};
|
|
2770
|
+
};
|
|
2771
|
+
type EditableTableAction = {
|
|
2772
|
+
id?: string;
|
|
2773
|
+
label?: string;
|
|
2774
|
+
action?: string;
|
|
2775
|
+
globalAction?: GlobalActionRef;
|
|
2776
|
+
effects?: PraxisRuntimeGlobalActionEffect[];
|
|
2777
|
+
position?: string;
|
|
2778
|
+
appearance?: string;
|
|
2779
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
2780
|
+
disabledWhen?: JsonLogicExpression | null;
|
|
2781
|
+
};
|
|
2380
2782
|
type ToolbarShortcutScope = 'toolbar' | 'global';
|
|
2381
2783
|
interface InternalActionSpec {
|
|
2382
2784
|
id: string;
|
|
@@ -2397,14 +2799,14 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
|
|
|
2397
2799
|
editingToolbarActionIndex: number | null;
|
|
2398
2800
|
editingRowActionIndex: number | null;
|
|
2399
2801
|
editingBulkActionIndex: number | null;
|
|
2400
|
-
readonly
|
|
2802
|
+
private readonly i18n;
|
|
2803
|
+
readonly globalActionCatalog: GlobalActionCatalogOption[];
|
|
2401
2804
|
get internalActionCatalog(): InternalActionSpec[];
|
|
2402
2805
|
readonly customActionValue = "__custom__";
|
|
2403
2806
|
readonly validShortcutScopes: ToolbarShortcutScope[];
|
|
2404
2807
|
private readonly actionFieldDrafts;
|
|
2405
2808
|
private readonly actionFieldErrors;
|
|
2406
2809
|
private readonly warnedInvalidShortcutScopes;
|
|
2407
|
-
private readonly i18n;
|
|
2408
2810
|
private destroy$;
|
|
2409
2811
|
constructor(fb: FormBuilder, iconPicker: IconPickerService);
|
|
2410
2812
|
tx(key: string, fallback: string): string;
|
|
@@ -2433,56 +2835,37 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
|
|
|
2433
2835
|
private removeAddToolbarAction;
|
|
2434
2836
|
private syncAddFormFromActions;
|
|
2435
2837
|
private updateConfig;
|
|
2436
|
-
getActionSelectValue(
|
|
2437
|
-
getActionParam(
|
|
2438
|
-
|
|
2838
|
+
getActionSelectValue(action?: EditableTableAction): string;
|
|
2839
|
+
getActionParam(action?: EditableTableAction): string;
|
|
2840
|
+
isRequiredGlobalActionParamMissing(action: EditableTableAction, spec: GlobalActionCatalogOption): boolean;
|
|
2841
|
+
getActionCustomValue(action?: EditableTableAction): string;
|
|
2439
2842
|
isInternalAction(value?: string): boolean;
|
|
2440
|
-
getActionSpecById(id: string):
|
|
2441
|
-
onActionSelectChange(action:
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
}, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2447
|
-
onActionCustomChange(action: {
|
|
2448
|
-
action?: string;
|
|
2449
|
-
}, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2843
|
+
getActionSpecById(id: string): GlobalActionCatalogOption | undefined;
|
|
2844
|
+
onActionSelectChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2845
|
+
onActionParamChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2846
|
+
onActionCustomChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2847
|
+
getCanonicalGlobalActionRef(action?: EditableTableAction): GlobalActionRef | undefined;
|
|
2848
|
+
private setCanonicalGlobalActionRef;
|
|
2450
2849
|
private touchActionList;
|
|
2451
|
-
|
|
2850
|
+
getActionJsonLogicText(action: EditableTableAction, key: 'visibleWhen' | 'disabledWhen'): string;
|
|
2851
|
+
onActionJsonLogicChange(action: EditableTableAction, key: 'visibleWhen' | 'disabledWhen', value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2852
|
+
getActionConditionError(action: EditableTableAction, key: 'visibleWhen' | 'disabledWhen'): string;
|
|
2452
2853
|
isGlobalActionId(id?: string): boolean;
|
|
2453
|
-
getGlobalActionSchema(action:
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
action?: string;
|
|
2464
|
-
}, field: GlobalActionField): boolean;
|
|
2465
|
-
hasActionFieldError(action: {
|
|
2466
|
-
action?: string;
|
|
2467
|
-
}, key: string): boolean;
|
|
2468
|
-
getActionFieldError(action: {
|
|
2469
|
-
action?: string;
|
|
2470
|
-
}, key: string): string;
|
|
2471
|
-
getGlobalActionFieldValue(action: {
|
|
2472
|
-
action?: string;
|
|
2473
|
-
}, field: GlobalActionField): any;
|
|
2474
|
-
onGlobalActionFieldChange(action: {
|
|
2475
|
-
action?: string;
|
|
2476
|
-
}, field: GlobalActionField, value: any, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2477
|
-
private getActionParamInfo;
|
|
2478
|
-
private parseMethodAndUrl;
|
|
2854
|
+
getGlobalActionSchema(action: EditableTableAction): _praxisui_core.GlobalActionUiSchema | undefined;
|
|
2855
|
+
getSurfaceOpenActionPayload(action: EditableTableAction): SurfaceOpenPayload;
|
|
2856
|
+
onSurfaceOpenActionPayloadChange(action: EditableTableAction, payload: SurfaceOpenPayload, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2857
|
+
shouldShowGlobalActionField(action: EditableTableAction, field: GlobalActionField): boolean;
|
|
2858
|
+
isGlobalActionFieldRequired(action: EditableTableAction, field: GlobalActionField): boolean;
|
|
2859
|
+
isGlobalActionFieldMissing(action: EditableTableAction, field: GlobalActionField): boolean;
|
|
2860
|
+
hasActionFieldError(action: EditableTableAction, key: string): boolean;
|
|
2861
|
+
getActionFieldError(action: EditableTableAction, key: string): string;
|
|
2862
|
+
getGlobalActionFieldValue(action: EditableTableAction, field: GlobalActionField): any;
|
|
2863
|
+
onGlobalActionFieldChange(action: EditableTableAction, field: GlobalActionField, value: any, kind: 'toolbar' | 'row' | 'bulk'): void;
|
|
2479
2864
|
private stringifyJson;
|
|
2480
2865
|
private normalizeSurfaceOpenPayload;
|
|
2481
2866
|
private setActionFieldError;
|
|
2482
2867
|
private clearActionFieldError;
|
|
2483
2868
|
private collectGlobalActionFieldValues;
|
|
2484
|
-
private serializeGlobalActionParam;
|
|
2485
|
-
private buildPrimaryParam;
|
|
2486
2869
|
private buildGlobalActionPayload;
|
|
2487
2870
|
getToolbarActionShortcutScope(action: ToolbarAction): ToolbarShortcutScope;
|
|
2488
2871
|
onToolbarActionShortcutScopeChange(action: ToolbarAction, value: ToolbarShortcutScope | string): void;
|
|
@@ -2674,6 +3057,7 @@ declare class FilterSettingsComponent implements OnChanges, AfterViewInit, OnDes
|
|
|
2674
3057
|
}[];
|
|
2675
3058
|
getContrastWarning(): string | null;
|
|
2676
3059
|
applyPreset(key: string): void;
|
|
3060
|
+
isPresetActive(key: string): boolean;
|
|
2677
3061
|
hasBooleanFieldMetadata(): boolean;
|
|
2678
3062
|
getFieldLabel(name: string): string;
|
|
2679
3063
|
onAlwaysVisibleFieldSearchChange(value: string): void;
|
|
@@ -2837,12 +3221,10 @@ declare class RuleCompilerService {
|
|
|
2837
3221
|
static ɵprov: i0.ɵɵInjectableDeclaration<RuleCompilerService>;
|
|
2838
3222
|
}
|
|
2839
3223
|
|
|
2840
|
-
type RuleItem = {
|
|
2841
|
-
condition: JsonLogicExpression;
|
|
3224
|
+
type RuleItem = Omit<PraxisRuntimeConditionalEffectRule<RuleEffectDefinition>, 'effects'> & {
|
|
2842
3225
|
cssClass?: string;
|
|
2843
3226
|
style?: Record<string, string>;
|
|
2844
|
-
|
|
2845
|
-
effects?: _praxisui_table_rule_builder.RuleEffectDefinition;
|
|
3227
|
+
effects?: RuleEffectDefinition[];
|
|
2846
3228
|
enabled?: boolean;
|
|
2847
3229
|
};
|
|
2848
3230
|
declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy {
|
|
@@ -2912,6 +3294,7 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
2912
3294
|
onColumnSelect(field: string): void;
|
|
2913
3295
|
private initFromConfig;
|
|
2914
3296
|
private loadColumnRules;
|
|
3297
|
+
private normalizePersistedRules;
|
|
2915
3298
|
rebuildCondition(): void;
|
|
2916
3299
|
onDraftChange(): void;
|
|
2917
3300
|
applyTextPreset(preset: string): void;
|
|
@@ -2938,6 +3321,8 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
2938
3321
|
onExportRules(): void;
|
|
2939
3322
|
onImportRules(): void;
|
|
2940
3323
|
private sanitizeRule;
|
|
3324
|
+
private normalizeRuleEffects;
|
|
3325
|
+
getPrimaryEffect(r: RuleItem | null | undefined): RuleEffectDefinition | undefined;
|
|
2941
3326
|
getAnimationLabel(r: RuleItem): string | null;
|
|
2942
3327
|
private normalizeRendererAnimation;
|
|
2943
3328
|
private buildRendererOverrideFromRule;
|
|
@@ -3044,6 +3429,8 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3044
3429
|
private cdr;
|
|
3045
3430
|
private configService;
|
|
3046
3431
|
private readonly i18n;
|
|
3432
|
+
private readonly globalActionCatalogSource;
|
|
3433
|
+
private readonly globalActionCatalog;
|
|
3047
3434
|
filterSettingsEditor?: FilterSettingsComponent;
|
|
3048
3435
|
behaviorEditor?: BehaviorConfigEditorComponent;
|
|
3049
3436
|
rulesEditor?: TableRulesEditorComponent;
|
|
@@ -3106,6 +3493,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3106
3493
|
private hasLocalDataInput;
|
|
3107
3494
|
private filterDtoLoadSeq;
|
|
3108
3495
|
private lastKnownFilterSettings;
|
|
3496
|
+
private globalActionValidationIssues;
|
|
3109
3497
|
private readonly panelData;
|
|
3110
3498
|
private readonly crudService;
|
|
3111
3499
|
private readonly panelRef;
|
|
@@ -3132,6 +3520,9 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3132
3520
|
onRulesConfigChange(newCfg: TableConfig): void;
|
|
3133
3521
|
private updateColumnMetas;
|
|
3134
3522
|
private updateCanSaveState;
|
|
3523
|
+
private collectGlobalActionValidationIssues;
|
|
3524
|
+
private findGlobalActionCatalogEntry;
|
|
3525
|
+
private buildGlobalActionCatalog;
|
|
3135
3526
|
private subscribeCrudEditorChanges;
|
|
3136
3527
|
private showSuccess;
|
|
3137
3528
|
private showError;
|
|
@@ -3140,6 +3531,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3140
3531
|
* Normaliza uma configuração de tabela para comparação consistente
|
|
3141
3532
|
* Remove propriedades undefined, ordena arrays e objetos de forma consistente
|
|
3142
3533
|
*/
|
|
3534
|
+
private withCanonicalIdField;
|
|
3143
3535
|
private normalizeTableConfig;
|
|
3144
3536
|
/**
|
|
3145
3537
|
* Realiza comparação profunda de objetos, ignorando ordem de propriedades
|
|
@@ -3202,6 +3594,107 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
3202
3594
|
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableConfigEditor, "praxis-table-config-editor", never, {}, {}, never, never, true, never>;
|
|
3203
3595
|
}
|
|
3204
3596
|
|
|
3597
|
+
interface PraxisTableWidgetEditorInputs {
|
|
3598
|
+
config?: TableConfig | null;
|
|
3599
|
+
resourcePath?: string | null;
|
|
3600
|
+
horizontalScroll?: 'auto' | 'wrap' | 'none';
|
|
3601
|
+
tableId?: string;
|
|
3602
|
+
componentInstanceId?: string;
|
|
3603
|
+
[key: string]: unknown;
|
|
3604
|
+
}
|
|
3605
|
+
interface PraxisTableWidgetEditorValue {
|
|
3606
|
+
inputs: PraxisTableWidgetEditorInputs;
|
|
3607
|
+
}
|
|
3608
|
+
declare class PraxisTableWidgetConfigEditor implements SettingsValueProvider$1, AfterViewInit, OnDestroy {
|
|
3609
|
+
inputs: PraxisTableWidgetEditorInputs | null;
|
|
3610
|
+
widgetKey?: string;
|
|
3611
|
+
tableEditor?: PraxisTableConfigEditor;
|
|
3612
|
+
readonly isDirty$: BehaviorSubject<boolean>;
|
|
3613
|
+
readonly isValid$: BehaviorSubject<boolean>;
|
|
3614
|
+
readonly isBusy$: BehaviorSubject<boolean>;
|
|
3615
|
+
private readonly subscription;
|
|
3616
|
+
ngAfterViewInit(): void;
|
|
3617
|
+
ngOnDestroy(): void;
|
|
3618
|
+
getSettingsValue(): PraxisTableWidgetEditorValue;
|
|
3619
|
+
onSave(): PraxisTableWidgetEditorValue;
|
|
3620
|
+
reset(): void;
|
|
3621
|
+
private initializeChildEditor;
|
|
3622
|
+
private buildValue;
|
|
3623
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableWidgetConfigEditor, never>;
|
|
3624
|
+
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>;
|
|
3625
|
+
}
|
|
3626
|
+
|
|
3627
|
+
interface PraxisFilterWidgetEditorInputs {
|
|
3628
|
+
resourcePath?: string | null;
|
|
3629
|
+
fieldMetadata?: FieldMetadata[] | null;
|
|
3630
|
+
filterId?: string;
|
|
3631
|
+
formId?: string;
|
|
3632
|
+
componentInstanceId?: string;
|
|
3633
|
+
alwaysVisibleFields?: string[];
|
|
3634
|
+
alwaysVisibleFieldMetadataOverrides?: Record<string, Record<string, unknown>>;
|
|
3635
|
+
selectedFieldIds?: string[];
|
|
3636
|
+
allowSaveTags?: boolean;
|
|
3637
|
+
changeDebounceMs?: number;
|
|
3638
|
+
placeBooleansInActions?: boolean;
|
|
3639
|
+
showToggleLabels?: boolean;
|
|
3640
|
+
alwaysMinWidth?: number;
|
|
3641
|
+
alwaysColsMd?: number;
|
|
3642
|
+
alwaysColsLg?: number;
|
|
3643
|
+
confirmTagDelete?: boolean;
|
|
3644
|
+
tagColor?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
3645
|
+
tagVariant?: 'filled' | 'outlined';
|
|
3646
|
+
tagButtonColor?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
3647
|
+
actionsButtonColor?: 'primary' | 'accent' | 'warn' | 'basic';
|
|
3648
|
+
actionsVariant?: 'standard' | 'outlined';
|
|
3649
|
+
useInlineSearchableSelectVariant?: boolean;
|
|
3650
|
+
useInlineRangeVariant?: boolean;
|
|
3651
|
+
useInlineDateVariant?: boolean;
|
|
3652
|
+
useInlineDateRangeVariant?: boolean;
|
|
3653
|
+
useInlineTimeVariant?: boolean;
|
|
3654
|
+
useInlineTimeRangeVariant?: boolean;
|
|
3655
|
+
useInlineTreeSelectVariant?: boolean;
|
|
3656
|
+
overlayVariant?: 'card' | 'frosted';
|
|
3657
|
+
overlayBackdrop?: boolean;
|
|
3658
|
+
advancedOpenMode?: 'modal' | 'drawer';
|
|
3659
|
+
advancedClearButtonsEnabled?: boolean;
|
|
3660
|
+
persistenceKey?: string;
|
|
3661
|
+
showFilterSettings?: boolean;
|
|
3662
|
+
enableCustomization?: boolean;
|
|
3663
|
+
[key: string]: unknown;
|
|
3664
|
+
}
|
|
3665
|
+
interface PraxisFilterWidgetEditorValue {
|
|
3666
|
+
inputs: PraxisFilterWidgetEditorInputs;
|
|
3667
|
+
}
|
|
3668
|
+
declare class PraxisFilterWidgetConfigEditor implements SettingsValueProvider$1, OnDestroy {
|
|
3669
|
+
widgetKey?: string;
|
|
3670
|
+
set inputs(value: PraxisFilterWidgetEditorInputs | null);
|
|
3671
|
+
get inputs(): PraxisFilterWidgetEditorInputs | null;
|
|
3672
|
+
set filterSettings(component: FilterSettingsComponent | undefined);
|
|
3673
|
+
metadata: FieldMetadata[];
|
|
3674
|
+
settings: FilterConfig;
|
|
3675
|
+
configKey?: string;
|
|
3676
|
+
readonly isDirty$: BehaviorSubject<boolean>;
|
|
3677
|
+
readonly isValid$: BehaviorSubject<boolean>;
|
|
3678
|
+
readonly isBusy$: BehaviorSubject<boolean>;
|
|
3679
|
+
private currentInputs;
|
|
3680
|
+
private settingsEditor?;
|
|
3681
|
+
private subscription;
|
|
3682
|
+
ngOnDestroy(): void;
|
|
3683
|
+
getSettingsValue(): PraxisFilterWidgetEditorValue;
|
|
3684
|
+
onSave(): PraxisFilterWidgetEditorValue;
|
|
3685
|
+
reset(): void;
|
|
3686
|
+
private buildValue;
|
|
3687
|
+
private buildSettingsFromInputs;
|
|
3688
|
+
private projectSettingsToInputs;
|
|
3689
|
+
private normalizeSettings;
|
|
3690
|
+
private normalizeAdvancedOpenMode;
|
|
3691
|
+
private normalizeOverlayVariant;
|
|
3692
|
+
private cloneStringArray;
|
|
3693
|
+
private cloneRecord;
|
|
3694
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisFilterWidgetConfigEditor, never>;
|
|
3695
|
+
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>;
|
|
3696
|
+
}
|
|
3697
|
+
|
|
3205
3698
|
declare class DataFormatterComponent implements OnInit, OnChanges {
|
|
3206
3699
|
private cdr;
|
|
3207
3700
|
private formattingService;
|
|
@@ -3270,31 +3763,6 @@ declare class DataFormatterComponent implements OnInit, OnChanges {
|
|
|
3270
3763
|
static ɵcmp: i0.ɵɵComponentDeclaration<DataFormatterComponent, "data-formatter", never, { "columnType": { "alias": "columnType"; "required": false; }; "currentFormat": { "alias": "currentFormat"; "required": false; }; }, { "formatChange": "formatChange"; }, never, never, true, never>;
|
|
3271
3764
|
}
|
|
3272
3765
|
|
|
3273
|
-
type AnalyticsTableRow = Record<string, string | number | boolean | null>;
|
|
3274
|
-
type AnalyticsTableContractSource = 'remote' | 'fallback';
|
|
3275
|
-
interface AnalyticsTableViewModel {
|
|
3276
|
-
config: TableConfig;
|
|
3277
|
-
data: AnalyticsTableRow[];
|
|
3278
|
-
}
|
|
3279
|
-
interface AnalyticsTableContractDefinition<TKey extends string = string> {
|
|
3280
|
-
key: TKey;
|
|
3281
|
-
projectionId: string;
|
|
3282
|
-
path: string;
|
|
3283
|
-
title: PraxisTextValue;
|
|
3284
|
-
subtitle?: PraxisTextValue;
|
|
3285
|
-
fallbackProjection: PraxisAnalyticsProjection;
|
|
3286
|
-
fallbackRows?: AnalyticsTableRow[];
|
|
3287
|
-
}
|
|
3288
|
-
interface AnalyticsTableContractLoadOptions<TKey extends string = string> {
|
|
3289
|
-
cacheNamespace?: string;
|
|
3290
|
-
queryContexts?: Partial<Record<TKey, PraxisDataQueryContext | null>>;
|
|
3291
|
-
}
|
|
3292
|
-
interface AnalyticsTableContractLoadResult<TKey extends string = string> {
|
|
3293
|
-
views: Record<TKey, AnalyticsTableViewModel>;
|
|
3294
|
-
sources: Record<TKey, AnalyticsTableContractSource>;
|
|
3295
|
-
errors: Partial<Record<TKey, string>>;
|
|
3296
|
-
}
|
|
3297
|
-
|
|
3298
3766
|
interface AnalyticsTableConfigAdapterOptions {
|
|
3299
3767
|
title?: PraxisTextValue;
|
|
3300
3768
|
subtitle?: PraxisTextValue;
|
|
@@ -3308,24 +3776,6 @@ declare class AnalyticsTableConfigAdapterService {
|
|
|
3308
3776
|
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableConfigAdapterService>;
|
|
3309
3777
|
}
|
|
3310
3778
|
|
|
3311
|
-
declare class AnalyticsTableStatsApiService {
|
|
3312
|
-
private readonly http;
|
|
3313
|
-
private readonly apiUrl;
|
|
3314
|
-
private readonly statsBuilder;
|
|
3315
|
-
constructor(http: HttpClient, apiUrl: ApiUrlConfig);
|
|
3316
|
-
execute(projection: PraxisAnalyticsProjection, queryContext?: PraxisDataQueryContext | null): Promise<AnalyticsTableRow[]>;
|
|
3317
|
-
private toTableRows;
|
|
3318
|
-
private resolveTimeSeriesCategory;
|
|
3319
|
-
private resolveBucketCategory;
|
|
3320
|
-
private projectMetricValues;
|
|
3321
|
-
private resolveMetricValue;
|
|
3322
|
-
private buildStatsUrl;
|
|
3323
|
-
private applyQueryContext;
|
|
3324
|
-
private normalizeError;
|
|
3325
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsTableStatsApiService, never>;
|
|
3326
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableStatsApiService>;
|
|
3327
|
-
}
|
|
3328
|
-
|
|
3329
3779
|
declare class AnalyticsTableContractService {
|
|
3330
3780
|
private readonly analyticsSchema;
|
|
3331
3781
|
private readonly resolver;
|
|
@@ -3361,6 +3811,15 @@ declare function buildTableApplyPlan(doc: TableAuthoringDocument, runtime?: Tabl
|
|
|
3361
3811
|
}): TableApplyPlan;
|
|
3362
3812
|
declare function serializeTableAuthoringDocument(doc: TableAuthoringDocument): unknown;
|
|
3363
3813
|
|
|
3814
|
+
/**
|
|
3815
|
+
* Manifesto de authoring canônico para o componente praxis-table.
|
|
3816
|
+
* Este arquivo define o contrato executável para que agentes de IA editem tabelas.
|
|
3817
|
+
*
|
|
3818
|
+
* @version 2.0.0
|
|
3819
|
+
* @status COMPLIANT - Alinhado com o contrato v2 e TableConfig canônico.
|
|
3820
|
+
*/
|
|
3821
|
+
declare const PRAXIS_TABLE_AUTHORING_MANIFEST: ComponentAuthoringManifest;
|
|
3822
|
+
|
|
3364
3823
|
declare class PraxisTableInlineAuthoringEditorComponent implements OnChanges {
|
|
3365
3824
|
private readonly i18n;
|
|
3366
3825
|
config: TableConfig;
|
|
@@ -3372,6 +3831,9 @@ declare class PraxisTableInlineAuthoringEditorComponent implements OnChanges {
|
|
|
3372
3831
|
toolbarVisible: boolean;
|
|
3373
3832
|
density: 'compact' | 'comfortable' | 'spacious';
|
|
3374
3833
|
toolbarActionsPosition: 'top' | 'bottom' | 'both';
|
|
3834
|
+
toolbarAppearanceVariant: 'flat' | 'outlined' | 'elevated' | 'integrated';
|
|
3835
|
+
toolbarAppearanceShape: 'square' | 'rounded' | 'pill';
|
|
3836
|
+
toolbarAppearanceDivider: 'none' | 'start' | 'between-groups';
|
|
3375
3837
|
toolbarHeight: number;
|
|
3376
3838
|
toolbarActionsBackgroundColor: string;
|
|
3377
3839
|
paginationEnabled: boolean;
|
|
@@ -3399,6 +3861,9 @@ declare class PraxisTableInlineAuthoringEditorComponent implements OnChanges {
|
|
|
3399
3861
|
setToolbarVisible(value: boolean): void;
|
|
3400
3862
|
setDensity(value: 'compact' | 'comfortable' | 'spacious'): void;
|
|
3401
3863
|
setToolbarActionsPosition(value: 'top' | 'bottom' | 'both'): void;
|
|
3864
|
+
setToolbarAppearanceVariant(value: 'flat' | 'outlined' | 'elevated' | 'integrated'): void;
|
|
3865
|
+
setToolbarAppearanceShape(value: 'square' | 'rounded' | 'pill'): void;
|
|
3866
|
+
setToolbarAppearanceDivider(value: 'none' | 'start' | 'between-groups'): void;
|
|
3402
3867
|
setToolbarHeight(value: number | string): void;
|
|
3403
3868
|
setToolbarActionsBackgroundColor(value: string): void;
|
|
3404
3869
|
setPaginationEnabled(value: boolean): void;
|
|
@@ -3426,6 +3891,7 @@ declare class PraxisTableInlineAuthoringEditorComponent implements OnChanges {
|
|
|
3426
3891
|
tx(key: string, fallback: string): string;
|
|
3427
3892
|
private emitConfig;
|
|
3428
3893
|
private patchToolbar;
|
|
3894
|
+
private patchToolbarAppearance;
|
|
3429
3895
|
private patchBehavior;
|
|
3430
3896
|
private patchPagination;
|
|
3431
3897
|
private patchSorting;
|
|
@@ -3461,7 +3927,7 @@ declare class ValueMappingEditorComponent implements OnInit, OnChanges {
|
|
|
3461
3927
|
[key: number]: string;
|
|
3462
3928
|
}>;
|
|
3463
3929
|
mappingPairs: ValueMappingPair[];
|
|
3464
|
-
dataSource: MatTableDataSource<ValueMappingPair,
|
|
3930
|
+
dataSource: MatTableDataSource<ValueMappingPair, _angular_material_paginator.MatPaginator>;
|
|
3465
3931
|
displayedColumns: string[];
|
|
3466
3932
|
showImportDialog: boolean;
|
|
3467
3933
|
importJsonText: string;
|
|
@@ -3607,7 +4073,6 @@ declare function providePraxisTableMetadata(): Provider;
|
|
|
3607
4073
|
declare module '@praxisui/core' {
|
|
3608
4074
|
interface AiCapabilityCategoryMap {
|
|
3609
4075
|
meta: true;
|
|
3610
|
-
bindings: true;
|
|
3611
4076
|
columns: true;
|
|
3612
4077
|
renderer: true;
|
|
3613
4078
|
conditional: true;
|
|
@@ -3621,6 +4086,7 @@ declare module '@praxisui/core' {
|
|
|
3621
4086
|
toolbar: true;
|
|
3622
4087
|
actions: true;
|
|
3623
4088
|
export: true;
|
|
4089
|
+
runtime: true;
|
|
3624
4090
|
performance: true;
|
|
3625
4091
|
messages: true;
|
|
3626
4092
|
localization: true;
|
|
@@ -3682,5 +4148,336 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
|
|
|
3682
4148
|
}
|
|
3683
4149
|
declare const TABLE_COMPONENT_AI_CAPABILITIES: CapabilityCatalog;
|
|
3684
4150
|
|
|
3685
|
-
|
|
3686
|
-
|
|
4151
|
+
type ComponentEditPlanCapability = {
|
|
4152
|
+
path: string;
|
|
4153
|
+
category: string;
|
|
4154
|
+
valueKind: string;
|
|
4155
|
+
description: string;
|
|
4156
|
+
allowedValues?: readonly string[];
|
|
4157
|
+
critical?: boolean;
|
|
4158
|
+
};
|
|
4159
|
+
declare const TABLE_COMPONENT_EDIT_PLAN_KIND = "praxis.table.component-edit-plan";
|
|
4160
|
+
declare const TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND = "praxis.table.component-edit-plan.batch";
|
|
4161
|
+
declare const TABLE_COMPONENT_EDIT_PLAN_VERSION = "1.0";
|
|
4162
|
+
type TableComponentEditChangeKind = 'add_column' | 'set_column_format' | 'set_column_header' | 'set_column_visibility' | 'set_column_filterable' | 'set_column_sortable' | 'set_column_width' | 'set_column_order' | 'set_column_align' | 'set_column_style' | 'set_column_header_style' | 'set_column_sticky' | 'set_column_conditional_style' | 'set_row_conditional_style' | 'set_column_computed' | 'set_column_value_mapping' | 'set_column_renderer' | 'set_column_badge_renderer' | 'set_column_conditional_badge_renderers' | 'set_row_conditional_renderer' | 'configure_table_filtering' | 'configure_advanced_filters' | 'add_advanced_filter_fields' | 'remove_advanced_filter_fields' | 'configure_table_pagination' | 'configure_table_selection' | 'configure_table_sorting' | 'configure_toolbar' | 'add_toolbar_action' | 'add_row_action' | 'add_bulk_action' | 'configure_export' | 'set_table_density' | 'set_toolbar_visibility';
|
|
4163
|
+
type TableComponentEditOperationId = 'column.add' | 'column.format.set' | 'column.header.set' | 'column.visibility.set' | 'column.filterable.set' | 'column.sortable.set' | 'column.width.set' | 'column.order.set' | 'column.align.set' | 'column.style.set' | 'column.headerStyle.set' | 'column.sticky.set' | 'column.renderer.set' | 'column.valueMapping.set' | 'column.conditionalStyle.add' | 'row.styleRule.add' | 'column.conditionalRenderer.add' | 'column.computed.add' | 'row.conditionalRenderer.add' | 'behavior.filtering.configure' | 'filter.advanced.configure' | 'filter.advanced.fields.add' | 'filter.advanced.fields.remove' | 'behavior.pagination.configure' | 'behavior.selection.configure' | 'behavior.sorting.configure' | 'toolbar.configure' | 'toolbar.action.add' | 'rowAction.add' | 'bulkAction.add' | 'export.configure' | 'appearance.density.set' | 'toolbar.visibility.set';
|
|
4164
|
+
declare const TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS: readonly ["add_column", "set_column_format", "set_column_header", "set_column_visibility", "set_column_filterable", "set_column_sortable", "set_column_width", "set_column_order", "set_column_align", "set_column_style", "set_column_header_style", "set_column_sticky", "set_column_conditional_style", "set_row_conditional_style", "set_column_computed", "set_column_value_mapping", "set_column_renderer", "set_column_badge_renderer", "set_column_conditional_badge_renderers", "set_row_conditional_renderer", "configure_table_filtering", "configure_advanced_filters", "add_advanced_filter_fields", "remove_advanced_filter_fields", "configure_table_pagination", "configure_table_selection", "configure_table_sorting", "configure_toolbar", "add_toolbar_action", "add_row_action", "add_bulk_action", "configure_export", "set_table_density", "set_toolbar_visibility"];
|
|
4165
|
+
declare const TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS: Record<TableComponentEditChangeKind, string>;
|
|
4166
|
+
interface TableComponentEditPlan {
|
|
4167
|
+
kind?: typeof TABLE_COMPONENT_EDIT_PLAN_KIND;
|
|
4168
|
+
version?: typeof TABLE_COMPONENT_EDIT_PLAN_VERSION | string;
|
|
4169
|
+
componentId?: 'praxis-table' | string;
|
|
4170
|
+
changeKind: TableComponentEditChangeKind | string;
|
|
4171
|
+
operationId?: TableComponentEditOperationId | string;
|
|
4172
|
+
capabilityPath?: string;
|
|
4173
|
+
configPath?: string;
|
|
4174
|
+
field?: string;
|
|
4175
|
+
targetField?: string;
|
|
4176
|
+
target?: unknown;
|
|
4177
|
+
input?: unknown;
|
|
4178
|
+
params?: unknown;
|
|
4179
|
+
value?: unknown;
|
|
4180
|
+
condition?: unknown;
|
|
4181
|
+
style?: unknown;
|
|
4182
|
+
cssClass?: unknown;
|
|
4183
|
+
description?: unknown;
|
|
4184
|
+
explanation?: string;
|
|
4185
|
+
}
|
|
4186
|
+
interface TableComponentEditPlanCompileResult {
|
|
4187
|
+
patch?: Partial<TableConfig>;
|
|
4188
|
+
explanation?: string;
|
|
4189
|
+
warnings: string[];
|
|
4190
|
+
failureCodes: string[];
|
|
4191
|
+
}
|
|
4192
|
+
declare function getTableComponentEditPlanCapabilities(): ComponentEditPlanCapability[];
|
|
4193
|
+
declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
4194
|
+
readonly $schema: "https://json-schema.org/draft/2020-12/schema";
|
|
4195
|
+
readonly $id: "https://praxisui.dev/schemas/table/component-edit-plan.v1.schema.json";
|
|
4196
|
+
readonly title: "Praxis Table Component Edit Plan";
|
|
4197
|
+
readonly description: "Declarative, versioned contract for AI-authored table column edits.";
|
|
4198
|
+
readonly oneOf: readonly [{
|
|
4199
|
+
readonly $ref: "#/$defs/singlePlanEnvelope";
|
|
4200
|
+
}, {
|
|
4201
|
+
readonly $ref: "#/$defs/batchPlanEnvelope";
|
|
4202
|
+
}];
|
|
4203
|
+
readonly $defs: {
|
|
4204
|
+
readonly changeKind: {
|
|
4205
|
+
readonly type: "string";
|
|
4206
|
+
readonly enum: readonly ["add_column", "set_column_format", "set_column_header", "set_column_visibility", "set_column_filterable", "set_column_sortable", "set_column_width", "set_column_order", "set_column_align", "set_column_style", "set_column_header_style", "set_column_sticky", "set_column_conditional_style", "set_row_conditional_style", "set_column_computed", "set_column_value_mapping", "set_column_renderer", "set_column_badge_renderer", "set_column_conditional_badge_renderers", "set_row_conditional_renderer", "configure_table_filtering", "configure_advanced_filters", "add_advanced_filter_fields", "remove_advanced_filter_fields", "configure_table_pagination", "configure_table_selection", "configure_table_sorting", "configure_toolbar", "add_toolbar_action", "add_row_action", "add_bulk_action", "configure_export", "set_table_density", "set_toolbar_visibility"];
|
|
4207
|
+
};
|
|
4208
|
+
readonly capabilityPath: {
|
|
4209
|
+
readonly type: "string";
|
|
4210
|
+
readonly enum: string[];
|
|
4211
|
+
};
|
|
4212
|
+
readonly jsonLogicExpression: {
|
|
4213
|
+
readonly type: "object";
|
|
4214
|
+
readonly minProperties: 1;
|
|
4215
|
+
readonly additionalProperties: true;
|
|
4216
|
+
};
|
|
4217
|
+
readonly badge: {
|
|
4218
|
+
readonly type: "object";
|
|
4219
|
+
readonly additionalProperties: false;
|
|
4220
|
+
readonly properties: {
|
|
4221
|
+
readonly text: {
|
|
4222
|
+
readonly type: "string";
|
|
4223
|
+
readonly minLength: 1;
|
|
4224
|
+
};
|
|
4225
|
+
readonly textField: {
|
|
4226
|
+
readonly type: "string";
|
|
4227
|
+
readonly minLength: 1;
|
|
4228
|
+
};
|
|
4229
|
+
readonly color: {
|
|
4230
|
+
readonly type: "string";
|
|
4231
|
+
readonly minLength: 1;
|
|
4232
|
+
};
|
|
4233
|
+
readonly variant: {
|
|
4234
|
+
readonly type: "string";
|
|
4235
|
+
readonly enum: readonly ["filled", "outlined", "soft"];
|
|
4236
|
+
};
|
|
4237
|
+
readonly icon: {
|
|
4238
|
+
readonly type: "string";
|
|
4239
|
+
readonly minLength: 1;
|
|
4240
|
+
};
|
|
4241
|
+
readonly tooltip: {
|
|
4242
|
+
readonly $ref: "#/$defs/tooltip";
|
|
4243
|
+
};
|
|
4244
|
+
};
|
|
4245
|
+
readonly anyOf: readonly [{
|
|
4246
|
+
readonly required: readonly ["text"];
|
|
4247
|
+
}, {
|
|
4248
|
+
readonly required: readonly ["textField"];
|
|
4249
|
+
}];
|
|
4250
|
+
};
|
|
4251
|
+
readonly tooltip: {
|
|
4252
|
+
readonly type: "object";
|
|
4253
|
+
readonly additionalProperties: false;
|
|
4254
|
+
readonly required: readonly ["text"];
|
|
4255
|
+
readonly properties: {
|
|
4256
|
+
readonly text: {
|
|
4257
|
+
readonly type: "string";
|
|
4258
|
+
readonly minLength: 1;
|
|
4259
|
+
};
|
|
4260
|
+
readonly position: {
|
|
4261
|
+
readonly type: "string";
|
|
4262
|
+
readonly enum: readonly ["top", "right", "bottom", "left", "above", "below", "before", "after"];
|
|
4263
|
+
};
|
|
4264
|
+
readonly bgColor: {
|
|
4265
|
+
readonly type: "string";
|
|
4266
|
+
readonly minLength: 1;
|
|
4267
|
+
};
|
|
4268
|
+
readonly delayMs: {
|
|
4269
|
+
readonly type: "number";
|
|
4270
|
+
};
|
|
4271
|
+
};
|
|
4272
|
+
};
|
|
4273
|
+
readonly operation: {
|
|
4274
|
+
readonly type: "object";
|
|
4275
|
+
readonly additionalProperties: false;
|
|
4276
|
+
readonly properties: {
|
|
4277
|
+
readonly kind: {
|
|
4278
|
+
readonly const: "praxis.table.component-edit-plan";
|
|
4279
|
+
};
|
|
4280
|
+
readonly version: {
|
|
4281
|
+
readonly const: "1.0";
|
|
4282
|
+
};
|
|
4283
|
+
readonly componentId: {
|
|
4284
|
+
readonly const: "praxis-table";
|
|
4285
|
+
};
|
|
4286
|
+
readonly operationId: {
|
|
4287
|
+
readonly enum: readonly ["column.add", "column.format.set", "column.header.set", "column.visibility.set", "column.filterable.set", "column.sortable.set", "column.width.set", "column.order.set", "column.align.set", "column.style.set", "column.headerStyle.set", "column.sticky.set", "column.renderer.set", "column.valueMapping.set", "column.conditionalStyle.add", "row.styleRule.add", "column.conditionalRenderer.add", "column.computed.add", "row.conditionalRenderer.add", "behavior.filtering.configure", "filter.advanced.configure", "filter.advanced.fields.add", "filter.advanced.fields.remove", "behavior.pagination.configure", "behavior.selection.configure", "behavior.sorting.configure", "toolbar.configure", "toolbar.action.add", "rowAction.add", "bulkAction.add", "export.configure", "appearance.density.set", "toolbar.visibility.set"];
|
|
4288
|
+
};
|
|
4289
|
+
readonly target: true;
|
|
4290
|
+
readonly input: true;
|
|
4291
|
+
readonly params: true;
|
|
4292
|
+
readonly changeKind: {
|
|
4293
|
+
readonly $ref: "#/$defs/changeKind";
|
|
4294
|
+
};
|
|
4295
|
+
readonly capabilityPath: {
|
|
4296
|
+
readonly $ref: "#/$defs/capabilityPath";
|
|
4297
|
+
};
|
|
4298
|
+
readonly configPath: {
|
|
4299
|
+
readonly $ref: "#/$defs/capabilityPath";
|
|
4300
|
+
};
|
|
4301
|
+
readonly field: {
|
|
4302
|
+
readonly type: "string";
|
|
4303
|
+
readonly minLength: 1;
|
|
4304
|
+
};
|
|
4305
|
+
readonly targetField: {
|
|
4306
|
+
readonly type: "string";
|
|
4307
|
+
readonly minLength: 1;
|
|
4308
|
+
};
|
|
4309
|
+
readonly value: true;
|
|
4310
|
+
readonly condition: true;
|
|
4311
|
+
readonly style: true;
|
|
4312
|
+
readonly cssClass: true;
|
|
4313
|
+
readonly description: {
|
|
4314
|
+
readonly type: "string";
|
|
4315
|
+
};
|
|
4316
|
+
readonly explanation: {
|
|
4317
|
+
readonly type: "string";
|
|
4318
|
+
};
|
|
4319
|
+
};
|
|
4320
|
+
readonly anyOf: readonly [{
|
|
4321
|
+
readonly required: readonly ["changeKind", "field", "value"];
|
|
4322
|
+
}, {
|
|
4323
|
+
readonly required: readonly ["operationId", "target", "input"];
|
|
4324
|
+
}, {
|
|
4325
|
+
readonly required: readonly ["operationId", "input"];
|
|
4326
|
+
}];
|
|
4327
|
+
readonly allOf: readonly [{
|
|
4328
|
+
readonly if: {
|
|
4329
|
+
readonly properties: {
|
|
4330
|
+
readonly changeKind: {
|
|
4331
|
+
readonly const: "set_column_conditional_style";
|
|
4332
|
+
};
|
|
4333
|
+
};
|
|
4334
|
+
readonly required: readonly ["changeKind"];
|
|
4335
|
+
};
|
|
4336
|
+
readonly then: {
|
|
4337
|
+
readonly properties: {
|
|
4338
|
+
readonly value: {
|
|
4339
|
+
readonly type: "object";
|
|
4340
|
+
readonly required: readonly ["condition"];
|
|
4341
|
+
readonly properties: {
|
|
4342
|
+
readonly condition: {
|
|
4343
|
+
readonly $ref: "#/$defs/jsonLogicExpression";
|
|
4344
|
+
};
|
|
4345
|
+
readonly cssClass: {
|
|
4346
|
+
readonly type: "string";
|
|
4347
|
+
readonly minLength: 1;
|
|
4348
|
+
};
|
|
4349
|
+
readonly style: {
|
|
4350
|
+
readonly type: "object";
|
|
4351
|
+
readonly minProperties: 1;
|
|
4352
|
+
};
|
|
4353
|
+
readonly description: {
|
|
4354
|
+
readonly type: "string";
|
|
4355
|
+
};
|
|
4356
|
+
};
|
|
4357
|
+
readonly anyOf: readonly [{
|
|
4358
|
+
readonly required: readonly ["cssClass"];
|
|
4359
|
+
}, {
|
|
4360
|
+
readonly required: readonly ["style"];
|
|
4361
|
+
}];
|
|
4362
|
+
};
|
|
4363
|
+
};
|
|
4364
|
+
};
|
|
4365
|
+
}, {
|
|
4366
|
+
readonly if: {
|
|
4367
|
+
readonly properties: {
|
|
4368
|
+
readonly changeKind: {
|
|
4369
|
+
readonly const: "set_column_conditional_badge_renderers";
|
|
4370
|
+
};
|
|
4371
|
+
};
|
|
4372
|
+
readonly required: readonly ["changeKind"];
|
|
4373
|
+
};
|
|
4374
|
+
readonly then: {
|
|
4375
|
+
readonly properties: {
|
|
4376
|
+
readonly value: {
|
|
4377
|
+
readonly oneOf: readonly [{
|
|
4378
|
+
readonly $ref: "#/$defs/conditionalBadgeRules";
|
|
4379
|
+
}, {
|
|
4380
|
+
readonly type: "object";
|
|
4381
|
+
readonly required: readonly ["rules"];
|
|
4382
|
+
readonly properties: {
|
|
4383
|
+
readonly rules: {
|
|
4384
|
+
readonly $ref: "#/$defs/conditionalBadgeRules";
|
|
4385
|
+
};
|
|
4386
|
+
};
|
|
4387
|
+
readonly additionalProperties: false;
|
|
4388
|
+
}];
|
|
4389
|
+
};
|
|
4390
|
+
};
|
|
4391
|
+
};
|
|
4392
|
+
}];
|
|
4393
|
+
};
|
|
4394
|
+
readonly conditionalBadgeRules: {
|
|
4395
|
+
readonly type: "array";
|
|
4396
|
+
readonly minItems: 1;
|
|
4397
|
+
readonly items: {
|
|
4398
|
+
readonly type: "object";
|
|
4399
|
+
readonly additionalProperties: false;
|
|
4400
|
+
readonly required: readonly ["condition"];
|
|
4401
|
+
readonly anyOf: readonly [{
|
|
4402
|
+
readonly required: readonly ["badge"];
|
|
4403
|
+
}, {
|
|
4404
|
+
readonly required: readonly ["renderer"];
|
|
4405
|
+
}, {
|
|
4406
|
+
readonly required: readonly ["value"];
|
|
4407
|
+
}, {
|
|
4408
|
+
readonly required: readonly ["tooltip"];
|
|
4409
|
+
}];
|
|
4410
|
+
readonly properties: {
|
|
4411
|
+
readonly condition: {
|
|
4412
|
+
readonly $ref: "#/$defs/jsonLogicExpression";
|
|
4413
|
+
};
|
|
4414
|
+
readonly badge: {
|
|
4415
|
+
readonly $ref: "#/$defs/badge";
|
|
4416
|
+
};
|
|
4417
|
+
readonly renderer: {
|
|
4418
|
+
readonly type: "object";
|
|
4419
|
+
readonly minProperties: 1;
|
|
4420
|
+
readonly additionalProperties: true;
|
|
4421
|
+
};
|
|
4422
|
+
readonly tooltip: {
|
|
4423
|
+
readonly $ref: "#/$defs/tooltip";
|
|
4424
|
+
};
|
|
4425
|
+
readonly value: {
|
|
4426
|
+
readonly $ref: "#/$defs/badge";
|
|
4427
|
+
};
|
|
4428
|
+
readonly description: {
|
|
4429
|
+
readonly type: "string";
|
|
4430
|
+
};
|
|
4431
|
+
readonly enabled: {
|
|
4432
|
+
readonly type: "boolean";
|
|
4433
|
+
};
|
|
4434
|
+
};
|
|
4435
|
+
};
|
|
4436
|
+
};
|
|
4437
|
+
readonly singlePlanEnvelope: {
|
|
4438
|
+
readonly allOf: readonly [{
|
|
4439
|
+
readonly $ref: "#/$defs/operation";
|
|
4440
|
+
}, {
|
|
4441
|
+
readonly type: "object";
|
|
4442
|
+
readonly properties: {
|
|
4443
|
+
readonly kind: {
|
|
4444
|
+
readonly const: "praxis.table.component-edit-plan";
|
|
4445
|
+
};
|
|
4446
|
+
};
|
|
4447
|
+
}];
|
|
4448
|
+
};
|
|
4449
|
+
readonly batchPlanEnvelope: {
|
|
4450
|
+
readonly type: "object";
|
|
4451
|
+
readonly additionalProperties: false;
|
|
4452
|
+
readonly required: readonly ["kind", "version", "componentId", "operations"];
|
|
4453
|
+
readonly properties: {
|
|
4454
|
+
readonly kind: {
|
|
4455
|
+
readonly const: "praxis.table.component-edit-plan.batch";
|
|
4456
|
+
};
|
|
4457
|
+
readonly version: {
|
|
4458
|
+
readonly const: "1.0";
|
|
4459
|
+
};
|
|
4460
|
+
readonly componentId: {
|
|
4461
|
+
readonly const: "praxis-table";
|
|
4462
|
+
};
|
|
4463
|
+
readonly operations: {
|
|
4464
|
+
readonly type: "array";
|
|
4465
|
+
readonly minItems: 1;
|
|
4466
|
+
readonly items: {
|
|
4467
|
+
readonly $ref: "#/$defs/operation";
|
|
4468
|
+
};
|
|
4469
|
+
};
|
|
4470
|
+
readonly explanation: {
|
|
4471
|
+
readonly type: "string";
|
|
4472
|
+
};
|
|
4473
|
+
};
|
|
4474
|
+
};
|
|
4475
|
+
};
|
|
4476
|
+
};
|
|
4477
|
+
declare function coerceTableComponentEditPlans(value: unknown): TableComponentEditPlan[] | null;
|
|
4478
|
+
declare function coerceTableComponentEditPlan(value: unknown): TableComponentEditPlan | null;
|
|
4479
|
+
declare function compileTableComponentEditPlans(plans: TableComponentEditPlan[], currentConfig: TableConfig): TableComponentEditPlanCompileResult;
|
|
4480
|
+
declare function compileTableComponentEditPlan(plan: TableComponentEditPlan, currentConfig: TableConfig): TableComponentEditPlanCompileResult;
|
|
4481
|
+
|
|
4482
|
+
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, PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, 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, providePraxisTableToolbarAppearance, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
|
|
4483
|
+
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, TableAiContext, TableAiNavigationContextPack, TableAiNavigationDestinationContext, 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 };
|