diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor b/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor index baaee0a3..517391f2 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor @@ -11,6 +11,7 @@ @using TIAMWebApp.Shared.Application.Models.PageModels @using TIAMWebApp.Shared.Application.Utility @using AyCode.Services.Loggers +@using TIAM.Services @using TIAMWebApp.Shared.Application.Services @using TIAMSharedUI.Shared.Components @using TIAMSharedUI.Shared.Components.Grids @@ -71,11 +72,22 @@ IconCssClass="btn-column-chooser" Click="ColumnChooserButton_Click" /> - + +@* + + *@ transfers) + { + _logger.Info("DataSourceChanged called"); + + InitializeAppointments(transfers); + } + + private void DataSourceItemChanging(Transfer transfer) + { + _logger.Info("DataSourceItemChanging called"); + } + + private void DataSourceItemChanged(Transfer transfer) + { + _logger.Info("DataSourceItemChanged called"); + } + private void DataItemSaving(GridEditModelSavingEventArgs e) { _logger.Info("DataItemSaving called"); @@ -358,18 +387,6 @@ _logger.Info($"DataItemDeleting OnItemDeleting"); } - private void DataSourceChanged(IList transfers) - { - _logger.Info("DataSourceChanged called"); - - InitializeAppointments(transfers); - } - - private void DataSourceItemChanged(Transfer transfer) - { - _logger.Info("DataSourceItemChanged called"); - } - private void RefreshAppointments(Transfer transfer, bool isDelete) { var appointmentIndex = AppointmentModels.FindIndex(x => x.SourceId == transfer.Id); @@ -456,5 +473,4 @@ _gridTransfer.ExpandDetailRow(0); _gridTransfer.EndUpdate(); } - } \ No newline at end of file diff --git a/TIAMSharedUI/Shared/Components/Grids/CompanyDetailGrid.cs b/TIAMSharedUI/Shared/Components/Grids/CompanyDetailGrid.cs new file mode 100644 index 00000000..7e3d2de8 --- /dev/null +++ b/TIAMSharedUI/Shared/Components/Grids/CompanyDetailGrid.cs @@ -0,0 +1,17 @@ +using Microsoft.AspNetCore.Components; + +namespace TIAMSharedUI.Shared.Components.Grids; + +public class CompanyDetailGrid : CompanyGrid +{ + protected override Task SetParametersAsyncCore(ParameterView parameters) + { + var isFirst = IsFirstInitializeParameters; + + return base.SetParametersAsyncCore(parameters); + + if (isFirst) + { + } + } +} \ No newline at end of file diff --git a/TIAMSharedUI/Shared/Components/Grids/CompanyGrid.cs b/TIAMSharedUI/Shared/Components/Grids/CompanyGrid.cs index 6ec27080..b8cf1f58 100644 --- a/TIAMSharedUI/Shared/Components/Grids/CompanyGrid.cs +++ b/TIAMSharedUI/Shared/Components/Grids/CompanyGrid.cs @@ -18,7 +18,7 @@ public class CompanyGrid : TiamGrid protected override Task SetParametersAsyncCore(ParameterView parameters) { - if (!IsInitializedParameters) + if (!IsFirstInitializeParameters) { //ShowFilterRow = true; //ShowGroupPanel = true; diff --git a/TIAMSharedUI/Shared/Components/Grids/TiamGrid.cs b/TIAMSharedUI/Shared/Components/Grids/TiamGrid.cs index 962edade..f649de48 100644 --- a/TIAMSharedUI/Shared/Components/Grids/TiamGrid.cs +++ b/TIAMSharedUI/Shared/Components/Grids/TiamGrid.cs @@ -13,7 +13,7 @@ namespace TIAMSharedUI.Shared.Components.Grids { public class TiamGrid : DxGrid where TDataItem : class, IEntityGuid { - protected bool IsInitializedParameters; + protected bool IsFirstInitializeParameters; private IList? _dataSource; private string _gridLogName; @@ -80,10 +80,9 @@ namespace TIAMSharedUI.Shared.Components.Grids [Parameter] public EventCallback OnDataItemSaving { get; set; } - [Parameter] - public EventCallback> OnDataSourceChanged { get; set; } - [Parameter] - public EventCallback OnDataSourceItemChanged { get; set; } + [Parameter] public EventCallback> OnDataSourceChanged { get; set; } + [Parameter] public EventCallback OnDataSourceItemChanging { get; set; } + [Parameter] public EventCallback OnDataSourceItemChanged { get; set; } private async Task OnItemSaving(GridEditModelSavingEventArgs e) { @@ -122,10 +121,12 @@ namespace TIAMSharedUI.Shared.Components.Grids PostDataToServerAsync(dataItem, RemoveMessageTag, true).Forget(); } - public Task RefreshDataSourceAsync() + public virtual Task RefreshDataSourceAsync() { Logger.Info($"{_gridLogName} UpdateAllDataAsync called"); + //if (GetAllMessageTag == 0) return Task.CompletedTask; + return SignalRClient.GetAllAsync>(GetAllMessageTag, response => { if (response.Status == SignalResponseStatus.Error) @@ -139,13 +140,16 @@ namespace TIAMSharedUI.Shared.Components.Grids }); } - private Task PostDataToServerAsync(TDataItem transfer, int messageTag, bool isDelete = false) + public virtual async Task PostDataToServerAsync(TDataItem dataItem, int messageTag, bool isDelete = false) { - Logger.Info($"{_gridLogName} PostDataToServerAsync called; transferId " + transfer.Id); + Logger.Info($"{_gridLogName} PostDataToServerAsync called; transferId " + dataItem.Id); - RefreshDataSourceItem(transfer, isDelete, false); //egyből látszódik a változás a grid-ben, nem csak a callback lefutásakor! felhasználóbarátabb... - J. + //if (messageTag == 0) return; - return SignalRClient.PostDataAsync(messageTag, transfer, repsonse => + await OnDataSourceItemChanging.InvokeAsync(dataItem); + RefreshDataSourceItem(dataItem, isDelete, false); //egyből látszódik a változás a grid-ben, nem csak a callback lefutásakor! felhasználóbarátabb... - J. + + SignalRClient.PostDataAsync(messageTag, dataItem, async repsonse => { if (repsonse.Status != SignalResponseStatus.Success || repsonse.ResponseData == null) { @@ -154,13 +158,15 @@ namespace TIAMSharedUI.Shared.Components.Grids } RefreshDataSourceItem(repsonse.ResponseData, isDelete); - InvokeAsync(StateHasChanged).Forget(); - }); + + await OnDataSourceItemChanged.InvokeAsync(dataItem); + await InvokeAsync(StateHasChanged); + }).Forget(); //transfer = await devAdminSignalClient.PostDataAsync(SignalRTags.UpdateTransferAsync, transfer); } - public Task RefreshDataSourceItem(TDataItem dataItem, bool isDelete, bool invokeItemChanged = true) + public void RefreshDataSourceItem(TDataItem dataItem, bool isDelete, bool invokeItemChanged = true) { var transferIndex = _dataSource.FindIndex(x => x.Id == dataItem.Id); @@ -170,13 +176,11 @@ namespace TIAMSharedUI.Shared.Components.Grids if (transferIndex > -1) _dataSource[transferIndex] = dataItem; else _dataSource.Add(dataItem); } - - return invokeItemChanged ? OnDataSourceItemChanged.InvokeAsync(dataItem) : Task.CompletedTask; } protected override Task SetParametersAsyncCore(ParameterView parameters) { - if (!IsInitializedParameters) + if (!IsFirstInitializeParameters) { base.DataItemDeleting = EventCallback.Factory.Create(this, OnItemDeleting); base.EditModelSaving = EventCallback.Factory.Create(this, OnItemSaving); @@ -186,7 +190,7 @@ namespace TIAMSharedUI.Shared.Components.Grids //ShowGroupPanel = true; //AllowSort = false; - IsInitializedParameters = true; + IsFirstInitializeParameters = true; } return base.SetParametersAsyncCore(parameters); diff --git a/TIAMSharedUI/Shared/Components/Grids/TransferDetailGrid.cs b/TIAMSharedUI/Shared/Components/Grids/TransferDetailGrid.cs new file mode 100644 index 00000000..abd9f576 --- /dev/null +++ b/TIAMSharedUI/Shared/Components/Grids/TransferDetailGrid.cs @@ -0,0 +1,17 @@ +using Microsoft.AspNetCore.Components; + +namespace TIAMSharedUI.Shared.Components.Grids; + +public class TransferDetailGrid : TransferGrid +{ + protected override Task SetParametersAsyncCore(ParameterView parameters) + { + var isFirst = IsFirstInitializeParameters; + + return base.SetParametersAsyncCore(parameters); + + if (isFirst) + { + } + } +} \ No newline at end of file diff --git a/TIAMSharedUI/Shared/Components/Grids/TransferGrid.cs b/TIAMSharedUI/Shared/Components/Grids/TransferGrid.cs index c5772f70..8dfabc7d 100644 --- a/TIAMSharedUI/Shared/Components/Grids/TransferGrid.cs +++ b/TIAMSharedUI/Shared/Components/Grids/TransferGrid.cs @@ -18,7 +18,7 @@ public class TransferGrid : TiamGrid protected override Task SetParametersAsyncCore(ParameterView parameters) { - if (!IsInitializedParameters) + if (!IsFirstInitializeParameters) { //ShowFilterRow = true; //ShowGroupPanel = true;