From 495436828421bd42379afca6f5283da97e6a4659 Mon Sep 17 00:00:00 2001 From: Joseph Doherty Date: Thu, 22 Jan 2026 07:21:11 -0500 Subject: [PATCH] feat(configmanager): add RegexEditorView Avalonia UI Implements editor with: - Column name input - Mode toggle (Find & Replace / Match & Extract) - Pattern and Replacement inputs - Case insensitive checkbox - NonMatchBehavior dropdown - Live test/preview section with result display - Pattern examples help box --- .../TransformerStepViewModels.cs | 4 + .../Views/Editors/RegexEditorView.axaml | 180 ++++++++++++++++++ .../Views/Editors/RegexEditorView.axaml.cs | 11 ++ 3 files changed, 195 insertions(+) create mode 100644 NEW/src/Utils/JdeScoping.ConfigManager/Views/Editors/RegexEditorView.axaml create mode 100644 NEW/src/Utils/JdeScoping.ConfigManager/Views/Editors/RegexEditorView.axaml.cs diff --git a/NEW/src/Utils/JdeScoping.ConfigManager/ViewModels/PipelineSteps/TransformerStepViewModels.cs b/NEW/src/Utils/JdeScoping.ConfigManager/ViewModels/PipelineSteps/TransformerStepViewModels.cs index 59c5479..9450c8b 100644 --- a/NEW/src/Utils/JdeScoping.ConfigManager/ViewModels/PipelineSteps/TransformerStepViewModels.cs +++ b/NEW/src/Utils/JdeScoping.ConfigManager/ViewModels/PipelineSteps/TransformerStepViewModels.cs @@ -423,6 +423,10 @@ public class RegexTransformerViewModel : TransformerStepViewModelBase } } + /// Gets the available non-match behavior options for binding. + public static IReadOnlyList NonMatchBehaviorOptions { get; } = + [NonMatchBehavior.KeepOriginal, NonMatchBehavior.ReturnNull, NonMatchBehavior.ReturnEmpty]; + // Test feature properties public string TestInput { diff --git a/NEW/src/Utils/JdeScoping.ConfigManager/Views/Editors/RegexEditorView.axaml b/NEW/src/Utils/JdeScoping.ConfigManager/Views/Editors/RegexEditorView.axaml new file mode 100644 index 0000000..397e679 --- /dev/null +++ b/NEW/src/Utils/JdeScoping.ConfigManager/Views/Editors/RegexEditorView.axaml @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +