Files
webwindowconfigurator/WebWindowComplex/Compo/CardSashGroup.razor.cs
T
Annamaria Sassi 0d8effa120 - Aggiunto componenti CardSashGroup e CardSplit
- Aggiornato visualizzazione componenti
2025-10-14 12:15:25 +02:00

131 lines
3.8 KiB
C#

using Microsoft.AspNetCore.Components;
using WebWindowComplex.Models;
namespace WebWindowComplex.Compo
{
public partial class CardSashGroup
{
/// <summary>
/// Indice della sash corrente rispetto alla lista sash
/// </summary>
[Parameter]
public int CurrIndex { get; set; } = 0;
/// <summary>
/// Sash corrente rispetto alla lista Sash
/// </summary>
[Parameter]
public Sash CurrItem { get; set; } = null!;
/// <summary>
/// Lista di sash
/// </summary>
[Parameter]
public List<Sash> SashList { get; set; } = null!;
/// <summary>
/// Evento per cambiare tutti i fill
/// </summary>
[Parameter]
public EventCallback<Area> EC_RemoveArea { get; set; }
/// <summary>
/// Evento per cambiare tutti i Joints
/// </summary>
[Parameter]
public EventCallback<DataChangeJoints> EC_ChangeAllJoints { get; set; }
/// <summary>
/// Evento per cambiare l'anta su cui è presente la maniglia
/// </summary>
[Parameter]
public EventCallback<DataChangeHandle> EC_ChangeHandle { get; set; }
/// <summary>
/// Evento per cambiare l'anta su cui è presente la maniglia
/// </summary>
[Parameter]
public EventCallback<DataCopyContentSash> EC_CopyContentSash { get; set; }
/// <summary>
/// Evento per cambiare tutti i Joints
/// </summary>
[Parameter]
public EventCallback<Sash> EC_UpdateSash { get; set; }
/// <summary>
/// Evento per tornare nella pagine Tree
/// </summary>
[Parameter]
public EventCallback<bool> EC_ReqClose { get; set; }
/// <summary>
/// Sollevo evento per rimuovere area
/// </summary>
/// <param name="currArea"> area da rimuovere </param>
/// <returns></returns>
protected async Task RemoveArea(Area currArea)
{
await EC_RemoveArea.InvokeAsync(currArea);
}
/// <summary>
/// Sollevo evento richiesta per cambiare tutti i Joint
/// </summary>
/// <returns></returns>
private async Task ChangeAllJoints(Json.WindowConst.Joints JointType, Area a)
{
var Args = new DataChangeJoints
{
currJointType = JointType,
currArea = a,
};
await EC_ChangeAllJoints.InvokeAsync(Args);
}
/// <summary>
/// Sollevo evento per cambiare l'anta su cui è presente la maniglia
/// </summary>
/// <returns></returns>
private async Task ChangeHandle(DataChangeHandle Args)
{
await EC_ChangeHandle.InvokeAsync(Args);
}
/// <summary>
/// Sollevo evento per cambiare l'anta su cui è presente la maniglia
/// </summary>
/// <returns></returns>
private async Task CopyContentSash(DataCopyContentSash Args)
{
await EC_CopyContentSash.InvokeAsync(Args);
}
/// <summary>
/// Report aggiornamento joint
/// </summary>
/// <param name="updRec"></param>
/// <returns></returns>
private async Task UpdateJoint(Joint updRec)
{
// cerco il record
var currRec = CurrItem.JointList.FirstOrDefault(x => x.ParentArea == updRec.ParentArea && x.nIndex == updRec.nIndex);
// lo aggiorno
if (updRec != null)
{
currRec = updRec;
await EC_UpdateSash.InvokeAsync(CurrItem);
}
}
/// <summary>
/// Sollevo evento per tornare alla pagina Tree
/// </summary>
private void ReqClose()
{
_ = EC_ReqClose.InvokeAsync(true);
}
}
}