Aggiunto arc element per Frame e Sash (da rivedere)
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
|
||||
<div class="col-sm-6 my-2">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<h6 class="fw-bold">Frame</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body py-2">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="d-flex justify-content-start fs-5 mb-2">
|
||||
<div class="px-1">
|
||||
<input class="form-check-input ml-auto" type="checkbox" name="NumTrochetti" checked="@insertQty" @onclick="() => IsCheckedQty()">
|
||||
</div>
|
||||
<div class="px-2">
|
||||
<div class="input-group mb-2">
|
||||
<span class="input-group-text">Qty element</span>
|
||||
@if (insertQty)
|
||||
{
|
||||
<input type="number" class="form-control" @bind="@ArcElementQty">
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="number" class="form-control" disabled>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex justify-content-start fs-5 mb-2">
|
||||
<div class="px-1">
|
||||
<input class="form-check-input ml-auto" type="checkbox" name="Estremità" checked="@CurrFrame.FrameArcElem.bCutEdge" @onclick="() => IsCheckCutEdge()">
|
||||
</div>
|
||||
<div class="px-2">
|
||||
<label class="form-check-label fs-6 text-dark">Taglio estremità</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="d-flex justify-content-start fs-5 mb-2">
|
||||
<div class="px-1">
|
||||
<input class="form-check-input ml-auto" type="checkbox" name="Sezione" checked="@(!insertQty)" @onclick="() => IsCheckedQty()">
|
||||
</div>
|
||||
<div class="px-2">
|
||||
<div class="input-group mb-2">
|
||||
<span class="input-group-text">Section</span>
|
||||
@if (!insertQty)
|
||||
{
|
||||
<input type="number" class="form-control" @bind="@ArcSection">
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="number" class="form-control" disabled>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex justify-content-start fs-5 mb-2">
|
||||
<div class="px-1">
|
||||
<input class="form-check-input ml-auto" type="checkbox" name="Allineamento" checked="@CurrFrame.FrameArcElem.bIsAlign" @onclick="() => IsCheckAlign()">
|
||||
</div>
|
||||
<div class="px-2">
|
||||
<label class="form-check-label fs-6 text-dark">Allineamento</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,81 @@
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Runtime.CompilerServices;
|
||||
using WebWindowComplex.DTO;
|
||||
using WebWindowComplex.Models;
|
||||
|
||||
namespace WebWindowComplex.Compo
|
||||
{
|
||||
public partial class AreaFrameArcElem
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
[Parameter]
|
||||
public Frame CurrFrame { get; set; } = null!;
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<Frame> EC_UpdatePreview { get; set; }
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
protected int ArcElementQty
|
||||
{
|
||||
get => CurrFrame.FrameArcElem.nQty;
|
||||
set
|
||||
{
|
||||
CurrFrame.FrameArcElem.nQty = value;
|
||||
_ = EC_UpdatePreview.InvokeAsync(CurrFrame);
|
||||
}
|
||||
}
|
||||
|
||||
protected double ArcSection
|
||||
{
|
||||
get => CurrFrame.FrameArcElem.nSection;
|
||||
set
|
||||
{
|
||||
CurrFrame.FrameArcElem.nSection = value;
|
||||
_ = EC_UpdatePreview.InvokeAsync(CurrFrame);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Protected Properties
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected void IsCheckedQty()
|
||||
{
|
||||
insertQty = !insertQty;
|
||||
}
|
||||
|
||||
protected void IsCheckCutEdge()
|
||||
{
|
||||
CurrFrame.FrameArcElem.bCutEdge = !CurrFrame.FrameArcElem.bCutEdge;
|
||||
_ = EC_UpdatePreview.InvokeAsync(CurrFrame);
|
||||
}
|
||||
|
||||
protected void IsCheckAlign()
|
||||
{
|
||||
CurrFrame.FrameArcElem.bIsAlign = !CurrFrame.FrameArcElem.bIsAlign;
|
||||
_ = EC_UpdatePreview.InvokeAsync(CurrFrame);
|
||||
}
|
||||
|
||||
protected string IsUsedQty()
|
||||
{
|
||||
if (insertQty)
|
||||
return "form-control";
|
||||
else
|
||||
return "form-control disabled";
|
||||
}
|
||||
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private bool insertQty = false;
|
||||
|
||||
#endregion Private Fields
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,26 +4,29 @@
|
||||
<div class="col-sm-6 my-2">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<h6 class="fw-bold">Sash @(CurrSashGroup.SashList.Count == 1 ? "" : (IndexSash + 1))</h6>
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-outline-secondary dropdown-toggle btn-sm" type="button" @onclick="ToggleDropdown">
|
||||
Copy content
|
||||
</button>
|
||||
<ul class="dropdown-menu @(isOpen ? "show" : "")" style="min-width:5rem; max-width:10rem">
|
||||
@for (int k = 0; k <= CurrSashGroup.SashList.Count - 1; k++)
|
||||
{
|
||||
@if (k != IndexSash)
|
||||
@if(CurrSashGroup.SashList.Count > 1)
|
||||
{
|
||||
<div class="dropdown">
|
||||
<button class="btn btn-outline-secondary dropdown-toggle btn-sm" type="button" @onclick="ToggleDropdown">
|
||||
Copy content
|
||||
</button>
|
||||
<ul class="dropdown-menu @(isOpen ? "show" : "")" style="min-width:5rem; max-width:10rem">
|
||||
@for (int k = 0; k <= CurrSashGroup.SashList.Count - 1; k++)
|
||||
{
|
||||
int IndexCopy = k;
|
||||
int IndexModify = IndexSash;
|
||||
<li>
|
||||
<button class="dropdown-item" @onclick="() => CopyContentSash(IndexCopy, IndexModify)">
|
||||
Sash @(k + 1)
|
||||
</button>
|
||||
</li>
|
||||
@if (k != IndexSash)
|
||||
{
|
||||
int IndexCopy = k;
|
||||
int IndexModify = IndexSash;
|
||||
<li>
|
||||
<button class="dropdown-item" @onclick="() => CopyContentSash(IndexCopy, IndexModify)">
|
||||
Sash @(k + 1)
|
||||
</button>
|
||||
</li>
|
||||
}
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
</ul>
|
||||
</div>
|
||||
}
|
||||
<button class="btn btn-primary btn-sm" type="button" @onclick="() => doEdit(IndexSash)">Edit</button>
|
||||
</div>
|
||||
<div class="input-group mb-2 mt-2">
|
||||
|
||||
@@ -84,7 +84,7 @@ namespace WebWindowComplex.Compo
|
||||
{
|
||||
switch (CurrSashDim.MeasureType)
|
||||
{
|
||||
case Json.WindowConst.MeasureTypes.ABSOLUT:
|
||||
case Json.WindowConst.MeasureTypes.ABSOLUTE:
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
|
||||
<div class="col-sm-6 my-2">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<h6 class="fw-bold">Sash</h6>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body py-2">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="d-flex justify-content-start fs-5 mb-2">
|
||||
<div class="px-1">
|
||||
<input class="form-check-input ml-auto" type="checkbox" name="NumTrochetti" checked="@insertQty" @onclick="() => IsCheckedQty()">
|
||||
</div>
|
||||
<div class="px-2">
|
||||
<div class="input-group mb-2">
|
||||
<span class="input-group-text">Qty element</span>
|
||||
@if (insertQty)
|
||||
{
|
||||
<input type="number" class="form-control" @bind="@ArcElementQty">
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="number" class="form-control" disabled>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex justify-content-start fs-5 mb-2">
|
||||
<div class="px-1">
|
||||
<input class="form-check-input ml-auto" type="checkbox" name="Estremità" checked="@CurrSashGroup.SashArcElem.bCutEdge" @onclick="() => IsCheckCutEdge()">
|
||||
</div>
|
||||
<div class="px-2">
|
||||
<label class="form-check-label fs-6 text-dark">Taglio estremità</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="d-flex justify-content-start fs-5 mb-2">
|
||||
<div class="px-1">
|
||||
<input class="form-check-input ml-auto" type="checkbox" name="Sezione" checked="@(!insertQty)" @onclick="() => IsCheckedQty()">
|
||||
</div>
|
||||
<div class="px-2">
|
||||
<div class="input-group mb-2">
|
||||
<span class="input-group-text">Section</span>
|
||||
@if (!insertQty)
|
||||
{
|
||||
<input type="number" class="form-control" @bind="@ArcSection">
|
||||
}
|
||||
else
|
||||
{
|
||||
<input type="number" class="form-control" disabled>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,75 @@
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using System.Runtime.CompilerServices;
|
||||
using WebWindowComplex.DTO;
|
||||
using WebWindowComplex.Models;
|
||||
|
||||
namespace WebWindowComplex.Compo
|
||||
{
|
||||
public partial class AreaSashArcElem
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
[Parameter]
|
||||
public Sash CurrSashGroup { get; set; } = null!;
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<Sash> EC_UpdatePreview { get; set; }
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Protected Properties
|
||||
|
||||
protected int ArcElementQty
|
||||
{
|
||||
get => CurrSashGroup.SashArcElem.nQty;
|
||||
set
|
||||
{
|
||||
CurrSashGroup.SashArcElem.nQty = value;
|
||||
_ = EC_UpdatePreview.InvokeAsync(CurrSashGroup);
|
||||
}
|
||||
}
|
||||
|
||||
protected double ArcSection
|
||||
{
|
||||
get => CurrSashGroup.SashArcElem.nSection;
|
||||
set
|
||||
{
|
||||
CurrSashGroup.SashArcElem.nSection = value;
|
||||
_ = EC_UpdatePreview.InvokeAsync(CurrSashGroup);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Protected Properties
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected void IsCheckedQty()
|
||||
{
|
||||
insertQty = !insertQty;
|
||||
}
|
||||
|
||||
protected void IsCheckCutEdge()
|
||||
{
|
||||
CurrSashGroup.SashArcElem.bCutEdge = !CurrSashGroup.SashArcElem.bCutEdge;
|
||||
_ = EC_UpdatePreview.InvokeAsync(CurrSashGroup);
|
||||
}
|
||||
|
||||
protected string IsUsedQty()
|
||||
{
|
||||
if (insertQty)
|
||||
return "form-control";
|
||||
else
|
||||
return "form-control disabled";
|
||||
}
|
||||
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private bool insertQty = false;
|
||||
|
||||
#endregion Private Fields
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<div class="card shadow-sm rounded">
|
||||
<div class="card-header bg-light bg-opacity-25">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div class="px-2">
|
||||
<h5>Arc Element</h5>
|
||||
</div>
|
||||
<div class="px-2">
|
||||
<button class="btn btn-close" @onclick="ReqClose"></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body py-2">
|
||||
<div class="row">
|
||||
<AreaFrameArcElem CurrFrame="CurrFrame"
|
||||
EC_UpdatePreview ="UpdatePreview">
|
||||
</AreaFrameArcElem>
|
||||
|
||||
@foreach (var sashGroup in SashList)
|
||||
{
|
||||
<hr />
|
||||
<AreaSashArcElem CurrSashGroup="sashGroup"
|
||||
EC_UpdatePreview="UpdatePreviewSash">
|
||||
</AreaSashArcElem>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,60 @@
|
||||
using Microsoft.AspNetCore.Components;
|
||||
using WebWindowComplex.DTO;
|
||||
using WebWindowComplex.Models;
|
||||
|
||||
namespace WebWindowComplex.Compo
|
||||
{
|
||||
public partial class CardArcElement
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
/// <summary>
|
||||
/// Finestra corrente
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public Frame CurrFrame { get; set; } = null!;
|
||||
|
||||
/// <summary>
|
||||
/// Lista sash group
|
||||
/// </summary>
|
||||
[Parameter]
|
||||
public List<Sash> SashList { get; set; } = null!;
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<DataUpdateFrame> EC_UpdatePreview { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<bool> EC_ReqClose { get; set; }
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
private async Task UpdatePreview()
|
||||
{
|
||||
var args = new DataUpdateFrame
|
||||
{
|
||||
currFrame = CurrFrame
|
||||
};
|
||||
await EC_UpdatePreview.InvokeAsync(args);
|
||||
}
|
||||
|
||||
private async Task UpdatePreviewSash(Sash CurrSashGRoup)
|
||||
{
|
||||
var currRec = SashList.First(x => x.GroupId == CurrSashGRoup.GroupId);
|
||||
if (currRec != null)
|
||||
{
|
||||
currRec = CurrSashGRoup;
|
||||
var args = new DataUpdateFrame
|
||||
{
|
||||
currFrame = CurrFrame
|
||||
};
|
||||
await EC_UpdatePreview.InvokeAsync(args);
|
||||
}
|
||||
}
|
||||
|
||||
private void ReqClose()
|
||||
{
|
||||
_ = EC_ReqClose.InvokeAsync(true);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -110,7 +110,7 @@
|
||||
</button>
|
||||
<ul class="dropdown-menu @(isOpen ? "show" : "")" style="min-width:5rem; max-width:10rem">
|
||||
<li>
|
||||
<button class="dropdown-item" @onclick="() => SetMeasureType(MeasureTypes.ABSOLUT)">
|
||||
<button class="dropdown-item" @onclick="() => SetMeasureType(MeasureTypes.ABSOLUTE)">
|
||||
Absolute
|
||||
</button>
|
||||
</li>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
</button>
|
||||
<ul class="dropdown-menu @(isOpen ? "show" : "")" style="min-width:5rem; max-width:10rem">
|
||||
<li>
|
||||
<button class="dropdown-item" @onclick="() => SetMeasureType(MeasureTypes.ABSOLUT)">
|
||||
<button class="dropdown-item" @onclick="() => SetMeasureType(MeasureTypes.ABSOLUTE)">
|
||||
Absolute
|
||||
</button>
|
||||
</li>
|
||||
|
||||
Reference in New Issue
Block a user