Files
webwindowconfigurator/WebWindowComplex/Compo/CardFrame.razor
T
2026-08-12 15:07:12 +02:00

182 lines
8.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>@Traduci("ConfWind_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">@Traduci("ConfWind_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>
}
</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">@Traduci("ConfWind_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">@Traduci("ConfWind_Threshold")</h6>
</div>
<div class="input-group mb-2">
@if (User)
{
<span class="input-group-text">@Traduci("ConfWind_Tipology")</span>
<input type="text" readonly class="form-control" value="@(CurrFrameWindow.ThresholdList.FirstOrDefault(x => x.Type == SelThreshold)?.Name)">
}
else
{
<label class="input-group-text">@Traduci("ConfWind_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">@Traduci("ConfWind_BottomRail")</h6>
</div>
<div class="input-group mb-2">
<span class="input-group-text">@Traduci("ConfWind_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">@Traduci("ConfWind_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="Full H" 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="Full V" 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--)
{
<div class="col-6">
<EditJoint CurrRec="CurrFrameWindow.JointList.ElementAt(i)" EC_Update="UpdateJoint"></EditJoint>
</div>
}
@* Joint bottom left e joint bottom right *@
<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>
</div>
</div>
<div class="col-md-12 col-lg-6">
<div class="row justify-content-between align-items-center mb-4" style="min-height: 2.5rem;">
<div class="col d-flex justify-content-start align-items-center">
<h6 class="fw-bold">@Traduci("ConfWind_Element")</h6>
</div>
</div>
<div class="row g-3">
@foreach (var element in CurrFrameWindow.ElementDimensionList)
{
if ((CurrFrameWindow.ElementDimensionList.Count == 5 && element.nIndex == 4) ||
(CurrFrameWindow.ElementDimensionList.Count == 6 &&
(element.nIndex == 4 || element.nIndex == 5)))
{
continue;
}
else
{
<div class="col-6">
<EditElement CurrRec="element" EC_Update="UpdateElement"></EditElement>
</div>
}
}
</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>
}
}