update altri test...

This commit is contained in:
Samuele Locatelli
2024-02-23 09:03:17 +01:00
parent 4ad8b8e2aa
commit 7fe560326f
4 changed files with 84 additions and 46 deletions
+28 -11
View File
@@ -1,14 +1,31 @@
@page "/TestLoading"
<h3>TestLoading</h3>
<div>
<label class="form-label">Tempo sim</label>
<input css="form-control" @bind="@expTime" type="number" />
</div>
<div>
<label class="form-label">Num steps</label>
<input css="form-control" @bind="@numSteps" type="number" />
</div>
<button class="btn btn-success" @onclick="StartLongTimer">Start</button>
<ProgressDisplay RefreshInterval="100" Title="@titleMsg" MaxVal="@maxVal" CurrVal="@currVal" NextVal="@nextVal" ExpTimeMSec="@expTimeMSec" DisplaySize="ProgressDisplay.ModalSize.Medium" ModalCss="card alert-primary" SlowLimit="0.4"></ProgressDisplay>
<div class="card">
<div class="card-header">
<h3>Test Modale Loading</h3>
</div>
<div class="card-body py-1">
<div class="row">
<div class="col-4">
<div class="input-group w-100 mb-1">
<span class="input-group-text">Tempo sim</span>
<input class="form-control" @bind="@expTime" type="number" />
</div>
<div class="input-group w-100 mb-1">
<span class="input-group-text">Num steps</span>
<input class="form-control" @bind="@numSteps" type="number" />
</div>
<button class="btn btn-success w-100" @onclick="StartLongTimer">Start</button>
<div>@realTime</div>
</div>
<div class="col-8 small">
<h3>Fake Progressbar</h3>
<p>Modale che mostra avanzamento (progressbar con %) di un task lungo.</p>
<p>Devono essere definiti il numero degli step attesi e per ogni step la durata attesa di completamento.</p>
<p>Viene definito <b>fake</b> poiché l'avanzamento è artificialmente rallentato quando si approssima allo scadere di uno step per dare impressione di un sistema realmente (ri)calcolato di continuo, mentre al superamento di ogni step viene portato avanti il conteggio recuperando eventuali ritardi di stima.</p>
</div>
</div>
</div>
</div>
<ProgressDisplay RefreshInterval="100" Title="@titleMsg" MaxVal="@maxVal" CurrVal="@currVal" NextVal="@nextVal" ExpTimeMSec="@expTimeMSec" DisplaySize="ProgressDisplay.ModalSize.Medium" ModalCss="card alert-primary" SlowLimit="0.4"></ProgressDisplay>
@@ -1,18 +1,24 @@
using System.Diagnostics;
namespace EgwCoreLib.BlazorTest.Pages
{
public partial class TestLoading
{
#region Protected Properties
protected double expTime { get; set; } = 6;
protected int numSteps { get; set; } = 4;
protected double expTime { get; set; } = 5;
protected int numSteps { get; set; } = 10;
#endregion Protected Properties
#region Protected Methods
protected string realTime = "";
protected async Task StartLongTimer()
{
Stopwatch sw = new Stopwatch();
sw.Start();
maxVal = numSteps * 10;
double stdWait = expTime / numSteps;
int nextWait = 1000;
@@ -31,13 +37,15 @@ namespace EgwCoreLib.BlazorTest.Pages
nextVal = maxVal;
}
await InvokeAsync(StateHasChanged);
// simulo ritardo importante (da 2 a 3 volte
nextWait = (int)(rnd.Next(2000, 3000) * stdWait);
// simulo ritardo importante (da 0 a 2 volte)
nextWait = (int)(rnd.Next(100, 2000) * stdWait);
// attendo step successivi...
await Task.Delay(nextWait);
}
await Task.Delay(1);
currVal = maxVal;
sw.Stop();
realTime = $"Real: {sw.Elapsed.TotalSeconds:N3}s";
await InvokeAsync(StateHasChanged);
}
+44 -29
View File
@@ -11,38 +11,53 @@
<div class="row text-center">
<div class="col">
<div class="card">
@* <div class="card-header">Header</div> *@
<div class="card-body"><QrCodeDisplay rawCode="@qrCodeVal" ImgFormat="ZXing.BarcodeFormat.AZTEC"></QrCodeDisplay></div>
<div class="card-footer"><b>AZTEC</b></div>
</div>
</div>
<div class="col">
<div class="card">
<div class="card-body"><QrCodeDisplay rawCode="@qrCodeVal" ImgFormat="ZXing.BarcodeFormat.QR_CODE"></QrCodeDisplay></div>
<div class="card-footer"><b>QR_CODE</b></div>
</div>
</div>
<div class="col">
<div class="card">
<div class="card-body"><QrCodeDisplay rawCode="@qrCodeVal" ImgFormat="ZXing.BarcodeFormat.DATA_MATRIX"></QrCodeDisplay></div>
<div class="card-footer"><b>DATA_MATRIX</b></div>
</div>
</div>
<div class="col">
<div class="card">
<div class="card-header"><b>AZTEC</b></div>
<div class="card-body">
<br />
<br />
<br />
<QrCodeDisplay rawCode="@qrCodeVal" ImgFormat="ZXing.BarcodeFormat.PDF_417" Width="600" Height="200"></QrCodeDisplay>
@* <QrCodeDisplay rawCode="@qrCodeVal" ImgFormat="ZXing.BarcodeFormat.PDF_417" Width="600"></QrCodeDisplay> *@
<br />
<br />
<div class="d-flex align-items-center" style=" height: 13rem;">
<QrCodeDisplay rawCode="@qrCodeVal" ImgFormat="ZXing.BarcodeFormat.AZTEC"></QrCodeDisplay>
</div>
<hr />
<small>Quadrato, control point centrale</small>
</div>
@* <div class="card-footer"></div> *@
</div>
</div>
<div class="col">
<div class="card">
<div class="card-header"><b>QR_CODE</b></div>
<div class="card-body">
<div class="d-flex align-items-center" style=" height: 13rem;">
<QrCodeDisplay rawCode="@qrCodeVal" ImgFormat="ZXing.BarcodeFormat.QR_CODE"></QrCodeDisplay>
</div>
<hr />
<small>Quadrato, 3 control point vertici</small>
</div>
</div>
</div>
<div class="col">
<div class="card">
<div class="card-header"><b>DATA_MATRIX</b></div>
<div class="card-body">
<div class="d-flex align-items-center" style=" height: 13rem;">
<QrCodeDisplay rawCode="@qrCodeVal" ImgFormat="ZXing.BarcodeFormat.DATA_MATRIX"></QrCodeDisplay>
</div>
<hr />
<small>Quadrato/Rettangolare (se codice lungo), linee controllo sx/basso</small>
</div>
</div>
</div>
<div class="col">
<div class="card">
<div class="card-header"><b>PDF_417</b></div>
<div class="card-body">
<div class="d-flex align-items-center" style=" height: 13rem;">
<QrCodeDisplay rawCode="@qrCodeVal" ImgFormat="ZXing.BarcodeFormat.PDF_417" Width="600" Height="200"></QrCodeDisplay>
@* <QrCodeDisplay rawCode="@qrCodeVal" ImgFormat="ZXing.BarcodeFormat.PDF_417" Width="600"></QrCodeDisplay> *@
</div>
<hr />
<small>Rettangolare, linee controllo verticali sx/dx differenti (verso)</small>
</div>
<div class="card-footer"><b>PDF_417</b></div>
</div>
@* <h2>PDF_417</h2>
<QrCodeDisplay rawCode="@qrCodeVal" ImgFormat="ZXing.BarcodeFormat.PDF_417" Width="600" Height="300"></QrCodeDisplay> *@
</div>
</div>
</div>
@@ -60,7 +60,5 @@
</script>
<script src="~/lib/Chart.js/chart.js"></script>
<script src="~/lib/pdfobject/pdfobject.min.js"></script>
</body>
</html>