@praxisui/table 10.0.0-rc.0 → 10.0.0-rc.11
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 +105 -0
- package/ai/component-registry.json +849 -305
- package/docs/adr/table-detail-presentation.md +45 -0
- package/docs/dynamic-filter-backend-contract-cheatsheet.md +1 -1
- package/docs/dynamic-filter-troubleshooting-guide.md +1 -1
- package/docs/local-data-mode-precedence.md +3 -0
- package/docs/table-bottom-detail-progress.md +205 -0
- package/docs/table-bottom-detail-review.md +159 -0
- package/fesm2022/praxisui-table-authoring.mjs +1463 -0
- package/fesm2022/{praxisui-table-praxisui-table-fOG6oo9f.mjs → praxisui-table-praxisui-table-ConSKl5g.mjs} +6551 -1754
- package/fesm2022/{praxisui-table-table-agentic-authoring-turn-flow-CF9bUWOK.mjs → praxisui-table-table-agentic-authoring-turn-flow-DmnNx_fm.mjs} +1 -1
- package/fesm2022/{praxisui-table-table-ai.adapter-C6MRHQab.mjs → praxisui-table-table-ai.adapter-vtpAb33s.mjs} +31 -30
- package/fesm2022/praxisui-table.mjs +2 -1
- package/package.json +14 -10
- package/src/lib/praxis-table.json-api.md +36 -15
- package/types/praxisui-table-authoring.d.ts +104 -0
- package/types/praxisui-table.d.ts +597 -32
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import * as _praxisui_core from '@praxisui/core';
|
|
2
|
-
import { TableToolbarAppearanceConfig, TableConfig, TableToolbarAppearanceDensity, ToolbarActionEvent, PraxisExportScope, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, ToolbarAction as ToolbarAction$1, GlobalConfigService, FilterPresentationConfig, AsyncConfigStorage, LocalStorageConfigService, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, PraxisResourceEvent, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, EnterpriseRuntimeContextService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, ResourceCapabilityOperation, JsonLogicExpression, PraxisPresentationVisualizationKind, PraxisTableCellVisualizationConstraint, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, ResourceQuickConnectComponent, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
|
|
3
1
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { InjectionToken, AfterViewInit, OnDestroy, EventEmitter, ElementRef, Provider, OnInit, OnChanges, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, ComponentRef, AfterViewChecked, AfterContentInit, Injector, Type } from '@angular/core';
|
|
2
|
+
import { InjectionToken, AfterViewInit, OnDestroy, EventEmitter, ElementRef, Provider, OnInit, OnChanges, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, ComponentRef, AfterViewChecked, AfterContentInit, TemplateRef, Injector, Type } from '@angular/core';
|
|
3
|
+
import * as _praxisui_core from '@praxisui/core';
|
|
4
|
+
import { BulkExecutionContract, ResourceDiscoveryRequestOptions, BulkWireId, RestApiLinks, BulkSyncSession, BulkFieldChange, TableToolbarAppearanceConfig, TableConfig, TableToolbarAppearanceDensity, ToolbarActionEvent, PraxisExportScope, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, ToolbarAction as ToolbarAction$1, GlobalConfigService, FilterPresentationConfig, AsyncConfigStorage, LocalStorageConfigService, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, DynamicDataRecord, MaterializedResourceIdentity, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, PraxisResourceEvent, LoadingState, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, EnterpriseRuntimeContextService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, RichContentDocument, RichBlockHostCapabilities, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, ResourceCapabilityOperation, JsonLogicExpression, PraxisPresentationVisualizationKind, PraxisTableCellVisualizationConstraint, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, ResourceQuickConnectComponent, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog, TableDrawerConfig, PraxisAnalyticalDrawerTab, PraxisPresentationVisualizationConfig, PraxisAnalyticalDrawerSchema, SafeExpressionEvaluator, PraxisComputedFieldsConfig, PraxisComputedFieldDefinition } from '@praxisui/core';
|
|
5
|
+
export { DynamicDataCollection, DynamicDataRecord, DynamicRecordMeta, ResourceLinkItem, ResourceLinks, createDynamicRecord, extractRecordId, isDynamicDataRecord, resolveDataField } from '@praxisui/core';
|
|
5
6
|
import { ActivatedRoute } from '@angular/router';
|
|
6
7
|
import { SafeHtml } from '@angular/platform-browser';
|
|
7
8
|
import { MatTable, MatTableDataSource } from '@angular/material/table';
|
|
@@ -24,6 +25,7 @@ import { PraxisAssistantVoiceInputMode, PraxisAssistantTurnViewState, PraxisAssi
|
|
|
24
25
|
import { HttpClient } from '@angular/common/http';
|
|
25
26
|
import { MatTabChangeEvent } from '@angular/material/tabs';
|
|
26
27
|
import { RuleEffectDefinition } from '@praxisui/table-rule-builder';
|
|
28
|
+
import { PraxisRichContentConfigEditor, PraxisRichContentEditorInputs } from '@praxisui/rich-content';
|
|
27
29
|
import { MatCheckboxChange } from '@angular/material/checkbox';
|
|
28
30
|
|
|
29
31
|
/** Transient presentation of the existing PER_ITEM response, never a workflow contract. */
|
|
@@ -38,6 +40,32 @@ interface TableCollectionOutcome {
|
|
|
38
40
|
}>;
|
|
39
41
|
}
|
|
40
42
|
|
|
43
|
+
interface TableBulkSyncSelection {
|
|
44
|
+
id: BulkWireId;
|
|
45
|
+
links: RestApiLinks;
|
|
46
|
+
}
|
|
47
|
+
/** Detached, one-invocation context owned by the table. */
|
|
48
|
+
interface TableBulkSyncContext {
|
|
49
|
+
resourcePath: string;
|
|
50
|
+
resourceKey: string;
|
|
51
|
+
tableId: string;
|
|
52
|
+
identityPath: string;
|
|
53
|
+
contract: BulkExecutionContract;
|
|
54
|
+
options?: ResourceDiscoveryRequestOptions;
|
|
55
|
+
selection: readonly TableBulkSyncSelection[];
|
|
56
|
+
}
|
|
57
|
+
/** Private, table-owned custody for one evaluated intent in this component instance. */
|
|
58
|
+
interface TableBulkSyncHandle {
|
|
59
|
+
context: TableBulkSyncContext;
|
|
60
|
+
session: BulkSyncSession;
|
|
61
|
+
confirmationKey: string | null;
|
|
62
|
+
/** Await an already dispatched session request before a remount authorizes projections. */
|
|
63
|
+
pendingSessionWork?: Promise<unknown> | null;
|
|
64
|
+
requestedChanges: readonly BulkFieldChange[] | null;
|
|
65
|
+
enterpriseIdentity: string | undefined;
|
|
66
|
+
operationalIdentity: string;
|
|
67
|
+
}
|
|
68
|
+
|
|
41
69
|
interface ActionLike {
|
|
42
70
|
action?: string;
|
|
43
71
|
id?: string;
|
|
@@ -50,6 +78,23 @@ interface ActionLike {
|
|
|
50
78
|
}
|
|
51
79
|
declare function getActionId(action: ActionLike): string;
|
|
52
80
|
|
|
81
|
+
interface PraxisTableCrossFilterItem {
|
|
82
|
+
id: string;
|
|
83
|
+
field: string;
|
|
84
|
+
label: string;
|
|
85
|
+
value: unknown;
|
|
86
|
+
prefix?: string;
|
|
87
|
+
rawFilter?: Record<string, unknown>;
|
|
88
|
+
}
|
|
89
|
+
interface PraxisTableQueryContextClearEvent {
|
|
90
|
+
field?: string;
|
|
91
|
+
clearedFields?: string[];
|
|
92
|
+
clearedFilter?: PraxisTableCrossFilterItem;
|
|
93
|
+
remainingFilters?: Record<string, unknown>;
|
|
94
|
+
remainingFilterCount?: number;
|
|
95
|
+
tableId?: string;
|
|
96
|
+
source?: 'toolbar-chip';
|
|
97
|
+
}
|
|
53
98
|
declare const PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS: Record<string, TableToolbarAppearanceConfig>;
|
|
54
99
|
declare const PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE: InjectionToken<TableToolbarAppearanceConfig>;
|
|
55
100
|
declare const PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS: InjectionToken<Record<string, TableToolbarAppearanceConfig>>;
|
|
@@ -85,8 +130,11 @@ declare class PraxisTableToolbar implements AfterViewInit, OnDestroy {
|
|
|
85
130
|
evaluationContext: Record<string, any> | null;
|
|
86
131
|
activeQuickFilterId: string | null;
|
|
87
132
|
activeDensity: TableToolbarAppearanceDensity | null;
|
|
133
|
+
activeCrossFilters: PraxisTableCrossFilterItem[];
|
|
88
134
|
/** @internal Used by PraxisTable so toolbar menu decisions materialize through the table runtime. */
|
|
89
135
|
columnVisibilityController?: (field: string, visible: boolean) => void;
|
|
136
|
+
readonly clearCrossFilter: EventEmitter<PraxisTableCrossFilterItem>;
|
|
137
|
+
readonly clearAllCrossFilters: EventEmitter<void>;
|
|
90
138
|
toolbarAction: EventEmitter<Pick<ToolbarActionEvent<Record<string, unknown>>, "action" | "actionConfig" | "focusOrigin">>;
|
|
91
139
|
exportAction: EventEmitter<{
|
|
92
140
|
format: string;
|
|
@@ -151,6 +199,7 @@ declare class PraxisTableToolbar implements AfterViewInit, OnDestroy {
|
|
|
151
199
|
filter: Record<string, unknown>;
|
|
152
200
|
icon?: string;
|
|
153
201
|
}>;
|
|
202
|
+
private normalizeQuickFilterExpression;
|
|
154
203
|
shouldShowQuickFilters(): boolean;
|
|
155
204
|
getQuickFiltersLabel(): string;
|
|
156
205
|
getQuickFilterLabel(filter: {
|
|
@@ -162,6 +211,15 @@ declare class PraxisTableToolbar implements AfterViewInit, OnDestroy {
|
|
|
162
211
|
id: string;
|
|
163
212
|
filter: Record<string, unknown>;
|
|
164
213
|
}): void;
|
|
214
|
+
hasActiveCrossFilters(): boolean;
|
|
215
|
+
getActiveCrossFilters(): PraxisTableCrossFilterItem[];
|
|
216
|
+
getCrossFiltersAriaLabel(): string;
|
|
217
|
+
getCrossFilterDefaultPrefix(): string;
|
|
218
|
+
getClearCrossFilterAriaLabel(filter: PraxisTableCrossFilterItem): string;
|
|
219
|
+
getClearCrossFilterTooltip(filter: PraxisTableCrossFilterItem): string;
|
|
220
|
+
getClearAllCrossFiltersLabel(): string;
|
|
221
|
+
onClearCrossFilter(filter: PraxisTableCrossFilterItem): void;
|
|
222
|
+
onClearAllCrossFilters(): void;
|
|
165
223
|
isDensityToggleEnabled(): boolean;
|
|
166
224
|
getDensityToggleLabel(): string;
|
|
167
225
|
getDensityOptions(): TableToolbarAppearanceDensity[];
|
|
@@ -261,7 +319,7 @@ declare class PraxisTableToolbar implements AfterViewInit, OnDestroy {
|
|
|
261
319
|
private sortActions;
|
|
262
320
|
getExportIcon(format: string): string;
|
|
263
321
|
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableToolbar, [null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
264
|
-
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; }; "focusScope": { "alias": "focusScope"; "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; }; "exportStatusMessage": { "alias": "exportStatusMessage"; "required": false; }; "evaluationContext": { "alias": "evaluationContext"; "required": false; }; "activeQuickFilterId": { "alias": "activeQuickFilterId"; "required": false; }; "activeDensity": { "alias": "activeDensity"; "required": false; }; "columnVisibilityController": { "alias": "columnVisibilityController"; "required": false; }; }, { "toolbarAction": "toolbarAction"; "exportAction": "exportAction"; "columnVisibilityToggle": "columnVisibilityToggle"; "quickFilterChange": "quickFilterChange"; "densityChange": "densityChange"; }, never, ["[advancedFilter]", "[toolbar]", "[end-actions]"], true, never>;
|
|
322
|
+
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; }; "focusScope": { "alias": "focusScope"; "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; }; "exportStatusMessage": { "alias": "exportStatusMessage"; "required": false; }; "evaluationContext": { "alias": "evaluationContext"; "required": false; }; "activeQuickFilterId": { "alias": "activeQuickFilterId"; "required": false; }; "activeDensity": { "alias": "activeDensity"; "required": false; }; "activeCrossFilters": { "alias": "activeCrossFilters"; "required": false; }; "columnVisibilityController": { "alias": "columnVisibilityController"; "required": false; }; }, { "clearCrossFilter": "clearCrossFilter"; "clearAllCrossFilters": "clearAllCrossFilters"; "toolbarAction": "toolbarAction"; "exportAction": "exportAction"; "columnVisibilityToggle": "columnVisibilityToggle"; "quickFilterChange": "quickFilterChange"; "densityChange": "densityChange"; }, never, ["[advancedFilter]", "[toolbar]", "[end-actions]"], true, never>;
|
|
265
323
|
}
|
|
266
324
|
|
|
267
325
|
type ColumnDataType$1 = 'date' | 'number' | 'currency' | 'percentage' | 'string' | 'boolean' | 'custom';
|
|
@@ -1133,6 +1191,43 @@ declare class AnalyticsTableStatsApiService {
|
|
|
1133
1191
|
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableStatsApiService>;
|
|
1134
1192
|
}
|
|
1135
1193
|
|
|
1194
|
+
/**
|
|
1195
|
+
* Canonical row click event interface emitted by PraxisTable and PraxisCrud.
|
|
1196
|
+
* Provides typed access to the underlying record, row index, original DOM mouse event,
|
|
1197
|
+
* resource identity, and selection/expansion state.
|
|
1198
|
+
*/
|
|
1199
|
+
interface RowClickEvent<T = DynamicDataRecord> {
|
|
1200
|
+
row: T;
|
|
1201
|
+
index: number;
|
|
1202
|
+
originalEvent?: MouseEvent;
|
|
1203
|
+
resourceIdentity?: MaterializedResourceIdentity | string | null;
|
|
1204
|
+
selectionState?: {
|
|
1205
|
+
isSelected: boolean;
|
|
1206
|
+
isExpanded: boolean;
|
|
1207
|
+
};
|
|
1208
|
+
}
|
|
1209
|
+
/**
|
|
1210
|
+
* Event payload emitted when a table row is double clicked.
|
|
1211
|
+
*/
|
|
1212
|
+
interface RowDoubleClickEvent<T = DynamicDataRecord> {
|
|
1213
|
+
action?: string;
|
|
1214
|
+
row: T;
|
|
1215
|
+
}
|
|
1216
|
+
/**
|
|
1217
|
+
* Event payload emitted when an analytical drawer is opened from a table row.
|
|
1218
|
+
*/
|
|
1219
|
+
interface DrawerOpenEvent<T = DynamicDataRecord> {
|
|
1220
|
+
row: T;
|
|
1221
|
+
tabId?: string;
|
|
1222
|
+
}
|
|
1223
|
+
/**
|
|
1224
|
+
* Event payload emitted when row selections change in the table.
|
|
1225
|
+
*/
|
|
1226
|
+
interface RowSelectionChangeEvent<T = DynamicDataRecord> {
|
|
1227
|
+
selected: T[];
|
|
1228
|
+
source?: 'row' | 'header' | 'programmatic';
|
|
1229
|
+
}
|
|
1230
|
+
|
|
1136
1231
|
interface TableAiNavigationDestinationContext {
|
|
1137
1232
|
id?: string;
|
|
1138
1233
|
path: string;
|
|
@@ -1260,7 +1355,7 @@ type RuntimeRowAction = {
|
|
|
1260
1355
|
__praxisDiscoveryPending?: boolean;
|
|
1261
1356
|
};
|
|
1262
1357
|
type ExpansionDetailRuntimeStatus = 'idle' | 'loading' | 'ready' | 'error' | 'blocked';
|
|
1263
|
-
type ExpansionDetailResolvedSource = 'inline' | 'resource' | 'resourcePath' | 'hypermedia' | 'fallback';
|
|
1358
|
+
type ExpansionDetailResolvedSource = 'inline' | 'resource' | 'resourcePath' | 'hypermedia' | 'fallback' | 'schema';
|
|
1264
1359
|
type ExpansionDetailViewState = {
|
|
1265
1360
|
status: ExpansionDetailRuntimeStatus;
|
|
1266
1361
|
schema: Record<string, unknown> | null;
|
|
@@ -1311,11 +1406,15 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1311
1406
|
private _crudOperationResolver?;
|
|
1312
1407
|
private readonly runtimeObservationRegistry;
|
|
1313
1408
|
private readonly detailInlineRenderers;
|
|
1409
|
+
private readonly drawerRegistry;
|
|
1314
1410
|
private collectionLinks;
|
|
1315
1411
|
private collectionCapabilities;
|
|
1316
1412
|
private collectionCapabilitiesRequestHref;
|
|
1317
1413
|
private collectionCapabilitiesResolvedHref;
|
|
1318
1414
|
private collectionCapabilitiesRequestSeq;
|
|
1415
|
+
bulkSyncHandle: TableBulkSyncHandle | null;
|
|
1416
|
+
private readonly bulkClient;
|
|
1417
|
+
private readonly bulkSessions;
|
|
1319
1418
|
private readonly detailInlineNodeResolvers;
|
|
1320
1419
|
private readonly detailResourceResolver;
|
|
1321
1420
|
private runtimeObservationRegistration;
|
|
@@ -1337,7 +1436,15 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1337
1436
|
autoOpenSettingsOnOutdated: boolean;
|
|
1338
1437
|
crudContext: any;
|
|
1339
1438
|
filterCriteria: Record<string, any>;
|
|
1439
|
+
filterTeleport: boolean;
|
|
1440
|
+
widgetId?: string;
|
|
1441
|
+
filterBarTemplate?: TemplateRef<unknown>;
|
|
1442
|
+
get filterTemplate(): TemplateRef<unknown> | undefined;
|
|
1443
|
+
private readonly widgetEventBus;
|
|
1340
1444
|
queryContext: PraxisDataQueryContextBridge | null;
|
|
1445
|
+
readonly queryContextClear: EventEmitter<PraxisTableQueryContextClearEvent>;
|
|
1446
|
+
readonly queryContextChange: EventEmitter<PraxisDataQueryContextBridge | null>;
|
|
1447
|
+
activeCrossFilters: PraxisTableCrossFilterItem[];
|
|
1341
1448
|
aiContext: TableAiContext | null;
|
|
1342
1449
|
aiAssistantVoiceInputMode: PraxisAssistantVoiceInputMode;
|
|
1343
1450
|
aiAssistantVoiceLanguage: string;
|
|
@@ -1351,10 +1458,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1351
1458
|
private advancedFilterMetadataOverridesCacheKey;
|
|
1352
1459
|
private advancedFilterMetadataOverridesCacheSource?;
|
|
1353
1460
|
private advancedFilterMetadataOverridesCache?;
|
|
1354
|
-
rowClick: EventEmitter<
|
|
1461
|
+
rowClick: EventEmitter<RowClickEvent<DynamicDataRecord>>;
|
|
1355
1462
|
widgetEvent: EventEmitter<any>;
|
|
1356
1463
|
resourceEvent: EventEmitter<PraxisResourceEvent<unknown>>;
|
|
1357
|
-
rowDoubleClick: EventEmitter<
|
|
1464
|
+
rowDoubleClick: EventEmitter<RowDoubleClickEvent<DynamicDataRecord>>;
|
|
1358
1465
|
rowExpansionChange: EventEmitter<RowExpansionChangeEvent>;
|
|
1359
1466
|
rowAction: EventEmitter<any>;
|
|
1360
1467
|
toolbarAction: EventEmitter<ToolbarActionEvent<any>>;
|
|
@@ -1375,6 +1482,12 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1375
1482
|
loadingStateChange: EventEmitter<LoadingState>;
|
|
1376
1483
|
collectionLinksChange: EventEmitter<RestApiLinks | null>;
|
|
1377
1484
|
selectionChange: EventEmitter<any>;
|
|
1485
|
+
drawerOpen: EventEmitter<DrawerOpenEvent<DynamicDataRecord>>;
|
|
1486
|
+
drawerClose: EventEmitter<void>;
|
|
1487
|
+
drawerTabChange: EventEmitter<string>;
|
|
1488
|
+
isAnalyticalDrawerOpen: boolean;
|
|
1489
|
+
analyticalDrawerRow: any | null;
|
|
1490
|
+
activeAnalyticalDrawerTabId?: string;
|
|
1378
1491
|
private latestLoadingState;
|
|
1379
1492
|
private loadingIndicatorVisible;
|
|
1380
1493
|
private loadingIndicatorDelayHandle;
|
|
@@ -1439,6 +1552,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1439
1552
|
private localFilterFieldMetadataCache;
|
|
1440
1553
|
private localFilterFieldMetadataCacheKey;
|
|
1441
1554
|
private remoteSchemaLoadSequence;
|
|
1555
|
+
private enterpriseContextIdentity;
|
|
1556
|
+
private enterpriseContextReady;
|
|
1557
|
+
private staleEnterpriseLocalData;
|
|
1442
1558
|
private remoteDataLoadSequence;
|
|
1443
1559
|
private analyticsLoadSequence;
|
|
1444
1560
|
private activeRemoteSchemaLoadSubscription;
|
|
@@ -1455,6 +1571,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1455
1571
|
private expansionDetailSourceByRowKey;
|
|
1456
1572
|
private expansionDetailAbortByRowKey;
|
|
1457
1573
|
private expansionDetailActiveTabByRowKey;
|
|
1574
|
+
private detailRequests?;
|
|
1575
|
+
readonly bottomDetailCollapsed: i0.WritableSignal<boolean>;
|
|
1576
|
+
private bottomDetailKey;
|
|
1577
|
+
private getDetailRequests;
|
|
1458
1578
|
private rowCapabilitySnapshotByHref;
|
|
1459
1579
|
private rowCapabilityCachedAtByHref;
|
|
1460
1580
|
private rowCapabilityErrorHrefs;
|
|
@@ -1493,6 +1613,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1493
1613
|
shouldRenderFooterToolbar(): boolean;
|
|
1494
1614
|
hasTopToolbarStack(): boolean;
|
|
1495
1615
|
hasBottomTableStack(): boolean;
|
|
1616
|
+
hasSurfaceAfterFooterToolbar(): boolean;
|
|
1617
|
+
hasBottomDetailAfterPaginator(): boolean;
|
|
1496
1618
|
shouldShowFooterToolbarMain(): boolean;
|
|
1497
1619
|
shouldShowFooterToolbarEndActions(): boolean;
|
|
1498
1620
|
getToolbarActionsPosition(): 'top' | 'bottom' | 'both';
|
|
@@ -1741,6 +1863,13 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1741
1863
|
private resolveCollectionCapabilitiesHref;
|
|
1742
1864
|
private materializeCollectionCreateToolbarAction;
|
|
1743
1865
|
private materializeCollectionWorkflowToolbarActions;
|
|
1866
|
+
private materializeCollectionBulkSyncToolbarAction;
|
|
1867
|
+
private hasBulkSyncSelection;
|
|
1868
|
+
private tryHandleBulkSyncToolbarAction;
|
|
1869
|
+
private isBulkSyncPending;
|
|
1870
|
+
canShowBulkSyncHandle(): boolean;
|
|
1871
|
+
closeBulkSync(): void;
|
|
1872
|
+
private bulkSyncOperationalIdentity;
|
|
1744
1873
|
private isCollectionActionDiscoveryEnabled;
|
|
1745
1874
|
private ensureToolbarConfigForRuntime;
|
|
1746
1875
|
private buildCollectionCreateToolbarAction;
|
|
@@ -1758,6 +1887,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1758
1887
|
private resolveCollectionCreateDisabled;
|
|
1759
1888
|
private isCreateToolbarAction;
|
|
1760
1889
|
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, enterpriseRuntimeContext?: EnterpriseRuntimeContextService | undefined, loadingRenderer?: PraxisLoadingRenderer | undefined, route?: ActivatedRoute | undefined, logger?: LoggerService | undefined, analyticsStatsApi?: AnalyticsTableStatsApiService | undefined);
|
|
1890
|
+
/** Compare canonical context values; refreshed labels/timestamps do not change data ownership. */
|
|
1891
|
+
private handleEnterpriseContextChange;
|
|
1761
1892
|
private get resourceDiscovery();
|
|
1762
1893
|
private get resourceSurfaceOpenAdapter();
|
|
1763
1894
|
private get resourceActionOpenAdapter();
|
|
@@ -1840,6 +1971,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1840
1971
|
private hasActiveEmptyStateFilters;
|
|
1841
1972
|
private hasMeaningfulFilterCriteria;
|
|
1842
1973
|
private hasMeaningfulFilterValue;
|
|
1974
|
+
computeActiveCrossFilters(): PraxisTableCrossFilterItem[];
|
|
1975
|
+
onClearCrossFilter(item: PraxisTableCrossFilterItem): void;
|
|
1976
|
+
onClearAllCrossFilters(): void;
|
|
1843
1977
|
private resolveNoDataStateConfig;
|
|
1844
1978
|
private isEmptyStateTone;
|
|
1845
1979
|
private isEmptyStateVariant;
|
|
@@ -1861,6 +1995,14 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1861
1995
|
* race with the configured request.
|
|
1862
1996
|
*/
|
|
1863
1997
|
private shouldFetchRemoteDataForQueryChanges;
|
|
1998
|
+
/**
|
|
1999
|
+
* Evaluates whether an external TableConfig change actually modifies remote query parameters
|
|
2000
|
+
* (e.g. resourcePath, page size, sorting criteria or data mode).
|
|
2001
|
+
*
|
|
2002
|
+
* Non-query-affecting updates (such as toolbar actions, capabilities resolution, appearance,
|
|
2003
|
+
* density or empty state) MUST NOT trigger a redundant remote data load or cancel in-flight requests.
|
|
2004
|
+
*/
|
|
2005
|
+
private shouldRefetchOnConfigChange;
|
|
1864
2006
|
private isDebug;
|
|
1865
2007
|
private connectionKey;
|
|
1866
2008
|
private saveConnection;
|
|
@@ -1887,7 +2029,31 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1887
2029
|
getExpansionMotionStyle(): Record<string, string>;
|
|
1888
2030
|
getRowExpansionRegionAriaLabel(row: any, index?: number): string;
|
|
1889
2031
|
getExpansionDetailViewState(row: any, index?: number): ExpansionDetailViewState;
|
|
2032
|
+
hasBottomDetail(): boolean;
|
|
2033
|
+
isBottomDetailBeforeControls(): boolean;
|
|
2034
|
+
isBottomDetailAfterControls(): boolean;
|
|
2035
|
+
hasRenderableBottomDetailSurface(): boolean;
|
|
2036
|
+
shouldRenderBottomDetailSurface(bottom: {
|
|
2037
|
+
status?: string;
|
|
2038
|
+
detailState?: ExpansionDetailViewState | null;
|
|
2039
|
+
}): boolean;
|
|
2040
|
+
bottomDetailText(key: string, params?: Record<string, unknown>): string;
|
|
2041
|
+
getBottomDetailBodyHeight(): number | null;
|
|
2042
|
+
isBottomDetailDynamicHeight(): boolean;
|
|
2043
|
+
getBottomDetailState(): {
|
|
2044
|
+
status: string;
|
|
2045
|
+
title: string;
|
|
2046
|
+
row: Record<string, unknown> | null;
|
|
2047
|
+
index: number;
|
|
2048
|
+
detailState: ExpansionDetailViewState | null;
|
|
2049
|
+
message: string;
|
|
2050
|
+
};
|
|
2051
|
+
toggleBottomDetail(): void;
|
|
2052
|
+
private resetDetailRuntimeForConfig;
|
|
2053
|
+
retryBottomDetail(): void;
|
|
2054
|
+
private restoreBottomDetailFocus;
|
|
1890
2055
|
getExpansionDetailItems(schema: Record<string, unknown> | null): any[];
|
|
2056
|
+
private hasExpansionDetailRenderableSchema;
|
|
1891
2057
|
getExpansionDetailLayout(schema: Record<string, unknown> | null): 'stack' | 'tabs';
|
|
1892
2058
|
getExpansionDetailTabs(schema: Record<string, unknown> | null): any[];
|
|
1893
2059
|
getExpansionDetailNodeType(node: any): string;
|
|
@@ -1898,6 +2064,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1898
2064
|
getExpansionDetailListItems(row: any, node: any): string[];
|
|
1899
2065
|
getExpansionDetailRichListEntries(row: any, node: TableDetailRichListNode | any): unknown[];
|
|
1900
2066
|
getExpansionDetailRichListEmptyText(node: TableDetailRichListNode | any): string;
|
|
2067
|
+
getExpansionDetailListEmptyText(node: TableDetailListNode | any): string;
|
|
1901
2068
|
getExpansionDetailRichListItemNodes(node: TableDetailRichListNode | any): RichBlockNode[];
|
|
1902
2069
|
getExpansionDetailCardGridHeaderNodes(node: TableDetailCardGridNode | any): RichBlockNode[];
|
|
1903
2070
|
getExpansionDetailCardGridCards(node: TableDetailCardGridNode | any): TableDetailCardGridCardNode[];
|
|
@@ -1974,7 +2141,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1974
2141
|
private isExpansionDetailRichListItemActionVisible;
|
|
1975
2142
|
private evaluateExpansionDetailRichListItemCondition;
|
|
1976
2143
|
getExpansionDetailRichText(node: any): string;
|
|
1977
|
-
getExpansionDetailRichContentContext(row: any, index: number): JsonLogicDataRecord;
|
|
2144
|
+
getExpansionDetailRichContentContext(row: any, index: number, node?: any): JsonLogicDataRecord;
|
|
2145
|
+
getExpansionDetailRichContentDocument(node: any): RichContentDocument;
|
|
2146
|
+
getExpansionDetailRichContentLayout(node: any): 'block' | 'inline';
|
|
2147
|
+
getExpansionDetailRichContentHostCapabilities(row: any): RichBlockHostCapabilities;
|
|
2148
|
+
private confirmExpansionDetailRichAction;
|
|
1978
2149
|
getExpansionDetailRichContentNodes(node: any, row: any, index: number): RichBlockNode[] | null;
|
|
1979
2150
|
getExpansionDetailTabRichContentNodes(tab: any, row: any, index: number): RichBlockNode[] | null;
|
|
1980
2151
|
private mapExpansionDetailNodeToRichContent;
|
|
@@ -1992,28 +2163,28 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1992
2163
|
onExpansionToggleFromIcon(row: any, index: number, event: MouseEvent): void;
|
|
1993
2164
|
onExpansionToggleKeydown(event: KeyboardEvent, row: any, index: number): void;
|
|
1994
2165
|
private getExpansionConfig;
|
|
2166
|
+
private getDetailConfig;
|
|
1995
2167
|
private ensureExpansionDetailPrepared;
|
|
1996
2168
|
private resolveExpansionDetailSchemaForRow;
|
|
1997
2169
|
private resolveExpansionDetailByMode;
|
|
1998
2170
|
private resolveExpansionDetailInlineSchema;
|
|
2171
|
+
private resolveExpansionDetailFromSchema;
|
|
2172
|
+
private humanizeFieldName;
|
|
1999
2173
|
private resolveExpansionDetailFromResource;
|
|
2000
2174
|
private resolveExpansionDetailFromResourcePath;
|
|
2001
2175
|
private resolveExpansionDetailFromHypermedia;
|
|
2176
|
+
private isDirectRichContentDocument;
|
|
2002
2177
|
private normalizeExpansionDetailSchemaCandidate;
|
|
2003
2178
|
private sanitizeExpansionDetailSchema;
|
|
2004
2179
|
private sanitizeExpansionDetailNodes;
|
|
2005
2180
|
private sanitizeExpansionDetailNode;
|
|
2006
2181
|
private sanitizeExpansionDetailMediaBlockNode;
|
|
2007
2182
|
private sanitizeExpansionDetailCardGridCards;
|
|
2183
|
+
private expansionDetailRichContentIssue;
|
|
2008
2184
|
private getExpansionDetailCardGridContentTypes;
|
|
2009
2185
|
private getExpansionDetailComposeItemTypes;
|
|
2010
2186
|
private buildExpansionBlockedPlaceholderNode;
|
|
2011
2187
|
private interpolateExpansionResourcePath;
|
|
2012
|
-
private isExpansionResourcePathAllowed;
|
|
2013
|
-
private normalizeResolvedExpansionResourcePath;
|
|
2014
|
-
private isAbsoluteExpansionResourcePath;
|
|
2015
|
-
private normalizeExpansionResourceAllowListPattern;
|
|
2016
|
-
private wildcardToRegExp;
|
|
2017
2188
|
private resolveExpansionContextValue;
|
|
2018
2189
|
private buildExpansionContextRecord;
|
|
2019
2190
|
private getExpansionFallbackMode;
|
|
@@ -2056,6 +2227,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
2056
2227
|
private areStringSetsEqual;
|
|
2057
2228
|
private shouldToggleExpansionOnRowClick;
|
|
2058
2229
|
private shouldSelectRowOnRowClick;
|
|
2230
|
+
isAnalyticalDrawerEnabled(): boolean;
|
|
2231
|
+
private shouldOpenAnalyticalDrawerOnRowClick;
|
|
2232
|
+
openAnalyticalDrawer(row: any, tabId?: string): void;
|
|
2233
|
+
closeAnalyticalDrawer(): void;
|
|
2234
|
+
onAnalyticalDrawerTabChange(tabId: string): void;
|
|
2059
2235
|
private getExpansionMotionPreset;
|
|
2060
2236
|
private getExpansionMotionDurationMs;
|
|
2061
2237
|
private getExpansionMotionEasingCurve;
|
|
@@ -2148,6 +2324,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
2148
2324
|
onAdvancedFilterSubmit(criteria: Record<string, any>): void;
|
|
2149
2325
|
onAdvancedFilterChange(criteria: Record<string, any>): void;
|
|
2150
2326
|
onAdvancedFilterClear(): void;
|
|
2327
|
+
clearAdvancedFilter(): void;
|
|
2151
2328
|
onQuickFilterChange(event: {
|
|
2152
2329
|
id: string;
|
|
2153
2330
|
filter: Record<string, unknown>;
|
|
@@ -2155,7 +2332,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
2155
2332
|
}): void;
|
|
2156
2333
|
private clearQuickFilterRuntimeState;
|
|
2157
2334
|
private hasEquivalentFilterCriteria;
|
|
2158
|
-
|
|
2335
|
+
applyAdvancedFilterCriteria(criteria: Record<string, any> | null | undefined, reason?: string): void;
|
|
2159
2336
|
private setAdvancedFilterCriteria;
|
|
2160
2337
|
private syncAdvancedFilterValueFromCriteria;
|
|
2161
2338
|
private deriveRuntimeVisibleAdvancedFilterFields;
|
|
@@ -2548,6 +2725,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
2548
2725
|
getIconText(row: any, column: ColumnDefinition): string | null;
|
|
2549
2726
|
getIconRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
|
|
2550
2727
|
private getIconRawText;
|
|
2728
|
+
/**
|
|
2729
|
+
* Enriquece as linhas com propriedades calculadas declaradas em `computedFields`.
|
|
2730
|
+
* Torna as propriedades virtuais fisicamente acessíveis no objeto da linha (Issue #34).
|
|
2731
|
+
*/
|
|
2732
|
+
private enrichRowsWithComputedFields;
|
|
2551
2733
|
/**
|
|
2552
2734
|
* Lightweight, controlled evaluator for string/number expressions using row context.
|
|
2553
2735
|
* Accepts values like '= row.status === "OK" ? "primary" : "warn"'.
|
|
@@ -2839,7 +3021,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
2839
3021
|
private scheduleRowDiscoveryMarkForCheck;
|
|
2840
3022
|
ngOnDestroy(): void;
|
|
2841
3023
|
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; }, { optional: true; }]>;
|
|
2842
|
-
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; }; "configPersistenceStrategy": { "alias": "configPersistenceStrategy"; "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; }; "authoringCapability": { "alias": "authoringCapability"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "widgetEvent": "widgetEvent"; "resourceEvent": "resourceEvent"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "exportAction": "exportAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "columnResize": "columnResize"; "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>;
|
|
3024
|
+
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; }; "configPersistenceStrategy": { "alias": "configPersistenceStrategy"; "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; }; "filterTeleport": { "alias": "filterTeleport"; "required": false; }; "widgetId": { "alias": "widgetId"; "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; }; "authoringCapability": { "alias": "authoringCapability"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "queryContextClear": "queryContextClear"; "queryContextChange": "queryContextChange"; "rowClick": "rowClick"; "widgetEvent": "widgetEvent"; "resourceEvent": "resourceEvent"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "exportAction": "exportAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "columnResize": "columnResize"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "configChange": "configChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; "selectionChange": "selectionChange"; "drawerOpen": "drawerOpen"; "drawerClose": "drawerClose"; "drawerTabChange": "drawerTabChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
3025
|
+
static ngAcceptInputType_filterTeleport: unknown;
|
|
2843
3026
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
2844
3027
|
}
|
|
2845
3028
|
|
|
@@ -3408,17 +3591,7 @@ declare class BehaviorConfigEditorComponent implements OnInit, OnDestroy, OnChan
|
|
|
3408
3591
|
private resolvePositiveNumber;
|
|
3409
3592
|
private resolveNonNegativeNumber;
|
|
3410
3593
|
private resolveExpansionMaxExpandedRows;
|
|
3411
|
-
private asRecord;
|
|
3412
|
-
private cloneRecord;
|
|
3413
3594
|
private cloneTableConfig;
|
|
3414
|
-
private resolveAllowedNodes;
|
|
3415
|
-
private objectToPrettyJson;
|
|
3416
|
-
private parseJsonRecordOrFallback;
|
|
3417
|
-
private setInlineSchemaParseError;
|
|
3418
|
-
private setResourcePathParamsMapParseError;
|
|
3419
|
-
private isInlineSchemaValidationErrorActive;
|
|
3420
|
-
private isResourcePathParamsMapValidationErrorActive;
|
|
3421
|
-
private setControlErrorFlag;
|
|
3422
3595
|
static ɵfac: i0.ɵɵFactoryDeclaration<BehaviorConfigEditorComponent, never>;
|
|
3423
3596
|
static ɵcmp: i0.ɵɵComponentDeclaration<BehaviorConfigEditorComponent, "behavior-config-editor", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "forceClientStrategies": { "alias": "forceClientStrategies"; "required": false; }; }, { "configChange": "configChange"; "behaviorChange": "behaviorChange"; }, never, never, true, never>;
|
|
3424
3597
|
}
|
|
@@ -4189,6 +4362,123 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
|
|
|
4189
4362
|
static ɵcmp: i0.ɵɵComponentDeclaration<TableRulesEditorComponent, "table-rules-editor", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "i18nRules": { "alias": "i18nRules"; "required": false; }; "debugLogs": { "alias": "debugLogs"; "required": false; }; "debugLevel": { "alias": "debugLevel"; "required": false; }; }, { "configChange": "configChange"; }, never, never, true, never>;
|
|
4190
4363
|
}
|
|
4191
4364
|
|
|
4365
|
+
type Node = Record<string, any>;
|
|
4366
|
+
/** Edits the original authoring tree; keys exist only in the editor's WeakMap. */
|
|
4367
|
+
declare class TableDetailTreeDraft {
|
|
4368
|
+
private readonly keys;
|
|
4369
|
+
private sequence;
|
|
4370
|
+
selectedKey: string | null;
|
|
4371
|
+
schema: Node;
|
|
4372
|
+
constructor(schema?: Node);
|
|
4373
|
+
entries(): {
|
|
4374
|
+
key: string;
|
|
4375
|
+
node: Node;
|
|
4376
|
+
siblings: Node[];
|
|
4377
|
+
depth: number;
|
|
4378
|
+
}[];
|
|
4379
|
+
selected(): {
|
|
4380
|
+
key: string;
|
|
4381
|
+
node: Node;
|
|
4382
|
+
siblings: Node[];
|
|
4383
|
+
depth: number;
|
|
4384
|
+
} | undefined;
|
|
4385
|
+
move(direction: -1 | 1): void;
|
|
4386
|
+
add(node: Node, nested?: boolean): void;
|
|
4387
|
+
}
|
|
4388
|
+
|
|
4389
|
+
declare class TableDetailEditorComponent implements OnChanges, OnDestroy {
|
|
4390
|
+
private richContentEditorSubscription;
|
|
4391
|
+
private currentRichContentEditor?;
|
|
4392
|
+
richContentDraftDirty: boolean;
|
|
4393
|
+
richContentDraftValid: boolean;
|
|
4394
|
+
set richContentEditor(value: PraxisRichContentConfigEditor | undefined);
|
|
4395
|
+
get richContentEditor(): PraxisRichContentConfigEditor | undefined;
|
|
4396
|
+
config: TableConfig;
|
|
4397
|
+
configChange: EventEmitter<_praxisui_core.TableConfigModern>;
|
|
4398
|
+
draftStateChange: EventEmitter<{
|
|
4399
|
+
valid: boolean;
|
|
4400
|
+
dirty: boolean;
|
|
4401
|
+
}>;
|
|
4402
|
+
private readonly i18n;
|
|
4403
|
+
private baseline?;
|
|
4404
|
+
private emitted?;
|
|
4405
|
+
private readonly coupledBefore;
|
|
4406
|
+
private readonly coupledLast;
|
|
4407
|
+
private readonly richContentInputsByNode;
|
|
4408
|
+
tree: TableDetailTreeDraft;
|
|
4409
|
+
json: string;
|
|
4410
|
+
jsonInvalid: boolean;
|
|
4411
|
+
jsonTouched: boolean;
|
|
4412
|
+
advanced: boolean;
|
|
4413
|
+
preset: string;
|
|
4414
|
+
readonly presets: string[];
|
|
4415
|
+
readonly sourceModes: string[];
|
|
4416
|
+
readonly resourceKinds: string[];
|
|
4417
|
+
readonly resourcePathMethods: string[];
|
|
4418
|
+
fallbackModes(): string[];
|
|
4419
|
+
sample: string;
|
|
4420
|
+
get previewContext(): {
|
|
4421
|
+
row: {
|
|
4422
|
+
id: string;
|
|
4423
|
+
note: string;
|
|
4424
|
+
status: string;
|
|
4425
|
+
progress: number;
|
|
4426
|
+
};
|
|
4427
|
+
};
|
|
4428
|
+
/** Local presenter projection only; never used as an authoring/save source. */
|
|
4429
|
+
previewNodes(): RichBlockNode[];
|
|
4430
|
+
previewRichContentDocuments(): RichContentDocument[];
|
|
4431
|
+
richContentEditorInputs(): PraxisRichContentEditorInputs | null;
|
|
4432
|
+
applyRichContentEditor(): void;
|
|
4433
|
+
addPreset(preset: 'callout' | 'richCard'): void;
|
|
4434
|
+
nodeLabel(node: Record<string, any>): string;
|
|
4435
|
+
nodeIcon(node: Record<string, any>): string;
|
|
4436
|
+
canMove(direction: -1 | 1): boolean;
|
|
4437
|
+
selectTreeEntry(key: string): void;
|
|
4438
|
+
onTreeItemKeydown(event: KeyboardEvent, key: string): void;
|
|
4439
|
+
tx(key: string): string;
|
|
4440
|
+
get detail(): _praxisui_core.TableDetailConfig | undefined;
|
|
4441
|
+
get issues(): string[];
|
|
4442
|
+
get selected(): {
|
|
4443
|
+
[x: string]: any;
|
|
4444
|
+
} | undefined;
|
|
4445
|
+
ngOnChanges(): void;
|
|
4446
|
+
ngOnDestroy(): void;
|
|
4447
|
+
private hydrate;
|
|
4448
|
+
private emit;
|
|
4449
|
+
private report;
|
|
4450
|
+
resetDraft(config: TableConfig): void;
|
|
4451
|
+
presentation(command: {
|
|
4452
|
+
enabled?: boolean;
|
|
4453
|
+
placement?: 'row' | 'bottom';
|
|
4454
|
+
initiallyCollapsed?: boolean;
|
|
4455
|
+
bottomStackPosition?: 'beforeControls' | 'afterControls';
|
|
4456
|
+
emptyBehavior?: 'message' | 'hide';
|
|
4457
|
+
}): void;
|
|
4458
|
+
sourceMode(mode: string): void;
|
|
4459
|
+
sourceField(group: string, field: string, value: string): void;
|
|
4460
|
+
sourceRootField(field: string, value: string): void;
|
|
4461
|
+
sourceValue(group: string, field: string): string;
|
|
4462
|
+
allowList(value: string): void;
|
|
4463
|
+
height(px: number): void;
|
|
4464
|
+
heightMode(mode: 'fixed' | 'dynamic'): void;
|
|
4465
|
+
detailMessage(key: 'empty' | 'ready'): string;
|
|
4466
|
+
setDetailMessage(key: 'empty' | 'ready', value: string): void;
|
|
4467
|
+
private patchDetail;
|
|
4468
|
+
add(nested?: boolean): void;
|
|
4469
|
+
canNest(): boolean;
|
|
4470
|
+
move(direction: -1 | 1): void;
|
|
4471
|
+
remove(): void;
|
|
4472
|
+
edit(field: string, value: string): void;
|
|
4473
|
+
fields(): string[];
|
|
4474
|
+
isAdvancedNode(): boolean;
|
|
4475
|
+
private commitTree;
|
|
4476
|
+
editJson(value: string): void;
|
|
4477
|
+
discard(): void;
|
|
4478
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableDetailEditorComponent, never>;
|
|
4479
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TableDetailEditorComponent, "praxis-table-detail-editor", never, { "config": { "alias": "config"; "required": true; }; }, { "configChange": "configChange"; "draftStateChange": "draftStateChange"; }, never, never, true, never>;
|
|
4480
|
+
}
|
|
4481
|
+
|
|
4192
4482
|
type ResourcePathIntent = 'set' | 'clear' | 'unchanged';
|
|
4193
4483
|
type EffectiveDataMode = 'remote' | 'local' | 'empty';
|
|
4194
4484
|
declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValueProvider {
|
|
@@ -4199,6 +4489,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
4199
4489
|
private readonly globalActionCatalog;
|
|
4200
4490
|
filterSettingsEditor?: FilterSettingsComponent;
|
|
4201
4491
|
behaviorEditor?: BehaviorConfigEditorComponent;
|
|
4492
|
+
detailEditor?: TableDetailEditorComponent;
|
|
4202
4493
|
rulesEditor?: TableRulesEditorComponent;
|
|
4203
4494
|
set crudEditorSetter(ref: any);
|
|
4204
4495
|
private crudEditor?;
|
|
@@ -4250,6 +4541,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
4250
4541
|
hasSuccess: boolean;
|
|
4251
4542
|
statusMessage: string;
|
|
4252
4543
|
private isValidJson;
|
|
4544
|
+
private detailDraftState;
|
|
4253
4545
|
private behaviorFeedbackBurstTypes;
|
|
4254
4546
|
isDirty$: BehaviorSubject<boolean>;
|
|
4255
4547
|
isValid$: BehaviorSubject<boolean>;
|
|
@@ -4360,6 +4652,11 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
4360
4652
|
* Verifica se um recurso está disponível na versão atual
|
|
4361
4653
|
*/
|
|
4362
4654
|
isFeatureAvailable(feature: string): boolean;
|
|
4655
|
+
onDetailConfigChange(config: TableConfig): void;
|
|
4656
|
+
onDetailDraftStateChange(state: {
|
|
4657
|
+
valid: boolean;
|
|
4658
|
+
dirty: boolean;
|
|
4659
|
+
}): void;
|
|
4363
4660
|
onBehaviorConfigChange(newConfig: TableConfig): void;
|
|
4364
4661
|
onBehaviorChange(change: BehaviorConfigChange): void;
|
|
4365
4662
|
private shouldSuppressBehaviorFeedback;
|
|
@@ -4495,6 +4792,145 @@ declare class PraxisFilterWidgetConfigEditor implements SettingsValueProvider$1,
|
|
|
4495
4792
|
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>;
|
|
4496
4793
|
}
|
|
4497
4794
|
|
|
4795
|
+
/**
|
|
4796
|
+
* Interface mínima estrutural para qualquer componente que suporte teleporte de filtros
|
|
4797
|
+
* (ex.: PraxisTable ou PraxisCrudComponent).
|
|
4798
|
+
*/
|
|
4799
|
+
interface PraxisFilterTeleportHost {
|
|
4800
|
+
filterTeleport?: boolean;
|
|
4801
|
+
filterTemplate?: TemplateRef<unknown>;
|
|
4802
|
+
filterBarTemplate?: TemplateRef<unknown>;
|
|
4803
|
+
table?: PraxisFilterTeleportHost;
|
|
4804
|
+
}
|
|
4805
|
+
type PraxisFilterOutletTarget = PraxisFilterTeleportHost | TemplateRef<unknown> | null | undefined;
|
|
4806
|
+
/**
|
|
4807
|
+
* Praxis UI Platform — Canonical Filter Outlet Component (Issue #11)
|
|
4808
|
+
*
|
|
4809
|
+
* Renderiza a barra de filtros avançados desacoplada da tabela de dados ou do CRUD,
|
|
4810
|
+
* permitindo acomodá-la em qualquer card, drawer ou cabeçalho superior tático.
|
|
4811
|
+
*
|
|
4812
|
+
* @example
|
|
4813
|
+
* ```html
|
|
4814
|
+
* <div class="filters-card">
|
|
4815
|
+
* <praxis-filter-outlet [target]="heroesCrud" />
|
|
4816
|
+
* </div>
|
|
4817
|
+
*
|
|
4818
|
+
* <praxis-crud #heroesCrud ... />
|
|
4819
|
+
* ```
|
|
4820
|
+
*/
|
|
4821
|
+
declare class PraxisFilterOutletComponent implements OnChanges, AfterViewInit, OnDestroy {
|
|
4822
|
+
target: PraxisFilterOutletTarget;
|
|
4823
|
+
private readonly cdr;
|
|
4824
|
+
private previousHost?;
|
|
4825
|
+
get resolvedTemplate(): TemplateRef<unknown> | null;
|
|
4826
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
4827
|
+
ngAfterViewInit(): void;
|
|
4828
|
+
ngOnDestroy(): void;
|
|
4829
|
+
private attachTeleportTarget;
|
|
4830
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisFilterOutletComponent, never>;
|
|
4831
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisFilterOutletComponent, "praxis-filter-outlet", never, { "target": { "alias": "target"; "required": false; }; }, {}, never, never, true, never>;
|
|
4832
|
+
}
|
|
4833
|
+
/**
|
|
4834
|
+
* Praxis UI Platform — Canonical Filter Outlet Directive (Issue #11)
|
|
4835
|
+
*
|
|
4836
|
+
* Diretiva estrutural alternativa para teleporte reativo da barra de filtros.
|
|
4837
|
+
*
|
|
4838
|
+
* @example
|
|
4839
|
+
* ```html
|
|
4840
|
+
* <div class="filters-card">
|
|
4841
|
+
* <ng-container *praxisFilterOutlet="heroesCrud"></ng-container>
|
|
4842
|
+
* </div>
|
|
4843
|
+
* ```
|
|
4844
|
+
*/
|
|
4845
|
+
declare class PraxisFilterOutletDirective implements OnChanges, AfterViewInit, OnDestroy {
|
|
4846
|
+
target: PraxisFilterOutletTarget;
|
|
4847
|
+
private readonly viewContainer;
|
|
4848
|
+
private readonly cdr;
|
|
4849
|
+
private previousHost?;
|
|
4850
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
4851
|
+
ngAfterViewInit(): void;
|
|
4852
|
+
ngOnDestroy(): void;
|
|
4853
|
+
private updateView;
|
|
4854
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisFilterOutletDirective, never>;
|
|
4855
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<PraxisFilterOutletDirective, "[praxisFilterOutlet]", never, { "target": { "alias": "praxisFilterOutlet"; "required": false; }; }, {}, never, never, true, never>;
|
|
4856
|
+
}
|
|
4857
|
+
|
|
4858
|
+
interface PraxisScopeBarItem {
|
|
4859
|
+
id: string;
|
|
4860
|
+
label: string;
|
|
4861
|
+
filter?: Record<string, unknown> | string;
|
|
4862
|
+
count?: number | null;
|
|
4863
|
+
icon?: string;
|
|
4864
|
+
tone?: 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'ready';
|
|
4865
|
+
isDefault?: boolean;
|
|
4866
|
+
tooltip?: string;
|
|
4867
|
+
}
|
|
4868
|
+
interface PraxisScopeBarConfig {
|
|
4869
|
+
items?: PraxisScopeBarItem[];
|
|
4870
|
+
activeId?: string;
|
|
4871
|
+
showOmnibox?: boolean;
|
|
4872
|
+
omniboxPlaceholder?: string;
|
|
4873
|
+
leadIcon?: string;
|
|
4874
|
+
leadLabel?: string;
|
|
4875
|
+
showClearButton?: boolean;
|
|
4876
|
+
clearLabel?: string;
|
|
4877
|
+
searchField?: string;
|
|
4878
|
+
}
|
|
4879
|
+
declare class PraxisScopeBarComponent implements OnInit {
|
|
4880
|
+
private readonly eventBus;
|
|
4881
|
+
private readonly i18n;
|
|
4882
|
+
private readonly destroyRef;
|
|
4883
|
+
protected scopeNavigationLabel(): string;
|
|
4884
|
+
chipsTrack?: ElementRef<HTMLElement>;
|
|
4885
|
+
private readonly itemsSignal;
|
|
4886
|
+
set items(val: PraxisScopeBarItem[] | undefined);
|
|
4887
|
+
get items(): PraxisScopeBarItem[] | undefined;
|
|
4888
|
+
set activeId(val: string | undefined);
|
|
4889
|
+
get activeId(): string | undefined;
|
|
4890
|
+
readonly activeIdChange: EventEmitter<string>;
|
|
4891
|
+
showOmnibox: boolean;
|
|
4892
|
+
omniboxPlaceholder: string;
|
|
4893
|
+
set omniboxValue(val: string | undefined);
|
|
4894
|
+
get omniboxValue(): string | undefined;
|
|
4895
|
+
readonly omniboxValueChange: EventEmitter<string>;
|
|
4896
|
+
omniboxDebounceMs: number;
|
|
4897
|
+
leadIcon: string;
|
|
4898
|
+
leadLabel?: string;
|
|
4899
|
+
showClearButton: boolean;
|
|
4900
|
+
clearLabel: string;
|
|
4901
|
+
private readonly targetSignal;
|
|
4902
|
+
set target(val: any);
|
|
4903
|
+
get target(): any;
|
|
4904
|
+
targetWidgetId?: string;
|
|
4905
|
+
scopeBarId: string;
|
|
4906
|
+
searchField: string;
|
|
4907
|
+
readonly scopeChange: EventEmitter<PraxisScopeBarItem>;
|
|
4908
|
+
readonly searchChange: EventEmitter<string>;
|
|
4909
|
+
readonly filterCriteriaChange: EventEmitter<Record<string, unknown>>;
|
|
4910
|
+
readonly clear: EventEmitter<void>;
|
|
4911
|
+
private readonly searchSubject$;
|
|
4912
|
+
readonly currentActiveId: i0.WritableSignal<string | null>;
|
|
4913
|
+
readonly currentSearchText: i0.WritableSignal<string>;
|
|
4914
|
+
readonly effectiveItems: i0.Signal<PraxisScopeBarItem[]>;
|
|
4915
|
+
ngOnInit(): void;
|
|
4916
|
+
isItemActive(item: PraxisScopeBarItem): boolean;
|
|
4917
|
+
selectScope(item: PraxisScopeBarItem): void;
|
|
4918
|
+
onSearchInput(event: Event): void;
|
|
4919
|
+
clearSearch(): void;
|
|
4920
|
+
resetFilters(): void;
|
|
4921
|
+
canClear(): boolean;
|
|
4922
|
+
onTrackKeydown(event: KeyboardEvent): void;
|
|
4923
|
+
private dispatchFilters;
|
|
4924
|
+
private applyCriteriaToTarget;
|
|
4925
|
+
private discoverItemsFromTarget;
|
|
4926
|
+
private normalizeFilter;
|
|
4927
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisScopeBarComponent, never>;
|
|
4928
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisScopeBarComponent, "praxis-scope-bar", never, { "items": { "alias": "items"; "required": false; }; "activeId": { "alias": "activeId"; "required": false; }; "showOmnibox": { "alias": "showOmnibox"; "required": false; }; "omniboxPlaceholder": { "alias": "omniboxPlaceholder"; "required": false; }; "omniboxValue": { "alias": "omniboxValue"; "required": false; }; "omniboxDebounceMs": { "alias": "omniboxDebounceMs"; "required": false; }; "leadIcon": { "alias": "leadIcon"; "required": false; }; "leadLabel": { "alias": "leadLabel"; "required": false; }; "showClearButton": { "alias": "showClearButton"; "required": false; }; "clearLabel": { "alias": "clearLabel"; "required": false; }; "target": { "alias": "target"; "required": false; }; "targetWidgetId": { "alias": "targetWidgetId"; "required": false; }; "scopeBarId": { "alias": "scopeBarId"; "required": false; }; "searchField": { "alias": "searchField"; "required": false; }; }, { "activeIdChange": "activeIdChange"; "omniboxValueChange": "omniboxValueChange"; "scopeChange": "scopeChange"; "searchChange": "searchChange"; "filterCriteriaChange": "filterCriteriaChange"; "clear": "clear"; }, never, never, true, never>;
|
|
4929
|
+
static ngAcceptInputType_showOmnibox: unknown;
|
|
4930
|
+
static ngAcceptInputType_omniboxDebounceMs: unknown;
|
|
4931
|
+
static ngAcceptInputType_showClearButton: unknown;
|
|
4932
|
+
}
|
|
4933
|
+
|
|
4498
4934
|
declare class DataFormatterComponent implements OnInit, OnChanges {
|
|
4499
4935
|
private cdr;
|
|
4500
4936
|
private formattingService;
|
|
@@ -4977,9 +5413,9 @@ type ComponentEditPlanCapability = {
|
|
|
4977
5413
|
declare const TABLE_COMPONENT_EDIT_PLAN_KIND = "praxis.table.component-edit-plan";
|
|
4978
5414
|
declare const TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND = "praxis.table.component-edit-plan.batch";
|
|
4979
5415
|
declare const TABLE_COMPONENT_EDIT_PLAN_VERSION = "1.0";
|
|
4980
|
-
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';
|
|
4981
|
-
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' | 'row.styleRule.update' | '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';
|
|
4982
|
-
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"];
|
|
5416
|
+
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_detail' | 'configure_table_detail_source' | 'configure_table_detail_presentation' | 'configure_table_expansion' | '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';
|
|
5417
|
+
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' | 'row.styleRule.update' | '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' | 'detail.configure' | 'detail.source.configure' | 'detail.presentation.configure' | 'expansion.configure' | 'behavior.selection.configure' | 'behavior.sorting.configure' | 'toolbar.configure' | 'toolbar.action.add' | 'rowAction.add' | 'bulkAction.add' | 'export.configure' | 'appearance.density.set' | 'toolbar.visibility.set';
|
|
5418
|
+
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_detail", "configure_table_detail_source", "configure_table_detail_presentation", "configure_table_expansion", "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"];
|
|
4983
5419
|
declare const TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS: Record<TableComponentEditChangeKind, string>;
|
|
4984
5420
|
interface TableComponentEditPlan {
|
|
4985
5421
|
kind?: typeof TABLE_COMPONENT_EDIT_PLAN_KIND;
|
|
@@ -5022,7 +5458,7 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
5022
5458
|
readonly $defs: {
|
|
5023
5459
|
readonly changeKind: {
|
|
5024
5460
|
readonly type: "string";
|
|
5025
|
-
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"];
|
|
5461
|
+
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_detail", "configure_table_detail_source", "configure_table_detail_presentation", "configure_table_expansion", "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"];
|
|
5026
5462
|
};
|
|
5027
5463
|
readonly capabilityPath: {
|
|
5028
5464
|
readonly type: "string";
|
|
@@ -5103,7 +5539,7 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
|
|
|
5103
5539
|
readonly const: "praxis-table";
|
|
5104
5540
|
};
|
|
5105
5541
|
readonly operationId: {
|
|
5106
|
-
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"];
|
|
5542
|
+
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", "detail.configure", "detail.source.configure", "detail.presentation.configure", "expansion.configure", "behavior.selection.configure", "behavior.sorting.configure", "toolbar.configure", "toolbar.action.add", "rowAction.add", "bulkAction.add", "export.configure", "appearance.density.set", "toolbar.visibility.set"];
|
|
5107
5543
|
};
|
|
5108
5544
|
readonly target: true;
|
|
5109
5545
|
readonly input: true;
|
|
@@ -5314,5 +5750,134 @@ declare function coerceTableComponentEditPlan(value: unknown): TableComponentEdi
|
|
|
5314
5750
|
declare function compileTableComponentEditPlans(plans: TableComponentEditPlan[], currentConfig: TableConfig): TableComponentEditPlanCompileResult;
|
|
5315
5751
|
declare function compileTableComponentEditPlan(plan: TableComponentEditPlan, currentConfig: TableConfig): TableComponentEditPlanCompileResult;
|
|
5316
5752
|
|
|
5317
|
-
|
|
5318
|
-
|
|
5753
|
+
declare function isAnalyticalDrawerSchema(schema: unknown): schema is PraxisAnalyticalDrawerSchema;
|
|
5754
|
+
declare function interpolateRelationEndpoint(endpoint: string, row: Record<string, unknown> | null | undefined): {
|
|
5755
|
+
url: string;
|
|
5756
|
+
hasMissingTokens: boolean;
|
|
5757
|
+
};
|
|
5758
|
+
declare class PraxisAnalyticalDrawerComponent implements OnInit, OnChanges, OnDestroy {
|
|
5759
|
+
private _isOpen;
|
|
5760
|
+
private previousActiveElement;
|
|
5761
|
+
handleDocumentEscape(event?: Event): void;
|
|
5762
|
+
set isOpen(value: boolean);
|
|
5763
|
+
get isOpen(): boolean;
|
|
5764
|
+
private _resourcePath?;
|
|
5765
|
+
set resourcePath(value: string | undefined);
|
|
5766
|
+
get resourcePath(): string | undefined;
|
|
5767
|
+
surfaceName: string;
|
|
5768
|
+
private _drawerConfig;
|
|
5769
|
+
set drawerConfig(value: TableDrawerConfig | null);
|
|
5770
|
+
get drawerConfig(): TableDrawerConfig | null;
|
|
5771
|
+
private _row;
|
|
5772
|
+
set row(value: any | null);
|
|
5773
|
+
get row(): any | null;
|
|
5774
|
+
relations: Record<string, unknown>;
|
|
5775
|
+
loadingRelations: boolean;
|
|
5776
|
+
closeDrawer: EventEmitter<void>;
|
|
5777
|
+
tabChange: EventEmitter<string>;
|
|
5778
|
+
relationFetch: EventEmitter<{
|
|
5779
|
+
key: string;
|
|
5780
|
+
endpoint: string;
|
|
5781
|
+
}>;
|
|
5782
|
+
protected readonly activeTabId: i0.WritableSignal<string>;
|
|
5783
|
+
protected readonly customRelations: i0.WritableSignal<Record<string, unknown>>;
|
|
5784
|
+
protected readonly isFetchingRelations: i0.WritableSignal<boolean>;
|
|
5785
|
+
protected readonly resolvedRemoteConfig: i0.WritableSignal<TableDrawerConfig | null>;
|
|
5786
|
+
protected readonly isResolvingSchema: i0.WritableSignal<boolean>;
|
|
5787
|
+
private readonly evaluator;
|
|
5788
|
+
private readonly http;
|
|
5789
|
+
private readonly drawerRegistry;
|
|
5790
|
+
private readonly apiUrl;
|
|
5791
|
+
private readonly sanitizer;
|
|
5792
|
+
private readonly formattingService;
|
|
5793
|
+
private relationSubs;
|
|
5794
|
+
private schemaSub?;
|
|
5795
|
+
private static readonly urlCache;
|
|
5796
|
+
private static readonly schemaCache;
|
|
5797
|
+
private lastFetchedKey;
|
|
5798
|
+
private lastResolvingKey;
|
|
5799
|
+
static clearCache(): void;
|
|
5800
|
+
private resolveUrl;
|
|
5801
|
+
ngOnInit(): void;
|
|
5802
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
5803
|
+
ngOnDestroy(): void;
|
|
5804
|
+
getEffectiveDrawerConfig(): TableDrawerConfig | null;
|
|
5805
|
+
private mergeTabs;
|
|
5806
|
+
private resolveRemoteDrawerMetadata;
|
|
5807
|
+
protected onClose(): void;
|
|
5808
|
+
protected onBackdropClick(event: MouseEvent): void;
|
|
5809
|
+
protected selectTab(tabId: string): void;
|
|
5810
|
+
private getAnalyticalSchema;
|
|
5811
|
+
protected resolvedTabs: i0.Signal<PraxisAnalyticalDrawerTab[]>;
|
|
5812
|
+
private generateAutoOverviewProperties;
|
|
5813
|
+
private formatPropertyLabel;
|
|
5814
|
+
protected resolvedTitle: i0.Signal<string>;
|
|
5815
|
+
protected resolvedSubtitle: i0.Signal<string>;
|
|
5816
|
+
protected resolvedClassificationPill: i0.Signal<string>;
|
|
5817
|
+
protected resolvedWidth: i0.Signal<string>;
|
|
5818
|
+
protected getDrawerIcon(): string;
|
|
5819
|
+
protected getEvaluationContext(): Record<string, unknown>;
|
|
5820
|
+
protected isCardGridContent(content: unknown): boolean;
|
|
5821
|
+
protected asCardGrid(content: unknown): {
|
|
5822
|
+
columns?: number;
|
|
5823
|
+
cards?: any[];
|
|
5824
|
+
};
|
|
5825
|
+
protected getGridColumnsStyle(columns?: number): string;
|
|
5826
|
+
protected isRichContentDocument(content: unknown): boolean;
|
|
5827
|
+
protected asRichContentDocument(content: unknown): RichContentDocument;
|
|
5828
|
+
protected isPropertyGrid(content: unknown): boolean;
|
|
5829
|
+
protected asPropertyGrid(content: unknown): any[];
|
|
5830
|
+
protected isArray(val: unknown): boolean;
|
|
5831
|
+
protected evaluateAndFormatMetric(item: any): string;
|
|
5832
|
+
protected evaluatePropertyValue(item: any): string;
|
|
5833
|
+
protected renderMicroViz(viz: PraxisPresentationVisualizationConfig | undefined, item: any): SafeHtml;
|
|
5834
|
+
private syncActiveTab;
|
|
5835
|
+
private fetchConfiguredRelations;
|
|
5836
|
+
private cancelRelationRequests;
|
|
5837
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAnalyticalDrawerComponent, never>;
|
|
5838
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisAnalyticalDrawerComponent, "praxis-analytical-drawer", never, { "isOpen": { "alias": "isOpen"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "surfaceName": { "alias": "surfaceName"; "required": false; }; "drawerConfig": { "alias": "drawerConfig"; "required": false; }; "row": { "alias": "row"; "required": false; }; "relations": { "alias": "relations"; "required": false; }; "loadingRelations": { "alias": "loadingRelations"; "required": false; }; }, { "closeDrawer": "closeDrawer"; "tabChange": "tabChange"; "relationFetch": "relationFetch"; }, never, never, true, never>;
|
|
5839
|
+
}
|
|
5840
|
+
|
|
5841
|
+
type AnalyticalDrawerSchemaOrConfig = PraxisAnalyticalDrawerSchema | TableDrawerConfig;
|
|
5842
|
+
declare const PRAXIS_ANALYTICAL_DRAWER_SCHEMAS: InjectionToken<Record<string, AnalyticalDrawerSchemaOrConfig> | Record<string, AnalyticalDrawerSchemaOrConfig>[]>;
|
|
5843
|
+
/**
|
|
5844
|
+
* Registra esquemas de gavetas analíticas por coordenada de recurso (ex.: 'operations/incidentes').
|
|
5845
|
+
* Pode ser chamado no app.config.ts ou em providers de rotas/módulos.
|
|
5846
|
+
*/
|
|
5847
|
+
declare function providePraxisAnalyticalDrawerSchemas(schemas: Record<string, AnalyticalDrawerSchemaOrConfig>): Provider;
|
|
5848
|
+
declare class AnalyticalDrawerRegistryService {
|
|
5849
|
+
private readonly registry;
|
|
5850
|
+
constructor();
|
|
5851
|
+
register(resourcePath: string, schema: AnalyticalDrawerSchemaOrConfig): void;
|
|
5852
|
+
registerAll(schemas: Record<string, AnalyticalDrawerSchemaOrConfig>): void;
|
|
5853
|
+
get(resourcePath: string): AnalyticalDrawerSchemaOrConfig | undefined;
|
|
5854
|
+
has(resourcePath: string): boolean;
|
|
5855
|
+
clear(): void;
|
|
5856
|
+
normalizeKey(path: string | undefined | null): string;
|
|
5857
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticalDrawerRegistryService, never>;
|
|
5858
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticalDrawerRegistryService>;
|
|
5859
|
+
}
|
|
5860
|
+
|
|
5861
|
+
interface ComputedFieldsEvaluationOptions {
|
|
5862
|
+
evaluator?: SafeExpressionEvaluator;
|
|
5863
|
+
formattingService?: {
|
|
5864
|
+
formatValue: (value: any, columnType: any, formatString: string) => any;
|
|
5865
|
+
} | null;
|
|
5866
|
+
}
|
|
5867
|
+
/**
|
|
5868
|
+
* Normaliza a definição de um campo computado (aceita string simples ou objeto estruturado).
|
|
5869
|
+
*/
|
|
5870
|
+
declare function normalizeComputedFieldDefinition(raw: PraxisComputedFieldDefinition | string): PraxisComputedFieldDefinition;
|
|
5871
|
+
/**
|
|
5872
|
+
* Formata um valor calculado com suporte a moedas, porcentagens, números e formato compacto corporativo (ex: R$ 3,1M).
|
|
5873
|
+
*/
|
|
5874
|
+
declare function formatComputedFieldValue(value: unknown, format?: string, type?: string, formattingService?: ComputedFieldsEvaluationOptions['formattingService']): unknown;
|
|
5875
|
+
/**
|
|
5876
|
+
* Enriquece uma coleção de linhas com as propriedades calculadas declaradas em `computedFieldsConfig`.
|
|
5877
|
+
* Executado durante o pipeline de ingestão de dados, tornando as propriedades computadas
|
|
5878
|
+
* nativamente visíveis para colunas, sorting, filtros, gavetas analíticas e exportação.
|
|
5879
|
+
*/
|
|
5880
|
+
declare function applyComputedFieldsToRows<T extends Record<string, any> = Record<string, any>>(rows: T[], computedFieldsConfig?: PraxisComputedFieldsConfig | null, options?: ComputedFieldsEvaluationOptions): T[];
|
|
5881
|
+
|
|
5882
|
+
export { ANALYTICS_TABLE_ROW_KEY_FIELD, AnalyticalDrawerRegistryService, 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_ANALYTICAL_DRAWER_SCHEMAS, PRAXIS_FILTER_AUTHORING_MANIFEST, PRAXIS_FILTER_COMPONENT_METADATA, PRAXIS_FILTER_VIEW_CONTEXT_SCHEMA_VERSION, PRAXIS_TABLE_AUTHORING_MANIFEST, PRAXIS_TABLE_COMPONENT_METADATA, PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, PraxisAnalyticalDrawerComponent, PraxisFilter, PraxisFilterOutletComponent, PraxisFilterOutletDirective, PraxisFilterWidgetConfigEditor, PraxisScopeBarComponent, 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, analyticsComparisonMetricField, applyComputedFieldsToRows, buildTableApplyPlan, coerceTableComponentEditPlan, coerceTableComponentEditPlans, compileTableComponentEditPlan, compileTableComponentEditPlans, createTableAuthoringDocument, formatComputedFieldValue, getActionId, getEnum, getTableCapabilities, getTableComponentEditPlanCapabilities, interpolateRelationEndpoint, isAnalyticalDrawerSchema, isTableRendererSupportedByRichContentP0, mapTableRendererToRichContentP0, normalizeComputedFieldDefinition, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, providePraxisAnalyticalDrawerSchemas, providePraxisFilterMetadata, providePraxisTableMetadata, providePraxisTableToolbarAppearance, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
|
|
5883
|
+
export type { ActionLike, AnalyticalDrawerSchemaOrConfig, AnalyticsComparisonMetricValueKind, 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, ComputedFieldsEvaluationOptions, ConcatenationParams, ConditionalMappingParams, CurrencyFormatterOptions, DataFormattingOptions, DataMode, DateFormatterOptions, DefaultValueParams, DrawerOpenEvent, EditorDiagnostic, EditorDocument, FieldSchema, FilterConfig, FilterTag, FormatPreset, FormatterConfig, FormulaDefinition, FormulaParameterSchema, FormulaParams, FormulaTemplate, FormulaType, I18n, JsonEditorEvent, JsonValidationResult, MessagesLocalizationChange, NestedPropertyParams, NumberFormatterOptions, PercentageFormatterOptions, PraxisFilterOutletTarget, PraxisFilterTeleportHost, PraxisFilterViewContext, PraxisFilterViewField, PraxisFilterWidgetEditorInputs, PraxisFilterWidgetEditorValue, PraxisScopeBarConfig, PraxisScopeBarItem, PraxisTableCrossFilterItem, PraxisTableQueryContextClearEvent, PraxisTableWidgetEditorInputs, PraxisTableWidgetEditorValue, ResourcePathIntent, RowAction, RowClickEvent, RowDoubleClickEvent, RowExpansionChangeBase, RowExpansionChangeEvent, RowExpansionReasonCode, RowExpansionTrigger, RowSelectionChangeEvent, StringFormatterOptions, TableAiContext, TableAiNavigationContextPack, TableAiNavigationDestinationContext, TableApplyPlan, TableAuthoringDocument, TableBindings, Capability as TableComponentCapability, CapabilityCatalog as TableComponentCapabilityCatalog, CapabilityCategory as TableComponentCapabilityCategory, TableComponentEditChangeKind, TableComponentEditPlan, TableComponentEditPlanCompileResult, ValueKind as TableComponentValueKind, TableConfigPersistenceStrategy, TableHorizontalScroll, TableProjectionContext, TableRichContentP0Node, TableRuntimeContext, TableValidationContext, ToolbarAction, ToolbarActionsChange, ValueKind$1 as ValueKind, ValueMappingPair };
|