@praxisui/table 4.0.0-beta.0 → 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,18 +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, RestApiLinks, ColumnDefinition, ConnectionStorage, ResourceDiscoveryService, LoadingOrchestrator, PraxisLoadingRenderer, ResourceActionCatalogItem, GlobalActionSpec, IconPickerService, SurfaceOpenPayload, GlobalActionField, TableConfigService, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, AnalyticsSchemaContractService, AnalyticsPresentationResolver,
|
|
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';
|
|
19
|
+
import * as _praxisui_table_rule_builder from '@praxisui/table-rule-builder';
|
|
20
|
+
import { RuleEffectDefinition } from '@praxisui/table-rule-builder';
|
|
20
21
|
import { HttpClient } from '@angular/common/http';
|
|
21
22
|
import * as _angular_material_paginator_d_Zo1cMMo4 from '@angular/material/paginator.d-Zo1cMMo4';
|
|
22
23
|
import { MatCheckboxChange } from '@angular/material/checkbox';
|
|
23
|
-
import * as _praxisui_table_rule_builder from '@praxisui/table-rule-builder';
|
|
24
|
-
import { RuleEffectDefinition } from '@praxisui/table-rule-builder';
|
|
25
24
|
|
|
26
25
|
interface ActionLike {
|
|
27
26
|
action?: string;
|
|
@@ -35,10 +34,9 @@ interface ActionLike {
|
|
|
35
34
|
}
|
|
36
35
|
declare function getActionId(action: ActionLike): string;
|
|
37
36
|
|
|
38
|
-
declare class PraxisTableToolbar implements
|
|
37
|
+
declare class PraxisTableToolbar implements OnDestroy {
|
|
39
38
|
private hostRef;
|
|
40
39
|
private logger?;
|
|
41
|
-
private static dslRuntimeInstanceCounter;
|
|
42
40
|
config?: TableConfig;
|
|
43
41
|
backgroundColor: string | null;
|
|
44
42
|
placement: 'header' | 'footer';
|
|
@@ -47,18 +45,14 @@ declare class PraxisTableToolbar implements OnChanges, OnDestroy {
|
|
|
47
45
|
showEndActions: boolean;
|
|
48
46
|
showMobileActions: boolean;
|
|
49
47
|
showReset: boolean;
|
|
50
|
-
|
|
51
|
-
dslFunctionRegistry: FunctionRegistry<any> | null;
|
|
48
|
+
evaluationContext: Record<string, any> | null;
|
|
52
49
|
toolbarAction: EventEmitter<{
|
|
53
50
|
action: string;
|
|
54
51
|
actionConfig?: any;
|
|
55
52
|
}>;
|
|
56
53
|
reset: EventEmitter<void>;
|
|
57
54
|
readonly getActionId: typeof getActionId;
|
|
58
|
-
private
|
|
59
|
-
private dslRuntimeRegistry;
|
|
60
|
-
private readonly dslRuntimeContextKey;
|
|
61
|
-
private readonly visibleWhenSpecCache;
|
|
55
|
+
private readonly jsonLogic;
|
|
62
56
|
private readonly validToolbarActionTypes;
|
|
63
57
|
private readonly warnedInvalidToolbarActionTypes;
|
|
64
58
|
private readonly warnedMenuWithoutChildren;
|
|
@@ -69,9 +63,7 @@ declare class PraxisTableToolbar implements OnChanges, OnDestroy {
|
|
|
69
63
|
private fallbackLogger?;
|
|
70
64
|
private fallbackLoggerEnvironment;
|
|
71
65
|
constructor(hostRef?: ElementRef<HTMLElement> | null, logger?: LoggerService | undefined);
|
|
72
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
73
66
|
ngOnDestroy(): void;
|
|
74
|
-
private configureDslRuntime;
|
|
75
67
|
private getNestedPropertyValue;
|
|
76
68
|
private cloneForEmit;
|
|
77
69
|
private getLogger;
|
|
@@ -95,12 +87,12 @@ declare class PraxisTableToolbar implements OnChanges, OnDestroy {
|
|
|
95
87
|
private resolveVisibleToolbarAction;
|
|
96
88
|
private isActionVisible;
|
|
97
89
|
private evaluateVisibleWhen;
|
|
90
|
+
private isJsonLogicExpression;
|
|
98
91
|
private resolveVisibleWhenFallback;
|
|
99
92
|
private resolveVisibleWhenFallbackPolicy;
|
|
100
93
|
private resolveRuntimeEnvironment;
|
|
101
94
|
private isDiagnosticsEnvironment;
|
|
102
|
-
private
|
|
103
|
-
private getKnownDslFields;
|
|
95
|
+
private buildEvaluationContext;
|
|
104
96
|
private warnVisibleWhenFallback;
|
|
105
97
|
private collectShortcutBindings;
|
|
106
98
|
private resolveShortcutScope;
|
|
@@ -117,7 +109,7 @@ declare class PraxisTableToolbar implements OnChanges, OnDestroy {
|
|
|
117
109
|
private sortActions;
|
|
118
110
|
getExportIcon(format: string): string;
|
|
119
111
|
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableToolbar, [null, { optional: true; }]>;
|
|
120
|
-
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>;
|
|
121
113
|
}
|
|
122
114
|
|
|
123
115
|
type ColumnDataType$1 = 'date' | 'number' | 'currency' | 'percentage' | 'string' | 'boolean' | 'custom';
|
|
@@ -873,7 +865,6 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
873
865
|
private loadingRenderer?;
|
|
874
866
|
private route?;
|
|
875
867
|
private logger?;
|
|
876
|
-
private static dslRuntimeInstanceCounter;
|
|
877
868
|
private static readonly CELL_ANIMATION_CHANGE_CACHE_LIMIT;
|
|
878
869
|
private static readonly ROW_DISCOVERY_SUCCESS_CACHE_TTL_MS;
|
|
879
870
|
private static readonly ROW_DISCOVERY_ERROR_CACHE_TTL_MS;
|
|
@@ -894,7 +885,6 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
894
885
|
snoozeMs: number;
|
|
895
886
|
autoOpenSettingsOnOutdated: boolean;
|
|
896
887
|
crudContext: any;
|
|
897
|
-
dslFunctionRegistry: FunctionRegistry<any> | null;
|
|
898
888
|
filterCriteria: Record<string, any>;
|
|
899
889
|
queryContext: PraxisDataQueryContextBridge | null;
|
|
900
890
|
rowClick: EventEmitter<any>;
|
|
@@ -1056,13 +1046,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1056
1046
|
getSchemaFieldsSnapshot(): SchemaFieldHint[];
|
|
1057
1047
|
aiAdapter: any;
|
|
1058
1048
|
private aiAdapterLoadStarted;
|
|
1059
|
-
styleSpecCache: Map<string, any>;
|
|
1060
|
-
actionSpecCache: Map<string, any>;
|
|
1061
1049
|
private computedContextCache;
|
|
1062
1050
|
private computedFieldNames;
|
|
1063
|
-
|
|
1064
|
-
private dslRuntimeRegistry;
|
|
1065
|
-
private readonly dslRuntimeContextKey;
|
|
1051
|
+
private readonly jsonLogic;
|
|
1066
1052
|
private computedExpressionEvaluator;
|
|
1067
1053
|
private resizeObserver;
|
|
1068
1054
|
private removeViewportChangeListeners;
|
|
@@ -1107,7 +1093,6 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1107
1093
|
private ensureConfigDefaults;
|
|
1108
1094
|
private setShowToolbar;
|
|
1109
1095
|
private shouldExposeToolbar;
|
|
1110
|
-
private configureDslRuntime;
|
|
1111
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);
|
|
1112
1097
|
private ensureAiAdapterLoaded;
|
|
1113
1098
|
private emitLoadingState;
|
|
@@ -1408,9 +1393,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1408
1393
|
private evaluateStyleRule;
|
|
1409
1394
|
private evaluateActionVisibilityCondition;
|
|
1410
1395
|
private evaluateActionDisabledCondition;
|
|
1411
|
-
/** Evaluate row action conditions using the
|
|
1396
|
+
/** Evaluate row action conditions using the canonical JSON Logic runtime with explicit failure policy. */
|
|
1412
1397
|
private evaluateActionCondition;
|
|
1413
1398
|
private resolveRowVisibleWhenFailurePolicy;
|
|
1399
|
+
private isJsonLogicExpression;
|
|
1400
|
+
private hasConditionalExpression;
|
|
1414
1401
|
private resolveRuntimeEnvironment;
|
|
1415
1402
|
private isDiagnosticsRuntimeEnvironment;
|
|
1416
1403
|
private logActionConditionFallback;
|
|
@@ -1478,7 +1465,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1478
1465
|
private isRowExpansionSupported;
|
|
1479
1466
|
private enforceAppearanceSchemaGuards;
|
|
1480
1467
|
private enforceUnsupportedFeatureGuards;
|
|
1481
|
-
|
|
1468
|
+
getToolbarEvaluationContext(): Record<string, any>;
|
|
1482
1469
|
getIconName(row: any, column: ColumnDefinition): string | null;
|
|
1483
1470
|
getIconColor(_row: any, column: ColumnDefinition): string | null;
|
|
1484
1471
|
getIconStyle(_row: any, column: ColumnDefinition): Record<string, string> | null;
|
|
@@ -1490,6 +1477,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1490
1477
|
*/
|
|
1491
1478
|
private evaluateValueExpr;
|
|
1492
1479
|
private evaluateComputedValue;
|
|
1480
|
+
private hasCanonicalComputedExpression;
|
|
1481
|
+
private buildComputedRuleData;
|
|
1482
|
+
private resolveComputedDependencyValue;
|
|
1493
1483
|
private evaluateLegacyExpression;
|
|
1494
1484
|
private tryEvaluateLegacyConcat;
|
|
1495
1485
|
private tryEvaluateLegacyTernary;
|
|
@@ -1614,6 +1604,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1614
1604
|
private emitMetadataChange;
|
|
1615
1605
|
private emitSchemaStatus;
|
|
1616
1606
|
getRowId(row: any): any;
|
|
1607
|
+
private reconcileSelectionAfterDataChange;
|
|
1608
|
+
private getComparableRowIdentity;
|
|
1617
1609
|
getIdField(): string;
|
|
1618
1610
|
private syncRuntimeSchemaMetaFromConfig;
|
|
1619
1611
|
private getEffectiveMetadataSnapshot;
|
|
@@ -1673,7 +1665,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
|
|
|
1673
1665
|
private scheduleRowDiscoveryMarkForCheck;
|
|
1674
1666
|
ngOnDestroy(): void;
|
|
1675
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; }]>;
|
|
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; }; "
|
|
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>;
|
|
1677
1669
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
1678
1670
|
}
|
|
1679
1671
|
|
|
@@ -1912,6 +1904,10 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnDestroy {
|
|
|
1912
1904
|
duplicateConditionalOverride(index: number): void;
|
|
1913
1905
|
onConditionalOverrideReorder(event: any): void;
|
|
1914
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;
|
|
1915
1911
|
getOverrideField(path: string): any;
|
|
1916
1912
|
setOverrideField(path: string, value: any): void;
|
|
1917
1913
|
onOverrideTypeChange(ov: any, val: string): void;
|
|
@@ -2015,6 +2011,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnDestroy {
|
|
|
2015
2011
|
private ensureRenderer;
|
|
2016
2012
|
private _ensureKind;
|
|
2017
2013
|
getRendererProp(kind: string, path: string): any;
|
|
2014
|
+
setRendererJsonLogicProp(kind: string, path: string, raw: string): void;
|
|
2018
2015
|
setRendererProp(kind: string, path: string, value: any): void;
|
|
2019
2016
|
private _deepClone;
|
|
2020
2017
|
hasSelectedRenderer(): boolean;
|
|
@@ -2656,6 +2653,262 @@ declare class FilterSettingsComponent implements OnChanges, AfterViewInit, OnDes
|
|
|
2656
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>;
|
|
2657
2654
|
}
|
|
2658
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
|
+
|
|
2659
2912
|
type ResourcePathIntent = 'set' | 'clear' | 'unchanged';
|
|
2660
2913
|
type EffectiveDataMode = 'remote' | 'local' | 'empty';
|
|
2661
2914
|
declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValueProvider {
|
|
@@ -2664,6 +2917,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
2664
2917
|
private readonly i18n;
|
|
2665
2918
|
filterSettingsEditor?: FilterSettingsComponent;
|
|
2666
2919
|
behaviorEditor?: BehaviorConfigEditorComponent;
|
|
2920
|
+
rulesEditor?: TableRulesEditorComponent;
|
|
2667
2921
|
set crudEditorSetter(ref: any);
|
|
2668
2922
|
private crudEditor?;
|
|
2669
2923
|
private _crudSubscribed;
|
|
@@ -2763,6 +3017,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
|
|
|
2763
3017
|
*/
|
|
2764
3018
|
private deepEqual;
|
|
2765
3019
|
getSettingsValue(): any;
|
|
3020
|
+
private syncRulesFromEditor;
|
|
2766
3021
|
private syncFilterSettingsFromEditor;
|
|
2767
3022
|
private hasAdvancedSettingsProperty;
|
|
2768
3023
|
private syncLastKnownFilterSettingsFromEditedConfig;
|
|
@@ -3021,276 +3276,6 @@ declare class ValueMappingEditorComponent implements OnInit, OnChanges {
|
|
|
3021
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>;
|
|
3022
3277
|
}
|
|
3023
3278
|
|
|
3024
|
-
type ColumnDataType = 'string' | 'number' | 'date' | 'boolean' | 'currency' | 'percentage' | 'custom';
|
|
3025
|
-
|
|
3026
|
-
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';
|
|
3027
|
-
interface OperatorSpec {
|
|
3028
|
-
key: OperatorKey;
|
|
3029
|
-
label: string;
|
|
3030
|
-
icon?: string;
|
|
3031
|
-
description?: string;
|
|
3032
|
-
}
|
|
3033
|
-
declare class OperatorsRegistryService {
|
|
3034
|
-
/** Returns the list of operator specs supported for a given data type. */
|
|
3035
|
-
getForType(type: ColumnDataType | 'enum' | 'array' | 'json' | 'relational'): OperatorSpec[];
|
|
3036
|
-
get keys(): OperatorKey[];
|
|
3037
|
-
private readonly stringOps;
|
|
3038
|
-
private readonly numberOps;
|
|
3039
|
-
private readonly dateOps;
|
|
3040
|
-
private readonly booleanOps;
|
|
3041
|
-
private readonly enumOps;
|
|
3042
|
-
private readonly arrayOps;
|
|
3043
|
-
private readonly jsonOps;
|
|
3044
|
-
private readonly relationalOps;
|
|
3045
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<OperatorsRegistryService, never>;
|
|
3046
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<OperatorsRegistryService>;
|
|
3047
|
-
}
|
|
3048
|
-
|
|
3049
|
-
type GroupOp = 'AND' | 'OR' | 'NOT';
|
|
3050
|
-
interface RuleAtom {
|
|
3051
|
-
field: string;
|
|
3052
|
-
operator: string;
|
|
3053
|
-
value?: any;
|
|
3054
|
-
options?: Record<string, any>;
|
|
3055
|
-
}
|
|
3056
|
-
interface RuleGroup {
|
|
3057
|
-
op: GroupOp;
|
|
3058
|
-
conditions: RuleAtom[];
|
|
3059
|
-
groups?: RuleGroup[];
|
|
3060
|
-
}
|
|
3061
|
-
declare class RuleCompilerService {
|
|
3062
|
-
/**
|
|
3063
|
-
* Compiles a rule group into a single DSL expression string, adding
|
|
3064
|
-
* parentheses according to grouping and operator precedence.
|
|
3065
|
-
*/
|
|
3066
|
-
compileGroup(group: RuleGroup): string;
|
|
3067
|
-
/** Compiles a single rule atom to DSL. */
|
|
3068
|
-
compileAtom(atom: RuleAtom): string;
|
|
3069
|
-
private stringify;
|
|
3070
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RuleCompilerService, never>;
|
|
3071
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<RuleCompilerService>;
|
|
3072
|
-
}
|
|
3073
|
-
|
|
3074
|
-
type RuleItem = {
|
|
3075
|
-
condition: string;
|
|
3076
|
-
cssClass?: string;
|
|
3077
|
-
style?: Record<string, string>;
|
|
3078
|
-
description?: string;
|
|
3079
|
-
effects?: _praxisui_table_rule_builder.RuleEffectDefinition;
|
|
3080
|
-
enabled?: boolean;
|
|
3081
|
-
};
|
|
3082
|
-
declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy {
|
|
3083
|
-
private cdr;
|
|
3084
|
-
private registry;
|
|
3085
|
-
private compiler;
|
|
3086
|
-
private dynamicForm;
|
|
3087
|
-
private crud?;
|
|
3088
|
-
private static runtimeRegistryInstanceCounter;
|
|
3089
|
-
private readonly i18n;
|
|
3090
|
-
config: TableConfig;
|
|
3091
|
-
resourcePath?: string;
|
|
3092
|
-
fields?: FieldDefinition[] | null;
|
|
3093
|
-
i18nRules?: Partial<Record<string, string>>;
|
|
3094
|
-
dslFunctionRegistry: FunctionRegistry<any> | null;
|
|
3095
|
-
configChange: EventEmitter<_praxisui_core.TableConfigModern>;
|
|
3096
|
-
scope: 'row' | 'column';
|
|
3097
|
-
selectedColumnField: string | null;
|
|
3098
|
-
draftCondition: string;
|
|
3099
|
-
draftCssClass: string;
|
|
3100
|
-
draftStyleText: string;
|
|
3101
|
-
sanitizedStyle: Record<string, string>;
|
|
3102
|
-
dslMode: boolean;
|
|
3103
|
-
dslErrors: string[];
|
|
3104
|
-
testSummary: string;
|
|
3105
|
-
editIndex: number;
|
|
3106
|
-
get currentRules(): RuleItem[];
|
|
3107
|
-
set currentRules(v: RuleItem[]);
|
|
3108
|
-
rulesRow: RuleItem[];
|
|
3109
|
-
rulesColumn: RuleItem[];
|
|
3110
|
-
private parser;
|
|
3111
|
-
private runtimeFunctionRegistry;
|
|
3112
|
-
private readonly runtimeRegistryContextKey;
|
|
3113
|
-
objectKeys: {
|
|
3114
|
-
(o: object): string[];
|
|
3115
|
-
(o: {}): string[];
|
|
3116
|
-
};
|
|
3117
|
-
dynamicValueForm: FormGroup;
|
|
3118
|
-
dynamicValueMetas: FieldMetadata[];
|
|
3119
|
-
effectsValue?: RuleEffectDefinition;
|
|
3120
|
-
dynamicValueActive: boolean;
|
|
3121
|
-
private dynamicValueSub?;
|
|
3122
|
-
private testSummaryTimer;
|
|
3123
|
-
private readonly legacyStyleAllowList;
|
|
3124
|
-
basicFieldType: 'enum' | 'array' | 'json' | 'relational' | 'string' | 'number' | 'date' | 'boolean' | 'currency' | 'percentage' | 'custom';
|
|
3125
|
-
noValueOperator: boolean;
|
|
3126
|
-
i18nValuePlaceholder: string;
|
|
3127
|
-
enumOptions: Array<{
|
|
3128
|
-
value: any;
|
|
3129
|
-
label: string;
|
|
3130
|
-
}>;
|
|
3131
|
-
private updateDerivedUiProps;
|
|
3132
|
-
/** Enable verbose console logging for debugging value editor behavior */
|
|
3133
|
-
debugLogs: boolean;
|
|
3134
|
-
debugLevel: 'log' | 'info' | 'debug';
|
|
3135
|
-
private dbg;
|
|
3136
|
-
/** Log a summary table of field metadata and column info for diagnostics */
|
|
3137
|
-
private logFieldMetasContext;
|
|
3138
|
-
/** Log a focused view for a single field */
|
|
3139
|
-
private logSingleFieldMeta;
|
|
3140
|
-
private logFieldChoices;
|
|
3141
|
-
t(key: string): string;
|
|
3142
|
-
constructor(cdr: ChangeDetectorRef, registry: OperatorsRegistryService, compiler: RuleCompilerService, dynamicForm: DynamicFormService, crud?: GenericCrudService<any> | undefined);
|
|
3143
|
-
private configureDslRuntime;
|
|
3144
|
-
ngOnInit(): void;
|
|
3145
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
3146
|
-
ngOnDestroy(): void;
|
|
3147
|
-
get columnFields(): string[];
|
|
3148
|
-
getOperatorsForField(fieldName: string | null): string[];
|
|
3149
|
-
onScopeChange(_s: 'row' | 'column'): void;
|
|
3150
|
-
onColumnSelect(_field: string): void;
|
|
3151
|
-
private initFromConfig;
|
|
3152
|
-
private loadColumnRules;
|
|
3153
|
-
rebuildCondition(): void;
|
|
3154
|
-
onDraftChange(): void;
|
|
3155
|
-
applyTextPreset(preset: string): void;
|
|
3156
|
-
generateSampleData(): void;
|
|
3157
|
-
runTest(): void;
|
|
3158
|
-
onRelSearch(ev: any): void;
|
|
3159
|
-
clearRelSelection(): void;
|
|
3160
|
-
onRelSelectSingle(opt: any): void;
|
|
3161
|
-
onRelAddMulti(opt: any): void;
|
|
3162
|
-
removeRelMulti(i: number): void;
|
|
3163
|
-
private fetchRelOptions;
|
|
3164
|
-
private getRelationalConfig;
|
|
3165
|
-
validateDraft(): void;
|
|
3166
|
-
canCommitDraft(): boolean;
|
|
3167
|
-
private toPersistedCellClassAndStyle;
|
|
3168
|
-
addOrUpdateRule(): void;
|
|
3169
|
-
editRule(index: number): void;
|
|
3170
|
-
removeRule(index: number): void;
|
|
3171
|
-
duplicateRule(index: number): void;
|
|
3172
|
-
onRuleToggle(): void;
|
|
3173
|
-
onApply(): void;
|
|
3174
|
-
isValid(): boolean;
|
|
3175
|
-
onExportRules(): void;
|
|
3176
|
-
onImportRules(): void;
|
|
3177
|
-
private sanitizeRule;
|
|
3178
|
-
private getKnownDslFields;
|
|
3179
|
-
getAnimationLabel(r: RuleItem): string | null;
|
|
3180
|
-
private normalizeRendererAnimation;
|
|
3181
|
-
private buildRendererOverrideFromRule;
|
|
3182
|
-
private buildLegacyRendererOverrideFromRule;
|
|
3183
|
-
private buildRowRendererOverrideFromRule;
|
|
3184
|
-
private stringifyValue;
|
|
3185
|
-
private parseLegacyStyle;
|
|
3186
|
-
private normalizeLegacyStyleObject;
|
|
3187
|
-
private extractIdentifiers;
|
|
3188
|
-
resetDraft(): void;
|
|
3189
|
-
basicField: string;
|
|
3190
|
-
basicOperator: string;
|
|
3191
|
-
basicValue: any;
|
|
3192
|
-
basicMin: any;
|
|
3193
|
-
basicMax: any;
|
|
3194
|
-
basicListCsv: string;
|
|
3195
|
-
basicDate: Date | null;
|
|
3196
|
-
basicDateStart: Date | null;
|
|
3197
|
-
basicDateEnd: Date | null;
|
|
3198
|
-
basicEnumValue: string | number | null;
|
|
3199
|
-
basicEnumValues: Array<string | number>;
|
|
3200
|
-
basicLength: number | null;
|
|
3201
|
-
relationalSelected: {
|
|
3202
|
-
id: any;
|
|
3203
|
-
label: string;
|
|
3204
|
-
raw: any;
|
|
3205
|
-
} | null;
|
|
3206
|
-
relationalSelectedMulti: Array<{
|
|
3207
|
-
id: any;
|
|
3208
|
-
label: string;
|
|
3209
|
-
raw: any;
|
|
3210
|
-
}>;
|
|
3211
|
-
relationalOptions: Array<{
|
|
3212
|
-
id: any;
|
|
3213
|
-
label: string;
|
|
3214
|
-
raw: any;
|
|
3215
|
-
}>;
|
|
3216
|
-
basicRelPath: string;
|
|
3217
|
-
private relSearchTerm;
|
|
3218
|
-
private relCache;
|
|
3219
|
-
basicLastN: number | null;
|
|
3220
|
-
basicLastUnit: 'days' | 'weeks' | 'months';
|
|
3221
|
-
basicWeekdays: number[];
|
|
3222
|
-
weekdayOptions: {
|
|
3223
|
-
value: number;
|
|
3224
|
-
label: string;
|
|
3225
|
-
}[];
|
|
3226
|
-
basicJsonPath: string;
|
|
3227
|
-
basicJsonPattern: string;
|
|
3228
|
-
basicJsonKey: string;
|
|
3229
|
-
basicJsonExpected: any;
|
|
3230
|
-
draftGroup: RuleGroup;
|
|
3231
|
-
editAtomIndex: number;
|
|
3232
|
-
activeGroupTarget: 'root' | number;
|
|
3233
|
-
onEffectsChange(v: RuleEffectDefinition): void;
|
|
3234
|
-
private hasRuleEffectsValue;
|
|
3235
|
-
getFieldType(fieldName: string | null): 'enum' | 'array' | 'json' | 'relational' | 'string' | 'number' | 'date' | 'boolean' | 'currency' | 'percentage' | 'custom';
|
|
3236
|
-
getEnumOptions(fieldName: string | null): Array<{
|
|
3237
|
-
value: any;
|
|
3238
|
-
label: string;
|
|
3239
|
-
}>;
|
|
3240
|
-
isNoValueOperator(op: string): boolean;
|
|
3241
|
-
getValuePlaceholder(): string;
|
|
3242
|
-
getI18nValuePlaceholder(): string;
|
|
3243
|
-
private toIsoDateString;
|
|
3244
|
-
setDsl(v: boolean): void;
|
|
3245
|
-
onBasicFieldChange(_val: string): void;
|
|
3246
|
-
onBasicOperatorChange(_val: string): void;
|
|
3247
|
-
private refreshDynamicValueInitialValueOnly;
|
|
3248
|
-
refreshDynamicValueHost(): void;
|
|
3249
|
-
private buildAtomFromBasic;
|
|
3250
|
-
canBuildAtom(): boolean;
|
|
3251
|
-
onAddOrUpdateAtom(): void;
|
|
3252
|
-
editAtom(index: number): void;
|
|
3253
|
-
removeAtom(index: number): void;
|
|
3254
|
-
resetAtomEdit(): void;
|
|
3255
|
-
private focusAddCondition;
|
|
3256
|
-
clearGroup(): void;
|
|
3257
|
-
onDropCondition(evt: CdkDragDrop<RuleAtom[]>): void;
|
|
3258
|
-
updateDraftFromGroup(): void;
|
|
3259
|
-
getAtomPreview(a: RuleAtom): string;
|
|
3260
|
-
addSubgroup(): void;
|
|
3261
|
-
removeSubgroup(index: number): void;
|
|
3262
|
-
getGroupPreview(g: RuleGroup): string;
|
|
3263
|
-
private getActiveGroupRef;
|
|
3264
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TableRulesEditorComponent, [null, null, null, null, { optional: true; }]>;
|
|
3265
|
-
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>;
|
|
3266
|
-
}
|
|
3267
|
-
|
|
3268
|
-
/**
|
|
3269
|
-
* Lightweight JSON path evaluator for simple cases used in conditional styling.
|
|
3270
|
-
* Supported syntax (subset):
|
|
3271
|
-
* - $.a.b.c
|
|
3272
|
-
* - a.b[0].c
|
|
3273
|
-
* - a["key"] / a['key']
|
|
3274
|
-
* - a[0]
|
|
3275
|
-
*/
|
|
3276
|
-
declare function jsonPathGet(root: any, rawPath: string): any;
|
|
3277
|
-
declare function hasJsonKey(root: any, keyOrPath: string): boolean;
|
|
3278
|
-
declare function jsonPathMatches(root: any, path: string, pattern: string): boolean;
|
|
3279
|
-
/**
|
|
3280
|
-
* Registers JSON helpers in a DslParser instance, if it supports custom functions.
|
|
3281
|
-
* This is optional — call it in your app host bootstrap.
|
|
3282
|
-
*/
|
|
3283
|
-
declare function registerJsonDslFunctions(parser: DslParser | any): void;
|
|
3284
|
-
|
|
3285
|
-
/**
|
|
3286
|
-
* Registers simple date/time helpers in a DslParser instance.
|
|
3287
|
-
* - today(): returns 'YYYY-MM-DD' (UTC)
|
|
3288
|
-
* - now(): returns Unix timestamp in milliseconds
|
|
3289
|
-
* - dateAdd(date, amount, unit): adds amount (days|weeks|months) and returns 'YYYY-MM-DD'
|
|
3290
|
-
* - dateFormat(date, token): supports token 'E' (ISO weekday 1..7)
|
|
3291
|
-
*/
|
|
3292
|
-
declare function registerDateDslFunctions(parser: DslParser | any): void;
|
|
3293
|
-
|
|
3294
3279
|
declare class FormulaGeneratorService {
|
|
3295
3280
|
/**
|
|
3296
3281
|
* Generates a safe JavaScript expression from a formula definition
|
|
@@ -3486,5 +3471,5 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
|
|
|
3486
3471
|
}
|
|
3487
3472
|
declare const TABLE_COMPONENT_AI_CAPABILITIES: CapabilityCatalog;
|
|
3488
3473
|
|
|
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,
|
|
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 };
|
|
3490
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 };
|