continuo generalizzazione doorSizing

This commit is contained in:
zaccaria.majid
2023-04-14 09:33:36 +02:00
parent 37c00cd31f
commit 3b1af14aa9
2 changed files with 100 additions and 123 deletions
@@ -8,83 +8,92 @@
<div>
@if (isSizing)
{
<div class="d-flex justify-content-center m-5">
<div class="fs-4 me-3">Width</div>
<input @bind-value="@width" />
</div>
<div class="d-flex justify-content-center m-5">
<div class="fs-4 me-3">Height</div>
<input @bind-value="@height" />
</div>
<div class="d-flex justify-content-center m-5">
<div class="fs-4 me-3">Thickness</div>
<input @bind-value="@thickness" />
</div>
@if (ListVals != null)
{
@foreach (var size in ListVals.Where(x => x.Value != "Swing"))
{
<div class="d-flex justify-content-center m-5">
<div class="fs-4 me-3">@size.Label</div>
<input value="@size.DefaultVal" />
</div>
}
}
}
else if (isOpening)
{
<div class="d-flex justify-content-center m-5">
<div class="fs-4 me-3">Swing</div>
<select @bind="@swing">
@if (ListSwings != null)
{
@foreach (var item in ListSwings)
{
<option value="@item.Value">@item.Label</option>
}
}
</select>
</div>
@if (ListVals != null)
{
@foreach (var swing in ListVals.Where(x => x.Value == "Swing"))
{
<div class="d-flex justify-content-center m-5">
<div class="fs-4 me-3">Swing</div>
<select @bind="@swing.DefaultVal">
</select>
</div>
}
}
}
else if (isEdges)
{
<div class="d-flex justify-content-center m-5">
<div class="fs-4 me-3">Lock edge</div>
<select @bind="@lockEdge">
@if (ListEdges != null)
{
@foreach (var item in ListEdges)
{
<option value="@item.Value">@item.Label</option>
}
}
</select>
</div>
<div class="d-flex justify-content-center m-5">
<div class="fs-4 me-3">Hinge edge</div>
<select @bind="@hingeEdge">
@if (ListEdges != null)
{
@foreach (var item in ListEdges)
{
<option value="@item.Value">@item.Label</option>
}
}
</select>
</div>
<div class="d-flex justify-content-center m-5">
<div class="fs-4 me-3">Top edge</div>
<select @bind="@topEdge">
@if (ListEdges != null)
{
@foreach (var item in ListEdges)
{
<option value="@item.Value">@item.Label</option>
}
}
</select>
</div>
<div class="d-flex justify-content-center m-5">
<div class="fs-4 me-3">Bottom edge</div>
<select @bind="@bottomEdge">
@if (ListEdges != null)
{
@foreach (var item in ListEdges)
{
<option value="@item.Value">@item.Label</option>
}
}
</select>
</div>
@if (ListVals != null)
{
@foreach (var size in ListVals)
{
<div class="d-flex justify-content-center m-5">
<div class="fs-4 me-3">@size.Label</div>
<input value="@size.DefaultVal" />
</div>
}
}
@*<div class="d-flex justify-content-center m-5">
<div class="fs-4 me-3">Lock edge</div>
<select @bind="@lockEdge">
@if (ListEdges != null)
{
@foreach (var item in ListEdges)
{
<option value="@item.Value">@item.Label</option>
}
}
</select>
</div>
<div class="d-flex justify-content-center m-5">
<div class="fs-4 me-3">Hinge edge</div>
<select @bind="@hingeEdge">
@if (ListEdges != null)
{
@foreach (var item in ListEdges)
{
<option value="@item.Value">@item.Label</option>
}
}
</select>
</div>
<div class="d-flex justify-content-center m-5">
<div class="fs-4 me-3">Top edge</div>
<select @bind="@topEdge">
@if (ListEdges != null)
{
@foreach (var item in ListEdges)
{
<option value="@item.Value">@item.Label</option>
}
}
</select>
</div>
<div class="d-flex justify-content-center m-5">
<div class="fs-4 me-3">Bottom edge</div>
<select @bind="@bottomEdge">
@if (ListEdges != null)
{
@foreach (var item in ListEdges)
{
<option value="@item.Value">@item.Label</option>
}
}
</select>
</div>*@
}
</div>
@@ -20,8 +20,8 @@ namespace WebDoorCreator.UI.Components.DoorDef
public EventCallback<bool> E_paramChanged { get; set; }
protected bool isSizing { get; set; } = true;
protected List<ListValuesModel>? ListSwings { get; set; } = null;
protected List<ListValuesModel>? ListEdges { get; set; } = null;
//protected List<ListValuesModel>? ListSwings { get; set; } = null;
protected List<ListValuesModel>? ListVals { get; set; } = null;
protected List<DoorOpModel>? ListDoorOp { get; set; } = null;
protected Edges? DefaultEdges { get; set; } = null;
protected Opening? DefaultOpening { get; set; } = null;
@@ -49,6 +49,7 @@ namespace WebDoorCreator.UI.Components.DoorDef
protected void setSizing()
{
currInStep = "Sizing";
isOpening = false;
isEdges = false;
isSizing = true;
@@ -56,6 +57,7 @@ namespace WebDoorCreator.UI.Components.DoorDef
protected void setOpening()
{
isEdges = false;
isSizing = false;
isOpening = true;
@@ -63,6 +65,7 @@ namespace WebDoorCreator.UI.Components.DoorDef
protected void setEdges()
{
currInStep = "Edges";
isOpening = false;
isSizing = false;
isEdges = true;
@@ -152,62 +155,27 @@ namespace WebDoorCreator.UI.Components.DoorDef
set => _swing = value;
}
protected async Task ReloadData()
protected string _currInStep { get; set; } = "";
protected string currInStep
{
ListSwings = await WDService.ListValuesGetAll("Opening", "Swing");
ListEdges = await WDService.ListValuesGetAll("Edges", "EdgeType");
ListDoorOp = await WDService.DoorOpGetByDoorId(DoorId);
if (ListDoorOp != null)
get => _currInStep;
set
{
foreach (var doorOp in ListDoorOp)
if (_currInStep != value)
{
//if (doorOp.DoorOpTypId == 19)
//{
// var edges = JsonConvert.DeserializeObject<List<Edges>>(doorOp.JsoncConfigVal);
// if (edges != null)
// {
// DefaultEdges = edges.FirstOrDefault();
// if (DefaultEdges != null)
// {
// lockEdge = DefaultEdges.lockEdge;
// hingeEdge = DefaultEdges.hingeEdge;
// topEdge = DefaultEdges.topEdge;
// bottomEdge = DefaultEdges.bottomEdge;
// }
// }
//}
//if (doorOp.DoorOpTypId == 20)
//{
// var sizing = JsonConvert.DeserializeObject<List<Sizing>>(doorOp.JsoncConfigVal);
// if (sizing != null)
// {
// DefaultSizing = sizing.FirstOrDefault();
// if (DefaultSizing != null)
// {
// width = double.Parse(DefaultSizing.width);
// height = double.Parse(DefaultSizing.height);
// thickness = double.Parse(DefaultSizing.thickness);
// }
// }
//}
//if (doorOp.DoorOpTypId == 21)
//{
// var opening = JsonConvert.DeserializeObject<List<Opening>>(doorOp.JsoncConfigVal);
// if (opening != null)
// {
// DefaultOpening = opening.FirstOrDefault();
// if (DefaultOpening != null)
// {
// swing = DefaultOpening.swing;
// }
// }
//}
_currInStep = value;
Task.Run(async () => await ReloadData());
}
}
}
protected async Task ReloadData()
{
ListVals = await WDService.ListValuesGetAll("DoorDef", currInStep);
ListDoorOp = await WDService.DoorOpGetByDoorId(DoorId);
}
protected override async Task OnParametersSetAsync()
{
if (!paramIsChanged)