113 lines
3.3 KiB
C#
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
|
|
}
|
|
} |