Files
webwindowconfigurator/WebWindowComplex/Compo/CardSashGroup.razor
T
Annamaria Sassi 3d092b53fb - Modificata gestione elementi split (su dimensione secondaria si specifica solo una larghezza per split)
- Aggiunta gestione profili bottom rail per sash e frame
- Iniziato a gestire dimensione solo luce per sash
2026-02-06 17:48:03 +01:00

208 lines
9.1 KiB
Plaintext

@using WebWindowComplex.Models
@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 ? (SashList.IndexOf(CurrSashGroup) + 1) : "")</h5>
</div>
@if (!User)
{
<div class="px-2">
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => RemoveArea()">Remove sash group</button>
</div>
</div>
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" checked="@CurrSashGroup.bIsDimensionLight" @onclick="() => ChangeTypeDimension()">
<label class="form-check-label" for="switchCheckDefault">Solo luce</label>
</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-6">
<div class="input-group mb-2">
<span class="input-group-text">Qty sash</span>
@if (User)
{
<input type="number" readonly class="form-control" value="@SashQty">
}
else
{
<input type="number" class="form-control" @bind="@SashQty">
}
</div>
</div>
</div>
<div class="row">
<div class="col-md-12 col-lg-6">
<div class="input-group mb-2">
@if(User)
{
<span class="input-group-text">Tipology</span>
<input type="text" readonly class="form-control" value="@(CurrSashGroup.OrientationSashTypeList.FirstOrDefault(x => x.Id == OrientationSashTypeIndex).Name)">
}
else
{
<label class="input-group-text">Tipology</label>
<select class="form-select" @bind="@OrientationSashTypeIndex">
@foreach (var orientationSash in CurrSashGroup.OrientationSashTypeList)
{
<option value="@(orientationSash.Id)">@(orientationSash.Name)</option>
}
</select>
}
</div>
</div>
<div class="col-md-12 col-lg-6">
<div class="input-group mb-2">
<span class="input-group-text">Qty bottom rail</span>
@if (User)
{
<input type="number" readonly class="form-control" value="@SashBottomRailQty">
}
else
{
@if (CurrSashGroup.SashBottomRailQty > 0)
{
<BottomRail CurrArea="CurrSashGroup" EC_UpdateBottomRail="UpdateBottomRail"></BottomRail>
}
<input type="number" class="form-control" @bind="@SashBottomRailQty">
}
</div>
</div>
</div>
<hr />
<div class="row">
<div class="col-md-12 col-lg-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">Hardware</h6>
</div>
</div>
@if (User)
{
<div class="input-group mb-2">
<span class="input-group-text">Family</span>
<input type="text" readonly class="form-control" value="@FamilyHardware">
</div>
<div class="input-group mb-2">
<span class="input-group-text">Type</span>
<input type="text" readonly class="form-control" value="@SelHwType">
</div>
}
else
{
<div class="input-group mb-2">
<label class="input-group-text">Family</label>
<select class="form-select" @bind="@FamilyHardware">
@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(CurrSashGroup.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 CurrSashGroup.HardwareList)
{
<option value="@hlItem.Id">@hlItem.Description</option>
}
</select>
</div>
}
}
</div>
<div class="col-md-12 col-lg-6">
<AreaHwOption EC_UpdateHwOpt="UpdateOpt"
EC_FirstHwOptionList="FirstHwOptionList">
</AreaHwOption>
</div>
</div>
</div>
</div>
<div class="card shadow-sm rounded mb-4">
<div class="card-body py-2">
<div class="d-flex justify-content-end">
<div class="dropdown">
<button class="btn btn-outline-secondary dropdown-toggle btn-sm" type="button" @onclick="ToggleDropdown">
Measure
</button>
<ul class="dropdown-menu @(isOpen ? "show" : "")" style="min-width:5rem; max-width:10rem">
<li>
<button class="dropdown-item" @onclick="() => SetMeasureType(MeasureTypes.ABSOLUTE)">
Absolute
</button>
</li>
<li>
<button class="dropdown-item" @onclick="() => SetMeasureType(MeasureTypes.PROPORTIONAL)">
Proportional
</button>
</li>
<li>
<button class="dropdown-item" @onclick="() => SetMeasureType(MeasureTypes.PERCENTAGE)">
Percentage
</button>
</li>
</ul>
</div>
</div>
<div class="row">
@for (int i = 0; i < CurrSashGroup.SashList.Count; i++)
{
@if (editMode && currSashDimEdit.Contains(i))
{
<div class="col-12 my-2">
<AreaSash CurrSashDim="CurrSashGroup.SashList[i]"
IndexSash="i"
EditMode="editMode"
EC_UpdateSash="UpdateSash"
EC_UpdateSashDim="UpdateSashDimension"
EC_ReqResetDict="ResetDict"
EC_EditView="EditView">
</AreaSash>
</div>
}
else if(currSashDimEdit.Count == 0)
{
<AreaSash CurrSashDim="CurrSashGroup.SashList[i]"
IndexSash="i"
EditMode="editMode"
EC_UpdateSash="UpdateSash"
EC_UpdateSashDim="UpdateSashDimension"
EC_ReqResetDict="ResetDict"
EC_EditView="EditView">
</AreaSash>
}
}
</div>
</div>
</div>