@praxisui/table 3.0.0-beta.9 → 4.0.0-beta.0
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 +49 -0
- package/fesm2022/praxisui-table.mjs +3056 -1022
- package/index.d.ts +197 -9
- package/package.json +7 -7
package/index.d.ts
CHANGED
|
@@ -10,13 +10,14 @@ import { CdkDragDrop, CdkDragEnd, CdkDrag, CdkDropList } from '@angular/cdk/drag
|
|
|
10
10
|
import { BehaviorSubject, Subscription, Observable } from 'rxjs';
|
|
11
11
|
import { SettingsPanelService, SettingsValueProvider } from '@praxisui/settings-panel';
|
|
12
12
|
import * as _praxisui_core from '@praxisui/core';
|
|
13
|
-
import { TableConfig, LoggerService, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, LoadingState, ColumnDefinition, ConnectionStorage, LoadingOrchestrator, PraxisLoadingRenderer, GlobalActionSpec, IconPickerService, SurfaceOpenPayload, GlobalActionField, TableConfigService, FieldDefinition, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog } from '@praxisui/core';
|
|
13
|
+
import { TableConfig, LoggerService, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, LoadingState, RestApiLinks, ColumnDefinition, ConnectionStorage, ResourceDiscoveryService, LoadingOrchestrator, PraxisLoadingRenderer, ResourceActionCatalogItem, GlobalActionSpec, IconPickerService, SurfaceOpenPayload, GlobalActionField, TableConfigService, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, AnalyticsSchemaContractService, AnalyticsPresentationResolver, FieldDefinition, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog } from '@praxisui/core';
|
|
14
14
|
import { FunctionRegistry, DslParser } from '@praxisui/specification';
|
|
15
15
|
import { FormGroup, FormControl, FormBuilder } from '@angular/forms';
|
|
16
16
|
import { MatDialog } from '@angular/material/dialog';
|
|
17
17
|
import { CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';
|
|
18
18
|
import { PraxisDialog } from '@praxisui/dialog';
|
|
19
19
|
import { MatTabChangeEvent } from '@angular/material/tabs';
|
|
20
|
+
import { HttpClient } from '@angular/common/http';
|
|
20
21
|
import * as _angular_material_paginator_d_Zo1cMMo4 from '@angular/material/paginator.d-Zo1cMMo4';
|
|
21
22
|
import { MatCheckboxChange } from '@angular/material/checkbox';
|
|
22
23
|
import * as _praxisui_table_rule_builder from '@praxisui/table-rule-builder';
|
|
@@ -833,8 +834,20 @@ type RowActionRuntimeOptions = {
|
|
|
833
834
|
payload?: any;
|
|
834
835
|
actionConfig?: any;
|
|
835
836
|
};
|
|
837
|
+
type RuntimeRowAction = {
|
|
838
|
+
id: string;
|
|
839
|
+
action: string;
|
|
840
|
+
label?: string;
|
|
841
|
+
icon?: string;
|
|
842
|
+
color?: string;
|
|
843
|
+
tooltip?: string;
|
|
844
|
+
disabled?: boolean;
|
|
845
|
+
overflow?: boolean;
|
|
846
|
+
__praxisDiscoveredAction?: ResourceActionCatalogItem;
|
|
847
|
+
__praxisCapabilityDenied?: boolean;
|
|
848
|
+
};
|
|
836
849
|
type ExpansionDetailRuntimeStatus = 'idle' | 'loading' | 'ready' | 'error' | 'blocked';
|
|
837
|
-
type ExpansionDetailResolvedSource = 'inline' | 'resource' | 'resourcePath' | 'fallback';
|
|
850
|
+
type ExpansionDetailResolvedSource = 'inline' | 'resource' | 'resourcePath' | 'hypermedia' | 'fallback';
|
|
838
851
|
type ExpansionDetailViewState = {
|
|
839
852
|
status: ExpansionDetailRuntimeStatus;
|
|
840
853
|
schema: Record<string, unknown> | null;
|
|
@@ -854,6 +867,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
854
867
|
private connectionStorage;
|
|
855
868
|
private hostRef;
|
|
856
869
|
private global;
|
|
870
|
+
private resourceDiscovery;
|
|
857
871
|
private componentKeys;
|
|
858
872
|
private loadingOrchestrator;
|
|
859
873
|
private loadingRenderer?;
|
|
@@ -861,6 +875,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
861
875
|
private logger?;
|
|
862
876
|
private static dslRuntimeInstanceCounter;
|
|
863
877
|
private static readonly CELL_ANIMATION_CHANGE_CACHE_LIMIT;
|
|
878
|
+
private static readonly ROW_DISCOVERY_SUCCESS_CACHE_TTL_MS;
|
|
879
|
+
private static readonly ROW_DISCOVERY_ERROR_CACHE_TTL_MS;
|
|
880
|
+
private static readonly ROW_DISCOVERY_CACHE_LIMIT;
|
|
881
|
+
private static readonly ROW_DISCOVERY_MAX_CONCURRENT_REQUESTS;
|
|
864
882
|
private static readonly ROW_ANIMATION_PRESETS;
|
|
865
883
|
private static readonly ROW_ANIMATION_PRESET_ALIASES;
|
|
866
884
|
config: TableConfig;
|
|
@@ -896,6 +914,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
896
914
|
schemaStatusChange: EventEmitter<any>;
|
|
897
915
|
metadataChange: EventEmitter<any>;
|
|
898
916
|
loadingStateChange: EventEmitter<LoadingState>;
|
|
917
|
+
collectionLinksChange: EventEmitter<RestApiLinks | null>;
|
|
899
918
|
paginator: MatPaginator;
|
|
900
919
|
sort: MatSort;
|
|
901
920
|
materialTable?: MatTable<any>;
|
|
@@ -940,6 +959,24 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
940
959
|
private expansionDetailSourceByRowKey;
|
|
941
960
|
private expansionDetailAbortByRowKey;
|
|
942
961
|
private expansionDetailActiveTabByRowKey;
|
|
962
|
+
private rowCapabilitySnapshotByHref;
|
|
963
|
+
private rowCapabilityCachedAtByHref;
|
|
964
|
+
private rowCapabilityErrorHrefs;
|
|
965
|
+
private rowCapabilityErrorCachedAtByHref;
|
|
966
|
+
private rowCapabilityInFlightByHref;
|
|
967
|
+
private rowActionCatalogByHref;
|
|
968
|
+
private rowActionCachedAtByHref;
|
|
969
|
+
private rowActionErrorHrefs;
|
|
970
|
+
private rowActionErrorCachedAtByHref;
|
|
971
|
+
private rowActionInFlightByHref;
|
|
972
|
+
private rowDiscoveryMetricsByRel;
|
|
973
|
+
private rowContextRuntimeByRef;
|
|
974
|
+
private rowDiscoveryQueue;
|
|
975
|
+
private rowDiscoveryActiveRequests;
|
|
976
|
+
private rowDiscoveryEpoch;
|
|
977
|
+
private rowDiscoveryMarkForCheckScheduled;
|
|
978
|
+
private lastRowDiscoveryScopeKey;
|
|
979
|
+
private readonly i18n;
|
|
943
980
|
private schemaFieldsSnapshot;
|
|
944
981
|
private runtimeSchemaMeta;
|
|
945
982
|
schemaError: boolean;
|
|
@@ -1069,8 +1106,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1069
1106
|
private filterConfigKey;
|
|
1070
1107
|
private ensureConfigDefaults;
|
|
1071
1108
|
private setShowToolbar;
|
|
1109
|
+
private shouldExposeToolbar;
|
|
1072
1110
|
private configureDslRuntime;
|
|
1073
|
-
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, componentKeys: ComponentKeyService, loadingOrchestrator: LoadingOrchestrator, loadingRenderer?: PraxisLoadingRenderer | undefined, route?: ActivatedRoute | undefined, logger?: LoggerService | undefined);
|
|
1111
|
+
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, resourceDiscovery: ResourceDiscoveryService, componentKeys: ComponentKeyService, loadingOrchestrator: LoadingOrchestrator, loadingRenderer?: PraxisLoadingRenderer | undefined, route?: ActivatedRoute | undefined, logger?: LoggerService | undefined);
|
|
1074
1112
|
private ensureAiAdapterLoaded;
|
|
1075
1113
|
private emitLoadingState;
|
|
1076
1114
|
private buildLoadingContext;
|
|
@@ -1128,6 +1166,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1128
1166
|
private resolveExpansionDetailInlineSchema;
|
|
1129
1167
|
private resolveExpansionDetailFromResource;
|
|
1130
1168
|
private resolveExpansionDetailFromResourcePath;
|
|
1169
|
+
private resolveExpansionDetailFromHypermedia;
|
|
1131
1170
|
private normalizeExpansionDetailSchemaCandidate;
|
|
1132
1171
|
private sanitizeExpansionDetailSchema;
|
|
1133
1172
|
private sanitizeExpansionDetailNodes;
|
|
@@ -1142,6 +1181,13 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1142
1181
|
private resolveExpansionContextValue;
|
|
1143
1182
|
private buildExpansionContextRecord;
|
|
1144
1183
|
private getExpansionFallbackMode;
|
|
1184
|
+
private loadExpansionHypermediaSnapshot;
|
|
1185
|
+
private buildExpansionHypermediaDetailSchema;
|
|
1186
|
+
private selectExpansionHypermediaPrimarySurface;
|
|
1187
|
+
private buildExpansionHypermediaOperationItems;
|
|
1188
|
+
private buildExpansionHypermediaWorkflowActionItems;
|
|
1189
|
+
private getExpansionHypermediaMessage;
|
|
1190
|
+
private describeExpansionHypermediaSurface;
|
|
1145
1191
|
private getExpansionFallbackNodePolicy;
|
|
1146
1192
|
private getExpansionAllowedNodesSet;
|
|
1147
1193
|
private validateExpansionDetailRendererContract;
|
|
@@ -1278,6 +1324,58 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1278
1324
|
* Refined logic to reduce false positives
|
|
1279
1325
|
*/
|
|
1280
1326
|
private inferFieldTypeFromFieldName;
|
|
1327
|
+
private clearRowDiscoveryRuntime;
|
|
1328
|
+
private buildRowDiscoveryScopeKey;
|
|
1329
|
+
private resetRowContextRuntimeState;
|
|
1330
|
+
private enqueueRowDiscoveryRequest;
|
|
1331
|
+
private drainRowDiscoveryQueue;
|
|
1332
|
+
private buildRowDiscoveryOptions;
|
|
1333
|
+
private getRowLinks;
|
|
1334
|
+
private resolveRowDiscoveryHref;
|
|
1335
|
+
private prefetchRowDiscovery;
|
|
1336
|
+
private ensureRowDiscovery;
|
|
1337
|
+
private ensureRowCapabilitySnapshot;
|
|
1338
|
+
private ensureRowActionCatalog;
|
|
1339
|
+
private getCachedRowCapabilitySnapshot;
|
|
1340
|
+
private hasResolvedRowActionCatalog;
|
|
1341
|
+
isRowDiscoveryPending(row: any): boolean;
|
|
1342
|
+
private getCachedRowActionCatalog;
|
|
1343
|
+
private shouldUseRowDiscovery;
|
|
1344
|
+
private shouldPrefetchRowDiscovery;
|
|
1345
|
+
private hasRowContextualDiscoveryEntryPoint;
|
|
1346
|
+
private hasRowContextualDiscoveryEntryPointRaw;
|
|
1347
|
+
hasRowOverflowMenuLoadingState(row: any): boolean;
|
|
1348
|
+
getRowOverflowMenuLoadingLabel(): string;
|
|
1349
|
+
hasRowOverflowMenuEmptyState(row: any): boolean;
|
|
1350
|
+
getRowOverflowMenuEmptyLabel(row: any): string;
|
|
1351
|
+
private getLegacyRowOverflowMenuEmptyLabel;
|
|
1352
|
+
private getRowDiscoveryMetricSnapshot;
|
|
1353
|
+
private createEmptyRowDiscoveryMetricSnapshot;
|
|
1354
|
+
private incrementRowDiscoveryMetric;
|
|
1355
|
+
private setRowDiscoveryLastResolvedAt;
|
|
1356
|
+
private resolveRowDiscoveryRuntimeStatus;
|
|
1357
|
+
private resolveRowDiscoveryRuntimeStatusRaw;
|
|
1358
|
+
private getRowContextRuntimeState;
|
|
1359
|
+
private buildRowContextRuntimeState;
|
|
1360
|
+
private resolveRowContextRuntimeValidUntil;
|
|
1361
|
+
private resolveRowDiscoveryRelValidUntil;
|
|
1362
|
+
private getRowDiscoveryPendingRowCount;
|
|
1363
|
+
private getRowDiscoveryDebugSnapshot;
|
|
1364
|
+
private hasFreshRowCapabilitySnapshot;
|
|
1365
|
+
private hasFreshRowActionCatalog;
|
|
1366
|
+
private hasFreshRowCapabilityError;
|
|
1367
|
+
private hasFreshRowActionError;
|
|
1368
|
+
private hasFreshRowDiscoveryEntry;
|
|
1369
|
+
private hasFreshRowDiscoveryError;
|
|
1370
|
+
private rememberRowCapabilitySnapshot;
|
|
1371
|
+
private rememberRowActionCatalog;
|
|
1372
|
+
private rememberRowCapabilityError;
|
|
1373
|
+
private rememberRowActionError;
|
|
1374
|
+
private clearRowCapabilityError;
|
|
1375
|
+
private clearRowActionError;
|
|
1376
|
+
private enforceRowDiscoveryCacheLimit;
|
|
1377
|
+
private pruneRowDiscoveryCaches;
|
|
1378
|
+
private pruneRowDiscoveryCache;
|
|
1281
1379
|
private fetchData;
|
|
1282
1380
|
private getEffectiveFilterCriteria;
|
|
1283
1381
|
retryData(): void;
|
|
@@ -1549,15 +1647,33 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1549
1647
|
getInlineRowActions(row: any): any[];
|
|
1550
1648
|
getOverflowRowActions(row: any): any[];
|
|
1551
1649
|
hasOverflowRowActions(row: any): boolean;
|
|
1650
|
+
onRowOverflowMenuOpened(row: any): void;
|
|
1552
1651
|
private getVisibleRowActions;
|
|
1652
|
+
private getResolvedRowActions;
|
|
1653
|
+
private buildResolvedRowActions;
|
|
1654
|
+
private splitVisibleRowActionsFromVisible;
|
|
1655
|
+
private decorateConfiguredRowAction;
|
|
1656
|
+
private getDiscoveredRowWorkflowActions;
|
|
1657
|
+
private getDiscoveredRowWorkflowActionsFromCatalog;
|
|
1658
|
+
private supportsRowCrudAction;
|
|
1659
|
+
private isCapabilityManagedCrudRowAction;
|
|
1660
|
+
private findItemWorkflowAction;
|
|
1661
|
+
private getUnavailableWorkflowMessage;
|
|
1662
|
+
private normalizeActionId;
|
|
1553
1663
|
private isActionVisible;
|
|
1554
1664
|
trackAction(index: number, item: any): any;
|
|
1555
1665
|
isActionDisabled(action: any, row: any): boolean;
|
|
1666
|
+
getRowActionRuntimeOptions(action: RuntimeRowAction, row: any): RowActionRuntimeOptions | undefined;
|
|
1667
|
+
isWorkflowRowAction(action: RuntimeRowAction | any): boolean;
|
|
1668
|
+
isBlockedWorkflowRowAction(action: RuntimeRowAction | any, row: any): boolean;
|
|
1669
|
+
getActionTooltip(action: RuntimeRowAction | any, row: any): string | null;
|
|
1670
|
+
getRowMenuTooltip(row: any): string;
|
|
1556
1671
|
getRowMenuButtonColor(): any;
|
|
1557
1672
|
getRowMenuIcon(): string;
|
|
1673
|
+
private scheduleRowDiscoveryMarkForCheck;
|
|
1558
1674
|
ngOnDestroy(): void;
|
|
1559
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTable, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
1560
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTable, "praxis-table", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "data": { "alias": "data"; "required": false; }; "tableId": { "alias": "tableId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "autoDelete": { "alias": "autoDelete"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "crudContext": { "alias": "crudContext"; "required": false; }; "dslFunctionRegistry": { "alias": "dslFunctionRegistry"; "required": false; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
1675
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTable, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
|
|
1676
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTable, "praxis-table", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "data": { "alias": "data"; "required": false; }; "tableId": { "alias": "tableId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "autoDelete": { "alias": "autoDelete"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "crudContext": { "alias": "crudContext"; "required": false; }; "dslFunctionRegistry": { "alias": "dslFunctionRegistry"; "required": false; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
1561
1677
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
1562
1678
|
}
|
|
1563
1679
|
|
|
@@ -2092,7 +2208,7 @@ interface ToolbarAction {
|
|
|
2092
2208
|
icon?: string;
|
|
2093
2209
|
type: 'button' | 'icon' | 'fab' | 'menu';
|
|
2094
2210
|
color?: 'primary' | 'accent' | 'warn';
|
|
2095
|
-
/**
|
|
2211
|
+
/** Material button appearance: filled (flat), outlined (stroked), elevated (raised), text, tonal */
|
|
2096
2212
|
appearance?: 'filled' | 'outlined' | 'elevated' | 'text' | 'tonal';
|
|
2097
2213
|
action: string;
|
|
2098
2214
|
position: 'start' | 'end';
|
|
@@ -2545,6 +2661,7 @@ type EffectiveDataMode = 'remote' | 'local' | 'empty';
|
|
|
2545
2661
|
declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValueProvider {
|
|
2546
2662
|
private cdr;
|
|
2547
2663
|
private configService;
|
|
2664
|
+
private readonly i18n;
|
|
2548
2665
|
filterSettingsEditor?: FilterSettingsComponent;
|
|
2549
2666
|
behaviorEditor?: BehaviorConfigEditorComponent;
|
|
2550
2667
|
set crudEditorSetter(ref: any);
|
|
@@ -2609,7 +2726,6 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
2609
2726
|
private readonly panelData;
|
|
2610
2727
|
private readonly crudService;
|
|
2611
2728
|
private readonly panelRef;
|
|
2612
|
-
private readonly i18n;
|
|
2613
2729
|
constructor(cdr: ChangeDetectorRef, configService: TableConfigService);
|
|
2614
2730
|
tx(key: string, fallback: string): string;
|
|
2615
2731
|
private isDebugLoggingEnabled;
|
|
@@ -2770,6 +2886,78 @@ declare class DataFormatterComponent implements OnInit, OnChanges {
|
|
|
2770
2886
|
static ɵcmp: i0.ɵɵComponentDeclaration<DataFormatterComponent, "data-formatter", never, { "columnType": { "alias": "columnType"; "required": false; }; "currentFormat": { "alias": "currentFormat"; "required": false; }; }, { "formatChange": "formatChange"; }, never, never, true, never>;
|
|
2771
2887
|
}
|
|
2772
2888
|
|
|
2889
|
+
type AnalyticsTableRow = Record<string, string | number | boolean | null>;
|
|
2890
|
+
type AnalyticsTableContractSource = 'remote' | 'fallback';
|
|
2891
|
+
interface AnalyticsTableViewModel {
|
|
2892
|
+
config: TableConfig;
|
|
2893
|
+
data: AnalyticsTableRow[];
|
|
2894
|
+
}
|
|
2895
|
+
interface AnalyticsTableContractDefinition<TKey extends string = string> {
|
|
2896
|
+
key: TKey;
|
|
2897
|
+
projectionId: string;
|
|
2898
|
+
path: string;
|
|
2899
|
+
title: PraxisTextValue;
|
|
2900
|
+
subtitle?: PraxisTextValue;
|
|
2901
|
+
fallbackProjection: PraxisAnalyticsProjection;
|
|
2902
|
+
fallbackRows?: AnalyticsTableRow[];
|
|
2903
|
+
}
|
|
2904
|
+
interface AnalyticsTableContractLoadOptions<TKey extends string = string> {
|
|
2905
|
+
cacheNamespace?: string;
|
|
2906
|
+
queryContexts?: Partial<Record<TKey, PraxisDataQueryContext | null>>;
|
|
2907
|
+
}
|
|
2908
|
+
interface AnalyticsTableContractLoadResult<TKey extends string = string> {
|
|
2909
|
+
views: Record<TKey, AnalyticsTableViewModel>;
|
|
2910
|
+
sources: Record<TKey, AnalyticsTableContractSource>;
|
|
2911
|
+
errors: Partial<Record<TKey, string>>;
|
|
2912
|
+
}
|
|
2913
|
+
|
|
2914
|
+
interface AnalyticsTableConfigAdapterOptions {
|
|
2915
|
+
title?: PraxisTextValue;
|
|
2916
|
+
subtitle?: PraxisTextValue;
|
|
2917
|
+
}
|
|
2918
|
+
declare class AnalyticsTableConfigAdapterService {
|
|
2919
|
+
toTableConfig(projection: PraxisAnalyticsProjection, options?: AnalyticsTableConfigAdapterOptions): TableConfig;
|
|
2920
|
+
private buildColumns;
|
|
2921
|
+
private getDisplayMetrics;
|
|
2922
|
+
private resolveTextValue;
|
|
2923
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsTableConfigAdapterService, never>;
|
|
2924
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableConfigAdapterService>;
|
|
2925
|
+
}
|
|
2926
|
+
|
|
2927
|
+
declare class AnalyticsTableStatsApiService {
|
|
2928
|
+
private readonly http;
|
|
2929
|
+
private readonly apiUrl;
|
|
2930
|
+
private readonly statsBuilder;
|
|
2931
|
+
constructor(http: HttpClient, apiUrl: ApiUrlConfig);
|
|
2932
|
+
execute(projection: PraxisAnalyticsProjection, queryContext?: PraxisDataQueryContext | null): Promise<AnalyticsTableRow[]>;
|
|
2933
|
+
private toTableRows;
|
|
2934
|
+
private resolveTimeSeriesCategory;
|
|
2935
|
+
private resolveBucketCategory;
|
|
2936
|
+
private projectMetricValues;
|
|
2937
|
+
private resolveMetricValue;
|
|
2938
|
+
private buildStatsUrl;
|
|
2939
|
+
private applyQueryContext;
|
|
2940
|
+
private normalizeError;
|
|
2941
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsTableStatsApiService, never>;
|
|
2942
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableStatsApiService>;
|
|
2943
|
+
}
|
|
2944
|
+
|
|
2945
|
+
declare class AnalyticsTableContractService {
|
|
2946
|
+
private readonly analyticsSchema;
|
|
2947
|
+
private readonly resolver;
|
|
2948
|
+
private readonly configAdapter;
|
|
2949
|
+
private readonly statsApi;
|
|
2950
|
+
constructor(analyticsSchema: AnalyticsSchemaContractService, resolver: AnalyticsPresentationResolver, configAdapter: AnalyticsTableConfigAdapterService, statsApi: AnalyticsTableStatsApiService);
|
|
2951
|
+
buildBootstrapTableViews<TKey extends string>(definitions: readonly AnalyticsTableContractDefinition<TKey>[]): Record<TKey, AnalyticsTableViewModel>;
|
|
2952
|
+
loadTableViews<TKey extends string>(definitions: readonly AnalyticsTableContractDefinition<TKey>[], options?: AnalyticsTableContractLoadOptions<TKey>): Promise<AnalyticsTableContractLoadResult<TKey>>;
|
|
2953
|
+
private loadSingleTableView;
|
|
2954
|
+
private buildTableView;
|
|
2955
|
+
private assertAnalyticTableProjection;
|
|
2956
|
+
private resolveQueryContext;
|
|
2957
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsTableContractService, never>;
|
|
2958
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableContractService>;
|
|
2959
|
+
}
|
|
2960
|
+
|
|
2773
2961
|
declare function createTableAuthoringDocument(source: {
|
|
2774
2962
|
config?: unknown;
|
|
2775
2963
|
bindings?: unknown;
|
|
@@ -3298,5 +3486,5 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
|
|
|
3298
3486
|
}
|
|
3299
3487
|
declare const TABLE_COMPONENT_AI_CAPABILITIES: CapabilityCatalog;
|
|
3300
3488
|
|
|
3301
|
-
export { BOOLEAN_PRESETS, BehaviorConfigEditorComponent, CURRENCY_PRESETS, ColumnsConfigEditorComponent, DATE_PRESETS, DataFormatterComponent, DataFormattingService, FORMULA_TEMPLATES, FilterConfigService, FilterSettingsComponent, FormulaGeneratorService, JsonConfigEditorComponent, MessagesLocalizationEditorComponent, NUMBER_PRESETS, PERCENTAGE_PRESETS, PRAXIS_FILTER_COMPONENT_METADATA, PRAXIS_TABLE_COMPONENT_METADATA, PraxisFilter, PraxisTable, PraxisTableConfigEditor, PraxisTableToolbar, STRING_PRESETS, TABLE_AI_CAPABILITIES, TABLE_COMPONENT_AI_CAPABILITIES, TASK_PRESETS, TableDefaultsProvider, TableRulesEditorComponent, ToolbarActionsEditorComponent, ValueMappingEditorComponent, VisualFormulaBuilderComponent, buildTableApplyPlan, createTableAuthoringDocument, getActionId, getEnum, getTableCapabilities, hasJsonKey, jsonPathGet, jsonPathMatches, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, providePraxisFilterMetadata, providePraxisTableMetadata, registerDateDslFunctions, registerJsonDslFunctions, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
|
|
3302
|
-
export type { ActionLike, ArithmeticParams, BehaviorConfigChange, BooleanFormatterOptions, BulkAction, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, ColumnChange, ColumnDataType$1 as ColumnDataType, ConcatenationParams, ConditionalMappingParams, CurrencyFormatterOptions, DataFormattingOptions, DataMode, DateFormatterOptions, DefaultValueParams, EditorDiagnostic, EditorDocument, FieldSchema, FilterConfig, FilterTag, FormatPreset, FormatterConfig, FormulaDefinition, FormulaParameterSchema, FormulaParams, FormulaTemplate, FormulaType, I18n, JsonEditorEvent, JsonValidationResult, MessagesLocalizationChange, NestedPropertyParams, NumberFormatterOptions, PercentageFormatterOptions, ResourcePathIntent, RowAction, RowExpansionChangeBase, RowExpansionChangeEvent, RowExpansionReasonCode, RowExpansionTrigger, StringFormatterOptions, TableApplyPlan, TableAuthoringDocument, TableBindings, Capability as TableComponentCapability, CapabilityCatalog as TableComponentCapabilityCatalog, CapabilityCategory as TableComponentCapabilityCategory, ValueKind as TableComponentValueKind, TableHorizontalScroll, TableProjectionContext, TableRuntimeContext, TableValidationContext, ToolbarAction, ToolbarActionsChange, ValueKind$1 as ValueKind, ValueMappingPair };
|
|
3489
|
+
export { AnalyticsTableConfigAdapterService, AnalyticsTableContractService, AnalyticsTableStatsApiService, BOOLEAN_PRESETS, BehaviorConfigEditorComponent, CURRENCY_PRESETS, ColumnsConfigEditorComponent, DATE_PRESETS, DataFormatterComponent, DataFormattingService, FORMULA_TEMPLATES, FilterConfigService, FilterSettingsComponent, FormulaGeneratorService, JsonConfigEditorComponent, MessagesLocalizationEditorComponent, NUMBER_PRESETS, PERCENTAGE_PRESETS, PRAXIS_FILTER_COMPONENT_METADATA, PRAXIS_TABLE_COMPONENT_METADATA, PraxisFilter, PraxisTable, PraxisTableConfigEditor, PraxisTableToolbar, STRING_PRESETS, TABLE_AI_CAPABILITIES, TABLE_COMPONENT_AI_CAPABILITIES, TASK_PRESETS, TableDefaultsProvider, TableRulesEditorComponent, ToolbarActionsEditorComponent, ValueMappingEditorComponent, VisualFormulaBuilderComponent, buildTableApplyPlan, createTableAuthoringDocument, getActionId, getEnum, getTableCapabilities, hasJsonKey, jsonPathGet, jsonPathMatches, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, providePraxisFilterMetadata, providePraxisTableMetadata, registerDateDslFunctions, registerJsonDslFunctions, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
|
|
3490
|
+
export type { ActionLike, AnalyticsTableConfigAdapterOptions, AnalyticsTableContractDefinition, AnalyticsTableContractLoadOptions, AnalyticsTableContractLoadResult, AnalyticsTableContractSource, AnalyticsTableRow, AnalyticsTableViewModel, ArithmeticParams, BehaviorConfigChange, BooleanFormatterOptions, BulkAction, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, ColumnChange, ColumnDataType$1 as ColumnDataType, ConcatenationParams, ConditionalMappingParams, CurrencyFormatterOptions, DataFormattingOptions, DataMode, DateFormatterOptions, DefaultValueParams, EditorDiagnostic, EditorDocument, FieldSchema, FilterConfig, FilterTag, FormatPreset, FormatterConfig, FormulaDefinition, FormulaParameterSchema, FormulaParams, FormulaTemplate, FormulaType, I18n, JsonEditorEvent, JsonValidationResult, MessagesLocalizationChange, NestedPropertyParams, NumberFormatterOptions, PercentageFormatterOptions, ResourcePathIntent, RowAction, RowExpansionChangeBase, RowExpansionChangeEvent, RowExpansionReasonCode, RowExpansionTrigger, StringFormatterOptions, TableApplyPlan, TableAuthoringDocument, TableBindings, Capability as TableComponentCapability, CapabilityCatalog as TableComponentCapabilityCatalog, CapabilityCategory as TableComponentCapabilityCategory, ValueKind as TableComponentValueKind, TableHorizontalScroll, TableProjectionContext, TableRuntimeContext, TableValidationContext, ToolbarAction, ToolbarActionsChange, ValueKind$1 as ValueKind, ValueMappingPair };
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/table",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-beta.0",
|
|
4
4
|
"description": "Advanced data table for Angular (Praxis UI) with editing, filtering, sorting, virtualization, and settings panel integration.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^20.0.0",
|
|
7
7
|
"@angular/core": "^20.0.0",
|
|
8
|
-
"@praxisui/core": "^
|
|
9
|
-
"@praxisui/dynamic-fields": "^
|
|
10
|
-
"@praxisui/dynamic-form": "^
|
|
11
|
-
"@praxisui/metadata-editor": "^
|
|
12
|
-
"@praxisui/settings-panel": "^
|
|
13
|
-
"@praxisui/table-rule-builder": "^
|
|
8
|
+
"@praxisui/core": "^4.0.0-beta.0",
|
|
9
|
+
"@praxisui/dynamic-fields": "^4.0.0-beta.0",
|
|
10
|
+
"@praxisui/dynamic-form": "^4.0.0-beta.0",
|
|
11
|
+
"@praxisui/metadata-editor": "^4.0.0-beta.0",
|
|
12
|
+
"@praxisui/settings-panel": "^4.0.0-beta.0",
|
|
13
|
+
"@praxisui/table-rule-builder": "^4.0.0-beta.0"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"tslib": "^2.3.0"
|