implement TiamGrid, TransferGrid; improvements...
This commit is contained in:
parent
494c5b26bb
commit
7343f02d8a
|
|
@ -16,6 +16,6 @@ public class SignalRTags : AcSignalRTags
|
||||||
public const int RemoveTransferAsync = 9;
|
public const int RemoveTransferAsync = 9;
|
||||||
public const int GetCompaniesAsync = 10;
|
public const int GetCompaniesAsync = 10;
|
||||||
public const int UpdateCompanyAsync = 11;
|
public const int UpdateCompanyAsync = 11;
|
||||||
public const int CreateCompanyAsync = 12;
|
public const int AddCompanyAsync = 12;
|
||||||
public const int DeleteCompanyAsync = 13;
|
public const int RemoveCompanyAsync = 13;
|
||||||
}
|
}
|
||||||
|
|
@ -333,7 +333,7 @@
|
||||||
//remove orderData from orderData array
|
//remove orderData from orderData array
|
||||||
_logger.Info($"companyData deleting; companyId: {company.Id}");
|
_logger.Info($"companyData deleting; companyId: {company.Id}");
|
||||||
|
|
||||||
var response = await AdminSignalRClient.PostDataAsync(SignalRTags.DeleteCompanyAsync, company);
|
var response = await AdminSignalRClient.PostDataAsync(SignalRTags.RemoveCompanyAsync, company);
|
||||||
|
|
||||||
//resultCompany = await serviceProviderDataService.DeleteServiceProviderAsync(company.Id);
|
//resultCompany = await serviceProviderDataService.DeleteServiceProviderAsync(company.Id);
|
||||||
//await UpdateDataAsync();
|
//await UpdateDataAsync();
|
||||||
|
|
|
||||||
|
|
@ -11,16 +11,9 @@
|
||||||
@using TIAMWebApp.Shared.Application.Models.PageModels
|
@using TIAMWebApp.Shared.Application.Models.PageModels
|
||||||
@using TIAMWebApp.Shared.Application.Utility
|
@using TIAMWebApp.Shared.Application.Utility
|
||||||
@using AyCode.Services.Loggers
|
@using AyCode.Services.Loggers
|
||||||
@using AyCode.Services.SignalRs
|
|
||||||
@using TIAMWebApp.Shared.Application.Services
|
@using TIAMWebApp.Shared.Application.Services
|
||||||
@using MessagePack
|
|
||||||
@using MessagePack.Resolvers
|
|
||||||
@using AyCode.Core.Extensions;
|
|
||||||
@using AyCode.Core
|
|
||||||
@using AyCode.Core.Helpers
|
|
||||||
@using AyCode.Interfaces.Entities
|
|
||||||
@using TIAM.Services
|
|
||||||
@using TIAMSharedUI.Shared.Components
|
@using TIAMSharedUI.Shared.Components
|
||||||
|
@using TIAMSharedUI.Shared.Components.Grids
|
||||||
@layout AdminLayout
|
@layout AdminLayout
|
||||||
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
||||||
@inject IStringLocalizer<TIAMResources> localizer
|
@inject IStringLocalizer<TIAMResources> localizer
|
||||||
|
|
@ -37,7 +30,7 @@
|
||||||
|
|
||||||
|
|
||||||
<DxPopup CssClass="popup-demo-events"
|
<DxPopup CssClass="popup-demo-events"
|
||||||
@bind-Visible="@PopupVisible"
|
@bind-Visible="@_popupVisible"
|
||||||
ShowFooter="true"
|
ShowFooter="true"
|
||||||
CloseOnEscape="true"
|
CloseOnEscape="true"
|
||||||
CloseOnOutsideClick="false"
|
CloseOnOutsideClick="false"
|
||||||
|
|
@ -79,23 +72,17 @@
|
||||||
Click="ColumnChooserButton_Click" />
|
Click="ColumnChooserButton_Click" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<TiamGrid @ref="TransferGrid"
|
<TransferGrid @ref="_transferGrid"
|
||||||
TDataItem="Transfer"
|
|
||||||
Logger="_logger"
|
Logger="_logger"
|
||||||
SignalRClient="AdminSignalRClient"
|
SignalRClient="AdminSignalRClient"
|
||||||
GetAllMessageTag="SignalRTags.GetTransfersAsync"
|
|
||||||
AddMessageTag="SignalRTags.AddTransferAsync"
|
|
||||||
UpdateMessageTag="SignalRTags.UpdateTransferAsync"
|
|
||||||
RemoveMessageTag="SignalRTags.RemoveTransferAsync"
|
|
||||||
OnDataSourceChanged="DataSourceChanged"
|
OnDataSourceChanged="DataSourceChanged"
|
||||||
OnDataSourceItemChanged="DataSourceItemChanged"
|
OnDataSourceItemChanged="DataSourceItemChanged"
|
||||||
OnDataItemDeleting="DataItemDeleting"
|
OnDataItemDeleting="DataItemDeleting"
|
||||||
|
OnDataItemSaving="DataItemSaving"
|
||||||
|
|
||||||
CustomizeElement="Grid_CustomizeElement"
|
CustomizeElement="Grid_CustomizeElement"
|
||||||
CustomizeEditModel="Grid_CustomizeEditModel"
|
CustomizeEditModel="Grid_CustomizeEditModel"
|
||||||
EditModelSaving="Grid_EditModelSaving"
|
AutoCollapseDetailRow="_autoCollapseDetailRow"
|
||||||
|
|
||||||
AutoCollapseDetailRow="AutoCollapseDetailRow"
|
|
||||||
KeyboardNavigationEnabled="true"
|
KeyboardNavigationEnabled="true"
|
||||||
EditMode="GridEditMode.EditForm"
|
EditMode="GridEditMode.EditForm"
|
||||||
ColumnResizeMode="GridColumnResizeMode.NextColumn"
|
ColumnResizeMode="GridColumnResizeMode.NextColumn"
|
||||||
|
|
@ -174,7 +161,7 @@
|
||||||
</EditFormTemplate>
|
</EditFormTemplate>
|
||||||
|
|
||||||
|
|
||||||
</TiamGrid>
|
</TransferGrid>
|
||||||
</div>
|
</div>
|
||||||
</DxTabPage>
|
</DxTabPage>
|
||||||
|
|
||||||
|
|
@ -216,25 +203,19 @@
|
||||||
@code {
|
@code {
|
||||||
private LoggerClient<ManageTransfers> _logger;
|
private LoggerClient<ManageTransfers> _logger;
|
||||||
|
|
||||||
//public Transfer myModel = new Transfer();
|
private bool _popupVisible;
|
||||||
|
private bool _autoCollapseDetailRow;
|
||||||
//public List<Transfer> TransferDataList { get; set; }
|
private TransferGrid _transferGrid;
|
||||||
|
|
||||||
bool PopupVisible { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
TiamGrid<Transfer> TransferGrid { get; set; }
|
|
||||||
bool AutoCollapseDetailRow { get; set; }
|
|
||||||
|
|
||||||
public List<string> IgnoreList =
|
public List<string> IgnoreList =
|
||||||
[
|
[
|
||||||
"ReceiverEmailAddress",
|
"ReceiverEmailAddress",
|
||||||
"ReceiverFullName",
|
"ReceiverFullName",
|
||||||
"ReceiverId",
|
"ReceiverId",
|
||||||
"SenderEmailAddress",
|
"SenderEmailAddress",
|
||||||
"SenderFullName",
|
"SenderFullName",
|
||||||
"SenderId",
|
"SenderId",
|
||||||
"ContextId",
|
"ContextId",
|
||||||
];
|
];
|
||||||
|
|
||||||
public List<TransferStatusModel> Statuses { get; set; } =
|
public List<TransferStatusModel> Statuses { get; set; } =
|
||||||
|
|
@ -266,19 +247,21 @@
|
||||||
_messageWizardModel.SenderEmailAddress = "info@touriam.com";
|
_messageWizardModel.SenderEmailAddress = "info@touriam.com";
|
||||||
_messageWizardModel.ReceiverEmailAddress = item.ContactEmail;
|
_messageWizardModel.ReceiverEmailAddress = item.ContactEmail;
|
||||||
_messageWizardModel.ReceiverFullName = item.FullName;
|
_messageWizardModel.ReceiverFullName = item.FullName;
|
||||||
PopupVisible = true;
|
_popupVisible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CancelCreateClick()
|
void CancelCreateClick()
|
||||||
{
|
{
|
||||||
|
|
||||||
PopupVisible = false;
|
_popupVisible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void EulaPopupClosed()
|
void EulaPopupClosed()
|
||||||
{
|
{
|
||||||
//cancel clicked
|
//cancel clicked
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EulaPopupClosing(PopupClosingEventArgs args)
|
void EulaPopupClosing(PopupClosingEventArgs args)
|
||||||
{
|
{
|
||||||
//myModel = new TransferWizardModel();
|
//myModel = new TransferWizardModel();
|
||||||
|
|
@ -305,6 +288,7 @@
|
||||||
</body>
|
</body>
|
||||||
</html>";
|
</html>";
|
||||||
}
|
}
|
||||||
|
|
||||||
messageModel.Content = FormatEmailContent();
|
messageModel.Content = FormatEmailContent();
|
||||||
|
|
||||||
_logger.Info(messageModel.Content);
|
_logger.Info(messageModel.Content);
|
||||||
|
|
@ -331,6 +315,7 @@
|
||||||
{
|
{
|
||||||
e.CssClass = "bg-cancel";
|
e.CssClass = "bg-cancel";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (e.ElementType == GridElementType.HeaderCell)
|
if (e.ElementType == GridElementType.HeaderCell)
|
||||||
{
|
{
|
||||||
e.Style = "background-color: rgba(0, 0, 0, 0.08)";
|
e.Style = "background-color: rgba(0, 0, 0, 0.08)";
|
||||||
|
|
@ -354,62 +339,30 @@
|
||||||
transferEditModel.ContactEmail = "your@email.address";
|
transferEditModel.ContactEmail = "your@email.address";
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task DataItemDeleting(GridDataItemDeletingEventArgs e)
|
private void DataItemSaving(GridEditModelSavingEventArgs e)
|
||||||
{
|
{
|
||||||
_logger.Info($"ManageTransfers OnItemDeleting");
|
_logger.Info("DataItemSaving called");
|
||||||
|
|
||||||
// var transfer = (Transfer)e.DataItem;
|
|
||||||
// _logger.Info("ManageTransfers delete");
|
|
||||||
// PostDataToServerAsync(transfer, SignalRTags.DeleteTransferAsync, true).Forget();
|
|
||||||
// //await UpdateDataAsync();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void DataItemDeleting(GridDataItemDeletingEventArgs e)
|
||||||
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
|
||||||
{
|
{
|
||||||
var transfer = (Transfer)e.EditModel;
|
_logger.Info($"DataItemDeleting OnItemDeleting");
|
||||||
var logText = e.IsNew ? "add" : "update";
|
|
||||||
|
|
||||||
_logger.Info($"EditModelSaving, {logText} transfer; transferId " + transfer.Id);
|
|
||||||
|
|
||||||
PostDataToServerAsync(transfer, e.IsNew ? SignalRTags.AddTransferAsync : SignalRTags.UpdateTransferAsync).Forget();
|
|
||||||
|
|
||||||
//await transferDataService.CreateTransfer((TransferWizardModel)e.EditModel);
|
|
||||||
//transfer = await transferDataService.UpdateTransferAsync(transfer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Task PostDataToServerAsync<T>(T transfer, int messageTag, bool isDelete = false) where T : Transfer //IEntityGuid
|
private void DataSourceChanged(IList<Transfer> transfers)
|
||||||
{
|
{
|
||||||
_logger.Info("PostDataToServerAsync called; transferId " + transfer.Id);
|
_logger.Info("DataSourceChanged called");
|
||||||
|
|
||||||
RefreshAppointments(transfer, isDelete); //egyből látszódik a változás a grid-ben, nem csak a callback lefutásakor! felhasználóbarátabb... - J.
|
InitializeAppointments(transfers);
|
||||||
|
}
|
||||||
|
|
||||||
return AdminSignalRClient.PostDataAsync(messageTag, transfer, repsonse =>
|
private void DataSourceItemChanged(Transfer transfer)
|
||||||
{
|
{
|
||||||
if (repsonse.Status != SignalResponseStatus.Success || repsonse.ResponseData == null)
|
_logger.Info("DataSourceItemChanged called");
|
||||||
{
|
|
||||||
UpdateAllDataAsync().Forget();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
RefreshAppointments(repsonse.ResponseData, isDelete);
|
|
||||||
StateHasChanged();
|
|
||||||
});
|
|
||||||
|
|
||||||
//transfer = await devAdminSignalClient.PostDataAsync(SignalRTags.UpdateTransferAsync, transfer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RefreshAppointments(Transfer transfer, bool isDelete)
|
private void RefreshAppointments(Transfer transfer, bool isDelete)
|
||||||
{
|
{
|
||||||
// var transferIndex = TransferDataList.FindIndex(x => x.Id == transfer.Id);
|
|
||||||
|
|
||||||
// if (isDelete && transferIndex > -1) TransferDataList.RemoveAt(transferIndex);
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// if (transferIndex > -1) TransferDataList[transferIndex] = transfer;
|
|
||||||
// else TransferDataList.Add(transfer);
|
|
||||||
// }
|
|
||||||
|
|
||||||
var appointmentIndex = AppointmentModels.FindIndex(x => x.SourceId == transfer.Id);
|
var appointmentIndex = AppointmentModels.FindIndex(x => x.SourceId == transfer.Id);
|
||||||
if (isDelete && appointmentIndex > -1) AppointmentModels.RemoveAt(appointmentIndex);
|
if (isDelete && appointmentIndex > -1) AppointmentModels.RemoveAt(appointmentIndex);
|
||||||
else
|
else
|
||||||
|
|
@ -421,32 +374,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task UpdateAllDataAsync()
|
|
||||||
{
|
|
||||||
_logger.Info("UpdateAllDataAsync called");
|
|
||||||
|
|
||||||
return AdminSignalRClient.GetAllAsync<List<Transfer>>(SignalRTags.GetTransfersAsync, response =>
|
|
||||||
{
|
|
||||||
if (response.Status == SignalResponseStatus.Error)
|
|
||||||
return;
|
|
||||||
|
|
||||||
InitializeAppointments(response.ResponseData ?? []);
|
|
||||||
StateHasChanged();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
protected override Task OnInitializedAsync()
|
protected override Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
_logger = new LoggerClient<ManageTransfers>(LogWriters.ToArray());
|
_logger = new LoggerClient<ManageTransfers>(LogWriters.ToArray());
|
||||||
|
|
||||||
//UpdateAllDataAsync().Forget();
|
|
||||||
|
|
||||||
//var transfers = await devAdminSignalClient.GetAllAsync<List<Transfer>>(SignalRTags.GetTransfersAsync);
|
|
||||||
//InitializeDataSources(transfers ?? []);
|
|
||||||
|
|
||||||
|
|
||||||
//InitializeDataSources(await transferDataService.GetTransfersAsync());
|
|
||||||
|
|
||||||
return base.OnInitializedAsync();
|
return base.OnInitializedAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -468,23 +399,23 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
_dataStorage = new DxSchedulerDataStorage
|
_dataStorage = new DxSchedulerDataStorage
|
||||||
|
{
|
||||||
|
AppointmentMappings = new DxSchedulerAppointmentMappings()
|
||||||
{
|
{
|
||||||
AppointmentMappings = new DxSchedulerAppointmentMappings()
|
Type = "AppointmentType",
|
||||||
{
|
Start = "StartDate",
|
||||||
Type = "AppointmentType",
|
End = "EndDate",
|
||||||
Start = "StartDate",
|
Subject = "Caption",
|
||||||
End = "EndDate",
|
AllDay = "AllDay",
|
||||||
Subject = "Caption",
|
Location = "Location",
|
||||||
AllDay = "AllDay",
|
Description = "Description",
|
||||||
Location = "Location",
|
LabelId = "Label",
|
||||||
Description = "Description",
|
StatusId = "Status",
|
||||||
LabelId = "Label",
|
RecurrenceInfo = "Recurrence"
|
||||||
StatusId = "Status",
|
},
|
||||||
RecurrenceInfo = "Recurrence"
|
|
||||||
},
|
|
||||||
|
|
||||||
AppointmentsSource = AppointmentModels
|
AppointmentsSource = AppointmentModels
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public AppointmentModel CreateAppointmentModel(Transfer transfer)
|
public AppointmentModel CreateAppointmentModel(Transfer transfer)
|
||||||
|
|
@ -494,7 +425,7 @@
|
||||||
|
|
||||||
void ColumnChooserButton_Click()
|
void ColumnChooserButton_Click()
|
||||||
{
|
{
|
||||||
TransferGrid.ShowColumnChooser();
|
_transferGrid.ShowColumnChooser();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -502,30 +433,19 @@
|
||||||
{
|
{
|
||||||
if (firstRender)
|
if (firstRender)
|
||||||
{
|
{
|
||||||
TransferGrid.ExpandDetailRow(0);
|
_transferGrid.ExpandDetailRow(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AutoCollapseDetailRow_Changed(bool newValue)
|
void AutoCollapseDetailRow_Changed(bool newValue)
|
||||||
{
|
{
|
||||||
AutoCollapseDetailRow = newValue;
|
_autoCollapseDetailRow = newValue;
|
||||||
if (!newValue) return;
|
if (!newValue) return;
|
||||||
|
|
||||||
TransferGrid.BeginUpdate();
|
_transferGrid.BeginUpdate();
|
||||||
TransferGrid.CollapseAllDetailRows();
|
_transferGrid.CollapseAllDetailRows();
|
||||||
TransferGrid.ExpandDetailRow(0);
|
_transferGrid.ExpandDetailRow(0);
|
||||||
TransferGrid.EndUpdate();
|
_transferGrid.EndUpdate();
|
||||||
}
|
|
||||||
|
|
||||||
private void DataSourceChanged(IList<Transfer> transfers)
|
|
||||||
{
|
|
||||||
_logger.Info("DataSourceChanged called");
|
|
||||||
|
|
||||||
InitializeAppointments(transfers);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void DataSourceItemChanged(Transfer transfer)
|
|
||||||
{
|
|
||||||
_logger.Info("DataSourceItemChanged called");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
using TIAM.Entities.ServiceProviders;
|
||||||
|
using TIAM.Services;
|
||||||
|
|
||||||
|
namespace TIAMSharedUI.Shared.Components.Grids;
|
||||||
|
|
||||||
|
public class CompanyGrid : TiamGrid<Company>
|
||||||
|
{
|
||||||
|
public CompanyGrid() : base()
|
||||||
|
{
|
||||||
|
GridName = nameof(CompanyGrid);
|
||||||
|
|
||||||
|
GetAllMessageTag = SignalRTags.GetCompaniesAsync;
|
||||||
|
AddMessageTag = SignalRTags.AddCompanyAsync;
|
||||||
|
UpdateMessageTag = SignalRTags.UpdateCompanyAsync;
|
||||||
|
RemoveMessageTag = SignalRTags.RemoveCompanyAsync;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,29 +1,21 @@
|
||||||
using System;
|
using System.ComponentModel;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using AyCode.Core.Helpers;
|
using AyCode.Core.Helpers;
|
||||||
using AyCode.Interfaces.Entities;
|
using AyCode.Interfaces.Entities;
|
||||||
using AyCode.Services.Loggers;
|
|
||||||
using AyCode.Services.SignalRs;
|
using AyCode.Services.SignalRs;
|
||||||
using AyCode.Utils.Extensions;
|
using AyCode.Utils.Extensions;
|
||||||
using DevExpress.Blazor;
|
using DevExpress.Blazor;
|
||||||
using DevExpress.Blazor.Internal;
|
using DevExpress.Blazor.Internal;
|
||||||
using Microsoft.AspNetCore.Components;
|
using Microsoft.AspNetCore.Components;
|
||||||
using Newtonsoft.Json.Linq;
|
|
||||||
using TIAM.Entities.Transfers;
|
|
||||||
using TIAM.Services;
|
|
||||||
using TIAMWebApp.Shared.Application.Services;
|
using TIAMWebApp.Shared.Application.Services;
|
||||||
using TIAMWebApp.Shared.Application.Utility;
|
using TIAMWebApp.Shared.Application.Utility;
|
||||||
|
|
||||||
namespace TIAMSharedUI.Shared.Components
|
namespace TIAMSharedUI.Shared.Components.Grids
|
||||||
{
|
{
|
||||||
public class TiamGrid<TDataItem> : DxGrid where TDataItem : class, IEntityGuid
|
public class TiamGrid<TDataItem> : DxGrid where TDataItem : class, IEntityGuid
|
||||||
{
|
{
|
||||||
private bool _initialParametersSet;
|
private bool _initialParametersSet;
|
||||||
private IList<TDataItem>? _dataSource;
|
private IList<TDataItem>? _dataSource;
|
||||||
|
private string _gridLogName;
|
||||||
|
|
||||||
|
|
||||||
public TiamGrid() : base()
|
public TiamGrid() : base()
|
||||||
|
|
@ -48,12 +40,11 @@ namespace TIAMSharedUI.Shared.Components
|
||||||
{
|
{
|
||||||
if (_dataSource == null && Data != null)
|
if (_dataSource == null && Data != null)
|
||||||
{
|
{
|
||||||
Logger.Error($"{GridName} Use the DataSource parameter instead of Data!");
|
Logger.Error($"{_gridLogName} Use the DataSource parameter instead of Data!");
|
||||||
throw new NullReferenceException($"{GridName} Use the DataSource parameter instead of Data!");
|
throw new NullReferenceException($"{_gridLogName} Use the DataSource parameter instead of Data!");
|
||||||
}
|
}
|
||||||
|
|
||||||
return _dataSource;
|
return _dataSource;
|
||||||
|
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
|
|
@ -76,40 +67,58 @@ namespace TIAMSharedUI.Shared.Components
|
||||||
if (firstRender) RefreshDataSourceAsync().Forget();
|
if (firstRender) RefreshDataSourceAsync().Forget();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Parameter]
|
|
||||||
public EventCallback<GridDataItemDeletingEventArgs> OnDataItemDeleting{ get; set; }
|
|
||||||
protected new EventCallback<GridDataItemDeletingEventArgs> DataItemDeleting { get; set; }
|
protected new EventCallback<GridDataItemDeletingEventArgs> DataItemDeleting { get; set; }
|
||||||
[Parameter]
|
[Parameter] public EventCallback<GridDataItemDeletingEventArgs> OnDataItemDeleting{ get; set; }
|
||||||
public EventCallback<GridDataItemDeletingEventArgs> OnDataItemDeleted { get; set; }
|
|
||||||
|
protected new EventCallback<GridEditModelSavingEventArgs> EditModelSaving { get; set; }
|
||||||
|
[Parameter] public EventCallback<GridEditModelSavingEventArgs> OnDataItemSaving { get; set; }
|
||||||
|
|
||||||
|
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public EventCallback<IList<TDataItem>> OnDataSourceChanged { get; set; }
|
public EventCallback<IList<TDataItem>> OnDataSourceChanged { get; set; }
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public EventCallback<TDataItem> OnDataSourceItemChanged { get; set; }
|
public EventCallback<TDataItem> OnDataSourceItemChanged { get; set; }
|
||||||
|
|
||||||
|
private async Task OnItemSaving(GridEditModelSavingEventArgs e)
|
||||||
|
{
|
||||||
|
var dataItem = (e.EditModel as TDataItem)!;
|
||||||
|
var logText = e.IsNew ? "add" : "update";
|
||||||
|
|
||||||
|
Logger.Info($"{_gridLogName} OnItemSaving {logText}; Id: {dataItem.Id}");
|
||||||
|
|
||||||
|
await OnDataItemSaving.InvokeAsync(e);
|
||||||
|
|
||||||
|
if (e.Cancel)
|
||||||
|
{
|
||||||
|
Logger.Debug($"{_gridLogName} OnItemSaving {logText} canceled; Id: {dataItem.Id}");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
PostDataToServerAsync(dataItem, e.IsNew ? AddMessageTag : UpdateMessageTag).Forget();
|
||||||
|
|
||||||
|
//await transferDataService.CreateTransfer((TransferWizardModel)e.EditModel);
|
||||||
|
//transfer = await transferDataService.UpdateTransferAsync(transfer);
|
||||||
|
}
|
||||||
|
|
||||||
private async Task OnItemDeleting(GridDataItemDeletingEventArgs e)
|
private async Task OnItemDeleting(GridDataItemDeletingEventArgs e)
|
||||||
{
|
{
|
||||||
Logger.Info($"{GridName} OnItemDeleting");
|
Logger.Info($"{_gridLogName} OnItemDeleting");
|
||||||
|
|
||||||
await OnDataItemDeleting.InvokeAsync(e);
|
await OnDataItemDeleting.InvokeAsync(e);
|
||||||
|
|
||||||
if (e.Cancel)
|
if (e.Cancel)
|
||||||
{
|
{
|
||||||
Logger.Debug($"{GridName} OnItemDeleting canceled");
|
Logger.Debug($"{_gridLogName} OnItemDeleting canceled");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var dataItem = e.DataItem as TDataItem;
|
var dataItem = (e.DataItem as TDataItem)!;
|
||||||
//PostDataToServerAsync(transfer, SignalRTags.DeleteTransferAsync, true).Forget();
|
PostDataToServerAsync(dataItem, RemoveMessageTag, true).Forget();
|
||||||
//await UpdateDataAsync();
|
|
||||||
|
|
||||||
Logger.Info($"{GridName} OnDataItemDeleted");
|
|
||||||
await OnDataItemDeleted.InvokeAsync(e);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task RefreshDataSourceAsync()
|
public Task RefreshDataSourceAsync()
|
||||||
{
|
{
|
||||||
Logger.Info($"{GridName} UpdateAllDataAsync called");
|
Logger.Info($"{_gridLogName} UpdateAllDataAsync called");
|
||||||
|
|
||||||
return SignalRClient.GetAllAsync<IList<TDataItem>>(GetAllMessageTag, response =>
|
return SignalRClient.GetAllAsync<IList<TDataItem>>(GetAllMessageTag, response =>
|
||||||
{
|
{
|
||||||
|
|
@ -126,9 +135,9 @@ namespace TIAMSharedUI.Shared.Components
|
||||||
|
|
||||||
private Task PostDataToServerAsync(TDataItem transfer, int messageTag, bool isDelete = false)
|
private Task PostDataToServerAsync(TDataItem transfer, int messageTag, bool isDelete = false)
|
||||||
{
|
{
|
||||||
Logger.Info($"{GridName} PostDataToServerAsync called; transferId " + transfer.Id);
|
Logger.Info($"{_gridLogName} PostDataToServerAsync called; transferId " + transfer.Id);
|
||||||
|
|
||||||
RefreshDataSourceItem(transfer, isDelete); //egyből látszódik a változás a grid-ben, nem csak a callback lefutásakor! felhasználóbarátabb... - J.
|
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.
|
||||||
|
|
||||||
return SignalRClient.PostDataAsync(messageTag, transfer, repsonse =>
|
return SignalRClient.PostDataAsync(messageTag, transfer, repsonse =>
|
||||||
{
|
{
|
||||||
|
|
@ -145,7 +154,7 @@ namespace TIAMSharedUI.Shared.Components
|
||||||
//transfer = await devAdminSignalClient.PostDataAsync(SignalRTags.UpdateTransferAsync, transfer);
|
//transfer = await devAdminSignalClient.PostDataAsync(SignalRTags.UpdateTransferAsync, transfer);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RefreshDataSourceItem(TDataItem dataItem, bool isDelete)
|
public Task RefreshDataSourceItem(TDataItem dataItem, bool isDelete, bool invokeItemChanged = true)
|
||||||
{
|
{
|
||||||
var transferIndex = _dataSource.FindIndex(x => x.Id == dataItem.Id);
|
var transferIndex = _dataSource.FindIndex(x => x.Id == dataItem.Id);
|
||||||
|
|
||||||
|
|
@ -156,7 +165,7 @@ namespace TIAMSharedUI.Shared.Components
|
||||||
else _dataSource.Add(dataItem);
|
else _dataSource.Add(dataItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
OnDataSourceItemChanged.InvokeAsync(dataItem);
|
return invokeItemChanged ? OnDataSourceItemChanged.InvokeAsync(dataItem) : Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override Task SetParametersAsyncCore(ParameterView parameters)
|
protected override Task SetParametersAsyncCore(ParameterView parameters)
|
||||||
|
|
@ -164,10 +173,13 @@ namespace TIAMSharedUI.Shared.Components
|
||||||
if (!_initialParametersSet)
|
if (!_initialParametersSet)
|
||||||
{
|
{
|
||||||
base.DataItemDeleting = EventCallback.Factory.Create<GridDataItemDeletingEventArgs>(this, OnItemDeleting);
|
base.DataItemDeleting = EventCallback.Factory.Create<GridDataItemDeletingEventArgs>(this, OnItemDeleting);
|
||||||
|
base.EditModelSaving = EventCallback.Factory.Create<GridEditModelSavingEventArgs>(this, OnItemSaving);
|
||||||
|
|
||||||
//ShowFilterRow = true;
|
//ShowFilterRow = true;
|
||||||
//PageSize = 4;
|
//PageSize = 4;
|
||||||
//ShowGroupPanel = true;
|
//ShowGroupPanel = true;
|
||||||
//AllowSort = false;
|
//AllowSort = false;
|
||||||
|
|
||||||
_initialParametersSet = true;
|
_initialParametersSet = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -178,7 +190,10 @@ namespace TIAMSharedUI.Shared.Components
|
||||||
{
|
{
|
||||||
base.OnParametersSet();
|
base.OnParametersSet();
|
||||||
|
|
||||||
if (GridName.IsNullOrWhiteSpace()) GridName = $"[{typeof(TDataItem).Name}Grid]";
|
if (GridName.IsNullOrWhiteSpace()) GridName = $"{typeof(TDataItem).Name}Grid";
|
||||||
|
|
||||||
|
_gridLogName = $"[{GridName}]";
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
using TIAM.Entities.Transfers;
|
||||||
|
using TIAM.Services;
|
||||||
|
|
||||||
|
namespace TIAMSharedUI.Shared.Components.Grids;
|
||||||
|
|
||||||
|
public class TransferGrid : TiamGrid<Transfer>
|
||||||
|
{
|
||||||
|
public TransferGrid() : base()
|
||||||
|
{
|
||||||
|
GridName = nameof(TransferGrid);
|
||||||
|
|
||||||
|
GetAllMessageTag = SignalRTags.GetTransfersAsync;
|
||||||
|
AddMessageTag = SignalRTags.AddTransferAsync;
|
||||||
|
UpdateMessageTag = SignalRTags.UpdateTransferAsync;
|
||||||
|
RemoveMessageTag = SignalRTags.RemoveTransferAsync;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,19 +0,0 @@
|
||||||
@using TIAMWebApp.Shared.Application.Utility
|
|
||||||
@using AyCode.Core.Extensions
|
|
||||||
@using AyCode.Services.Loggers
|
|
||||||
@using AyCode.Utils.Extensions
|
|
||||||
@inject IJSRuntime jsRuntime
|
|
||||||
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
|
||||||
|
|
||||||
@inherits DxGrid
|
|
||||||
@* @implements IGrid *@
|
|
||||||
|
|
||||||
@* @typeparam TDataType *@
|
|
||||||
|
|
||||||
@* <div>
|
|
||||||
@ChildContent
|
|
||||||
</div>
|
|
||||||
*@
|
|
||||||
@code {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -92,7 +92,7 @@ public class DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case SignalRTags.CreateCompanyAsync:
|
case SignalRTags.AddCompanyAsync:
|
||||||
|
|
||||||
//var createCompany = message!.MessagePackTo<SignalPostJsonDataMessage<Company>>().PostData;
|
//var createCompany = message!.MessagePackTo<SignalPostJsonDataMessage<Company>>().PostData;
|
||||||
|
|
||||||
|
|
@ -100,7 +100,7 @@ public class DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController
|
||||||
//await ResponseToCaller(messageTag, new SignalResponseMessage<string>(SignalResponseStatus.Success, createCompany), requestId);
|
//await ResponseToCaller(messageTag, new SignalResponseMessage<string>(SignalResponseStatus.Success, createCompany), requestId);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case SignalRTags.DeleteCompanyAsync:
|
case SignalRTags.RemoveCompanyAsync:
|
||||||
var deleteCompany = message!.MessagePackTo<SignalPostJsonDataMessage<Company>>().PostData;
|
var deleteCompany = message!.MessagePackTo<SignalPostJsonDataMessage<Company>>().PostData;
|
||||||
|
|
||||||
await adminDal.RemoveCompanyAsync(deleteCompany.Id);
|
await adminDal.RemoveCompanyAsync(deleteCompany.Id);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue