Files
webwindowconfigurator/WebWindowComplex/Compo/AreaFrame.razor.cs
T
Annamaria Sassi 6cb04fd803 Traduzioni
2026-08-14 16:07:43 +02:00

113 lines
3.3 KiB
C#

using Microsoft.AspNetCore.Components;
using WebWindowComplex.Models;
namespace WebWindowComplex.Compo
{
public partial class AreaFrame
{
#region Public Properties
/// <summary>
/// Frame corrente
/// </summary>
[CascadingParameter(Name = "CurrFrameWindow")]
public Frame CurrFrameWindow { get; set; } = null!;
/// <summary>
/// Lista sash
/// </summary>
[CascadingParameter(Name = "SashGroupList")]
public List<Sash> SashGroupList { get; set; } = null!;
/// <summary>
/// Lista split
/// </summary>
[CascadingParameter(Name = "SplitList")]
public List<Split> SplitList { get; set; } = null!;
/// <summary>
/// Vocabolario con traduzione lingua corrente
/// </summary>
[CascadingParameter(Name = "Vocabulary")]
public Dictionary<string, string> Vocabulary { get; set; } = null!;
[Parameter]
public EventCallback<bool> EC_AddSash { get; set; }
[Parameter]
public EventCallback<bool> EC_AddSplit { get; set; }
[Parameter]
public EventCallback<bool> EC_AddInglesina { get; set; }
/// <summary>
/// Evento per richiesta traduzione
/// </summary>
[Parameter]
public EventCallback<List<string>> EC_ReqTraduzione { get; set; }
#endregion Public Properties
#region Protected Properties
protected override async Task OnInitializedAsync()
{
AreaFDict = Vocabulary.Where(x => x.Key.Contains("CWAreaF_")).ToDictionary(x => x.Key, y => y.Value);
if (AreaFDict == null || AreaFDict.Count != 4)
{
List<string> tradList = new List<string>() { "CWAreaF_AreaFrame", "CWAreaF_AggSash", "CWAreaF_AggSplit", "CWAreaF_AggInglesina"};
await EC_ReqTraduzione.InvokeAsync(tradList);
}
}
#endregion Protected Properties
private Dictionary<string, string> AreaFDict = new();
#region Private Methods
/// <summary>
/// Sollevo evento richiesta aggiunta sash su frame
/// </summary>
/// <returns></returns>
private Task RaiseAddSash()
{
return EC_AddSash.InvokeAsync(true);
}
/// <summary>
/// Sollevo evento richiesta aggiunta split su frame
/// </summary>
/// <returns></returns>
private Task RaiseAddSplit()
{
return EC_AddSplit.InvokeAsync(true);
}
/// <summary>
/// Sollevo evento richiesta aggiunta inglesina su frame
/// </summary>
/// <returns></returns>
private Task RaiseAddInglesina()
{
return EC_AddInglesina.InvokeAsync(true);
}
/// <summary>
/// Metodo per traduzione in lingua corrente
/// </summary>
/// <param name="lemma"></param>
/// <returns></returns>
private string Traduci(string lemma)
{
string ans = lemma;
if (AreaFDict != null && AreaFDict.ContainsKey(lemma))
{
ans = AreaFDict.GetValueOrDefault(lemma) ?? "";
}
return ans;
}
#endregion Private Methods
}
}