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 } }