90 lines
2.4 KiB
Plaintext
90 lines
2.4 KiB
Plaintext
@if (RecMSE == null)
|
|
{
|
|
<div class="card text-white mapBlock rCAll bg-secondary p-0 m-0">
|
|
<div class="card-body">
|
|
<div class="placeholder-glow">
|
|
<span class="placeholder col-7"></span>
|
|
<span class="placeholder col-4"></span>
|
|
<span class="placeholder col-4"></span>
|
|
<span class="placeholder col-7"></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="card mapBlock rCAll @cssStatus(RecMSE.Semaforo) p-0 m-0">
|
|
<div class="card-body ">
|
|
<div class="fs-2">
|
|
@RecMSE.IdxMacchina
|
|
<div class="small">
|
|
@RecMSE.DescrizioneStato
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
@code {
|
|
|
|
[Parameter]
|
|
public MappaStatoExpl? RecMSE { get; set; } = null;
|
|
|
|
|
|
[Parameter]
|
|
public bool DoBlink { get; set; } = false;
|
|
|
|
[Parameter]
|
|
public bool DoAnimate { get; set; } = false;
|
|
|
|
|
|
[Parameter]
|
|
public int keepAliveMin { get; set; } = 5;
|
|
protected int kaFactor = 60 / 2;
|
|
|
|
protected override async Task OnParametersSetAsync()
|
|
{
|
|
Console.WriteLine($"MachineBlock | Parameter SET! | Macc: {RecMSE?.IdxMacchina}");
|
|
await InvokeAsync(StateHasChanged);
|
|
}
|
|
|
|
private string cssComStatus(string semaforo, DateTime? lastUpdateN)
|
|
{
|
|
DateTime lastUpdate = lastUpdateN.HasValue ? (DateTime)lastUpdateN : DateTime.Now.AddHours(-1);
|
|
string answ = cssStatus(semaforo);
|
|
if (DateTime.Now.Subtract(lastUpdate).TotalSeconds > (keepAliveMin * kaFactor))
|
|
{
|
|
answ = $"{baseCss}Ro";
|
|
// blink se secondo pari...
|
|
DateTime adesso = DateTime.Now;
|
|
int resto = 0;
|
|
Math.DivRem(adesso.Second, 2, out resto);
|
|
if (resto == 0)
|
|
{
|
|
answ += "_b";
|
|
}
|
|
}
|
|
return answ;
|
|
}
|
|
|
|
private string cssStatus(string codSemaforo)
|
|
{
|
|
// se vuoto --> mostra nero!
|
|
if (string.IsNullOrEmpty(codSemaforo))
|
|
{
|
|
codSemaforo = "sNe";
|
|
}
|
|
string codColore = codSemaforo.Substring(1, 2);
|
|
string answ = $"{baseCss}{codColore}";
|
|
if (DoAnimate && codColore != "Ve")
|
|
{
|
|
if (DoBlink)
|
|
{
|
|
answ += "_b";
|
|
}
|
|
}
|
|
return answ;
|
|
}
|
|
protected string baseCss = "sem";
|
|
}
|