diff --git a/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor b/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor index 4bfdacf..56073e0 100644 --- a/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor +++ b/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor @@ -1,12 +1,19 @@ @if (DoorOpList != null) { -
- @foreach (var item in DoorOpList) - { -
- -
- } -
+ @if (isLoading) + { + + } + else + { +
+ @foreach (var item in DoorOpList) + { +
+ +
+ } +
+ } } diff --git a/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor.cs b/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor.cs index 32916f8..8db9840 100644 --- a/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor.cs +++ b/WebDoorCreator.UI/Components/Hardware/HardwareNewPanel.razor.cs @@ -70,7 +70,7 @@ namespace WebDoorCreator.UI.Components.Hardware { DOPEventArgs currArgs = (DOPEventArgs)e; // SE sono sula porta indicata + objId corretto --> refresh - if (currArgs.DoorId == DoorId)//&& currArgs.ObjectId == obid ) + if (currArgs.DoorId == DoorId && currArgs.ObjectId == HwCode) { var pupd = InvokeAsync(async () => await ReloadData()); } @@ -126,14 +126,18 @@ namespace WebDoorCreator.UI.Components.Hardware #region Private Methods + protected bool isLoading { get; set; } = false; + private async Task ReloadData() { + isLoading = true; var ListRecord = await WDCService.DoorOpGetByDoorId(DoorId); var tempListVal = await WDCService.ListValuesGetAll(HwCode, "Folder"); if (ListRecord != null) { DoorOpList = ListRecord.Where(x => (x.DoorId == DoorId) && (x.ObjectId == HwCode)).ToList(); } + isLoading = false; } #endregion Private Methods diff --git a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs index 2536702..99400ae 100644 --- a/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs +++ b/WebDoorCreator.UI/Components/Hardware/HwSingleInstance.razor.cs @@ -5,6 +5,7 @@ using Newtonsoft.Json; using WebDoorCreator.Data.DbModels; using WebDoorCreator.Data.Services; using WebDoorCreator.UI.Data; +using static WebDoorCreator.UI.Data.WDCRefreshService; namespace WebDoorCreator.UI.Components.Hardware { @@ -231,6 +232,35 @@ namespace WebDoorCreator.UI.Components.Hardware await FullReloadData(); } + +#if false + + private void WDCRefresh_EA_ConfDoorOp(object? sender, EventArgs e) + { + DOPEventArgs currArgs = (DOPEventArgs)e; + // SE sono sula porta indicata + objId corretto --> refresh + if (currArgs.DoorId == DoorOpInst.DoorId && currArgs.DoorOpId == DoorOpInst.DoorOpId && currArgs.ObjectId == DoorOpInst.ObjectId)//&& currArgs.ObjectId == obid ) + { + var pupd = InvokeAsync(async () => await FullReloadData()); + } + } + + public void Dispose() + { + WDCRefresh.EA_ConfDoorOp -= WDCRefresh_EA_ConfDoorOp; + } + + [Inject] + protected WDCRefreshService WDCRefresh { get; set; } = null!; + + protected override async Task OnInitializedAsync() + { + await FullReloadData(); + await Task.Delay(1); + WDCRefresh.EA_ConfDoorOp += WDCRefresh_EA_ConfDoorOp; + } +#endif + protected string translate(string lemma) { string answ = "";