Modificate modali di eliminazione/conferma azioni

This commit is contained in:
Annamaria Sassi
2026-05-07 16:18:33 +02:00
parent f43647cd8d
commit a8f1ff26be
41 changed files with 399 additions and 118 deletions
+1 -1
View File
@@ -4,7 +4,7 @@
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<Version>1.1.2605.0609</Version>
<Version>1.1.2605.0716</Version>
</PropertyGroup>
<ItemGroup>
@@ -79,3 +79,5 @@
}
</div>
</div>
<BootstrapModal @ref=DeleteModal Title=@mTitle Message=@mMessage Mode="BootstrapModal.ModalMode.Confirm" UserOptions=@modalOpt></BootstrapModal>
@@ -1,3 +1,5 @@
using EgwCoreLib.Razor;
namespace Lux.UI.Components.Compo.Config
{
public partial class GlassMan
@@ -35,8 +37,16 @@ namespace Lux.UI.Components.Compo.Config
/// <param name="selRec"></param>
protected async Task DoDelete(GlassModel selRec)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler eliminare il record? Dettagli: {selRec.GlassID} | {selRec.Description} | {selRec.Thickness}"))
mTitle = "Attenzione";
mMessage = "Sicuro di voler eliminare il record?\n" +
$"Dettagli: {selRec.GlassID} | {selRec.Description} | {selRec.Thickness}";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// esegue eliminazione del record...
await CGService.DeleteAsync(selRec);
@@ -109,9 +119,15 @@ namespace Lux.UI.Components.Compo.Config
private GlassModel? SelRecord = null;
private int totalCount = 0;
private BootstrapModal DeleteModal = new();
private string mTitle = "";
private string mMessage = "";
private BootstrapModal.ModalMode mMode = BootstrapModal.ModalMode.ND;
private Dictionary<bool, string> modalOpt = new Dictionary<bool, string>();
#endregion Private Fields
#region Private Properties
#region Private Properties
private string searchVal { get; set; } = string.Empty;
@@ -121,4 +121,6 @@
{
<ProfDataDetail AllRecords="currDispl.ProfileDataDict" EC_ReqClose="DoCloseDetail"></ProfDataDetail>
}
}
}
<BootstrapModal @ref=DeleteModal Title=@mTitle Message=@mMessage Mode="BootstrapModal.ModalMode.Confirm" UserOptions=@modalOpt></BootstrapModal>
@@ -1,4 +1,6 @@
namespace Lux.UI.Components.Compo.Config
using EgwCoreLib.Razor;
namespace Lux.UI.Components.Compo.Config
{
public partial class ProfileMan : IDisposable
{
@@ -63,6 +65,12 @@
private int totalCount = 0;
private BootstrapModal DeleteModal = new();
private string mTitle = "";
private string mMessage = "";
private BootstrapModal.ModalMode mMode = BootstrapModal.ModalMode.ND;
private Dictionary<bool, string> modalOpt = new Dictionary<bool, string>();
#endregion Private Fields
#region Private Properties
@@ -205,7 +213,14 @@
/// <param name="selRec"></param>
private async Task DoDelete(ProfileModel selRec)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler eliminare il record? Dettagli: {selRec.Code} | {selRec.Description}"))
mTitle = "Attenzione";
mMessage = "Sicuro di voler eliminare il record?\n" +
$"Dettagli: {selRec.Code} | {selRec.Description}";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
isLoading = true;
@@ -79,3 +79,5 @@
}
</div>
</div>
<BootstrapModal @ref=DeleteModal Title=@mTitle Message=@mMessage Mode="BootstrapModal.ModalMode.Confirm" UserOptions=@modalOpt></BootstrapModal>
@@ -1,3 +1,5 @@
using EgwCoreLib.Razor;
namespace Lux.UI.Components.Compo.Config
{
public partial class WoodMan
@@ -26,6 +28,12 @@ namespace Lux.UI.Components.Compo.Config
private int totalCount = 0;
private BootstrapModal DeleteModal = new();
private string mTitle = "";
private string mMessage = "";
private BootstrapModal.ModalMode mMode = BootstrapModal.ModalMode.ND;
private Dictionary<bool, string> modalOpt = new Dictionary<bool, string>();
#endregion Private Fields
#region Private Properties
@@ -76,7 +84,14 @@ namespace Lux.UI.Components.Compo.Config
/// <param name="selRec"></param>
private async Task DoDelete(WoodModel selRec)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler eliminare il record? Dettagli: {selRec.WoodID} | {selRec.Description} | Tipo: {selRec.Type}"))
mTitle = "Attenzione";
mMessage = "Sicuro di voler eliminare il record?\n" +
$"Dettagli: {selRec.WoodID} | {selRec.Description} | Tipo: {selRec.Type}";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// esegue eliminazione del record...
@@ -109,4 +109,6 @@
</tr>
</tfoot>
}
</table>
</table>
<BootstrapModal @ref=DeleteModal Title=@mTitle Message=@mMessage Mode="BootstrapModal.ModalMode.Confirm" UserOptions=@modalOpt></BootstrapModal>
@@ -1,3 +1,5 @@
using EgwCoreLib.Razor;
namespace Lux.UI.Components.Compo.Generic
{
public partial class GenClassMan
@@ -46,6 +48,12 @@ namespace Lux.UI.Components.Compo.Generic
private int totalCount = 0;
private BootstrapModal DeleteModal = new();
private string mTitle = "";
private string mMessage = "";
private BootstrapModal.ModalMode mMode = BootstrapModal.ModalMode.ND;
private Dictionary<bool, string> modalOpt = new Dictionary<bool, string>();
#endregion Private Fields
#region Private Properties
@@ -120,7 +128,14 @@ namespace Lux.UI.Components.Compo.Generic
if (selRec.NumChild > 0)
return;
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler eliminare il record? Dettagli: {selRec.ClassCod} | {selRec.Description}"))
mTitle = "Attenzione";
mMessage = "Sicuro di voler eliminare il record?\n" +
$"Dettagli: {selRec.ClassCod} | {selRec.Description}";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// esegue eliminazione del record...
@@ -82,3 +82,5 @@ else
}
</table>
}
<BootstrapModal @ref=DeleteModal Title=@mTitle Message=@mMessage Mode="BootstrapModal.ModalMode.Confirm" UserOptions=@modalOpt></BootstrapModal>
@@ -1,5 +1,6 @@
using EgwCoreLib.Lux.Data.DbModel.Utils;
using EgwCoreLib.Lux.Data.Services.Utils;
using EgwCoreLib.Razor;
namespace Lux.UI.Components.Compo.Generic
{
@@ -91,6 +92,12 @@ namespace Lux.UI.Components.Compo.Generic
private int totalCount = 0;
private BootstrapModal DeleteModal = new();
private string mTitle = "";
private string mMessage = "";
private BootstrapModal.ModalMode mMode = BootstrapModal.ModalMode.ND;
private Dictionary<bool, string> modalOpt = new Dictionary<bool, string>();
#endregion Private Fields
#region Private Properties
@@ -155,7 +162,14 @@ namespace Lux.UI.Components.Compo.Generic
/// <param name="selRec"></param>
private async Task DoDelete(GenValueModel selRec)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler eliminare il record? Dettagli: {selRec.ClassCod} | {selRec.ValString}"))
mTitle = "Attenzione";
mMessage = "Sicuro di voler eliminare il record?\n" +
$"Dettagli: {selRec.ClassCod} | {selRec.ValString}";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// esegue eliminazione del record...
@@ -98,3 +98,5 @@ else
}
</table>
}
<BootstrapModal @ref=DeleteModal Title=@mTitle Message=@mMessage Mode="BootstrapModal.ModalMode.Confirm" UserOptions=@modalOpt></BootstrapModal>
+18 -1
View File
@@ -1,3 +1,5 @@
using EgwCoreLib.Razor;
namespace Lux.UI.Components.Compo.Item
{
public partial class ItemMan
@@ -45,6 +47,13 @@ namespace Lux.UI.Components.Compo.Item
private int totalCount = 0;
private BootstrapModal DeleteModal = new();
private string mTitle = "";
private string mMessage = "";
private BootstrapModal.ModalMode mMode = BootstrapModal.ModalMode.ND;
private Dictionary<bool, string> modalOpt = new Dictionary<bool, string>();
#endregion Private Fields
#region Private Properties
@@ -97,8 +106,16 @@ namespace Lux.UI.Components.Compo.Item
/// <param name="selRec"></param>
private async Task DoDelete(ItemModel selRec)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler eliminare il record? Dettagli: {selRec.ItemID} | {selRec.CodGroup} | {selRec.ItemType} | {selRec.ExtItemCode}"))
mTitle = "Attenzione";
mMessage = "Sicuro di voler eliminare il record?\n" +
$"Dettagli: { selRec.ItemID} | { selRec.CodGroup} | { selRec.ItemType} | { selRec.ExtItemCode}";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
//// esegue eliminazione del record...
//await CDService.ItemDeleteAsync(selRec);
@@ -94,3 +94,5 @@ else
}
</table>
}
<BootstrapModal @ref=DeleteModal Title=@mTitle Message=@mMessage Mode="BootstrapModal.ModalMode.Confirm" UserOptions=@modalOpt></BootstrapModal>
@@ -1,4 +1,6 @@
namespace Lux.UI.Components.Compo.Item
using EgwCoreLib.Razor;
namespace Lux.UI.Components.Compo.Item
{
public partial class SellingItemMan
{
@@ -70,6 +72,12 @@
private int totalCount = 0;
private BootstrapModal DeleteModal = new();
private string mTitle = "";
private string mMessage = "";
private BootstrapModal.ModalMode mMode = BootstrapModal.ModalMode.ND;
private Dictionary<bool, string> modalOpt = new Dictionary<bool, string>();
#endregion Private Fields
#region Private Properties
@@ -140,8 +148,16 @@
/// <param name="selRec"></param>
private async Task DoDelete(SellingItemModel selRec)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler eliminare il record? Dettagli: {selRec.SellingItemID} | {selRec.Envir} | {selRec.ExtItemCode} | {selRec.Description}"))
mTitle = "Attenzione";
mMessage = "Sicuro di voler eliminare il record?\n " +
$" Dettagli: {selRec.SellingItemID} | {selRec.Envir} | {selRec.ExtItemCode} | {selRec.Description}";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
//// esegue eliminazione del record...
//await CDService.SellingItemDeleteAsync(selRec);
@@ -172,4 +172,6 @@
</table>
}
</div>
</div>
</div>
<BootstrapModal @ref=DeleteModal Title=@mTitle Message=@mMessage Mode="BootstrapModal.ModalMode.Confirm" UserOptions=@modalOpt></BootstrapModal>
@@ -1,3 +1,5 @@
using EgwCoreLib.Razor;
namespace Lux.UI.Components.Compo.JobTask
{
public partial class JobStepMan
@@ -64,6 +66,12 @@ namespace Lux.UI.Components.Compo.JobTask
private int totalCount = 0;
private BootstrapModal DeleteModal = new();
private string mTitle = "";
private string mMessage = "";
private BootstrapModal.ModalMode mMode = BootstrapModal.ModalMode.ND;
private Dictionary<bool, string> modalOpt = new Dictionary<bool, string>();
#endregion Private Fields
#region Private Properties
@@ -189,8 +197,14 @@ namespace Lux.UI.Components.Compo.JobTask
/// </summary>
/// <param name="rec2del"></param>
private async Task DoDelete(JobStepModel rec2del)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler eliminare il record? {rec2del.Description} ({rec2del.JobStepID})"))
{;
mTitle = "Attenzione";
mMessage = $"Sicuro di voler eliminare il record? {rec2del.Description} ({rec2del.JobStepID})";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// esegue eliminazione del record...
@@ -125,3 +125,4 @@
</div>
</div>
<BootstrapModal @ref=DeleteModal Title=@mTitle Message=@mMessage Mode="BootstrapModal.ModalMode.Confirm" UserOptions=@modalOpt></BootstrapModal>
@@ -1,3 +1,5 @@
using EgwCoreLib.Razor;
namespace Lux.UI.Components.Compo.JobTask
{
public partial class JobTaskListMan
@@ -54,6 +56,12 @@ namespace Lux.UI.Components.Compo.JobTask
private int totalCount = 0;
private BootstrapModal DeleteModal = new();
private string mTitle = "";
private string mMessage = "";
private BootstrapModal.ModalMode mMode = BootstrapModal.ModalMode.ND;
private Dictionary<bool, string> modalOpt = new Dictionary<bool, string>();
#endregion Private Fields
#region Private Properties
@@ -132,7 +140,13 @@ namespace Lux.UI.Components.Compo.JobTask
if (rec2del.NumChild > 0)
return;
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler eliminare il record? {rec2del.Description} ({rec2del.JobID})"))
mTitle = "Attenzione";
mMessage = $"Sicuro di voler eliminare il record? {rec2del.Description} ({rec2del.JobID})";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// esegue eliminazione del record...
@@ -69,4 +69,6 @@
</div>
}
</div>
</div>
</div>
<BootstrapModal @ref=DeleteModal Title=@mTitle Message=@mMessage Mode="BootstrapModal.ModalMode.Confirm" UserOptions=@modalOpt></BootstrapModal>
@@ -1,3 +1,5 @@
using EgwCoreLib.Razor;
namespace Lux.UI.Components.Compo.JobTask
{
public partial class ResourcesMan
@@ -47,6 +49,12 @@ namespace Lux.UI.Components.Compo.JobTask
private int totalCount = 0;
private BootstrapModal DeleteModal = new();
private string mTitle = "";
private string mMessage = "";
private BootstrapModal.ModalMode mMode = BootstrapModal.ModalMode.ND;
private Dictionary<bool, string> modalOpt = new Dictionary<bool, string>();
#endregion Private Fields
#region Private Properties
@@ -89,7 +97,13 @@ namespace Lux.UI.Components.Compo.JobTask
private async Task DoAdd()
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler aggiungere un nuovo record risorsa?"))
mTitle = "Attenzione";
mMessage = "Confermi di voler aggiungere un nuovo record risorsa?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
isLoading = true;
@@ -108,7 +122,13 @@ namespace Lux.UI.Components.Compo.JobTask
private async Task DoDelete(ResourceModel rec2del)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler eliminare il record {rec2del.Name}?"))
mTitle = "Attenzione";
mMessage = $"Confermi di voler eliminare il record {rec2del.Name}?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
isLoading = true;
@@ -796,7 +796,13 @@ namespace Lux.UI.Components.Compo.Offer
/// <param name="rec2clone"></param>
private async Task DoClone(OfferRowModel rec2clone)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler duplicare la riga corrente?"))
mTitle = "Attenzione";
mMessage = "Confermi di voler duplicare la riga corrente?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// calcolo indice riga...
@@ -865,7 +871,15 @@ namespace Lux.UI.Components.Compo.Offer
/// <returns></returns>
private async Task DoDelete(OfferRowModel rec2del)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler eliminare la riga corrente?<br/>Codice: {rec2del.OfferRowUID} | {rec2del.Note} | importo tot: {rec2del.TotalPrice}"))
mTitle = "Attenzione";
mMessage = "Confermi di voler eliminare la riga corrente?\n" +
$" Codice: {rec2del.OfferRowUID} | {rec2del.Note}\n" +
$"Importo tot: {rec2del.TotalPrice}";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
await ORService.DeleteAsync(rec2del);
@@ -920,9 +934,7 @@ namespace Lux.UI.Components.Compo.Offer
private async Task DoForceParam(Dictionary<string, bool> writeSet)
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler forzare {writeSet.Count} parametro/i selezionati per l'offerta?"))
// return;
mTitle = "Ricalcolo offerta";
mTitle = "Attenzione";
mMessage = $"Confermi di voler forzare {writeSet.Count} parametro/i selezionati per l'offerta?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
@@ -1030,8 +1042,6 @@ namespace Lux.UI.Components.Compo.Offer
/// <returns></returns>
private async Task DoSave(OfferModel updRec)
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler salvare parametri per l'offerta?"))
// return;
mTitle = "Salvataggio offerta";
mMessage = "Confermi di voler salvare parametri per l'offerta?";
mMode = BootstrapModal.ModalMode.Confirm;
@@ -1217,9 +1227,7 @@ namespace Lux.UI.Components.Compo.Offer
/// <returns></returns>
private async Task OfferUpdateAllCosting()
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler ricalcolare/validare in toto l'offerta?"))
// return;
mTitle = "Ricalcolo offerta";
mTitle = "Attenzione";
mMessage = "Confermi di voler ricalcolare/validare in toto l'offerta?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
@@ -1265,9 +1273,7 @@ namespace Lux.UI.Components.Compo.Offer
/// <returns></returns>
private async Task OfferUpdatePrices()
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler ricalcolare a costi correnti offerta?"))
// return;
mTitle = "Ricalcolo offerta";
mTitle = "Attenzione";
mMessage = "Confermi di voler ricalcolare a costi correnti offerta?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
@@ -1622,9 +1628,7 @@ namespace Lux.UI.Components.Compo.Offer
/// <returns></returns>
private async Task RequestBom(OfferRowModel currRec)
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler ricalcolare la BOM?"))
// return;
mTitle = "Ricalcolo BOM";
mTitle = "Attenzione";
mMessage = "Confermi di voler ricalcolare la BOM?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
@@ -1772,9 +1776,6 @@ namespace Lux.UI.Components.Compo.Offer
/// <returns></returns>
private async Task OfferForceParameters()
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler impostare i parametri selezionati per l'offerta?"))
return;
// recupero obj dizionario x i parametri compresi...
ParamDict CurrSel = new ParamDict(CurrRecord.DictPresel);
// metto a waiting tutte le righe con bom...
@@ -565,6 +565,4 @@ else if (WorkLoadRecord != null)
} *@
}
<BootstrapModal @ref=DeleteModal Title=@mTitle Message=@mMessage Mode="BootstrapModal.ModalMode.Confirm" UserOptions=@modalOpt></BootstrapModal>
@@ -1,5 +1,6 @@
using Egw.Window.Data;
using EgwCoreLib.Lux.Core.Generic;
using EgwCoreLib.Razor;
using Newtonsoft.Json;
using WebWindowComplex;
using WebWindowComplex.DTO;
@@ -296,6 +297,12 @@ namespace Lux.UI.Components.Compo.Order
private WorkLoadDetailDTO? WorkLoadRecord = null;
private BootstrapModal DeleteModal = new();
private string mTitle = "";
private string mMessage = "";
private BootstrapModal.ModalMode mMode = BootstrapModal.ModalMode.ND;
private Dictionary<bool, string> modalOpt = new Dictionary<bool, string>();
#endregion Private Fields
#region Private Properties
@@ -704,7 +711,13 @@ namespace Lux.UI.Components.Compo.Order
/// <param name="rec2clone"></param>
private async Task DoClone(OrderRowModel rec2clone)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler duplicare la riga corrente?"))
mTitle = "Attenzione";
mMessage = "Confermi di voler duplicare la riga corrente?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// calcolo indice riga...
@@ -761,7 +774,15 @@ namespace Lux.UI.Components.Compo.Order
/// <returns></returns>
private async Task DoDelete(OrderRowModel rec2del)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler eliminare la riga corrente?<br/>Codice: {rec2del.OrderRowUID} | {rec2del.Note} | importo tot: {rec2del.TotalPrice}"))
mTitle = "Attenzione";
mMessage = "Confermi di voler eliminare la riga corrente?\n" +
$"Codice: {rec2del.OrderRowUID} | {rec2del.Note}\n" +
$"Importo tot: {rec2del.TotalPrice}";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
await OrdRService.DeleteAsync(rec2del);
@@ -786,8 +807,13 @@ namespace Lux.UI.Components.Compo.Order
private async Task DoGenFabbisogni(OrderRowModel curRec)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler generare i fabbisogni per la riga d'ordine indicata?"))
mTitle = "Attenzione";
mMessage = "Confermi di voler generare i fabbisogni per la riga d'ordine indicata?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// chiamo procedura creazione fabbisogni...
@@ -1084,8 +1110,15 @@ namespace Lux.UI.Components.Compo.Order
/// <returns></returns>
private async Task OrderForceParameters()
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler impostare i parametri selezionati per l'Ordine?"))
mTitle = "Attenzione";
mMessage = "Confermi di voler impostare i parametri selezionati per l'Ordine?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// recupero obj dizionario x i parametri compresi...
ParamDict CurrSel = new ParamDict(CurrRecord.DictPresel);
// metto a waiting tutte le righe con bom...
@@ -1130,7 +1163,13 @@ namespace Lux.UI.Components.Compo.Order
/// <returns></returns>
private async Task OrderUpdateAllCosting()
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler ricalcolare/validare in toto l'ordine?"))
mTitle = "Attenzione";
mMessage = "Confermi di voler ricalcolare/validare in toto l'ordine?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// metto a waiting tutte le righe con bom...
@@ -1159,7 +1198,13 @@ namespace Lux.UI.Components.Compo.Order
/// <returns></returns>
private async Task OrderUpdatePrices()
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler ricalcolare Ordine a costi correnti?"))
mTitle = "Attenzione";
mMessage = "Confermi di voler ricalcolare Ordine a costi correnti?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
await DoRecalcOrder(true);
@@ -1492,7 +1537,13 @@ namespace Lux.UI.Components.Compo.Order
{
if (WorkLoadRecord != null && balData != null && balData.TagList.Count > 0)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi richiesta bilanciamento carico per {balData.TagList.Count} articoli?"))
mTitle = "Attenzione";
mMessage = $"Confermi richiesta bilanciamento carico per {balData.TagList.Count} articoli?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// preparo oggetto richiesta
@@ -1609,7 +1660,13 @@ namespace Lux.UI.Components.Compo.Order
/// <returns></returns>
private async Task RequestBom(OrderRowModel currRec)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler ricalcolare la BOM?"))
mTitle = "Attenzione";
mMessage = "Confermi di voler ricalcolare la BOM?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
await reqBomUpdate(currRec);
@@ -1623,7 +1680,13 @@ namespace Lux.UI.Components.Compo.Order
{
if (WorkLoadRecord != null && SelRecord != null)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler rimettere in coda il calcolo?"))
mTitle = "Attenzione";
mMessage = "Sicuro di voler rimettere in coda il calcolo?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
string JobCode = $"ORDER:ESTIMATE:{WorkLoadRecord.UID}";
@@ -154,4 +154,6 @@
</div>
</div>
</div>
}
}
<BootstrapModal @ref=DeleteModal Title=@mTitle Message=@mMessage Mode="BootstrapModal.ModalMode.Confirm" UserOptions=@modalOpt></BootstrapModal>
@@ -1,4 +1,5 @@
using EgwCoreLib.Lux.Core.Generic;
using EgwCoreLib.Razor;
namespace Lux.UI.Components.Compo.Planner
{
@@ -149,6 +150,12 @@ namespace Lux.UI.Components.Compo.Planner
private ProductionBatchModel? newBatch = null;
private bool ShowCreateBatch = false;
private BootstrapModal DeleteModal = new();
private string mTitle = "";
private string mMessage = "";
private BootstrapModal.ModalMode mMode = BootstrapModal.ModalMode.ND;
private Dictionary<bool, string> modalOpt = new Dictionary<bool, string>();
#endregion Private Fields
#region Private Properties
@@ -172,11 +179,17 @@ namespace Lux.UI.Components.Compo.Planner
var totBars = ListBalancedDet.Sum(x => x.TotalBarQty);
var totNumPart = ListBalancedDet.Sum(x => x.TotalNumPart);
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler creare la commessa su ogni impianto?{Environment.NewLine}L'impegno totale è per:" +
$"{Environment.NewLine} - macchine: {numMacc}" +
$"{Environment.NewLine} - parti: {totNumPart}" +
$"{Environment.NewLine} - barre: {totBars}" +
$"{Environment.NewLine} - tempo lavorazioni: {FormatEstTime(BalancedTotalTime)}"))
mTitle = "Attenzione";
mMessage = $"Sicuro di voler creare la commessa su ogni impianto?\nL'impegno totale è per:\n " +
$"- macchine: {numMacc}\n" +
$"- parti: {totNumPart}\n" +
$"- barre: {totBars}\n" +
$"- tempo lavorazioni: {FormatEstTime(BalancedTotalTime)}";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
BatchCreateInfo newData = new BatchCreateInfo()
@@ -106,12 +106,10 @@ namespace Lux.UI.Components.Compo.Templates
private async Task DoClone(TemplateModel rec2clone)
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler duplicare interamente il Gruppo Template selezionato?{Environment.NewLine}---------------------------{Environment.NewLine}Env: {rec2clone.Envir} | {rec2clone.Name}{Environment.NewLine}{rec2clone.Description}{Environment.NewLine}Articoli: {rec2clone.NumItems}"))
// return;
mTitle = "Clonazione";
mMessage = $"Confermi di voler duplicare interamente il Gruppo Template selezionato?-----" +
$"Env: {rec2clone.Envir} | {rec2clone.Name} | " +
$"{rec2clone.Description} | " +
mTitle = "Attenzione";
mMessage = $"Confermi di voler duplicare interamente il Gruppo Template selezionato?\n" +
$"Env: {rec2clone.Envir} | {rec2clone.Name}\n " +
$"{rec2clone.Description}\n " +
$"Articoli: {rec2clone.NumItems}";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
@@ -119,7 +117,7 @@ namespace Lux.UI.Components.Compo.Templates
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// clona intera offerta + tutte le righe...
// clona intero template + tutte le righe...
rec2clone.Name += " - clone";
rec2clone.Description += $" - cloned {DateTime.Now:yyyy.MM.dd HH:mm:ss}";
await TService.CloneAsync(rec2clone);
@@ -135,20 +133,19 @@ namespace Lux.UI.Components.Compo.Templates
private async Task DoDelete(TemplateModel curRec)
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler eliminare il Gruppo Template selezionato?{Environment.NewLine}---------------------------{Environment.NewLine}Env: {curRec.Envir} | {curRec.Name}{Environment.NewLine}{curRec.Description}{Environment.NewLine}Articoli: {curRec.NumItems}"))
// return;
mTitle = "Eliminazione";
mMessage = $"Confermi di voler eliminare il Gruppo Template selezionato?-----" +
$"Env: {curRec.Envir} | {curRec.Name} | " +
$"{curRec.Description} | " +
$"Articoli: {curRec.NumItems}";
mMessage = $"Confermi di voler eliminare il Gruppo Template selezionato?\n" +
$"Env: {curRec.Envir} | {curRec.Name}\n " +
$"{curRec.Description}\n " +
$"Articoli: {curRec.NumItems}";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// clona intera offerta + tutte le righe...
// elimina intero template (anche le sue righe)
await TService.DeleteAsync(curRec);
await ReloadDataAsync();
UpdateTable();
@@ -485,9 +485,7 @@ namespace Lux.UI.Components.Compo.Templates
private async Task DoClone(TemplateRowModel rec2clone)
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler duplicare la riga corrente?"))
// return;
mTitle = "Eliminazione";
mTitle = "Attenzione";
mMessage = "Confermi di voler duplicare la riga corrente?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
@@ -554,10 +552,8 @@ namespace Lux.UI.Components.Compo.Templates
/// <returns></returns>
private async Task DoDelete(TemplateRowModel curRec)
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler eliminare il template selezionato?{Environment.NewLine}---------------------------{Environment.NewLine}Env: {curRec.Envir} | {curRec.Name}"))
// return;
mTitle = "Eliminazione";
mMessage = $"Confermi di voler eliminare il template selezionato?---------------" +
mTitle = "Attenzione";
mMessage = $"Confermi di voler eliminare il template selezionato?\n" +
$"Env: {curRec.Envir} | {curRec.Name}";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
@@ -770,9 +766,7 @@ namespace Lux.UI.Components.Compo.Templates
/// <returns></returns>
private async Task OfferUpdateAllCosting()
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler ricalcolare/validare in toto i Template del gruppo?"))
// return;
mTitle = "Ricalcolo";
mTitle = "Attenzione";
mMessage = "Confermi di voler ricalcolare/validare in toto i Template del gruppo?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
@@ -1217,9 +1211,7 @@ namespace Lux.UI.Components.Compo.Templates
/// <returns></returns>
private async Task RequestBom(TemplateRowModel currRec)
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler ricalcolare la BOM?"))
// return;
mTitle = "Ricalcolo";
mTitle = "Attenzione";
mMessage = "Confermi di voler ricalcolare la BOM?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
@@ -235,4 +235,4 @@
</div>
</div>
<BootstrapModal @ref=DeleteModal Title=@mTitle Message=@mMessage Mode="BootstrapModal.ModalMode.Confirm" UserOptions=@modalOpt></BootstrapModal>
@@ -1,4 +1,5 @@
using EgwCoreLib.Lux.Core.Generic;
using EgwCoreLib.Razor;
namespace Lux.UI.Components.Compo.WorkLoad
{
@@ -98,7 +99,13 @@ namespace Lux.UI.Components.Compo.WorkLoad
/// <returns></returns>
protected async Task SendUnworkExt(int ProdAssignId)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi assegnazione Ext/Manual per {DetailRecord.NumKo} articoli?"))
mTitle = "Attenzione";
mMessage = $"Confermi assegnazione Ext/Manual per {DetailRecord.NumKo} articoli?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
if (OrderRowRecord.OrderRowID > 0 && ProdAssignId > 0)
@@ -145,6 +152,12 @@ namespace Lux.UI.Components.Compo.WorkLoad
private string selUid = "";
private BootstrapModal DeleteModal = new();
private string mTitle = "";
private string mMessage = "";
private BootstrapModal.ModalMode mMode = BootstrapModal.ModalMode.ND;
private Dictionary<bool, string> modalOpt = new Dictionary<bool, string>();
#endregion Private Fields
#region Private Properties
@@ -190,7 +203,13 @@ namespace Lux.UI.Components.Compo.WorkLoad
private async Task ForceResetAssign()
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di vole resettare tutte le assegnazioniper gli articoli?"))
mTitle = "Attenzione";
mMessage = "Confermi di vole resettare tutte le assegnazioni per gli articoli?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
await EC_ResetAssign.InvokeAsync(OrderRowRecord.OrderRowID);
+2 -2
View File
@@ -202,7 +202,7 @@ namespace Lux.UI.Components.Pages
private async Task DoClone(OfferModel rec2clone)
{
mTitle = "Duplicazione offerta";
mTitle = "Attenzione";
mMessage = "Confermi di voler duplicare interamente l'offerta selezionata?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
@@ -234,7 +234,7 @@ namespace Lux.UI.Components.Pages
private async Task DoEsc()
{
// chiudo offerta se confermo
mTitle = "Chiusura offerta";
mTitle = "Chiusura";
mMessage = "Confermi di voler uscire dall'offerta corrente?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
-19
View File
@@ -167,10 +167,6 @@ namespace Lux.UI.Components.Pages
private async Task DoGenFabbisogni(OrderModel curRec)
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler generare i fabbisogni per tutte le righe mancanti?"))
// return;
mTitle = "Attenzione";
mMessage = "Confermi di voler generare i fabbisogni per tutte le righe mancanti?";
mMode = BootstrapModal.ModalMode.Confirm;
@@ -224,9 +220,6 @@ namespace Lux.UI.Components.Pages
{
if (!string.IsNullOrEmpty(JobCode))
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler rimettere in coda il calcolo?"))
// return;
mTitle = "Attenzione";
mMessage = "Sicuro di voler rimettere in coda il calcolo?";
mMode = BootstrapModal.ModalMode.Confirm;
@@ -251,9 +244,6 @@ namespace Lux.UI.Components.Pages
/// <returns></returns>
private async Task ResetHistory(OrderModel currRec)
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler resettare l'history dell'ordine corrente? L'operazione non è revertibile."))
// return;
mTitle = "Attenzione";
mMessage = "Sicuro di voler resettare l'history dell'ordine corrente? L'operazione non è revertibile.";
mMode = BootstrapModal.ModalMode.Confirm;
@@ -274,9 +264,6 @@ namespace Lux.UI.Components.Pages
/// <returns></returns>
private async Task ResetRunQueue()
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler resettare la coda di run calcolo? Le richieste verranno riaccodate in waiting."))
// return;
mTitle = "Attenzione";
mMessage = "Sicuro di voler resettare la coda di run calcolo? Le richieste verranno riaccodate in waiting.";
mMode = BootstrapModal.ModalMode.Confirm;
@@ -299,9 +286,6 @@ namespace Lux.UI.Components.Pages
/// <returns></returns>
private async Task ResetWaitQueue()
{
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler resettarela coda di attesa calcolo eliminando le richieste in attesa? L'operazione non è revertibile."))
// return;
mTitle = "Attenzione";
mMessage = "Sicuro di voler resettarela coda di attesa calcolo eliminando le richieste in attesa? L'operazione non è revertibile.";
mMode = BootstrapModal.ModalMode.Confirm;
@@ -332,9 +316,6 @@ namespace Lux.UI.Components.Pages
* - registra l'history serializzata sul record..
* --------------------------------- */
//if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Confermi di voler inviare una richiesta di stima tempi per l'ordine in oggetto? l'esecuzione non avverà in realtime e sarà accodata per l'esecuzione."))
// return;
mTitle = "Attenzione";
mMessage = "Confermi di voler inviare una richiesta di stima tempi per l'ordine in oggetto? L'esecuzione non avverà in realtime e sarà accodata per l'esecuzione.";
mMode = BootstrapModal.ModalMode.Confirm;
@@ -41,3 +41,5 @@
</div>
</div>
</div>
<BootstrapModal @ref=DeleteModal Title=@mTitle Message=@mMessage Mode="BootstrapModal.ModalMode.Confirm" UserOptions=@modalOpt></BootstrapModal>
@@ -1,4 +1,5 @@
using EgwCoreLib.Lux.Core.Generic;
using EgwCoreLib.Razor;
using Newtonsoft.Json;
using static EgwCoreLib.Lux.Core.Enums;
using static Lux.UI.Components.Compo.Planner.BalanceProgGroup;
@@ -56,6 +57,12 @@ namespace Lux.UI.Components.Pages
private EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS SelEnvir = EgwMultiEngineManager.Data.Constants.EXECENVIRONMENTS.BEAM;
private BootstrapModal DeleteModal = new();
private string mTitle = "";
private string mMessage = "";
private BootstrapModal.ModalMode mMode = BootstrapModal.ModalMode.ND;
private Dictionary<bool, string> modalOpt = new Dictionary<bool, string>();
#endregion Private Fields
#region Private Properties
@@ -98,7 +105,13 @@ namespace Lux.UI.Components.Pages
private async Task DoBalance(int OrderRowID)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler Bilanciare la riga d'ordine?"))
mTitle = "Attenzione";
mMessage = "Sicuro di voler Bilanciare la riga d'ordine?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// verifico se mancassero le righe di ProdGroup e rigenero...
@@ -137,7 +150,13 @@ namespace Lux.UI.Components.Pages
/// <returns></returns>
private async Task DoCalculateProd(Dictionary<string, List<ItemRawDTO>> itemAvaiDict)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Stai per inviare richiesta di generazione del file di produzione ODL, confermi?"))
mTitle = "Attenzione";
mMessage = "Stai per inviare richiesta di generazione del file di produzione ODL, confermi?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
if (currOdlAssign != null)
@@ -276,7 +295,13 @@ namespace Lux.UI.Components.Pages
/// <returns></returns>
private async Task DoCreateProd(OdlAssignDto odlRec)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler (ri)creare il file di produzione ODL?"))
mTitle = "Attenzione";
mMessage = "Sicuro di voler (ri)creare il file di produzione ODL?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// preparo oggetto richiesta generazione PROD ODL file all'Engine...
@@ -408,7 +433,13 @@ namespace Lux.UI.Components.Pages
/// <returns></returns>
private async Task RemoveBalance(int OrderRowID)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler rimuovere la riga d'ordine dal carico attuale?"))
mTitle = "Attenzione";
mMessage = "Sicuro di voler rimuovere la riga d'ordine dal carico attuale?";
mMode = BootstrapModal.ModalMode.Confirm;
modalOpt = new();
modalOpt.Add(true, "Si");
modalOpt.Add(false, "No");
if (!await DeleteModal!.ShowAsync<bool>())
return;
// resetto riga ordine...
+1 -1
View File
@@ -5,7 +5,7 @@
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UserSecretsId>aspnet-Lux.UI-a758c101-a2f4-4e38-977d-1c4887dbbd50</UserSecretsId>
<Version>1.1.2605.0609</Version>
<Version>1.1.2605.0716</Version>
</PropertyGroup>
<ItemGroup>
+3
View File
@@ -87,6 +87,9 @@ a,
/*object-fit: cover;
object-position: center;*/
}
.modal-body {
white-space: pre-line !important;
}
/* Gestione dropdown menu x week planner */
.dropdown {
position: relative;
+4
View File
@@ -93,6 +93,10 @@ a, .btn-link {
object-position: center;*/
}
.modal-body {
white-space: pre-line !important;
}
/* Gestione dropdown menu x week planner */
@dropTop: -13.0em;
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,6 +1,6 @@
<body>
<i>LUX - Web Windows MES</i>
<h4>Versione: 1.1.2605.0609</h4>
<h4>Versione: 1.1.2605.0716</h4>
<br /> Note di rilascio:
<ul>
<li>
+1 -1
View File
@@ -1 +1 @@
1.1.2605.0609
1.1.2605.0716
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>1.1.2605.0609</version>
<version>1.1.2605.0716</version>
<url>http://nexus.steamware.net/repository/SWS/GPW/stable/GPW.UI.zip</url>
<changelog>http://nexus.steamware.net/repository/SWS/GPW/stable/ChangeLog.html</changelog>
<mandatory>false</mandatory>