153 lines
7.1 KiB
Plaintext
153 lines
7.1 KiB
Plaintext
@using MP.Data.MgModels;
|
|
|
|
@if (isLoading)
|
|
{
|
|
<LoadingData></LoadingData>
|
|
}
|
|
else
|
|
{
|
|
<div class="card shadow p-0 mb-5 bg-body rounded">
|
|
<div class="card-header">
|
|
<div class="d-flex justify-content-between">
|
|
<div>
|
|
<h4>Testata Ricetta</h4>
|
|
</div>
|
|
<div>
|
|
<a href="api/Recipe/GetRecipeXML?idxPODL=@IdxPODL" target="_blank" class="btn btn-sm btn-success">XML <i class="fa-solid fa-file-export"></i></a>
|
|
<a href="api/Recipe/GetRecipe?idxPODL=@IdxPODL" target="_blank" class="btn btn-sm btn-success">json <i class="fa-solid fa-file-export"></i></a>
|
|
@if (!showHead)
|
|
{
|
|
<span class="px-2"><b>@CurrRecipe?.HeadVal.Count</b> par</span>
|
|
}
|
|
@if (needSave)
|
|
{
|
|
<button class="btn btn-sm btn-success" @onclick="() => SaveHeadData()"><i class="fa-regular fa-floppy-disk"></i> Save</button>
|
|
<button class="btn btn-sm btn-warning" @onclick="() => CancelHeadData()"><i class="fa-solid fa-xmark"></i> Cancel</button>
|
|
}
|
|
<button class="btn btn-sm btn-outline-dark" @onclick="toggleHead">
|
|
@if (showHead)
|
|
{
|
|
<i class="fa-solid fa-chevron-up"></i>
|
|
}
|
|
else
|
|
{
|
|
<i class="fa-solid fa-chevron-down"></i>
|
|
}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
@if (showHead && CurrRecipe?.HeadVal != null)
|
|
{
|
|
<div class="row g-1">
|
|
@foreach (var item in CurrRecipe.HeadVal)
|
|
{
|
|
<div class="col-3">
|
|
<div class="form-floating">
|
|
@if (item.Type == RecipeModel.Element.KeyType.Fixed || item.Type == RecipeModel.Element.KeyType.Calc)
|
|
{
|
|
<input type="text" class="form-control" @bind="@item.Value" disabled>
|
|
}
|
|
else if (item.Type == MP.Data.MgModels.RecipeModel.Element.KeyType.Enum)
|
|
{
|
|
<select class="form-select" @bind="@item.Value">
|
|
@foreach (var enumItem in GetHeadListByType(item.EnumType))
|
|
{
|
|
<option value="@enumItem.Key">@enumItem.Value</option>
|
|
}
|
|
</select>
|
|
}
|
|
else
|
|
{
|
|
<input type="text" class="form-control" placeholder="@item.Key" @bind="@item.Value">
|
|
}
|
|
<label>@item.Key</label>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
|
|
}
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="d-flex justify-content-between">
|
|
<div>
|
|
<h5>Righe Ricetta</h5>
|
|
</div>
|
|
<div>
|
|
<button class="btn btn-sm btn-success" @onclick="addRow" title="Aggiunta Nuova Riga"><i class="fa-solid fa-plus"></i> Add</button>
|
|
<button class="btn btn-sm btn-outline-dark" @onclick="toggleRows">
|
|
@if (showAllRows)
|
|
{
|
|
<i class="fa-solid fa-chevron-up"></i>
|
|
}
|
|
else
|
|
{
|
|
<i class="fa-solid fa-chevron-down"></i>
|
|
}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
@if (CurrRecipe?.RowsVal != null)
|
|
{
|
|
int rowTot = CurrRecipe.RowsVal.Count;
|
|
int rowNum = 0;
|
|
@foreach (var riga in CurrRecipe.RowsVal)
|
|
{
|
|
rowNum++;
|
|
<div class="d-flex justify-content-between">
|
|
<div>
|
|
# <b>@riga.Key</b>
|
|
</div>
|
|
<div>
|
|
@if (rowNum == rowTot)
|
|
{
|
|
<button class="btn btn-sm btn-danger" @onclick="() => deleteRow(riga.Key)" title="Rimuovi Ultima Riga"><i class="fa-solid fa-minus"></i></button>
|
|
}
|
|
<button class="btn btn-sm" @onclick="() => toggleRow(riga.Key)">
|
|
@if (showRows[riga.Key])
|
|
{
|
|
<i class="fa-solid fa-chevron-up"></i>
|
|
}
|
|
else
|
|
{
|
|
<i class="fa-solid fa-chevron-down"></i>
|
|
}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
@if (showRows[riga.Key])
|
|
{
|
|
<div class="row g-1">
|
|
@foreach (var item in riga.Value)
|
|
{
|
|
<div class="col-3">
|
|
<div class="form-floating">
|
|
@if (item.Type == RecipeModel.Element.KeyType.Fixed || item.Type == RecipeModel.Element.KeyType.Calc)
|
|
{
|
|
<input type="text" class="form-control" @bind="@item.Value" disabled>
|
|
}
|
|
else if (item.Type == MP.Data.MgModels.RecipeModel.Element.KeyType.Enum)
|
|
{
|
|
<select class="form-select" @bind="@item.Value">
|
|
@foreach (var enumItem in GetRowListByType(item.EnumType))
|
|
{
|
|
<option value="@enumItem.Key">@enumItem.Value</option>
|
|
}
|
|
</select>
|
|
}
|
|
else
|
|
{
|
|
<input type="text" class="form-control" placeholder="@item.Key" @bind="@item.Value">
|
|
}
|
|
<label>@item.Key</label>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
}
|
|
}
|
|
}
|
|
</div>
|
|
</div>
|
|
}
|