Files
Annamaria Sassi d740267d06 - aggiunti commenti
- aggiunti controlli su alcuni campi
2025-08-20 17:55:42 +02:00

396 lines
30 KiB
Plaintext

<div class="row">
<div class="col-6">
<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">
<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.Frame)
{
<div class="container">
<div class="row">
<div class="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" id="FrameShape" @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">Dimension</h5>
@foreach (FrameDimension dimension in m_Frame.DimensionList)
{
<div class="input-group mb-2">
<span class="input-group-text" id="IndexDimFrame@(m_Frame.DimensionList.IndexOf(dimension) + 1)">@dimension.nIndex</span>
<span class="input-group-text" id="NameDimFrame@(m_Frame.DimensionList.IndexOf(dimension) + 1)">@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">Joints frame</h5>
@foreach (Joint joint in m_Frame.JointList)
{
<div class="input-group mb-2">
<label class="input-group-text" for="IndexJoint@(m_Frame.JointList.IndexOf(joint) + 1)">@joint.nIndex</label>
<select class="form-select" id="IndexJoint@(m_Frame.JointList.IndexOf(joint) + 1)" @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="text-start p-1 display-4">
<div class="row">
@for (int i = 0; i < SplitList.Count; i += 2)
{
Split currSplit = SplitList[i];
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
<h5>Split @(i + 1)</h5>
<div class="input-group mb-2">
<span class="input-group-text" id="SplitQty@(i + 1)">Number</span>
<input type="number" class="form-control" placeholder="0" aria-label="basic-addon1Split" @bind="@currSplit.nSplitQty">
</div>
<div class="input-group mb-2">
<label class="input-group-text" for="ShapeSplit@(i + 1)">Shape</label>
<select class="form-select" id="ShapeSplit@(i + 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>
@foreach (var dim in currSplit.SplitPositionList)
{
string desc = "";
@if (currSplit.SelSplitShape == Json.WindowConst.SplitShapes.VERTICAL)
{
desc = "Larghezza split ";
}
else
{
desc = "Altezza split ";
}
<div class="input-group mb-2">
<span class="input-group-text" id="SplitDimension@(currSplit.SplitPositionList.IndexOf(dim) + 1)">@desc @(currSplit.SplitPositionList.IndexOf(dim) + 1)</span>
<input type="number" class="form-control" aria-label="basic-addon2Split" @bind="@dim.dDimension">
</div>
}
</div>
</div>
</div>
if (i + 1 < SplitList.Count)
{
Split NextSplit = SplitList[i + 1];
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
<h5>Split @(i + 2)</h5>
<div class="input-group mb-2">
<span class="input-group-text" id="SplitQty@(i + 2)">Number</span>
<input type="number" class="form-control" placeholder="0" aria-label="basic-addon1Split" @bind="@NextSplit.nSplitQty">
</div>
<div class="input-group mb-2">
<label class="input-group-text" for="ShapeSplit@(i + 2)">Shape</label>
<select class="form-select" id="ShapeSplit@(i + 2)" @bind="@NextSplit.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 NextSplit.SplitPositionList)
{
string desc = "";
@if (NextSplit.SelSplitShape == Json.WindowConst.SplitShapes.VERTICAL)
{
desc = "Larghezza split ";
}
else
{
desc = "Altezza split ";
}
<div class="input-group mb-2">
<span class="input-group-text" id="SplitDimension@(NextSplit.SplitPositionList.IndexOf(dim) + 1)">@desc @(NextSplit.SplitPositionList.IndexOf(dim) + 1)</span>
<input type="number" class="form-control" aria-label="basic-addon2Split" @bind="@dim.dDimension">
</div>
}
</div>
</div>
</div>
}
}
</div>
</div>
</div>
</div>
}
else if (currStep == CompileStep.Sash)
{
<div class="container">
<div class="row">
<div class="text-start p-1 display-4 ">
@foreach (var item in SashList)
{
<div class="row">
<div class="col-sm-6">
<div class="input-group mb-2">
<div class="input-group mb-2">
<span class="input-group-text" id="NumberSash@(SashList.IndexOf(item) + 1)">Number</span>
<input type="number" class="form-control" aria-label="NumberSash" @bind="@item.nSashQty">
</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">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; i += 2)
{
SashDimension sash = item.SashList[i];
<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 + 1)</h5>
}
<div class="input-group mb-2">
<label class="input-group-text" for="OpeningSash@(i + 1)">Tipology</label>
<select class="form-select" id="OpeningSash@(i + 1)" @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">Dimension</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="HandleSashLabel@(i + 1)" @bind="@sash.bHasHandle">
</div>
<div class="px-2">
<label class="form-check-label fs-6 text-dark" for="HandleSashLabel@(i + 1)">Handle</label>
</div>
</div>
</div>
</div>
</div>
@if (i + 1 < item.SashList.Count)
{
SashDimension sashNext = item.SashList[i + 1];
<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)</h5>
}
<div class="input-group mb-2">
<label class="input-group-text" for="OpeningSashNext@(i + 2)">Tipology</label>
<select class="form-select" id="OpeningSashNext@(i + 2)" @bind="@sashNext.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">Dimension</span>
<input type="number" class="form-control" aria-label="DimensionSash" @bind="@sashNext.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="HandleSashLabel@(i + 2)" @bind="@sashNext.bHasHandle">
</div>
<div class="px-2">
<label class="form-check-label fs-6 text-dark" for="HandleSashLabel@(i + 2)">Handle</label>
</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>
@foreach (Joint joint in item.JointList)
{
<div class="input-group mb-2">
<label class="input-group-text" for="IndexJoint@(item.JointList.IndexOf(joint) + 1)">@joint.nIndex</label>
<select class="form-select" id="IndexJoint@(item.JointList.IndexOf(joint) + 1)" @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>
</div>
</div>
}
else if (currStep == CompileStep.Fill)
{
<div class="container">
<div class="row">
<div class="text-start p-1 display-4 w-50">
@foreach (var Fill in FillList)
{
<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(Fill) + 1)</h5>
}
<div class="input-group mb-2">
<select class="form-select" @bind="@Fill.SelFillTypeIndex">
<option value="0">Glass</option>
<option value="1">Wood</option>
</select>
</div>
</div>
</div>
}
</div>
</div>
</div>
}
</div>
</div>
</div>
</div>
<div class="col-6">
@outSvg
</div>
</div>