modifica display allarmi index +
fix crash per reloadAfterMessage
This commit is contained in:
@@ -7,49 +7,73 @@
|
||||
|
||||
@if (@ListRecords != null)
|
||||
{
|
||||
<div class="card-header px-0 py-1">
|
||||
<div class="d-flex justify-content-between">
|
||||
<div class="px-2">
|
||||
<b>Current alarms</b>
|
||||
@if (ListRecords.Count == 0)
|
||||
<div class="card-body px-0 py-0 @css() align-content-center rounded">
|
||||
<div>
|
||||
<div class="px-2 text-center">
|
||||
@if (!compMode)
|
||||
{
|
||||
<span class="badge m-2 bg-success text-light"><b>@ListRecords.Count</b></span>
|
||||
<b>Current alarms</b>
|
||||
@if (ListRecords.Count == 0)
|
||||
{
|
||||
<span class="badge m-2 bg-success text-light"><b>@ListRecords.Count</b></span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span class="badge m-2 bg-danger text-warning"><b>@ListRecords.Count</b></span>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<span class="badge m-2 bg-danger text-warning "><b>@ListRecords.Count</b></span>
|
||||
|
||||
@if (ListRecords.Count == 0)
|
||||
{
|
||||
|
||||
<h6 class="text-light"><b>ACTIVE ALARMS:</b><span class="badge m-2 bg-success text-light fs-6"><b>@ListRecords.Count</b></span></h6>
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
<h6 class="text-warning"><b>ACTIVE ALARMS:</b><span class="badge m-2 bg-danger text-warning fs-6"><b>@ListRecords.Count</b></span></h6>
|
||||
|
||||
}
|
||||
}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="d-grid p-0">
|
||||
<NavLink class="btn btn-outline-dark btn-block fw-bold" href="AlarmsAnalysis">
|
||||
<i class="bi bi-bar-chart pe-2" aria-hidden="true"></i> Alarm Analysis
|
||||
</NavLink>
|
||||
</div>
|
||||
@if (!compMode)
|
||||
{
|
||||
<div class="d-grid p-0">
|
||||
<NavLink class="btn btn-outline-dark btn-block fw-bold" href="AlarmsAnalysis">
|
||||
<i class="bi bi-bar-chart pe-2" aria-hidden="true"></i> Alarm Analysis
|
||||
</NavLink>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
if (@ListRecords.Count == 0)
|
||||
{
|
||||
<div class="alert alert-success text-center display-4 mb-0">All OK</div>
|
||||
}
|
||||
else
|
||||
@if (!compMode)
|
||||
{
|
||||
if (@ListRecords.Count == 0)
|
||||
{
|
||||
<div class="alert alert-success text-center display-4 mb-0">All OK</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
<ul class="list-group">
|
||||
@foreach (var item in ListRecords)
|
||||
{
|
||||
<li class="list-group-item alarms list-group-item-action text-warning bg-danger px-2">
|
||||
<div class="textConsensed w-100 small" title="order">
|
||||
<div class="small">
|
||||
@item.Title
|
||||
<ul class="list-group">
|
||||
@foreach (var item in ListRecords)
|
||||
{
|
||||
<li class="list-group-item alarms list-group-item-action text-warning bg-danger px-2">
|
||||
<div class="textConsensed w-100 small" title="order">
|
||||
<div class="small">
|
||||
@item.Title
|
||||
</div>
|
||||
<div class="">
|
||||
<span class="text-break">@item.Value</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<span class="text-break">@item.Value</span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
}
|
||||
</ul>
|
||||
</li>
|
||||
}
|
||||
</ul>
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -13,6 +13,9 @@ namespace MP.MONO.UI.Components
|
||||
[Parameter]
|
||||
public EventCallback<int> messageReceived { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public bool compMode { get; set; } = false;
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Public Methods
|
||||
@@ -22,6 +25,26 @@ namespace MP.MONO.UI.Components
|
||||
MMDataService.alarmPipe.EA_NewMessage -= AlarmPipe_EA_NewMessage;
|
||||
}
|
||||
|
||||
private string css()
|
||||
{
|
||||
string answ = "";
|
||||
if (compMode)
|
||||
{
|
||||
if (ListRecords != null)
|
||||
{
|
||||
if (ListRecords.Count == 0)
|
||||
{
|
||||
answ = "text-dark bg-success";
|
||||
}
|
||||
else
|
||||
{
|
||||
answ = "pulse-warning text-dark bg-danger";
|
||||
}
|
||||
}
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Platforms>AnyCPU;x86;x64</Platforms>
|
||||
<Version>1.2.2210.2717</Version>
|
||||
<Version>1.2.2210.2811</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
@@ -153,8 +153,11 @@ namespace MP.MONO.UI.Pages
|
||||
StateHasChanged();
|
||||
}
|
||||
|
||||
protected bool wait { get; set; } = true;
|
||||
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
wait = false;
|
||||
await ReloadData(true);
|
||||
StartTimer();
|
||||
}
|
||||
@@ -232,19 +235,22 @@ namespace MP.MONO.UI.Pages
|
||||
|
||||
protected async Task reloadFromMessage()
|
||||
{
|
||||
try
|
||||
if (wait == true)
|
||||
{
|
||||
aTimer.Stop();
|
||||
try
|
||||
{
|
||||
aTimer.Stop();
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
await ReloadData(true);
|
||||
try
|
||||
{
|
||||
aTimer.Start();
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
await ReloadData(true);
|
||||
try
|
||||
{
|
||||
aTimer.Start();
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
|
||||
protected void resetDate()
|
||||
|
||||
@@ -3,17 +3,30 @@
|
||||
<PageTitle>MP Mono UI</PageTitle>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header"><h1>MAPO-MONO</h1></div>
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between">
|
||||
<h1 class="col-5">MAPO-MONO</h1>
|
||||
|
||||
<div class="col-7 d-flex flex-row-start">
|
||||
<div class="px-0 mx-1 py-1 text-center rounded w-25">
|
||||
<NavLink href="Alarms" class="text-decoration-none">
|
||||
@*<h5 class="card-header text-center bg-primary"><i class="fa-solid fa-triangle-exclamation"></i> ALARMS</h5>*@
|
||||
<AlarmsOverview compMode="true"></AlarmsOverview>
|
||||
</NavLink>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
@*<div class="col">
|
||||
<NavLink href="Stats" class="text-decoration-none">
|
||||
<div class="card text-white mb-3">
|
||||
<h5 class="card-header text-center bg-primary"><i class="bi bi-graph-up-arrow pe-2"></i> MACHINE STATS</h5>
|
||||
<div class="card-body bg-light text-dark p-1">
|
||||
</div>
|
||||
</div>
|
||||
</NavLink>
|
||||
<NavLink href="Stats" class="text-decoration-none">
|
||||
<div class="card text-white mb-3">
|
||||
<h5 class="card-header text-center bg-primary"><i class="bi bi-graph-up-arrow pe-2"></i> MACHINE STATS</h5>
|
||||
<div class="card-body bg-light text-dark p-1">
|
||||
</div>
|
||||
</div>
|
||||
</NavLink>
|
||||
</div>*@
|
||||
<div class="col-3">
|
||||
<NavLink href="Production" class="text-decoration-none">
|
||||
@@ -25,14 +38,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</NavLink>
|
||||
<NavLink href="Alarms" class="text-decoration-none">
|
||||
<div class="card text-white mb-3">
|
||||
<h5 class="card-header text-center bg-primary"><i class="fa-solid fa-triangle-exclamation"></i> ALARMS</h5>
|
||||
<div class="card-body bg-light text-dark p-1">
|
||||
<AlarmsOverview></AlarmsOverview>
|
||||
</div>
|
||||
</div>
|
||||
</NavLink>
|
||||
</div>
|
||||
<div class="col-3">
|
||||
<NavLink href="Parameters" class="text-decoration-none">
|
||||
@@ -65,24 +70,24 @@
|
||||
</NavLink>
|
||||
</div>
|
||||
@*<div class="col">
|
||||
<NavLink href="Events" class="text-decoration-none">
|
||||
<div class="card text-white mb-3">
|
||||
<h5 class="card-header text-center bg-primary"><i class="fa-solid fa-clock-rotate-left"></i> EVENT HISTORY</h5>
|
||||
<div class="card-body bg-light text-dark p-1">
|
||||
<EventsOverview></EventsOverview>
|
||||
</div>
|
||||
</div>
|
||||
</NavLink>
|
||||
<NavLink href="Events" class="text-decoration-none">
|
||||
<div class="card text-white mb-3">
|
||||
<h5 class="card-header text-center bg-primary"><i class="fa-solid fa-clock-rotate-left"></i> EVENT HISTORY</h5>
|
||||
<div class="card-body bg-light text-dark p-1">
|
||||
<EventsOverview></EventsOverview>
|
||||
</div>
|
||||
</div>
|
||||
</NavLink>
|
||||
</div>*@
|
||||
@*<div class="col">
|
||||
<NavLink href="Activity" class="text-decoration-none">
|
||||
<div class="card text-white mb-3">
|
||||
<h5 class="card-header text-center bg-primary"><i class="fa-solid fa-wave-square"></i> ACTIVITY LOG</h5>
|
||||
<div class="card-body bg-light text-dark p-1">
|
||||
<ActivityOverview></ActivityOverview>
|
||||
</div>
|
||||
</div>
|
||||
</NavLink>
|
||||
<NavLink href="Activity" class="text-decoration-none">
|
||||
<div class="card text-white mb-3">
|
||||
<h5 class="card-header text-center bg-primary"><i class="fa-solid fa-wave-square"></i> ACTIVITY LOG</h5>
|
||||
<div class="card-body bg-light text-dark p-1">
|
||||
<ActivityOverview></ActivityOverview>
|
||||
</div>
|
||||
</div>
|
||||
</NavLink>
|
||||
</div>*@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
@inject CurrentDataService MMDataService
|
||||
|
||||
<div class="card">
|
||||
@*<div class="card">
|
||||
<div class="card-header">
|
||||
<div class="d-flex justify-content-between">
|
||||
<div>
|
||||
@@ -57,7 +57,5 @@
|
||||
</table>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>*@
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<body>
|
||||
<i>MAPO-MONO</i>
|
||||
<h4>Version: 1.2.2210.2717</h4>
|
||||
<h4>Version: 1.2.2210.2811</h4>
|
||||
<br /> Release Note:
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
@@ -1 +1 @@
|
||||
1.2.2210.2717
|
||||
1.2.2210.2811
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item>
|
||||
<version>1.2.2210.2717</version>
|
||||
<version>1.2.2210.2811</version>
|
||||
<url>http://nexus.steamware.net/repository/SWS/MP.MONO.UI/stable/LAST/MP.Mon.zip</url>
|
||||
<changelog>http://nexus.steamware.net/repository/SWS/MP.MONO.UI/stable/LAST/ChangeLog.html</changelog>
|
||||
<mandatory>false</mandatory>
|
||||
|
||||
@@ -19,6 +19,43 @@ body {
|
||||
/*font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;*/
|
||||
font-family: 'Roboto', sans-serif;
|
||||
}
|
||||
.pulse-warning {
|
||||
/*color: rgba(255, 255, 255, 0.8);*/
|
||||
box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0.8);
|
||||
animation: pulse-warning 2.5s infinite;
|
||||
}
|
||||
.pulse-warning:hover {
|
||||
color: #ffffff !important;
|
||||
}
|
||||
@-webkit-keyframes pulse-warning {
|
||||
0% {
|
||||
-webkit-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0.8);
|
||||
color: #ffffff;
|
||||
}
|
||||
70% {
|
||||
-webkit-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0);
|
||||
}
|
||||
100% {
|
||||
-webkit-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0.8);
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
@keyframes pulse-warning {
|
||||
0% {
|
||||
-moz-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0.8);
|
||||
box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0.8);
|
||||
color: #ffffff;
|
||||
}
|
||||
70% {
|
||||
-moz-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0);
|
||||
box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0);
|
||||
}
|
||||
100% {
|
||||
-moz-box-shadow: 0px 0px 20px 5px rgba(255, 170, 0, 0.8);
|
||||
box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0.8);
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
.textConsensed {
|
||||
font-family: 'Roboto Condensed', sans-serif;
|
||||
}
|
||||
|
||||
@@ -10,6 +10,50 @@ html, body {
|
||||
/*font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;*/
|
||||
font-family: 'Roboto', sans-serif;
|
||||
}
|
||||
.pulse-warning {
|
||||
/*color: rgba(255, 255, 255, 0.8);*/
|
||||
box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, .8);
|
||||
animation: pulse-warning 2.5s infinite;
|
||||
}
|
||||
|
||||
.pulse-warning:hover {
|
||||
color: rgba(255, 255, 255, 1) !important;
|
||||
}
|
||||
|
||||
@-webkit-keyframes pulse-warning {
|
||||
0% {
|
||||
-webkit-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, .8);
|
||||
color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
|
||||
70% {
|
||||
-webkit-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0);
|
||||
}
|
||||
|
||||
100% {
|
||||
-webkit-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, .8);
|
||||
color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes pulse-warning {
|
||||
0% {
|
||||
-moz-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, .8);
|
||||
box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, .8);
|
||||
color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
|
||||
70% {
|
||||
-moz-box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0);
|
||||
box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, 0);
|
||||
}
|
||||
|
||||
100% {
|
||||
-moz-box-shadow: 0px 0px 20px 5px rgba(255, 170, 0, .8);
|
||||
box-shadow: 0px 0px 20px 5px rgba(255, 0, 0, .8);
|
||||
color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
}
|
||||
|
||||
.textConsensed {
|
||||
font-family: 'Roboto Condensed', sans-serif;
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user