74b4264539
- Gestione BottomRail per Sash
321 lines
22 KiB
Plaintext
321 lines
22 KiB
Plaintext
|
|
<div class="row">
|
|
<div class="@mainCss">
|
|
<div class="card text-center table-svg">
|
|
<div class="card-header" style="background-color: #d5f1f2;">
|
|
<div class="row">
|
|
<div class="col-6">
|
|
<ul class="nav nav-tabs card-header-tabs">
|
|
<li class="nav-item">
|
|
@if (currStep == CompileStep.Template)
|
|
{
|
|
<a data-target="#Template" class="nav-link active fw-bold" aria-current="true" @onclick="() => AdvStep(CompileStep.Template)">Template</a>
|
|
}
|
|
else
|
|
{
|
|
<a data-target="#Template" class="nav-link text-secondary" @onclick="() => AdvStep(CompileStep.Template)">Template</a>
|
|
}
|
|
</li>
|
|
@if (SelTemplateDTO != null)
|
|
{
|
|
<li class="nav-item">
|
|
<a data-target="#Frame" class="@tabNavCss(CompileStep.Frame)" aria-current="true" @onclick="() => DoSelectAndPreview(CompileStep.Frame)">Frame</a>
|
|
</li>
|
|
@if ( m_SplitList.Count > 0)
|
|
{
|
|
<li class="nav-item">
|
|
<a data-target="#Split" class="@tabNavCss(CompileStep.Split)" aria-current="true" @onclick="() => DoSelectAndPreview(CompileStep.Split)">Split</a>
|
|
</li>
|
|
}
|
|
@if(m_SashList.Count > 0)
|
|
{
|
|
<li class="nav-item">
|
|
<a data-target="#Sash" class="@tabNavCss(CompileStep.Sash)" aria-current="true" @onclick="() => DoSelectAndPreview(CompileStep.Sash)">Sash</a>
|
|
</li>
|
|
}
|
|
<li class="nav-item">
|
|
<a data-target="#Fill" class="@tabNavCss(CompileStep.Fill)" aria-current="true" @onclick="() => DoSelectAndPreview(CompileStep.Fill)">Fill</a>
|
|
</li>
|
|
}
|
|
</ul>
|
|
</div>
|
|
<div class="col-6 d-grid gap-2 d-md-flex justify-content-md-end">
|
|
<button class="btn btn-lg btn-primary btn-sm" @onclick="DoSave">Save</button>
|
|
<button class="btn btn-lg btn-primary btn-sm" @onclick="DoPreviewSvg">Preview Svg</button>
|
|
<button class="btn btn-lg btn-primary btn-sm" @onclick="DoClose">Close</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card-body bg-transparent">
|
|
<div class="alert alert-light text-center display-4">
|
|
@if (currStep == CompileStep.Template)
|
|
{
|
|
<table class="table table-hover align-middle">
|
|
<thead class="table-light fs-5">
|
|
<tr>
|
|
<th scope="col">#</th>
|
|
<th scope="col" class="col-4">Image</th>
|
|
<th scope="col" class="text-start">Description</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="table-group-divider fs-5">
|
|
@foreach (var item in IN_TemplateDTOList)
|
|
{
|
|
string colorClass = "";
|
|
@if (SelTemplateDTO != null && item.Index == SelTemplateDTO.Index)
|
|
colorClass = "table-success";
|
|
else
|
|
colorClass = "";
|
|
<tr style="height: 150px;" class="@colorClass" @onclick="() => DoSelect(item)">
|
|
<td>@item.Index</td>
|
|
<td><img class="img-fluid" width="100" src="@item.ImageUrl" /></td>
|
|
<td class="text-start">@item.Description</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
@*<button class="btn btn-sm btn-primary" title="Reset selezione" @onclick="DoReset"><i class="fa-solid fa-arrow-rotate-right"></i></button> *@
|
|
}
|
|
else if (currStep == CompileStep.Frame)
|
|
{
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="alert alert-light text-start p-1 display-4 w-50">
|
|
<div class="input-group mb-2">
|
|
<label class="input-group-text" for="FrameShape">Shape</label>
|
|
<select class="form-select" @bind="@m_Frame.SelShapeIndex">
|
|
<option value="0">Rectangle</option>
|
|
<option value="1">Right Chamfer</option>
|
|
<option value="2">Left Chamfer</option>
|
|
<option value="3">Double Chamfer</option>
|
|
<option value="4">Arc</option>
|
|
<option value="5">Arc Full</option>
|
|
<option value="6">Double Arc</option>
|
|
<option value="7">Triangle</option>
|
|
</select>
|
|
</div>
|
|
<div class="border mb-2">
|
|
<div class="card-body py-2">
|
|
<h5 class="card-title">Dimensioni</h5>
|
|
@foreach (FrameDimension dimension in m_Frame.DimensionList)
|
|
{
|
|
<div class="input-group mb-2">
|
|
<span class="input-group-text" id="IndexDimFrame">@dimension.nIndex</span>
|
|
<span class="input-group-text" id="NameDimFrame">@dimension.sName</span>
|
|
<input type="number" class="form-control" aria-label="@dimension.dValue" @bind="@dimension.dValue">
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
<div class="border mb-2">
|
|
<div class="card-body py-2">
|
|
<h5 class="card-title">Giunzioni telaio</h5>
|
|
@foreach (Joint joint in m_Frame.JointList)
|
|
{
|
|
<div class="input-group mb-2">
|
|
<label class="input-group-text" for="IndexJoint">@joint.nIndex</label>
|
|
<select class="form-select" @bind="@joint.SelJointTypeIndex">
|
|
<option value="0">Angled</option>
|
|
<option value="1">Full H</option>
|
|
<option value="2">Full V</option>
|
|
</select>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
@if (m_SashList.Count == 0)
|
|
{
|
|
<div class="border mb-2">
|
|
<div class="card-body py-2">
|
|
<h5 class="card-title">Bottom rail</h5>
|
|
<div class="input-group mb-2">
|
|
<span class="input-group-text" id="BottomRailQty">Quantity</span>
|
|
<input type="number" class="form-control" aria-label="BottomRailQty" @bind="@m_Frame.BottomRailQty">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
else if (currStep == CompileStep.Split)
|
|
{
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="alert alert-light text-start p-1 display-4 w-50">
|
|
@foreach (var item in SplitList)
|
|
{
|
|
<div class="border mb-2">
|
|
<div class="card-body py-2">
|
|
<div class="input-group mb-2">
|
|
<span class="input-group-text" id="basic-addon1Split">Numero</span>
|
|
<input type="number" class="form-control" placeholder="0" aria-label="basic-addon1Split" @bind="@item.nSplitQty">
|
|
</div>
|
|
<div class="input-group mb-2">
|
|
<label class="input-group-text" for="basic-addon2Split">Shape</label>
|
|
<select class="form-select" @bind="@item.SelSplitShapeIndex">
|
|
<option value="0">Vertical</option>
|
|
<option value="1">Horizontal</option>
|
|
<option value="2">Grid</option>
|
|
<option value="3">Custom</option>
|
|
</select>
|
|
</div>
|
|
@foreach (var dim in item.SplitPositionList)
|
|
{
|
|
<div class="input-group mb-2">
|
|
<span class="input-group-text" id="basic-addon3Split">Altezza area inferiore</span>
|
|
<input type="number" class="form-control" aria-label="basic-addon2Split" @bind="@dim.dDimension">
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
}
|
|
@* <button class="btn btn-sm btn-primary" title="Reset selezione" @onclick="DoReset"><i class="fa-solid fa-arrow-rotate-right"></i></button> *@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
else if (currStep == CompileStep.Sash)
|
|
{
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="alert alert-light text-start p-1 display-4 w-50">
|
|
@foreach (var item in SashList)
|
|
{
|
|
<div class="input-group mb-2">
|
|
<div class="input-group mb-2">
|
|
<span class="input-group-text" id="NumberSash">Numero</span>
|
|
<input type="number" class="form-control" aria-label="NumberSash" @bind="@item.nSashQty">
|
|
</div>
|
|
</div>
|
|
<div class="border mb-2">
|
|
<div class="card-body py-2">
|
|
<h5 class="card-title">Orientamento</h5>
|
|
<div class="form-check fs-5">
|
|
<input class="form-check-input" type="radio" name="@item.nAreaId" checked value="@item.bIsSashVertical">
|
|
<label class="form-check-label" for="VerticalSash">Vertical</label>
|
|
</div>
|
|
<div class="form-check fs-5">
|
|
<input class="form-check-input" type="radio" name="@item.nAreaId">
|
|
<label class="form-check-label" for="HorizontalSash">Horizontal</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@foreach (SashDimension sash in item.SashList)
|
|
{
|
|
<div class="border mb-2">
|
|
<div class="card-body py-2">
|
|
<h5 class="card-title">Apertura</h5>
|
|
<div class="input-group mb-2">
|
|
<label class="input-group-text" for="OpeningSash">Tipologia</label>
|
|
<select class="form-select" @bind="@sash.SelOpeningTypeIndex">
|
|
<option value="0">A battente sinistra</option>
|
|
<option value="1">A battente destra</option>
|
|
<option value="2">Ad anta-ribalta sinistra</option>
|
|
<option value="3">Ad anta-ribalta destra</option>
|
|
<option value="4">5</option>
|
|
<option value="5">7</option>
|
|
<option value="6">8</option>
|
|
<option value="7">9</option>
|
|
<option value="8">10</option>
|
|
<option value="9">11</option>
|
|
<option value="10">12</option>
|
|
<option value="11">13</option>
|
|
</select>
|
|
</div>
|
|
<div class="input-group mb-2">
|
|
<span class="input-group-text" id="Dimension">Dimensione</span>
|
|
<input type="number" class="form-control" aria-label="DimensionSash" @bind="@sash.dDimension">
|
|
</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="Handle" id="Handle" @bind="@sash.bHasHandle">
|
|
</div>
|
|
<div class="px-2">
|
|
<label class="form-check-label fs-6 text-dark" for="HandleSashLabel">Maniglia</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
<div class="border mb-2">
|
|
<div class="card-body py-2">
|
|
<h5 class="card-title">Giunzioni ante</h5>
|
|
@foreach (Joint joint in item.JointList)
|
|
{
|
|
<div class="input-group mb-2">
|
|
<label class="input-group-text" for="IndexJoint">@joint.nIndex</label>
|
|
<select class="form-select" @bind="@joint.SelJointTypeIndex">
|
|
<option value="0">Angled</option>
|
|
<option value="1">Full H</option>
|
|
<option value="2">Full V</option>
|
|
</select>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
<div class="border mb-2">
|
|
<div class="card-body py-2">
|
|
<h5 class="card-title">Bottom rail</h5>
|
|
<div class="input-group mb-2">
|
|
<span class="input-group-text" id="BottomRailQty">Quantità</span>
|
|
<input type="number" class="form-control" aria-label="BottomRailQty" @bind="@item.SashBottomRailQty">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
@* <button class="btn btn-sm btn-primary" title="Reset selezione" @onclick="DoReset"><i class="fa-solid fa-arrow-rotate-right"></i></button> *@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
else if (currStep == CompileStep.Fill)
|
|
{
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="alert alert-light text-start p-1 display-4 w-50">
|
|
@foreach (var Fill in FillList)
|
|
{
|
|
<div class="border mb-2">
|
|
<div class="card-body py-2">
|
|
<h5 class="card-title">Riempimento</h5>
|
|
<div id="RadioButtons" class="col-sm-10">
|
|
@* <input type="radio" checked="@(FillList[i].FillType == FillTypes.GLASS)"
|
|
name="@i" @onchange="@(() => FillList[i].FillType = FillTypes.GLASS)" />
|
|
<label>Glass</label>
|
|
|
|
<input type="radio" checked="@(FillList[i].FillType == FillTypes.WOOD)"
|
|
name="@i" @onchange="@(() => FillList[i].FillType = FillTypes.WOOD)" />
|
|
<label>Wood</label>
|
|
*@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
@* <div class="form-check fs-5">
|
|
<input class="form-check-input" type="radio" name="@i" id="GlassFill@(i)" checked @bind="@FillList[i].bGlass_IsChecked">
|
|
<label class="form-check-label" for="Fill">Glass</label>
|
|
</div>
|
|
<div class="form-check fs-5">
|
|
<input class="form-check-input" type="radio" name="@i" id="WoodFill@(i)" @bind="@FillList[i].bWood_IsChecked">
|
|
<label class="form-check-label" for="Fill">Wood</label>
|
|
</div> *@
|
|
@* <button class="btn btn-sm btn-primary" title="Reset selezione" @onclick="DoReset"><i class="fa-solid fa-arrow-rotate-right"></i></button> *@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@if (SelTemplateDTO != null && currStep != CompileStep.Template)
|
|
{
|
|
<div class="col-6">
|
|
@outSvg
|
|
</div>
|
|
}
|
|
</div>
|