@meshmakers/octo-process-diagrams 3.3.860 → 3.3.880
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.
|
@@ -6094,6 +6094,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
6094
6094
|
}]
|
|
6095
6095
|
}] });
|
|
6096
6096
|
|
|
6097
|
+
/**
|
|
6098
|
+
* Factory for creating a mapping expression validator that can be used
|
|
6099
|
+
* with the DataMappingListComponent's expressionValidator input.
|
|
6100
|
+
*
|
|
6101
|
+
* Uses ExpressionEvaluatorService (expr-eval) for instant client-side validation.
|
|
6102
|
+
* Compatible with the mXparser expressions used by ApplyDataPointMappingsNode in the backend.
|
|
6103
|
+
*
|
|
6104
|
+
* Usage in host app:
|
|
6105
|
+
* ```typescript
|
|
6106
|
+
* import { createMappingExpressionValidator } from '@meshmakers/octo-process-diagrams';
|
|
6107
|
+
* import { ExpressionEvaluatorService } from '@meshmakers/octo-process-diagrams';
|
|
6108
|
+
*
|
|
6109
|
+
* // In component:
|
|
6110
|
+
* private readonly expressionService = inject(ExpressionEvaluatorService);
|
|
6111
|
+
* readonly expressionValidator = createMappingExpressionValidator(this.expressionService);
|
|
6112
|
+
*
|
|
6113
|
+
* // In template:
|
|
6114
|
+
* <mm-runtime-browser [expressionValidator]="expressionValidator" ...>
|
|
6115
|
+
* ```
|
|
6116
|
+
*/
|
|
6117
|
+
/**
|
|
6118
|
+
* Creates a mapping expression validator function from an ExpressionEvaluatorService instance.
|
|
6119
|
+
*
|
|
6120
|
+
* The returned function validates expressions and returns a preview of the evaluation
|
|
6121
|
+
* using `value = 42` as a test input.
|
|
6122
|
+
*
|
|
6123
|
+
* @param service The ExpressionEvaluatorService instance (injected via DI)
|
|
6124
|
+
* @param testValue The test value for the 'value' variable (default: 42)
|
|
6125
|
+
* @returns A validator function compatible with DataMappingListComponent.expressionValidator
|
|
6126
|
+
*/
|
|
6127
|
+
function createMappingExpressionValidator(service, testValue = 42) {
|
|
6128
|
+
return (expression) => {
|
|
6129
|
+
if (!expression || expression.trim() === '') {
|
|
6130
|
+
return { valid: false, error: 'Expression must not be empty' };
|
|
6131
|
+
}
|
|
6132
|
+
// Step 1: Validate syntax
|
|
6133
|
+
const validation = service.validate(expression);
|
|
6134
|
+
if (!validation.valid) {
|
|
6135
|
+
return { valid: false, error: validation.error ?? 'Invalid expression syntax' };
|
|
6136
|
+
}
|
|
6137
|
+
// Step 2: Evaluate with test value
|
|
6138
|
+
const result = service.evaluate(expression, { value: testValue });
|
|
6139
|
+
if (!result.success) {
|
|
6140
|
+
return { valid: false, error: result.error ?? 'Expression evaluation failed' };
|
|
6141
|
+
}
|
|
6142
|
+
// Step 3: Format preview
|
|
6143
|
+
const preview = typeof result.value === 'number'
|
|
6144
|
+
? Number.isInteger(result.value)
|
|
6145
|
+
? String(result.value)
|
|
6146
|
+
: result.value.toFixed(4).replace(/0+$/, '').replace(/\.$/, '')
|
|
6147
|
+
: String(result.value);
|
|
6148
|
+
return { valid: true, preview };
|
|
6149
|
+
};
|
|
6150
|
+
}
|
|
6151
|
+
|
|
6097
6152
|
/**
|
|
6098
6153
|
* Native Angular wrapper for dockview-core
|
|
6099
6154
|
* Provides the same functionality as dockview-angular but with proper Ivy compatibility
|
|
@@ -31643,5 +31698,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
31643
31698
|
* Generated bundle index. Do not edit.
|
|
31644
31699
|
*/
|
|
31645
31700
|
|
|
31646
|
-
export { ANIMATION_PRESETS, AnimationsPanelComponent, BindingEditorDialogComponent, ContextMenuComponent, CreateProcessDiagramDtoGQL, CreateSymbolDefinitionDtoGQL, CreateSymbolLibraryDtoGQL, DEFAULT_RENDER_CONTEXT, DEFAULT_STYLE, DEFAULT_TEXT_STYLE, DeleteProcessDiagramDtoGQL, DesignerClipboardService, DesignerHistoryService, DesignerLayoutService, DesignerSelectionService, DockviewComponent, ElementPaletteComponent, ElementsPanelComponent, EllipseRenderer, ExpressionEvaluatorService, GetProcessDiagramDtoGQL, GetProcessDiagramsDtoGQL, GetSymbolDefinitionDtoGQL, GetSymbolDefinitionsDtoGQL, GetSymbolLibrariesDtoGQL, GetSymbolLibraryDtoGQL, ImageRenderer, LineRenderer, PathCommands, PathEditorComponent, PathEditorService, PathRenderer, PolygonRenderer, PolylineRenderer, PrimitiveRendererRegistry, PrimitiveType, ProcessDesignerComponent, ProcessDiagramDataService, ProcessDiagramDataSourceDirective, ProcessDiagramListComponent, PropertiesPanelComponent, PropertyInspectorComponent, RectangleRenderer, SettingsPanelComponent, SimulationPanelComponent, SimulationPanelWrapperComponent, StylesPanelComponent, SvgImportService, SymbolEditorComponent, SymbolEditorPageComponent, SymbolLibraryAdminComponent, SymbolLibraryDataSourceDirective, SymbolLibraryDetailComponent, SymbolLibraryListComponent, SymbolLibraryPanelComponent, SymbolLibraryService, SymbolRenderer, SymbolsPanelComponent, TextRenderer, TransformPanelComponent, TransformPropertyEditorComponent, UpdateProcessDiagramDtoGQL, UpdateSymbolDefinitionDtoGQL, UpdateSymbolLibraryDtoGQL, addChildrenToGroup, applyTextTransform, buildAnimationChildren, buildStyleAttributes, buildTransformAttribute, createAnimationDefinition, createBooleanProperty, createCircle, createColorProperty, createEllipse, createFromPreset, createGroup, createImage, createLine, createMotionAnimation, createNumberProperty, createOpacityAnimation, createPath, createPolygon, createPolyline, createPropertyBinding, createRectangle, createRegularPolygon, createRenderContext, createRotationAnimation, createStyleClass, createStyleClassFromCss, createStyleClassNameMap, createSvgImage, createSymbolRenderContext, createText, detectSourceType, estimatePathBounds, findStyleClass, findStyleClassByName, formatDuration, generateAnimationControlScript, getAnimationElementSelector, getEffectiveTextStyle, getEllipseSize, getFlowParticlesAnimation, getGroupBounds, getImageSize, getLineAngle, getLineLength, getLineMidpoint, getPolygonBounds, getPolygonCentroid, getPresetKeys, getPresetsGrouped, getRectangleSize, hasFlowParticlesAnimation, isAnimationDefinition, isAttributeAnimation, isChildOfGroup, isCircle, isEllipse, isFlowParticlesAnimation, isGroupEmpty, isGroupPrimitive, isImage, isLine, isMotionAnimation, isPath, isPolygon, isPolyline, isPrimitive, isPropertyBinding, isRectangle, isStyleClass, isText, isTransformAnimation, isTransformProperty, offsetPathData, parseDuration, parsePathNumbers, pointsToSvgString, removeChildrenFromGroup, renderAnimation, renderAnimations, renderFlowParticles, svgStringToPoints, toSvgPreserveAspectRatio, updateGroupBounds, wrapText };
|
|
31701
|
+
export { ANIMATION_PRESETS, AnimationsPanelComponent, BindingEditorDialogComponent, ContextMenuComponent, CreateProcessDiagramDtoGQL, CreateSymbolDefinitionDtoGQL, CreateSymbolLibraryDtoGQL, DEFAULT_RENDER_CONTEXT, DEFAULT_STYLE, DEFAULT_TEXT_STYLE, DeleteProcessDiagramDtoGQL, DesignerClipboardService, DesignerHistoryService, DesignerLayoutService, DesignerSelectionService, DockviewComponent, ElementPaletteComponent, ElementsPanelComponent, EllipseRenderer, ExpressionEvaluatorService, GetProcessDiagramDtoGQL, GetProcessDiagramsDtoGQL, GetSymbolDefinitionDtoGQL, GetSymbolDefinitionsDtoGQL, GetSymbolLibrariesDtoGQL, GetSymbolLibraryDtoGQL, ImageRenderer, LineRenderer, PathCommands, PathEditorComponent, PathEditorService, PathRenderer, PolygonRenderer, PolylineRenderer, PrimitiveRendererRegistry, PrimitiveType, ProcessDesignerComponent, ProcessDiagramDataService, ProcessDiagramDataSourceDirective, ProcessDiagramListComponent, PropertiesPanelComponent, PropertyInspectorComponent, RectangleRenderer, SettingsPanelComponent, SimulationPanelComponent, SimulationPanelWrapperComponent, StylesPanelComponent, SvgImportService, SymbolEditorComponent, SymbolEditorPageComponent, SymbolLibraryAdminComponent, SymbolLibraryDataSourceDirective, SymbolLibraryDetailComponent, SymbolLibraryListComponent, SymbolLibraryPanelComponent, SymbolLibraryService, SymbolRenderer, SymbolsPanelComponent, TextRenderer, TransformPanelComponent, TransformPropertyEditorComponent, UpdateProcessDiagramDtoGQL, UpdateSymbolDefinitionDtoGQL, UpdateSymbolLibraryDtoGQL, addChildrenToGroup, applyTextTransform, buildAnimationChildren, buildStyleAttributes, buildTransformAttribute, createAnimationDefinition, createBooleanProperty, createCircle, createColorProperty, createEllipse, createFromPreset, createGroup, createImage, createLine, createMappingExpressionValidator, createMotionAnimation, createNumberProperty, createOpacityAnimation, createPath, createPolygon, createPolyline, createPropertyBinding, createRectangle, createRegularPolygon, createRenderContext, createRotationAnimation, createStyleClass, createStyleClassFromCss, createStyleClassNameMap, createSvgImage, createSymbolRenderContext, createText, detectSourceType, estimatePathBounds, findStyleClass, findStyleClassByName, formatDuration, generateAnimationControlScript, getAnimationElementSelector, getEffectiveTextStyle, getEllipseSize, getFlowParticlesAnimation, getGroupBounds, getImageSize, getLineAngle, getLineLength, getLineMidpoint, getPolygonBounds, getPolygonCentroid, getPresetKeys, getPresetsGrouped, getRectangleSize, hasFlowParticlesAnimation, isAnimationDefinition, isAttributeAnimation, isChildOfGroup, isCircle, isEllipse, isFlowParticlesAnimation, isGroupEmpty, isGroupPrimitive, isImage, isLine, isMotionAnimation, isPath, isPolygon, isPolyline, isPrimitive, isPropertyBinding, isRectangle, isStyleClass, isText, isTransformAnimation, isTransformProperty, offsetPathData, parseDuration, parsePathNumbers, pointsToSvgString, removeChildrenFromGroup, renderAnimation, renderAnimations, renderFlowParticles, svgStringToPoints, toSvgPreserveAspectRatio, updateGroupBounds, wrapText };
|
|
31647
31702
|
//# sourceMappingURL=meshmakers-octo-process-diagrams.mjs.map
|