Files
webwindowconfigurator/WebWindowComplex/Compo/CardFrame.razor
T
2026-08-11 17:03:38 +02:00

201 lines
9.9 KiB
Plaintext

@using static WebWindowComplex.LayoutConst
<div class="card shadow-sm rounded mb-4">
<div class="card-header bg-light bg-opacity-25">
<div class="d-flex justify-content-between align-items-center">
<div class="px-2">
<h5>Frame</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">
<div class="col-md-12 col-lg-12">
@if (User)
{
<div class="input-group mt-2">
<span class="input-group-text">Shape</span>
<input type="text" readonly class="form-control" value="@(CurrFrameWindow.ShapeList.ElementAt(SelShapeIndex - 1))">
</div>
}
else
{
<div class="d-flex justify-content-start align-items-center" style="min-height: 2.5rem;">
<h6 class="fw-bold">Shape</h6>
</div>
<div class="row">
@foreach (var i in CurrFrameWindow.ShapeList)
{
<div class="col-auto">
<button type="button" class="btn-icone @ButtonShapeCss(i.Id) mx-1 px-1 py-1" @onclick="() => SelShapeFrame(i.Id)">
<img class="img-fluid" src="@GetImageFrameShapePath(i.Name)" title="@(i.Name)" width="40" />
</button>
</div>
@* <div class="col-auto">
<button type="button" @onclick="() => SelShapeFrame(i.Id)"
class="btn btn-light mx-1 px-1 py-1"
style="border-width: @(SelShapeIndex == i.Id ? 4 : 1)px;
border-style: solid;
border-color: @(SelShapeIndex == i.Id ? "#0d6efd" : "#dee2e6");">
<img class="img-fluid" src="@GetImageShapePath(i.Name)" title="@(i.Name)" width="40" />
</button>
</div> *@
}
</div>
}
</div>
</div>
<hr />
<div class="row">
<div class="col-md-12 col-lg-12">
<div class="d-flex justify-content-start align-items-center" style="min-height: 2.5rem;">
<h6 class="fw-bold">Dimension</h6>
</div>
<div class="row">
@foreach (FrameDimension dimension in CurrFrameWindow.DimensionList)
{
<div class="@EditDimensionCss()">
<EditFrameDimensions CurrRec="dimension" EC_Update="UpdateDim"></EditFrameDimensions>
</div>
}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 col-lg-6">
<div class="d-flex justify-content-start align-items-center" style="min-height: 2.5rem;">
<h6 class="fw-bold">Threshold</h6>
</div>
<div class="input-group mb-2">
@if (User)
{
<span class="input-group-text">Tipology</span>
<input type="text" readonly class="form-control" value="@(CurrFrameWindow.ThresholdList.FirstOrDefault(x => x.Type == SelThreshold)?.Name)">
}
else
{
<label class="input-group-text">Tipology</label>
<select class="form-select" @bind="SelThreshold">
@foreach (var item in CurrFrameWindow.ThresholdList)
{
<option value="@(item.Type)">@(item.Name)</option>
}
</select>
}
</div>
</div>
<div class="col-md-12 col-lg-6">
@if (SashNotInBottom())
{
<div class="d-flex justify-content-start align-items-center" style="min-height: 2.5rem;">
<h6 class="fw-bold">Bottom rail</h6>
</div>
<div class="input-group mb-2">
<span class="input-group-text">Quantity</span>
@if (User)
{
<input type="number" readonly class="form-control" value="@FrameBottomRailQty">
}
else
{
@if (CurrFrameWindow.BottomRailQty > 0)
{
<BottomRail CurrArea="CurrFrameWindow" EC_UpdateBottomRail="UpdateFrame"></BottomRail>
}
<input type="number" class="form-control" @bind="@FrameBottomRailQty">
}
</div>
}
</div>
</div>
<hr />
<div class="row">
<div class="col-md-12 col-lg-6">
<div class="row justify-content-between align-items-center pb-2" style="min-height: 2.5rem;">
<div class="col-md-4 d-flex justify-content-start align-items-center">
<h6 class="fw-bold">Joints</h6>
</div>
@if (!User)
{
<div class="col-md-8 d-flex justify-content-end align-items-center">
<button type="button" class="btn-icone @ButtonJointCss(Json.WindowConst.Joints.ANGLED) mx-1 px-1 py-1" @onclick="() => ChangeAllJoints(WebWindowComplex.Json.WindowConst.Joints.ANGLED)">
<img class="img-fluid" src="@GetImageJointShapePath("Angled")" title="Angled" width="40" />
</button>
<button type="button" class="btn-icone @ButtonJointCss(Json.WindowConst.Joints.FULL_H) mx-1 px-1 py-1" @onclick="() => ChangeAllJoints(WebWindowComplex.Json.WindowConst.Joints.FULL_H)">
<img class="img-fluid" src="@GetImageJointShapePath("Full H")" title="Angled" width="40" />
</button>
<button type="button" class="btn-icone @ButtonJointCss(Json.WindowConst.Joints.FULL_V) mx-1 px-1 py-1" @onclick="() => ChangeAllJoints(WebWindowComplex.Json.WindowConst.Joints.FULL_V)">
<img class="img-fluid" src="@GetImageJointShapePath("Full V")" title="Angled" width="40" />
</button>
</div>
}
</div>
<div class="row g-3">
@* Joint top left e joint top right *@
@for (int i = CurrFrameWindow.JointList.Count - 1; i >= 2; i--)
{
@if (CurrFrameWindow.JointList.Count <= 4)
{
<div class="col-6">
<EditJoint CurrRec="CurrFrameWindow.JointList.ElementAt(i)" EC_Update="UpdateJoint"></EditJoint>
</div>
}
else if (CurrFrameWindow.JointList.Count > 4)
{
<div class="col-4">
<EditJoint CurrRec="CurrFrameWindow.JointList.ElementAt(i)" EC_Update="UpdateJoint"></EditJoint>
</div>
}
}
@* Joint bottom left e joint bottom right *@
@if (CurrFrameWindow.JointList.Count <= 4)
{
<div class="col-6">
<EditJoint CurrRec="CurrFrameWindow.JointList.ElementAt(0)" EC_Update="UpdateJoint"></EditJoint>
</div>
<div class="col-6">
<EditJoint CurrRec="CurrFrameWindow.JointList.ElementAt(1)" EC_Update="UpdateJoint"></EditJoint>
</div>
}
else if (CurrFrameWindow.JointList.Count > 4)
{
<div class="col-4">
<EditJoint CurrRec="CurrFrameWindow.JointList.ElementAt(0)" EC_Update="UpdateJoint"></EditJoint>
</div>
<div class="col-4">
<EditJoint CurrRec="CurrFrameWindow.JointList.ElementAt(1)" EC_Update="UpdateJoint"></EditJoint>
</div>
}
</div>
</div>
<div class="col-md-12 col-lg-6">
<div class="row justify-content-between align-items-center" style="min-height: 2.5rem;">
<div class="col d-flex justify-content-start align-items-center">
<h6 class="fw-bold">Element</h6>
</div>
</div>
<div class="row">
@foreach (var element in CurrFrameWindow.ElementDimensionList)
{
<EditElement CurrRec="element" EC_Update="UpdateElement"></EditElement>
}
</div>
</div>
</div>
</div>
</div>
@if (!User)
{
@if (!(CurrFrameWindow.AreaList[0] is Split) || (SashGroupList.Count == 0 && SplitList.Count == 0))
{
<AreaFrame EC_AddSash="AddSash"
EC_AddSplit="AddSplit"
EC_AddInglesina="AddInglesina">
</AreaFrame>
}
}