@praxisui/table 10.0.0-rc.4 → 10.0.0-rc.5
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/ai/component-registry.json +35 -4
- package/fesm2022/praxisui-table-authoring.mjs +1463 -0
- package/fesm2022/{praxisui-table-praxisui-table-DKvwb6v1.mjs → praxisui-table-praxisui-table-BIRFv2S8.mjs} +3916 -969
- package/fesm2022/{praxisui-table-table-agentic-authoring-turn-flow-BzjYuDvo.mjs → praxisui-table-table-agentic-authoring-turn-flow-DtOwXgFW.mjs} +1 -1
- package/fesm2022/{praxisui-table-table-ai.adapter-CPgpIGoi.mjs → praxisui-table-table-ai.adapter-25xtoiWq.mjs} +1 -1
- package/fesm2022/praxisui-table.mjs +2 -1
- package/package.json +14 -10
- package/types/praxisui-table-authoring.d.ts +104 -0
- package/types/praxisui-table.d.ts +386 -11
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
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
3
|
import * as _praxisui_core from '@praxisui/core';
|
|
4
|
-
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, 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 } from '@praxisui/core';
|
|
4
|
+
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, DynamicDataRecord, MaterializedResourceIdentity, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, PraxisResourceEvent, LoadingState, RestApiLinks, 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';
|
|
@@ -51,6 +52,23 @@ interface ActionLike {
|
|
|
51
52
|
}
|
|
52
53
|
declare function getActionId(action: ActionLike): string;
|
|
53
54
|
|
|
55
|
+
interface PraxisTableCrossFilterItem {
|
|
56
|
+
id: string;
|
|
57
|
+
field: string;
|
|
58
|
+
label: string;
|
|
59
|
+
value: unknown;
|
|
60
|
+
prefix?: string;
|
|
61
|
+
rawFilter?: Record<string, unknown>;
|
|
62
|
+
}
|
|
63
|
+
interface PraxisTableQueryContextClearEvent {
|
|
64
|
+
field?: string;
|
|
65
|
+
clearedFields?: string[];
|
|
66
|
+
clearedFilter?: PraxisTableCrossFilterItem;
|
|
67
|
+
remainingFilters?: Record<string, unknown>;
|
|
68
|
+
remainingFilterCount?: number;
|
|
69
|
+
tableId?: string;
|
|
70
|
+
source?: 'toolbar-chip';
|
|
71
|
+
}
|
|
54
72
|
declare const PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS: Record<string, TableToolbarAppearanceConfig>;
|
|
55
73
|
declare const PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE: InjectionToken<TableToolbarAppearanceConfig>;
|
|
56
74
|
declare const PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS: InjectionToken<Record<string, TableToolbarAppearanceConfig>>;
|
|
@@ -86,8 +104,11 @@ declare class PraxisTableToolbar implements AfterViewInit, OnDestroy {
|
|
|
86
104
|
evaluationContext: Record<string, any> | null;
|
|
87
105
|
activeQuickFilterId: string | null;
|
|
88
106
|
activeDensity: TableToolbarAppearanceDensity | null;
|
|
107
|
+
activeCrossFilters: PraxisTableCrossFilterItem[];
|
|
89
108
|
/** @internal Used by PraxisTable so toolbar menu decisions materialize through the table runtime. */
|
|
90
109
|
columnVisibilityController?: (field: string, visible: boolean) => void;
|
|
110
|
+
readonly clearCrossFilter: EventEmitter<PraxisTableCrossFilterItem>;
|
|
111
|
+
readonly clearAllCrossFilters: EventEmitter<void>;
|
|
91
112
|
toolbarAction: EventEmitter<Pick<ToolbarActionEvent<Record<string, unknown>>, "action" | "actionConfig" | "focusOrigin">>;
|
|
92
113
|
exportAction: EventEmitter<{
|
|
93
114
|
format: string;
|
|
@@ -152,6 +173,7 @@ declare class PraxisTableToolbar implements AfterViewInit, OnDestroy {
|
|
|
152
173
|
filter: Record<string, unknown>;
|
|
153
174
|
icon?: string;
|
|
154
175
|
}>;
|
|
176
|
+
private normalizeQuickFilterExpression;
|
|
155
177
|
shouldShowQuickFilters(): boolean;
|
|
156
178
|
getQuickFiltersLabel(): string;
|
|
157
179
|
getQuickFilterLabel(filter: {
|
|
@@ -163,6 +185,15 @@ declare class PraxisTableToolbar implements AfterViewInit, OnDestroy {
|
|
|
163
185
|
id: string;
|
|
164
186
|
filter: Record<string, unknown>;
|
|
165
187
|
}): void;
|
|
188
|
+
hasActiveCrossFilters(): boolean;
|
|
189
|
+
getActiveCrossFilters(): PraxisTableCrossFilterItem[];
|
|
190
|
+
getCrossFiltersAriaLabel(): string;
|
|
191
|
+
getCrossFilterDefaultPrefix(): string;
|
|
192
|
+
getClearCrossFilterAriaLabel(filter: PraxisTableCrossFilterItem): string;
|
|
193
|
+
getClearCrossFilterTooltip(filter: PraxisTableCrossFilterItem): string;
|
|
194
|
+
getClearAllCrossFiltersLabel(): string;
|
|
195
|
+
onClearCrossFilter(filter: PraxisTableCrossFilterItem): void;
|
|
196
|
+
onClearAllCrossFilters(): void;
|
|
166
197
|
isDensityToggleEnabled(): boolean;
|
|
167
198
|
getDensityToggleLabel(): string;
|
|
168
199
|
getDensityOptions(): TableToolbarAppearanceDensity[];
|
|
@@ -262,7 +293,7 @@ declare class PraxisTableToolbar implements AfterViewInit, OnDestroy {
|
|
|
262
293
|
private sortActions;
|
|
263
294
|
getExportIcon(format: string): string;
|
|
264
295
|
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableToolbar, [null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
265
|
-
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>;
|
|
296
|
+
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>;
|
|
266
297
|
}
|
|
267
298
|
|
|
268
299
|
type ColumnDataType$1 = 'date' | 'number' | 'currency' | 'percentage' | 'string' | 'boolean' | 'custom';
|
|
@@ -1134,6 +1165,43 @@ declare class AnalyticsTableStatsApiService {
|
|
|
1134
1165
|
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableStatsApiService>;
|
|
1135
1166
|
}
|
|
1136
1167
|
|
|
1168
|
+
/**
|
|
1169
|
+
* Canonical row click event interface emitted by PraxisTable and PraxisCrud.
|
|
1170
|
+
* Provides typed access to the underlying record, row index, original DOM mouse event,
|
|
1171
|
+
* resource identity, and selection/expansion state.
|
|
1172
|
+
*/
|
|
1173
|
+
interface RowClickEvent<T = DynamicDataRecord> {
|
|
1174
|
+
row: T;
|
|
1175
|
+
index: number;
|
|
1176
|
+
originalEvent?: MouseEvent;
|
|
1177
|
+
resourceIdentity?: MaterializedResourceIdentity | string | null;
|
|
1178
|
+
selectionState?: {
|
|
1179
|
+
isSelected: boolean;
|
|
1180
|
+
isExpanded: boolean;
|
|
1181
|
+
};
|
|
1182
|
+
}
|
|
1183
|
+
/**
|
|
1184
|
+
* Event payload emitted when a table row is double clicked.
|
|
1185
|
+
*/
|
|
1186
|
+
interface RowDoubleClickEvent<T = DynamicDataRecord> {
|
|
1187
|
+
action?: string;
|
|
1188
|
+
row: T;
|
|
1189
|
+
}
|
|
1190
|
+
/**
|
|
1191
|
+
* Event payload emitted when an analytical drawer is opened from a table row.
|
|
1192
|
+
*/
|
|
1193
|
+
interface DrawerOpenEvent<T = DynamicDataRecord> {
|
|
1194
|
+
row: T;
|
|
1195
|
+
tabId?: string;
|
|
1196
|
+
}
|
|
1197
|
+
/**
|
|
1198
|
+
* Event payload emitted when row selections change in the table.
|
|
1199
|
+
*/
|
|
1200
|
+
interface RowSelectionChangeEvent<T = DynamicDataRecord> {
|
|
1201
|
+
selected: T[];
|
|
1202
|
+
source?: 'row' | 'header' | 'programmatic';
|
|
1203
|
+
}
|
|
1204
|
+
|
|
1137
1205
|
interface TableAiNavigationDestinationContext {
|
|
1138
1206
|
id?: string;
|
|
1139
1207
|
path: string;
|
|
@@ -1261,7 +1329,7 @@ type RuntimeRowAction = {
|
|
|
1261
1329
|
__praxisDiscoveryPending?: boolean;
|
|
1262
1330
|
};
|
|
1263
1331
|
type ExpansionDetailRuntimeStatus = 'idle' | 'loading' | 'ready' | 'error' | 'blocked';
|
|
1264
|
-
type ExpansionDetailResolvedSource = 'inline' | 'resource' | 'resourcePath' | 'hypermedia' | 'fallback';
|
|
1332
|
+
type ExpansionDetailResolvedSource = 'inline' | 'resource' | 'resourcePath' | 'hypermedia' | 'fallback' | 'schema';
|
|
1265
1333
|
type ExpansionDetailViewState = {
|
|
1266
1334
|
status: ExpansionDetailRuntimeStatus;
|
|
1267
1335
|
schema: Record<string, unknown> | null;
|
|
@@ -1312,6 +1380,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1312
1380
|
private _crudOperationResolver?;
|
|
1313
1381
|
private readonly runtimeObservationRegistry;
|
|
1314
1382
|
private readonly detailInlineRenderers;
|
|
1383
|
+
private readonly drawerRegistry;
|
|
1315
1384
|
private collectionLinks;
|
|
1316
1385
|
private collectionCapabilities;
|
|
1317
1386
|
private collectionCapabilitiesRequestHref;
|
|
@@ -1338,7 +1407,15 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1338
1407
|
autoOpenSettingsOnOutdated: boolean;
|
|
1339
1408
|
crudContext: any;
|
|
1340
1409
|
filterCriteria: Record<string, any>;
|
|
1410
|
+
filterTeleport: boolean;
|
|
1411
|
+
widgetId?: string;
|
|
1412
|
+
filterBarTemplate?: TemplateRef<unknown>;
|
|
1413
|
+
get filterTemplate(): TemplateRef<unknown> | undefined;
|
|
1414
|
+
private readonly widgetEventBus;
|
|
1341
1415
|
queryContext: PraxisDataQueryContextBridge | null;
|
|
1416
|
+
readonly queryContextClear: EventEmitter<PraxisTableQueryContextClearEvent>;
|
|
1417
|
+
readonly queryContextChange: EventEmitter<PraxisDataQueryContextBridge | null>;
|
|
1418
|
+
activeCrossFilters: PraxisTableCrossFilterItem[];
|
|
1342
1419
|
aiContext: TableAiContext | null;
|
|
1343
1420
|
aiAssistantVoiceInputMode: PraxisAssistantVoiceInputMode;
|
|
1344
1421
|
aiAssistantVoiceLanguage: string;
|
|
@@ -1352,10 +1429,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1352
1429
|
private advancedFilterMetadataOverridesCacheKey;
|
|
1353
1430
|
private advancedFilterMetadataOverridesCacheSource?;
|
|
1354
1431
|
private advancedFilterMetadataOverridesCache?;
|
|
1355
|
-
rowClick: EventEmitter<
|
|
1432
|
+
rowClick: EventEmitter<RowClickEvent<DynamicDataRecord>>;
|
|
1356
1433
|
widgetEvent: EventEmitter<any>;
|
|
1357
1434
|
resourceEvent: EventEmitter<PraxisResourceEvent<unknown>>;
|
|
1358
|
-
rowDoubleClick: EventEmitter<
|
|
1435
|
+
rowDoubleClick: EventEmitter<RowDoubleClickEvent<DynamicDataRecord>>;
|
|
1359
1436
|
rowExpansionChange: EventEmitter<RowExpansionChangeEvent>;
|
|
1360
1437
|
rowAction: EventEmitter<any>;
|
|
1361
1438
|
toolbarAction: EventEmitter<ToolbarActionEvent<any>>;
|
|
@@ -1376,6 +1453,12 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1376
1453
|
loadingStateChange: EventEmitter<LoadingState>;
|
|
1377
1454
|
collectionLinksChange: EventEmitter<RestApiLinks | null>;
|
|
1378
1455
|
selectionChange: EventEmitter<any>;
|
|
1456
|
+
drawerOpen: EventEmitter<DrawerOpenEvent<DynamicDataRecord>>;
|
|
1457
|
+
drawerClose: EventEmitter<void>;
|
|
1458
|
+
drawerTabChange: EventEmitter<string>;
|
|
1459
|
+
isAnalyticalDrawerOpen: boolean;
|
|
1460
|
+
analyticalDrawerRow: any | null;
|
|
1461
|
+
activeAnalyticalDrawerTabId?: string;
|
|
1379
1462
|
private latestLoadingState;
|
|
1380
1463
|
private loadingIndicatorVisible;
|
|
1381
1464
|
private loadingIndicatorDelayHandle;
|
|
@@ -1851,6 +1934,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1851
1934
|
private hasActiveEmptyStateFilters;
|
|
1852
1935
|
private hasMeaningfulFilterCriteria;
|
|
1853
1936
|
private hasMeaningfulFilterValue;
|
|
1937
|
+
computeActiveCrossFilters(): PraxisTableCrossFilterItem[];
|
|
1938
|
+
onClearCrossFilter(item: PraxisTableCrossFilterItem): void;
|
|
1939
|
+
onClearAllCrossFilters(): void;
|
|
1854
1940
|
private resolveNoDataStateConfig;
|
|
1855
1941
|
private isEmptyStateTone;
|
|
1856
1942
|
private isEmptyStateVariant;
|
|
@@ -1872,6 +1958,14 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
1872
1958
|
* race with the configured request.
|
|
1873
1959
|
*/
|
|
1874
1960
|
private shouldFetchRemoteDataForQueryChanges;
|
|
1961
|
+
/**
|
|
1962
|
+
* Evaluates whether an external TableConfig change actually modifies remote query parameters
|
|
1963
|
+
* (e.g. resourcePath, page size, sorting criteria or data mode).
|
|
1964
|
+
*
|
|
1965
|
+
* Non-query-affecting updates (such as toolbar actions, capabilities resolution, appearance,
|
|
1966
|
+
* density or empty state) MUST NOT trigger a redundant remote data load or cancel in-flight requests.
|
|
1967
|
+
*/
|
|
1968
|
+
private shouldRefetchOnConfigChange;
|
|
1875
1969
|
private isDebug;
|
|
1876
1970
|
private connectionKey;
|
|
1877
1971
|
private saveConnection;
|
|
@@ -2010,7 +2104,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
2010
2104
|
private isExpansionDetailRichListItemActionVisible;
|
|
2011
2105
|
private evaluateExpansionDetailRichListItemCondition;
|
|
2012
2106
|
getExpansionDetailRichText(node: any): string;
|
|
2013
|
-
getExpansionDetailRichContentContext(row: any, index: number): JsonLogicDataRecord;
|
|
2107
|
+
getExpansionDetailRichContentContext(row: any, index: number, node?: any): JsonLogicDataRecord;
|
|
2014
2108
|
getExpansionDetailRichContentDocument(node: any): RichContentDocument;
|
|
2015
2109
|
getExpansionDetailRichContentLayout(node: any): 'block' | 'inline';
|
|
2016
2110
|
getExpansionDetailRichContentHostCapabilities(row: any): RichBlockHostCapabilities;
|
|
@@ -2037,9 +2131,12 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
2037
2131
|
private resolveExpansionDetailSchemaForRow;
|
|
2038
2132
|
private resolveExpansionDetailByMode;
|
|
2039
2133
|
private resolveExpansionDetailInlineSchema;
|
|
2134
|
+
private resolveExpansionDetailFromSchema;
|
|
2135
|
+
private humanizeFieldName;
|
|
2040
2136
|
private resolveExpansionDetailFromResource;
|
|
2041
2137
|
private resolveExpansionDetailFromResourcePath;
|
|
2042
2138
|
private resolveExpansionDetailFromHypermedia;
|
|
2139
|
+
private isDirectRichContentDocument;
|
|
2043
2140
|
private normalizeExpansionDetailSchemaCandidate;
|
|
2044
2141
|
private sanitizeExpansionDetailSchema;
|
|
2045
2142
|
private sanitizeExpansionDetailNodes;
|
|
@@ -2093,6 +2190,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
2093
2190
|
private areStringSetsEqual;
|
|
2094
2191
|
private shouldToggleExpansionOnRowClick;
|
|
2095
2192
|
private shouldSelectRowOnRowClick;
|
|
2193
|
+
isAnalyticalDrawerEnabled(): boolean;
|
|
2194
|
+
private shouldOpenAnalyticalDrawerOnRowClick;
|
|
2195
|
+
openAnalyticalDrawer(row: any, tabId?: string): void;
|
|
2196
|
+
closeAnalyticalDrawer(): void;
|
|
2197
|
+
onAnalyticalDrawerTabChange(tabId: string): void;
|
|
2096
2198
|
private getExpansionMotionPreset;
|
|
2097
2199
|
private getExpansionMotionDurationMs;
|
|
2098
2200
|
private getExpansionMotionEasingCurve;
|
|
@@ -2185,6 +2287,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
2185
2287
|
onAdvancedFilterSubmit(criteria: Record<string, any>): void;
|
|
2186
2288
|
onAdvancedFilterChange(criteria: Record<string, any>): void;
|
|
2187
2289
|
onAdvancedFilterClear(): void;
|
|
2290
|
+
clearAdvancedFilter(): void;
|
|
2188
2291
|
onQuickFilterChange(event: {
|
|
2189
2292
|
id: string;
|
|
2190
2293
|
filter: Record<string, unknown>;
|
|
@@ -2192,7 +2295,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
2192
2295
|
}): void;
|
|
2193
2296
|
private clearQuickFilterRuntimeState;
|
|
2194
2297
|
private hasEquivalentFilterCriteria;
|
|
2195
|
-
|
|
2298
|
+
applyAdvancedFilterCriteria(criteria: Record<string, any> | null | undefined, reason?: string): void;
|
|
2196
2299
|
private setAdvancedFilterCriteria;
|
|
2197
2300
|
private syncAdvancedFilterValueFromCriteria;
|
|
2198
2301
|
private deriveRuntimeVisibleAdvancedFilterFields;
|
|
@@ -2585,6 +2688,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
2585
2688
|
getIconText(row: any, column: ColumnDefinition): string | null;
|
|
2586
2689
|
getIconRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
|
|
2587
2690
|
private getIconRawText;
|
|
2691
|
+
/**
|
|
2692
|
+
* Enriquece as linhas com propriedades calculadas declaradas em `computedFields`.
|
|
2693
|
+
* Torna as propriedades virtuais fisicamente acessíveis no objeto da linha (Issue #34).
|
|
2694
|
+
*/
|
|
2695
|
+
private enrichRowsWithComputedFields;
|
|
2588
2696
|
/**
|
|
2589
2697
|
* Lightweight, controlled evaluator for string/number expressions using row context.
|
|
2590
2698
|
* Accepts values like '= row.status === "OK" ? "primary" : "warn"'.
|
|
@@ -2876,7 +2984,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
|
|
|
2876
2984
|
private scheduleRowDiscoveryMarkForCheck;
|
|
2877
2985
|
ngOnDestroy(): void;
|
|
2878
2986
|
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; }]>;
|
|
2879
|
-
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>;
|
|
2987
|
+
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>;
|
|
2988
|
+
static ngAcceptInputType_filterTeleport: unknown;
|
|
2880
2989
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
2881
2990
|
}
|
|
2882
2991
|
|
|
@@ -4646,6 +4755,143 @@ declare class PraxisFilterWidgetConfigEditor implements SettingsValueProvider$1,
|
|
|
4646
4755
|
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>;
|
|
4647
4756
|
}
|
|
4648
4757
|
|
|
4758
|
+
/**
|
|
4759
|
+
* Interface mínima estrutural para qualquer componente que suporte teleporte de filtros
|
|
4760
|
+
* (ex.: PraxisTable ou PraxisCrudComponent).
|
|
4761
|
+
*/
|
|
4762
|
+
interface PraxisFilterTeleportHost {
|
|
4763
|
+
filterTeleport?: boolean;
|
|
4764
|
+
filterTemplate?: TemplateRef<unknown>;
|
|
4765
|
+
filterBarTemplate?: TemplateRef<unknown>;
|
|
4766
|
+
table?: PraxisFilterTeleportHost;
|
|
4767
|
+
}
|
|
4768
|
+
type PraxisFilterOutletTarget = PraxisFilterTeleportHost | TemplateRef<unknown> | null | undefined;
|
|
4769
|
+
/**
|
|
4770
|
+
* Praxis UI Platform — Canonical Filter Outlet Component (Issue #11)
|
|
4771
|
+
*
|
|
4772
|
+
* Renderiza a barra de filtros avançados desacoplada da tabela de dados ou do CRUD,
|
|
4773
|
+
* permitindo acomodá-la em qualquer card, drawer ou cabeçalho superior tático.
|
|
4774
|
+
*
|
|
4775
|
+
* @example
|
|
4776
|
+
* ```html
|
|
4777
|
+
* <div class="filters-card">
|
|
4778
|
+
* <praxis-filter-outlet [target]="heroesCrud" />
|
|
4779
|
+
* </div>
|
|
4780
|
+
*
|
|
4781
|
+
* <praxis-crud #heroesCrud ... />
|
|
4782
|
+
* ```
|
|
4783
|
+
*/
|
|
4784
|
+
declare class PraxisFilterOutletComponent implements OnChanges, AfterViewInit, OnDestroy {
|
|
4785
|
+
target: PraxisFilterOutletTarget;
|
|
4786
|
+
private readonly cdr;
|
|
4787
|
+
private previousHost?;
|
|
4788
|
+
get resolvedTemplate(): TemplateRef<unknown> | null;
|
|
4789
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
4790
|
+
ngAfterViewInit(): void;
|
|
4791
|
+
ngOnDestroy(): void;
|
|
4792
|
+
private attachTeleportTarget;
|
|
4793
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisFilterOutletComponent, never>;
|
|
4794
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisFilterOutletComponent, "praxis-filter-outlet", never, { "target": { "alias": "target"; "required": false; }; }, {}, never, never, true, never>;
|
|
4795
|
+
}
|
|
4796
|
+
/**
|
|
4797
|
+
* Praxis UI Platform — Canonical Filter Outlet Directive (Issue #11)
|
|
4798
|
+
*
|
|
4799
|
+
* Diretiva estrutural alternativa para teleporte reativo da barra de filtros.
|
|
4800
|
+
*
|
|
4801
|
+
* @example
|
|
4802
|
+
* ```html
|
|
4803
|
+
* <div class="filters-card">
|
|
4804
|
+
* <ng-container *praxisFilterOutlet="heroesCrud"></ng-container>
|
|
4805
|
+
* </div>
|
|
4806
|
+
* ```
|
|
4807
|
+
*/
|
|
4808
|
+
declare class PraxisFilterOutletDirective implements OnChanges, AfterViewInit, OnDestroy {
|
|
4809
|
+
target: PraxisFilterOutletTarget;
|
|
4810
|
+
private readonly viewContainer;
|
|
4811
|
+
private readonly cdr;
|
|
4812
|
+
private previousHost?;
|
|
4813
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
4814
|
+
ngAfterViewInit(): void;
|
|
4815
|
+
ngOnDestroy(): void;
|
|
4816
|
+
private updateView;
|
|
4817
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisFilterOutletDirective, never>;
|
|
4818
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<PraxisFilterOutletDirective, "[praxisFilterOutlet]", never, { "target": { "alias": "praxisFilterOutlet"; "required": false; }; }, {}, never, never, true, never>;
|
|
4819
|
+
}
|
|
4820
|
+
|
|
4821
|
+
interface PraxisScopeBarItem {
|
|
4822
|
+
id: string;
|
|
4823
|
+
label: string;
|
|
4824
|
+
filter?: Record<string, unknown> | string;
|
|
4825
|
+
count?: number | null;
|
|
4826
|
+
icon?: string;
|
|
4827
|
+
tone?: 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'ready';
|
|
4828
|
+
isDefault?: boolean;
|
|
4829
|
+
tooltip?: string;
|
|
4830
|
+
}
|
|
4831
|
+
interface PraxisScopeBarConfig {
|
|
4832
|
+
items?: PraxisScopeBarItem[];
|
|
4833
|
+
activeId?: string;
|
|
4834
|
+
showOmnibox?: boolean;
|
|
4835
|
+
omniboxPlaceholder?: string;
|
|
4836
|
+
leadIcon?: string;
|
|
4837
|
+
leadLabel?: string;
|
|
4838
|
+
showClearButton?: boolean;
|
|
4839
|
+
clearLabel?: string;
|
|
4840
|
+
searchField?: string;
|
|
4841
|
+
}
|
|
4842
|
+
declare class PraxisScopeBarComponent implements OnInit {
|
|
4843
|
+
private readonly eventBus;
|
|
4844
|
+
private readonly destroyRef;
|
|
4845
|
+
chipsTrack?: ElementRef<HTMLElement>;
|
|
4846
|
+
private readonly itemsSignal;
|
|
4847
|
+
set items(val: PraxisScopeBarItem[] | undefined);
|
|
4848
|
+
get items(): PraxisScopeBarItem[] | undefined;
|
|
4849
|
+
set activeId(val: string | undefined);
|
|
4850
|
+
get activeId(): string | undefined;
|
|
4851
|
+
readonly activeIdChange: EventEmitter<string>;
|
|
4852
|
+
showOmnibox: boolean;
|
|
4853
|
+
omniboxPlaceholder: string;
|
|
4854
|
+
set omniboxValue(val: string | undefined);
|
|
4855
|
+
get omniboxValue(): string | undefined;
|
|
4856
|
+
readonly omniboxValueChange: EventEmitter<string>;
|
|
4857
|
+
omniboxDebounceMs: number;
|
|
4858
|
+
leadIcon: string;
|
|
4859
|
+
leadLabel?: string;
|
|
4860
|
+
showClearButton: boolean;
|
|
4861
|
+
clearLabel: string;
|
|
4862
|
+
private readonly targetSignal;
|
|
4863
|
+
set target(val: any);
|
|
4864
|
+
get target(): any;
|
|
4865
|
+
targetWidgetId?: string;
|
|
4866
|
+
scopeBarId: string;
|
|
4867
|
+
searchField: string;
|
|
4868
|
+
readonly scopeChange: EventEmitter<PraxisScopeBarItem>;
|
|
4869
|
+
readonly searchChange: EventEmitter<string>;
|
|
4870
|
+
readonly filterCriteriaChange: EventEmitter<Record<string, unknown>>;
|
|
4871
|
+
readonly clear: EventEmitter<void>;
|
|
4872
|
+
private readonly searchSubject$;
|
|
4873
|
+
readonly currentActiveId: i0.WritableSignal<string | null>;
|
|
4874
|
+
readonly currentSearchText: i0.WritableSignal<string>;
|
|
4875
|
+
readonly effectiveItems: i0.Signal<PraxisScopeBarItem[]>;
|
|
4876
|
+
ngOnInit(): void;
|
|
4877
|
+
isItemActive(item: PraxisScopeBarItem): boolean;
|
|
4878
|
+
selectScope(item: PraxisScopeBarItem): void;
|
|
4879
|
+
onSearchInput(event: Event): void;
|
|
4880
|
+
clearSearch(): void;
|
|
4881
|
+
resetFilters(): void;
|
|
4882
|
+
canClear(): boolean;
|
|
4883
|
+
onTrackKeydown(event: KeyboardEvent): void;
|
|
4884
|
+
private dispatchFilters;
|
|
4885
|
+
private applyCriteriaToTarget;
|
|
4886
|
+
private discoverItemsFromTarget;
|
|
4887
|
+
private normalizeFilter;
|
|
4888
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisScopeBarComponent, never>;
|
|
4889
|
+
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>;
|
|
4890
|
+
static ngAcceptInputType_showOmnibox: unknown;
|
|
4891
|
+
static ngAcceptInputType_omniboxDebounceMs: unknown;
|
|
4892
|
+
static ngAcceptInputType_showClearButton: unknown;
|
|
4893
|
+
}
|
|
4894
|
+
|
|
4649
4895
|
declare class DataFormatterComponent implements OnInit, OnChanges {
|
|
4650
4896
|
private cdr;
|
|
4651
4897
|
private formattingService;
|
|
@@ -5465,5 +5711,134 @@ declare function coerceTableComponentEditPlan(value: unknown): TableComponentEdi
|
|
|
5465
5711
|
declare function compileTableComponentEditPlans(plans: TableComponentEditPlan[], currentConfig: TableConfig): TableComponentEditPlanCompileResult;
|
|
5466
5712
|
declare function compileTableComponentEditPlan(plan: TableComponentEditPlan, currentConfig: TableConfig): TableComponentEditPlanCompileResult;
|
|
5467
5713
|
|
|
5468
|
-
|
|
5469
|
-
|
|
5714
|
+
declare function isAnalyticalDrawerSchema(schema: unknown): schema is PraxisAnalyticalDrawerSchema;
|
|
5715
|
+
declare function interpolateRelationEndpoint(endpoint: string, row: Record<string, unknown> | null | undefined): {
|
|
5716
|
+
url: string;
|
|
5717
|
+
hasMissingTokens: boolean;
|
|
5718
|
+
};
|
|
5719
|
+
declare class PraxisAnalyticalDrawerComponent implements OnInit, OnChanges, OnDestroy {
|
|
5720
|
+
private _isOpen;
|
|
5721
|
+
private previousActiveElement;
|
|
5722
|
+
handleDocumentEscape(event?: Event): void;
|
|
5723
|
+
set isOpen(value: boolean);
|
|
5724
|
+
get isOpen(): boolean;
|
|
5725
|
+
private _resourcePath?;
|
|
5726
|
+
set resourcePath(value: string | undefined);
|
|
5727
|
+
get resourcePath(): string | undefined;
|
|
5728
|
+
surfaceName: string;
|
|
5729
|
+
private _drawerConfig;
|
|
5730
|
+
set drawerConfig(value: TableDrawerConfig | null);
|
|
5731
|
+
get drawerConfig(): TableDrawerConfig | null;
|
|
5732
|
+
private _row;
|
|
5733
|
+
set row(value: any | null);
|
|
5734
|
+
get row(): any | null;
|
|
5735
|
+
relations: Record<string, unknown>;
|
|
5736
|
+
loadingRelations: boolean;
|
|
5737
|
+
closeDrawer: EventEmitter<void>;
|
|
5738
|
+
tabChange: EventEmitter<string>;
|
|
5739
|
+
relationFetch: EventEmitter<{
|
|
5740
|
+
key: string;
|
|
5741
|
+
endpoint: string;
|
|
5742
|
+
}>;
|
|
5743
|
+
protected readonly activeTabId: i0.WritableSignal<string>;
|
|
5744
|
+
protected readonly customRelations: i0.WritableSignal<Record<string, unknown>>;
|
|
5745
|
+
protected readonly isFetchingRelations: i0.WritableSignal<boolean>;
|
|
5746
|
+
protected readonly resolvedRemoteConfig: i0.WritableSignal<TableDrawerConfig | null>;
|
|
5747
|
+
protected readonly isResolvingSchema: i0.WritableSignal<boolean>;
|
|
5748
|
+
private readonly evaluator;
|
|
5749
|
+
private readonly http;
|
|
5750
|
+
private readonly drawerRegistry;
|
|
5751
|
+
private readonly apiUrl;
|
|
5752
|
+
private readonly sanitizer;
|
|
5753
|
+
private readonly formattingService;
|
|
5754
|
+
private relationSubs;
|
|
5755
|
+
private schemaSub?;
|
|
5756
|
+
private static readonly urlCache;
|
|
5757
|
+
private static readonly schemaCache;
|
|
5758
|
+
private lastFetchedKey;
|
|
5759
|
+
private lastResolvingKey;
|
|
5760
|
+
static clearCache(): void;
|
|
5761
|
+
private resolveUrl;
|
|
5762
|
+
ngOnInit(): void;
|
|
5763
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
5764
|
+
ngOnDestroy(): void;
|
|
5765
|
+
getEffectiveDrawerConfig(): TableDrawerConfig | null;
|
|
5766
|
+
private mergeTabs;
|
|
5767
|
+
private resolveRemoteDrawerMetadata;
|
|
5768
|
+
protected onClose(): void;
|
|
5769
|
+
protected onBackdropClick(event: MouseEvent): void;
|
|
5770
|
+
protected selectTab(tabId: string): void;
|
|
5771
|
+
private getAnalyticalSchema;
|
|
5772
|
+
protected resolvedTabs: i0.Signal<PraxisAnalyticalDrawerTab[]>;
|
|
5773
|
+
private generateAutoOverviewProperties;
|
|
5774
|
+
private formatPropertyLabel;
|
|
5775
|
+
protected resolvedTitle: i0.Signal<string>;
|
|
5776
|
+
protected resolvedSubtitle: i0.Signal<string>;
|
|
5777
|
+
protected resolvedClassificationPill: i0.Signal<string>;
|
|
5778
|
+
protected resolvedWidth: i0.Signal<string>;
|
|
5779
|
+
protected getDrawerIcon(): string;
|
|
5780
|
+
protected getEvaluationContext(): Record<string, unknown>;
|
|
5781
|
+
protected isCardGridContent(content: unknown): boolean;
|
|
5782
|
+
protected asCardGrid(content: unknown): {
|
|
5783
|
+
columns?: number;
|
|
5784
|
+
cards?: any[];
|
|
5785
|
+
};
|
|
5786
|
+
protected getGridColumnsStyle(columns?: number): string;
|
|
5787
|
+
protected isRichContentDocument(content: unknown): boolean;
|
|
5788
|
+
protected asRichContentDocument(content: unknown): RichContentDocument;
|
|
5789
|
+
protected isPropertyGrid(content: unknown): boolean;
|
|
5790
|
+
protected asPropertyGrid(content: unknown): any[];
|
|
5791
|
+
protected isArray(val: unknown): boolean;
|
|
5792
|
+
protected evaluateAndFormatMetric(item: any): string;
|
|
5793
|
+
protected evaluatePropertyValue(item: any): string;
|
|
5794
|
+
protected renderMicroViz(viz: PraxisPresentationVisualizationConfig | undefined, item: any): SafeHtml;
|
|
5795
|
+
private syncActiveTab;
|
|
5796
|
+
private fetchConfiguredRelations;
|
|
5797
|
+
private cancelRelationRequests;
|
|
5798
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisAnalyticalDrawerComponent, never>;
|
|
5799
|
+
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>;
|
|
5800
|
+
}
|
|
5801
|
+
|
|
5802
|
+
type AnalyticalDrawerSchemaOrConfig = PraxisAnalyticalDrawerSchema | TableDrawerConfig;
|
|
5803
|
+
declare const PRAXIS_ANALYTICAL_DRAWER_SCHEMAS: InjectionToken<Record<string, AnalyticalDrawerSchemaOrConfig> | Record<string, AnalyticalDrawerSchemaOrConfig>[]>;
|
|
5804
|
+
/**
|
|
5805
|
+
* Registra esquemas de gavetas analíticas por coordenada de recurso (ex.: 'operations/incidentes').
|
|
5806
|
+
* Pode ser chamado no app.config.ts ou em providers de rotas/módulos.
|
|
5807
|
+
*/
|
|
5808
|
+
declare function providePraxisAnalyticalDrawerSchemas(schemas: Record<string, AnalyticalDrawerSchemaOrConfig>): Provider;
|
|
5809
|
+
declare class AnalyticalDrawerRegistryService {
|
|
5810
|
+
private readonly registry;
|
|
5811
|
+
constructor();
|
|
5812
|
+
register(resourcePath: string, schema: AnalyticalDrawerSchemaOrConfig): void;
|
|
5813
|
+
registerAll(schemas: Record<string, AnalyticalDrawerSchemaOrConfig>): void;
|
|
5814
|
+
get(resourcePath: string): AnalyticalDrawerSchemaOrConfig | undefined;
|
|
5815
|
+
has(resourcePath: string): boolean;
|
|
5816
|
+
clear(): void;
|
|
5817
|
+
normalizeKey(path: string | undefined | null): string;
|
|
5818
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticalDrawerRegistryService, never>;
|
|
5819
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticalDrawerRegistryService>;
|
|
5820
|
+
}
|
|
5821
|
+
|
|
5822
|
+
interface ComputedFieldsEvaluationOptions {
|
|
5823
|
+
evaluator?: SafeExpressionEvaluator;
|
|
5824
|
+
formattingService?: {
|
|
5825
|
+
formatValue: (value: any, columnType: any, formatString: string) => any;
|
|
5826
|
+
} | null;
|
|
5827
|
+
}
|
|
5828
|
+
/**
|
|
5829
|
+
* Normaliza a definição de um campo computado (aceita string simples ou objeto estruturado).
|
|
5830
|
+
*/
|
|
5831
|
+
declare function normalizeComputedFieldDefinition(raw: PraxisComputedFieldDefinition | string): PraxisComputedFieldDefinition;
|
|
5832
|
+
/**
|
|
5833
|
+
* Formata um valor calculado com suporte a moedas, porcentagens, números e formato compacto corporativo (ex: R$ 3,1M).
|
|
5834
|
+
*/
|
|
5835
|
+
declare function formatComputedFieldValue(value: unknown, format?: string, type?: string, formattingService?: ComputedFieldsEvaluationOptions['formattingService']): unknown;
|
|
5836
|
+
/**
|
|
5837
|
+
* Enriquece uma coleção de linhas com as propriedades calculadas declaradas em `computedFieldsConfig`.
|
|
5838
|
+
* Executado durante o pipeline de ingestão de dados, tornando as propriedades computadas
|
|
5839
|
+
* nativamente visíveis para colunas, sorting, filtros, gavetas analíticas e exportação.
|
|
5840
|
+
*/
|
|
5841
|
+
declare function applyComputedFieldsToRows<T extends Record<string, any> = Record<string, any>>(rows: T[], computedFieldsConfig?: PraxisComputedFieldsConfig | null, options?: ComputedFieldsEvaluationOptions): T[];
|
|
5842
|
+
|
|
5843
|
+
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 };
|
|
5844
|
+
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 };
|