using Microsoft.AspNetCore.Components;
using WebWindowComplex.Models;
namespace WebWindowComplex.Compo
{
public partial class AreaFrame
{
#region Public Properties
///
/// Frame corrente
///
[CascadingParameter(Name = "CurrFrameWindow")]
public Frame CurrFrameWindow { get; set; } = null!;
///
/// Lista sash
///
[CascadingParameter(Name = "SashGroupList")]
public List SashGroupList { get; set; } = null!;
///
/// Lista split
///
[CascadingParameter(Name = "SplitList")]
public List SplitList { get; set; } = null!;
///
/// Evento per richiesta traduzioni
///
[CascadingParameter(Name = "Vocabulary")]
public Dictionary Vocabulary { get; set; } = null!;
[Parameter]
public EventCallback EC_AddSash { get; set; }
[Parameter]
public EventCallback EC_AddSplit { get; set; }
[Parameter]
public EventCallback EC_AddInglesina { get; set; }
///
/// Evento per richiesta traduzione
///
[Parameter]
public EventCallback> 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 tradList = new List() { "CWAreaF_AreaFrame", "CWAreaF_AggSash", "CWAreaF_AggSplit", "CWAreaF_AggInglesina"};
await EC_ReqTraduzione.InvokeAsync(tradList);
}
}
#endregion Protected Properties
private Dictionary AreaFDict = new();
#region Private Methods
///
/// Sollevo evento richiesta aggiunta sash su frame
///
///
private Task RaiseAddSash()
{
return EC_AddSash.InvokeAsync(true);
}
///
/// Sollevo evento richiesta aggiunta split su frame
///
///
private Task RaiseAddSplit()
{
return EC_AddSplit.InvokeAsync(true);
}
///
/// Sollevo evento richiesta aggiunta inglesina su frame
///
///
private Task RaiseAddInglesina()
{
return EC_AddInglesina.InvokeAsync(true);
}
///
/// Metodo per traduzione in lingua corrente
///
///
///
private string Traduci(string lemma)
{
string ans = lemma;
if (AreaFDict != null && AreaFDict.ContainsKey(lemma))
{
ans = AreaFDict.GetValueOrDefault(lemma) ?? "";
}
return ans;
}
#endregion Private Methods
}
}