diff --git a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Forms/MxGatewayEndpointEditor.razor b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Forms/MxGatewayEndpointEditor.razor new file mode 100644 index 00000000..0eac1ce6 --- /dev/null +++ b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Forms/MxGatewayEndpointEditor.razor @@ -0,0 +1,89 @@ +@namespace ZB.MOM.WW.ScadaBridge.CentralUI.Components.Forms +@using ZB.MOM.WW.ScadaBridge.Commons.Types.DataConnections +@using ZB.MOM.WW.ScadaBridge.Commons.Types.Flattening + +
+
@Title
+ +
+
+ + + @RenderFieldError("Endpoint") +
+
+ + + @RenderFieldError("ApiKey") +
+
+ +
+
+ + +
+
+ + +
+
+ + + @RenderFieldError("ReadTimeoutMs") +
+
+ +
Transport security
+
+
+
+ + +
+
+ @if (Config.UseTls) + { +
+ + +
+
+ + +
+ } +
+
+ +@code { + [Parameter, EditorRequired] public MxGatewayEndpointConfig Config { get; set; } = default!; + [Parameter] public string Title { get; set; } = "Endpoint"; + [Parameter] public string IdPrefix { get; set; } = "mxgateway-endpoint"; + [Parameter] public ValidationResult? Errors { get; set; } + + private RenderFragment? RenderFieldError(string field) + { + var match = Errors?.Errors.FirstOrDefault(e => + e.EntityName != null + && (e.EntityName == field || e.EntityName.EndsWith("." + field))); + return match is null + ? null + : @
@match.Message
; + } +}