Inizio modifica x spostare gestione su single instance
This commit is contained in:
@@ -1,47 +1,48 @@
|
||||
@if (DoorOp != null)
|
||||
{
|
||||
|
||||
<div class="row">
|
||||
@foreach (var item in DoorOp)
|
||||
{
|
||||
<div class="col-4 mb-2">
|
||||
|
||||
<HardwareTemplates HwCode="@HwCode"></HardwareTemplates>
|
||||
<SingleInstance Lingua="@Lingua" DoorOpInst="@item" HwCode="@HwCode"></SingleInstance>
|
||||
|
||||
@foreach (var graph in getGraphicParams())
|
||||
{
|
||||
@foreach (var graphParam in graph.Value)
|
||||
{
|
||||
@if (graphParam.Value.Count == 1)
|
||||
{
|
||||
<div class="input-group">
|
||||
<span class="input-group-text" id="@($"p_{graphParam.Key}")">@translate(graphParam.Key)</span>
|
||||
<input type="text" class="form-control" value="@graphParam.Value.FirstOrDefault()" aria-describedby="basic-addon1">
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="input-group">
|
||||
<span class="input-group-text" id="@($"p_{graphParam.Key}")">@translate(graphParam.Key)</span>
|
||||
<select class="form-select">
|
||||
@foreach (var param in graphParam.Value)
|
||||
{
|
||||
<option value="@param.Split("/")[0]">@(translate(@param.Split("/")[1]))</option>
|
||||
}
|
||||
</select>
|
||||
</div>
|
||||
}
|
||||
@*<HardwareTemplates HwCode="@HwCode"></HardwareTemplates>
|
||||
|
||||
}
|
||||
}
|
||||
<div class="row">
|
||||
<div class="btn btn-danger col-6 px-1">
|
||||
Cancel
|
||||
</div>
|
||||
<div class="btn btn-success col-6 px-1">
|
||||
Save
|
||||
</div>
|
||||
</div>
|
||||
@foreach (var graph in getGraphicParams())
|
||||
{
|
||||
@foreach (var graphParam in graph.Value)
|
||||
{
|
||||
@if (graphParam.Value.Count == 1)
|
||||
{
|
||||
<div class="input-group">
|
||||
<span class="input-group-text" id="@($"p_{graphParam.Key}")">@translate(graphParam.Key)</span>
|
||||
<input type="text" class="form-control" value="@graphParam.Value.FirstOrDefault()" aria-describedby="basic-addon1">
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="input-group">
|
||||
<span class="input-group-text" id="@($"p_{graphParam.Key}")">@translate(graphParam.Key)</span>
|
||||
<select class="form-select">
|
||||
@foreach (var param in graphParam.Value)
|
||||
{
|
||||
<option value="@param.Split("/")[0]">@(translate(@param.Split("/")[1]))</option>
|
||||
}
|
||||
</select>
|
||||
</div>
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
<div class="row">
|
||||
<div class="btn btn-danger col-6 px-1">
|
||||
Cancel
|
||||
</div>
|
||||
<div class="btn btn-success col-6 px-1">
|
||||
Save
|
||||
</div>
|
||||
</div>*@
|
||||
</div>
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
<select class="form-select" @bind="@folderName">
|
||||
@if (listValuesFname != null)
|
||||
{
|
||||
@foreach (var folder in listValuesFname)
|
||||
{
|
||||
<option value="@folder.Value">@folder.Label</option>
|
||||
}
|
||||
}
|
||||
</select>
|
||||
<div class="input-group">
|
||||
<span class="input-group-text" id="Template">Template</span>
|
||||
@if (listValuesFiles != null && listValuesFiles.Count > 0)
|
||||
{
|
||||
<select class="form-select">
|
||||
@foreach (var val in listValuesFiles)
|
||||
{
|
||||
<option value="@val.Value">@val.Label</option>
|
||||
}
|
||||
</select>
|
||||
}
|
||||
else
|
||||
{
|
||||
<input class="form-select" disabled>
|
||||
}
|
||||
</div>
|
||||
|
||||
@foreach (var graph in getGraphicParams())
|
||||
{
|
||||
@foreach (var graphParam in graph.Value)
|
||||
{
|
||||
@if (graphParam.Value.Count == 1)
|
||||
{
|
||||
<div class="input-group">
|
||||
<span class="input-group-text" id="@($"p_{graphParam.Key}")">@translate(graphParam.Key)</span>
|
||||
<input type="text" class="form-control" value="@graphParam.Value.FirstOrDefault()" aria-describedby="basic-addon1">
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="input-group">
|
||||
<span class="input-group-text" id="@($"p_{graphParam.Key}")">@translate(graphParam.Key)</span>
|
||||
<select class="form-select">
|
||||
@foreach (var param in graphParam.Value)
|
||||
{
|
||||
<option value="@param.Split("/")[0]">@(translate(@param.Split("/")[1]))</option>
|
||||
}
|
||||
</select>
|
||||
</div>
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
<div class="row">
|
||||
<div class="btn btn-danger col-6 px-1">
|
||||
Cancel
|
||||
</div>
|
||||
<div class="btn btn-success col-6 px-1">
|
||||
Save
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,111 @@
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using Newtonsoft.Json;
|
||||
using WebDoorCreator.Data.DbModels;
|
||||
using WebDoorCreator.UI.Data;
|
||||
|
||||
namespace WebDoorCreator.UI.Components.Hardware
|
||||
{
|
||||
public partial class SingleInstance
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
[Parameter]
|
||||
public DoorOpModel DoorOpInst { get; set; } = null!;
|
||||
|
||||
[Parameter]
|
||||
public string HwCode { get; set; } = "";
|
||||
|
||||
[Parameter]
|
||||
public string Lingua { get; set; } = "EN";
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public Dictionary<string, Dictionary<string, List<string>>> getGraphicParams()
|
||||
{
|
||||
var deserialized = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, List<string>>>>(DoorOpInst.JsoncConfigVal!);
|
||||
if (deserialized != null)
|
||||
{
|
||||
graphicParams = deserialized;
|
||||
}
|
||||
return graphicParams;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
protected string _folderName { get; set; } = "";
|
||||
|
||||
protected string folderName
|
||||
{
|
||||
get => _folderName;
|
||||
set
|
||||
{
|
||||
if (_folderName != value)
|
||||
{
|
||||
_folderName = value;
|
||||
var pUpd = Task.Run(async () => await ReloadData(false));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected Dictionary<string, Dictionary<string, List<string>>> graphicParams { get; set; } = null!;
|
||||
protected List<ListValuesModel>? listValuesFiles { get; set; } = null!;
|
||||
|
||||
protected List<ListValuesModel>? listValuesFname { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
protected WebDoorCreatorService WDCService { get; set; } = null!;
|
||||
|
||||
[Inject]
|
||||
protected WDCVocabularyService WDVService { get; set; } = null!;
|
||||
|
||||
#endregion Protected Properties
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected override async Task OnParametersSetAsync()
|
||||
{
|
||||
await ReloadData(true);
|
||||
}
|
||||
|
||||
protected string translate(string lemma)
|
||||
{
|
||||
string answ = "";
|
||||
|
||||
answ = WDVService.Traduci(Lingua, lemma);
|
||||
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private async Task ReloadData(bool isFirst)
|
||||
{
|
||||
var tempListVal = await WDCService.ListValuesGetAll(HwCode, "Folder");
|
||||
if (tempListVal != null)
|
||||
{
|
||||
listValuesFname = tempListVal;
|
||||
if (listValuesFname != null)
|
||||
{
|
||||
if (isFirst)
|
||||
{
|
||||
folderName = listValuesFname.FirstOrDefault()?.Label!;
|
||||
}
|
||||
var tempListFiles = await WDCService.ListValuesGetAll(HwCode, "Template");
|
||||
|
||||
if (tempListFiles != null)
|
||||
{
|
||||
listValuesFiles = tempListFiles.Where(x => x.Value.Contains(folderName)).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user