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