Files
webwindowconfigurator/WebWindowComplex/TableComp.razor
T
Annamaria Sassi 86fe2e6404 WebWindowComplex:
- Aggiunto Nuget Web.Window.Data
- Aggiornate classi Window e JsonUtility
- Aggiornata interfaccia
2025-09-30 11:44:20 +02:00

867 lines
67 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="@headerCss()">
<ul class="nav nav-tabs card-header-tabs">
@if (string.IsNullOrEmpty(CurrJwd))
{
<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 (FrameWindow != null)
{
<li class="nav-item">
<a data-target="#Gerarchia" class="@tabNavCss(CompileStep.Gerarchia)" aria-current="true" @onclick="() => NextStepAndPreview(CompileStep.Gerarchia)">Gerarchia</a>
</li>
<li class="nav-item">
<a data-target="#Frame" class="@tabNavCss(CompileStep.Frame)" aria-current="true" @onclick="() => NextStepAndPreview(CompileStep.Frame)">Frame</a>
</li>
@if (SplitList.Count > 0)
{
<li class="nav-item">
<a data-target="#Split" class="@tabNavCss(CompileStep.Split)" aria-current="true" @onclick="() => NextStepAndPreview(CompileStep.Split)">Split</a>
</li>
}
@if (SashList.Count > 0)
{
@for (int i = 0; i < SashList.Count; i++)
{
int Index = i;
<li class="nav-item">
<a data-target="#Sash" class="@tabNavCss(CompileStep.Sash, Index)" aria-current="true" @onclick="() => NextStepAndPreview(CompileStep.Sash, Index)">Window @(SashList.Count == 1 ? "" : Index + 1)</a>
</li>
}
}
<li class="nav-item">
<a data-target="#Fill" class="@tabNavCss(CompileStep.Fill)" aria-current="true" @onclick="() => NextStepAndPreview(CompileStep.Fill)">Fill</a>
</li>
<li class="nav-item">
<a data-target="#General" class="@tabNavCss(CompileStep.General)" aria-current="true" @onclick="() => NextStepAndPreview(CompileStep.General)">General</a>
</li>
}
</ul>
</div>
<div class="@buttonCss()">
@if (currStep != CompileStep.Template)
{
<div class="col-4">
<button class="btn btn-lg btn-primary" style="font-size: 1rem;" @onclick="DoReset">Reset</button>
</div>
}
<div class="col-4">
<button class="btn btn-lg btn-primary" style="font-size: 1rem;" @onclick="DoSave">Save</button>
</div>
<div class="col-4">
<button class="btn btn-lg btn-primary" style="font-size: 1rem;" @onclick="DoClose">Close</button>
</div>
</div>
</div>
</div>
<div class="card-body bg-transparent">
<div class="text-center display-4">
@if (string.IsNullOrEmpty(CurrJwd))
{
@if (currStep == CompileStep.Template)
{
<table class="table table-hover align-middle">
<thead class="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: 120px;" 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>
}
}
@if (currStep == CompileStep.Gerarchia)
{
<div class="display-6">
<table class="table table-sm table-hover align-middle">
<tbody>
@for (int i = 0; i < ItemTableList.Count; i++)
{
<tr>
@for (int j = 0; j < m_maxCol; j++)
{
CompileStep cs = CompileStep.Frame;
int indSash = -1;
@if (j + 1 == ItemTableList[i].Col)
{
@if (ItemTableList[i].Type is Json.WindowConst.AreaTypes.FRAME)
{
cs = CompileStep.Frame;
}
else if (ItemTableList[i].Type is Json.WindowConst.AreaTypes.SPLIT)
{
cs = CompileStep.Split;
}
else if (ItemTableList[i].Type is Json.WindowConst.AreaTypes.SASH)
{
cs = CompileStep.Sash;
indSash = ItemTableList[i].NumSash;
}
else if (ItemTableList[i].Type is Json.WindowConst.AreaTypes.FILL)
{
cs = CompileStep.Fill;
}
<td>
<button class="btn btn-sm btn-secondary" style="font-size: 1rem;" @onclick="() => NextStepAndPreview(cs, indSash)" title="Vai a step @(cs)">@ItemTableList[i].Desc</button>
</td>
}
else
{
<td>@FillTable(i, j)</td>
}
}
</tr>
}
</tbody>
</table>
</div>
}
else if (currStep == CompileStep.Frame)
{
@if (m_CurrWindow != null)
{
m_PreviousWindow = m_CurrWindow;
}
<div class="container">
<div class="row">
<div class="text-start p-1 display-4">
<div class="row">
<div class="col-sm-6">
<div class="input-group mb-2">
<label class="input-group-text" for="FrameShape">Shape</label>
<select class="form-select" id="FrameShape" @bind="@FrameWindow.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>
</div>
<div class="row">
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
<h5 class="card-title">Dimension</h5>
@foreach (FrameDimension dimension in FrameWindow.DimensionList)
{
<div class="input-group mb-2">
<span class="input-group-text" id="NameDimFrame@(dimension.nIndex)">@dimension.sName</span>
<input type="number" class="form-control" aria-label="@dimension.dValue" @bind="@dimension.dValue">
<span class="input-group-text">mm</span>
</div>
}
</div>
</div>
</div>
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
<h5 class="card-title">Threshold</h5>
<div class="input-group mb-2">
<label class="input-group-text" for="Threshold">Tipology</label>
<select class="form-select" id="Threshold">
<option value="0">Soglia</option>
<option value="1">Sgocciolatoio</option>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
<h5 class="card-title">Frame joints</h5>
<div class="row text-center">
<div class="col-sm-4">
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => ChangeAllJoints(WebWindowComplex.Json.WindowConst.Joints.ANGLED, FrameWindow)">Angled</button>
</div>
</div>
<div class="col-sm-4">
<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, FrameWindow)">Horizontal</button>
</div>
</div>
<div class="col-sm-4">
<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, FrameWindow)">Vertical</button>
</div>
</div>
</div>
@foreach (Joint joint in FrameWindow.JointList)
{
<div class="input-group mb-2">
<label class="input-group-text" for="IndexJoint@(joint.nIndex)">@((PositionJoints)(joint.nIndex - 1))</label>
<select class="form-select" id="IndexJoint@(joint.nIndex)" @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>
@if (!(FrameWindow.AreaList[0] is Split) || (SashList.Count == 0 && SplitList.Count == 0))
{
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
<h5 class="card-title">Area frame</h5>
<div class="row">
<div class="col-sm-6">
@if (!(FrameWindow.AreaList[0] is Split))
{
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => FrameWindow.AddSplit(FrameWindow)">Aggiungi split</button>
</div>
}
</div>
@if (SashList.Count == 0 && SplitList.Count == 0)
{
<div class="col-sm-6">
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => FrameWindow.AddSash()">Aggiungi window</button>
</div>
</div>
}
</div>
</div>
</div>
</div>
}
</div>
@if (m_SashList.Count == 0)
{
<div class="row">
<div class="col-sm-6">
<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="@FrameWindow.BottomRailQty">
</div>
</div>
</div>
</div>
</div>
}
</div>
</div>
</div>
}
else if (currStep == CompileStep.Split)
{
<div class="container">
<div class="row">
<div class="text-start p-1 display-4">
<div class="row">
@for (int i = 0; i < SplitList.Count; i++)
{
Split currSplit = SplitList[i];
<div class="@splitCss(currSplit)">
<div class="border mb-2">
<div class="card-body py-2">
<h5>@(descParentSplit(currSplit))</h5>
<div class="col">
<div class="border mb-2">
<div class="card-body py-2">
<div class="row">
<div class="col-sm-6">
<h5>Split</h5>
</div>
<div class="col-sm-6">
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => RemoveArea(currSplit)">Remove split</button>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6"></div>
<div class="col-sm-6">
@if ((currSplit.nSplitQtyVert == 1 && currSplit.nSplitQtyHoriz == 0) || (currSplit.nSplitQtyVert == 0 && currSplit.nSplitQtyHoriz == 1))
{
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => SwapTwoAree(currSplit)">Swap Aree</button>
</div>
}
</div>
</div>
<div class="row">
<div class="@splitContentCss(currSplit)">
<div class="input-group mb-2">
<label class="input-group-text" for="ShapeSplit@(m_SplitList.IndexOf(currSplit) + 1)">Shape</label>
<select class="form-select" id="ShapeSplit@(m_SplitList.IndexOf(currSplit) + 1)" @bind="@currSplit.SelSplitShapeIndex">
<option value="0">Vertical</option>
<option value="1">Horizontal</option>
<option value="2">Grid</option>
<option value="3">Custom</option>
</select>
</div>
</div>
</div>
<div class="row">
@if (currSplit.nSplitQtyVert > 0)
{
<div class="@splitContentCss(currSplit)">
<div class="input-group mb-2">
<span class="input-group-text" id="SplitQty@(m_SplitList.IndexOf(currSplit) + 1)">QtyVert</span>
<input type="number" class="form-control" placeholder="0" aria-label="basic-addon1Split" @bind="@currSplit.nSplitQtyVert">
</div>
</div>
}
@if (currSplit.nSplitQtyHoriz > 0)
{
<div class="@splitContentCss(currSplit)">
<div class="input-group mb-2">
<span class="input-group-text" id="SplitQty@(m_SplitList.IndexOf(currSplit) + 1)">QtyHoriz</span>
<input type="number" class="form-control" placeholder="0" aria-label="basic-addon1Split" @bind="@currSplit.nSplitQtyHoriz">
</div>
</div>
}
</div>
<div class="row">
@if (currSplit.SplitVertList.Count > 0)
{
<div class="@splitContentCss(currSplit)">
@foreach (var dim in currSplit.SplitVertList)
{
<div class="input-group mb-2">
<span class="input-group-text" id="SplitDimension@(currSplit.SplitVertList.IndexOf(dim) + 1)">Width</span>
<input type="number" class="form-control" aria-label="basic-addon2Split" @bind="@dim.dDimension">
<span class="input-group-text">%</span>
</div>
}
</div>
}
@if (currSplit.SplitHorizList.Count > 0)
{
<div class="@splitContentCss(currSplit)">
@foreach (var dim in currSplit.SplitHorizList)
{
<div class="input-group mb-2">
<span class="input-group-text" id="SplitDimension@(currSplit.SplitHorizList.IndexOf(dim) + 1)">Height</span>
<input type="number" class="form-control" aria-label="basic-addon2Split" @bind="@dim.dDimension">
<span class="input-group-text">%</span>
</div>
}
</div>
}
</div>
@if (currSplit.SelSplitShape == Json.WindowConst.SplitShapes.GRID)
{
<div class="row">
<div class="@splitContentCss(currSplit)">
<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="SplitStartVert" id="SplitStartVert@(m_SplitList.IndexOf(currSplit) + 1)" checked="@currSplit.bSplitStartVert" @oninput="(ChangeEventArgs e) => changeStartVert(e, currSplit)">
</div>
<div class="px-2">
<label class="form-check-label fs-6 text-dark" for="SplitStartVert@(m_SplitList.IndexOf(currSplit) + 1)">StartVert</label>
</div>
</div>
</div>
</div>
}
</div>
</div>
</div>
</div>
</div>
</div>
}
</div>
<div class="row">
@for (int i = 0; i < SplittedList.Count; i++)
{
Splitted currSplitted = SplittedList[i];
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
<h5>Area split</h5>
<div class="row">
<div class="col-4">
<div class="input-group mb-2">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => currSplitted.AddSash()">Add sash</button>
</div>
</div>
@for (int j = 0; j < SashList.Count; j++)
{
int Index = j;
<div class="col-4">
<div class="input-group mb-2">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => CopySash(currSplitted, Index)">Copy sash @(SashList.Count == 1 ? "" : (j + 1))</button>
</div>
</div>
}
</div>
</div>
</div>
</div>
}
</div>
</div>
</div>
</div>
}
else if (currStep == CompileStep.Sash)
{
@if (currSash >= SashList.Count || currSash == -1)
{
currStep = CompileStep.Gerarchia;
}
else
{
Sash item = SashList[currSash];
<div class="container">
<div class="row">
<div class="text-start p-1 display-4">
<div class="row">
<div class="col-sm-6"></div>
<div class="col-sm-6">
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => RemoveArea(item)">Remove window</button>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="input-group mb-2">
<span class="input-group-text" id="NumberSash@(SashList.IndexOf(item) + 1)">Qty sash</span>
<input type="number" class="form-control" aria-label="NumberSash@(SashList.IndexOf(item) + 1)" @bind="@item.nSashQty">
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
<h5 class="card-title">Orientation</h5>
<div class="input-group mb-2">
<label class="input-group-text" for="OrientationSash@(SashList.IndexOf(item) + 1)">Tipology</label>
<select class="form-select" id="OrientationSash@(SashList.IndexOf(item) + 1)" @bind="@item.SelOrientationSashTypeIndex">
<option value="0">Vertical</option>
<option value="1">Horizontal</option>
</select>
</div>
</div>
</div>
</div>
<div class="col-sm-6">
<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@(SashList.IndexOf(item) + 1)">Quantity</span>
<input type="number" class="form-control" aria-label="BottomRailQty" @bind="@item.SashBottomRailQty">
</div>
</div>
</div>
</div>
</div>
<div class="row">
@for (int i = 0; i <= item.SashList.Count / 2; i++)
{
for (int j = 0; j < 2 && (i * 2 + j <= item.SashList.Count - 1); j++)
{
SashDimension sash = item.SashList[i * 2 + j];
Area anta = item.AreaList[i * 2 + j];
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
@if (item.SashList.Count == 1)
{
<h5 class="card-title">Opening</h5>
}
else
{
<h5 class="card-title">Sash opening @(i * 2 + j + 1)</h5>
}
<div class="input-group mb-2">
<label class="input-group-text" for="OpeningSash@(i * 2 + j + 1)">Tipology</label>
<select class="form-select" id="OpeningSash@(i * 2 + j + 1)" @bind="@sash.SelOpeningTypeIndex">
<option value="0">A bandiera sinistra</option>
<option value="1">A bandiera destra</option>
<option value="2">Ad anta-ribalta sinistra</option>
<option value="3">Ad anta-ribalta destra</option>
<option value="4">Solo verso alto</option>
<option value="5">Solo verso basso</option>
<option value="6">Pivot</option>
<option value="7">Fissa</option>
<option value="8">Complanare sinistra</option>
<option value="9">Complanare destra</option>
<option value="10">Scorrevole sinistra</option>
<option value="11">Scorrevole destra</option>
</select>
</div>
<div class="input-group mb-2">
<span class="input-group-text">Dimension</span>
<input type="number" class="form-control" aria-label="DimensionSash" @bind="@sash.dDimension">
<span class="input-group-text">%</span>
</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="HandleSashLabel@(i * 2 + j + 1)" checked="@sash.bHasHandle" @onclick="() => changeHandle(sash, item)">
</div>
<div class="px-2">
<label class="form-check-label fs-6 text-dark" for="HandleSashLabel@(i * 2 + j + 1)">Handle</label>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => anta.AddSplit(anta)">Aggiungi split</button>
</div>
</div>
<div class="col-sm-6">
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm">Aggiungi inglesina</button>
</div>
</div>
</div>
<div class="row d-grid d-md-flex justify-content-center">
@for (int k = 1; k <= i * 2 + j; k++)
{
int IndexCopy = k;
int IndexModify = i * 2 + j;
<div class="col-sm-6 my-1">
<div class="input-group justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => CopyContentSash(item, IndexCopy, IndexModify)">Copy sash @(k)</button>
</div>
</div>
}
</div>
</div>
</div>
</div>
}
}
</div>
<div class="row">
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
<h5 class="card-title">Sash joints</h5>
<div class="row p-0 m-0 text-center">
<div class="col-sm-4">
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => ChangeAllJoints(WebWindowComplex.Json.WindowConst.Joints.ANGLED, item)">Angled</button>
</div>
</div>
<div class="col-sm-4">
<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, item)">Horizontal</button>
</div>
</div>
<div class="col-sm-4">
<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, item)">Vertical</button>
</div>
</div>
</div>
@foreach (Joint joint in item.JointList)
{
<div class="input-group mb-2">
<label class="input-group-text" for="IndexJoint@(joint.nIndex)">@((PositionJoints)(joint.nIndex - 1))</label>
<select class="form-select" id="IndexJoint@(joint.nIndex)" @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>
</div>
<div class="row">
<div class="col-sm-12">
<div class="border mb-2">
<div class="card-body py-2">
<h5 class="card-title">Hardware</h5>
<div class="row">
<div class="col-4">
<div class="input-group mb-2">
<label class="input-group-text" for="FamilyHardware">Tipology</label>
<select class="form-select" id="FamilyHardware" @bind="@SelFamilyHardware">
@for (int i = 0; i < Sash.s_FamilyHardwareList.Count; i++)
{
<option value="@Sash.s_FamilyHardwareList[i]">@Sash.s_FamilyHardwareList[i]</option>
}
</select>
</div>
</div>
<div class="col-8">
<div class="input-group mb-2">
<select class="form-select" id="Hardware" @bind="@item.SelHardwareTypeIndex">
@for (int i = 0; i < item.HardwareList.Count; i++)
{
<option value="@i">@item.HardwareList[i].Description</option>
}
</select>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
}
}
else if (currStep == CompileStep.Fill)
{
<div class="container">
<div class="text-start p-1 display-4 ">
<div class="row text-center">
<div class="col-sm-12">
<div class="border mb-2">
<div class="card-body py-2">
<h5>Area Fill</h5>
<div class="row">
<div class="col-sm-6">
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => ChangeAllFill(WebWindowComplex.Json.WindowConst.FillTypes.GLASS)">All glass</button>
</div>
</div>
<div class="col-sm-6">
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => ChangeAllFill(WebWindowComplex.Json.WindowConst.FillTypes.WOOD)">All wood</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
@for (int i = 0; i < FillList.Count; i += 2)
{
Fill currFill = FillList[i];
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
@if (FillList.Count == 1)
{
<h5 class="card-title">Fill </h5>
}
else
{
<h5 class="card-title">Fill @(FillList.IndexOf(currFill) + 1)</h5>
}
<div class="input-group mb-2">
<select class="form-select" @bind="@currFill.SelFillTypeIndex">
<option value="0">Glass</option>
<option value="1">Wood</option>
</select>
</div>
</div>
</div>
</div>
@if (i + 1 < FillList.Count)
{
Fill nextFill = FillList[i + 1];
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
@if (FillList.Count == 1)
{
<h5 class="card-title">Fill </h5>
}
else
{
<h5 class="card-title">Fill @(FillList.IndexOf(nextFill) + 1)</h5>
}
<div class="input-group mb-2">
<select class="form-select" @bind="@nextFill.SelFillTypeIndex">
<option value="0">Glass</option>
<option value="1">Wood</option>
</select>
</div>
</div>
</div>
</div>
}
}
</div>
</div>
</div>
}
else if (currStep == CompileStep.General)
{
<div class="container">
<div class="row">
<div class="text-start p-1 display-4 ">
<div class="row">
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
<h5 class="card-title">Generic</h5>
<div class="input-group mb-2">
<label class="input-group-text" for="MaterialWindow">Color</label>
<select class="form-select" id="MaterialWindow" @bind="@((m_CurrWindow!).sMaterial)">
@for (int i = 0; i < IN_MaterialList.Count; i++)
{
<option value="@IN_MaterialList[i]">@IN_MaterialList[i]</option>
}
</select>
</div>
<div class="input-group mb-2">
<label class="input-group-text" for="ProfileWindow">Profile</label>
<select class="form-select" id="ProfileWindow">
<option value="0">Profilo 78</option>
<option value="1">Profilo..</option>
<option value="2">Profilo...</option>
</select>
</div>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
<h5 class="card-title">Fill type</h5>
<div class="input-group mb-2">
<label class="input-group-text" for="GlassWindow">Glass</label>
<select class="form-select" id="GlassWindow" @bind="@m_CurrWindow.sGlass">
@for (int i = 0; i < IN_GlassList.Count; i++)
{
<option value="@IN_GlassList[i]">@IN_GlassList[i]</option>
}
</select>
</div>
<div class="input-group mb-2">
<label class="input-group-text" for="PanelWindow">Pannello</label>
<select class="form-select" id="PanelWindow">
<option value="0">Liscio</option>
<option value="1">Con venatura</option>
<option value="2">Custom</option>
</select>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
<h5 class="card-title">Color</h5>
<div class="row">
<div class="input-group mb-2">
<label class="input-group-text" for="ColorWindow">Window</label>
<select class="form-select" id="ColorWindow" @bind="@m_CurrWindow.sColorMaterial">
@for (int i = 0; i < IN_ColorMaterialList.Count; i++)
{
<option value="@IN_ColorMaterialList[i]">@IN_ColorMaterialList[i]</option>
}
</select>
</div>
</div>
<div class="input-group mb-2">
<label class="input-group-text" for="Trunking">Trunking</label>
<select class="form-select" id="Trunking">
<option value="0">Black</option>
<option value="1">Silver</option>
<option value="2">White</option>
</select>
</div>
</div>
</div>
</div>
</div>
@if (m_SashList.Count > 0)
{
<div class="row">
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
<h5 class="card-title">Hardware</h5>
<div class="input-group mb-2">
<label class="input-group-text" for="ColorHardware">Generic color</label>
<select class="form-select" id="ColorHardware">
<option value="0">Oro</option>
<option value="1">Bronzo</option>
<option value="2">Ottone</option>
</select>
</div>
<div class="input-group mb-2">
<label class="input-group-text" for="CapsColor">Caps color</label>
<select class="form-select" id="CapsColor">
<option value="0">Oro</option>
<option value="1">Bronzo</option>
<option value="2">Ottone</option>
</select>
</div>
<div class="input-group mb-2">
<label class="input-group-text" for="HandleColor">Handle color</label>
<select class="form-select" id="HandleColor">
<option value="0">Oro</option>
<option value="1">Bronzo</option>
<option value="2">Ottone</option>
</select>
</div>
</div>
</div>
</div>
</div>
}
</div>
</div>
</div>
}
</div>
</div>
</div>
</div>
@if (currStep != CompileStep.Template)
{
<div class="col-6">
@outSvg
</div>
}
</div>