Copiato codice da componente WebWindowTest a WebWindowComplex

This commit is contained in:
Annamaria Sassi
2025-09-19 13:16:15 +02:00
parent 51e6695079
commit 1dcb0ba15b
14 changed files with 819 additions and 504 deletions
+73 -207
View File
@@ -3,18 +3,21 @@
<div class="card text-center table-svg">
<div class="card-header" style="background-color: #d5f1f2;">
<div class="row">
<div class="col-8 d-grid gap-2 d-md-flex justify-content-md-start">
<div class="@headerCss()">
<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 (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">
@@ -48,7 +51,7 @@
}
</ul>
</div>
<div class="col-4 d-grid gap-2 d-md-flex justify-content-md-end">
<div class="@buttonCss()">
@if (currStep != CompileStep.Template)
{
<div class="col-4">
@@ -66,34 +69,37 @@
</div>
<div class="card-body bg-transparent">
<div class="text-center display-4">
@if (currStep == CompileStep.Template)
@if (string.IsNullOrEmpty(CurrJwd))
{
<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>
@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>
}
</tbody>
</table>
</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>
}
}
else if (currStep == CompileStep.Gerarchia)
@if (currStep == CompileStep.Gerarchia)
{
<div class="display-6">
<table class="table table-sm table-hover align-middle">
@@ -138,7 +144,7 @@
</tbody>
</table>
</div>
}
else if (currStep == CompileStep.Frame)
{
@@ -189,13 +195,13 @@
<h5 class="card-title m-0">Frame joints</h5>
<div class="row text-center">
<div class="col">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => AllJointsFrame(1, 0)">Angled</button>
<button class="btn btn-outline-secondary btn-sm" @onclick="() => AllJointsFrame(1, FrameWindow)">Angled</button>
</div>
<div class="col">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => AllJointsFrame(2, 0)">Horizontal</button>
<button class="btn btn-outline-secondary btn-sm" @onclick="() => AllJointsFrame(2, FrameWindow)">Horizontal</button>
</div>
<div class="col">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => AllJointsFrame(3, 0)">Vertical</button>
<button class="btn btn-outline-secondary btn-sm" @onclick="() => AllJointsFrame(3, FrameWindow)">Vertical</button>
</div>
</div>
@foreach (Joint joint in FrameWindow.JointList)
@@ -362,142 +368,16 @@
int Index = j;
<div class="col-4">
<div class="input-group mb-2">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => CopySplitted(currSplitted, Index)">Copy sash @(j+1)</button>
<button class="btn btn-outline-secondary btn-sm" @onclick="() => CopySash(currSplitted, Index)">Copy sash @(j + 1)</button>
</div>
</div>
}
</div>
</div>
</div>
</div>
}
@* @for (int i = 0; i < SplitParentList.Count; i++)
{
@for (int j = 0; j < 2 && (i * 2 + j <= SplitParentList.Count - 1); j++)
{
SplitParent currSplitParent = m_SplitParentList[i * 2 + j];
@if (currSplitParent.Split != null)
{
Split currSplit = (Split)currSplitParent.Split;
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
@if (currSplitParent.Description.Contains("Sash"))
{
<h5>@(currSplitParent.Description + " area " + numSash)</h5>
numSash++;
}
else if (currSplitParent.Description.Contains("Split"))
{
<h5>@(currSplitParent.Description + " area " + numSplit)</h5>
numSplit++;
}
else
{
<h5>@( currSplitParent.Description + " area")</h5>
}
<div class="col">
<div class="border mb-2">
<div class="card-body py-2">
<h5>Split</h5>
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => SwapTwoAree(currSplitParent.Split)">Swap Aree</button>
</div>
<div class="input-group mb-2">
<span class="input-group-text" id="SplitQty@(m_SplitParentList.IndexOf(currSplitParent) + 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@(m_SplitParentList.IndexOf(currSplitParent) + 1)">Shape</label>
<select class="form-select" id="ShapeSplit@(m_SplitParentList.IndexOf(currSplitParent) + 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)
{
@if (currSplit.SplitPositionList.IndexOf(dim) == 0)
{
desc = "Larg. area sx split";
}
else
{
desc = "Larg. area dx split";
}
}
else
{
@if (currSplit.SplitPositionList.IndexOf(dim) == 0)
{
desc = "Altez. area sotto split";
}
else
{
desc = "Altez. area sopra split";
}
}
<div class="input-group mb-2">
<span class="input-group-text" id="SplitDimension@(currSplit.SplitPositionList.IndexOf(dim) + 1)">@desc</span>
<input type="number" class="form-control" aria-label="basic-addon2Split" @bind="@dim.dDimension">
<span class="input-group-text">%</span>
</div>
}
</div>
</div>
</div>
</div>
</div>
</div>
}
else
{
@if (currSplitParent.Description.Contains("Sash"))
{
continue;
}
else if (currSplitParent.Description.Contains("Frame"))
{
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
<h5>@currSplitParent.Description</h5>
<div class="input-group mb-2">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => currSplitParent.Splitted.AddSplit()">Aggiungi split</button>
</div>
</div>
</div>
</div>
}
else
{
@if (currSplitParent.Description.Contains("Split area with sash"))
{
continue;
}
@if (currSplitParent.IntoSash == false)
{
<div class="col-sm-6">
<div class="border mb-2">
<div class="card-body py-2">
<h5>@("Area " + currSplitParent.Description + " " + numSplit)</h5>
<div class="input-group mb-2">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => currSplitParent.Splitted.AddSash()">Aggiungi sash</button>
</div>
</div>
</div>
</div>
numSplit++;
}
}
}
}
} *@
</div>
</div>
</div>
@@ -603,7 +483,7 @@
int IndexModify = i * 2 + j;
<div class="col-sm-4">
<div class="input-group">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => CopyContent(item, IndexCopy, IndexModify)">Copy @(k)</button>
<button class="btn btn-outline-secondary btn-sm" @onclick="() => CopyContentSash(item, IndexCopy, IndexModify)">Copy @(k)</button>
</div>
</div>
}
@@ -621,13 +501,13 @@
<h5 class="card-title">Sash joints</h5>
<div class="row p-0 m-0 text-center">
<div class="col">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => AllJointsFrame(1, 1)">Angled</button>
<button class="btn btn-outline-secondary btn-sm" @onclick="() => AllJointsFrame(1, item)">Angled</button>
</div>
<div class="col">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => AllJointsFrame(2, 1)">Horizontal</button>
<button class="btn btn-outline-secondary btn-sm" @onclick="() => AllJointsFrame(2, item)">Horizontal</button>
</div>
<div class="col">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => AllJointsFrame(3, 1)">Vertical</button>
<button class="btn btn-outline-secondary btn-sm" @onclick="() => AllJointsFrame(3, item)">Vertical</button>
</div>
</div>
@foreach (Joint joint in item.JointList)
@@ -796,11 +676,12 @@
<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">Material</label>
<select class="form-select" id="MaterialWindow">
<option value="0">Wood</option>
<option value="1">PVC</option>
<option value="2">Aluminum</option>
<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">
@@ -820,10 +701,11 @@
<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">
<option value="0">Doppio vetro</option>
<option value="1">Triplo vetro</option>
<option value="2">Antieffrazione</option>
<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">
@@ -852,31 +734,15 @@
</select>
</div>
<div class="row">
<p class="d-inline-flex gap-1">
<div class="col">
<button type="button" class="@buttonCss(ColorWindow.Bianco)" @onclick="() => ChangeColorWindow(ColorWindow.Bianco)" data-bs-toggle=" button" aria-pressed="true">Bianco</button>
@* <button class="btn btn-outline-secondary btn-sm">Bianco</button> *@
</div>
<div class="col">
<button type="button" class="@buttonCss(ColorWindow.Grigio)" @onclick="() => ChangeColorWindow(ColorWindow.Grigio)" data-bs-toggle="button" aria-pressed="true">Grigio</button>
</div>
<div class="col">
<button type="button" class="@buttonCss(ColorWindow.Tortora)" @onclick="() => ChangeColorWindow(ColorWindow.Tortora)" data-bs-toggle="button" aria-pressed="true">Tortora</button>
</div>
</p>
</div>
<div class="row">
<p class="d-inline-flex gap-1">
<div class="col">
<button type="button" class="@buttonCss(ColorWindow.Blu)" @onclick="() => ChangeColorWindow(ColorWindow.Blu)" data-bs-toggle="button" aria-pressed="true">Blu</button>
</div>
<div class="col">
<button type="button" class="@buttonCss(ColorWindow.Verde)" @onclick="() => ChangeColorWindow(ColorWindow.Verde)" data-bs-toggle="button" aria-pressed="true">Verde</button>
</div>
<div class="col">
<button type="button" class="@buttonCss(ColorWindow.Nero)" @onclick="() => ChangeColorWindow(ColorWindow.Nero)" data-bs-toggle="button" aria-pressed="true">Nero</button>
</div>
</p>
<div class="input-group mb-2">
<label class="input-group-text" for="ColorWindow">Color</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>
</div>