Files
2023-07-06 16:57:27 +02:00

153 lines
8.8 KiB
Plaintext

@page "/Parameters"
@inject MP.MONO.UI.Data.CurrentDataService MMDataService
<div class="card" style="box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;">
<div class="card-header">
<div class="row">
<div class="d-flex justify-content-between">
<div class="col-6 d-flex">
<div class="mx-0 pt-1">
<h5><i class="bi bi-list-check pe-2" aria-hidden="true"></i><b> PARAMETERS</b></h5>
</div>
<div class="d-flex justify-content-between mx-2">
<div class="me-3">
<button @onclick="() => resetSel()" class="btn btn-dark @btnResetCss" title="Reset Selection"><i class="fa-solid fa-repeat" title="reset selection"></i></button>
</div>
<div class="me-3">
<button @onclick="() => selAll()" class="btn btn-dark" title="Reset Selection"><i class="fa-regular fa-square-check" title="Select all"></i></button>
</div>
</div>
</div>
<div class="col-6 d-flex justify-content-between">
<div class="px-0">
<ToggleModes FilterChanged="updateFilter"></ToggleModes>
</div>
<div class="px-0">
<div class="d-flex flex-row-reverse">
<div class="p-0">
<div class="d-flex justify-content-between pt-0">
@if (isRT)
{
<button class="btn btn-outline-primary btn-sm mx-2"><i class="fa-solid fa-list-ol"></i> &nbsp @maxRecord</button>
<button class="btn btn-outline-primary btn-sm mx-2"><i class="fa-regular fa-clock"></i> &nbsp @sampleSecMin <sub>s</sub></button>
<button class="btn btn-outline-primary btn-sm mx-2"><i class="fa-solid fa-chart-line"></i> &nbsp @maxDisplay</button>
}
else
{
<button class="btn btn-outline-primary btn-sm mx-2"><i class="fa-solid fa-calendar"></i> &nbsp @DateFrom</button>
<button class="btn btn-outline-primary btn-sm mx-2"><i class="fa-solid fa-calendar"></i> &nbsp @DateTo</button>
}
<a class="py-1 text-dark" data-bs-toggle="offcanvas" data-bs-target="#offcanvasRight" aria-controls="offcanvasRight"><i class="fa-solid fa-bars" title="Toggle Filters"></i></a>
<div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasRight" aria-labelledby="offcanvasRightLabel">
<div class="offcanvas-header">
<h3 class="offcanvas-title" id="paramsFilterExampleLabel"><b>FILTERS</b></h3>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<div>
Filter by:
</div>
@if (isRT)
{
<div class="small mt-2">
<label class="px-2" for="" title="Max number of record to retrieve">Max record number</label>
</div>
<div class="input-group input-group-sm d-flex justify-content-between pt-0">
<input class="form-control" @bind="@maxRecord" />
</div>
<div class="small mt-2">
<label class="px-2" for="" title="Choose time to sample data">Sample Sec Time</label>
</div>
<div class="input-group input-group-sm d-flex justify-content-between pt-0">
<input class="form-control" @bind="@sampleSecMin" />
</div>
}
else
{
<div class="small mt-2">
<label class="px-2" title="Display data from specified date">From date:</label>
</div>
<div class="input-group input-group-sm d-flex justify-content-between pt-0">
<input type="date" class="form-control" placeholder="From" @bind-value="@DateFrom">
</div>
<div class="small mt-2">
<label class="px-2" title="Display until from specified date">To date;</label>
</div>
<div class="input-group input-group-sm d-flex justify-content-between pt-0">
<input type="date" class="form-control" placeholder="To" @bind-value="@DateTo">
</div>
}
<div class="small mt-2">
<label class="px-2" for="" title="Set Max number of items to plot">Max number of items to plot</label>
</div>
<div class="input-group input-group-sm d-flex justify-content-between pt-0">
<select class="form-control" @bind="@maxDisplay">
@if (ListRecords != null)
{
@for (int i = 1; i <= ListRecords.Count; i++)
{
<option value="@i">@i</option>
}
}
</select>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-3">
<ParamOverview SelVal="@selParams" EC_AddValue="paramAdded" EC_RemValue="paramRemoved" selectAll="@selectAll" sampleSecMin="@sampleSecMin"></ParamOverview>
</div>
<div class="col-9">
@if (selParams == null || selParams.Count == 0)
{
<div class="alert alert-info text-center">
<h3>&larr; please select an item to plot graph (max @maxDisplay)</h3>
</div>
}
else
{
<div class="row">
@if (isRT)
{
@foreach (var item in selParams)
{
<div class="@pcss">
<div class="flex-fill">
<ParamPlotRT SelectedParam="@item" maxRecord="@maxRecord" sampleSecMin="@sampleSecMin"></ParamPlotRT>
</div>
</div>
}
}
else
{
<MultiParamPlot SelectedParams="@selParams" SelFilter="@SelFilter"></MultiParamPlot>
}
</div>
}
</div>
</div>
</div>
</div>