Files
2026-04-23 16:48:37 +02:00

75 lines
2.1 KiB
C#

using Egw.Window.Data;
using Microsoft.AspNetCore.Components;
using WebWindowComplex.Models;
namespace WebWindowComplex.Compo
{
public partial class AreaSplit
{
#region Public Properties
/// <summary>
/// Lista delle sash
/// </summary>
[Parameter]
public List<Sash> SashGroupList { get; set; } = null!;
/// <summary>
/// Oggetto splitted corrente
/// </summary>
[Parameter]
public Splitted CurrSplitted { get; set; } = null!;
/// <summary>
/// Lista degli Splitted
/// </summary>
[Parameter]
public List<Splitted> SplittedList { get; set; } = null!;
/// <summary>
/// Evento per aggiungere Sash
/// </summary>
[Parameter]
public EventCallback<Splitted> EC_UpdateSplitted { get; set; }
#endregion Public Properties
#region Private Methods
/// <summary>
/// Metodo per copiare sash
/// </summary>
/// <param name="indexCurrSash"> Indice della finestra che si vuole copiare</param>
/// <returns></returns>
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);
}
/// <summary>
/// Metodo per aggiungere prima sash
/// </summary>
/// <returns></returns>
private Task RaiseAddSash()
{
CurrSplitted.AddFirstSash();
return EC_UpdateSplitted.InvokeAsync(CurrSplitted);
}
/// <summary>
/// Metodo per aggiungere prima sash
/// </summary>
/// <returns></returns>
private Task RaiseAddInglesina()
{
CurrSplitted.AddInglesina();
return EC_UpdateSplitted.InvokeAsync(CurrSplitted);
}
#endregion Private Methods
}
}