@if (_loadError is not null)
{
@_loadError
}
else
{
@* Rendered from DriverConfigFormMap rather than a @switch: a Razor switch compiles
into BuildRenderTree's IL, so no test can enumerate its cases — which is how this
modal came to be missing a Calculation arm while the driver-picker guard stayed
green (deferment.md G-1/G-4). The map is guarded by DriverFormMapParityTests. *@
@if (DriverConfigFormMap.Resolve(_driverType) is { } formType)
{
}
else
{
No typed config form for driver type @_driverType.
}
@* Some drivers hold ONE connection per driver instance and author it here; the rest
split the endpoint onto the device (the v3 endpoint→DeviceConfig split). The set is
DeviceFormMap.SingleConnectionDriverTypes — this used to hardcode Galaxy-or-Mqtt and
so told Sql and MTConnect authors to go find an endpoint field on a device form that
does not exist (deferment.md G-3). *@
@if (DeviceFormMap.IsSingleConnection(_driverType))
{
This driver holds a single connection, authored above. Test-connect lives on its
device — open the device modal to verify connectivity.
}
else
{
The connection endpoint + Test-connect live on the driver's device — open the device modal to author host/port and verify connectivity.
}
@if (_saveError is not null)
{
@_saveError
}
}