TiamGrid improvements
This commit is contained in:
parent
67520f8b62
commit
40d8937654
|
|
@ -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" />
|
||||
</div>
|
||||
|
||||
|
||||
@* <TiamGrid TDataItem="Transfer"
|
||||
Logger="_logger"
|
||||
SignalRClient="AdminSignalRClient"
|
||||
|
||||
GetAllMessageTag="SignalRTags.GetTransfersAsync"
|
||||
AddMessageTag="SignalRTags.AddTransferAsync"
|
||||
UpdateMessageTag="SignalRTags.UpdateTransferAsync"
|
||||
RemoveMessageTag="SignalRTags.RemoveTransferAsync">
|
||||
</TiamGrid>
|
||||
*@
|
||||
<TransferGrid @ref="_gridTransfer"
|
||||
Logger="_logger"
|
||||
SignalRClient="AdminSignalRClient"
|
||||
OnDataSourceChanged="DataSourceChanged"
|
||||
OnDataSourceItemChanging="DataSourceItemChanging"
|
||||
OnDataSourceItemChanged="DataSourceItemChanged"
|
||||
OnDataItemDeleting="DataItemDeleting"
|
||||
OnDataItemSaving="DataItemSaving"
|
||||
|
|
@ -348,6 +360,23 @@
|
|||
transferEditModel.ContactEmail = "your@email.address";
|
||||
}
|
||||
|
||||
private void DataSourceChanged(IList<Transfer> 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<Transfer> 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();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -18,7 +18,7 @@ public class CompanyGrid : TiamGrid<Company>
|
|||
|
||||
protected override Task SetParametersAsyncCore(ParameterView parameters)
|
||||
{
|
||||
if (!IsInitializedParameters)
|
||||
if (!IsFirstInitializeParameters)
|
||||
{
|
||||
//ShowFilterRow = true;
|
||||
//ShowGroupPanel = true;
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ namespace TIAMSharedUI.Shared.Components.Grids
|
|||
{
|
||||
public class TiamGrid<TDataItem> : DxGrid where TDataItem : class, IEntityGuid
|
||||
{
|
||||
protected bool IsInitializedParameters;
|
||||
protected bool IsFirstInitializeParameters;
|
||||
private IList<TDataItem>? _dataSource;
|
||||
private string _gridLogName;
|
||||
|
||||
|
|
@ -80,10 +80,9 @@ namespace TIAMSharedUI.Shared.Components.Grids
|
|||
[Parameter] public EventCallback<GridEditModelSavingEventArgs> OnDataItemSaving { get; set; }
|
||||
|
||||
|
||||
[Parameter]
|
||||
public EventCallback<IList<TDataItem>> OnDataSourceChanged { get; set; }
|
||||
[Parameter]
|
||||
public EventCallback<TDataItem> OnDataSourceItemChanged { get; set; }
|
||||
[Parameter] public EventCallback<IList<TDataItem>> OnDataSourceChanged { get; set; }
|
||||
[Parameter] public EventCallback<TDataItem> OnDataSourceItemChanging { get; set; }
|
||||
[Parameter] public EventCallback<TDataItem> 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<IList<TDataItem>>(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<GridDataItemDeletingEventArgs>(this, OnItemDeleting);
|
||||
base.EditModelSaving = EventCallback.Factory.Create<GridEditModelSavingEventArgs>(this, OnItemSaving);
|
||||
|
|
@ -186,7 +190,7 @@ namespace TIAMSharedUI.Shared.Components.Grids
|
|||
//ShowGroupPanel = true;
|
||||
//AllowSort = false;
|
||||
|
||||
IsInitializedParameters = true;
|
||||
IsFirstInitializeParameters = true;
|
||||
}
|
||||
|
||||
return base.SetParametersAsyncCore(parameters);
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -18,7 +18,7 @@ public class TransferGrid : TiamGrid<Transfer>
|
|||
|
||||
protected override Task SetParametersAsyncCore(ParameterView parameters)
|
||||
{
|
||||
if (!IsInitializedParameters)
|
||||
if (!IsFirstInitializeParameters)
|
||||
{
|
||||
//ShowFilterRow = true;
|
||||
//ShowGroupPanel = true;
|
||||
|
|
|
|||
Loading…
Reference in New Issue