Skip to content

Commit

Permalink
Add cloud provider condition that was missing
Browse files Browse the repository at this point in the history
  • Loading branch information
kbeaugrand committed Jun 22, 2023
1 parent d24a31a commit fa5b941
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 85 deletions.
166 changes: 81 additions & 85 deletions src/IoTHub.Portal.Client/Components/Devices/EditDevice.razor
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
@using IoTHub.Portal.Client.Enums;
@using IoTHub.Portal.Client.Pages.Devices
@using IoTHub.Portal.Client.Validators
@using IoTHub.Portal.Shared.Constants;
@using IoTHub.Portal.Shared.Models
@using IoTHub.Portal.Models
@using IoTHub.Portal.Models.v10
Expand All @@ -19,6 +20,7 @@
@inject ILoRaWanDeviceClientService LoRaWanDeviceClientService
@inject IDeviceLayoutService DeviceLayoutService
@inject NavigationManager NavigationManager
@inject PortalSettings Portal

<MudForm Model="@Device" @ref="form">
<MudGrid>
Expand Down Expand Up @@ -102,18 +104,18 @@
{
<MudAutocomplete T="IDeviceModel"
id="@nameof(DeviceDetails.ModelId)"
@bind-Value="DeviceModel"
SearchFunc="@Search"
Label="Model*"
Dense=true
For=@(() => this.DeviceModel)
Variant="Variant.Outlined"
ToStringFunc="@(x => x?.Name)"
ResetValueOnEmptyText=true
Immediate=true
Clearable=true
CoerceText=true
CoerceValue=false>
@bind-Value="DeviceModel"
SearchFunc="@Search"
Label="Model*"
Dense=true
For=@(() => this.DeviceModel)
Variant="Variant.Outlined"
ToStringFunc="@(x => x?.Name)"
ResetValueOnEmptyText=true
Immediate=true
Clearable=true
CoerceText=true
CoerceValue=false>
<ItemTemplate>
@context.Name
<MudText Typo="Typo.subtitle1" Class="mud-input-helper-text">
Expand All @@ -129,45 +131,34 @@
</MudItem>
}

@if (context.Equals(CreateEditMode.Create))
{
<MudItem xs="12" md="6">
@if (IsLoRa)
{
<MudTextField @bind-Value="@Device.DeviceID"
id=@nameof(LoRaDeviceDetails.DeviceID)
Label="Device ID / DevEUI"
Variant="Variant.Outlined"
Validation=@(loraValidator.ValidateValue)
For="@(()=> Device.DeviceID)"
Mask="@maskLoRaDeviceID"
HelperText="Device EUI must contain 16 hexadecimal characters (numbers from 0 to 9 and/or letters from A to F)" />
}
else
<MudItem xs="12" md="6">
@if (IsLoRa)
{
<MudTextField @bind-Value="@Device.DeviceID"
id=@nameof(LoRaDeviceDetails.DeviceID)
ReadOnly="context.Equals(CreateEditMode.Edit)"
Label="Device ID / DevEUI"
Variant="Variant.Outlined"
Validation=@(loraValidator.ValidateValue)
For="@(()=> Device.DeviceID)"
Mask="@maskLoRaDeviceID"
HelperText="Device EUI must contain 16 hexadecimal characters (numbers from 0 to 9 and/or letters from A to F)" />
}
else
{
if (Portal.CloudProvider.Equals(CloudProviders.Azure))
{
<MudTextField @bind-Value="@Device.DeviceID"
id=@nameof(DeviceDetails.DeviceID)
Label="Device ID"
Variant="Variant.Outlined"
Validation=@(standardValidator.ValidateValue)
For="@(()=> Device.DeviceID)"
HelperText="The device identifier should be of ASCII 7-bit alphanumeric characters plus certain special characters" />
ReadOnly="context.Equals(CreateEditMode.Edit)"
Label="Device ID"
Variant="Variant.Outlined"
Validation=@(standardValidator.ValidateValue)
For="@(()=> Device.DeviceID)"
HelperText="The device identifier should be of ASCII 7-bit alphanumeric characters plus certain special characters" />
}
</MudItem>
}
else if (context.Equals(CreateEditMode.Edit))
{
<MudItem xs="12" md="6">
<MudTextField @bind-Value="@Device.DeviceID"
id=@nameof(DeviceDetails.DeviceID)
Label="Device ID"
Variant="Variant.Outlined"
For="@(()=> Device.DeviceID)"
Required="true"
ReadOnly="true"
HelperText="DeviceID must contain 16 hexadecimal characters (numbers from 0 to 9 and/or letters from A to F)" />
</MudItem>
}
}
</MudItem>

@if (context.Equals(CreateEditMode.Create))
{
Expand All @@ -185,21 +176,24 @@
Required="true" />
</MudItem>

<MudItem xs="12">
<MudText>
<b>Status</b>
</MudText>
<MudRadioGroup @bind-SelectedOption="@Device.IsEnabled">
<MudRadio Option=@(true) Color="Color.Primary">
Enabled
<MudText Typo="Typo.subtitle1" Class="mud-input-helper-text">The device <b>can</b> connect to the platform.</MudText>
</MudRadio>
<MudRadio Option=@(false) Color="Color.Primary">
Disabled
<MudText Typo="Typo.subtitle1" Class="mud-input-helper-text">The device <b>cannot</b> connect to the platform.</MudText>
</MudRadio>
</MudRadioGroup>
</MudItem>
@if (Portal.CloudProvider.Equals(CloudProviders.Azure))
{
<MudItem xs="12">
<MudText>
<b>Status</b>
</MudText>
<MudRadioGroup @bind-SelectedOption="@Device.IsEnabled">
<MudRadio Option=@(true) Color="Color.Primary">
Enabled
<MudText Typo="Typo.subtitle1" Class="mud-input-helper-text">The device <b>can</b> connect to the platform.</MudText>
</MudRadio>
<MudRadio Option=@(false) Color="Color.Primary">
Disabled
<MudText Typo="Typo.subtitle1" Class="mud-input-helper-text">The device <b>cannot</b> connect to the platform.</MudText>
</MudRadio>
</MudRadioGroup>
</MudItem>
}
</MudGrid>
</ChildContent>
</MudExpansionPanel>
Expand All @@ -217,8 +211,8 @@
{
<MudItem xs="12" md="6">
<MudTextField @bind-Value="Device.Tags[tag.Name]" Label="@tag.Label"
Required="@tag.Required"
Variant="Variant.Outlined" />
Required="@tag.Required"
Variant="Variant.Outlined" />
</MudItem>
}
else if (context.Equals(CreateEditMode.Edit))
Expand All @@ -229,8 +223,8 @@
Device.Tags.Add(tag.Name, "");
}
<MudTextField @bind-Value="Device.Tags[tag.Name]" Label="@tag.Label"
Required="@tag.Required"
Variant="Variant.Outlined" />
Required="@tag.Required"
Variant="Variant.Outlined" />
</MudItem>
}
}
Expand Down Expand Up @@ -280,37 +274,37 @@
case DevicePropertyType.Double:
<MudItem xs="12" md="4">
<MudTextField @bind-Value="item.Value"
Label="@item.DisplayName"
Variant="Variant.Outlined"
Validation=@((string c) => string.IsNullOrEmpty(c) || double.TryParse(c, out var result))
Clearable="true" />
Label="@item.DisplayName"
Variant="Variant.Outlined"
Validation=@((string c) => string.IsNullOrEmpty(c) || double.TryParse(c, out var result))
Clearable="true" />
</MudItem>
break;
case DevicePropertyType.Float:
<MudItem xs="12" md="4">
<MudTextField @bind-Value="item.Value"
Label="@item.DisplayName"
Variant="Variant.Outlined"
Validation=@((string c) => string.IsNullOrEmpty(c) || float.TryParse(c, out var result))
Clearable="true" />
Label="@item.DisplayName"
Variant="Variant.Outlined"
Validation=@((string c) => string.IsNullOrEmpty(c) || float.TryParse(c, out var result))
Clearable="true" />
</MudItem>
break;
case DevicePropertyType.Integer:
<MudItem xs="12" md="4">
<MudTextField @bind-Value="item.Value"
Label="@item.DisplayName"
Variant="Variant.Outlined"
Validation=@((string c) => string.IsNullOrEmpty(c) || int.TryParse(c, out var result))
Clearable="true" />
Label="@item.DisplayName"
Variant="Variant.Outlined"
Validation=@((string c) => string.IsNullOrEmpty(c) || int.TryParse(c, out var result))
Clearable="true" />
</MudItem>
break;
case DevicePropertyType.Long:
<MudItem xs="12" md="4">
<MudTextField @bind-Value="item.Value"
Label="@item.DisplayName"
Variant="Variant.Outlined"
Validation=@((string c) => string.IsNullOrEmpty(c) || long.TryParse(c, out var result))
Clearable="true" />
Label="@item.DisplayName"
Variant="Variant.Outlined"
Validation=@((string c) => string.IsNullOrEmpty(c) || long.TryParse(c, out var result))
Clearable="true" />
</MudItem>
break;
case DevicePropertyType.String:
Expand Down Expand Up @@ -361,7 +355,7 @@

private MudForm form = default!;

private DeviceDetailsValidator standardValidator = new DeviceDetailsValidator();
private DeviceDetailsValidator standardValidator;
private LoRaDeviceDetailsValidator loraValidator = new LoRaDeviceDetailsValidator();

private LoRaDeviceModelDto LoRaDeviceModelDto { get; set; } = default!;
Expand Down Expand Up @@ -455,6 +449,8 @@
protected override async Task OnInitializedAsync()
{
standardValidator = new DeviceDetailsValidator(Portal.CloudProvider);

setPropertiesWithContext();
//setIsLoRaWithContext();
Expand Down Expand Up @@ -715,9 +711,9 @@
PageNumber = 0,
PageSize = 100,
OrderBy = new string[]
{
{
string.Empty
}
}
};
return (await DeviceModelsClientService.GetDeviceModels(filter)).Items.ToList<IDeviceModel>();
}
Expand Down
Loading

0 comments on commit fa5b941

Please sign in to comment.