@masterteam/components 0.0.125 → 0.0.127
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/assets/common.css +172 -2
- package/fesm2022/masterteam-components-entities.mjs +86 -27
- package/fesm2022/masterteam-components-entities.mjs.map +1 -1
- package/fesm2022/masterteam-components-table.mjs +27 -15
- package/fesm2022/masterteam-components-table.mjs.map +1 -1
- package/fesm2022/masterteam-components-tooltip.mjs +100 -2
- package/fesm2022/masterteam-components-tooltip.mjs.map +1 -1
- package/package.json +1 -1
- package/types/masterteam-components-entities.d.ts +26 -13
- package/types/masterteam-components-table.d.ts +2 -0
- package/types/masterteam-components-tooltip.d.ts +18 -1
- package/fesm2022/masterteam-components-dialog.mjs +0 -33
- package/fesm2022/masterteam-components-dialog.mjs.map +0 -1
- package/fesm2022/masterteam-components-dynamic-drawer.mjs +0 -321
- package/fesm2022/masterteam-components-dynamic-drawer.mjs.map +0 -1
- package/fesm2022/masterteam-components-formula.mjs +0 -3116
- package/fesm2022/masterteam-components-formula.mjs.map +0 -1
- package/fesm2022/masterteam-components-icon-field.mjs +0 -63
- package/fesm2022/masterteam-components-icon-field.mjs.map +0 -1
- package/fesm2022/masterteam-components-list.mjs +0 -31
- package/fesm2022/masterteam-components-list.mjs.map +0 -1
- package/fesm2022/masterteam-components-menu.mjs +0 -135
- package/fesm2022/masterteam-components-menu.mjs.map +0 -1
- package/fesm2022/masterteam-components-modal.mjs +0 -50
- package/fesm2022/masterteam-components-modal.mjs.map +0 -1
- package/fesm2022/masterteam-components-module-summary-card.mjs +0 -32
- package/fesm2022/masterteam-components-module-summary-card.mjs.map +0 -1
- package/fesm2022/masterteam-components-page-header.mjs +0 -42
- package/fesm2022/masterteam-components-page-header.mjs.map +0 -1
- package/fesm2022/masterteam-components-page.mjs +0 -35
- package/fesm2022/masterteam-components-page.mjs.map +0 -1
- package/fesm2022/masterteam-components-pick-list-field.mjs +0 -204
- package/fesm2022/masterteam-components-pick-list-field.mjs.map +0 -1
- package/fesm2022/masterteam-components-property-filter-builder.mjs +0 -386
- package/fesm2022/masterteam-components-property-filter-builder.mjs.map +0 -1
- package/fesm2022/masterteam-components-radio-button-field.mjs +0 -85
- package/fesm2022/masterteam-components-radio-button-field.mjs.map +0 -1
- package/fesm2022/masterteam-components-radio-cards-field.mjs +0 -123
- package/fesm2022/masterteam-components-radio-cards-field.mjs.map +0 -1
- package/fesm2022/masterteam-components-radio-cards.mjs +0 -74
- package/fesm2022/masterteam-components-radio-cards.mjs.map +0 -1
- package/fesm2022/masterteam-components-sidebar.mjs +0 -36
- package/fesm2022/masterteam-components-sidebar.mjs.map +0 -1
- package/fesm2022/masterteam-components-slider-field.mjs +0 -104
- package/fesm2022/masterteam-components-slider-field.mjs.map +0 -1
- package/fesm2022/masterteam-components-statistic-card.mjs +0 -22
- package/fesm2022/masterteam-components-statistic-card.mjs.map +0 -1
- package/fesm2022/masterteam-components-textarea-field.mjs +0 -100
- package/fesm2022/masterteam-components-textarea-field.mjs.map +0 -1
- package/fesm2022/masterteam-components-toast.mjs +0 -75
- package/fesm2022/masterteam-components-toast.mjs.map +0 -1
- package/fesm2022/masterteam-components-topbar.mjs +0 -28
- package/fesm2022/masterteam-components-topbar.mjs.map +0 -1
- package/fesm2022/masterteam-components-tree.mjs +0 -219
- package/fesm2022/masterteam-components-tree.mjs.map +0 -1
- package/types/masterteam-components-dialog.d.ts +0 -12
- package/types/masterteam-components-dynamic-drawer.d.ts +0 -93
- package/types/masterteam-components-formula.d.ts +0 -654
- package/types/masterteam-components-icon-field.d.ts +0 -27
- package/types/masterteam-components-list.d.ts +0 -18
- package/types/masterteam-components-menu.d.ts +0 -55
- package/types/masterteam-components-modal.d.ts +0 -18
- package/types/masterteam-components-module-summary-card.d.ts +0 -17
- package/types/masterteam-components-page-header.d.ts +0 -30
- package/types/masterteam-components-page.d.ts +0 -26
- package/types/masterteam-components-pick-list-field.d.ts +0 -60
- package/types/masterteam-components-property-filter-builder.d.ts +0 -90
- package/types/masterteam-components-radio-button-field.d.ts +0 -41
- package/types/masterteam-components-radio-cards-field.d.ts +0 -34
- package/types/masterteam-components-radio-cards.d.ts +0 -33
- package/types/masterteam-components-sidebar.d.ts +0 -28
- package/types/masterteam-components-slider-field.d.ts +0 -45
- package/types/masterteam-components-statistic-card.d.ts +0 -18
- package/types/masterteam-components-textarea-field.d.ts +0 -38
- package/types/masterteam-components-toast.d.ts +0 -26
- package/types/masterteam-components-topbar.d.ts +0 -17
- package/types/masterteam-components-tree.d.ts +0 -98
|
@@ -1,654 +0,0 @@
|
|
|
1
|
-
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { AfterViewInit, OnDestroy, TemplateRef } from '@angular/core';
|
|
3
|
-
import { ControlValueAccessor } from '@angular/forms';
|
|
4
|
-
import { CdkDragStart, CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
5
|
-
import { Observable } from 'rxjs';
|
|
6
|
-
import * as _masterteam_components_formula from '@masterteam/components/formula';
|
|
7
|
-
import { FormulaRuntimeMessageCode, FormulaRuntimeMessage, FormulaConditionConfig, FormulaValidationRuleConfig } from '@masterteam/components';
|
|
8
|
-
export { FormulaConditionConfig, FormulaConditionMode, FormulaRuntimeMessage, FormulaRuntimeMessageCode, FormulaValidationRuleConfig, FormulaValidationSeverity } from '@masterteam/components';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Flat Formula Token Model
|
|
12
|
-
*
|
|
13
|
-
* The formula is represented as a FLAT array of tokens.
|
|
14
|
-
* This approach provides:
|
|
15
|
-
* - Better performance (no deep component nesting)
|
|
16
|
-
* - Solid drag-drop behavior (functions move as complete units)
|
|
17
|
-
* - Simple serialization (just join token values)
|
|
18
|
-
*
|
|
19
|
-
* STRUCTURE RULES:
|
|
20
|
-
* - fn-open: "IF(" - function name + opening paren as ONE token
|
|
21
|
-
* - fn-close: ")" - closing paren, belongs to a function
|
|
22
|
-
* - fn-separator: "," - argument separator, belongs to a function
|
|
23
|
-
* - Dragging any structural token moves the ENTIRE function
|
|
24
|
-
* - Content tokens (property, operator, literal) can move individually
|
|
25
|
-
*/
|
|
26
|
-
/** Token types */
|
|
27
|
-
type TokenType = 'fn-open' | 'fn-close' | 'fn-separator' | 'property' | 'operator' | 'literal';
|
|
28
|
-
/** What happens when this token is dragged */
|
|
29
|
-
type DragBehavior = 'function' | 'single';
|
|
30
|
-
/**
|
|
31
|
-
* Formula Token - a single element in the flat formula array
|
|
32
|
-
*/
|
|
33
|
-
interface FormulaToken {
|
|
34
|
-
id: string;
|
|
35
|
-
type: TokenType;
|
|
36
|
-
value: string;
|
|
37
|
-
display?: string;
|
|
38
|
-
functionId?: string;
|
|
39
|
-
depth: number;
|
|
40
|
-
argIndex?: number;
|
|
41
|
-
dragBehavior: DragBehavior;
|
|
42
|
-
functionName?: string;
|
|
43
|
-
propertyType?: 'current' | 'children' | 'parent';
|
|
44
|
-
literalType?: 'string' | 'number' | 'boolean';
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Function structure info - tracks open/close pairs
|
|
48
|
-
*/
|
|
49
|
-
interface FunctionInfo {
|
|
50
|
-
id: string;
|
|
51
|
-
name: string;
|
|
52
|
-
openIndex: number;
|
|
53
|
-
closeIndex: number;
|
|
54
|
-
argCount: number;
|
|
55
|
-
depth: number;
|
|
56
|
-
}
|
|
57
|
-
/** Generate unique token ID */
|
|
58
|
-
declare function generateTokenId(): string;
|
|
59
|
-
/** Generate unique function ID */
|
|
60
|
-
declare function generateFunctionId(): string;
|
|
61
|
-
/** Parse function signature like "SUM(values)" or "IF(cond, a, b)" */
|
|
62
|
-
declare function parseSignature(signature: string): {
|
|
63
|
-
name: string;
|
|
64
|
-
args: string[];
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* Create a function's tokens from signature
|
|
68
|
-
* e.g., "IF(condition, trueVal, falseVal)" creates:
|
|
69
|
-
* - fn-open: "IF("
|
|
70
|
-
* - fn-separator: "," (x2)
|
|
71
|
-
* - fn-close: ")"
|
|
72
|
-
*/
|
|
73
|
-
declare function createFunctionTokens(signature: string, depth?: number): FormulaToken[];
|
|
74
|
-
/**
|
|
75
|
-
* Create a property token
|
|
76
|
-
*/
|
|
77
|
-
declare function createPropertyToken(propertyKey: string, propertyType?: 'current' | 'children' | 'parent', depth?: number, functionId?: string, argIndex?: number, display?: string): FormulaToken;
|
|
78
|
-
/**
|
|
79
|
-
* Create an operator token
|
|
80
|
-
*/
|
|
81
|
-
declare function createOperatorToken(symbol: string, depth?: number, functionId?: string, argIndex?: number): FormulaToken;
|
|
82
|
-
/**
|
|
83
|
-
* Create a literal token
|
|
84
|
-
*/
|
|
85
|
-
declare function createLiteralToken(value: string | number | boolean, depth?: number, functionId?: string, argIndex?: number): FormulaToken;
|
|
86
|
-
/**
|
|
87
|
-
* Find the complete range of a function in the token array
|
|
88
|
-
* This includes ALL tokens between fn-open and fn-close (including nested content)
|
|
89
|
-
* Returns [startIndex, endIndex] inclusive
|
|
90
|
-
*/
|
|
91
|
-
declare function findFunctionRange(tokens: FormulaToken[], functionId: string): [number, number] | null;
|
|
92
|
-
/**
|
|
93
|
-
* Get all tokens belonging to a function (including nested content)
|
|
94
|
-
*/
|
|
95
|
-
declare function getFunctionTokens(tokens: FormulaToken[], functionId: string): FormulaToken[];
|
|
96
|
-
/**
|
|
97
|
-
* Validate if a drop position is allowed
|
|
98
|
-
*/
|
|
99
|
-
declare function isValidDropPosition(tokens: FormulaToken[], dropIndex: number, draggedTokens: FormulaToken[]): boolean;
|
|
100
|
-
/**
|
|
101
|
-
* Serialize tokens to formula string
|
|
102
|
-
*/
|
|
103
|
-
declare function serializeTokens(tokens: FormulaToken[]): string;
|
|
104
|
-
/**
|
|
105
|
-
* Clone a token with new ID
|
|
106
|
-
*/
|
|
107
|
-
declare function cloneToken(token: FormulaToken): FormulaToken;
|
|
108
|
-
/**
|
|
109
|
-
* Clone multiple tokens with new IDs and new function IDs
|
|
110
|
-
*/
|
|
111
|
-
declare function cloneTokens(tokens: FormulaToken[]): FormulaToken[];
|
|
112
|
-
/**
|
|
113
|
-
* Update depth for all tokens (after move)
|
|
114
|
-
*/
|
|
115
|
-
declare function recalculateDepths(tokens: FormulaToken[]): FormulaToken[];
|
|
116
|
-
/**
|
|
117
|
-
* Find which argument index a position belongs to within a function
|
|
118
|
-
*/
|
|
119
|
-
declare function getArgumentIndexAtPosition(tokens: FormulaToken[], functionId: string, position: number): number;
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Smart Formula Block - Types and Factory Functions
|
|
123
|
-
* Defines the block structure and creation helpers
|
|
124
|
-
*/
|
|
125
|
-
/** Block type */
|
|
126
|
-
type BlockType = 'function' | 'property' | 'operator' | 'literal';
|
|
127
|
-
/** Argument slot for functions */
|
|
128
|
-
interface ArgumentSlot {
|
|
129
|
-
id: string;
|
|
130
|
-
name: string;
|
|
131
|
-
blocks: SmartBlock[];
|
|
132
|
-
placeholder?: string;
|
|
133
|
-
}
|
|
134
|
-
/** Smart block structure */
|
|
135
|
-
interface SmartBlock {
|
|
136
|
-
id: string;
|
|
137
|
-
type: BlockType;
|
|
138
|
-
value: string;
|
|
139
|
-
display?: string;
|
|
140
|
-
functionName?: string;
|
|
141
|
-
signature?: string;
|
|
142
|
-
arguments?: ArgumentSlot[];
|
|
143
|
-
propertyType?: 'current' | 'children' | 'parent';
|
|
144
|
-
propertyKey?: string;
|
|
145
|
-
operatorSymbol?: string;
|
|
146
|
-
literalValue?: string | number | boolean;
|
|
147
|
-
}
|
|
148
|
-
/** Generate unique block ID */
|
|
149
|
-
declare function generateSmartBlockId(): string;
|
|
150
|
-
/** Create a function block from signature */
|
|
151
|
-
declare function createFunctionBlock(signature: string, name?: string): SmartBlock;
|
|
152
|
-
/** Create a property block */
|
|
153
|
-
declare function createPropertyBlock(propertyKey: string, propertyType?: 'current' | 'children' | 'parent', display?: string): SmartBlock;
|
|
154
|
-
/** Create an operator block */
|
|
155
|
-
declare function createOperatorBlock(symbol: string): SmartBlock;
|
|
156
|
-
/** Create a literal block */
|
|
157
|
-
declare function createLiteralBlock(value: string | number | boolean): SmartBlock;
|
|
158
|
-
/** Deep clone a block with new IDs */
|
|
159
|
-
declare function cloneBlock(block: SmartBlock): SmartBlock;
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Validation Result Models
|
|
163
|
-
* API response types for formula validation
|
|
164
|
-
*/
|
|
165
|
-
/** Validation error/warning severity */
|
|
166
|
-
type ValidationSeverity = 'Error' | 'Warning';
|
|
167
|
-
/** Validation error or warning */
|
|
168
|
-
interface ValidationError {
|
|
169
|
-
message: string;
|
|
170
|
-
line: number;
|
|
171
|
-
column: number;
|
|
172
|
-
severity: ValidationSeverity;
|
|
173
|
-
}
|
|
174
|
-
/** Validation warning (same structure as error) */
|
|
175
|
-
type ValidationWarning = ValidationError;
|
|
176
|
-
/** Complete validation result from API */
|
|
177
|
-
interface ValidationResult {
|
|
178
|
-
isValid: boolean;
|
|
179
|
-
errors: ValidationError[];
|
|
180
|
-
warnings: ValidationWarning[];
|
|
181
|
-
dependencies: string[];
|
|
182
|
-
complexity: number;
|
|
183
|
-
}
|
|
184
|
-
/** Validation request payload */
|
|
185
|
-
interface ValidationRequest {
|
|
186
|
-
formula: string;
|
|
187
|
-
knownProperties?: string[];
|
|
188
|
-
levelSchemaId?: number;
|
|
189
|
-
templateId?: number;
|
|
190
|
-
}
|
|
191
|
-
/** Autocomplete suggestion */
|
|
192
|
-
interface AutocompleteSuggestion {
|
|
193
|
-
text: string;
|
|
194
|
-
displayText: string;
|
|
195
|
-
type: 'Function' | 'Property' | 'Operator' | 'Context' | 'Keyword';
|
|
196
|
-
description: string;
|
|
197
|
-
insertText: string;
|
|
198
|
-
category?: string;
|
|
199
|
-
cursorOffset?: number;
|
|
200
|
-
}
|
|
201
|
-
/** Autocomplete context */
|
|
202
|
-
interface AutocompleteContext {
|
|
203
|
-
type: 'None' | 'Function' | 'Property' | 'Operator';
|
|
204
|
-
scope: string;
|
|
205
|
-
prefix: string;
|
|
206
|
-
}
|
|
207
|
-
/** Autocomplete response from API */
|
|
208
|
-
interface AutocompleteResponse {
|
|
209
|
-
suggestions: AutocompleteSuggestion[];
|
|
210
|
-
context: AutocompleteContext;
|
|
211
|
-
}
|
|
212
|
-
/** Autocomplete request payload */
|
|
213
|
-
interface AutocompleteRequest {
|
|
214
|
-
formula: string;
|
|
215
|
-
cursorPosition: number;
|
|
216
|
-
knownProperties?: string[];
|
|
217
|
-
levelSchemaId?: number;
|
|
218
|
-
contextEntityTypeKey?: string;
|
|
219
|
-
}
|
|
220
|
-
/** API error response */
|
|
221
|
-
interface ApiErrorResponse {
|
|
222
|
-
error: string;
|
|
223
|
-
message?: string;
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
/**
|
|
227
|
-
* Formula Block Model - Types for formula functions and operators
|
|
228
|
-
*/
|
|
229
|
-
/** Function category types */
|
|
230
|
-
type FunctionCategory = 'Math' | 'Aggregation' | 'Logic' | 'Hierarchy' | 'Date' | 'String' | 'PhaseGate' | any;
|
|
231
|
-
/** Parameter definition for a function */
|
|
232
|
-
interface ParameterDefinition {
|
|
233
|
-
name: string;
|
|
234
|
-
type: string;
|
|
235
|
-
description: string;
|
|
236
|
-
required: boolean;
|
|
237
|
-
defaultValue?: unknown;
|
|
238
|
-
}
|
|
239
|
-
/** Function definition */
|
|
240
|
-
interface FunctionDefinition {
|
|
241
|
-
name: string;
|
|
242
|
-
category: FunctionCategory;
|
|
243
|
-
description: string;
|
|
244
|
-
signature: string;
|
|
245
|
-
parameters: ParameterDefinition[];
|
|
246
|
-
returnType: string;
|
|
247
|
-
examples: string[];
|
|
248
|
-
}
|
|
249
|
-
/** Function category group */
|
|
250
|
-
interface FunctionCategoryGroup {
|
|
251
|
-
name: FunctionCategory;
|
|
252
|
-
displayName: string;
|
|
253
|
-
functions: FunctionDefinition[];
|
|
254
|
-
}
|
|
255
|
-
/** Operator definition */
|
|
256
|
-
interface OperatorDefinition {
|
|
257
|
-
symbol: string;
|
|
258
|
-
name: string;
|
|
259
|
-
type: 'arithmetic' | 'comparison' | 'logical';
|
|
260
|
-
description: string;
|
|
261
|
-
precedence: number;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
declare class FormulaEditor implements ControlValueAccessor {
|
|
265
|
-
readonly placeholder: _angular_core.InputSignal<string>;
|
|
266
|
-
readonly initialTokens: _angular_core.InputSignal<FormulaToken[]>;
|
|
267
|
-
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
268
|
-
readonly borderless: _angular_core.InputSignal<boolean>;
|
|
269
|
-
readonly formulaChange: _angular_core.OutputEmitterRef<string>;
|
|
270
|
-
readonly tokensChange: _angular_core.OutputEmitterRef<FormulaToken[]>;
|
|
271
|
-
readonly onBlur: _angular_core.OutputEmitterRef<void>;
|
|
272
|
-
readonly onFocus: _angular_core.OutputEmitterRef<void>;
|
|
273
|
-
readonly tokens: _angular_core.WritableSignal<FormulaToken[]>;
|
|
274
|
-
/** Index range being dragged [start, end] inclusive */
|
|
275
|
-
private draggedRange;
|
|
276
|
-
/** Is currently dragging */
|
|
277
|
-
readonly isDragging: _angular_core.WritableSignal<boolean>;
|
|
278
|
-
/** Hovered function ID for highlighting */
|
|
279
|
-
readonly hoveredFunctionId: _angular_core.WritableSignal<string | null>;
|
|
280
|
-
/** Is focused */
|
|
281
|
-
readonly isFocused: _angular_core.WritableSignal<boolean>;
|
|
282
|
-
private onChange;
|
|
283
|
-
private onTouched;
|
|
284
|
-
readonly containerClasses: _angular_core.Signal<"flex min-h-20 font-mono text-sm bg-white dark:bg-surface-800" | "flex min-h-20 font-mono text-sm bg-white dark:bg-surface-800 border border-surface-200 dark:border-surface-700 rounded-md focus-within:border-primary focus-within:ring-2 focus-within:ring-primary/10">;
|
|
285
|
-
readonly lineNumberClasses: _angular_core.Signal<"flex flex-col px-1.5 py-2 bg-surface-50 dark:bg-surface-900 border-r border-surface-200 dark:border-surface-700 select-none min-w-6 text-right" | "flex flex-col px-1.5 py-2 bg-surface-50 dark:bg-surface-900 border-r border-surface-200 dark:border-surface-700 select-none min-w-6 text-right rounded-l-md">;
|
|
286
|
-
/** Line numbers based on token count */
|
|
287
|
-
readonly lines: _angular_core.Signal<any[]>;
|
|
288
|
-
/** Serialized formula string */
|
|
289
|
-
readonly formulaString: _angular_core.Signal<string>;
|
|
290
|
-
constructor();
|
|
291
|
-
writeValue(value: FormulaToken[] | null): void;
|
|
292
|
-
registerOnChange(fn: (value: FormulaToken[]) => void): void;
|
|
293
|
-
registerOnTouched(fn: () => void): void;
|
|
294
|
-
/**
|
|
295
|
-
* Add a block from toolbar (converts SmartBlock to tokens)
|
|
296
|
-
*/
|
|
297
|
-
addBlock(block: SmartBlock): void;
|
|
298
|
-
/**
|
|
299
|
-
* Add tokens directly
|
|
300
|
-
*/
|
|
301
|
-
addTokens(newTokens: FormulaToken[]): void;
|
|
302
|
-
/**
|
|
303
|
-
* Clear all tokens
|
|
304
|
-
*/
|
|
305
|
-
clear(): void;
|
|
306
|
-
/**
|
|
307
|
-
* Get current formula string
|
|
308
|
-
*/
|
|
309
|
-
serialize(): string;
|
|
310
|
-
/**
|
|
311
|
-
* Get current tokens
|
|
312
|
-
*/
|
|
313
|
-
getTokens(): FormulaToken[];
|
|
314
|
-
handleFocus(): void;
|
|
315
|
-
handleBlur(): void;
|
|
316
|
-
/**
|
|
317
|
-
* Handle drag start - determine what tokens to drag
|
|
318
|
-
*/
|
|
319
|
-
onDragStart(event: CdkDragStart, token: FormulaToken, index: number): void;
|
|
320
|
-
/**
|
|
321
|
-
* Handle drop - reorder tokens in the formula
|
|
322
|
-
*/
|
|
323
|
-
onDrop(event: CdkDragDrop<FormulaToken[]>): void;
|
|
324
|
-
/**
|
|
325
|
-
* Reset drag state
|
|
326
|
-
*/
|
|
327
|
-
private resetDragState;
|
|
328
|
-
/**
|
|
329
|
-
* Handle drag end
|
|
330
|
-
* NOTE: CDK fires cdkDragEnded BEFORE cdkDropListDropped
|
|
331
|
-
* So we don't reset draggedRange here - onDrop handles it
|
|
332
|
-
*/
|
|
333
|
-
onDragEnd(): void;
|
|
334
|
-
/**
|
|
335
|
-
* Remove a token or function
|
|
336
|
-
*/
|
|
337
|
-
removeToken(token: FormulaToken, index: number): void;
|
|
338
|
-
onTokenHover(token: FormulaToken): void;
|
|
339
|
-
onTokenLeave(): void;
|
|
340
|
-
/**
|
|
341
|
-
* Check if token should be highlighted
|
|
342
|
-
* Only structural tokens (fn-open, fn-close, fn-separator) get highlighted
|
|
343
|
-
* Content tokens (property, operator, literal) inside function are NOT highlighted
|
|
344
|
-
*/
|
|
345
|
-
isHighlighted(token: FormulaToken): boolean;
|
|
346
|
-
/** Base token classes */
|
|
347
|
-
private readonly baseTokenClasses;
|
|
348
|
-
/**
|
|
349
|
-
* Get Tailwind classes for a token
|
|
350
|
-
*/
|
|
351
|
-
getTokenClasses(token: FormulaToken): string;
|
|
352
|
-
/**
|
|
353
|
-
* Convert SmartBlock to FormulaTokens
|
|
354
|
-
*/
|
|
355
|
-
private smartBlockToTokens;
|
|
356
|
-
private emit;
|
|
357
|
-
/**
|
|
358
|
-
* Track function for ngFor
|
|
359
|
-
*/
|
|
360
|
-
trackByToken(_index: number, token: FormulaToken): string;
|
|
361
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormulaEditor, never>;
|
|
362
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormulaEditor, "mt-formula-editor", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "initialTokens": { "alias": "initialTokens"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "borderless": { "alias": "borderless"; "required": false; "isSignal": true; }; }, { "formulaChange": "formulaChange"; "tokensChange": "tokensChange"; "onBlur": "onBlur"; "onFocus": "onFocus"; }, never, never, true, never>;
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
type AutocompleteProvider = (request: AutocompleteRequest) => AutocompleteResponse | Promise<AutocompleteResponse | null> | Observable<AutocompleteResponse | null> | null;
|
|
366
|
-
declare class FormulaEditorCode implements ControlValueAccessor, AfterViewInit, OnDestroy {
|
|
367
|
-
readonly placeholder: _angular_core.InputSignal<string>;
|
|
368
|
-
readonly initialFormula: _angular_core.InputSignal<string>;
|
|
369
|
-
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
370
|
-
readonly language: _angular_core.InputSignal<string>;
|
|
371
|
-
readonly theme: _angular_core.InputSignal<"vs" | "vs-dark" | "hc-black" | "formula-light" | "formula-dark">;
|
|
372
|
-
readonly borderless: _angular_core.InputSignal<boolean>;
|
|
373
|
-
readonly autocompleteProvider: _angular_core.InputSignal<AutocompleteProvider | null>;
|
|
374
|
-
readonly autocompleteDebounceMs: _angular_core.InputSignal<number>;
|
|
375
|
-
readonly formulaChange: _angular_core.OutputEmitterRef<string>;
|
|
376
|
-
readonly onBlur: _angular_core.OutputEmitterRef<void>;
|
|
377
|
-
readonly onFocus: _angular_core.OutputEmitterRef<void>;
|
|
378
|
-
private readonly editorHost;
|
|
379
|
-
private readonly zone;
|
|
380
|
-
private monaco;
|
|
381
|
-
private editor;
|
|
382
|
-
private model;
|
|
383
|
-
private readonly disposables;
|
|
384
|
-
private resizeObserver;
|
|
385
|
-
private completionProvider;
|
|
386
|
-
private readonly autocompleteSubject;
|
|
387
|
-
private autocompleteSubscription;
|
|
388
|
-
private readonly cancelAutocomplete$;
|
|
389
|
-
private currentAutocompleteRequestId;
|
|
390
|
-
private static formulaAssetsReady;
|
|
391
|
-
readonly value: _angular_core.WritableSignal<string>;
|
|
392
|
-
readonly isFocused: _angular_core.WritableSignal<boolean>;
|
|
393
|
-
readonly showPlaceholder: _angular_core.Signal<boolean>;
|
|
394
|
-
readonly containerClasses: _angular_core.Signal<"relative flex min-h-20 flex-col bg-white dark:bg-surface-800 font-mono text-sm" | "relative flex min-h-20 flex-col bg-white dark:bg-surface-800 font-mono text-sm rounded-md border border-surface-200 dark:border-surface-700 focus-within:border-primary focus-within:ring-2 focus-within:ring-primary/10">;
|
|
395
|
-
private hasWrittenValue;
|
|
396
|
-
private isApplyingExternalValue;
|
|
397
|
-
private onChange;
|
|
398
|
-
private onTouched;
|
|
399
|
-
constructor();
|
|
400
|
-
ngAfterViewInit(): void;
|
|
401
|
-
ngOnDestroy(): void;
|
|
402
|
-
writeValue(value: string | null): void;
|
|
403
|
-
registerOnChange(fn: (value: string) => void): void;
|
|
404
|
-
registerOnTouched(fn: () => void): void;
|
|
405
|
-
addBlock(block: SmartBlock): void;
|
|
406
|
-
insertText(text: string, cursorOffset?: number): void;
|
|
407
|
-
clear(): void;
|
|
408
|
-
getValue(): string;
|
|
409
|
-
private initEditor;
|
|
410
|
-
private ensureFormulaAssets;
|
|
411
|
-
private attachEditorListeners;
|
|
412
|
-
private setupResizeObserver;
|
|
413
|
-
private scheduleAutocomplete;
|
|
414
|
-
private setupAutocompleteStream;
|
|
415
|
-
private registerCompletionProvider;
|
|
416
|
-
private resolveAutocompleteResponse;
|
|
417
|
-
private applyCursorOffset;
|
|
418
|
-
private mapSuggestionKind;
|
|
419
|
-
private syncEditorValue;
|
|
420
|
-
private smartBlockToText;
|
|
421
|
-
private formatLiteral;
|
|
422
|
-
private emitValue;
|
|
423
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormulaEditorCode, never>;
|
|
424
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormulaEditorCode, "mt-formula-editor-code", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "initialFormula": { "alias": "initialFormula"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "borderless": { "alias": "borderless"; "required": false; "isSignal": true; }; "autocompleteProvider": { "alias": "autocompleteProvider"; "required": false; "isSignal": true; }; "autocompleteDebounceMs": { "alias": "autocompleteDebounceMs"; "required": false; "isSignal": true; }; }, { "formulaChange": "formulaChange"; "onBlur": "onBlur"; "onFocus": "onFocus"; }, never, never, true, never>;
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
type ToolbarTab = 'functions' | 'properties' | 'operators';
|
|
428
|
-
interface FormulaToolbarPropertiesContext {
|
|
429
|
-
insertBlock: (block: SmartBlock) => void;
|
|
430
|
-
}
|
|
431
|
-
interface OperatorGroup {
|
|
432
|
-
type: string;
|
|
433
|
-
operators: OperatorDefinition[];
|
|
434
|
-
}
|
|
435
|
-
declare class FormulaToolbar {
|
|
436
|
-
/** Known properties to show in properties tab */
|
|
437
|
-
readonly knownProperties: _angular_core.InputSignal<string[]>;
|
|
438
|
-
/** Custom properties template */
|
|
439
|
-
readonly propertiesTemplate: _angular_core.InputSignal<TemplateRef<FormulaToolbarPropertiesContext> | null>;
|
|
440
|
-
/** Projected properties template */
|
|
441
|
-
readonly projectedPropertiesTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
442
|
-
/** Function categories (from API or static data) */
|
|
443
|
-
readonly functionCategories: _angular_core.InputSignal<FunctionCategoryGroup[]>;
|
|
444
|
-
/** Operators list (overridable) */
|
|
445
|
-
readonly operators: _angular_core.InputSignal<OperatorDefinition[]>;
|
|
446
|
-
/** Initial active tab */
|
|
447
|
-
readonly initialTab: _angular_core.InputSignal<ToolbarTab>;
|
|
448
|
-
/** Tabs visible in the toolbar */
|
|
449
|
-
readonly visibleTabs: _angular_core.InputSignal<readonly ToolbarTab[]>;
|
|
450
|
-
/** Placeholder for search input */
|
|
451
|
-
readonly searchPlaceholder: _angular_core.InputSignal<string>;
|
|
452
|
-
/** Labels */
|
|
453
|
-
readonly labels: _angular_core.InputSignal<{
|
|
454
|
-
functions?: string;
|
|
455
|
-
properties?: string;
|
|
456
|
-
operators?: string;
|
|
457
|
-
noFunctionsFound?: string;
|
|
458
|
-
noPropertiesAvailable?: string;
|
|
459
|
-
noOperatorsFound?: string;
|
|
460
|
-
}>;
|
|
461
|
-
/** Insert event - emits SmartBlock for the editor */
|
|
462
|
-
readonly onBlockInsert: _angular_core.OutputEmitterRef<SmartBlock>;
|
|
463
|
-
/** Tab change event */
|
|
464
|
-
readonly onTabChange: _angular_core.OutputEmitterRef<ToolbarTab>;
|
|
465
|
-
/** Active tab */
|
|
466
|
-
readonly activeTab: _angular_core.WritableSignal<ToolbarTab>;
|
|
467
|
-
/** Tab options */
|
|
468
|
-
readonly tabOptions: {
|
|
469
|
-
label: string;
|
|
470
|
-
value: ToolbarTab;
|
|
471
|
-
}[];
|
|
472
|
-
/** Tabs actually rendered */
|
|
473
|
-
readonly resolvedTabOptions: _angular_core.Signal<{
|
|
474
|
-
label: string;
|
|
475
|
-
value: ToolbarTab;
|
|
476
|
-
}[]>;
|
|
477
|
-
/** Context for custom properties template */
|
|
478
|
-
protected readonly propertiesTemplateContext: FormulaToolbarPropertiesContext;
|
|
479
|
-
/** Resolve properties template (projected first, input fallback) */
|
|
480
|
-
readonly resolvedPropertiesTemplate: _angular_core.Signal<TemplateRef<any> | null>;
|
|
481
|
-
/** Search query */
|
|
482
|
-
readonly searchQuery: _angular_core.WritableSignal<string>;
|
|
483
|
-
/** Custom value input */
|
|
484
|
-
readonly customValue: _angular_core.WritableSignal<string>;
|
|
485
|
-
/** Detected type of custom value */
|
|
486
|
-
readonly customValueType: _angular_core.Signal<"string" | "number" | "text">;
|
|
487
|
-
/** Preview of custom value */
|
|
488
|
-
readonly customValuePreview: _angular_core.Signal<string>;
|
|
489
|
-
/** CSS class for custom value type */
|
|
490
|
-
readonly customValueTypeClass: _angular_core.Signal<"bg-rose-100 text-rose-700 hover:bg-rose-200 dark:bg-rose-900/30 dark:text-rose-300 dark:hover:bg-rose-900/50" | "bg-emerald-100 text-emerald-700 hover:bg-emerald-200 dark:bg-emerald-900/30 dark:text-emerald-300 dark:hover:bg-emerald-900/50" | "bg-slate-100 text-slate-700 hover:bg-slate-200 dark:bg-slate-700 dark:text-slate-300 dark:hover:bg-slate-600">;
|
|
491
|
-
constructor();
|
|
492
|
-
/** Filtered categories based on search */
|
|
493
|
-
readonly filteredCategories: _angular_core.Signal<FunctionCategoryGroup[]>;
|
|
494
|
-
/** Filtered properties based on search */
|
|
495
|
-
readonly filteredProperties: _angular_core.Signal<string[]>;
|
|
496
|
-
/** Filtered operators based on search */
|
|
497
|
-
readonly filteredOperators: _angular_core.Signal<OperatorDefinition[]>;
|
|
498
|
-
/** Count of filtered items per tab */
|
|
499
|
-
readonly filteredFunctionsCount: _angular_core.Signal<number>;
|
|
500
|
-
readonly filteredPropertiesCount: _angular_core.Signal<number>;
|
|
501
|
-
readonly filteredOperatorsCount: _angular_core.Signal<number>;
|
|
502
|
-
/** Smart search effect - switches to tab with results */
|
|
503
|
-
private readonly smartSearchEffect;
|
|
504
|
-
/** Group operators by type */
|
|
505
|
-
readonly operatorGroups: _angular_core.Signal<OperatorGroup[]>;
|
|
506
|
-
/** Total item count for current tab */
|
|
507
|
-
readonly itemCount: _angular_core.Signal<number>;
|
|
508
|
-
readonly labelFunctions: _angular_core.Signal<string>;
|
|
509
|
-
readonly labelProperties: _angular_core.Signal<string>;
|
|
510
|
-
readonly labelOperators: _angular_core.Signal<string>;
|
|
511
|
-
readonly labelNoFunctions: _angular_core.Signal<string>;
|
|
512
|
-
readonly labelNoProperties: _angular_core.Signal<string>;
|
|
513
|
-
readonly labelNoOperators: _angular_core.Signal<string>;
|
|
514
|
-
/** Get count for a specific tab (filtered when searching) */
|
|
515
|
-
getTabCount(tab: ToolbarTab): number;
|
|
516
|
-
/** Check if a tab has results when searching */
|
|
517
|
-
tabHasResults(tab: ToolbarTab): boolean;
|
|
518
|
-
/** Set active tab */
|
|
519
|
-
setActiveTab(tab: ToolbarTab): void;
|
|
520
|
-
/** Emit block insert event */
|
|
521
|
-
insertBlock(block: SmartBlock): void;
|
|
522
|
-
/** Clear search */
|
|
523
|
-
clearSearch(): void;
|
|
524
|
-
/** Insert custom value */
|
|
525
|
-
insertCustomValue(): void;
|
|
526
|
-
/** Clear custom value input */
|
|
527
|
-
clearCustomValue(): void;
|
|
528
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormulaToolbar, never>;
|
|
529
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormulaToolbar, "mt-formula-toolbar", never, { "knownProperties": { "alias": "knownProperties"; "required": false; "isSignal": true; }; "propertiesTemplate": { "alias": "propertiesTemplate"; "required": false; "isSignal": true; }; "functionCategories": { "alias": "functionCategories"; "required": false; "isSignal": true; }; "operators": { "alias": "operators"; "required": false; "isSignal": true; }; "initialTab": { "alias": "initialTab"; "required": false; "isSignal": true; }; "visibleTabs": { "alias": "visibleTabs"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; }, { "onBlockInsert": "onBlockInsert"; "onTabChange": "onTabChange"; }, ["projectedPropertiesTemplate"], never, true, never>;
|
|
530
|
-
}
|
|
531
|
-
|
|
532
|
-
declare const DEFAULT_OPERATORS: OperatorDefinition[];
|
|
533
|
-
|
|
534
|
-
type ToolbarItemType = 'function' | 'property' | 'operator';
|
|
535
|
-
interface ExampleItem {
|
|
536
|
-
code: string;
|
|
537
|
-
description?: string;
|
|
538
|
-
}
|
|
539
|
-
declare class FormulaToolbarItem {
|
|
540
|
-
/** Item type */
|
|
541
|
-
readonly type: _angular_core.InputSignal<ToolbarItemType>;
|
|
542
|
-
/** Item value (function name, property key, operator symbol) */
|
|
543
|
-
readonly value: _angular_core.InputSignal<string>;
|
|
544
|
-
/** Display value (optional, defaults to value) */
|
|
545
|
-
readonly display: _angular_core.InputSignal<string | undefined>;
|
|
546
|
-
/** Description for tooltip */
|
|
547
|
-
readonly description: _angular_core.InputSignal<string>;
|
|
548
|
-
/** Function signature (for functions only, e.g., "SUM(values)") */
|
|
549
|
-
readonly signature: _angular_core.InputSignal<string | undefined>;
|
|
550
|
-
/** Function examples (for functions only) - can be strings or objects with code/description */
|
|
551
|
-
readonly examples: _angular_core.InputSignal<(string | ExampleItem)[]>;
|
|
552
|
-
/** Normalized examples as ExampleItem[] */
|
|
553
|
-
readonly normalizedExamples: _angular_core.Signal<ExampleItem[]>;
|
|
554
|
-
/** Property type for properties */
|
|
555
|
-
readonly propertyType: _angular_core.InputSignal<"current" | "children" | "parent">;
|
|
556
|
-
/** Insert event - emits SmartBlock */
|
|
557
|
-
readonly onInsert: _angular_core.OutputEmitterRef<SmartBlock>;
|
|
558
|
-
/** Computed display value */
|
|
559
|
-
readonly displayValue: _angular_core.Signal<string>;
|
|
560
|
-
/** Check if has rich tooltip content (signature or examples) */
|
|
561
|
-
readonly hasRichTooltip: _angular_core.Signal<string | boolean>;
|
|
562
|
-
/** Build SmartBlock from item data */
|
|
563
|
-
readonly smartBlock: _angular_core.Signal<SmartBlock>;
|
|
564
|
-
/** Item CSS class based on type */
|
|
565
|
-
readonly itemClass: _angular_core.Signal<"bg-slate-200 text-slate-700 hover:bg-slate-300 dark:bg-slate-700 dark:text-slate-300 dark:hover:bg-slate-600" | "bg-amber-100 text-amber-700 hover:bg-amber-200 dark:bg-amber-900/30 dark:text-amber-300 dark:hover:bg-amber-900/50" | "bg-sky-100 text-sky-700 hover:bg-sky-200 dark:bg-sky-900/30 dark:text-sky-300 dark:hover:bg-sky-900/50" | "bg-slate-100 text-slate-700 dark:bg-slate-800 dark:text-slate-300">;
|
|
566
|
-
/** Handle click - emit the SmartBlock */
|
|
567
|
-
handleClick(): void;
|
|
568
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormulaToolbarItem, never>;
|
|
569
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormulaToolbarItem, "mt-formula-toolbar-item", never, { "type": { "alias": "type"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "display": { "alias": "display"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "signature": { "alias": "signature"; "required": false; "isSignal": true; }; "examples": { "alias": "examples"; "required": false; "isSignal": true; }; "propertyType": { "alias": "propertyType"; "required": false; "isSignal": true; }; }, { "onInsert": "onInsert"; }, never, never, true, never>;
|
|
570
|
-
}
|
|
571
|
-
|
|
572
|
-
declare class FormulaStatusBar {
|
|
573
|
-
/** Validation result */
|
|
574
|
-
readonly validation: _angular_core.InputSignal<ValidationResult | null>;
|
|
575
|
-
/** Labels for i18n support */
|
|
576
|
-
readonly labels: _angular_core.InputSignal<{
|
|
577
|
-
valid?: string;
|
|
578
|
-
invalid?: string;
|
|
579
|
-
complexity?: string;
|
|
580
|
-
dependencies?: string;
|
|
581
|
-
}>;
|
|
582
|
-
/** Is formula valid */
|
|
583
|
-
readonly isValid: _angular_core.Signal<boolean>;
|
|
584
|
-
/** Complexity score */
|
|
585
|
-
readonly complexity: _angular_core.Signal<number>;
|
|
586
|
-
/** Dependencies list */
|
|
587
|
-
readonly dependencies: _angular_core.Signal<string[]>;
|
|
588
|
-
/** Dependencies as text */
|
|
589
|
-
readonly dependenciesText: _angular_core.Signal<string>;
|
|
590
|
-
/** First error */
|
|
591
|
-
readonly firstError: _angular_core.Signal<_masterteam_components_formula.ValidationError | null>;
|
|
592
|
-
/** Complexity CSS class */
|
|
593
|
-
readonly complexityClass: _angular_core.Signal<"text-emerald-600 dark:text-emerald-400" | "text-amber-600 dark:text-amber-400" | "text-rose-600 dark:text-rose-400">;
|
|
594
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormulaStatusBar, never>;
|
|
595
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormulaStatusBar, "mt-formula-status-bar", never, { "validation": { "alias": "validation"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
type FormulaRuntimeDomain = 'condition' | 'validation';
|
|
599
|
-
type FormulaRuntimeEngineErrorCode = Extract<FormulaRuntimeMessageCode, 'FORMULA_PARSE_ERROR' | 'FORMULA_EVALUATION_ERROR'>;
|
|
600
|
-
interface FormulaRuntimeEngineError {
|
|
601
|
-
code: FormulaRuntimeEngineErrorCode;
|
|
602
|
-
message: string;
|
|
603
|
-
}
|
|
604
|
-
interface FormulaEvaluationContext {
|
|
605
|
-
values: Record<string, any>;
|
|
606
|
-
}
|
|
607
|
-
interface FormulaConditionEvaluation {
|
|
608
|
-
hidden?: boolean;
|
|
609
|
-
disabled?: boolean;
|
|
610
|
-
dependencies: string[];
|
|
611
|
-
errors: FormulaRuntimeEngineError[];
|
|
612
|
-
}
|
|
613
|
-
interface FormulaValidationEvaluation {
|
|
614
|
-
valid: boolean;
|
|
615
|
-
dependencies: string[];
|
|
616
|
-
errors: FormulaRuntimeEngineError[];
|
|
617
|
-
}
|
|
618
|
-
interface FormulaValidationRulesEvaluation {
|
|
619
|
-
errors: FormulaRuntimeMessage[];
|
|
620
|
-
warnings: FormulaRuntimeMessage[];
|
|
621
|
-
}
|
|
622
|
-
interface FormulaRuntimeCatalog {
|
|
623
|
-
domain: FormulaRuntimeDomain;
|
|
624
|
-
functions: FunctionCategoryGroup[];
|
|
625
|
-
operators: OperatorDefinition[];
|
|
626
|
-
}
|
|
627
|
-
|
|
628
|
-
declare const CONDITION_FUNCTION_CATEGORIES: FunctionCategoryGroup[];
|
|
629
|
-
declare const CONDITION_OPERATORS: OperatorDefinition[];
|
|
630
|
-
declare const VALIDATION_FUNCTION_CATEGORIES: FunctionCategoryGroup[];
|
|
631
|
-
declare const VALIDATION_OPERATORS: OperatorDefinition[];
|
|
632
|
-
declare const CONDITION_RUNTIME_CATALOG: FormulaRuntimeCatalog;
|
|
633
|
-
declare const VALIDATION_RUNTIME_CATALOG: FormulaRuntimeCatalog;
|
|
634
|
-
|
|
635
|
-
type RuntimeFunction = (...args: any[]) => any;
|
|
636
|
-
declare class FormulaRuntimeEngine {
|
|
637
|
-
private readonly compiledCache;
|
|
638
|
-
private readonly functionRegistry;
|
|
639
|
-
constructor(customFunctions?: Record<string, RuntimeFunction>);
|
|
640
|
-
evaluateCondition(config: FormulaConditionConfig, context: FormulaEvaluationContext): FormulaConditionEvaluation;
|
|
641
|
-
evaluateValidation(rule: FormulaValidationRuleConfig, context: FormulaEvaluationContext): FormulaValidationEvaluation;
|
|
642
|
-
evaluateValidationRules(rules: FormulaValidationRuleConfig[], context: FormulaEvaluationContext, options?: {
|
|
643
|
-
isDependencyActive?: (dependency: string) => boolean;
|
|
644
|
-
}): FormulaValidationRulesEvaluation;
|
|
645
|
-
extractDependencies(formulaTokens: string): string[];
|
|
646
|
-
private resolveConditionAction;
|
|
647
|
-
private getCompiledFormula;
|
|
648
|
-
private deserializeFormulaTokens;
|
|
649
|
-
private toLexTokens;
|
|
650
|
-
private evaluateAst;
|
|
651
|
-
}
|
|
652
|
-
|
|
653
|
-
export { CONDITION_FUNCTION_CATEGORIES, CONDITION_OPERATORS, CONDITION_RUNTIME_CATALOG, DEFAULT_OPERATORS, FormulaEditor, FormulaEditorCode, FormulaRuntimeEngine, FormulaStatusBar, FormulaToolbar, FormulaToolbarItem, VALIDATION_FUNCTION_CATEGORIES, VALIDATION_OPERATORS, VALIDATION_RUNTIME_CATALOG, cloneBlock, cloneToken, cloneTokens, createFunctionBlock, createFunctionTokens, createLiteralBlock, createLiteralToken, createOperatorBlock, createOperatorToken, createPropertyBlock, createPropertyToken, findFunctionRange, generateFunctionId, generateSmartBlockId, generateTokenId, getArgumentIndexAtPosition, getFunctionTokens, isValidDropPosition, parseSignature, recalculateDepths, serializeTokens };
|
|
654
|
-
export type { ApiErrorResponse, ArgumentSlot, AutocompleteContext, AutocompleteRequest, AutocompleteResponse, AutocompleteSuggestion, BlockType, DragBehavior, ExampleItem, FormulaConditionEvaluation, FormulaEvaluationContext, FormulaRuntimeCatalog, FormulaRuntimeDomain, FormulaRuntimeEngineError, FormulaRuntimeEngineErrorCode, FormulaToken, FormulaToolbarPropertiesContext, FormulaValidationEvaluation, FormulaValidationRulesEvaluation, FunctionCategory, FunctionCategoryGroup, FunctionDefinition, FunctionInfo, OperatorDefinition, ParameterDefinition, SmartBlock, TokenType, ToolbarItemType, ToolbarTab, ValidationError, ValidationRequest, ValidationResult, ValidationSeverity, ValidationWarning };
|