();
+#endif
private int totalCount { get; set; } = 0;
#endregion Private Properties
@@ -170,7 +263,7 @@ namespace MP.SPEC.Components
private async Task reloadData()
{
isLoading = true;
- SearchRecords = await MDService.ListODLFilt(currFilter.IsActive, currFilter.SearchVal, currFilter.CodStato, currFilter.DtStart, currFilter.DtEnd);
+ SearchRecords = await MDService.ListODLFilt(currFilter.IsActive, currFilter.SearchVal, currFilter.CodStato, currFilter.IdxMacchina, currFilter.DtStart, currFilter.DtEnd);
totalCount = SearchRecords.Count;
ListRecords = SearchRecords.Skip(numRecord * (currPage - 1)).Take(numRecord).ToList();
await Task.Delay(1);
diff --git a/MP.SPEC/Components/ListPODL.razor b/MP.SPEC/Components/ListPODL.razor
index 8e79dcad..dafd63f2 100644
--- a/MP.SPEC/Components/ListPODL.razor
+++ b/MP.SPEC/Components/ListPODL.razor
@@ -35,6 +35,17 @@ else
|
+ @if (canStartOdl(record.IdxMacchina))
+ {
+
+ }
+ else
+ {
+ }
|
@record.CodArticolo
diff --git a/MP.SPEC/Components/ListPODL.razor.cs b/MP.SPEC/Components/ListPODL.razor.cs
index 80e3371f..c6c46400 100644
--- a/MP.SPEC/Components/ListPODL.razor.cs
+++ b/MP.SPEC/Components/ListPODL.razor.cs
@@ -49,7 +49,7 @@ namespace MP.SPEC.Components
protected MpDataService MDService { get; set; } = null!;
[Inject]
- protected IOApiService MpIoApiCall { get; set; }
+ protected IOApiService MpIoApiCall { get; set; } = null!;
[Inject]
protected MessageService MsgService { get; set; } = null!;
@@ -95,7 +95,7 @@ namespace MP.SPEC.Components
return;
await Task.Delay(1);
var done = await MDService.PODLDeleteRecord(selRec);
- await callSyncDb(selRec);
+ await callSyncDb(selRec.IdxMacchina);
currRecord = null;
await reloadData();
await Task.Delay(1);
@@ -142,6 +142,46 @@ namespace MP.SPEC.Components
await RecordSel.InvokeAsync(selRec);
}
+ protected async Task startOdl(PODLModel selRec)
+ {
+ if (selRec != null)
+ {
+ int idxEvento = 0;
+ string evMess = "";
+ // verifico ancora NON ci sia ODL corrente/aperto
+ if (canStartOdl(selRec.IdxMacchina))
+ {
+ await callStartSetup(selRec.IdxMacchina);
+ await Task.Delay(1);
+ // chiamo stored stp_ODL_inizioSetupPromessa e recupero ODL corrente
+ var newOdl = await MDService.POdlDoSetup(selRec);
+ if (newOdl != null)
+ {
+ // registro evento...
+ idxEvento = 2;
+ evMess = $"Inizio Setup | PODL {selRec.IdxPromessa}";
+ processaEvento(selRec.IdxMacchina, idxEvento, evMess, newOdl.IdxOdl, newOdl.CodArticolo);
+
+ // aspetto 1 sec
+ await Task.Delay(1000);
+
+ // registro inizio produzione
+ idxEvento = 2;
+ evMess = $"Registrata inizio Produzione | PODL {selRec.IdxPromessa} | ODL {newOdl.IdxOdl} | ART {newOdl.CodArticolo}";
+ processaEvento(selRec.IdxMacchina, idxEvento, evMess, newOdl.IdxOdl, newOdl.CodArticolo);
+
+ // chiamo task x IOB
+ await callForceUpdate(selRec.IdxMacchina);
+ await Task.Delay(1);
+ await callForceUpdate(selRec.IdxMacchina);
+ await Task.Delay(1);
+ await callSyncDb(selRec.IdxMacchina);
+ await Task.Delay(1);
+ }
+ }
+ }
+ }
+
protected async Task UpdateData()
{
currRecord = null;
@@ -200,12 +240,61 @@ namespace MP.SPEC.Components
///
///
///
- private async Task callSyncDb(PODLModel selRec)
+ private async Task addTask2Exe(string idxMacc, string taskName, string taskVal)
+ {
+ // compongo URL e chiamo
+ string restUrl = $"IOB/addTask2Exe/{idxMacc}?taskName={taskName}&taskVal={taskVal}";
+ var response = await MpIoApiCall.callMpIoUrlGet(restUrl);
+ }
+
+ ///
+ /// Chiama metodo x chiedere force Update
+ ///
+ ///
+ ///
+ private async Task callForceUpdate(string IdxMacc)
{
// chiamo aggiunta task SyncDb...
+ await addTask2Exe(IdxMacc, "ForceUpdate", $"SPEC|TS:{DateTime.Now:yyMMddHHmmss}");
+ }
+
+ ///
+ /// Chiama metodo x indicare inizio setup
+ ///
+ ///
+ ///
+ private async Task callStartSetup(string IdxMacc)
+ {
+ // chiamo evento inizio setup
+ await addTask2Exe(IdxMacc, "startSetup", $"SPEC|TS:{DateTime.Now:yyMMddHHmmss}");
+ }
+
+ ///
+ /// Chiama metodo x chiedere sync DB
+ ///
+ ///
+ ///
+ private async Task callSyncDb(string IdxMacc)
+ {
+ // chiamo aggiunta task SyncDb...
+ await addTask2Exe(IdxMacc, "syncDbData", "");
+#if false
string idxMacc = selRec.IdxMacchina;
string restUrl = $"IOB/addTask2Exe/{idxMacc}?taskName=syncDbData&taskVal=";
var response = await MpIoApiCall.callMpIoUrlGet(restUrl);
+#endif
+ }
+
+ ///
+ /// verifica se sia avviabile ODL x macchina
+ ///
+ ///
+ ///
+ private bool canStartOdl(string idxMacchina)
+ {
+ // fare!!!
+ bool answ = idxMacchina.Contains("BAG");
+ return answ;
}
private async void MessageService_EA_PageUpdated()
@@ -224,6 +313,37 @@ namespace MP.SPEC.Components
});
}
+ ///
+ /// processa evento richiesto
+ ///
+ ///
+ ///
+ ///
+ ///
+ private async void processaEvento(string idxMacc, int idxEvento, string userMsg, int idxODL, string codArticolo)
+ {
+ // se manca codart calcolo...
+ if (string.IsNullOrEmpty(codArticolo))
+ {
+ var currOdl = await MDService.OdlGetByKey(idxODL);
+ codArticolo = currOdl.CodArticolo;
+ }
+
+ // scrivo evento scriviRigaEventoBarcode
+ EventListModel newRec = new EventListModel()
+ {
+ IdxMacchina = idxMacc,
+ InizioStato = DateTime.Now,
+ IdxTipo = idxEvento,
+ CodArticolo = codArticolo,
+ MatrOpr = 0,
+ pallet = "",
+ Value = userMsg
+ };
+
+ await MDService.EvListInsert(newRec);
+ }
+
private async Task reloadData()
{
isLoading = true;
diff --git a/MP.SPEC/Data/MpDataService.cs b/MP.SPEC/Data/MpDataService.cs
index 261bd042..75c9ce78 100644
--- a/MP.SPEC/Data/MpDataService.cs
+++ b/MP.SPEC/Data/MpDataService.cs
@@ -127,6 +127,41 @@ namespace MP.SPEC.Data
return result;
}
+ ///
+ /// Elenco Codice articolo con dati dossier gestiti
+ ///
+ ///
+ public async Task> ArticleWithDossier()
+ {
+ List? result = new List();
+ Stopwatch stopWatch = new Stopwatch();
+ stopWatch.Start();
+ string readType = "DB";
+ string currKey = redisArtByDossier;
+ // cerco in redis dato valore sel macchina...
+ RedisValue rawData = redisDb.StringGet(currKey);
+ if (rawData.HasValue)
+ {
+ result = JsonConvert.DeserializeObject>($"{rawData}");
+ readType = "REDIS";
+ }
+ else
+ {
+ result = await Task.FromResult(dbController.ArticleWithDossier());
+ // serializzp e salvo...
+ rawData = JsonConvert.SerializeObject(result);
+ redisDb.StringSet(currKey, rawData, getRandTOut(redisLongTimeCache));
+ }
+ if (result == null)
+ {
+ result = new List();
+ }
+ stopWatch.Stop();
+ TimeSpan ts = stopWatch.Elapsed;
+ Log.Debug($"ArticleWithDossier | Read from {readType}: {ts.TotalMilliseconds}ms");
+ return result;
+ }
+
///
/// Eliminazione record selezionato
///
@@ -274,69 +309,6 @@ namespace MP.SPEC.Data
return await Task.FromResult(dbController.ConfigUpdate(updRec));
}
- public List getFluxLog(string Valore)
- {
- List answ = new List();
- DossierFluxLogDTO? result = JsonConvert.DeserializeObject(Valore);
- if (result != null)
- {
- if (result.ODL != null)
- {
- answ = result
- .ODL
- .OrderBy(x => x.CodFlux)
- .ToList();
- // inizializzo SE necessario
- foreach (var item in answ)
- {
- item.ValoreEdit = String.IsNullOrEmpty(item.ValoreEdit) ? item.Valore : item.ValoreEdit;
- }
- }
- }
- return answ;
- }
-
- public async Task updateDossierValue(Dossiers currDoss, FluxLogDTO editFL)
- {
- bool answ = false;
- // recupero intero set valori dossier deserializzando...
- var fluxLogList = getFluxLog(currDoss.Valore);
- await Task.Delay(1);
-
- // se tutto ok
- if (fluxLogList != null)
- {
- // da provare...!!!!
-
- // elimino vecchio record
- var currRec = fluxLogList.FirstOrDefault(x => x.CodFlux == editFL.CodFlux && x.dtEvento == editFL.dtEvento);
- if (currRec != null)
- {
- fluxLogList.Remove(currRec);
- // aggiungo nuovo
- fluxLogList.Add(editFL);
- }
-
-
- // serializzo nuovamente valore
- DossierFluxLogDTO? result = new DossierFluxLogDTO();
- var ODLflux = result.ODL.ToList();
- foreach (var item in fluxLogList)
- {
- ODLflux.Add(item);
- }
-
- DossierFluxLogDTO updatedResult = new DossierFluxLogDTO(){ODL = ODLflux};
-
- string rawVal = JsonConvert.SerializeObject(updatedResult);
- currDoss.Valore = rawVal;
- // aggiorno record sul DB
- await dbController.DossiersUpdateValore(currDoss);
- }
-
- return answ;
- }
-
public void Dispose()
{
// Clear database controller
@@ -454,16 +426,6 @@ namespace MP.SPEC.Data
return Task.FromResult(dbController.AnagGruppiAziende());
}
-
- ///
- /// Statistiche ODL calcolate (da stored stp_STAT_ODL)
- ///
- ///
- public Task> StatOdl(int IdxOdl)
- {
- return dbController.StatOdl(IdxOdl);
- }
-
///
/// Restitusice elenco fasi
///
@@ -478,6 +440,16 @@ namespace MP.SPEC.Data
return Task.FromResult(dbController.ElencoLink());
}
+ ///
+ /// Aggiunta record EventList
+ ///
+ ///
+ ///
+ public async Task EvListInsert(EventListModel newRec)
+ {
+ return await dbController.EvListInsert(newRec);
+ }
+
public async Task FlushRedisCache()
{
await Task.Delay(1);
@@ -514,6 +486,28 @@ namespace MP.SPEC.Data
return Task.FromResult(currTagConf);
}
+ public List getFluxLog(string Valore)
+ {
+ List answ = new List();
+ DossierFluxLogDTO? result = JsonConvert.DeserializeObject(Valore);
+ if (result != null)
+ {
+ if (result.ODL != null)
+ {
+ answ = result
+ .ODL
+ .OrderBy(x => x.CodFlux)
+ .ToList();
+ // inizializzo SE necessario
+ foreach (var item in answ)
+ {
+ item.ValoreEdit = String.IsNullOrEmpty(item.ValoreEdit) ? item.Valore : item.ValoreEdit;
+ }
+ }
+ }
+ return answ;
+ }
+
///
/// restituisce il valore da REDIS associato al tag richeisto
///
@@ -537,10 +531,11 @@ namespace MP.SPEC.Data
/// Stato ODL: true=in corso/completato
/// Cod articolo
/// KeyRich (parziale) da cercare (es cod stato x yacht)
+ /// id macchina da cercare
///
- public async Task> ListODLFilt(bool inCorso, string codArt, string keyRichPart, DateTime startDate, DateTime endDate)
+ public async Task> ListODLFilt(bool inCorso, string codArt, string keyRichPart, string IdxMacchina, DateTime startDate, DateTime endDate)
{
- return await Task.FromResult(dbController.ListODLFilt(inCorso, codArt, keyRichPart, startDate, endDate));
+ return await Task.FromResult(dbController.ListODLFilt(inCorso, codArt, keyRichPart, IdxMacchina, startDate, endDate));
}
///
@@ -624,40 +619,49 @@ namespace MP.SPEC.Data
return result;
}
+ ///
+ /// Effettua chiusura dell'ODL indicato, andand
+ ///
+ /// idx odl da chiudere
+ /// idx macchina
+ /// matricola operatore
+ /// indica se confermare i pezzi priam di chiudere ODL
+ public async Task ODLClose(int idxOdl, string idxMacchina, int matrOpr, bool confPezzi)
+ {
+ bool fatto = false;
+ await Task.Delay(1);
+ // recupero dati x conf modalità conferma
+ var configData = await ConfigGetAll();
+ if (configData != null)
+ {
+ bool confRett = false;
+ var currRec = configData.FirstOrDefault(x => x.Chiave == "confRett");
+ if (currRec != null)
+ {
+ bool.TryParse(currRec.Valore, out confRett);
+ }
+ int modoConfProd = 0;
+ currRec = configData.FirstOrDefault(x => x.Chiave == "modoConfProd");
+ if (currRec != null)
+ {
+ int.TryParse(currRec.Valore, out modoConfProd);
+ }
+ // chiamo metodo conferma!
+ fatto = await dbController.ODLClose(idxOdl, idxMacchina, matrOpr, confPezzi, confRett, modoConfProd);
+ }
+
+ return fatto;
+ }
///
- /// Elenco Codice articolo con dati dossier gestiti
+ /// Record ODL da chaive
///
///
- public async Task> ArticleWithDossier()
+ public async Task OdlGetByKey(int IdxOdl)
{
- List? result = new List();
- Stopwatch stopWatch = new Stopwatch();
- stopWatch.Start();
- string readType = "DB";
- string currKey = redisArtByDossier;
- // cerco in redis dato valore sel macchina...
- RedisValue rawData = redisDb.StringGet(currKey);
- if (rawData.HasValue)
- {
- result = JsonConvert.DeserializeObject>($"{rawData}");
- readType = "REDIS";
- }
- else
- {
- result = await Task.FromResult(dbController.ArticleWithDossier());
- // serializzp e salvo...
- rawData = JsonConvert.SerializeObject(result);
- redisDb.StringSet(currKey, rawData, getRandTOut(redisLongTimeCache));
- }
- if (result == null)
- {
- result = new List();
- }
- stopWatch.Stop();
- TimeSpan ts = stopWatch.Elapsed;
- Log.Debug($"ArticleWithDossier | Read from {readType}: {ts.TotalMilliseconds}ms");
- return result;
+ await Task.Delay(1);
+ var dbResult = dbController.OdlGetByKey(IdxOdl);
+ return dbResult;
}
///
@@ -706,6 +710,16 @@ namespace MP.SPEC.Data
return await dbController.PODLDeleteRecord(currRec);
}
+ ///
+ /// Avvio fase setup per il record selezionato
+ ///
+ ///
+ ///
+ public async Task POdlDoSetup(PODLModel currRec)
+ {
+ return await dbController.PODL_startSetup(currRec, 0, 1, 1, "");
+ }
+
///
/// Aggiornamento record selezionato
///
@@ -716,6 +730,55 @@ namespace MP.SPEC.Data
return await dbController.PODLUpdateRecord(currRec);
}
+ ///
+ /// Statistiche ODL calcolate (da stored stp_STAT_ODL)
+ ///
+ ///
+ public Task> StatOdl(int IdxOdl)
+ {
+ return dbController.StatOdl(IdxOdl);
+ }
+
+ public async Task updateDossierValue(Dossiers currDoss, FluxLogDTO editFL)
+ {
+ bool answ = false;
+ // recupero intero set valori dossier deserializzando...
+ var fluxLogList = getFluxLog(currDoss.Valore);
+ await Task.Delay(1);
+
+ // se tutto ok
+ if (fluxLogList != null)
+ {
+ // da provare...!!!!
+
+ // elimino vecchio record
+ var currRec = fluxLogList.FirstOrDefault(x => x.CodFlux == editFL.CodFlux && x.dtEvento == editFL.dtEvento);
+ if (currRec != null)
+ {
+ fluxLogList.Remove(currRec);
+ // aggiungo nuovo
+ fluxLogList.Add(editFL);
+ }
+
+ // serializzo nuovamente valore
+ DossierFluxLogDTO? result = new DossierFluxLogDTO();
+ var ODLflux = result.ODL.ToList();
+ foreach (var item in fluxLogList)
+ {
+ ODLflux.Add(item);
+ }
+
+ DossierFluxLogDTO updatedResult = new DossierFluxLogDTO() { ODL = ODLflux };
+
+ string rawVal = JsonConvert.SerializeObject(updatedResult);
+ currDoss.Valore = rawVal;
+ // aggiorno record sul DB
+ await dbController.DossiersUpdateValore(currDoss);
+ }
+
+ return answ;
+ }
+
#endregion Public Methods
#region Protected Fields
@@ -741,6 +804,7 @@ namespace MP.SPEC.Data
#region Private Fields
+ private const string redisArtByDossier = redisBaseAddr + "SPEC:Cache:ArtByDossier";
private const string redisBaseAddr = "MP:";
private const string redisConfKey = redisBaseAddr + "SPEC:Cache:Config";
@@ -750,9 +814,6 @@ namespace MP.SPEC.Data
private const string redisFluxByMac = redisBaseAddr + "SPEC:Cache:FluxByMac";
private const string redisMacByFlux = redisBaseAddr + "SPEC:Cache:MacByFlux";
-
- private const string redisArtByDossier = redisBaseAddr + "SPEC:Cache:ArtByDossier";
-
private const string redisMacList = redisBaseAddr + "SPEC:Cache:MacList";
private const string redisStatoCom = redisBaseAddr + "SPEC:Cache:StatoCom";
diff --git a/MP.SPEC/Data/SelectOdlParams.cs b/MP.SPEC/Data/SelectOdlParams.cs
index c2e9de0f..47a23ad0 100644
--- a/MP.SPEC/Data/SelectOdlParams.cs
+++ b/MP.SPEC/Data/SelectOdlParams.cs
@@ -14,6 +14,7 @@ namespace MP.SPEC.Data
#region Public Properties
public string CodStato { get; set; } = "*";
+ public string IdxMacchina { get; set; } = "*";
public int CurrPage { get; set; } = 1;
public int NumRec { get; set; } = 10;
public DateTime DtEnd { get; set; } = Utils.InitDatetime(DateTime.Now, 5);
@@ -37,6 +38,9 @@ namespace MP.SPEC.Data
if (CodStato != item.CodStato)
return false;
+ if (IdxMacchina != item.IdxMacchina)
+ return false;
+
if (MaxRecord != item.MaxRecord)
return false;
diff --git a/MP.SPEC/MP.SPEC.csproj b/MP.SPEC/MP.SPEC.csproj
index 1692824a..dff9d1e3 100644
--- a/MP.SPEC/MP.SPEC.csproj
+++ b/MP.SPEC/MP.SPEC.csproj
@@ -5,7 +5,7 @@
enable
enable
MP.SPEC
- 6.16.2210.1417
+ 6.16.2210.1808
diff --git a/MP.SPEC/Pages/ODL.razor b/MP.SPEC/Pages/ODL.razor
index 0e9fba25..e1d49972 100644
--- a/MP.SPEC/Pages/ODL.razor
+++ b/MP.SPEC/Pages/ODL.razor
@@ -37,11 +37,11 @@
-
+
-
-
+
+
+
+
+
+
+
+
+
+ @if (ListMacchine != null)
+ {
+ foreach (var item in ListMacchine)
+ {
+
+ }
+ }
+
+
+
@if (!isActive)
{
@@ -83,4 +102,3 @@
-
diff --git a/MP.SPEC/Pages/ODL.razor.cs b/MP.SPEC/Pages/ODL.razor.cs
index 48cd0004..a9b5aba2 100644
--- a/MP.SPEC/Pages/ODL.razor.cs
+++ b/MP.SPEC/Pages/ODL.razor.cs
@@ -92,6 +92,7 @@ namespace MP.SPEC.Pages
// resetto search
MsgService.SearchVal = "";
ListStati = await MDService.AnagStatiComm();
+ ListMacchine = await MDService.MacchineWithFlux();
#if false
// carico dati
await reloadData();
@@ -123,6 +124,7 @@ namespace MP.SPEC.Pages
#region Private Fields
private List? ListStati;
+ private List? ListMacchine;
#endregion Private Fields
@@ -159,6 +161,11 @@ namespace MP.SPEC.Pages
get => currFilter.CodStato;
set => currFilter.CodStato = value;
}
+ private string selMacchina
+ {
+ get => currFilter.IdxMacchina;
+ set => currFilter.IdxMacchina = value;
+ }
private int totalCount
{
diff --git a/MP.SPEC/Pages/PODL.razor.cs b/MP.SPEC/Pages/PODL.razor.cs
index 964dc448..10e1038d 100644
--- a/MP.SPEC/Pages/PODL.razor.cs
+++ b/MP.SPEC/Pages/PODL.razor.cs
@@ -20,19 +20,19 @@ namespace MP.SPEC.Pages
#region Protected Properties
[Inject]
- protected IJSRuntime JSRuntime { get; set; }
+ protected IJSRuntime JSRuntime { get; set; } = null!;
[Inject]
- protected MpDataService MDService { get; set; }
+ protected MpDataService MDService { get; set; } = null!;
[Inject]
- protected IOApiService MpIoApiCall { get; set; }
+ protected IOApiService MpIoApiCall { get; set; } = null!;
[Inject]
- protected MessageService MsgService { get; set; }
+ protected MessageService MsgService { get; set; } = null!;
[Inject]
- protected NavigationManager NavManager { get; set; }
+ protected NavigationManager NavManager { get; set; } = null!;
#endregion Protected Properties
diff --git a/MP.SPEC/Pages/_Layout.cshtml b/MP.SPEC/Pages/_Layout.cshtml
index e1d1070d..e20191f1 100644
--- a/MP.SPEC/Pages/_Layout.cshtml
+++ b/MP.SPEC/Pages/_Layout.cshtml
@@ -32,8 +32,8 @@
-
+
@*Gestione autoriconnessione: https://github.com/dotnet/aspnetcore/issues/38305 (vedere anche https://docs.microsoft.com/it-it/aspnet/core/blazor/fundamentals/signalr?view=aspnetcore-6.0#modify-the-reconnection-handler-blazor-server)*@
diff --git a/MP.SPEC/Resources/ChangeLog.html b/MP.SPEC/Resources/ChangeLog.html
index 6f4a2e82..6223fb6c 100644
--- a/MP.SPEC/Resources/ChangeLog.html
+++ b/MP.SPEC/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo MAPOSPEC
- Versione: 6.16.2210.1417
+ Versione: 6.16.2210.1808
Note di rilascio:
-
diff --git a/MP.SPEC/Resources/VersNum.txt b/MP.SPEC/Resources/VersNum.txt
index d3fb3511..96c69795 100644
--- a/MP.SPEC/Resources/VersNum.txt
+++ b/MP.SPEC/Resources/VersNum.txt
@@ -1 +1 @@
-6.16.2210.1417
+6.16.2210.1808
diff --git a/MP.SPEC/Resources/manifest.xml b/MP.SPEC/Resources/manifest.xml
index b1bfc31c..c877fcf2 100644
--- a/MP.SPEC/Resources/manifest.xml
+++ b/MP.SPEC/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 6.16.2210.1417
+ 6.16.2210.1808
https://nexus.steamware.net/repository/SWS/MP-SPEC/stable/LAST/MP.SPEC.zip
https://nexus.steamware.net/repository/SWS/MP-SPEC/stable/LAST/ChangeLog.html
false
diff --git a/MP.SPEC/wwwroot/css/site.css b/MP.SPEC/wwwroot/css/site.css
index 4e954d9b..a5c2e7d7 100644
--- a/MP.SPEC/wwwroot/css/site.css
+++ b/MP.SPEC/wwwroot/css/site.css
@@ -95,7 +95,6 @@ a,
}
.dcOverlay {
z-index: 9;
- margin: 8.5rem;
}
#blazor-error-ui {
background: lightyellow;
diff --git a/MP.SPEC/wwwroot/css/site.less b/MP.SPEC/wwwroot/css/site.less
index a53999be..b3df8dc6 100644
--- a/MP.SPEC/wwwroot/css/site.less
+++ b/MP.SPEC/wwwroot/css/site.less
@@ -102,7 +102,6 @@ a, .btn-link {
.dcOverlay {
z-index: 9;
- margin: 8.5rem;
}
#blazor-error-ui {
diff --git a/MP.SPEC/wwwroot/css/site.min.css b/MP.SPEC/wwwroot/css/site.min.css
index 2ccf4b3e..5e039876 100644
--- a/MP.SPEC/wwwroot/css/site.min.css
+++ b/MP.SPEC/wwwroot/css/site.min.css
@@ -1 +1 @@
-@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');@import url('fonts.css');h1,h2,h3,h4,h5,h6,b,display-1,display-2,display-3,display-4{font-family:'Lato',sans-serif;}html,body{font-family:'Roboto',sans-serif;}.textConsensed{font-family:'Roboto Condensed',sans-serif;}h1:focus{outline:none;}a,.btn-link{color:#0071c1;}.btn-primary{color:#fff;background-color:#1b6ec2;border-color:#1861ac;}.content{padding-top:1.1rem;}.valid.modified:not([type=checkbox]){outline:1px solid #26b050;}.invalid{outline:1px solid #f00;}.validation-message{color:#f00;}.selBlock{background-color:#cff4fc;}.watermark{position:absolute;top:250px;left:500px;opacity:.2;}.textTrim{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.max5Char{white-space:nowrap;width:10rem;overflow:hidden;text-overflow:ellipsis;}.max10Char{white-space:nowrap;width:10rem;overflow:hidden;text-overflow:ellipsis;}.max20Char{white-space:nowrap;width:20rem;overflow:hidden;text-overflow:ellipsis;}.footer{line-height:1.8em;}.dcContainer{width:22rem;height:22rem;position:relative;}.dcBox{width:100%;height:100%;position:absolute;top:0;left:0;}.dcOverlay{z-index:9;margin:8.5rem;}#blazor-error-ui{background:#ffffe0;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:1000;}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem;}.blazor-error-boundary{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem,#b32121;padding:1rem 1rem 1rem 3.7rem;color:#fff;}.blazor-error-boundary::after{content:"An error has occurred.";}.shortcuts{text-align:center;}.shortcuts .shortcut-icon{font-size:2rem;}.shortcuts .shortcut{min-width:9rem;min-height:5rem;display:inline-block;padding:2rem/3 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut-sm{min-width:4.5rem;min-height:3rem;display:inline-block;padding:1rem/4 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut-sm .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut-sm:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut-sm:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut:hover .shortcut-icon{color:#c93;}.shortcuts .shortcut-sm:hover .shortcut-icon{color:#666;}.shortcuts .shortcut-label{display:block;margin-top:.75em;font-weight:400;color:#666;}@media(max-width:640px){.shortcuts .shortcut{min-width:8rem;min-height:4rem;}body{font-size:.8em;}}.shortcuts{text-align:center;}.shortcuts .shortcut{min-width:9rem;min-height:5rem;display:inline-block;padding:.66666667rem 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:.5em;}.shortcuts .shortcut-sm{min-width:4.5rem;min-height:3rem;display:inline-block;padding:1rem/4 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut-sm .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut-sm:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut-sm:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut:hover .shortcut-icon{color:#c93;}.shortcuts .shortcut-sm:hover .shortcut-icon{color:#666;}.shortcuts .shortcut-label{display:block;margin-top:.75em;font-weight:400;color:#666;}@media(max-width:992px){.shortcuts .shortcut{min-width:8rem;min-height:4rem;}}
\ No newline at end of file
+@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');@import url('fonts.css');h1,h2,h3,h4,h5,h6,b,display-1,display-2,display-3,display-4{font-family:'Lato',sans-serif;}html,body{font-family:'Roboto',sans-serif;}.textConsensed{font-family:'Roboto Condensed',sans-serif;}h1:focus{outline:none;}a,.btn-link{color:#0071c1;}.btn-primary{color:#fff;background-color:#1b6ec2;border-color:#1861ac;}.content{padding-top:1.1rem;}.valid.modified:not([type=checkbox]){outline:1px solid #26b050;}.invalid{outline:1px solid #f00;}.validation-message{color:#f00;}.selBlock{background-color:#cff4fc;}.watermark{position:absolute;top:250px;left:500px;opacity:.2;}.textTrim{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.max5Char{white-space:nowrap;width:10rem;overflow:hidden;text-overflow:ellipsis;}.max10Char{white-space:nowrap;width:10rem;overflow:hidden;text-overflow:ellipsis;}.max20Char{white-space:nowrap;width:20rem;overflow:hidden;text-overflow:ellipsis;}.footer{line-height:1.8em;}.dcContainer{width:22rem;height:22rem;position:relative;}.dcBox{width:100%;height:100%;position:absolute;top:0;left:0;}.dcOverlay{z-index:9;}#blazor-error-ui{background:#ffffe0;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:1000;}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem;}.blazor-error-boundary{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem,#b32121;padding:1rem 1rem 1rem 3.7rem;color:#fff;}.blazor-error-boundary::after{content:"An error has occurred.";}.shortcuts{text-align:center;}.shortcuts .shortcut-icon{font-size:2rem;}.shortcuts .shortcut{min-width:9rem;min-height:5rem;display:inline-block;padding:2rem/3 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut-sm{min-width:4.5rem;min-height:3rem;display:inline-block;padding:1rem/4 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut-sm .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut-sm:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut-sm:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut:hover .shortcut-icon{color:#c93;}.shortcuts .shortcut-sm:hover .shortcut-icon{color:#666;}.shortcuts .shortcut-label{display:block;margin-top:.75em;font-weight:400;color:#666;}@media(max-width:640px){.shortcuts .shortcut{min-width:8rem;min-height:4rem;}body{font-size:.8em;}}.shortcuts{text-align:center;}.shortcuts .shortcut{min-width:9rem;min-height:5rem;display:inline-block;padding:.66666667rem 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:.5em;}.shortcuts .shortcut-sm{min-width:4.5rem;min-height:3rem;display:inline-block;padding:1rem/4 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:1rem/2;}.shortcuts .shortcut .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut-sm .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut-sm:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut-sm:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut:hover .shortcut-icon{color:#c93;}.shortcuts .shortcut-sm:hover .shortcut-icon{color:#666;}.shortcuts .shortcut-label{display:block;margin-top:.75em;font-weight:400;color:#666;}@media(max-width:992px){.shortcuts .shortcut{min-width:8rem;min-height:4rem;}}
\ No newline at end of file
diff --git a/MP.SPEC/wwwroot/lib/chartBoot.js b/MP.SPEC/wwwroot/lib/chartBoot.js
index 50401512..d8e9de3e 100644
--- a/MP.SPEC/wwwroot/lib/chartBoot.js
+++ b/MP.SPEC/wwwroot/lib/chartBoot.js
@@ -1,20 +1,12 @@
///Setup del chart desiderato con id univoco
window.setup = (id, config) => {
var ctx = document.getElementById(id).getContext('2d');
- //let currentDate = new Date();
- //console.log(currentDate + " - Calling setup...");
- console.log(id);
if (window['myChart'] instanceof Chart) {
- //window.myChart.destroy();
window['myChart'].destroy();
- console.log("Chart " + id + " destroyed!");
window['myChart'] = new Chart(ctx, config);
}
- else
- {
+ else {
window['myChart'] = new Chart(ctx, config);
- //console.log("Chart " + id + " created!");
- console.log(window['myChart']);
}
}
\ No newline at end of file
diff --git a/MP.SPEC/wwwroot/lib/modalHandler.js b/MP.SPEC/wwwroot/lib/modalHandler.js
new file mode 100644
index 00000000..d951b3a5
--- /dev/null
+++ b/MP.SPEC/wwwroot/lib/modalHandler.js
@@ -0,0 +1,32 @@
+//window.recordDeselect = (dotNetHelper) => {
+// var myModalEl = document.getElementById('myModal')
+// myModalEl.addEventListener('hidden.bs.modal', function (event) {
+// // do something...
+// //dotNetHelper.invokeMethodAsync('TriggerDotNetInstanceMethod');
+// return dotNetHelper.invokeMethodAsync('svuotaRecord');
+// console.log("fatto");
+// });
+//};
+
+
+//TENTATIVO POPOLAMENTO HELPER PER POTER INVOCARE IL METODO DOPO
+//let helper;
+
+//window.setHelper = (dotNetHelper) => {
+// helper = dotNetHelper.invokeMethodAsync('setHelper');
+// console.log(helper);
+// return dotNetHelper.invokeMethodAsync('setHelper');
+//}
+
+//BECCA QUANDO LA MODALE VIENE CHIUSA ED ESEGUE
+document.addEventListener('click', function (e) {
+ if (e.target.id === 'myModal') {
+ console.log('chiuso');
+
+ return helper.invokeMethodAsync('svuotaRecord');
+ console.log("fatto");
+ } else {
+ console.log('aperto');
+ }
+ e.stopPropagation();
+}, false);
\ No newline at end of file
diff --git a/MP.Stats/MP.Stats.csproj b/MP.Stats/MP.Stats.csproj
index 5f4b8d39..d7726462 100644
--- a/MP.Stats/MP.Stats.csproj
+++ b/MP.Stats/MP.Stats.csproj
@@ -4,7 +4,7 @@
net6.0
MP.Stats
826e877c-ba70-4253-84cb-d0b1cafd4440
- 6.16.2210.0716
+ 6.16.2210.1708
diff --git a/MP.Stats/Resources/ChangeLog.html b/MP.Stats/Resources/ChangeLog.html
index 3686ecab..476f07b6 100644
--- a/MP.Stats/Resources/ChangeLog.html
+++ b/MP.Stats/Resources/ChangeLog.html
@@ -1,6 +1,6 @@
Modulo statistiche MAPO
-
Versione: 6.16.2210.0716
+ Versione: 6.16.2210.1708
Note di rilascio:
diff --git a/MP.Stats/Resources/VersNum.txt b/MP.Stats/Resources/VersNum.txt
index 5df1a0fc..ccf0292a 100644
--- a/MP.Stats/Resources/VersNum.txt
+++ b/MP.Stats/Resources/VersNum.txt
@@ -1 +1 @@
-6.16.2210.0716
+6.16.2210.1708
diff --git a/MP.Stats/Resources/manifest.xml b/MP.Stats/Resources/manifest.xml
index 6ba8169d..e4fe64f1 100644
--- a/MP.Stats/Resources/manifest.xml
+++ b/MP.Stats/Resources/manifest.xml
@@ -1,6 +1,6 @@
-
- 6.16.2210.0716
+ 6.16.2210.1708
https://nexus.steamware.net/repository/SWS/MP-STATS/stable/LAST/MP.Stats.zip
https://nexus.steamware.net/repository/SWS/MP-STATS/stable/LAST/ChangeLog.html
false
|