Files
webwindowconfigurator/WebWindowComplex/Compo/CardSashGroup.razor
T
2025-10-27 16:32:07 +01:00

164 lines
7.3 KiB
Plaintext

@using static WebWindowComplex.Json.WindowConst
<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>Sash group @(SashList.Count > 1 ? (CurrIndex + 1) : "")</h5>
</div>
<div class="px-2">
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => RemoveArea(CurrItem)">Remove sash group</button>
</div>
</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-sm-6">
<div class="input-group mb-2">
<span class="input-group-text">Qty sash</span>
<input type="number" class="form-control" @bind="@CurrItem.nSashQty">
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="input-group mb-2">
<label class="input-group-text">Tipology</label>
<select class="form-select" @bind="@CurrItem.SelOrientationSashTypeIndex">
<option value="0">Vertical</option>
<option value="1">Horizontal</option>
</select>
</div>
</div>
<div class="col-sm-6">
<div class="input-group mb-2">
<span class="input-group-text">Qty bottom rail</span>
<input type="number" class="form-control" @bind="@CurrItem.SashBottomRailQty">
</div>
</div>
</div>
<hr />
<div class="row">
<div class="col-sm-6">
<div class="row justify-content-between align-items-center">
<div class="col d-flex justify-content-start align-items-center">
<h6 class="fw-bold">Joints</h6>
</div>
<div class="col d-flex">
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => ChangeAllJoints(WebWindowComplex.Json.WindowConst.Joints.ANGLED, CurrItem)">Angled</button>
</div>
</div>
<div class="col d-flex">
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => ChangeAllJoints(WebWindowComplex.Json.WindowConst.Joints.FULL_H, CurrItem)">Horizontal</button>
</div>
</div>
<div class="col d-flex">
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => ChangeAllJoints(WebWindowComplex.Json.WindowConst.Joints.FULL_V, CurrItem)">Vertical</button>
</div>
</div>
</div>
@foreach (Joint joint in CurrItem.JointList)
{
<EditJoint CurrRec="joint" EC_Update="UpdateJoint"></EditJoint>
}
</div>
<div class="col-sm-6">
<div class="row">
<div class="col d-flex justify-content-start align-items-center">
<h6 class="fw-bold">Hardware</h6>
</div>
</div>
<div class="input-group mb-2">
<label class="input-group-text">Family</label>
<select class="form-select" @bind="@CurrItem.SelFamilyHardware">
@if (Sash.s_FamilyHardwareList == null || Sash.s_FamilyHardwareList.Count == 0)
{
<option value="000000">CUSTOM</option>
}
else
{
@foreach (var familyHw in Sash.s_FamilyHardwareList)
{
<option value="@familyHw">@familyHw</option>
}
}
</select>
</div>
@if (string.IsNullOrEmpty(CurrItem.SashShape))
{
<div class="input-group mb-2">
<label class="input-group-text">Type</label>
<select class="form-select">
<option value="000000">Custom HW</option>
</select>
</div>
}
else
{
<div class="input-group mb-2">
<label class="input-group-text">Type</label>
<select class="form-select"@bind="SelHwType">
<option value="000000">Custom HW</option>
@foreach (var hlItem in CurrItem.HardwareList)
{
<option value="@hlItem.Id">@hlItem.Description</option>
}
</select>
</div>
}
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="row">
<div class="col d-flex justify-content-start align-items-center">
<h6 class="fw-bold">Hardware option</h6>
</div>
</div>
@if (CurrItem.HwOptionList.Count > 0)
{
@foreach (var currOpt in CurrItem.HwOptionList)
{
switch (currOpt.Type)
{
case HwOptionTypes.COMBO:
{
AGBOptionCombo currOptCombo = (AGBOptionCombo)currOpt;
<EditOptionCombo CurrOpt="currOptCombo" EC_Update="UpdateOptCombo"></EditOptionCombo>
break;
}
case HwOptionTypes.TEXT:
{
AGBOptionText currOptText = (AGBOptionText)currOpt;
<EditOptionText CurrOpt="currOptText" EC_Update="UpdateOptText"></EditOptionText>
break;
}
}
}
}
</div>
</div>
</div>
</div>
<div class="card shadow-sm rounded mb-4">
<div class="card-body py-2">
<div class="row">
@for (int i = 0; i < CurrItem.SashList.Count; i++)
{
<AreaSash CurrSashDim="CurrItem.SashList[i]" CurrSashGroup="CurrItem" IndexSash="i" EC_ChangeHandle="ChangeHandle" EC_CopyContentSash="CopyContentSash"></AreaSash>
}
</div>
</div>
</div>