@praxisui/table 3.0.0-beta.9 → 5.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/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { OnDestroy, EventEmitter, ElementRef, OnInit, OnChanges, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, Provider, AfterContentInit } from '@angular/core';
|
|
3
3
|
import { ActivatedRoute } from '@angular/router';
|
|
4
4
|
import { MatTable, MatTableDataSource } from '@angular/material/table';
|
|
5
5
|
import { MatPaginator, PageEvent } from '@angular/material/paginator';
|
|
@@ -10,17 +10,17 @@ 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,
|
|
14
|
-
import { FunctionRegistry, DslParser } from '@praxisui/specification';
|
|
13
|
+
import { TableConfig, LoggerService, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, LoadingState, RestApiLinks, ColumnDefinition, ConnectionStorage, ResourceDiscoveryService, LoadingOrchestrator, PraxisLoadingRenderer, ResourceActionCatalogItem, JsonLogicExpression, GlobalActionSpec, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisJsonLogicService, TableConfigService, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, AnalyticsSchemaContractService, AnalyticsPresentationResolver, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog } from '@praxisui/core';
|
|
15
14
|
import { FormGroup, FormControl, FormBuilder } from '@angular/forms';
|
|
16
15
|
import { MatDialog } from '@angular/material/dialog';
|
|
17
16
|
import { CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';
|
|
18
17
|
import { PraxisDialog } from '@praxisui/dialog';
|
|
19
18
|
import { MatTabChangeEvent } from '@angular/material/tabs';
|
|
20
|
-
import * as _angular_material_paginator_d_Zo1cMMo4 from '@angular/material/paginator.d-Zo1cMMo4';
|
|
21
|
-
import { MatCheckboxChange } from '@angular/material/checkbox';
|
|
22
19
|
import * as _praxisui_table_rule_builder from '@praxisui/table-rule-builder';
|
|
23
20
|
import { RuleEffectDefinition } from '@praxisui/table-rule-builder';
|
|
21
|
+
import { HttpClient } from '@angular/common/http';
|
|
22
|
+
import * as _angular_material_paginator_d_Zo1cMMo4 from '@angular/material/paginator.d-Zo1cMMo4';
|
|
23
|
+
import { MatCheckboxChange } from '@angular/material/checkbox';
|
|
24
24
|
|
|
25
25
|
interface ActionLike {
|
|
26
26
|
action?: string;
|
|
@@ -34,10 +34,9 @@ interface ActionLike {
|
|
|
34
34
|
}
|
|
35
35
|
declare function getActionId(action: ActionLike): string;
|
|
36
36
|
|
|
37
|
-
declare class PraxisTableToolbar implements
|
|
37
|
+
declare class PraxisTableToolbar implements OnDestroy {
|
|
38
38
|
private hostRef;
|
|
39
39
|
private logger?;
|
|
40
|
-
private static dslRuntimeInstanceCounter;
|
|
41
40
|
config?: TableConfig;
|
|
42
41
|
backgroundColor: string | null;
|
|
43
42
|
placement: 'header' | 'footer';
|
|
@@ -46,18 +45,14 @@ declare class PraxisTableToolbar implements OnChanges, OnDestroy {
|
|
|
46
45
|
showEndActions: boolean;
|
|
47
46
|
showMobileActions: boolean;
|
|
48
47
|
showReset: boolean;
|
|
49
|
-
|
|
50
|
-
dslFunctionRegistry: FunctionRegistry<any> | null;
|
|
48
|
+
evaluationContext: Record<string, any> | null;
|
|
51
49
|
toolbarAction: EventEmitter<{
|
|
52
50
|
action: string;
|
|
53
51
|
actionConfig?: any;
|
|
54
52
|
}>;
|
|
55
53
|
reset: EventEmitter<void>;
|
|
56
54
|
readonly getActionId: typeof getActionId;
|
|
57
|
-
private
|
|
58
|
-
private dslRuntimeRegistry;
|
|
59
|
-
private readonly dslRuntimeContextKey;
|
|
60
|
-
private readonly visibleWhenSpecCache;
|
|
55
|
+
private readonly jsonLogic;
|
|
61
56
|
private readonly validToolbarActionTypes;
|
|
62
57
|
private readonly warnedInvalidToolbarActionTypes;
|
|
63
58
|
private readonly warnedMenuWithoutChildren;
|
|
@@ -68,9 +63,7 @@ declare class PraxisTableToolbar implements OnChanges, OnDestroy {
|
|
|
68
63
|
private fallbackLogger?;
|
|
69
64
|
private fallbackLoggerEnvironment;
|
|
70
65
|
constructor(hostRef?: ElementRef<HTMLElement> | null, logger?: LoggerService | undefined);
|
|
71
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
72
66
|
ngOnDestroy(): void;
|
|
73
|
-
private configureDslRuntime;
|
|
74
67
|
private getNestedPropertyValue;
|
|
75
68
|
private cloneForEmit;
|
|
76
69
|
private getLogger;
|
|
@@ -94,12 +87,12 @@ declare class PraxisTableToolbar implements OnChanges, OnDestroy {
|
|
|
94
87
|
private resolveVisibleToolbarAction;
|
|
95
88
|
private isActionVisible;
|
|
96
89
|
private evaluateVisibleWhen;
|
|
90
|
+
private isJsonLogicExpression;
|
|
97
91
|
private resolveVisibleWhenFallback;
|
|
98
92
|
private resolveVisibleWhenFallbackPolicy;
|
|
99
93
|
private resolveRuntimeEnvironment;
|
|
100
94
|
private isDiagnosticsEnvironment;
|
|
101
|
-
private
|
|
102
|
-
private getKnownDslFields;
|
|
95
|
+
private buildEvaluationContext;
|
|
103
96
|
private warnVisibleWhenFallback;
|
|
104
97
|
private collectShortcutBindings;
|
|
105
98
|
private resolveShortcutScope;
|
|
@@ -116,7 +109,7 @@ declare class PraxisTableToolbar implements OnChanges, OnDestroy {
|
|
|
116
109
|
private sortActions;
|
|
117
110
|
getExportIcon(format: string): string;
|
|
118
111
|
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableToolbar, [null, { optional: true; }]>;
|
|
119
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableToolbar, "praxis-table-toolbar", never, { "config": { "alias": "config"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "showMain": { "alias": "showMain"; "required": false; }; "showActionsGroup": { "alias": "showActionsGroup"; "required": false; }; "showEndActions": { "alias": "showEndActions"; "required": false; }; "showMobileActions": { "alias": "showMobileActions"; "required": false; }; "showReset": { "alias": "showReset"; "required": false; }; "
|
|
112
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableToolbar, "praxis-table-toolbar", never, { "config": { "alias": "config"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "showMain": { "alias": "showMain"; "required": false; }; "showActionsGroup": { "alias": "showActionsGroup"; "required": false; }; "showEndActions": { "alias": "showEndActions"; "required": false; }; "showMobileActions": { "alias": "showMobileActions"; "required": false; }; "showReset": { "alias": "showReset"; "required": false; }; "evaluationContext": { "alias": "evaluationContext"; "required": false; }; }, { "toolbarAction": "toolbarAction"; "reset": "reset"; }, never, ["[advancedFilter]", "[toolbar]", "[end-actions]"], true, never>;
|
|
120
113
|
}
|
|
121
114
|
|
|
122
115
|
type ColumnDataType$1 = 'date' | 'number' | 'currency' | 'percentage' | 'string' | 'boolean' | 'custom';
|
|
@@ -833,8 +826,20 @@ type RowActionRuntimeOptions = {
|
|
|
833
826
|
payload?: any;
|
|
834
827
|
actionConfig?: any;
|
|
835
828
|
};
|
|
829
|
+
type RuntimeRowAction = {
|
|
830
|
+
id: string;
|
|
831
|
+
action: string;
|
|
832
|
+
label?: string;
|
|
833
|
+
icon?: string;
|
|
834
|
+
color?: string;
|
|
835
|
+
tooltip?: string;
|
|
836
|
+
disabled?: boolean;
|
|
837
|
+
overflow?: boolean;
|
|
838
|
+
__praxisDiscoveredAction?: ResourceActionCatalogItem;
|
|
839
|
+
__praxisCapabilityDenied?: boolean;
|
|
840
|
+
};
|
|
836
841
|
type ExpansionDetailRuntimeStatus = 'idle' | 'loading' | 'ready' | 'error' | 'blocked';
|
|
837
|
-
type ExpansionDetailResolvedSource = 'inline' | 'resource' | 'resourcePath' | 'fallback';
|
|
842
|
+
type ExpansionDetailResolvedSource = 'inline' | 'resource' | 'resourcePath' | 'hypermedia' | 'fallback';
|
|
838
843
|
type ExpansionDetailViewState = {
|
|
839
844
|
status: ExpansionDetailRuntimeStatus;
|
|
840
845
|
schema: Record<string, unknown> | null;
|
|
@@ -854,13 +859,17 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
854
859
|
private connectionStorage;
|
|
855
860
|
private hostRef;
|
|
856
861
|
private global;
|
|
862
|
+
private resourceDiscovery;
|
|
857
863
|
private componentKeys;
|
|
858
864
|
private loadingOrchestrator;
|
|
859
865
|
private loadingRenderer?;
|
|
860
866
|
private route?;
|
|
861
867
|
private logger?;
|
|
862
|
-
private static dslRuntimeInstanceCounter;
|
|
863
868
|
private static readonly CELL_ANIMATION_CHANGE_CACHE_LIMIT;
|
|
869
|
+
private static readonly ROW_DISCOVERY_SUCCESS_CACHE_TTL_MS;
|
|
870
|
+
private static readonly ROW_DISCOVERY_ERROR_CACHE_TTL_MS;
|
|
871
|
+
private static readonly ROW_DISCOVERY_CACHE_LIMIT;
|
|
872
|
+
private static readonly ROW_DISCOVERY_MAX_CONCURRENT_REQUESTS;
|
|
864
873
|
private static readonly ROW_ANIMATION_PRESETS;
|
|
865
874
|
private static readonly ROW_ANIMATION_PRESET_ALIASES;
|
|
866
875
|
config: TableConfig;
|
|
@@ -876,7 +885,6 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
876
885
|
snoozeMs: number;
|
|
877
886
|
autoOpenSettingsOnOutdated: boolean;
|
|
878
887
|
crudContext: any;
|
|
879
|
-
dslFunctionRegistry: FunctionRegistry<any> | null;
|
|
880
888
|
filterCriteria: Record<string, any>;
|
|
881
889
|
queryContext: PraxisDataQueryContextBridge | null;
|
|
882
890
|
rowClick: EventEmitter<any>;
|
|
@@ -896,6 +904,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
896
904
|
schemaStatusChange: EventEmitter<any>;
|
|
897
905
|
metadataChange: EventEmitter<any>;
|
|
898
906
|
loadingStateChange: EventEmitter<LoadingState>;
|
|
907
|
+
collectionLinksChange: EventEmitter<RestApiLinks | null>;
|
|
899
908
|
paginator: MatPaginator;
|
|
900
909
|
sort: MatSort;
|
|
901
910
|
materialTable?: MatTable<any>;
|
|
@@ -940,6 +949,24 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
940
949
|
private expansionDetailSourceByRowKey;
|
|
941
950
|
private expansionDetailAbortByRowKey;
|
|
942
951
|
private expansionDetailActiveTabByRowKey;
|
|
952
|
+
private rowCapabilitySnapshotByHref;
|
|
953
|
+
private rowCapabilityCachedAtByHref;
|
|
954
|
+
private rowCapabilityErrorHrefs;
|
|
955
|
+
private rowCapabilityErrorCachedAtByHref;
|
|
956
|
+
private rowCapabilityInFlightByHref;
|
|
957
|
+
private rowActionCatalogByHref;
|
|
958
|
+
private rowActionCachedAtByHref;
|
|
959
|
+
private rowActionErrorHrefs;
|
|
960
|
+
private rowActionErrorCachedAtByHref;
|
|
961
|
+
private rowActionInFlightByHref;
|
|
962
|
+
private rowDiscoveryMetricsByRel;
|
|
963
|
+
private rowContextRuntimeByRef;
|
|
964
|
+
private rowDiscoveryQueue;
|
|
965
|
+
private rowDiscoveryActiveRequests;
|
|
966
|
+
private rowDiscoveryEpoch;
|
|
967
|
+
private rowDiscoveryMarkForCheckScheduled;
|
|
968
|
+
private lastRowDiscoveryScopeKey;
|
|
969
|
+
private readonly i18n;
|
|
943
970
|
private schemaFieldsSnapshot;
|
|
944
971
|
private runtimeSchemaMeta;
|
|
945
972
|
schemaError: boolean;
|
|
@@ -1019,13 +1046,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1019
1046
|
getSchemaFieldsSnapshot(): SchemaFieldHint[];
|
|
1020
1047
|
aiAdapter: any;
|
|
1021
1048
|
private aiAdapterLoadStarted;
|
|
1022
|
-
styleSpecCache: Map<string, any>;
|
|
1023
|
-
actionSpecCache: Map<string, any>;
|
|
1024
1049
|
private computedContextCache;
|
|
1025
1050
|
private computedFieldNames;
|
|
1026
|
-
|
|
1027
|
-
private dslRuntimeRegistry;
|
|
1028
|
-
private readonly dslRuntimeContextKey;
|
|
1051
|
+
private readonly jsonLogic;
|
|
1029
1052
|
private computedExpressionEvaluator;
|
|
1030
1053
|
private resizeObserver;
|
|
1031
1054
|
private removeViewportChangeListeners;
|
|
@@ -1069,8 +1092,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1069
1092
|
private filterConfigKey;
|
|
1070
1093
|
private ensureConfigDefaults;
|
|
1071
1094
|
private setShowToolbar;
|
|
1072
|
-
private
|
|
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);
|
|
1095
|
+
private shouldExposeToolbar;
|
|
1096
|
+
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
1097
|
private ensureAiAdapterLoaded;
|
|
1075
1098
|
private emitLoadingState;
|
|
1076
1099
|
private buildLoadingContext;
|
|
@@ -1128,6 +1151,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1128
1151
|
private resolveExpansionDetailInlineSchema;
|
|
1129
1152
|
private resolveExpansionDetailFromResource;
|
|
1130
1153
|
private resolveExpansionDetailFromResourcePath;
|
|
1154
|
+
private resolveExpansionDetailFromHypermedia;
|
|
1131
1155
|
private normalizeExpansionDetailSchemaCandidate;
|
|
1132
1156
|
private sanitizeExpansionDetailSchema;
|
|
1133
1157
|
private sanitizeExpansionDetailNodes;
|
|
@@ -1142,6 +1166,13 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1142
1166
|
private resolveExpansionContextValue;
|
|
1143
1167
|
private buildExpansionContextRecord;
|
|
1144
1168
|
private getExpansionFallbackMode;
|
|
1169
|
+
private loadExpansionHypermediaSnapshot;
|
|
1170
|
+
private buildExpansionHypermediaDetailSchema;
|
|
1171
|
+
private selectExpansionHypermediaPrimarySurface;
|
|
1172
|
+
private buildExpansionHypermediaOperationItems;
|
|
1173
|
+
private buildExpansionHypermediaWorkflowActionItems;
|
|
1174
|
+
private getExpansionHypermediaMessage;
|
|
1175
|
+
private describeExpansionHypermediaSurface;
|
|
1145
1176
|
private getExpansionFallbackNodePolicy;
|
|
1146
1177
|
private getExpansionAllowedNodesSet;
|
|
1147
1178
|
private validateExpansionDetailRendererContract;
|
|
@@ -1278,6 +1309,58 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1278
1309
|
* Refined logic to reduce false positives
|
|
1279
1310
|
*/
|
|
1280
1311
|
private inferFieldTypeFromFieldName;
|
|
1312
|
+
private clearRowDiscoveryRuntime;
|
|
1313
|
+
private buildRowDiscoveryScopeKey;
|
|
1314
|
+
private resetRowContextRuntimeState;
|
|
1315
|
+
private enqueueRowDiscoveryRequest;
|
|
1316
|
+
private drainRowDiscoveryQueue;
|
|
1317
|
+
private buildRowDiscoveryOptions;
|
|
1318
|
+
private getRowLinks;
|
|
1319
|
+
private resolveRowDiscoveryHref;
|
|
1320
|
+
private prefetchRowDiscovery;
|
|
1321
|
+
private ensureRowDiscovery;
|
|
1322
|
+
private ensureRowCapabilitySnapshot;
|
|
1323
|
+
private ensureRowActionCatalog;
|
|
1324
|
+
private getCachedRowCapabilitySnapshot;
|
|
1325
|
+
private hasResolvedRowActionCatalog;
|
|
1326
|
+
isRowDiscoveryPending(row: any): boolean;
|
|
1327
|
+
private getCachedRowActionCatalog;
|
|
1328
|
+
private shouldUseRowDiscovery;
|
|
1329
|
+
private shouldPrefetchRowDiscovery;
|
|
1330
|
+
private hasRowContextualDiscoveryEntryPoint;
|
|
1331
|
+
private hasRowContextualDiscoveryEntryPointRaw;
|
|
1332
|
+
hasRowOverflowMenuLoadingState(row: any): boolean;
|
|
1333
|
+
getRowOverflowMenuLoadingLabel(): string;
|
|
1334
|
+
hasRowOverflowMenuEmptyState(row: any): boolean;
|
|
1335
|
+
getRowOverflowMenuEmptyLabel(row: any): string;
|
|
1336
|
+
private getLegacyRowOverflowMenuEmptyLabel;
|
|
1337
|
+
private getRowDiscoveryMetricSnapshot;
|
|
1338
|
+
private createEmptyRowDiscoveryMetricSnapshot;
|
|
1339
|
+
private incrementRowDiscoveryMetric;
|
|
1340
|
+
private setRowDiscoveryLastResolvedAt;
|
|
1341
|
+
private resolveRowDiscoveryRuntimeStatus;
|
|
1342
|
+
private resolveRowDiscoveryRuntimeStatusRaw;
|
|
1343
|
+
private getRowContextRuntimeState;
|
|
1344
|
+
private buildRowContextRuntimeState;
|
|
1345
|
+
private resolveRowContextRuntimeValidUntil;
|
|
1346
|
+
private resolveRowDiscoveryRelValidUntil;
|
|
1347
|
+
private getRowDiscoveryPendingRowCount;
|
|
1348
|
+
private getRowDiscoveryDebugSnapshot;
|
|
1349
|
+
private hasFreshRowCapabilitySnapshot;
|
|
1350
|
+
private hasFreshRowActionCatalog;
|
|
1351
|
+
private hasFreshRowCapabilityError;
|
|
1352
|
+
private hasFreshRowActionError;
|
|
1353
|
+
private hasFreshRowDiscoveryEntry;
|
|
1354
|
+
private hasFreshRowDiscoveryError;
|
|
1355
|
+
private rememberRowCapabilitySnapshot;
|
|
1356
|
+
private rememberRowActionCatalog;
|
|
1357
|
+
private rememberRowCapabilityError;
|
|
1358
|
+
private rememberRowActionError;
|
|
1359
|
+
private clearRowCapabilityError;
|
|
1360
|
+
private clearRowActionError;
|
|
1361
|
+
private enforceRowDiscoveryCacheLimit;
|
|
1362
|
+
private pruneRowDiscoveryCaches;
|
|
1363
|
+
private pruneRowDiscoveryCache;
|
|
1281
1364
|
private fetchData;
|
|
1282
1365
|
private getEffectiveFilterCriteria;
|
|
1283
1366
|
retryData(): void;
|
|
@@ -1310,9 +1393,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1310
1393
|
private evaluateStyleRule;
|
|
1311
1394
|
private evaluateActionVisibilityCondition;
|
|
1312
1395
|
private evaluateActionDisabledCondition;
|
|
1313
|
-
/** Evaluate row action conditions using the
|
|
1396
|
+
/** Evaluate row action conditions using the canonical JSON Logic runtime with explicit failure policy. */
|
|
1314
1397
|
private evaluateActionCondition;
|
|
1315
1398
|
private resolveRowVisibleWhenFailurePolicy;
|
|
1399
|
+
private isJsonLogicExpression;
|
|
1400
|
+
private hasConditionalExpression;
|
|
1316
1401
|
private resolveRuntimeEnvironment;
|
|
1317
1402
|
private isDiagnosticsRuntimeEnvironment;
|
|
1318
1403
|
private logActionConditionFallback;
|
|
@@ -1380,7 +1465,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1380
1465
|
private isRowExpansionSupported;
|
|
1381
1466
|
private enforceAppearanceSchemaGuards;
|
|
1382
1467
|
private enforceUnsupportedFeatureGuards;
|
|
1383
|
-
|
|
1468
|
+
getToolbarEvaluationContext(): Record<string, any>;
|
|
1384
1469
|
getIconName(row: any, column: ColumnDefinition): string | null;
|
|
1385
1470
|
getIconColor(_row: any, column: ColumnDefinition): string | null;
|
|
1386
1471
|
getIconStyle(_row: any, column: ColumnDefinition): Record<string, string> | null;
|
|
@@ -1392,6 +1477,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1392
1477
|
*/
|
|
1393
1478
|
private evaluateValueExpr;
|
|
1394
1479
|
private evaluateComputedValue;
|
|
1480
|
+
private hasCanonicalComputedExpression;
|
|
1481
|
+
private buildComputedRuleData;
|
|
1482
|
+
private resolveComputedDependencyValue;
|
|
1395
1483
|
private evaluateLegacyExpression;
|
|
1396
1484
|
private tryEvaluateLegacyConcat;
|
|
1397
1485
|
private tryEvaluateLegacyTernary;
|
|
@@ -1516,6 +1604,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1516
1604
|
private emitMetadataChange;
|
|
1517
1605
|
private emitSchemaStatus;
|
|
1518
1606
|
getRowId(row: any): any;
|
|
1607
|
+
private reconcileSelectionAfterDataChange;
|
|
1608
|
+
private getComparableRowIdentity;
|
|
1519
1609
|
getIdField(): string;
|
|
1520
1610
|
private syncRuntimeSchemaMetaFromConfig;
|
|
1521
1611
|
private getEffectiveMetadataSnapshot;
|
|
@@ -1549,15 +1639,33 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1549
1639
|
getInlineRowActions(row: any): any[];
|
|
1550
1640
|
getOverflowRowActions(row: any): any[];
|
|
1551
1641
|
hasOverflowRowActions(row: any): boolean;
|
|
1642
|
+
onRowOverflowMenuOpened(row: any): void;
|
|
1552
1643
|
private getVisibleRowActions;
|
|
1644
|
+
private getResolvedRowActions;
|
|
1645
|
+
private buildResolvedRowActions;
|
|
1646
|
+
private splitVisibleRowActionsFromVisible;
|
|
1647
|
+
private decorateConfiguredRowAction;
|
|
1648
|
+
private getDiscoveredRowWorkflowActions;
|
|
1649
|
+
private getDiscoveredRowWorkflowActionsFromCatalog;
|
|
1650
|
+
private supportsRowCrudAction;
|
|
1651
|
+
private isCapabilityManagedCrudRowAction;
|
|
1652
|
+
private findItemWorkflowAction;
|
|
1653
|
+
private getUnavailableWorkflowMessage;
|
|
1654
|
+
private normalizeActionId;
|
|
1553
1655
|
private isActionVisible;
|
|
1554
1656
|
trackAction(index: number, item: any): any;
|
|
1555
1657
|
isActionDisabled(action: any, row: any): boolean;
|
|
1658
|
+
getRowActionRuntimeOptions(action: RuntimeRowAction, row: any): RowActionRuntimeOptions | undefined;
|
|
1659
|
+
isWorkflowRowAction(action: RuntimeRowAction | any): boolean;
|
|
1660
|
+
isBlockedWorkflowRowAction(action: RuntimeRowAction | any, row: any): boolean;
|
|
1661
|
+
getActionTooltip(action: RuntimeRowAction | any, row: any): string | null;
|
|
1662
|
+
getRowMenuTooltip(row: any): string;
|
|
1556
1663
|
getRowMenuButtonColor(): any;
|
|
1557
1664
|
getRowMenuIcon(): string;
|
|
1665
|
+
private scheduleRowDiscoveryMarkForCheck;
|
|
1558
1666
|
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; }; "
|
|
1667
|
+
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; }]>;
|
|
1668
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTable, "praxis-table", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "data": { "alias": "data"; "required": false; }; "tableId": { "alias": "tableId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "autoDelete": { "alias": "autoDelete"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "crudContext": { "alias": "crudContext"; "required": false; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
|
|
1561
1669
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
1562
1670
|
}
|
|
1563
1671
|
|
|
@@ -1796,6 +1904,10 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnDestroy {
|
|
|
1796
1904
|
duplicateConditionalOverride(index: number): void;
|
|
1797
1905
|
onConditionalOverrideReorder(event: any): void;
|
|
1798
1906
|
selectConditionalOverride(index: number): void;
|
|
1907
|
+
getJsonLogicText(value: JsonLogicExpression | null | undefined): string;
|
|
1908
|
+
getJsonLogicSummary(value: JsonLogicExpression | null | undefined): string;
|
|
1909
|
+
private parseJsonLogicText;
|
|
1910
|
+
setConditionalOverrideCondition(index: number, raw: string): void;
|
|
1799
1911
|
getOverrideField(path: string): any;
|
|
1800
1912
|
setOverrideField(path: string, value: any): void;
|
|
1801
1913
|
onOverrideTypeChange(ov: any, val: string): void;
|
|
@@ -1899,6 +2011,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnDestroy {
|
|
|
1899
2011
|
private ensureRenderer;
|
|
1900
2012
|
private _ensureKind;
|
|
1901
2013
|
getRendererProp(kind: string, path: string): any;
|
|
2014
|
+
setRendererJsonLogicProp(kind: string, path: string, raw: string): void;
|
|
1902
2015
|
setRendererProp(kind: string, path: string, value: any): void;
|
|
1903
2016
|
private _deepClone;
|
|
1904
2017
|
hasSelectedRenderer(): boolean;
|
|
@@ -2092,7 +2205,7 @@ interface ToolbarAction {
|
|
|
2092
2205
|
icon?: string;
|
|
2093
2206
|
type: 'button' | 'icon' | 'fab' | 'menu';
|
|
2094
2207
|
color?: 'primary' | 'accent' | 'warn';
|
|
2095
|
-
/**
|
|
2208
|
+
/** Material button appearance: filled (flat), outlined (stroked), elevated (raised), text, tonal */
|
|
2096
2209
|
appearance?: 'filled' | 'outlined' | 'elevated' | 'text' | 'tonal';
|
|
2097
2210
|
action: string;
|
|
2098
2211
|
position: 'start' | 'end';
|
|
@@ -2540,13 +2653,271 @@ declare class FilterSettingsComponent implements OnChanges, AfterViewInit, OnDes
|
|
|
2540
2653
|
static ɵcmp: i0.ɵɵComponentDeclaration<FilterSettingsComponent, "filter-settings", never, { "metadata": { "alias": "metadata"; "required": false; }; "metadataSource": { "alias": "metadataSource"; "required": false; }; "metadataLoading": { "alias": "metadataLoading"; "required": false; }; "metadataErrorMsg": { "alias": "metadataErrorMsg"; "required": false; }; "settings": { "alias": "settings"; "required": false; }; "configKey": { "alias": "configKey"; "required": false; }; }, { "settingsChange": "settingsChange"; }, never, never, true, never>;
|
|
2541
2654
|
}
|
|
2542
2655
|
|
|
2656
|
+
type ColumnDataType = 'string' | 'number' | 'date' | 'boolean' | 'currency' | 'percentage' | 'custom';
|
|
2657
|
+
|
|
2658
|
+
type OperatorKey = '==' | '!=' | '<' | '<=' | '>' | '>=' | 'contains' | 'startsWith' | 'endsWith' | 'matches' | 'not matches' | 'in' | 'not in' | 'is empty' | 'is not empty' | 'between' | 'is today' | 'in last' | 'weekday is' | 'is true' | 'is false' | 'contains all' | 'contains any' | 'length ==' | 'length >' | 'length <' | 'jsonPath matches' | 'has key' | 'key ==' | 'id ==' | 'id in' | 'has property';
|
|
2659
|
+
interface OperatorSpec {
|
|
2660
|
+
key: OperatorKey;
|
|
2661
|
+
label: string;
|
|
2662
|
+
icon?: string;
|
|
2663
|
+
description?: string;
|
|
2664
|
+
}
|
|
2665
|
+
declare class OperatorsRegistryService {
|
|
2666
|
+
/** Returns the list of operator specs supported for a given data type. */
|
|
2667
|
+
getForType(type: ColumnDataType | 'enum' | 'array' | 'json' | 'relational'): OperatorSpec[];
|
|
2668
|
+
get keys(): OperatorKey[];
|
|
2669
|
+
private readonly stringOps;
|
|
2670
|
+
private readonly numberOps;
|
|
2671
|
+
private readonly dateOps;
|
|
2672
|
+
private readonly booleanOps;
|
|
2673
|
+
private readonly enumOps;
|
|
2674
|
+
private readonly arrayOps;
|
|
2675
|
+
private readonly jsonOps;
|
|
2676
|
+
private readonly relationalOps;
|
|
2677
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OperatorsRegistryService, never>;
|
|
2678
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<OperatorsRegistryService>;
|
|
2679
|
+
}
|
|
2680
|
+
|
|
2681
|
+
type GroupOp = 'AND' | 'OR' | 'NOT';
|
|
2682
|
+
interface RuleAtom {
|
|
2683
|
+
field: string;
|
|
2684
|
+
operator: string;
|
|
2685
|
+
value?: any;
|
|
2686
|
+
options?: Record<string, any>;
|
|
2687
|
+
}
|
|
2688
|
+
interface RuleGroup {
|
|
2689
|
+
op: GroupOp;
|
|
2690
|
+
conditions: RuleAtom[];
|
|
2691
|
+
groups?: RuleGroup[];
|
|
2692
|
+
}
|
|
2693
|
+
type StructuredRuleCondition = JsonLogicExpression | null;
|
|
2694
|
+
declare class RuleCompilerService {
|
|
2695
|
+
/**
|
|
2696
|
+
* Compiles a rule group into a single textual expression string, adding
|
|
2697
|
+
* parentheses according to grouping and operator precedence.
|
|
2698
|
+
*/
|
|
2699
|
+
compileGroup(group: RuleGroup): string;
|
|
2700
|
+
/** Compiles a single rule atom to a textual expression. */
|
|
2701
|
+
compileAtom(atom: RuleAtom): string;
|
|
2702
|
+
compileGroupToJsonLogic(group: RuleGroup): StructuredRuleCondition;
|
|
2703
|
+
compileAtomToJsonLogic(atom: RuleAtom): JsonLogicExpression | null;
|
|
2704
|
+
private stringify;
|
|
2705
|
+
private toJsonLogicValue;
|
|
2706
|
+
private toList;
|
|
2707
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RuleCompilerService, never>;
|
|
2708
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<RuleCompilerService>;
|
|
2709
|
+
}
|
|
2710
|
+
|
|
2711
|
+
type RuleItem = {
|
|
2712
|
+
condition: JsonLogicExpression;
|
|
2713
|
+
cssClass?: string;
|
|
2714
|
+
style?: Record<string, string>;
|
|
2715
|
+
description?: string;
|
|
2716
|
+
effects?: _praxisui_table_rule_builder.RuleEffectDefinition;
|
|
2717
|
+
enabled?: boolean;
|
|
2718
|
+
};
|
|
2719
|
+
declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy {
|
|
2720
|
+
private cdr;
|
|
2721
|
+
private registry;
|
|
2722
|
+
private compiler;
|
|
2723
|
+
private jsonLogic;
|
|
2724
|
+
private dynamicForm;
|
|
2725
|
+
private crud?;
|
|
2726
|
+
private get jsonLogicValidator();
|
|
2727
|
+
private readonly i18n;
|
|
2728
|
+
config: TableConfig;
|
|
2729
|
+
resourcePath?: string;
|
|
2730
|
+
fields?: FieldDefinition[] | null;
|
|
2731
|
+
i18nRules?: Partial<Record<string, string>>;
|
|
2732
|
+
configChange: EventEmitter<_praxisui_core.TableConfigModern>;
|
|
2733
|
+
scope: 'row' | 'column';
|
|
2734
|
+
selectedColumnField: string | null;
|
|
2735
|
+
draftCondition: string;
|
|
2736
|
+
draftCssClass: string;
|
|
2737
|
+
draftStyleText: string;
|
|
2738
|
+
sanitizedStyle: Record<string, string>;
|
|
2739
|
+
manualMode: boolean;
|
|
2740
|
+
manualErrors: string[];
|
|
2741
|
+
testSummary: string;
|
|
2742
|
+
editIndex: number;
|
|
2743
|
+
get currentRules(): RuleItem[];
|
|
2744
|
+
set currentRules(v: RuleItem[]);
|
|
2745
|
+
rulesRow: RuleItem[];
|
|
2746
|
+
rulesColumn: RuleItem[];
|
|
2747
|
+
objectKeys: {
|
|
2748
|
+
(o: object): string[];
|
|
2749
|
+
(o: {}): string[];
|
|
2750
|
+
};
|
|
2751
|
+
dynamicValueForm: FormGroup;
|
|
2752
|
+
dynamicValueMetas: FieldMetadata[];
|
|
2753
|
+
effectsValue?: RuleEffectDefinition;
|
|
2754
|
+
dynamicValueActive: boolean;
|
|
2755
|
+
private dynamicValueSub?;
|
|
2756
|
+
private testSummaryTimer;
|
|
2757
|
+
private readonly legacyStyleAllowList;
|
|
2758
|
+
basicFieldType: 'enum' | 'array' | 'json' | 'relational' | 'string' | 'number' | 'date' | 'boolean' | 'currency' | 'percentage' | 'custom';
|
|
2759
|
+
noValueOperator: boolean;
|
|
2760
|
+
i18nValuePlaceholder: string;
|
|
2761
|
+
enumOptions: Array<{
|
|
2762
|
+
value: any;
|
|
2763
|
+
label: string;
|
|
2764
|
+
}>;
|
|
2765
|
+
private updateDerivedUiProps;
|
|
2766
|
+
/** Enable verbose console logging for debugging value editor behavior */
|
|
2767
|
+
debugLogs: boolean;
|
|
2768
|
+
debugLevel: 'log' | 'info' | 'debug';
|
|
2769
|
+
private dbg;
|
|
2770
|
+
/** Log a summary table of field metadata and column info for diagnostics */
|
|
2771
|
+
private logFieldMetasContext;
|
|
2772
|
+
/** Log a focused view for a single field */
|
|
2773
|
+
private logSingleFieldMeta;
|
|
2774
|
+
private logFieldChoices;
|
|
2775
|
+
t(key: string): string;
|
|
2776
|
+
constructor(cdr: ChangeDetectorRef, registry: OperatorsRegistryService, compiler: RuleCompilerService, jsonLogic: PraxisJsonLogicService, dynamicForm: DynamicFormService, crud?: GenericCrudService<any> | undefined);
|
|
2777
|
+
ngOnInit(): void;
|
|
2778
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
2779
|
+
ngOnDestroy(): void;
|
|
2780
|
+
get columnFields(): string[];
|
|
2781
|
+
getOperatorsForField(fieldName: string | null): string[];
|
|
2782
|
+
onScopeChange(scope: 'row' | 'column'): void;
|
|
2783
|
+
onColumnSelect(field: string): void;
|
|
2784
|
+
private initFromConfig;
|
|
2785
|
+
private loadColumnRules;
|
|
2786
|
+
rebuildCondition(): void;
|
|
2787
|
+
onDraftChange(): void;
|
|
2788
|
+
applyTextPreset(preset: string): void;
|
|
2789
|
+
generateSampleData(): void;
|
|
2790
|
+
runTest(): void;
|
|
2791
|
+
onRelSearch(ev: any): void;
|
|
2792
|
+
clearRelSelection(): void;
|
|
2793
|
+
onRelSelectSingle(opt: any): void;
|
|
2794
|
+
onRelAddMulti(opt: any): void;
|
|
2795
|
+
removeRelMulti(i: number): void;
|
|
2796
|
+
private fetchRelOptions;
|
|
2797
|
+
private getRelationalConfig;
|
|
2798
|
+
validateDraft(): void;
|
|
2799
|
+
canCommitDraft(): boolean;
|
|
2800
|
+
private toPersistedCellClassAndStyle;
|
|
2801
|
+
addOrUpdateRule(): void;
|
|
2802
|
+
editRule(index: number): void;
|
|
2803
|
+
removeRule(index: number): void;
|
|
2804
|
+
duplicateRule(index: number): void;
|
|
2805
|
+
onRuleToggle(): void;
|
|
2806
|
+
buildAppliedConfig(baseConfig?: TableConfig): TableConfig;
|
|
2807
|
+
onApply(): void;
|
|
2808
|
+
isValid(): boolean;
|
|
2809
|
+
onExportRules(): void;
|
|
2810
|
+
onImportRules(): void;
|
|
2811
|
+
private sanitizeRule;
|
|
2812
|
+
getAnimationLabel(r: RuleItem): string | null;
|
|
2813
|
+
private normalizeRendererAnimation;
|
|
2814
|
+
private buildRendererOverrideFromRule;
|
|
2815
|
+
private buildLegacyRendererOverrideFromRule;
|
|
2816
|
+
private buildRowRendererOverrideFromRule;
|
|
2817
|
+
private stringifyValue;
|
|
2818
|
+
getConditionLabel(condition: RuleItem['condition'] | null | undefined): string;
|
|
2819
|
+
private buildPersistedCondition;
|
|
2820
|
+
private sanitizePersistedCondition;
|
|
2821
|
+
private parseLegacyStyle;
|
|
2822
|
+
private normalizeLegacyStyleObject;
|
|
2823
|
+
resetDraft(): void;
|
|
2824
|
+
private parseManualCondition;
|
|
2825
|
+
private tryParseManualCondition;
|
|
2826
|
+
private validateManualCondition;
|
|
2827
|
+
private getInvalidVarPaths;
|
|
2828
|
+
private collectVarPaths;
|
|
2829
|
+
private isKnownJsonLogicPath;
|
|
2830
|
+
private isManualExpressionCandidate;
|
|
2831
|
+
private looksLikeLegacyExpression;
|
|
2832
|
+
private toManualValidationMessage;
|
|
2833
|
+
basicField: string;
|
|
2834
|
+
basicOperator: string;
|
|
2835
|
+
basicValue: any;
|
|
2836
|
+
basicMin: any;
|
|
2837
|
+
basicMax: any;
|
|
2838
|
+
basicListCsv: string;
|
|
2839
|
+
basicDate: Date | null;
|
|
2840
|
+
basicDateStart: Date | null;
|
|
2841
|
+
basicDateEnd: Date | null;
|
|
2842
|
+
basicEnumValue: string | number | null;
|
|
2843
|
+
basicEnumValues: Array<string | number>;
|
|
2844
|
+
basicLength: number | null;
|
|
2845
|
+
relationalSelected: {
|
|
2846
|
+
id: any;
|
|
2847
|
+
label: string;
|
|
2848
|
+
raw: any;
|
|
2849
|
+
} | null;
|
|
2850
|
+
relationalSelectedMulti: Array<{
|
|
2851
|
+
id: any;
|
|
2852
|
+
label: string;
|
|
2853
|
+
raw: any;
|
|
2854
|
+
}>;
|
|
2855
|
+
relationalOptions: Array<{
|
|
2856
|
+
id: any;
|
|
2857
|
+
label: string;
|
|
2858
|
+
raw: any;
|
|
2859
|
+
}>;
|
|
2860
|
+
basicRelPath: string;
|
|
2861
|
+
private relSearchTerm;
|
|
2862
|
+
private relCache;
|
|
2863
|
+
basicLastN: number | null;
|
|
2864
|
+
basicLastUnit: 'days' | 'weeks' | 'months';
|
|
2865
|
+
basicWeekdays: number[];
|
|
2866
|
+
weekdayOptions: {
|
|
2867
|
+
value: number;
|
|
2868
|
+
label: string;
|
|
2869
|
+
}[];
|
|
2870
|
+
basicJsonPath: string;
|
|
2871
|
+
basicJsonPattern: string;
|
|
2872
|
+
basicJsonKey: string;
|
|
2873
|
+
basicJsonExpected: any;
|
|
2874
|
+
draftGroup: RuleGroup;
|
|
2875
|
+
editAtomIndex: number;
|
|
2876
|
+
activeGroupTarget: 'root' | number;
|
|
2877
|
+
onEffectsChange(v: RuleEffectDefinition): void;
|
|
2878
|
+
private hasRuleEffectsValue;
|
|
2879
|
+
getFieldType(fieldName: string | null): 'enum' | 'array' | 'json' | 'relational' | 'string' | 'number' | 'date' | 'boolean' | 'currency' | 'percentage' | 'custom';
|
|
2880
|
+
getEnumOptions(fieldName: string | null): Array<{
|
|
2881
|
+
value: any;
|
|
2882
|
+
label: string;
|
|
2883
|
+
}>;
|
|
2884
|
+
isNoValueOperator(op: string): boolean;
|
|
2885
|
+
getValuePlaceholder(): string;
|
|
2886
|
+
getI18nValuePlaceholder(): string;
|
|
2887
|
+
private toIsoDateString;
|
|
2888
|
+
setManualMode(v: boolean): void;
|
|
2889
|
+
onBasicFieldChange(_val: string): void;
|
|
2890
|
+
onBasicOperatorChange(_val: string): void;
|
|
2891
|
+
private refreshDynamicValueInitialValueOnly;
|
|
2892
|
+
refreshDynamicValueHost(): void;
|
|
2893
|
+
private buildAtomFromBasic;
|
|
2894
|
+
canBuildAtom(): boolean;
|
|
2895
|
+
onAddOrUpdateAtom(): void;
|
|
2896
|
+
editAtom(index: number): void;
|
|
2897
|
+
removeAtom(index: number): void;
|
|
2898
|
+
resetAtomEdit(): void;
|
|
2899
|
+
private focusAddCondition;
|
|
2900
|
+
clearGroup(): void;
|
|
2901
|
+
onDropCondition(evt: CdkDragDrop<RuleAtom[]>): void;
|
|
2902
|
+
updateDraftFromGroup(): void;
|
|
2903
|
+
getAtomPreview(a: RuleAtom): string;
|
|
2904
|
+
addSubgroup(): void;
|
|
2905
|
+
removeSubgroup(index: number): void;
|
|
2906
|
+
getGroupPreview(g: RuleGroup): string;
|
|
2907
|
+
private getActiveGroupRef;
|
|
2908
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TableRulesEditorComponent, [null, null, null, null, null, { optional: true; }]>;
|
|
2909
|
+
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>;
|
|
2910
|
+
}
|
|
2911
|
+
|
|
2543
2912
|
type ResourcePathIntent = 'set' | 'clear' | 'unchanged';
|
|
2544
2913
|
type EffectiveDataMode = 'remote' | 'local' | 'empty';
|
|
2545
2914
|
declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValueProvider {
|
|
2546
2915
|
private cdr;
|
|
2547
2916
|
private configService;
|
|
2917
|
+
private readonly i18n;
|
|
2548
2918
|
filterSettingsEditor?: FilterSettingsComponent;
|
|
2549
2919
|
behaviorEditor?: BehaviorConfigEditorComponent;
|
|
2920
|
+
rulesEditor?: TableRulesEditorComponent;
|
|
2550
2921
|
set crudEditorSetter(ref: any);
|
|
2551
2922
|
private crudEditor?;
|
|
2552
2923
|
private _crudSubscribed;
|
|
@@ -2609,7 +2980,6 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
2609
2980
|
private readonly panelData;
|
|
2610
2981
|
private readonly crudService;
|
|
2611
2982
|
private readonly panelRef;
|
|
2612
|
-
private readonly i18n;
|
|
2613
2983
|
constructor(cdr: ChangeDetectorRef, configService: TableConfigService);
|
|
2614
2984
|
tx(key: string, fallback: string): string;
|
|
2615
2985
|
private isDebugLoggingEnabled;
|
|
@@ -2647,6 +3017,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
2647
3017
|
*/
|
|
2648
3018
|
private deepEqual;
|
|
2649
3019
|
getSettingsValue(): any;
|
|
3020
|
+
private syncRulesFromEditor;
|
|
2650
3021
|
private syncFilterSettingsFromEditor;
|
|
2651
3022
|
private hasAdvancedSettingsProperty;
|
|
2652
3023
|
private syncLastKnownFilterSettingsFromEditedConfig;
|
|
@@ -2770,6 +3141,78 @@ declare class DataFormatterComponent implements OnInit, OnChanges {
|
|
|
2770
3141
|
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
3142
|
}
|
|
2772
3143
|
|
|
3144
|
+
type AnalyticsTableRow = Record<string, string | number | boolean | null>;
|
|
3145
|
+
type AnalyticsTableContractSource = 'remote' | 'fallback';
|
|
3146
|
+
interface AnalyticsTableViewModel {
|
|
3147
|
+
config: TableConfig;
|
|
3148
|
+
data: AnalyticsTableRow[];
|
|
3149
|
+
}
|
|
3150
|
+
interface AnalyticsTableContractDefinition<TKey extends string = string> {
|
|
3151
|
+
key: TKey;
|
|
3152
|
+
projectionId: string;
|
|
3153
|
+
path: string;
|
|
3154
|
+
title: PraxisTextValue;
|
|
3155
|
+
subtitle?: PraxisTextValue;
|
|
3156
|
+
fallbackProjection: PraxisAnalyticsProjection;
|
|
3157
|
+
fallbackRows?: AnalyticsTableRow[];
|
|
3158
|
+
}
|
|
3159
|
+
interface AnalyticsTableContractLoadOptions<TKey extends string = string> {
|
|
3160
|
+
cacheNamespace?: string;
|
|
3161
|
+
queryContexts?: Partial<Record<TKey, PraxisDataQueryContext | null>>;
|
|
3162
|
+
}
|
|
3163
|
+
interface AnalyticsTableContractLoadResult<TKey extends string = string> {
|
|
3164
|
+
views: Record<TKey, AnalyticsTableViewModel>;
|
|
3165
|
+
sources: Record<TKey, AnalyticsTableContractSource>;
|
|
3166
|
+
errors: Partial<Record<TKey, string>>;
|
|
3167
|
+
}
|
|
3168
|
+
|
|
3169
|
+
interface AnalyticsTableConfigAdapterOptions {
|
|
3170
|
+
title?: PraxisTextValue;
|
|
3171
|
+
subtitle?: PraxisTextValue;
|
|
3172
|
+
}
|
|
3173
|
+
declare class AnalyticsTableConfigAdapterService {
|
|
3174
|
+
toTableConfig(projection: PraxisAnalyticsProjection, options?: AnalyticsTableConfigAdapterOptions): TableConfig;
|
|
3175
|
+
private buildColumns;
|
|
3176
|
+
private getDisplayMetrics;
|
|
3177
|
+
private resolveTextValue;
|
|
3178
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsTableConfigAdapterService, never>;
|
|
3179
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableConfigAdapterService>;
|
|
3180
|
+
}
|
|
3181
|
+
|
|
3182
|
+
declare class AnalyticsTableStatsApiService {
|
|
3183
|
+
private readonly http;
|
|
3184
|
+
private readonly apiUrl;
|
|
3185
|
+
private readonly statsBuilder;
|
|
3186
|
+
constructor(http: HttpClient, apiUrl: ApiUrlConfig);
|
|
3187
|
+
execute(projection: PraxisAnalyticsProjection, queryContext?: PraxisDataQueryContext | null): Promise<AnalyticsTableRow[]>;
|
|
3188
|
+
private toTableRows;
|
|
3189
|
+
private resolveTimeSeriesCategory;
|
|
3190
|
+
private resolveBucketCategory;
|
|
3191
|
+
private projectMetricValues;
|
|
3192
|
+
private resolveMetricValue;
|
|
3193
|
+
private buildStatsUrl;
|
|
3194
|
+
private applyQueryContext;
|
|
3195
|
+
private normalizeError;
|
|
3196
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsTableStatsApiService, never>;
|
|
3197
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableStatsApiService>;
|
|
3198
|
+
}
|
|
3199
|
+
|
|
3200
|
+
declare class AnalyticsTableContractService {
|
|
3201
|
+
private readonly analyticsSchema;
|
|
3202
|
+
private readonly resolver;
|
|
3203
|
+
private readonly configAdapter;
|
|
3204
|
+
private readonly statsApi;
|
|
3205
|
+
constructor(analyticsSchema: AnalyticsSchemaContractService, resolver: AnalyticsPresentationResolver, configAdapter: AnalyticsTableConfigAdapterService, statsApi: AnalyticsTableStatsApiService);
|
|
3206
|
+
buildBootstrapTableViews<TKey extends string>(definitions: readonly AnalyticsTableContractDefinition<TKey>[]): Record<TKey, AnalyticsTableViewModel>;
|
|
3207
|
+
loadTableViews<TKey extends string>(definitions: readonly AnalyticsTableContractDefinition<TKey>[], options?: AnalyticsTableContractLoadOptions<TKey>): Promise<AnalyticsTableContractLoadResult<TKey>>;
|
|
3208
|
+
private loadSingleTableView;
|
|
3209
|
+
private buildTableView;
|
|
3210
|
+
private assertAnalyticTableProjection;
|
|
3211
|
+
private resolveQueryContext;
|
|
3212
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsTableContractService, never>;
|
|
3213
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableContractService>;
|
|
3214
|
+
}
|
|
3215
|
+
|
|
2773
3216
|
declare function createTableAuthoringDocument(source: {
|
|
2774
3217
|
config?: unknown;
|
|
2775
3218
|
bindings?: unknown;
|
|
@@ -2833,276 +3276,6 @@ declare class ValueMappingEditorComponent implements OnInit, OnChanges {
|
|
|
2833
3276
|
static ɵcmp: i0.ɵɵComponentDeclaration<ValueMappingEditorComponent, "value-mapping-editor", never, { "currentMapping": { "alias": "currentMapping"; "required": false; }; "keyInputType": { "alias": "keyInputType"; "required": false; }; "labelKey": { "alias": "labelKey"; "required": false; }; "labelValue": { "alias": "labelValue"; "required": false; }; }, { "mappingChange": "mappingChange"; }, never, never, true, never>;
|
|
2834
3277
|
}
|
|
2835
3278
|
|
|
2836
|
-
type ColumnDataType = 'string' | 'number' | 'date' | 'boolean' | 'currency' | 'percentage' | 'custom';
|
|
2837
|
-
|
|
2838
|
-
type OperatorKey = '==' | '!=' | '<' | '<=' | '>' | '>=' | 'contains' | 'startsWith' | 'endsWith' | 'matches' | 'not matches' | 'in' | 'not in' | 'is empty' | 'is not empty' | 'between' | 'is today' | 'in last' | 'weekday is' | 'is true' | 'is false' | 'contains all' | 'contains any' | 'length ==' | 'length >' | 'length <' | 'jsonPath matches' | 'has key' | 'key ==' | 'id ==' | 'id in' | 'has property';
|
|
2839
|
-
interface OperatorSpec {
|
|
2840
|
-
key: OperatorKey;
|
|
2841
|
-
label: string;
|
|
2842
|
-
icon?: string;
|
|
2843
|
-
description?: string;
|
|
2844
|
-
}
|
|
2845
|
-
declare class OperatorsRegistryService {
|
|
2846
|
-
/** Returns the list of operator specs supported for a given data type. */
|
|
2847
|
-
getForType(type: ColumnDataType | 'enum' | 'array' | 'json' | 'relational'): OperatorSpec[];
|
|
2848
|
-
get keys(): OperatorKey[];
|
|
2849
|
-
private readonly stringOps;
|
|
2850
|
-
private readonly numberOps;
|
|
2851
|
-
private readonly dateOps;
|
|
2852
|
-
private readonly booleanOps;
|
|
2853
|
-
private readonly enumOps;
|
|
2854
|
-
private readonly arrayOps;
|
|
2855
|
-
private readonly jsonOps;
|
|
2856
|
-
private readonly relationalOps;
|
|
2857
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<OperatorsRegistryService, never>;
|
|
2858
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<OperatorsRegistryService>;
|
|
2859
|
-
}
|
|
2860
|
-
|
|
2861
|
-
type GroupOp = 'AND' | 'OR' | 'NOT';
|
|
2862
|
-
interface RuleAtom {
|
|
2863
|
-
field: string;
|
|
2864
|
-
operator: string;
|
|
2865
|
-
value?: any;
|
|
2866
|
-
options?: Record<string, any>;
|
|
2867
|
-
}
|
|
2868
|
-
interface RuleGroup {
|
|
2869
|
-
op: GroupOp;
|
|
2870
|
-
conditions: RuleAtom[];
|
|
2871
|
-
groups?: RuleGroup[];
|
|
2872
|
-
}
|
|
2873
|
-
declare class RuleCompilerService {
|
|
2874
|
-
/**
|
|
2875
|
-
* Compiles a rule group into a single DSL expression string, adding
|
|
2876
|
-
* parentheses according to grouping and operator precedence.
|
|
2877
|
-
*/
|
|
2878
|
-
compileGroup(group: RuleGroup): string;
|
|
2879
|
-
/** Compiles a single rule atom to DSL. */
|
|
2880
|
-
compileAtom(atom: RuleAtom): string;
|
|
2881
|
-
private stringify;
|
|
2882
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RuleCompilerService, never>;
|
|
2883
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<RuleCompilerService>;
|
|
2884
|
-
}
|
|
2885
|
-
|
|
2886
|
-
type RuleItem = {
|
|
2887
|
-
condition: string;
|
|
2888
|
-
cssClass?: string;
|
|
2889
|
-
style?: Record<string, string>;
|
|
2890
|
-
description?: string;
|
|
2891
|
-
effects?: _praxisui_table_rule_builder.RuleEffectDefinition;
|
|
2892
|
-
enabled?: boolean;
|
|
2893
|
-
};
|
|
2894
|
-
declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy {
|
|
2895
|
-
private cdr;
|
|
2896
|
-
private registry;
|
|
2897
|
-
private compiler;
|
|
2898
|
-
private dynamicForm;
|
|
2899
|
-
private crud?;
|
|
2900
|
-
private static runtimeRegistryInstanceCounter;
|
|
2901
|
-
private readonly i18n;
|
|
2902
|
-
config: TableConfig;
|
|
2903
|
-
resourcePath?: string;
|
|
2904
|
-
fields?: FieldDefinition[] | null;
|
|
2905
|
-
i18nRules?: Partial<Record<string, string>>;
|
|
2906
|
-
dslFunctionRegistry: FunctionRegistry<any> | null;
|
|
2907
|
-
configChange: EventEmitter<_praxisui_core.TableConfigModern>;
|
|
2908
|
-
scope: 'row' | 'column';
|
|
2909
|
-
selectedColumnField: string | null;
|
|
2910
|
-
draftCondition: string;
|
|
2911
|
-
draftCssClass: string;
|
|
2912
|
-
draftStyleText: string;
|
|
2913
|
-
sanitizedStyle: Record<string, string>;
|
|
2914
|
-
dslMode: boolean;
|
|
2915
|
-
dslErrors: string[];
|
|
2916
|
-
testSummary: string;
|
|
2917
|
-
editIndex: number;
|
|
2918
|
-
get currentRules(): RuleItem[];
|
|
2919
|
-
set currentRules(v: RuleItem[]);
|
|
2920
|
-
rulesRow: RuleItem[];
|
|
2921
|
-
rulesColumn: RuleItem[];
|
|
2922
|
-
private parser;
|
|
2923
|
-
private runtimeFunctionRegistry;
|
|
2924
|
-
private readonly runtimeRegistryContextKey;
|
|
2925
|
-
objectKeys: {
|
|
2926
|
-
(o: object): string[];
|
|
2927
|
-
(o: {}): string[];
|
|
2928
|
-
};
|
|
2929
|
-
dynamicValueForm: FormGroup;
|
|
2930
|
-
dynamicValueMetas: FieldMetadata[];
|
|
2931
|
-
effectsValue?: RuleEffectDefinition;
|
|
2932
|
-
dynamicValueActive: boolean;
|
|
2933
|
-
private dynamicValueSub?;
|
|
2934
|
-
private testSummaryTimer;
|
|
2935
|
-
private readonly legacyStyleAllowList;
|
|
2936
|
-
basicFieldType: 'enum' | 'array' | 'json' | 'relational' | 'string' | 'number' | 'date' | 'boolean' | 'currency' | 'percentage' | 'custom';
|
|
2937
|
-
noValueOperator: boolean;
|
|
2938
|
-
i18nValuePlaceholder: string;
|
|
2939
|
-
enumOptions: Array<{
|
|
2940
|
-
value: any;
|
|
2941
|
-
label: string;
|
|
2942
|
-
}>;
|
|
2943
|
-
private updateDerivedUiProps;
|
|
2944
|
-
/** Enable verbose console logging for debugging value editor behavior */
|
|
2945
|
-
debugLogs: boolean;
|
|
2946
|
-
debugLevel: 'log' | 'info' | 'debug';
|
|
2947
|
-
private dbg;
|
|
2948
|
-
/** Log a summary table of field metadata and column info for diagnostics */
|
|
2949
|
-
private logFieldMetasContext;
|
|
2950
|
-
/** Log a focused view for a single field */
|
|
2951
|
-
private logSingleFieldMeta;
|
|
2952
|
-
private logFieldChoices;
|
|
2953
|
-
t(key: string): string;
|
|
2954
|
-
constructor(cdr: ChangeDetectorRef, registry: OperatorsRegistryService, compiler: RuleCompilerService, dynamicForm: DynamicFormService, crud?: GenericCrudService<any> | undefined);
|
|
2955
|
-
private configureDslRuntime;
|
|
2956
|
-
ngOnInit(): void;
|
|
2957
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
2958
|
-
ngOnDestroy(): void;
|
|
2959
|
-
get columnFields(): string[];
|
|
2960
|
-
getOperatorsForField(fieldName: string | null): string[];
|
|
2961
|
-
onScopeChange(_s: 'row' | 'column'): void;
|
|
2962
|
-
onColumnSelect(_field: string): void;
|
|
2963
|
-
private initFromConfig;
|
|
2964
|
-
private loadColumnRules;
|
|
2965
|
-
rebuildCondition(): void;
|
|
2966
|
-
onDraftChange(): void;
|
|
2967
|
-
applyTextPreset(preset: string): void;
|
|
2968
|
-
generateSampleData(): void;
|
|
2969
|
-
runTest(): void;
|
|
2970
|
-
onRelSearch(ev: any): void;
|
|
2971
|
-
clearRelSelection(): void;
|
|
2972
|
-
onRelSelectSingle(opt: any): void;
|
|
2973
|
-
onRelAddMulti(opt: any): void;
|
|
2974
|
-
removeRelMulti(i: number): void;
|
|
2975
|
-
private fetchRelOptions;
|
|
2976
|
-
private getRelationalConfig;
|
|
2977
|
-
validateDraft(): void;
|
|
2978
|
-
canCommitDraft(): boolean;
|
|
2979
|
-
private toPersistedCellClassAndStyle;
|
|
2980
|
-
addOrUpdateRule(): void;
|
|
2981
|
-
editRule(index: number): void;
|
|
2982
|
-
removeRule(index: number): void;
|
|
2983
|
-
duplicateRule(index: number): void;
|
|
2984
|
-
onRuleToggle(): void;
|
|
2985
|
-
onApply(): void;
|
|
2986
|
-
isValid(): boolean;
|
|
2987
|
-
onExportRules(): void;
|
|
2988
|
-
onImportRules(): void;
|
|
2989
|
-
private sanitizeRule;
|
|
2990
|
-
private getKnownDslFields;
|
|
2991
|
-
getAnimationLabel(r: RuleItem): string | null;
|
|
2992
|
-
private normalizeRendererAnimation;
|
|
2993
|
-
private buildRendererOverrideFromRule;
|
|
2994
|
-
private buildLegacyRendererOverrideFromRule;
|
|
2995
|
-
private buildRowRendererOverrideFromRule;
|
|
2996
|
-
private stringifyValue;
|
|
2997
|
-
private parseLegacyStyle;
|
|
2998
|
-
private normalizeLegacyStyleObject;
|
|
2999
|
-
private extractIdentifiers;
|
|
3000
|
-
resetDraft(): void;
|
|
3001
|
-
basicField: string;
|
|
3002
|
-
basicOperator: string;
|
|
3003
|
-
basicValue: any;
|
|
3004
|
-
basicMin: any;
|
|
3005
|
-
basicMax: any;
|
|
3006
|
-
basicListCsv: string;
|
|
3007
|
-
basicDate: Date | null;
|
|
3008
|
-
basicDateStart: Date | null;
|
|
3009
|
-
basicDateEnd: Date | null;
|
|
3010
|
-
basicEnumValue: string | number | null;
|
|
3011
|
-
basicEnumValues: Array<string | number>;
|
|
3012
|
-
basicLength: number | null;
|
|
3013
|
-
relationalSelected: {
|
|
3014
|
-
id: any;
|
|
3015
|
-
label: string;
|
|
3016
|
-
raw: any;
|
|
3017
|
-
} | null;
|
|
3018
|
-
relationalSelectedMulti: Array<{
|
|
3019
|
-
id: any;
|
|
3020
|
-
label: string;
|
|
3021
|
-
raw: any;
|
|
3022
|
-
}>;
|
|
3023
|
-
relationalOptions: Array<{
|
|
3024
|
-
id: any;
|
|
3025
|
-
label: string;
|
|
3026
|
-
raw: any;
|
|
3027
|
-
}>;
|
|
3028
|
-
basicRelPath: string;
|
|
3029
|
-
private relSearchTerm;
|
|
3030
|
-
private relCache;
|
|
3031
|
-
basicLastN: number | null;
|
|
3032
|
-
basicLastUnit: 'days' | 'weeks' | 'months';
|
|
3033
|
-
basicWeekdays: number[];
|
|
3034
|
-
weekdayOptions: {
|
|
3035
|
-
value: number;
|
|
3036
|
-
label: string;
|
|
3037
|
-
}[];
|
|
3038
|
-
basicJsonPath: string;
|
|
3039
|
-
basicJsonPattern: string;
|
|
3040
|
-
basicJsonKey: string;
|
|
3041
|
-
basicJsonExpected: any;
|
|
3042
|
-
draftGroup: RuleGroup;
|
|
3043
|
-
editAtomIndex: number;
|
|
3044
|
-
activeGroupTarget: 'root' | number;
|
|
3045
|
-
onEffectsChange(v: RuleEffectDefinition): void;
|
|
3046
|
-
private hasRuleEffectsValue;
|
|
3047
|
-
getFieldType(fieldName: string | null): 'enum' | 'array' | 'json' | 'relational' | 'string' | 'number' | 'date' | 'boolean' | 'currency' | 'percentage' | 'custom';
|
|
3048
|
-
getEnumOptions(fieldName: string | null): Array<{
|
|
3049
|
-
value: any;
|
|
3050
|
-
label: string;
|
|
3051
|
-
}>;
|
|
3052
|
-
isNoValueOperator(op: string): boolean;
|
|
3053
|
-
getValuePlaceholder(): string;
|
|
3054
|
-
getI18nValuePlaceholder(): string;
|
|
3055
|
-
private toIsoDateString;
|
|
3056
|
-
setDsl(v: boolean): void;
|
|
3057
|
-
onBasicFieldChange(_val: string): void;
|
|
3058
|
-
onBasicOperatorChange(_val: string): void;
|
|
3059
|
-
private refreshDynamicValueInitialValueOnly;
|
|
3060
|
-
refreshDynamicValueHost(): void;
|
|
3061
|
-
private buildAtomFromBasic;
|
|
3062
|
-
canBuildAtom(): boolean;
|
|
3063
|
-
onAddOrUpdateAtom(): void;
|
|
3064
|
-
editAtom(index: number): void;
|
|
3065
|
-
removeAtom(index: number): void;
|
|
3066
|
-
resetAtomEdit(): void;
|
|
3067
|
-
private focusAddCondition;
|
|
3068
|
-
clearGroup(): void;
|
|
3069
|
-
onDropCondition(evt: CdkDragDrop<RuleAtom[]>): void;
|
|
3070
|
-
updateDraftFromGroup(): void;
|
|
3071
|
-
getAtomPreview(a: RuleAtom): string;
|
|
3072
|
-
addSubgroup(): void;
|
|
3073
|
-
removeSubgroup(index: number): void;
|
|
3074
|
-
getGroupPreview(g: RuleGroup): string;
|
|
3075
|
-
private getActiveGroupRef;
|
|
3076
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TableRulesEditorComponent, [null, null, null, null, { optional: true; }]>;
|
|
3077
|
-
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; }; "dslFunctionRegistry": { "alias": "dslFunctionRegistry"; "required": false; }; "debugLogs": { "alias": "debugLogs"; "required": false; }; "debugLevel": { "alias": "debugLevel"; "required": false; }; }, { "configChange": "configChange"; }, never, never, true, never>;
|
|
3078
|
-
}
|
|
3079
|
-
|
|
3080
|
-
/**
|
|
3081
|
-
* Lightweight JSON path evaluator for simple cases used in conditional styling.
|
|
3082
|
-
* Supported syntax (subset):
|
|
3083
|
-
* - $.a.b.c
|
|
3084
|
-
* - a.b[0].c
|
|
3085
|
-
* - a["key"] / a['key']
|
|
3086
|
-
* - a[0]
|
|
3087
|
-
*/
|
|
3088
|
-
declare function jsonPathGet(root: any, rawPath: string): any;
|
|
3089
|
-
declare function hasJsonKey(root: any, keyOrPath: string): boolean;
|
|
3090
|
-
declare function jsonPathMatches(root: any, path: string, pattern: string): boolean;
|
|
3091
|
-
/**
|
|
3092
|
-
* Registers JSON helpers in a DslParser instance, if it supports custom functions.
|
|
3093
|
-
* This is optional — call it in your app host bootstrap.
|
|
3094
|
-
*/
|
|
3095
|
-
declare function registerJsonDslFunctions(parser: DslParser | any): void;
|
|
3096
|
-
|
|
3097
|
-
/**
|
|
3098
|
-
* Registers simple date/time helpers in a DslParser instance.
|
|
3099
|
-
* - today(): returns 'YYYY-MM-DD' (UTC)
|
|
3100
|
-
* - now(): returns Unix timestamp in milliseconds
|
|
3101
|
-
* - dateAdd(date, amount, unit): adds amount (days|weeks|months) and returns 'YYYY-MM-DD'
|
|
3102
|
-
* - dateFormat(date, token): supports token 'E' (ISO weekday 1..7)
|
|
3103
|
-
*/
|
|
3104
|
-
declare function registerDateDslFunctions(parser: DslParser | any): void;
|
|
3105
|
-
|
|
3106
3279
|
declare class FormulaGeneratorService {
|
|
3107
3280
|
/**
|
|
3108
3281
|
* Generates a safe JavaScript expression from a formula definition
|
|
@@ -3298,5 +3471,5 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
|
|
|
3298
3471
|
}
|
|
3299
3472
|
declare const TABLE_COMPONENT_AI_CAPABILITIES: CapabilityCatalog;
|
|
3300
3473
|
|
|
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,
|
|
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 };
|
|
3474
|
+
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, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, providePraxisFilterMetadata, providePraxisTableMetadata, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
|
|
3475
|
+
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 };
|