Files
webwindowconfigurator/WebWindowComplex/TableComp.razor
T
2026-01-19 10:31:08 +01:00

247 lines
14 KiB
Plaintext

@using static WebWindowComplex.LayoutConst
<div class="row">
@if (isLoading)
{
<EgwCoreLib.Razor.LoadingData></EgwCoreLib.Razor.LoadingData>
}
else
{
if (listErrPre != null && listErrPre.Count > 0)
{
<div class="alert alert-danger">
<div class="fs-3">Errori validazione!</div>
<div class="col-12 col-md-6 col-lg-3">
<ul class="list-group">
@foreach (var item in listErrPre)
{
<li class="list-group-item">@item.Value</li>
}
</ul>
</div>
</div>
}
@* else if (listErrLink != null && listErrLink.Count > 0)
{
<div class="alert alert-danger">
<div class="fs-3">Errore configurazione:</div>
<div class="col-12">
<ul class="list-group">
@foreach (var item in listErrLink)
{
<li class="list-group-item">@item.Value</li>
}
</ul>
</div>
</div>
} *@
else
{
<div class="col-md-12 col-lg-6 d-flex flex-column">
<div class="card text-center table-svg shadow rounded">
<div class="card-header" style="background-color: #d5f1f2;">
<div class="row justify-content-between align-middle flex-wrap">
<div class="col-md-12 col-lg-6 d-grid px-2 d-md-flex justify-content-md-start flex-wrap">
<ul class="nav nav-tabs card-header-tabs">
<li class="nav-item m-1">
<button data-target="#Tree" class="@tabNavCss(CompileStep.Tree)" @onclick="() => NextStep(CompileStep.Tree)">Tree</button>
</li>
<li class="nav-item m-1">
<button data-target="#General" class="@tabNavCss(CompileStep.General)" @onclick="() => NextStep(CompileStep.General)">General</button>
</li>
@* @if (FrameWindow.Shape == Json.WindowConst.Shapes.ARC ||
FrameWindow.Shape == Json.WindowConst.Shapes.ARC_FULL ||
FrameWindow.Shape == Json.WindowConst.Shapes.DOUBLEARC ||
FrameWindow.Shape == Json.WindowConst.Shapes.THREECENTERARC)
{
<li class="nav-item m-1">
<button data-target="#ArcElement" class="@tabNavCss(CompileStep.ArcElement)" @onclick="() => NextStep(CompileStep.ArcElement)">Arc Elem</button>
</li>
} *@
</ul>
</div>
<div class="col-md-12 col-lg-6 d-grid gap-1 d-md-flex justify-content-md-end align-items-center flex-wrap">
<div class="col d-flex justify-content-md-end">
<button class="btn btn-lg btn-primary" style="font-size: 1rem;" @onclick="DoReset">Reset</button>
</div>
<div class="col d-flex justify-content-md-end">
<button class="btn btn-lg btn-primary" style="font-size: 1rem;" @onclick="DoSave">Save</button>
</div>
<div class="col d-flex justify-content-md-end">
<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">
@if (currStep == CompileStep.Tree)
{
<CardTree ItemTableList="m_ItemTableList"
maxCol="m_maxCol"
EC_NextStep="NextStepArgs">
</CardTree>
}
else if (currStep == CompileStep.Frame)
{
@if (m_CurrWindow != null)
{
m_PreviousWindow = m_CurrWindow;
}
<CascadingValue Value="baseUser" Name="User">
<CascadingValue Value="FrameWindow" Name="CurrFrameWindow">
<CascadingValue Value="m_SashList" Name="SashList">
<CascadingValue Value="m_SplitList" Name="SplitList">
<CardFrame EC_ReqResetDict="ReqResetDict"
EC_ReqOptionHw="UpdateHwOptionsFrame"
EC_UpdateFrame="UpdatePreviewFrame"
EC_ReqClose="ReturnTree">
</CardFrame>
</CascadingValue>
</CascadingValue>
</CascadingValue>
</CascadingValue>
}
else if (currStep == CompileStep.Split)
{
@if (currSplitIndex >= SplitList.Count || currSplitIndex == -1)
{
currStep = CompileStep.Tree;
}
else
{
<CascadingValue Value="baseUser" Name="User">
<CardSplit CurrSplit="SplitList[currSplitIndex]"
SashList="SashList"
SplitList="SplitList"
FrameWindow="FrameWindow"
EC_UpdateFrame="UpdatePreviewFrame"
EC_ReqResetDict="ReqResetDict"
EC_UpdateSplit="UpdatePreviewSplit"
EC_ReqClose="ReturnTree">
</CardSplit>
</CascadingValue>
}
}
else if (currStep == CompileStep.Sash)
{
@if (currSashIndex >= SashList.Count || currSashIndex == -1)
{
currStep = CompileStep.Tree;
}
else
{
<CascadingValue Value="baseUser" Name="User">
<CascadingValue Value="currLoading" Name="IsLoading">
<CascadingValue Value="SashList[currSashIndex]" Name="CurrSashGroup">
<CascadingValue Value="SashList" Name="SashList">
<CardSashGroup FrameWindow="FrameWindow"
EC_UpdateFrame="UpdatePreviewFrame"
EC_UpdateSashGroup="UpdatePreviewSashGroup"
EC_ReqResetDict="ReqResetDict"
EC_ReqOptionHw="UpdateHwOptionsSash"
EC_ReqFirstOptionHw="ReqFirstOptionHw"
EC_ReqClose="ReturnTree">
</CardSashGroup>
</CascadingValue>
</CascadingValue>
</CascadingValue>
</CascadingValue>
}
}
else if (currStep == CompileStep.Fill)
{
@if (currFillIndex >= FillList.Count || currFillIndex == -1)
{
currStep = CompileStep.Tree;
}
else
{
<CardFill CurrIndex="currFillIndex"
CurrFill="FillList[currFillIndex]"
User="baseUser"
EC_UpdateFill="UpdatePreviewFill"
EC_ReqClose="ReturnTree">
</CardFill>
<div class="card shadow-sm rounded mb-2">
<div class="card-body py-2">
<div class="d-flex justify-content-between align-items-center">
<div class="col-4 d-flex justify-content-left">
<h5 class="text-center text-nowrap">All fill</h5>
</div>
<div class="input-group mb-2 justify-content-center">
@if (baseUser)
{
<button class="@buttonFillCss(Json.WindowConst.FillTypes.GLASS)">All glass</button>
}
else
{
<button class="@buttonFillCss(Json.WindowConst.FillTypes.GLASS)" @onclick="() => ChangeAllFill(WebWindowComplex.Json.WindowConst.FillTypes.GLASS)">All glass</button>
}
</div>
<div class="input-group mb-2 justify-content-center">
@if (baseUser)
{
<button class="@buttonFillCss(Json.WindowConst.FillTypes.WOOD)">All wood</button>
}
else
{
<button class="@buttonFillCss(Json.WindowConst.FillTypes.WOOD)" @onclick="() => ChangeAllFill(WebWindowComplex.Json.WindowConst.FillTypes.WOOD)">All wood</button>
}
</div>
</div>
</div>
</div>
@if(!baseUser && SplittedList != null && SplittedList.Count > 0)
{
Splitted currSplitted = SplittedList.Where(x => x.AreaList.First().Equals(FillList[currFillIndex])).FirstOrDefault()?? new Splitted(null, null);
@if (currSplitted.ParentArea != null && currSplitted.ParentWindow != null){
<AreaSplit SashList="SashList"
SplittedList="SplittedList"
CurrSplitted="currSplitted"
EC_UpdateSplitted="UpdatePreviewSplitted">
</AreaSplit>
}
}
}
}
else if (currStep == CompileStep.General)
{
<General CurrWindow="m_CurrWindow"
ListPayload="ListPayload"
ListWarnings="listWarnings"
User="baseUser"
EC_UpdateGeneral="UpdatePreviewGeneral"
EC_ReqClose="ReturnTree">
</General>
}
@* else if (currStep == CompileStep.ArcElement)
{
<CardArcElement CurrFrame="FrameWindow"
SashList="m_SashList"
EC_UpdatePreview="UpdatePreviewFrame"
EC_ReqClose="ReturnTree">
</CardArcElement>
} *@
</div>
</div>
</div>
<div class="col-md-12 col-lg-6 d-flex flex-column">
@outSvg
</div>
if (listWarnings != null && listWarnings.Count > 0)
{
<div class="alert alert-warning">
<div class="fs-3">Mancata corrispondenza valori:</div>
<div class="col-12 col-md-6 col-lg-3">
<ul class="list-group">
@foreach (var item in listWarnings)
{
<li class="list-group-item">@item.Value</li>
}
</ul>
</div>
</div>
}
}
}
</div>