using Egw.Window.Data; using Microsoft.AspNetCore.Components; using WebWindowComplex.Models; namespace WebWindowComplex.Compo { public partial class AreaSplit { #region Public Properties /// /// Lista delle sash /// [Parameter] public List SashGroupList { get; set; } = null!; /// /// Oggetto splitted corrente /// [Parameter] public Splitted CurrSplitted { get; set; } = null!; /// /// Lista degli Splitted /// [Parameter] public List SplittedList { get; set; } = null!; /// /// Vocabolario con traduzione lingua corrente /// [Parameter] public Dictionary Vocabulary { get; set; } = null!; /// /// Evento per aggiungere Sash /// [Parameter] public EventCallback EC_UpdateSplitted { get; set; } #endregion Public Properties #region Protected Methods protected override void OnParametersSet() { AreaSpDict = Vocabulary.Where(x => x.Key.Contains("CWAreaSp_")).ToDictionary(x => x.Key, y => y.Value); } #endregion Protected Methods #region Private Fields private bool isOpen = false; private Dictionary AreaSpDict = new(); #endregion Private Fields #region Private Methods /// /// Metodo per copiare sash /// /// Indice della finestra che si vuole copiare /// private Task RaiseCopySash(int indexCurrSash) { CurrSplitted.AreaList.RemoveAll(i => i != null); Area a = SashGroupList[indexCurrSash].Copy(CurrSplitted); a.SetParentArea(CurrSplitted); CurrSplitted.AreaList.Add(a); return EC_UpdateSplitted.InvokeAsync(CurrSplitted); } /// /// Metodo per aggiungere prima sash /// /// private Task RaiseAddSash() { CurrSplitted.AddFirstSash(); return EC_UpdateSplitted.InvokeAsync(CurrSplitted); } /// /// Metodo per aggiungere prima sash /// /// private Task RaiseAddInglesina() { CurrSplitted.AddInglesina(); return EC_UpdateSplitted.InvokeAsync(CurrSplitted); } /// /// Metodo per traduzione in lingua corrente /// /// /// private string Traduci(string lemma) { string ans = lemma; if (AreaSpDict != null && AreaSpDict.ContainsKey(lemma)) { ans = AreaSpDict.GetValueOrDefault(lemma) ?? ""; } return ans; } private void ToggleDropdown() { isOpen = !isOpen; } #endregion Private Methods } }